/* ══ ADA WCAG 2.2 AA — CONTRAST & SIZE COMPLIANCE ═══
   All text ≥ 4.5:1 contrast (normal), ≥ 3:1 (large/bold)
   Minimum body font: 12px | UI labels: 11px bold+uppercase
   ══════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════
   ADA COMPLIANCE AUDIT — EDITORIAL WHITE UI
   180° redesign: crisp white, gold accent, serif type
   ════════════════════════════════════════════════════ */



/* ── TOKENS ─────────────────────────────────────────── */
:root {
  --bg:        #fff;
  --surface:   #FFFFFF;
  --border:    #DCE5EA;
  --border2:   #C3D2DB;
  --t1:        #0E2440;
  --t2:        #15324F;
  --t3:        rgba(7,42,80,0.62);
  --t4:        rgba(255,255,255,0.78);

  /* ── WebReady360 brand palette (from logo) ── */
  --wr-navy:      #074882;  /* deep navy ring / wordmark */
  --wr-navy-dk:   #183466;  /* darkest navy segments */
  --wr-navy-2:    #123B71;  /* mid navy */
  --wr-teal:      #2E9CAA;  /* "360" accent teal */
  --wr-teal-lt:   #A6DDDA;  /* light teal segments */
  --wr-teal-bg:   #EAF6F5;  /* teal tint background */

  /* legacy aliases remapped to new brand so all components inherit it */
  --gold:      #074882;
  --gold2:     #183466;
  --gold-bg:   rgba(7,72,130,.06);
  --gold-border:rgba(7,72,130,.22);
  --red:       #C0392B;
  --green:     #1A6B3A;
  --blue:      #074882;
  --sans:      Arial, Helvetica, sans-serif;
  --serif:     Arial, Helvetica, sans-serif;
  --mono:      Arial, Helvetica, sans-serif;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.06);
  --radius:    8px;
}

/* ── RESET ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background: #0F0F0F;
  color: #FFFFFF;
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.6;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;

  background: #fff !important;
}

/* ── ADA: SKIP LINK ─────────────────────────────────── */
.skip-link {
  position: absolute; left: -9999px; top: 8px;
  background: var(--gold); color: #fff; padding: 8px 18px;
  font-size: 13px; font-weight: 700; border-radius: 4px;
  z-index: 9999; text-decoration: none;
}
.skip-link:focus { left: 16px; }

/* ── ADA: FOCUS RING ─────────────────────────────────── */
:focus-visible {
  outline: 2px solid var(--gold) !important;
  outline-offset: 3px !important;
  border-radius: 2px !important;
}

/* ── APP STAGE ───────────────────────────────────────── */
.app-stage {
  max-width: 960px;
  margin: 0 auto;
  min-height: 100vh;
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06), 0 4px 32px rgba(0,0,0,.10);
}

/* ── HEADER ──────────────────────────────────────────── */
.topbar {
  background: #fff;
  border-bottom: none;
  position: relative;
}
.topbar::after {
  content: '';
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--wr-navy-dk), var(--wr-navy), var(--wr-teal), var(--wr-teal-lt), var(--wr-teal), var(--wr-navy), var(--wr-navy-dk));
  position: absolute;
  bottom: -4px; left: 0; right: 0;
}
.topbar-inner {
  max-width: 100%;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 96px;
}
.topbar-logo {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.topbar-logo img {
  height: 52px;
  object-fit: contain;
  mix-blend-mode: normal;
  filter: none;
}
.topbar-brand {
  display: flex;
  flex-direction: column;
  gap: 3px;
  border-left: 2px solid var(--border);
  padding-left: 20px;
}
.topbar-brand-main {
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 800;
  color: var(--wr-navy);
  letter-spacing: .01em;
  line-height: 1.15;
}
.topbar-brand-main em {
  font-style: normal;
  color: var(--wr-teal);
}
.topbar-version { font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .12em; color: var(--wr-teal); background: var(--wr-teal-bg); border: 1px solid rgba(46,156,170,.32); border-radius: 3px; padding: 2px 6px; margin-left: 8px; vertical-align: middle; }
.topbar-byline { font-family: var(--sans, Arial, Helvetica, sans-serif); font-size: 12px; font-weight: 600; color: #5b6b7e; margin-left: 10px; vertical-align: middle; letter-spacing: .01em; }
.topbar-byline a { color: #2E9CAA; text-decoration: none; font-weight: 700; }
.topbar-byline a:hover { text-decoration: underline; }
.topbar-byline-link { display: inline-flex; align-items: center; line-height: 0; }
.topbar-optisite-logo { height: 22px; width: auto; vertical-align: middle; opacity: .9; transition: opacity .15s ease; }
.topbar-byline-link:hover .topbar-optisite-logo { opacity: 1; }
.topbar-brand-sub {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--wr-navy-2);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.topbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.topbar-badge {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 3px;
  padding: 5px 10px;
  white-space: nowrap;
}

/* ── MAIN CONTENT ────────────────────────────────────── */
.main {
  width: 100%;
  padding: 40px 20px 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  
}

/* ── URL ZONE ────────────────────────────────────────── */


.url-zone-eyebrow {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold2);
  margin-bottom: 12px;
}
.url-zone-heading {
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.2;
  margin-bottom: 24px;
}
.url-zone-heading span {
  color: var(--gold2);
}









/* ── RUN BUTTON ──────────────────────────────────────── */







.spin {
  display: inline-block;
  width: 12px; height: 12px;
  border: 2px solid rgba(255,255,255,.58);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin .7s linear infinite;
  margin-right: 8px;
  vertical-align: middle;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── PROGRESS PANEL ──────────────────────────────────── */






@keyframes pulse-gold {
  0%,100% { box-shadow: 0 0 0 0 rgba(53,90,130,.4); }
  50%      { box-shadow: 0 0 0 5px rgba(53,90,130,0); }
}
@keyframes pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(26,79,160,.4); }
  50%      { box-shadow: 0 0 0 5px rgba(26,79,160,0); }
}

.pp-msg b { color: #FFFFFF; }




/* ── LIVE COUNTERS ───────────────────────────────────── */












/* ── CATEGORY GRID ───────────────────────────────────── */















.cg-crawl       { background: linear-gradient(90deg,#B8960B,#2E9CAA); }
.cg-lighthouse  { background: linear-gradient(90deg,#1A4FA0,#4A8FD4); }
.cg-ada         { background: linear-gradient(90deg,#7C3AED,#A78BFA); }
.cg-seo         { background: linear-gradient(90deg,#0891B2,#22D3EE); }
.cg-performance { background: linear-gradient(90deg,#D97706,#FCD34D); }
.cg-security    { background: linear-gradient(90deg,#0F766E,#2DD4BF); }
.cg-mobile      { background: linear-gradient(90deg,#4F46E5,#818CF8); }
.cg-content     { background: linear-gradient(90deg,#1A6B3A,#4ADE80); }
.cg-technical   { background: linear-gradient(90deg,#78716C,#D6D3D1); }
.cg-ux          { background: linear-gradient(90deg,#BE185D,#F472B6); }

/* ── ERROR BOX ───────────────────────────────────────── */



/* ── KEY WARN ────────────────────────────────────────── */
.key-warn {
  background: #FFFBEB;
  border: 1px solid rgba(217,119,6,.3);
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 12px;
  color: #92400E;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.key-warn-icon { font-size: 16px; }

/* ── PANELS (report section) ─────────────────────────── */
.panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px 24px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 12px;
}
.panel-title {
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 10px;
}
.panel-title::before {
  content: '';
  display: inline-block;
  width: 3px; height: 12px;
  background: var(--gold);
  border-radius: 2px;
  flex-shrink: 0;
}

/* ── STATUS (legacy compat) ──────────────────────────── */
.status-wrap { display: none; }
.sdot,.stext,.sp-run,.sp-ok,.sp-err { display: none; }
.prog-bar,.prog-fill { display: none; }

/* ── REPORT (preserve existing styles, adjust colors) ── */
#report { width: 100%; max-width: 960px; padding: 0 20px; box-sizing: border-box; background: #fff; }


.rh-site  { font-family: var(--serif); font-size: 24px; font-weight: 700; color: #fff; }
.rh-sub   { font-size: 14px; color: rgba(255,255,255,.85); margin-top: 6px; font-family: var(--mono); }
.rh-score-wrap { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
.rh-score-item { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; padding: 12px 16px; text-align: center; }
.rh-score-val  { font-family: var(--serif); font-size: 32px; font-weight: 700; color: var(--gold); line-height: 1; }
.rh-score-lbl  { font-family: var(--mono); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.80); margin-top: 4px; }

/* ── FOOTER ──────────────────────────────────────────── */
.site-footer {
  background: #f4f6f9;
  border-top: 3px solid #183466;
  padding: 48px 40px 32px;
  margin-top: auto;
}
.footer-method-head {
  max-width: 1100px;
  margin: 0 auto 28px;
  text-align: center;
}
.footer-method-eyebrow {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--wr-teal);
  margin-bottom: 8px;
}
.footer-method-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--wr-navy);
  letter-spacing: -.01em;
}
.footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  padding-bottom: 36px;
  align-items: start;
}
.footer-col {
  background: #fff;
  border: 1px solid #e2e8ef;
  border-radius: 12px;
  padding: 22px 22px 24px;
  box-shadow: 0 1px 3px rgba(14,36,64,.04);
}
.footer-col-title {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--wr-navy);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e2e8ef;
  display: block;
}
/* collapsible footer columns */
.footer-col-summary {
  list-style: none;
  cursor: pointer;
  padding-bottom: 12px;
  border-bottom: 1px solid #e2e8ef;
}
.footer-col-summary::-webkit-details-marker { display: none; }
.footer-col-summary-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--wr-navy);
  transition: color .15s;
}
.footer-col-summary:hover .footer-col-summary-row { color: var(--wr-teal); }
.footer-col-chevron {
  margin-left: auto;
  width: 9px; height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s ease;
  flex-shrink: 0;
  margin-bottom: 3px;
}
.footer-col[open] .footer-col-chevron { transform: rotate(-135deg); margin-bottom: -3px; }
.footer-col-teaser {
  font-size: 12px;
  color: #8a93a3;
  line-height: 1.4;
  margin-top: 10px;
  font-style: italic;
}
.footer-col[open] .footer-col-teaser { display: none; }
.footer-col-body { margin-top: 14px; }
.footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-list li {
  position: relative;
  font-size: 13.5px;
  color: #4a5566;
  line-height: 1.42;
  padding-left: 18px;
  margin-bottom: 8px;
}
.footer-list li:last-child { margin-bottom: 0; }
.footer-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 6px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--wr-teal);
}
.footer-list-tools li::before {
  border-radius: 2px;
  background: var(--wr-navy);
}
.footer-list li b { color: var(--wr-navy); font-weight: 700; }
.footer-badge {
  display: inline-flex;
  align-items: center;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--wr-navy);
  background: var(--wr-teal-bg);
  border: 1px solid rgba(46,156,170,.28);
  border-radius: 5px;
  padding: 5px 10px;
  font-weight: 700;
  white-space: nowrap;
}
.footer-badges {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e2e8ef;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.footer-bottom {
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 24px;
  border-top: 1px solid #dde3ea;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border-top: 1px solid #dde3ea;
}
.footer-copyright { font-family: var(--mono); font-size: 12px; color: #666; letter-spacing: .04em; }
.footer-powered { display: flex; align-items: center; gap: 16px; }
.footer-powered-item { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #666; display: flex; align-items: center; gap: 5px; }
.footer-powered-item span { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #2E9CAA; flex-shrink: 0; }

/* ── TOPBAR GEAR BTN ─────────────────────────────────── */
#settingsBtn {
  background: none !important;
  border: 1px solid var(--border) !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: var(--t4) !important;
  font-size: 14px !important;
  transition: all .2s !important;
}
#settingsBtn:hover { border-color: var(--gold) !important; color: var(--gold) !important; }

/* ── AUDIT LAYOUT ────────────────────────────────────── */
.audit-layout { width: 100%; max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; align-items: stretch; }

/* ── DEPTH OPT (legacy — hidden since always deep) ───── */
.depth-opt,.depth-grid,.do-label,.do-desc,.do-time { display: none; }

/* ── PAGE LOG / URL ITEMS ────────────────────────────── */
.url-pages-list { max-height: 180px; overflow-y: auto; margin-bottom: 10px; }
.pcheck,.pcheck-info,.pcheck-name,.pcheck-url { font-size: 13px; }

/* ── SITE PREVIEW ────────────────────────────────────── */
.site-preview { background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 12px 14px; margin-bottom: 12px; }

/* ── CWV / LIGHTHOUSE CARDS ──────────────────────────── */
.cv-good { color: var(--green); }
.cv-needs { color: #B45309; }
.cv-poor { color: var(--red); }
.cv-na { color: var(--t4); }





/* ── REPORT CATEGORY SECTIONS ────────────────────────── */




.rpt-score-badge { font-family: var(--serif); font-size: 22px; font-weight: 700; color: var(--gold2); }


.sev-critical { background: rgba(192,57,43,.1); color: #C0392B; }
.sev-high     { background: rgba(192,57,43,.07); color: #C0392B; }
.sev-moderate { background: rgba(217,119,6,.1);  color: #B45309; }
.sev-low      { background: rgba(26,107,58,.1);  color: var(--green); }
.sev-pass     { background: rgba(26,107,58,.1);  color: var(--green); }





/* ── PDF BUTTON ──────────────────────────────────────── */



/* ── MODAL (settings) ────────────────────────────────── */


.modal-box { background: var(--surface); border-radius: 12px; width: min(440px,calc(100vw - 32px)); box-shadow: var(--shadow-lg); overflow: hidden; }



.modal-close:hover { color: #fff; }













/* ── KEY WARN IN MODAL ───────────────────────────────── */


/* ── RESPONSIVE ──────────────────────────────────────── */
@media(max-width:640px) {
  .topbar-inner { padding: 0 20px !important; height: 76px !important; }
  .topbar-logo img { height: 40px !important; }
  .topbar-brand-main { font-size: 16px !important; }
  .topbar-version { font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .12em; color: #2E9CAA; background: rgba(196,163,90,.12); border: 1px solid rgba(196,163,90,.3); border-radius: 3px; padding: 2px 6px; margin-left: 8px; vertical-align: middle; }
.topbar-brand-sub { display: none; }
  .topbar-badge { display: none; }
  .main { padding: 24px 12px 48px !important; }
  
  .url-zone-heading { font-size: 20px !important; }
  
  
  
  
  
  
  .footer-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
  .footer-bottom { flex-direction: column !important; text-align: center !important; }
  .site-footer { padding: 36px 24px 28px !important; }
}
@media(max-width:400px) {
  
  
  
  
}

/* ══════════════════════════════════════════════════════
   REPORT SECTION — full redesign
   ══════════════════════════════════════════════════════ */
#report { width:100%; max-width:960px; padding:0 20px; box-sizing:border-box; display:none; }

/* ── Report header card ─────────────────────────────── */











/* Score donut */








/* ── Score strip ─────────────────────────────────────── */




.sv-r { color: #C0392B; }
.sv-y { color: #B45309; }
.sv-g { color: var(--green); }
.sv-b { color: var(--blue); }
.sv-ok { color: var(--green); }
.sv-warn { color: #B45309; }
.sv-crit { color: #C0392B; }

/* ── Pages row ───────────────────────────────────────── */

.page-chip {
  font-family: var(--mono);
  font-size: 14px;
  padding: 4px 10px;
  border-radius: 4px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--t3);
}
.page-chip.ok { border-color: rgba(26,107,58,.3); color: var(--green); background: rgba(26,107,58,.04); }
.page-chip.err { border-color: rgba(192,57,43,.3); color: #C0392B; background: rgba(192,57,43,.04); }

/* ── Executive summary ───────────────────────────────── */




/* ── Export / action bar ─────────────────────────────── */
.action-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 16px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--border);
}
.action-bar-label {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--t4);
  margin-right: 4px;
}
.abtn {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  letter-spacing: .02em;
  transition: all .15s;
  border: 1px solid transparent;
}
.abtn-primary {
  background: var(--t1);
  color: #fff;
  border-color: #FFFFFF;
}
.abtn-primary:hover { background: var(--gold2); border-color: var(--gold2); }
.abtn-secondary {
  background: var(--bg);
  color: var(--t2);
  border-color: var(--border2);
}
.abtn-secondary:hover { border-color: var(--gold); color: var(--gold2); }

/* ── Category tabs ───────────────────────────────────── */











/* ── Category panel ──────────────────────────────────── */
.cat-panel { display: none; }
.cat-panel.on { display: block; }





.scp-g { color: var(--green); }
.scp-y { color: #B45309; }
.scp-r { color: #C0392B; }

/* ── Subscores ───────────────────────────────────────── */







/* ── WCAG note ───────────────────────────────────────── */


/* ── Filter row ──────────────────────────────────────── */







/* ── Issues ──────────────────────────────────────────── */

























/* ── Lighthouse section ──────────────────────────────── */


.lh-icon { width: 20px; height: 20px; }






.lh-strat-tabs { display: flex; gap: 4px; margin-bottom: 12px; }
.lh-stab {
  font-family: var(--mono);
  font-size: 14px; padding: 5px 12px;
  border-radius: 4px; cursor: pointer;
  border: 1px solid var(--border);
  background: var(--bg); color: var(--t3);
  transition: all .15s;
}
.lh-stab.on { background: var(--gold); color: #FFFFFF; border-color: var(--gold); font-weight: 700; }
.lh-panel { display: none; }
.lh-panel.on { display: block; }
.lh-scores { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.lh-score-box {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 16px;
  text-align: center;
  min-width: 90px;
}
.lh-sv { font-family: var(--serif); font-size: 24px; font-weight: 700; }
.lh-sl { font-family: var(--mono); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--t3); margin-top: 4px; }





/* ── Raw JSON modal ──────────────────────────────────── */
.raw-modal { position: fixed; inset: 0; background: rgba(15,15,15,.85); z-index: 2000; display: none; align-items: center; justify-content: center; }
.raw-modal.open { display: flex; }
.raw-inner { background: #1A1A1A; border-radius: 10px; width: min(700px, calc(100vw - 32px)); max-height: 80vh; overflow-y: auto; padding: 24px; box-shadow: 0 24px 60px rgba(0,0,0,.6); }
.raw-inner pre { font-family: var(--mono); font-size: 13px; color: #D4D4D4; white-space: pre-wrap; word-break: break-all; }

/* ── URL ZONE (new) ─────────────────────────────────── */











/* ── Run button ─────────────────────────────────────── */







/* Mobile */
@media(max-width:520px) {
  
  
  
  
}



/* ── Force black everywhere outside white cards ─────── */
body, .app-stage, .main, .audit-layout { background: #fff !important; }
/* Keep report section panels white */

/* Footer stays black */
.site-footer { background: #f4f6f9 !important; }

/* ══════════════════════════════════════════════════════
   SETTINGS MODAL — full rewrite
   ══════════════════════════════════════════════════════ */
.modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0,0,0,.85) !important;
  z-index: 99999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px;
  box-sizing: border-box;
}
.modal-overlay.open {
  display: flex !important;
}
.modal {
  background: #ffffff;
  border-radius: 14px;
  width: 100%;
  max-width: 540px;
  max-height: 88vh;
  overflow-y: auto;
  box-shadow: 0 32px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08);
  position: relative;
}
/* modal head */
.modal-head {
  background: #183466;
  border-radius: 14px 14px 0 0;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 1;
}
.modal-head-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.modal-head-icon {
  font-size: 20px;
  line-height: 1;
}
.modal-head-title {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}
.modal-head-sub {
  font-size: 13px;
  color: rgba(255,255,255,.5);
  margin-top: 2px;
}
.modal-close {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.7);
  font-size: 14px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .15s;
  flex-shrink: 0;
}
.modal-close:hover {
  background: rgba(255,255,255,.2);
  color: #fff;
}
/* modal body */
.modal-body {
  padding: 24px;
}
.modal-section-title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid #E2E0D8;
}
.modal-field {
  margin-bottom: 18px;
}
.modal-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #4A4845;
  margin-bottom: 6px;
}
.modal-input {
  width: 100%;
  border: 1.5px solid #CCC9BF;
  border-radius: 7px;
  padding: 11px 14px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: #0f0f0f;
  background: #FAFAF8;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
}
.modal-input:focus {
  border-color: #074882;
  box-shadow: 0 0 0 3px rgba(53,90,130,.1);
  background: #fff;
}
.modal-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
}
.key-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #CCC9BF;
  transition: background .3s;
  margin-right: 4px;
}
.key-dot.has-key { background: #1A6B3A; }
.modal-del {
  background: none;
  border: none;
  color: #9B9890;
  font-size: 14px;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
}
.modal-del:hover { color: #C0392B; }
.vis-toggle {
  background: none;
  border: none;
  color: rgba(255,255,255,0.65);
  font-size: 14px;
  cursor: pointer;
  padding: 0;
}
.modal-hint {
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  line-height: 1.6;
  margin-bottom: 6px;
}
.modal-hint a { color: #123B71; }
.modal-btn {
  background: #183466;
  color: #fff;
  border: none;
  border-radius: 7px;
  padding: 12px 28px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: .04em;
  transition: background .15s;
  width: 100%;
  margin-top: 8px;
}
.modal-btn:hover { background: #2a2a2a; }
.modal-divider {
  border: none;
  border-top: 1px solid #E2E0D8;
  margin: 20px 0;
}
/* privacy list */
.modal-privacy {
  background: #F7F6F2;
  border: 1px solid #E2E0D8;
  border-radius: 8px;
  padding: 14px 16px;
  margin-top: 16px;
}
.modal-privacy-title {
  font-size: 13px;
  font-weight: 700;
  color: #4A4845;
  margin-bottom: 8px;
}
.modal-privacy li {
  font-size: 13px;
  color: #4A4845;
  line-height: 1.7;
  list-style: none;
  padding-left: 16px;
  position: relative;
}
.modal-privacy li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #1A6B3A;
  font-weight: 700;
}
/* select inside modal */
.modal-select {
  width: 100%;
  border: 1.5px solid #CCC9BF;
  border-radius: 7px;
  padding: 11px 14px;
  font-size: 13px;
  color: #0f0f0f;
  background: #FAFAF8;
  outline: none;
  cursor: pointer;
  box-sizing: border-box;
}
.modal-select:focus { border-color: #074882; }
/* key status */
.key-status-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #4A4845;
  margin-top: 4px;
}

/* ══════════════════════════════════════════════════════
   URL ENTRY ZONE — single authoritative definition
   ══════════════════════════════════════════════════════ */
.url-zone-panel {
  width: 100%;
  max-width: 1100px;
  background: #ffffff !important;
  border: 1px solid #E2E0D8;
  border-radius: 14px;
  padding: 36px 36px 30px;
  box-shadow: 0 12px 40px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
  margin-bottom: 16px;
  position: relative;
  box-sizing: border-box;
}
/* eyebrow label */
.uzp-eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #123B71;
  margin-bottom: 16px;
  text-align: center;
}
/* main heading/label */
.uzp-field-wrap { margin-bottom: 20px; }
.uzp-label {
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #123B71;
  margin-bottom: 14px;
  line-height: 1.25;
  cursor: default;
}
/* input row */
.uzp-input-row {
  display: flex;
  align-items: center;
  background: #F8F8F6;
  border: 2px solid #CCC9BF;
  border-radius: 10px;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
  margin-bottom: 8px;
}
.uzp-input-row:focus-within {
  border-color: #074882;
  box-shadow: 0 0 0 4px rgba(53,90,130,.1);
  background: #fff;
}
.uzp-glob {
  padding: 0 14px;
  font-size: 18px;
  color: #9B9890;
  flex-shrink: 0;
  line-height: 1;
}
.uzp-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #111111;
  padding: 15px 14px 15px 0;
  width: 100%;
  box-sizing: border-box;
}
.uzp-input::placeholder {
  color: #999792;
  font-weight: 400;
}
.uzp-hint {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: #888480;
  letter-spacing: .01em;
}
.uzp-subhead {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14.5px;
  line-height: 1.55;
  color: #475569;
  margin: 4px 0 14px;
}
.uzp-subhead b { color: #0E2440; }
.uzp-trust {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 14px;
}
.uzp-trust-item {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12.5px;
  line-height: 1.5;
  color: #15803D;
  font-weight: 600;
}
/* run button */








/* mobile */
@media(max-width:520px) {
  .url-zone-panel { padding: 24px 20px 22px; }
  .uzp-label { font-size: 19px; }
  .uzp-input { font-size: 15px; padding: 13px 12px 13px 0; }
  .uzp-glob { padding: 0 10px; font-size: 16px; }
  
  
}

/* ── WHY SECTION ─────────────────────────────────────────── */
.why-section {
  width: 100%;
  max-width: 1100px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
.why-link { color: #1D4ED8; text-decoration: none; font-weight: 600; }
.why-link:hover { text-decoration: underline; }

/* DEADLINE BANNER */
.why-deadline {
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(135deg, #1a0a00, #2a1200);
  border: 1px solid #8B4000;
  border-left: 4px solid #FF6B00;
  border-radius: 10px;
  padding: 14px 16px;
  font-family: Arial, Helvetica, sans-serif;
}
.why-deadline-left { display: flex; align-items: flex-start; gap: 12px; flex: 1; }
.why-deadline-icon { font-size: 22px; flex-shrink: 0; }
.why-deadline-title {
  font-size: 15px;
  font-weight: 700;
  color: #FF8C00;
  letter-spacing: .06em;
  margin-bottom: 4px;
}
.why-deadline-sub { font-size: 14px; color: #E8A870; line-height: 1.5; }
.why-deadline-btn {
  flex-shrink: 0;
  background: #FF6B00;
  color: #fff;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 6px;
  white-space: nowrap;
}
.why-deadline-btn:hover { background: #e05c00; }

/* ALERT */
.why-alert {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  background: linear-gradient(135deg, #fff5f4, #fdecea);
  border: 1px solid #f0c4bd;
  border-left: 5px solid #C0392B;
  border-radius: 10px;
  padding: 16px 18px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13.5px;
  color: #5a2820;
  line-height: 1.6;
  box-shadow: 0 2px 10px rgba(192,57,43,.08);
}
.why-alert-icon { font-size: 20px; flex-shrink: 0; margin-top: 1px; color: #C0392B; }
.why-alert strong { color: #a31f12; font-weight: 800; }
.why-alert .why-link { color: #1d4ed8; font-weight: 700; text-decoration: none; }
.why-alert .why-link:hover { text-decoration: underline; }

/* ── Dual urgency callouts (insurance + serial plaintiff) ── */
.why-callouts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.why-callout {
  display: flex; gap: 12px; align-items: flex-start;
  background: #fff; border: 1px solid #e3e0da; border-radius: 11px;
  padding: 15px 17px; box-shadow: 0 2px 10px rgba(27,58,92,.06);
}
.why-callout-icon {
  flex-shrink: 0; width: 38px; height: 38px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center; font-size: 19px;
}
.wc-ico-amber { background: #fdf2dc; }
.wc-ico-red { background: #fdeae7; }
.why-callout-title { font-family: Arial, Helvetica, sans-serif; font-size: 13.5px; font-weight: 800; color: #183466; margin-bottom: 4px; line-height: 1.3; }
.why-callout-text { font-family: Arial, Helvetica, sans-serif; font-size: 12.5px; color: #4a5560; line-height: 1.55; }
.why-callout-text b { color: #a31f12; }

/* ── Lawsuit timeline ── */
.why-timeline { display: flex; flex-direction: column; gap: 0; }
.why-tl-step { display: flex; gap: 14px; position: relative; padding-bottom: 18px; }
.why-tl-step:last-child { padding-bottom: 0; }
.why-tl-marker { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; }
.why-tl-dot {
  width: 30px; height: 30px; border-radius: 50%; background: #074882; color: #fff;
  font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: 800;
  display: flex; align-items: center; justify-content: center; z-index: 1;
  box-shadow: 0 2px 6px rgba(53,90,130,.3);
}
.why-tl-step.tl-danger .why-tl-dot { background: #C0392B; box-shadow: 0 2px 6px rgba(192,57,43,.35); }
.why-tl-line { width: 2px; flex: 1; background: #dbe2ea; margin: 3px 0; }
.why-tl-step:last-child .why-tl-line { display: none; }
.why-tl-body { padding-top: 3px; }
.why-tl-title { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 800; color: #183466; line-height: 1.3; }
.why-tl-title .why-tl-cost { color: #C0392B; font-weight: 800; }
.why-tl-desc { font-family: Arial, Helvetica, sans-serif; font-size: 12.5px; color: #5a6570; line-height: 1.55; margin-top: 3px; }

/* ── Revenue-loss (AI/competitor) cards ── */
.why-revenue { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.why-rev-card { background: #f7f9fc; border: 1px solid #e0e6ee; border-radius: 10px; padding: 15px 16px; }
.why-rev-icon { font-size: 20px; margin-bottom: 7px; }
.why-rev-title { font-family: Arial, Helvetica, sans-serif; font-size: 13.5px; font-weight: 800; color: #183466; margin-bottom: 5px; line-height: 1.3; }
.why-rev-text { font-family: Arial, Helvetica, sans-serif; font-size: 12.5px; color: #4a5560; line-height: 1.55; }

/* ── Good-faith reassurance strip ── */
.why-goodfaith {
  display: flex; gap: 14px; align-items: flex-start; margin-top: 18px;
  background: linear-gradient(135deg, #eef7f0, #f3faf5);
  border: 1px solid #c6e4cf; border-left: 5px solid #15803D;
  border-radius: 11px; padding: 16px 18px; box-shadow: 0 2px 10px rgba(21,128,61,.07);
}
.why-goodfaith-icon { flex-shrink: 0; font-size: 22px; margin-top: 1px; }
.why-goodfaith-title { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 800; color: #14502c; margin-bottom: 5px; }
.why-goodfaith-text { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #2f5840; line-height: 1.6; }
@media (max-width: 720px) {
  .why-callouts, .why-revenue { grid-template-columns: 1fr; }
}

/* STAT CARDS */
.why-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.why-stat {
  background: #f8f9fb;
  border: 1px solid #e0ddd8;
  border-radius: 10px;
  padding: 16px 12px 12px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.why-stat-accent { background: #EFF6FF; border-color: #BFDBFE; }
.why-stat-danger { background: #FEF2F2; border-color: #FECACA; }
.why-stat-num {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
}
.why-stat-accent .why-stat-num { color: #1D4ED8; }
.why-stat-danger .why-stat-num { color: #DC2626; }
.why-stat-label { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #555; line-height: 1.4; flex: 1; }
/* keep */ .why-stat-link {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: #555;
  text-decoration: none;
  font-weight: 600;
  margin-top: 4px;
}
.why-stat-link:hover { color: #6AACF0; }

/* THREE LAWS */
.why-laws {
  background: #f8f9fb;
  border: 1px solid #e0ddd8;
  border-radius: 12px;
  padding: 20px;
}
.why-laws-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #444;
  margin-bottom: 14px;
}
.why-laws-grid { display: flex; flex-direction: column; gap: 10px; }
.why-law-item {
  background: #fff;
  border: 1px solid #e0ddd8;
  border-radius: 8px;
  padding: 14px 16px;
}
.why-law-badge {
  display: inline-block;
  background: #1a3a5c;
  color: #6AACF0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 2px 8px;
  border-radius: 4px;
  margin-bottom: 6px;
}
.why-law-badge-orange { background: #FFF7ED; color: #C2410C; }
.why-law-badge-red { background: #FEF2F2; color: #DC2626; }
.why-law-name {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
}
.why-law-desc { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #aaa; line-height: 1.55; margin-bottom: 8px; }
.why-law-penalty {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #FF7070;
  margin-bottom: 6px;
}
.why-law-link {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: #074882;
  text-decoration: none;
}
.why-law-link:hover { color: #6AACF0; text-decoration: underline; }

/* MEDICARE BOX */
.why-medicare {
  background: #F5F3FF;
  border: 1px solid #DDD6FE;
  border-left: 4px solid #7C3AED;
  border-radius: 12px;
  padding: 20px;
}
.why-medicare-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.why-medicare-icon { font-size: 24px; }
.why-medicare-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #C4B5FD;
}
.why-medicare-body { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.why-medicare-item {
  background: rgba(0,0,0,0.3);
  border-radius: 8px;
  padding: 12px 14px;
  border: 1px solid #2a1a3a;
}
.why-mitem-head {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #e0d0ff;
  margin-bottom: 5px;
}
.why-mitem-desc { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #B8A8CC; line-height: 1.55; }
.why-medicare-link {
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: #8B5CF6;
  text-decoration: none;
  font-weight: 600;
}
.why-medicare-link:hover { color: #6D28D9; text-decoration: underline; }

/* RISKS */
.why-risks {
  background: #f8f9fb;
  border: 1px solid #e0ddd8;
  border-radius: 12px;
  padding: 20px;
}
.why-risks-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #444;
  margin-bottom: 14px;
}
.why-risks-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.why-risk-item { display: flex; gap: 10px; align-items: flex-start; }
.pl-section { background: linear-gradient(135deg,#f0fdf4,#ecfdf5); border: 1px solid #bbf7d0; border-radius: 14px; padding: 24px 26px; margin: 4px 0 8px; }
.pl-lead { font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 1.6; color: #14532d; margin-bottom: 18px; }
.pl-lead b { color: #166534; }
.pl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pl-card { background: #fff; border: 1px solid #d1fae5; border-radius: 10px; padding: 16px 18px; }
.pl-icon { font-size: 22px; margin-bottom: 8px; }
.pl-head { font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 700; color: #14532d; margin-bottom: 5px; }
.pl-desc { font-family: Arial, Helvetica, sans-serif; font-size: 13.5px; line-height: 1.55; color: #3f6152; }
.pl-foot { font-family: Arial, Helvetica, sans-serif; font-size: 13.5px; line-height: 1.6; color: #14532d; margin-top: 18px; padding-top: 15px; border-top: 1px solid #bbf7d0; font-weight: 600; }
.pl-foot b { color: #166534; }
@media (max-width: 640px) { .pl-grid { grid-template-columns: 1fr; } }
.why-risk-icon { font-size: 22px; flex-shrink: 0; line-height: 1; margin-top: 1px; }
.why-risk-head { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; color: #111; margin-bottom: 4px; }
.why-risk-desc { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #555; line-height: 1.55; }

/* COST TABLE */
.why-costs {
  background: #fff;
  border: 1px solid #e0ddd8;
  border-radius: 12px;
  padding: 20px;
}
.why-costs-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #aaa;
  margin-bottom: 14px;
}
.why-costs-table { border: 1px solid #1e1e1e; border-radius: 8px; overflow: hidden; }
.why-cost-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 0;
  border-bottom: 1px solid #1a1a1a;
}
.why-cost-row:last-child { border-bottom: none; }
.why-cost-row > div {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #888;
  padding: 10px 12px;
  border-left: 1px solid #e0ddd8;
}
.why-cost-row > div:first-child { border-left: none; color: #333; }
.why-cost-header > div { font-weight: 700; color: #555; font-size: 13px; background: #f4f6f9; text-transform: uppercase; letter-spacing: .06em; }
.why-cost-hi { color: #FF7070 !important; font-weight: 700; }
.why-cost-scary > div { background: #FEF2F2; }
.why-cost-scary > div:first-child { color: #DC2626 !important; font-weight: 600; }
.why-cost-total > div { background: #FEF2F2; font-weight: 700; color: #DC2626 !important; }
.why-cost-total-val { grid-column: span 2; color: #DC2626 !important; font-weight: 700; font-size: 13px !important; }

/* CHECKS */
.why-checks {
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-radius: 12px;
  padding: 20px;
}
.why-checks-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #1D4ED8;
  margin-bottom: 14px;
}
.why-checks-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin-bottom: 14px; }
.why-check { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #111; line-height: 1.4; }
.why-checks-note { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #555; line-height: 1.5; border-top: 1px solid #BFDBFE; padding-top: 10px; }

@media(max-width:580px) {
  .why-stats { grid-template-columns: 1fr; }
  .why-risks-grid { grid-template-columns: 1fr; }
  .why-checks-grid { grid-template-columns: 1fr; }
  .why-medicare-body { grid-template-columns: 1fr; }
  .why-deadline { flex-direction: column; align-items: flex-start; }
  .why-cost-row { grid-template-columns: 1fr 1fr; }
}

/* ── ACCORDION WRAPPERS ── */
.why-accordion {
  background: #fff;
  border: 1px solid #e0ddd8;
  border-left: 4px solid #d8dde4;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(27,58,92,.06);
  transition: box-shadow .18s, border-color .18s, transform .12s;
}
.why-accordion:hover {
  box-shadow: 0 6px 20px rgba(27,58,92,.13);
  border-left-color: #074882;
  transform: translateY(-1px);
}
.why-accordion[open] {
  border-color: #b8c8d8;
  border-left-color: #074882;
  box-shadow: 0 8px 26px rgba(27,58,92,.16);
}
.why-acc-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  background: #fff;
  transition: background .15s;
}
.why-acc-head::-webkit-details-marker { display: none; }
.why-acc-head:hover { background: linear-gradient(135deg, #f7f9fc, #eef3f8); }
.why-accordion[open] .why-acc-head {
  background: linear-gradient(135deg, #f4f6f9, #eaf0f6);
  border-bottom: 1px solid #e0ddd8;
}
.why-acc-icon { font-size: 22px; flex-shrink: 0; }
.why-acc-title-wrap { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.why-acc-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #111;
  line-height: 1.3;
}
.why-acc-sub {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #777;
  line-height: 1.4;
}
.why-accordion[open] .why-acc-title { color: #183466; }
.why-accordion[open] .why-acc-sub { color: #555; }
/* "Tap to expand" hint — shows on hover, hidden when open */
.why-acc-hint {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #074882;
  font-weight: 700;
  opacity: 0;
  transition: opacity .15s;
  flex-shrink: 0;
  white-space: nowrap;
}
.why-acc-head:hover .why-acc-hint { opacity: .75; }
.why-accordion[open] .why-acc-hint { display: none; }
.why-acc-chevron {
  font-size: 13px;
  color: #fff;
  flex-shrink: 0;
  transition: transform .25s, background .2s;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #074882;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(53,90,130,.3);
}
.why-acc-head:hover .why-acc-chevron { background: #183466; }
.why-accordion[open] .why-acc-chevron {
  transform: rotate(180deg);
  background: #C0392B;
  box-shadow: 0 2px 6px rgba(192,57,43,.35);
}
.why-acc-body {
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #fff;
}

/* ── OVERLAY MYTH ── */
.why-myth { background: #FEF2F2; border: 1px solid #FECACA; border-left: 4px solid #DC2626; border-radius: 12px; padding: 20px; }
.why-myth-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.why-myth-icon { font-size: 24px; flex-shrink: 0; }
.why-myth-title { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 700; color: #FFB0B0; margin-bottom: 3px; }
.why-myth-sub { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #CC7777; }
.why-myth-body { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.why-myth-item { background: #FEF2F2; border: 1px solid #FECACA; border-radius: 8px; padding: 12px 14px; }
.why-myth-item-head { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; color: #991B1B; margin-bottom: 4px; }
.why-myth-item-desc { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #555; line-height: 1.55; }
.why-myth-link { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #DC2626; text-decoration: none; font-weight: 600; }
.why-myth-link:hover { color: #991B1B; text-decoration: underline; }

/* ── SERIAL FILER ── */
.why-serial { background: #FFFBEB; border: 1px solid #FDE68A; border-radius: 12px; padding: 20px; }
.why-serial-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.why-serial-icon { font-size: 24px; }
.why-serial-title { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 700; color: #92400E; }
.why-serial-p { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #555; line-height: 1.6; }
.why-serial-p strong { color: #92400E; }
.why-serial-steps { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; }
.why-serial-step { display: flex; align-items: flex-start; gap: 12px; }
.why-serial-step-num { width: 26px; height: 26px; border-radius: 50%; background: #FEF3C7; border: 1px solid #FCD34D; color: #92400E; font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.why-serial-step > div:last-child { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #555; line-height: 1.5; padding-top: 3px; }

/* ── FAQ ── */
.why-faq { background: #f8f9fb; border: 1px solid #e0ddd8; border-radius: 12px; padding: 20px; }
.why-faq-title { font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #444; margin-bottom: 14px; }
.why-faq-list { display: flex; flex-direction: column; gap: 6px; }
.why-faq-item { background: #fff; border: 1px solid #e0ddd8; border-radius: 8px; overflow: hidden; }
.why-faq-q { font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 600; color: #111; padding: 13px 16px; cursor: pointer; list-style: none; display: flex; align-items: center; gap: 10px; user-select: none; }
.why-faq-q::-webkit-details-marker { display: none; }
.why-faq-q::before { content: '+'; font-size: 16px; color: #aaa; font-weight: 700; flex-shrink: 0; }
details[open] .why-faq-q::before { content: '−'; color: #074882; }
details[open] .why-faq-q { color: #074882; }
.why-faq-a { font-family: Arial, Helvetica, sans-serif; font-size: 15px; color: #555; line-height: 1.6; padding: 0 16px 14px 42px; }
.why-faq-a strong { color: #111; }

/* ── INSURANCE ── */
.why-insurance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.why-ins-item { display: flex; gap: 10px; align-items: flex-start; background: #fff; border: 1px solid #e0ddd8; border-radius: 8px; padding: 12px 14px; }
.why-ins-bad { border-left: 3px solid #DC2626; }
.why-ins-warn { border-left: 3px solid #D97706; }
.why-ins-icon { font-size: 18px; flex-shrink: 0; }
.why-ins-head { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; color: #111; margin-bottom: 4px; }
.why-ins-desc { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #555; line-height: 1.5; }
.why-ins-note { background: #FEF2F2; border: 1px solid #FECACA; border-left: 4px solid #DC2626; border-radius: 8px; padding: 12px 14px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #CC9988; line-height: 1.6; }
.why-ins-note strong { color: #991B1B; }

/* ── STATE LAWS ── */
.why-states-intro { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #555; line-height: 1.6; margin-bottom: 14px; }
.why-states-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 12px; }
.why-state-card { background: #0f0f0f; border: 1px solid #1e1e1e; border-radius: 8px; padding: 14px; }
.why-state-name { font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.why-state-law { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #999; margin-bottom: 6px; }
.why-state-penalty { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; color: #FF8080; margin-bottom: 8px; }
.why-state-desc { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #999; line-height: 1.5; margin-bottom: 8px; }
.why-state-link { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #6a9ec0; text-decoration: none; font-weight: 600; }
.why-state-link:hover { color: #6AACF0; text-decoration: underline; }
.why-states-note { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #888; line-height: 1.5; border-top: 1px solid #1a1a1a; padding-top: 10px; }

/* ── DEMAND LETTER ── */
.why-demand-alert { background: #120808; border: 1px solid #5a1a1a; border-left: 4px solid #CC2222; border-radius: 8px; padding: 12px 14px; font-family: Arial, Helvetica, sans-serif; font-size: 15px; color: #FF9090; line-height: 1.6; margin-bottom: 14px; font-weight: 600; }
.why-demand-steps { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.why-demand-step { display: flex; gap: 14px; align-items: flex-start; }
.why-ds-num { width: 28px; height: 28px; border-radius: 50%; background: #1a1a2a; border: 1px solid #3a3a5a; color: #8888CC; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.why-ds-head { font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 700; color: #111; margin-bottom: 4px; }
.why-ds-desc { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #555; line-height: 1.55; }
.why-demand-footer { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #1D4ED8; font-style: italic; border-top: 1px solid #e0ddd8; padding-top: 12px; line-height: 1.5; }

/* ── UPSIDE ── */
.why-upside-intro { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #555; line-height: 1.6; margin-bottom: 14px; }
.why-upside-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.why-up-card { background: #EFF6FF; border: 1px solid #BFDBFE; border-radius: 8px; padding: 14px; }
.why-up-icon { font-size: 22px; margin-bottom: 8px; }
.why-up-head { font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 700; color: #1D4ED8; margin-bottom: 6px; }
.why-up-desc { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #374151; line-height: 1.55; }

@media(max-width:580px) {
  .why-insurance-grid { grid-template-columns: 1fr; }
  .why-states-grid { grid-template-columns: 1fr; }
  .why-upside-grid { grid-template-columns: 1fr; }
}

/* ── FOOTER CTA BAND ── */
.footer-cta-band { background: linear-gradient(135deg, #0E2440, #183466); border-top: 3px solid #2E9CAA; padding: 36px 24px; }
.opti-cta-band { background: linear-gradient(135deg, #0E2440, #183466); border-top: 3px solid var(--wr-teal); padding: 32px 24px; }
.opti-cta-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.opti-cta-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wr-teal); margin-bottom: 6px; }
.opti-cta-title { font-size: 22px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.opti-cta-sub { font-size: 14px; color: rgba(255,255,255,.78); line-height: 1.55; max-width: 640px; }
.opti-cta-btn { flex-shrink: 0; display: inline-flex; align-items: center; gap: 10px; background: var(--wr-teal); color: #fff; text-decoration: none; font-size: 16px; font-weight: 700; padding: 16px 30px; border-radius: 10px; transition: background .2s; white-space: nowrap; }
.opti-cta-btn:hover { background: #278995; }
.opti-cta-arrow { font-size: 20px; }
@media(max-width:640px){ .opti-cta-inner { flex-direction: column; text-align: center; } .opti-cta-btn { width: 100%; justify-content: center; } }
.footer-cta-inner { max-width: 800px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.footer-cta-title { font-family: Arial, Helvetica, sans-serif; font-size: 22px; font-weight: 700; color: #ffffff !important; margin-bottom: 6px; }
.footer-cta-sub { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgba(255,255,255,.75) !important; line-height: 1.5; }
.footer-cta-btn { flex-shrink: 0; display: flex; align-items: center; gap: 10px; background: #074882; color: #fff; text-decoration: none; font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 700; padding: 16px 28px; border-radius: 10px; transition: background .2s; white-space: nowrap; }
.footer-cta-btn:hover { background: #2E9CAA; }
.footer-cta-arrow { font-size: 18px; }
@media(max-width:600px) {
  .footer-cta-inner { flex-direction: column; text-align: center; }
  .why-cd-num { font-size: 26px; }
  .why-cd-unit { min-width: 44px; }
}

/* ── PROGRESS PANEL — full-screen overlay while audit runs ─── */




/* Site URL header inside panel */
.pp-site-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #2a2a2a;
}
#progSiteUrl {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  letter-spacing: .02em;
}

/* Master progress bar */



/* Live counters */











/* Category grid */






















/* Status text line */

.status-line b { color: #ccc; }

/* Error box */


/* Mobile */
@media(max-width:560px) {
  
  
  
  
  
}

/* ══════════════════════════════════════════════════════
   PROGRESS OVERLAY — centered modal while audit runs
   ══════════════════════════════════════════════════════ */

/* Outer overlay — dark full-screen backdrop */
#progressOverlay {
  display: none;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(12,31,56,0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9000;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  overflow-y: auto;
}
#progressOverlay[style*="block"] { display: flex !important; }

.progress-panel {
  background: #fff;
  border: 1px solid #e0ddd8;
  border-top: 4px solid #183466;
  border-radius: 14px;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  max-height: 92vh;
  overflow-y: auto;
  padding: 20px 22px 18px;
  box-shadow: 0 24px 64px rgba(0,0,0,.25);
  position: relative;
  flex-shrink: 0;
}

/* ── Mobile: the corner progress inset (inline-styled as a 380px desktop
   corner panel) becomes a full-width bottom sheet so it never overflows a
   phone screen or crowds the page behind it. !important is required to beat
   the element's inline styles. ─────────────────────────────────────────── */
@media(max-width:560px) {
  #progressOverlay {
    right: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    max-height: 82vh !important;
    border-radius: 16px 16px 0 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    box-shadow: 0 -8px 32px rgba(0,0,0,.28) !important;
  }
  #progressOverlay #ppScroll {
    max-height: 82vh !important;
    padding: 16px 16px calc(16px + env(safe-area-inset-bottom)) !important;
  }
  /* When minimized on mobile, collapse to a slim bar pinned to the bottom. */
  #progressOverlay.pp-minimized #ppScroll { max-height: 64px !important; }
}
.pp-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.pp-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #183466;
  flex-shrink: 0;
  animation: ppPulse 1.2s ease-in-out infinite;
}
@keyframes ppPulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .35; transform: scale(.7); }
}
.dot-run { background: #183466 !important; }
.dot-ok  { background: #16A34A !important; animation: none !important; }
.dot-err { background: #DC2626 !important; animation: none !important; }
.pp-msg  { font-size: 13px; color: #444; flex: 1; }
.pp-msg b { color: #0E2440; }
.pp-site {
  font-family: monospace;
  font-size: 11px;
  color: #999;
  text-align: right;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Progress bar ────────────────────────────── */
.pp-master-track {
  background: #e8e6e2;
  border-radius: 4px;
  height: 5px;
  margin-bottom: 18px;
  overflow: hidden;
}
.pp-master-fill {
  height: 100%;
  background: linear-gradient(90deg, #183466, #074882, #2E9CAA);
  border-radius: 4px;
  width: 0%;
  transition: width .5s ease;
}

/* ── Live counters ───────────────────────────── */
.live-counters {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  margin-bottom: 16px;
}
.lc {
  background: #f7f8fa;
  border: 1px solid #e0ddd8;
  border-radius: 8px;
  padding: 10px 6px 8px;
  text-align: center;
}
.lc-val {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 4px;
  color: #bbb;
}
.lc-lbl {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #999;
}
.lc-crit .lc-val { color: #C0392B; }
.lc-warn .lc-val { color: #B45309; }
.lc-pass .lc-val { color: #1A6B3A; }
.lc-pages .lc-val { color: #555; }
.lc-score {
  background: #183466;
  border-color: #2E9CAA;
}
.lc-score .lc-val { color: #2E9CAA; font-size: 22px; }
.lc-score .lc-lbl { color: rgba(255,255,255,.7); }

/* ── Category grid ───────────────────────────── */
.cat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.cg-item {
  background: #f7f8fa;
  border: 1px solid #e0ddd8;
  border-radius: 7px;
  padding: 8px 10px 7px;
  min-width: 0;
  transition: border-color .2s, background .2s;
}
.cg-item.cg-running {
  border-color: #2E9CAA;
  background: #FFFBEB;
}
.cg-item.cg-done {
  border-color: #86EFAC;
  background: #F0FDF4;
}
.cg-item.cg-error {
  border-color: #FCA5A5;
  background: #FEF2F2;
}
.cg-top {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 6px;
}
.cg-top > span:first-child { font-size: 14px; flex-shrink: 0; }
.cg-name {
  flex: 1;
  font-size: 11px;
  font-weight: 600;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cg-running .cg-name { color: #92400E; }
.cg-done    .cg-name { color: #15803D; }
.cg-error   .cg-name { color: #DC2626; }
.cg-desc {
  font-size: 10px;
  line-height: 1.35;
  color: #8a8f98;
  margin-top: 5px;
}

.cg-pill {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 4px;
  background: #e8e6e2;
  color: #aaa;
  flex-shrink: 0;
}
.cg-running .cg-pill { background: #FEF3C7; color: #92400E; }
.cg-done    .cg-pill { background: #DCFCE7; color: #15803D; }
.cg-error   .cg-pill { background: #FEE2E2; color: #DC2626; }

.cg-track {
  background: #e8e6e2;
  border-radius: 3px;
  height: 3px;
  overflow: hidden;
}
.cg-fill {
  height: 100%;
  border-radius: 3px;
  width: 0%;
  transition: width .5s ease;
  background: #d8d5d0;
}
.cg-running .cg-fill { background: linear-gradient(90deg, #2E9CAA, #f0c060); }
.cg-done    .cg-fill { background: #16A34A; width: 100% !important; }
.cg-error   .cg-fill { background: #DC2626; }

/* ── Error box ───────────────────────────────── */
.pp-error {
  background: #FEF2F2;
  border: 1px solid #FECACA;
  border-left: 3px solid #DC2626;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 12px;
  color: #991B1B;
  margin-top: 14px;
}

/* ── Mobile ──────────────────────────────────── */
@media(max-width:580px) {
  .progress-panel { padding: 20px 14px 16px; }
  .live-counters { grid-template-columns: repeat(3, 1fr); }
  .lc-pages { display: none; }
  .lc-score { grid-column: span 1; }
  .cat-grid { grid-template-columns: 1fr; }
  .lc-val { font-size: 18px; }
  .pp-site { display: none; }
}

.footer-link {
  color: rgba(255,255,255,.65);
  text-decoration: underline;
  text-decoration-color: rgba(53,90,130,.5);
  text-underline-offset: 3px;
  font-size: 14px;
  transition: color .2s;
}
.footer-link:hover {
  color: #2E9CAA;
  text-decoration-color: #2E9CAA;
}

.topbar-badge-link {
  text-decoration: none;
  cursor: pointer;
}
.topbar-badge-link:hover {
  background: rgba(74,125,181,.15) !important;
  border-color: rgba(74,125,181,.4) !important;
  color: #2E9CAA !important;
}

/* ══════════════════════════════════════════════════════
   REPORT — clean layout & big bold category names
   ══════════════════════════════════════════════════════ */

/* Score strip */




.sv-r 
.sv-y 
.sv-g 
.sv-b 
.sv-gold 

/* Category header — BIG and clear */
.cat-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--border);
  background: #fff;
  border-radius: 10px 10px 0 0;
}
.cat-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  flex-shrink: 0;
  background: var(--gray-bg, #F5F4F0);
}
.cat-info { flex: 1; min-width: 0; }

.cat-name {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.15;
  letter-spacing: -.01em;
  margin-bottom: 4px;
}
.cat-sub {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--t3);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cat-score-pill {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 28px;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 10px;
  white-space: nowrap;
  flex-shrink: 0;
  border: 2px solid currentColor;
}
.csp-g { color: #1A6B3A; background: rgba(26,107,58,.06); }
.csp-y { color: #B45309; background: rgba(180,83,9,.06);  }
.csp-r { color: #C0392B; background: rgba(192,57,43,.06); }

/* ── Plain-English explanation box ──────────── */
.plain-english-box {
  background: linear-gradient(135deg, #FFFDF5, #FFF9E8);
  border: 1px solid rgba(53,90,130,.2);
  border-left: 4px solid var(--gold);
  border-radius: 0 0 0 0;
  padding: 16px 22px;
  margin: 0;
}
.pe-heading {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold2);
  margin-bottom: 7px;
}
.pe-text {
  font-size: 15px;
  line-height: 1.7;
  color: var(--t2, #3a3530);
  max-width: 800px;
}

/* ── Category tabs — bigger labels ──────────── */


@media(max-width:680px) {
  
  .cat-name { font-size: 20px; }
  .cat-score-pill { font-size: 20px; padding: 8px 12px; }
  .cat-icon { width: 42px; height: 42px; font-size: 20px; }
}

/* ══════════════════════════════════════════════════════
   REPORT HEADER — clean, compact, no blank white space
   ══════════════════════════════════════════════════════ */

.rpt-header > div:first-child { flex: 1; min-width: 0; }

.rh-eyebrow {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold2);
  margin-bottom: 6px;
}
.rh-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.2;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rh-url {
  font-family: var(--mono);
  font-size: 14px;
  color: var(--t3);
  margin-bottom: 2px;
}
.rh-date {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--t4);
}

/* LH summary strip in header */
.lh-summary-strip {
  display: none;
  grid-template-columns: repeat(4,1fr);
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}
.lh-ss-item { text-align: center; }
.lh-ss-val {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1;
  margin-bottom: 3px;
}
.lh-ss-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--t3);
}

/* ADA Score donut */
.score-donut {
  position: relative;
  flex-shrink: 0;
}
.donut-svg { display: block; transform: rotate(-90deg); }
.donut-bg { fill: none; stroke: var(--border); stroke-width: 8; }
.donut-fg { fill: none; stroke-width: 8; stroke-linecap: round; transition: stroke-dashoffset 1s ease; }
.donut-num {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
}
.donut-val {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1;
}
.donut-lbl {
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--t3);
  margin-top: 3px;
  text-align: center;
}

/* Executive summary */




/* ══════════════════════════════════════════════════════
   LIGHTHOUSE — horizontal score grid + collapsible sections
   ══════════════════════════════════════════════════════ */

.lh-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #1a1a1a !important;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0ddd8;
}
.lh-icon { width: 20px; height: 20px; flex-shrink: 0; }
.lh-badge {
  font-size: 13px;
  background: rgba(26,107,58,.1);
  color: #1A6B3A;
  border: 1px solid rgba(26,107,58,.2);
  border-radius: 4px;
  padding: 2px 7px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Page tabs */
.lh-pages-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.lh-ptab {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 5px 12px;
  border-radius: 5px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--t3);
  cursor: pointer;
  transition: all .15s;
}
.lh-ptab.on { background: var(--t1); color: #fff; border-color: #FFFFFF; }
.lh-page-panel { display: none; }
.lh-page-panel.on { display: block; }

/* Score grid — horizontal, no circles */
.lh-score-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
.lh-sg-item {
  background: var(--bg, #F8F8F6);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 16px 14px 12px;
  text-align: center;
}
.lh-sg-num {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4px;
}
.lh-sg-label {
  font-size: 12px;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 2px;
}
.lh-sg-sub {
  font-size: 13px;
  color: var(--t3);
  margin-bottom: 8px;
}
.lh-sg-bar {
  background: var(--border);
  border-radius: 3px;
  height: 4px;
  margin-bottom: 6px;
  overflow: hidden;
}
.lh-sg-fill {
  height: 100%;
  border-radius: 3px;
  transition: width .8s ease;
}
.lh-sg-status {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Collapsible details blocks */
.lh-details-block {
  background: var(--bg, #F8F8F6);
  border: 1px solid var(--border);
  border-radius: 8px;
  margin-bottom: 8px;
  overflow: hidden;
}
.lh-details-block[open] .lh-det-arrow { transform: rotate(180deg); }
.lh-details-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: .02em;
  list-style: none;
  user-select: none;
  gap: 8px;
}
.lh-details-summary::-webkit-details-marker { display: none; }
.lh-details-summary > span:first-child { display: flex; align-items: center; gap: 8px; }
.lh-det-arrow {
  font-size: 13px;
  color: var(--t3);
  transition: transform .2s;
  flex-shrink: 0;
}
.lh-det-badge {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
  background: #eee;
  color: var(--t2);
}
.lh-det-warn { background: rgba(180,83,9,.1); color: #B45309; }
.lh-det-err  { background: rgba(192,57,43,.1); color: #C0392B; }

.lh-opps-list { padding: 0 16px 14px; }
.lh-pass-row {
  padding: 10px 16px;
  font-size: 13px;
  color: #1A6B3A;
  font-weight: 600;
}

/* CWV grid */
.cwv-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  padding: 14px 16px;
}
.cwv-item {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 14px;
}
.cwv-item.cwv-good  { border-left: 3px solid #1A6B3A; }
.cwv-item.cwv-needs { border-left: 3px solid #B45309; }
.cwv-item.cwv-poor  { border-left: 3px solid #C0392B; }
.cwv-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--t2);
  margin-bottom: 4px;
}
.cwv-val {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 2px;
  line-height: 1;
}
.cvw-good  { color: #1A6B3A; }
.cvw-needs { color: #B45309; }
.cvw-poor  { color: #C0392B; }
.cwv-threshold {
  font-size: 13px;
  color: var(--t3);
  font-family: var(--mono);
}
.cwv-field-badge {
  font-size: 13px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  margin-top: 4px;
  display: inline-block;
}
.fb-good  { background: rgba(26,107,58,.1);  color: #1A6B3A; }
.fb-needs { background: rgba(180,83,9,.1);   color: #B45309; }
.fb-poor  { background: rgba(192,57,43,.1);  color: #C0392B; }

/* Actual-vs-Google-benchmark comparison */
.cwv-actual-row { display:flex; align-items:center; gap:8px; margin-bottom:1px; }
.cwv-actual-lbl { font-size:11px; color:var(--t3); text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px; }
.cv-verdict { font-size:11px; font-weight:700; padding:2px 7px; border-radius:4px; line-height:1.4; }
.cv-badge-good  { background: rgba(26,107,58,.12);  color:#1A6B3A; }
.cv-badge-needs { background: rgba(180,83,9,.12);   color:#B45309; }
.cv-badge-poor  { background: rgba(192,57,43,.12);  color:#C0392B; }
.cwv-bench { display:flex; justify-content:space-between; align-items:baseline; gap:8px;
  font-size:12px; padding-top:6px; border-top:1px dashed var(--border); margin-top:2px; }
.cwv-bench-lbl { color:var(--t3); }
.cwv-bench-val { font-family:var(--mono); font-weight:700; color:var(--t2); white-space:nowrap; }
.cwv-gap { font-size:12px; font-weight:700; color:#C0392B; margin-top:4px; }

/* Opportunity items */
.lh-opp {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 6px;
  margin-bottom: 5px;
  background: #ffffff !important;
  border: 1px solid #e5e3dd !important;
}
.opp-fail { border-left: 3px solid #C0392B; }
.opp-warn { border-left: 3px solid #B45309; }
.opp-pass { border-left: 3px solid #1A6B3A; }
.opp-info { border-left: 3px solid #9ca3af; }
.opp-icon { font-size: 13px; flex-shrink: 0; margin-top: 1px; }
.opp-text { flex: 1; min-width: 0; }
.opp-title { font-size: 13px; font-weight: 700; color: #1a1a1a !important; line-height: 1.3; }
.opp-desc  { font-size: 12px; color: #555 !important; margin-top: 2px; line-height: 1.4; }
.opp-saving {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  flex-shrink: 0;
  align-self: center;
}
.os-red    { background: rgba(192,57,43,.1);  color: #C0392B; }
.os-yellow { background: rgba(180,83,9,.1);   color: #B45309; }
.os-green  { background: rgba(26,107,58,.1);  color: #1A6B3A; }

.lh-error { padding: 14px; color: var(--t3); font-size: 13px; }

@media(max-width:680px) {
  .lh-score-grid { grid-template-columns: repeat(2,1fr); }
  .cwv-grid { grid-template-columns: repeat(2,1fr); }
  
  .rh-title { font-size: 18px; }
}

/* ══════════════════════════════════════════════════════
   STICKY PDF DOWNLOAD BAR — always visible at top
   ══════════════════════════════════════════════════════ */
.pdf-sticky-bar {
  position: sticky;
  top: 0;
  z-index: 400;
  background: #0F0F0F;
  border-radius: 12px;
  margin-bottom: 16px;
  box-shadow: 0 4px 24px rgba(0,0,0,.25);
  overflow: hidden;
}
.pdf-sticky-bar::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #123B71, #2E9CAA, #074882);
}
.pdf-sticky-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px 12px;
  flex-wrap: wrap;
}
.pdf-sticky-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.pdf-sticky-icon {
  font-size: 26px;
  flex-shrink: 0;
}
.pdf-sticky-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2px;
}
.pdf-sticky-sub {
  font-family: var(--mono);
  font-size: 13px;
  color: rgba(255,255,255,.5);
  letter-spacing: .05em;
}
.pdf-sticky-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.pdf-dl-btn {
  background: linear-gradient(135deg, #074882, #2E9CAA);
  color: #000;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 12px 28px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
  box-shadow: 0 4px 16px rgba(53,90,130,.4);
  white-space: nowrap;
}
.pdf-dl-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(53,90,130,.55);
}
.pdf-dl-btn:active { transform: none; }
.pdf-txt-btn {
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.65);
  font-size: 14px;
  font-weight: 600;
  padding: 10px 16px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 8px;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.pdf-txt-btn:hover {
  background: rgba(255,255,255,.14);
  color: #fff;
}

@media(max-width:580px) {
  .pdf-sticky-inner { flex-direction: column; align-items: flex-start; gap: 10px; }
  .pdf-sticky-right { width: 100%; }
  .pdf-dl-btn { width: 100%; text-align: center; }
  .pdf-txt-btn { flex: 1; text-align: center; }
  .pdf-sticky-bar { border-radius: 0; margin: 0 -16px 16px; width: calc(100% + 32px); }
}




/* Animated shimmer sweep */







/* Gold icon slab on left */


/* Text block */




/* Arrow on right */



@media(max-width:520px) {
  
  
  
  
}

/* ══════════════════════════════════════════════════════
   ISSUE CARDS — clean, white, highly readable
   ══════════════════════════════════════════════════════ */

.issues-list { padding: 0; margin: 0; }

/* Card shell */
.issue {
  background: #fff;
  border: 1px solid #E5E3DD;
  border-radius: 10px;
  margin-bottom: 8px;
  overflow: hidden;
  transition: box-shadow .15s, border-color .15s;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.issue:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08); }

/* Left accent stripe by severity */
.issue.ic { border-left: 5px solid #C0392B; }
.issue.iw { border-left: 5px solid #D97706; }
.issue.ii { border-left: 5px solid #3B82F6; }
.issue.ip { border-left: 5px solid #1A6B3A; }

/* Collapsed header row — explicit vertical structure: meta row on top, title below.
   Predictable layout avoids the overlap that can happen when sev-badge + meta tags
   + title all compete for space in a single horizontal flex row. */
.issue-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background .12s;
}
.issue-btn:hover { background: #FAFAF8; }

.issue-meta-row { /* deprecated — retained for compatibility */
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.issue-title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.3;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.issue-tags {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.issue-chev {
  align-self: center;
  font-size: 13px;
  color: #bbb;
  flex-shrink: 0;
  transition: transform .2s;
}

/* Right-aligned priority pill — sits in the tag cluster */
.issue-priority {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 3px 7px;
  border-radius: 4px;
  flex-shrink: 0;
}
.ip-c { background: #FEE2E2; color: #991B1B; }
.ip-h { background: #FED7AA; color: #9A3412; }
.ip-m { background: #FEF3C7; color: #92400E; }
.ip-l { background: #E5E7EB; color: #4B5563; }

/* Severity badge */
.sev-badge {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 4px;
  flex-shrink: 0;
}
.sb-c { background: #FEE2E2; color: #C0392B; border: 1px solid rgba(192,57,43,.2); }
.sb-w { background: #FEF3C7; color: #B45309; border: 1px solid rgba(217,119,6,.2); }
.sb-i { background: #DBEAFE; color: #1D4ED8; border: 1px solid rgba(59,130,246,.2); }
.sb-p { background: #D1FAE5; color: #1A6B3A; border: 1px solid rgba(26,107,58,.2); }

/* DEPRECATED — kept for backwards compatibility, no longer used in new layout */
.issue-head { display: contents; }
.issue-meta {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: center;
}
.im-tag {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  color: #555;
  background: #F0EEE8;
  border: 1px solid #E0DDD6;
  border-radius: 4px;
  padding: 2px 7px;
  white-space: nowrap;
}
.im-wcag {
  background: #EEF2FF;
  color: #3730A3;
  border-color: rgba(55,48,163,.2);
}
.issue-body.open ~ .issue-btn .issue-chev,
.issue.expanded .issue-chev { transform: rotate(180deg); }

/* Expanded body */
.issue-body {
  display: none;
  background: #FAFAF8 !important;
  border-top: 1px solid #E5E3DD;
  padding: 0;
}
.issue-body.open { display: block; }

/* Body sections — tightened for compact, scannable cards */
.ib-desc {
  font-size: 12.5px;
  color: #2a2a2a;
  line-height: 1.5;
  padding: 7px 14px 6px;
  border-bottom: 1px solid #EEEDEA;
}

.ib-impact {
  display: none; /* merged into ib-desc in compact layout */
}

/* Per-issue collapsible technical detail (accordion report) */
.issue-tech { margin: 0; padding: 8px 14px 10px; border-top: 1px dashed #E5E3DD; }
.issue-tech-sum { cursor: pointer; font-size: 11px; font-weight: 700; letter-spacing: .02em; color: #0a6c7a; list-style: none; user-select: none; }
.issue-tech-sum::-webkit-details-marker { display: none; }
.issue-tech-sum::before { content: "▸ "; font-size: 9px; }
.issue-tech[open] .issue-tech-sum::before { content: "▾ "; }
.issue-tech-sum .itd-hint { color: #8a8a82; font-weight: 500; }
.issue-tech-body { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.issue-tech-body .ib-broken,
.issue-tech-body .ib-fix { margin: 0; }
.itd-row { font-size: 11px; color: #6a6a62; }
.itd-row .itd-k { font-weight: 800; color: #2a2a2a; text-transform: uppercase; letter-spacing: .04em; font-size: 9.5px; margin-right: 4px; }

/* Code + Fix side by side */
.ib-code-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.ib-code-row .ib-broken,
.ib-code-row .ib-fix { border-radius: 0; margin: 0; }
.ib-code-row .ib-broken { border-right: none; }
@media(max-width:600px){ .ib-code-row { grid-template-columns: 1fr; } }

.ib-fix {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 12px;
  color: #14532D;
  background: #F0FDF4 !important;
  border-bottom: 1px solid #BBF7D0;
  border-left: 3px solid #16A34A;
  padding: 7px 12px;
  line-height: 1.45;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  white-space: pre-wrap;
  word-break: break-all;
}
.ib-fix::before {
  content: 'FIX';
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .08em;
  color: #16A34A;
  flex-shrink: 0;
  margin-top: 3px;
  font-family: -apple-system,sans-serif;
}

/* Broken-code block */
.ib-broken {
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 11.5px;
  background: #1F1F1F !important;
  color: #F4F4F5 !important;
  border-left: 3px solid #DC2626;
  padding: 7px 12px 8px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-all;
  overflow-x: auto;
  margin: 0;
}
.ib-broken-label {
  display: block;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 9px;
  font-weight: 700;
  color: #FCA5A5;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
  padding-bottom: 3px;
  border-bottom: 1px solid #3A3A3A;
}

/* Issue metadata — compact single row */
.ib-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 12px;
  font-size: 11px;
  color: #475569;
  background: #F8FAFC;
  border-bottom: 1px solid #E2E8F0;
  padding: 5px 14px;
  line-height: 1.5;
}
.ib-meta-row b { color: #1E293B; font-weight: 600; margin-right: 3px; }
.ib-meta-row a {
  color: #1E40AF;
  text-decoration: none;
  border-bottom: 1px dotted #94A3B8;
}
.ib-meta-row a:hover { color: #1D4ED8; border-bottom-color: #1D4ED8; }
.ib-meta-pages { max-width: 100%; }

/* Pages crawled panel — sits above the section accordion */
.pages-crawled {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  padding: 14px 18px;
  margin: 12px 0 18px;
  font-size: 13px;
  line-height: 1.5;
}

/* Search demand & methodology block */
.search-demand {
  background: #fff; border: 1px solid var(--border, #e3e7ec);
  border-top: 4px solid #2E9CAA; border-radius: 12px;
  padding: 22px 24px; margin: 0 0 18px;
}
.sd-kicker { font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #2E9CAA; margin-bottom: 8px; }
.sd-headline { font-size: 19px; font-weight: 800; color: #074882; line-height: 1.3; margin-bottom: 14px; }
.sd-headline b { color: #2E9CAA; }
.sd-mock { font-size: 12px; color: #8a5a00; background: #fff6e6; border: 1px solid #f0d9a8; border-radius: 7px; padding: 7px 11px; margin-bottom: 12px; }
.sd-table { width: 100%; border-collapse: collapse; margin-bottom: 18px; font-size: 13px; }
.sd-table th { text-align: left; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #5c8a92; padding: 6px 10px; border-bottom: 2px solid #e3e7ec; }
.sd-table td { padding: 7px 10px; border-bottom: 1px solid #f0f2f4; color: #3a4754; }
.sd-table .sd-num { text-align: right; font-variant-numeric: tabular-nums; }
.sd-kw-details { margin-bottom: 18px; border: 1px solid #e3e7ec; border-radius: 8px; overflow: hidden; }
.sd-kw-summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; padding: 12px 15px; background: #f7f9fb; font-size: 13px; color: #3a4754; }
.sd-kw-summary::-webkit-details-marker { display: none; }
.sd-kw-summary-label { font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: 11px; color: #074882; }
.sd-kw-summary-meta { color: #6b7280; font-size: 12.5px; }
.sd-kw-chev { margin-left: auto; color: #2E9CAA; font-size: 13px; transition: transform .15s ease; }
.sd-kw-details[open] .sd-kw-chev { transform: rotate(180deg); }
.sd-kw-details .sd-table { margin: 0; padding: 4px 13px 11px; }
.sd-kw-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; padding: 4px 0 6px; }
.sd-kw-cols .sd-table { margin: 0; padding: 0 13px 4px; }
.sd-kw-cols .sd-col + .sd-kw-col { border-left: 1px solid #eef1f4; }
@media (max-width: 620px) { .sd-kw-cols { grid-template-columns: 1fr; } }
@media print { .sd-kw-cols { grid-template-columns: 1fr 1fr; } }
.sd-kw-details[open] .sd-kw-summary { border-bottom: 1px solid #e3e7ec; }
.sd-logic-h, .sd-sources-h { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #074882; margin: 4px 0 8px; }
.sd-logic { margin: 0 0 16px; padding-left: 20px; }
.sd-logic li { font-size: 13px; line-height: 1.6; color: #3a4754; margin-bottom: 6px; }
.sd-logic b { color: #074882; font-weight: 700; }
.sd-logic sup { color: #2E9CAA; font-weight: 800; }
.sd-sources { background: #f7f9fb; border-radius: 9px; padding: 12px 16px; }
.sd-sources ul { margin: 0; padding-left: 4px; list-style: none; }
.sd-sources li { font-size: 11px; line-height: 1.5; color: #51606e; margin-bottom: 5px; }
.sd-sources sup { color: #2E9CAA; font-weight: 800; }
.sd-sources b { color: #074882; }

/* Compliance gap + remediation banner — the two un-arguable facts framing the report */
.compliance-banner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 12px 0 18px;
}
@media (max-width: 720px) {
  .compliance-banner { grid-template-columns: 1fr; }
}
.cb-card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-left: 4px solid #C0392B;
  border-radius: 8px;
  padding: 14px 18px;
}
.cb-card.cb-remediation { border-left-color: #1E40AF; }
.cb-eyebrow {
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 700;
  color: #6B7280;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.cb-headline {
  font-size: 22px;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.2;
  margin-bottom: 6px;
}
.cb-headline .cb-fraction { color: #C0392B; }
.cb-card.cb-remediation .cb-headline { color: #0F172A; }
.cb-card.cb-remediation .cb-headline .cb-fraction { color: #1E40AF; }
.cb-sub {
  font-size: 13px;
  color: #475569;
  line-height: 1.5;
}
.cb-sub b { color: #0F172A; }

/* ── Unified "bottom line" doctor-first summary ──────────────────────────── */
.unified-summary {
  background: #fff;
  border: 1px solid var(--wr-teal-lt);
  border-top: 4px solid var(--wr-navy);
  border-radius: 10px;
  padding: 20px 22px;
  margin: 12px 0 18px;
  box-shadow: 0 1px 3px rgba(15,23,42,0.06);
}
.us-eyebrow {
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 700;
  color: var(--wr-navy);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.us-money { margin-bottom: 16px; }
/* AI-search at-risk callout under the headline patient number */
.us-airisk { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 16px; padding: 13px 15px; border-radius: 11px; border: 1px solid #d9c9ec; border-left: 4px solid #7c3aed; background: linear-gradient(180deg, #faf7fe 0%, #f3edfb 100%); }
.us-airisk-icon { flex-shrink: 0; font-size: 18px; color: #7c3aed; line-height: 1.3; }
.us-airisk-head { font-size: 14.5px; line-height: 1.4; color: #2a3744; }
.us-airisk-head b { color: #5b21b6; }
.us-airisk-tag { display: inline-block; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: #7c3aed; border-radius: 20px; padding: 2px 8px; margin-left: 4px; vertical-align: middle; }
.us-airisk-sub { font-size: 12px; line-height: 1.5; color: #55606e; margin-top: 5px; }
.us-airisk-sub b { color: #5b21b6; }
.us-money-num {
  font-size: 44px;
  font-weight: 800;
  color: var(--wr-navy);
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.us-money-num--text {
  font-size: 28px;
  line-height: 1.15;
  white-space: normal;
  text-wrap: balance;
  max-width: 18ch;
}
.us-money-cap {
  font-size: 15px;
  color: #1E293B;
  line-height: 1.45;
  margin-top: 6px;
  max-width: 640px;
}
.us-money-cap b { color: #0F172A; font-weight: 800; }
.us-money-sub {
  font-size: 13.5px;
  color: #475569;
  line-height: 1.4;
  margin-top: 8px;
  max-width: 640px;
}
.us-money-sub b { color: #15803D; font-weight: 800; }
.us-money-range {
  font-size: 12.5px;
  color: #475569;
  line-height: 1.45;
  margin-top: 8px;
  max-width: 640px;
}
.us-money-range b { color: #0F172A; font-weight: 800; }
.us-money-early {
  font-size: 12.5px;
  color: #14532d;
  line-height: 1.45;
  margin-top: 8px;
  max-width: 640px;
  background: linear-gradient(135deg,#eef7f2,#f5fbf7);
  border: 1px solid #cfe7d8;
  border-left: 3px solid #15803D;
  border-radius: 0 8px 8px 0;
  padding: 8px 12px;
  font-weight: 600;
}
/* ── Pattern-interrupt framing banner (Step 1 of pitch) ──────────────────── */
.pi-banner{
  margin:0 0 18px; padding:16px 20px;
  background:linear-gradient(90deg,#f1f9f4,#eef6fb);
  border:1px solid #cfe6e0; border-left:4px solid #2E9CAA;
  border-radius:12px;
}
.pi-badge{
  display:inline-block; font-size:10px; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:#1f7a88; margin-bottom:7px;
}
.pi-text{ font-size:14.5px; line-height:1.55; color:#26333f; }
.pi-text b{ color:#0d2a4a; font-weight:800; }
.us-h {
  font-size: 12px;
  font-weight: 800;
  color: #0F172A;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
.us-wins { margin: 16px 0; }
.us-wins-body { display: flex; flex-wrap: wrap; gap: 6px; }
.us-chip {
  display: inline-block;
  background: #ECFDF5;
  color: #065F46;
  border: 1px solid #A7F3D0;
  border-radius: 999px;
  padding: 4px 11px;
  font-size: 12.5px;
  font-weight: 600;
}
.us-leaks {
  margin: 16px 0;
  padding-top: 14px;
  border-top: 1px solid #F1F5F9;
}
.us-leaks-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.us-leakcard {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: #fff;
  border: 1px solid var(--wr-teal-lt);
  border-left: 4px solid var(--wr-navy);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15,23,42,0.04);
}
.us-leakcard-chip {
  flex: 0 0 auto;
  width: 58px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  line-height: 1;
  letter-spacing: -0.02em;
}
.us-leakcard-chip-g {
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.5px;
}
.us-leakcard-chip-d {
  font-size: 9px;
  font-weight: 800;
  opacity: 0.95;
  margin-top: 4px;
  letter-spacing: 0.06em;
}
.us-leakcard-body {
  flex: 1 1 auto;
  min-width: 0;
  padding: 9px 13px;
}
.us-leakcard-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 2px;
}
.us-leakcard-name {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--wr-navy);
}
.us-leakcard-stat {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
}
.us-stat-w { background: #FEF3C7; color: #92400E; }
.us-stat-c { background: #FEE2E2; color: #991B1B; }
.us-leakcard-line {
  font-size: 13px;
  color: #475569;
  line-height: 1.45;
}
.us-rep {
  margin: 16px 0;
  padding-top: 14px;
  border-top: 1px solid #F1F5F9;
}
.us-rep-line {
  font-size: 13.5px;
  color: #475569;
  line-height: 1.5;
}
.us-rep-line b { color: #0F172A; font-weight: 800; }
.us-anchor {
  margin-top: 16px;
  background: var(--wr-teal-bg);
  border: 1px solid var(--wr-teal-lt);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 13.5px;
  color: var(--wr-navy-dk);
  line-height: 1.45;
}
.us-anchor b { color: var(--wr-navy); font-weight: 800; }
/* Cost-of-doing-nothing (competitive erosion) — warm framing so it reads as a
   risk callout distinct from the teal opportunity/anchor blocks. */
.us-erosion {
  margin: 18px 0;
  padding: 16px 18px;
  background: linear-gradient(135deg,#fbf3ec,#fdf8f3);
  border: 1px solid #e8d3c0;
  border-left: 4px solid #C0392B;
  border-radius: 10px;
}
.us-erosion-lead {
  font-size: 13.5px;
  color: #4a3a32;
  line-height: 1.55;
  margin-bottom: 14px;
}
.us-erosion-lead b { color: #9b2c20; font-weight: 800; }
.us-erosion-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
.us-erosion-stat {
  background: #fff;
  border: 1px solid #ecd9c8;
  border-radius: 8px;
  padding: 11px 12px;
  text-align: center;
}
.us-erosion-stat .ues-num {
  font-size: 20px;
  font-weight: 800;
  color: #C0392B;
  line-height: 1;
  margin-bottom: 5px;
}
.us-erosion-stat .ues-lbl {
  font-size: 11px;
  color: #6a5648;
  line-height: 1.35;
}
.us-erosion-foot {
  font-size: 13px;
  color: #4a3a32;
  line-height: 1.5;
}
.us-erosion-foot b { color: #9b2c20; font-weight: 800; }
.us-erosion-src {
  font-size: 10.5px;
  color: #998574;
  line-height: 1.4;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px dashed #e8d3c0;
}
@media(max-width:560px){ .us-erosion-stats { grid-template-columns: 1fr; } }
.us-foot {
  margin-top: 14px;
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.4;
}
.us-finaltotal {
  margin: 16px 0 6px;
  padding: 16px 20px;
  text-align: center;
  background: linear-gradient(135deg,#eef7f7,#f7fbfb);
  border: 1px solid #d8e3ef;
  border-left: 5px solid #2E9CAA;
  border-radius: 10px;
}
.us-finaltotal-num {
  font-size: 34px;
  font-weight: 800;
  color: #0E2440;
  line-height: 1;
  letter-spacing: -.5px;
}
/* fixed737 — non-numeric variant of the recoverable-patients figure. */
.us-finaltotal-num--text {
  font-size: 22px;
  line-height: 1.2;
  white-space: normal;
  text-wrap: balance;
  max-width: 22ch;
}
.us-finaltotal-lbl {
  margin-top: 6px;
  font-size: 10px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #64748B;
  font-weight: 700;
}
.us-scanned {
  margin: 10px 0 2px;
  padding: 9px 13px;
  background: #f1f6fb;
  border: 1px solid #d8e3ef;
  border-radius: 8px;
  font-size: 12.5px;
  color: #45576b;
  line-height: 1.45;
}
.us-scanned b { color: #1f3b57; }
.us-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 16px 0;
}
.us-cta:first-of-type { margin-top: 4px; }
.us-cta-btn {
  background: var(--wr-teal);
  color: #fff;
  border: 0;
  border-radius: 9px;
  padding: 13px 26px;
  font-family: var(--mono);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(46,156,170,.35);
  transition: transform .12s, box-shadow .12s, background .15s;
}
.us-cta-btn:hover {
  background: var(--wr-navy);
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(7,72,130,.4);
}
.us-cta-btn:active { transform: none; }
.us-cta-btn-alt {
  background: #fff;
  color: var(--wr-navy);
  border: 1.5px solid var(--wr-teal);
  box-shadow: 0 4px 14px rgba(46,156,170,.18);
}
.us-cta-btn-alt:hover {
  background: var(--wr-navy);
  color: #fff;
  border-color: var(--wr-navy);
}
.us-cta-sub {
  font-size: 12px;
  color: #64748B;
  line-height: 1.4;
}
@media (max-width: 600px) {
  .us-cta { flex-direction: column; align-items: stretch; text-align: center; }
  .us-cta-btn { width: 100%; }
}
@media (max-width: 720px) {
  .us-money-num { font-size: 38px; }
  .unified-summary { padding: 16px 16px; }
}

.pages-crawled-title {
  font-weight: 700;
  color: #0F172A;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.pages-crawled ol {
  list-style: decimal;
  padding-left: 22px;
  margin: 0;
}
.pages-crawled li {
  margin-bottom: 3px;
  color: #334155;
  word-break: break-all;
}
.pages-crawled a {
  color: #1E40AF;
  text-decoration: none;
}
.pages-crawled a:hover { text-decoration: underline; }

/* Page-multiplier framing — sets reader expectation that counts scale sitewide */
.page-multiplier {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  border-left: 4px solid #D97706;
  border-radius: 8px;
  padding: 14px 18px;
  margin: 0 0 18px;
}
.pm-icon { font-size: 20px; line-height: 1.2; flex-shrink: 0; }
.pm-title {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #92400E;
  margin-bottom: 4px;
}
.pm-text { font-size: 13.5px; line-height: 1.6; color: #422006; }
.pm-text b { color: #7C2D12; }

.ib-code {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  background: #1E1E1E;
  color: #D4D4D4;
  padding: 14px 18px;
  overflow-x: auto;
  white-space: pre;
  line-height: 1.6;
  letter-spacing: 0;
}

/* ── Filter row ─────────────────────────────── */
.frow {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 12px 0 12px;
}
.fpill {
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--t3);
  cursor: pointer;
  transition: all .12s;
  opacity: .5;
}
.fpill.on { opacity: 1; }
.fp-c.on { background: #FEE2E2; color: #C0392B; border-color: rgba(192,57,43,.3); }
.fp-w.on { background: #FEF3C7; color: #B45309; border-color: rgba(217,119,6,.3); }
.fp-i.on { background: #DBEAFE; color: #1D4ED8; border-color: rgba(59,130,246,.3); }
.fp-p.on { background: #D1FAE5; color: #1A6B3A; border-color: rgba(26,107,58,.3); }
.fcount {
  margin-left: auto;
  font-family: var(--mono);
  font-size: 14px;
  color: var(--t3);
}
.fcount b { color: #FFFFFF; }

/* ── Subscores ──────────────────────────────── */
.subscores {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 8px;
  padding: 14px 24px;
  background: #F8F7F3;
  border-bottom: 1px solid var(--border);
}
.sub-item {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 12px;
}
.si-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 5px;
}
.si-bar {
  background: var(--border);
  border-radius: 3px;
  height: 5px;
  margin-bottom: 4px;
  overflow: hidden;
}
.si-fill {
  height: 100%;
  border-radius: 3px;
  transition: width .8s ease;
}
.si-val {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #FFFFFF;
}

/* ── WCAG note ──────────────────────────────── */
.wcag-note {
  font-size: 12px;
  color: #7C2D12;
  background: #FFF7ED;
  border: 1px solid #FDDBB4;
  border-radius: 6px;
  padding: 10px 16px;
  margin: 0 24px 14px;
  line-height: 1.6;
}

@media(max-width:680px) {
  .subscores { grid-template-columns: repeat(2,1fr); }
  .issue-btn { padding: 12px 14px; }
  .ib-desc, .ib-impact, .ib-fix { padding: 10px 14px; }
  .ib-code { padding: 10px 14px; }
}

/* ══ RUN BUTTON ════════════════════════════════════════ */
.uzp-run-btn {
  width: 100%;
  background: linear-gradient(135deg, #2E9CAA 0%, #074882 100%);
  border: none;
  border-radius: 12px;
  cursor: pointer;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  gap: 14px;
  position: relative;
  overflow: hidden;
  transition: transform .15s, box-shadow .2s, filter .2s;
  box-shadow: 0 6px 20px rgba(7,72,130,.4), inset 0 1px 0 rgba(255,255,255,.25);
  margin-top: 4px;
  text-align: left;
  animation: uzpRunPulse 2.6s ease-in-out infinite;
}
@keyframes uzpRunPulse {
  0%,100% { box-shadow: 0 6px 20px rgba(7,72,130,.4), inset 0 1px 0 rgba(255,255,255,.25); }
  50%     { box-shadow: 0 6px 28px rgba(46,156,170,.65), inset 0 1px 0 rgba(255,255,255,.25); }
}
/* sheen sweep to signal interactivity */
.uzp-run-btn::after {
  content: '';
  position: absolute;
  top: 0; left: -60%;
  width: 40%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent);
  transform: skewX(-18deg);
  transition: left .5s ease;
}
.uzp-run-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 10px 30px rgba(46,156,170,.55), inset 0 1px 0 rgba(255,255,255,.3);
  animation: none;
}
.uzp-run-btn:hover:not(:disabled)::after { left: 130%; }
.uzp-run-btn:active:not(:disabled) { transform: translateY(0); }
.uzp-run-btn:disabled { opacity: .45; cursor: not-allowed; animation: none; }

/* AI spark icon — bright slab so it reads as a button glyph */
.uzp-run-icon {
  font-size: 20px;
  flex-shrink: 0;
  color: #fff;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: rgba(255,255,255,.18);
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.25);
}

.uzp-run-body { flex: 1; min-width: 0; }

.uzp-run-text {
  display: block;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
  margin-bottom: 4px;
}
.uzp-run-sub {
  display: block;
  font-size: 12.5px;
  color: rgba(255,255,255,.82);
  line-height: 1.4;
}
.uzp-run-arrow {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.18);
  border-radius: 50%;
  transition: transform .2s, background .2s;
}
.uzp-run-btn:hover:not(:disabled) .uzp-run-arrow {
  background: rgba(255,255,255,.32);
  transform: translateX(4px);
}

@media(max-width:520px) {
  .uzp-run-text { font-size: 12px; }
  .uzp-run-sub  { display: none; }
}

/* ══════════════════════════════════════════════════════
   COMPACT REPORT — fits on screen, accordion categories
   ══════════════════════════════════════════════════════ */

/* Tight report header */
.rpt-header {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 10px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.rpt-header > div:first-child { flex: 1; min-width: 0; }
.rh-eyebrow {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold2);
  margin-bottom: 3px;
}
.rh-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}
.rh-url  { font-family: var(--mono); font-size: 13px; color: var(--t3); }
.rh-date { font-family: var(--mono); font-size: 13px;  color: var(--t4); }

/* Score strip — single row, compact */
/* ── INLINE RESULTS BLOCK ──────────────────────────────── */
#inlineResultsBlock {
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 0 4px 24px rgba(0,0,0,.08);
  width: 100%;
  max-width: 1100px;
}
.irb-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid #e0ddd8;
  background: linear-gradient(135deg, #f8f9fb, #fff) !important;
}
.irb-eyebrow {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #8a6f2e;
  margin-bottom: 6px;
}
.irb-title { font-family: Arial, Helvetica, sans-serif; font-size: 32px; font-weight: 900; color: #0E2440 !important; letter-spacing: -.6px; line-height: 1.12; margin-bottom: 5px; }
.irb-url   { font-family: var(--mono); font-size: 13px; color: #555 !important; margin-bottom: 2px; }
.irb-url .irb-url-lbl { font-family: Arial, Helvetica, sans-serif; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #777 !important; font-weight: 700; }
.irb-url .irb-url-val { font-size: 15px; color: #0891B2 !important; font-weight: 700; }
.irb-scope { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #5a6570 !important; margin: 4px 0 3px; line-height: 1.45; max-width: 560px; }
.irb-date  { font-family: var(--mono); font-size: 11px; color: #888 !important; }
.irb-donut { flex-shrink: 0; position: relative; width: 100px; height: 100px; }
#inlineResultsBlock .donut-val { color: #111 !important; }
#inlineResultsBlock .donut-lbl { color: #074882 !important; }

/* 8-CATEGORY GRID */
.irb-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-bottom: 1px solid var(--border);
}
.irb-cat-card {
  padding: 18px 14px 16px;
  text-align: center;
  border-right: 1px solid #e0ddd8 !important;
  background: #fff !important;
  cursor: pointer;
  transition: background .15s;
  position: relative;
}
.irb-cat-card:last-child { border-right: none; }
.irb-cat-card:nth-child(4) { border-right: none; }
.irb-cat-card:nth-child(n+5) { border-top: 1px solid var(--border); }
.irb-cat-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--icc,#ccc); }
.irb-cat-card:hover { background: #F5F4F1 !important; }
.irb-cat-icon  { font-size: 22px; line-height: 1; margin-bottom: 6px; }
.irb-cat-name  { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #555 !important; margin-bottom: 8px; line-height: 1.3; }
.irb-cat-score { font-family: Arial, Helvetica, sans-serif; font-size: 36px; font-weight: 900; line-height: 1; color: var(--icc,#888); }
.irb-cat-lbl   { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--icc,#888); margin-top: 3px; }
.irb-cat-desc  { font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: #888; line-height: 1.4; margin-top: 5px; }
.irb-cat-pills { display: flex; justify-content: center; gap: 4px; flex-wrap: wrap; margin-top: 7px; }
.irb-pill      { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 20px; line-height: 1.4; }
.irb-pill-c    { background: #FEE2E2; color: #C0392B; }
.irb-pill-w    { background: #FEF3C7; color: #92400E; }

/* COUNTS ROW */
.irb-counts {
  display: flex;
  border-bottom: 1px solid var(--border);
}
.irb-count-item {
  flex: 1;
  text-align: center;
  padding: 12px 8px;
  border-right: 1px solid var(--border);
}
.irb-count-item:last-child { border-right: none; }
.irb-count-val  { font-family: Arial, Helvetica, sans-serif; font-size: 22px; font-weight: 700; line-height: 1; }
.irb-count-lbl  { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #888 !important; margin-top: 3px; }
.irb-count-crit .irb-count-val { color: #C0392B; }
.irb-count-warn .irb-count-val { color: #B45309; }
.irb-count-pass .irb-count-val { color: #1A6B3A; }
.irb-count-info .irb-count-val { color: #1a4fa0; }

/* EXEC SUMMARY */
.irb-exec { padding: 14px 24px; border-bottom: 1px solid var(--border); }
.irb-exec-label { font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8a6f2e; margin-bottom: 6px; }
.irb-exec-text  { font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.65; color: #222 !important; }

/* PDF CALLOUT BANNER */
.irb-pdf-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: linear-gradient(135deg, #183466, #2d5a8e);
  border-top: 3px solid #2E9CAA;
  padding: 20px 24px;
  flex-wrap: wrap;
}
.irb-pdf-callout-left { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 200px; }
.irb-pdf-callout-icon { font-size: 32px; flex-shrink: 0; }
.irb-pdf-callout-title { font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.irb-pdf-callout-sub   { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: rgba(255,255,255,.7); line-height: 1.4; }
.irb-pdf-callout-btn {
  background: #2E9CAA;
  color: #1b1b1b;
  border: none;
  border-radius: 8px;
  padding: 13px 22px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s, transform .1s;
  flex-shrink: 0;
}
.irb-pdf-callout-btn:hover  { background: #d4b36a; transform: translateY(-1px); }
.irb-pdf-callout-btn:active { transform: none; }

/* LUNOVUS IRIS BUTTON ROW */
.irb-lunovus-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px;
  background: linear-gradient(135deg, #0a1628, #0d2137);
  border-top: 2px solid #2E9CAA;
  flex-wrap: wrap;
}
.irb-lunovus-left { flex: 1; min-width: 200px; }
.irb-lunovus-badge {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #2E9CAA;
  margin-bottom: 4px;
}
.irb-lunovus-text {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: rgba(255,255,255,.8);
  line-height: 1.4;
}
.irb-lunovus-text strong { color: #fff; }
.irb-lunovus-btn {
  display: inline-block;
  background: #2E9CAA;
  color: #0d1f30;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  padding: 13px 22px;
  border-radius: 8px;
  white-space: nowrap;
  transition: background .15s, transform .1s;
  flex-shrink: 0;
}
.irb-lunovus-btn:hover  { background: #d4b36a; transform: translateY(-1px); }
.irb-lunovus-btn:active { transform: none; }
@media (max-width: 600px) {
  .irb-lunovus-row { flex-direction: column; text-align: center; padding: 16px; }
  .irb-lunovus-btn { width: 100%; text-align: center; }
}

/* ANIMATED SCORE COUNTER */
@keyframes scoreFlipIn {
  from { opacity: 0; transform: translateY(12px) scale(.85); }
  to   { opacity: 1; transform: translateY(0)    scale(1);   }
}
@keyframes scoreBarGrow {
  from { width: 0%; }
}
.irb-cat-card { animation: scoreFlipIn .4s ease both; }
.irb-cat-card:nth-child(1) { animation-delay: .05s; }
.irb-cat-card:nth-child(2) { animation-delay: .10s; }
.irb-cat-card:nth-child(3) { animation-delay: .15s; }
.irb-cat-card:nth-child(4) { animation-delay: .20s; }
.irb-cat-card:nth-child(5) { animation-delay: .25s; }
.irb-cat-card:nth-child(6) { animation-delay: .30s; }
.irb-cat-card:nth-child(7) { animation-delay: .35s; }
.irb-cat-card:nth-child(8) { animation-delay: .40s; }

/* SCORE BAR inside each card */
.irb-score-bar-track {
  background: #eee;
  border-radius: 3px;
  height: 4px;
  margin-top: 8px;
  overflow: hidden;
}
.irb-score-bar-fill {
  height: 100%;
  border-radius: 3px;
  background: var(--icc, #ccc);
  animation: scoreBarGrow .8s ease both;
  animation-delay: inherit;
}

/* RISK LEVEL BADGE */
.irb-risk-badge {
  display: inline-block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 20px;
  margin-top: 5px;
}
.irb-risk-critical { background: #FEE2E2; color: #991B1B; }
.irb-risk-high     { background: #FEF3C7; color: #78350F; }
.irb-risk-moderate { background: #FFF7ED; color: #9A3412; }
.irb-risk-low      { background: #ECFDF5; color: #065F46; }

@media(max-width:600px) {
  .irb-grid { grid-template-columns: repeat(2,1fr); }
  .irb-cat-card:nth-child(2) { border-right: none; }
  .irb-cat-card:nth-child(n+3) { border-top: 1px solid var(--border); }
  .irb-hero { flex-direction: column; }
}

/* ── RESULTS HERO ─────────────────────────────────────── */
.results-hero {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 28px 28px 24px;
  margin-bottom: 14px;
  box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.results-site-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}
.results-site-left { flex: 1; }
.results-cat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
.rcg-card {
  background: #F9F8F6;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 16px 12px 14px;
  text-align: center;
  cursor: pointer;
  transition: box-shadow .15s, transform .15s;
  position: relative;
  overflow: hidden;
}
.rcg-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); transform: translateY(-1px); }
.rcg-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--rcg-color,#ccc); border-radius:10px 10px 0 0; }
.rcg-icon { font-size: 26px; margin-bottom: 6px; line-height: 1; }
.rcg-name { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--t3); margin-bottom: 8px; line-height: 1.2; }
.rcg-score { font-family: Arial, Helvetica, sans-serif; font-size: 40px; font-weight: 900; line-height: 1; color: var(--rcg-color,#888); margin-bottom: 4px; }
.rcg-label { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--rcg-color,#888); }
.rcg-counts { display: flex; justify-content: center; gap: 5px; margin-top: 8px; flex-wrap: wrap; }
.rcg-pill { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 20px; line-height: 1.4; }
.rcg-pill-crit { background: #FEE2E2; color: #C0392B; }
.rcg-pill-warn { background: #FEF3C7; color: #92400E; }
.rcg-pill-pass { background: #D1FAE5; color: #065F46; }
.results-pdf-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, #074882, #2E9CAA);
  border: none;
  border-radius: 12px;
  padding: 18px 24px;
  cursor: pointer;
  transition: opacity .2s, transform .15s;
  text-align: left;
  margin-top: 4px;
  box-sizing: border-box;
}
.results-pdf-btn:hover { opacity: .93; transform: translateY(-1px); }
.results-pdf-icon { font-size: 28px; flex-shrink: 0; }
.results-pdf-body { display: flex; flex-direction: column; gap: 3px; }
.results-pdf-title { font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: 700; color: #fff; line-height: 1; }
.results-pdf-sub { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: rgba(255,255,255,.75); }
@media(max-width:600px) {
  .results-cat-grid { grid-template-columns: repeat(2,1fr); }
  .results-hero { padding: 18px 16px; }
  .results-site-row { flex-direction: column; }
}

.score-strip {
  display: flex;
  gap: 8px;
  margin: 0 0 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
}
.score-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 12px 8px;
  text-align: center;
  flex: 1;
  min-width: 80px;
  white-space: nowrap;
}
.sc-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 3px;
}
.sc-val {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
.sv-r .sc-val { color: #C0392B; }
.sv-y .sc-val { color: #B45309; }
.sv-g .sc-val { color: #1A6B3A; }
.sv-b .sc-val { color: #1a4fa0; }
.sv-gold .sc-val { color: var(--gold2); }

/* Executive summary — compact */
.exec-box {
  background: #fff;
  border: 1px solid var(--border);
  border-left: 3px solid var(--gold);
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 10px;
}
.eb-title {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold2);
  margin-bottom: 5px;
}
.eb-text { font-size: 14px; line-height: 1.6; color: var(--t2); }

/* Pages row — very compact */
.pages-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  margin-bottom: 8px;
}

/* Lighthouse section — tight */
.lh-section {
  background: #f9f9f9 !important;
  border: 1px solid #e0ddd8 !important;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 10px;
}

/* ── ACCORDION — 8 category rows ──────────────────────── */
.cat-accordion {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* hide the old panel wrapper */
#catPanels > div.cat-panel { display: none !important; }

.acc-row {
  background: #fff;
  border: 1px solid #d7dce3;
  border-radius: 13px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(15,23,42,.10), 0 2px 5px rgba(15,23,42,.06);
  transition: box-shadow .15s ease, transform .15s ease;
  margin-bottom: 16px;
}
.acc-row:hover {
  box-shadow: 0 10px 26px rgba(15,23,42,.14), 0 2px 5px rgba(15,23,42,.07);
}
.acc-row.acc-open {
  box-shadow: 0 12px 32px rgba(15,23,42,.16), 0 2px 6px rgba(15,23,42,.08);
}

/* Collapsed header row — the always-visible part (dark so pillars separate) */
.acc-header {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 16px;
  background: linear-gradient(135deg,#0c2746 0%,#123b71 100%);
  border: none;
  border-bottom: 3px solid var(--wr-teal, #2E9CAA);
  cursor: pointer;
  text-align: left;
  transition: background .12s;
}
.acc-header:hover { background: linear-gradient(135deg,#0e2c50 0%,#16447f 100%); }
.acc-header, .acc-header * { color: #fff; }
.acc-right { display: flex; align-items: center; gap: 9px; flex-shrink: 0; }
.acc-status-lbl { font-size: 10px; font-weight: 800; letter-spacing: .06em; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.acc-status-lbl.ast-g { background: #d9f3e6; color: #0a3d28; }
.acc-status-lbl.ast-y { background: #fdeccf; color: #7a4b00; }
.acc-status-lbl.ast-r { background: #fbdcd7; color: #8e2519; }

.acc-icon { font-size: 16px; flex-shrink: 0; width: 22px; text-align: center; }

.acc-name {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

/* Title column: plain-English name on top, technical label + count beneath.
   Grows to fill the row so the score/chev stay right-aligned. */
.acc-title-group {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Technical label (e.g. "SEO & local rankings") + issue count, under the
   plain-English section title. The tech label is the demoted original name. */
.acc-issue-count {
  font-size: 11px;
  font-weight: 500;
  color: rgba(214,228,243,0.82);
  letter-spacing: .02em;
  white-space: nowrap;
  margin-top: 2px;
}
.acc-tech { font-weight: 600; color: rgba(214,228,243,0.92); }
.acc-issue-badge { display:inline-block; background:#d92d20; color:#fff; font-weight:800; font-size:10.5px; padding:1px 8px; border-radius:999px; letter-spacing:.01em; }
.acc-issue-clean { font-weight:700; color:#7fe3b0; }

/* Plain-English "what this costs you" strip — only rendered on weak pillars.
   Reuses the brand teal tint so it reads as guidance, not an error. */
.acc-leak {
  font-size: 13px;
  line-height: 1.5;
  color: var(--t2);
  background: var(--wr-teal-bg);
  border-top: 1px solid var(--border);
  padding: 9px 14px 9px 46px;
}
/* Band-aware patient-impact line. Cost = the pillar is weak and losing patients;
   Good = the pillar is healthy and working for the practice. A leading marker
   makes the valence readable at a glance. */
.acc-leak-cost {
  color: #8a4b00;
  background: #fff7ed;
  border-top-color: #fde6c8;
}
.acc-leak-cost::before { content: '⚠ '; font-weight: 700; }
.acc-leak-good {
  color: #1d6b3a;
  background: #f0faf3;
  border-top-color: #cdeed7;
}
.acc-leak-good::before { content: '✓ '; font-weight: 700; }

.acc-badges {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}
.acc-badge {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 2px 6px;
  border-radius: 10px;
}
.acc-crit { background: #FEE2E2; color: #C0392B; }
.acc-warn { background: #FEF3C7; color: #B45309; }
.acc-pass { background: #D1FAE5; color: #1A6B3A; }

.acc-score {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
  width: 28px;
  text-align: right;
}

.acc-bar-wrap {
  width: 60px;
  height: 4px;
  background: var(--border);
  border-radius: 2px;
  flex-shrink: 0;
  overflow: hidden;
}
.acc-bar-fill {
  display: block;
  height: 100%;
  border-radius: 2px;
  transition: width .6s ease;
}

.acc-chev {
  font-size: 13px;
  color: #cdddee;
  flex-shrink: 0;
  transition: transform .2s;
}

/* Expanded body */
.acc-why {
  font-size: 13px;
  line-height: 1.55;
  color: #44515f;
  background: var(--wr-teal-bg);
  border-top: 1px solid var(--border);
  border-left: 4px solid var(--wr-teal);
  padding: 12px 18px;
}
.acc-why b { color: var(--wr-navy); font-weight: 700; }
.acc-patient {
  font-size: 13px;
  line-height: 1.55;
  padding: 11px 18px;
  border-top: 1px solid var(--border);
}
.acc-patient--value {
  background: #f0f8f5;
  border-left: 4px solid #2E9CAA;
  color: #2f4a44;
}
.acc-patient--neutral {
  background: #f7f9fb;
  border-left: 4px solid #A6DDDA;
  color: #51606e;
}
.acc-patient--strong {
  background: #eef7f1;
  border-left: 4px solid #15803D;
  color: #2f4a3a;
}
.acc-patient--strong .acc-patient-label { color: #15803D; }
.acc-patient-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #2E9CAA;
  margin-bottom: 3px;
}
.acc-patient--neutral .acc-patient-label { color: #5c8a92; }
.acc-patient-text b { color: var(--wr-navy); font-weight: 800; }
.pillar-bullets-wrap { padding: 14px 18px 4px; }
.pb-heading {
  font-size: 10px; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: #5c8a92; margin-bottom: 8px;
}
.pillar-bullets { list-style: none; margin: 0; padding: 0; }
.pillar-bullets li {
  position: relative; padding: 6px 0 6px 18px; font-size: 13px;
  line-height: 1.5; color: #3a4754; border-bottom: 1px solid #f0f2f4;
}
.pillar-bullets li:last-child { border-bottom: 0; }
.pillar-bullets li::before {
  content: "•"; position: absolute; left: 2px; color: #2E9CAA; font-weight: 800;
}
.pillar-bullets li.pb-issue::before,
.pillar-bullets li.pb-patient::before { content: ""; }
.pillar-bullets .pb-why { color: #44515f; }
.pillar-bullets b { color: var(--wr-navy); font-weight: 700; }
.pillar-bullets .pb-fix { color: #2f6b56; font-weight: 600; }
.pillar-bullets .pb-tags { display: inline-flex; flex-wrap: wrap; gap: 4px; vertical-align: middle; margin-left: 2px; }
.pillar-bullets .pb-tag {
  font-size: 9.5px; font-weight: 800; letter-spacing: .03em;
  padding: 1px 6px; border-radius: 4px; white-space: nowrap;
  background: #eef2f5; color: #5c6b7a;
}
.pillar-bullets .pb-tag-wcag { background: #e6eefb; color: #1d4ed8; }
.pillar-bullets .pb-tag-legal { background: #fbf3da; color: #8a6d1f; }
.pillar-bullets .pb-code {
  display: block; margin: 5px 0 2px; padding: 7px 10px;
  background: #1E1E1E; color: #D4D4D4; border-radius: 5px;
  font-family: 'SF Mono', Menlo, Consolas, monospace; font-size: 11px;
  line-height: 1.5; white-space: pre-wrap; word-break: break-all; overflow-x: auto;
}
.pillar-bullets .pb-patient { color: #2f4a44; font-weight: 600; }
.pillar-bullets .pb-score { font-weight: 800; font-variant-numeric: tabular-nums; }
/* Collapsible developer-fixes level under the at-a-glance list (accordion) */
.pb-devfixes { margin: 8px 18px 4px; padding-top: 8px; border-top: 1px dashed var(--border); }
.pb-devfixes-sum { cursor: pointer; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #2f6b56; list-style: none; user-select: none; }
.pb-devfixes-sum::-webkit-details-marker { display: none; }
.pb-devfixes-sum::before { content: "▸ "; font-size: 9px; }
.pb-devfixes[open] .pb-devfixes-sum::before { content: "▾ "; }
.pb-devfixes-sum .pb-devfixes-hint { font-weight: 500; text-transform: none; letter-spacing: 0; color: #8a8a82; }
.pb-devfixes-list { list-style: none; margin: 8px 0 0; padding: 0; }
.pb-devfixes-list li { font-size: 11.5px; line-height: 1.5; color: #3a4754; padding: 6px 0 6px 14px; position: relative; border-bottom: 1px solid #f0f2f4; }
.pb-devfixes-list li:last-child { border-bottom: 0; }
.pb-devfixes-list li::before { content: "→"; position: absolute; left: 0; color: #2f6b56; font-weight: 800; }
.pb-devfixes-list b { color: var(--wr-navy); font-weight: 700; }
.pb-devfixes-list .pb-fix { color: #2f6b56; font-weight: 600; }
.pb-devfix-code { margin-top: 5px; }
.pb-devfixes-list .pb-tags { display: inline-flex; flex-wrap: wrap; gap: 4px; vertical-align: middle; margin-left: 2px; }
.pb-devfixes-list .pb-tag { font-size: 9.5px; font-weight: 800; letter-spacing: .03em; padding: 1px 6px; border-radius: 4px; white-space: nowrap; background: #eef2f5; color: #5c6b7a; }
.pb-devfixes-list .pb-tag-wcag { background: #e6eefb; color: #1d4ed8; }
.pb-devfixes-list .pb-tag-legal { background: #fbf3da; color: #8a6d1f; }
.pb-devfixes-list .pb-code { display: block; margin: 5px 0 2px; padding: 7px 10px; background: #1E1E1E; color: #D4D4D4; border-radius: 5px; font-family: 'SF Mono', Menlo, Consolas, monospace; font-size: 11px; line-height: 1.5; white-space: pre-wrap; word-break: break-all; overflow-x: auto; }
.acc-body { display: none; border-top: 1px solid var(--border); }
.acc-row.acc-open .acc-body { display: block; }
.acc-row.acc-open .acc-chev { transform: rotate(180deg); }
.acc-row.acc-open .acc-header { background: #FAFAF8; }

/* Remove the old big cat-header inside accordion body */
.acc-body .cat-header { display: none !important; }
.acc-body .plain-english-box { border-radius: 0; border-left-width: 3px; }

/* Compact action bar */
.action-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

/* Hide old cat-tabs UI */
.cat-tabs-wrap { display: none !important; }

@media(max-width:680px) {
  .acc-badges { display: none; }
  .acc-bar-wrap { display: none; }
  .acc-name { font-size: 14px; }
}

/* ══ WCAG 2.2 FONT SIZE COMPLIANCE ═══════════════════════
   WCAG 1.4.4: All text must be readable at 200% zoom.
   Minimum 14px for secondary text, 15px+ for primary content.
   ════════════════════════════════════════════════════════ */

/* Accordion rows */
.acc-name   { font-size: 15px !important; }
.acc-badge  { font-size: 13px !important; }
.acc-score  { font-size: 17px !important; }

/* Issue cards */
.issue-title { font-size: 15px !important; font-weight: 700 !important; }
.ib-desc     { font-size: 14px !important; line-height: 1.75 !important; }
.ib-impact   { font-size: 13px !important; line-height: 1.65 !important; }
.ib-fix      { font-size: 13px !important; line-height: 1.65 !important; }
.ib-code     { font-size: 13px !important; }
.opp-title   { font-size: 13px !important; color: #1a1a1a !important; }
.opp-desc    { font-size: 12px !important; }

/* Executive summary */
.eb-text { font-size: 14px !important; line-height: 1.75 !important; }

/* Plain english explanation */
.pe-text { font-size: 15px !important; line-height: 1.75 !important; }

/* Report header */
.rh-title { font-size: 20px !important; }
.rh-url   { font-size: 14px !important; }

/* Score cards */
.sc-val { font-size: 24px !important; }

/* Filter pills */
.fpill { font-size: 12px !important; padding: 6px 14px !important; }

/* Sev badge */
.sev-badge { font-size: 14px !important; padding: 4px 10px !important; }

/* Sub score labels */
.si-label { font-size: 14px !important; }
.si-val   { font-size: 19px !important; }

/* WCAG note */
.wcag-note { font-size: 13px !important; }

/* ══ MOBILE RESPONSIVE — unified layout ═══════════════
   All breakpoints for the full tool
   ═══════════════════════════════════════════════════ */

/* Tablet */
@media (max-width: 780px) {
  .url-zone-panel { padding: 24px 20px 22px; }
  .irb-hero { flex-direction: column-reverse; align-items: center; text-align: center; padding: 18px 16px; }
  .irb-left { width: 100%; }
  .irb-grid { grid-template-columns: repeat(2, 1fr); }
  .irb-cat-card:nth-child(2)  { border-right: none; }
  .irb-cat-card:nth-child(4)  { border-right: none; }
  .irb-cat-card:nth-child(6)  { border-right: none; }
  .irb-cat-card:nth-child(8)  { border-right: none; }
  .irb-cat-card:nth-child(n+3) { border-top: 1px solid #e0ddd8; }
  .irb-counts { flex-wrap: wrap; }
  .irb-count-item { min-width: 50%; border-bottom: 1px solid #e0ddd8; }
  .irb-pdf-callout { flex-direction: column; gap: 14px; text-align: center; }
  .irb-pdf-callout-left { justify-content: center; }
  .irb-pdf-callout-btn { width: 100%; text-align: center; padding: 14px; }
  .why-acc-body { padding: 14px 16px; }
  .why-stat-grid { grid-template-columns: 1fr !important; }
  .why-insurance-grid { grid-template-columns: 1fr !important; }
  .why-states-grid { grid-template-columns: 1fr !important; }
  .why-upside-grid { grid-template-columns: 1fr !important; }
}

/* Phone */
@media (max-width: 480px) {
  .main { padding: 16px 10px 40px; }
  .url-zone-panel { padding: 20px 16px 18px; border-radius: 10px; }
  .uzp-label { font-size: 20px !important; }
  .irb-grid { grid-template-columns: 1fr 1fr; }
  .irb-cat-score { font-size: 28px !important; }
  .irb-hero { padding: 14px 12px; }
  .irb-title { font-size: 23px !important; }
  .irb-pdf-callout { padding: 14px 16px; }
  .irb-pdf-callout-title { font-size: 14px !important; }
  .why-acc-head { padding: 14px 16px; gap: 10px; }
  .why-acc-icon { font-size: 18px !important; }
  .why-acc-title { font-size: 14px !important; }
  .why-acc-sub { display: none; }
  .why-alert { padding: 12px 14px; gap: 10px; }
  /* On phones, let the issue line wrap rather than hard-truncate */
  .issue-btn { flex-wrap: wrap; }
  .issue-title { white-space: normal; flex-basis: 100%; order: 2; }
  .sev-badge { order: 1; }
  .issue-tags { order: 3; }
  .issue-chev { order: 1; margin-left: auto; }
}



/* ══ SETTINGS MODAL — CARD LAYOUT ═══════════════════════ */
.ks-group-label {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #888;
  padding: 0 0 8px 0;
  border-bottom: 1px solid #e8e6e1;
  margin-bottom: 12px;
}
.ks-card {
  background: #fff;
  border: 1px solid #e0ddd8;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 10px;
  transition: border-color .15s;
}
.ks-card:hover { border-color: #b0b8c8; }
.ks-card-builtin { border-left: 3px solid #0d9488; background: #f0fdfb; }
.ks-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.ks-card-left { display: flex; align-items: flex-start; gap: 10px; flex: 1; }
.ks-card-icon { font-size: 20px; flex-shrink: 0; margin-top: 1px; }
.ks-card-name {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #111;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 3px;
}
.ks-card-desc {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #666;
  line-height: 1.5;
}
.ks-get-link {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #074882;
  text-decoration: none;
  white-space: nowrap;
  border: 1px solid #c8d4e4;
  border-radius: 5px;
  padding: 4px 9px;
  flex-shrink: 0;
  transition: background .1s;
}
.ks-get-link:hover { background: #eef3f9; }
.ks-input-row {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 7px;
}
.ks-input {
  flex: 1;
  background: #f7f8fa;
  border: 1px solid #d8d5d0;
  border-radius: 6px;
  padding: 8px 11px;
  font-family: monospace;
  font-size: 12px;
  color: #111;
  outline: none;
  min-width: 0;
  transition: border-color .15s;
}
.ks-input:focus { border-color: #074882; background: #fff; }
.ks-show-btn {
  background: #f0f0f0;
  border: 1px solid #d8d5d0;
  border-radius: 6px;
  padding: 7px 10px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #555;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .1s;
}
.ks-show-btn:hover { background: #e4e4e4; }
.ks-test-btn {
  background: #183466;
  border: none;
  border-radius: 6px;
  padding: 7px 12px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .1s;
}
.ks-test-btn:hover { background: #2d5a8e; }
.ks-test-btn:disabled { background: #888; cursor: default; }
.ks-status {
  font-family: monospace;
  font-size: 11px;
  color: #888;
  min-height: 16px;
  line-height: 1.4;
}
.ks-status.ks-ok   { color: #0d7a45; }
.ks-status.ks-err  { color: #c0392b; }
.ks-status.ks-wait { color: #b45309; font-style: italic; }

/* Badges */
.ks-badge {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 2px 7px;
  border-radius: 20px;
  border: 1px solid;
  white-space: nowrap;
}
.ks-badge-req  { background: #FEE2E2; color: #991B1B; border-color: #FECACA; }
.ks-badge-opt  { background: #EFF6FF; color: #1D4ED8; border-color: #BFDBFE; }
.ks-badge-free { background: #ECFDF5; color: #065F46; border-color: #A7F3D0; }
.ks-badge-paid { background: #FFFBEB; color: #92400E; border-color: #FDE68A; }


.modal-footer-export {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #f7f8fa;
  border-top: 1px solid #e8e6e1;
  flex-wrap: wrap;
}
.mbtn-export {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #074882;
  background: #fff;
  border: 1px solid #c8d4e4;
  border-radius: 6px;
  padding: 6px 12px;
  cursor: pointer;
  transition: background .1s;
}
.mbtn-export:hover { background: #eef3f9; }
.mbtn-import-lbl { cursor: pointer; }
.modal-footer-save-note {
  flex: 1;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #0d7a45;
  text-align: right;
  min-width: 100px;
}


.ks-curl-btn {
  background: #f0f4f0;
  border: 1px solid #c8d8c8;
  border-radius: 6px;
  padding: 7px 9px;
  font-size: 11px;
  font-weight: 600;
  color: #2d6a2d;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .1s;
}
.ks-curl-btn:hover { background: #e0ece0; }
.ks-curl-hint {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #999;
  margin-top: 5px;
}
.ks-dash-link {
  color: #074882;
  text-decoration: none;
  font-weight: 600;
}
.ks-dash-link:hover { text-decoration: underline; }


/* ══ COMPACT CATEGORY SCORE TABLE (on-screen) ══════════ */
.irb-cat-table {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #e8e6e2;
  border-left: 1px solid #e8e6e2;
}
.irb-cat-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-right: 1px solid #e8e6e2;
  border-bottom: 1px solid #e8e6e2;
  background: #fff;
}
.irb-cat-row:hover { background: #f7f8fa; }
.irb-cat-row-icon { font-size: 18px; flex-shrink: 0; }
.irb-cat-row-name {
  flex: 1;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #333;
  line-height: 1.2;
}
.irb-cat-row-sum {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  margin-top: 3px;
}
.irb-cat-row-sum .irb-cat-sum-crit { color: #C0392B; }
.irb-cat-row-sum .irb-cat-sum-warn { color: #B45309; }
.irb-cat-row-sum .irb-cat-sum-ok   { color: #15803D; }
.irb-cat-row-score {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  flex-shrink: 0;
}
.irb-cat-row-lbl {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  flex-shrink: 0;
  padding: 2px 5px;
  border-radius: 3px;
}
.irb-cat-row-lbl.lbl-critical { background: #FEE2E2; color: #991B1B; }
.irb-cat-row-lbl.lbl-high     { background: #FEF3C7; color: #78350F; }
.irb-cat-row-lbl.lbl-moderate { background: #FFF7ED; color: #9A3412; }
.irb-cat-row-lbl.lbl-low      { background: #ECFDF5; color: #065F46; }
@media (max-width: 600px) {
  .irb-cat-table { grid-template-columns: 1fr 1fr; }
}


/* ══ PDF DOWNLOAD BAR ═══════════════════════════════════ */
.irb-download-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 22px;
  background: #fff;
  border-top: 3px solid #183466;
  border-bottom: 1px solid #e0ddd8;
  flex-wrap: wrap;
}
.irb-download-left { display: flex; align-items: center; gap: 12px; flex: 1; }
.irb-download-icon { font-size: 28px; flex-shrink: 0; }
.irb-download-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #0E2440;
  margin-bottom: 2px;
}
.irb-download-sub {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #888;
}
.irb-download-btn {
  background: #183466;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px 22px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s, transform .1s;
}
.irb-download-btn:hover { background: #2d5a8e; transform: translateY(-1px); }
.irb-download-btn:active { transform: none; }
@media (max-width: 600px) {
  .irb-download-bar { flex-direction: column; text-align: center; }
  .irb-download-btn { width: 100%; }
  .irb-download-left { justify-content: center; }
}

/* ══ LUNOVUS CTA BLOCK (after results) ════════════════ */
.lunovus-cta-block {
  width: 100%;
  max-width: 1100px;
  background: linear-gradient(135deg, #0d2137, #183466);
  border: 1px solid #2d5a8e;
  border-top: 3px solid #2E9CAA;
  border-radius: 14px;
  padding: 28px 32px;
  margin-bottom: 20px;
  display: flex;
  gap: 32px;
  box-sizing: border-box;
  flex-wrap: wrap;
}
.lcta-left { flex: 1; min-width: 240px; }
.lcta-eyebrow {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #2E9CAA;
  margin-bottom: 8px;
}
.lcta-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 10px;
}
.lcta-desc {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: rgba(255,255,255,.75);
  line-height: 1.6;
  margin-bottom: 14px;
}
.lcta-desc strong { color: #fff; }
.lcta-assocs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.lcta-assoc {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  background: rgba(196,163,90,.15);
  color: #2E9CAA;
  border: 1px solid rgba(196,163,90,.35);
  border-radius: 4px;
  padding: 3px 8px;
}
.lcta-assoc-more {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,.4);
}
.lcta-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  min-width: 200px;
}
.lcta-features { display: flex; flex-direction: column; gap: 5px; }
.lcta-feat {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.8);
}
.lcta-btn {
  display: block;
  background: #2E9CAA;
  color: #0d1f30;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  padding: 13px 20px;
  border-radius: 8px;
  transition: background .15s, transform .1s;
  white-space: nowrap;
}
.lcta-btn:hover { background: #d4b36a; transform: translateY(-1px); }
.lcta-mention {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,.4);
  text-align: center;
}
@media (max-width: 600px) {
  .lunovus-cta-block { flex-direction: column; padding: 20px 18px; gap: 20px; }
  .lcta-title { font-size: 17px; }
  .lcta-btn { font-size: 14px; }
}




/* ══ FOOTER — DEFINITIVE LIGHT THEME ═══════════════════ */
.site-footer,
footer.site-footer { background: #f4f6f9 !important; border-top: 3px solid #183466 !important; }
.footer-col p       { color: #444 !important; }
.footer-col p b     { color: #0E2440 !important; font-weight: 700 !important; }
.footer-col-title   { color: #183466 !important; border-bottom-color: #183466 !important; }
.footer-badge       { color: #183466 !important; background: #fff !important; border-color: #b8c8d8 !important; }
.footer-copyright   { color: #666 !important; }
.footer-powered-item { color: #666 !important; }
.footer-inner       { border-bottom-color: #dde3ea !important; }

/* ══ FINAL LIGHT THEME TEXT FIXES ══════════════════════════════ */
.why-medicare-title { color: #4C1D95 !important; }
.why-medicare-body { color: #374151 !important; }
.why-medicare-body strong { color: #4C1D95 !important; }
.why-medicare-link { color: #6D28D9 !important; }
.why-ins-note { color: #555 !important; }
.why-cost-row > div { color: #333 !important; }
.why-cost-cell { color: #333 !important; font-size: 13px; padding: 9px 12px; }
.why-cost-hi { color: #DC2626 !important; }
.why-stat-num { color: #c2410c !important; }
.why-stat-accent .why-stat-num { color: #1D4ED8 !important; }
.why-stat-danger .why-stat-num { color: #DC2626 !important; }
.why-stat-label { color: #555 !important; }
.why-deadline { background: linear-gradient(135deg, #183466, #2d5a8e) !important; }
.why-deadline-title { color: #fff !important; }
.why-deadline-sub { color: rgba(255,255,255,.8) !important; }


.ds-row {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 5px;
  background: #f7f8fa;
  border: 1px solid #e8e6e2;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  transition: background .2s, border-color .2s;
}
.ds-row.ds-running { background: #FFFBEB; border-color: #FCD34D; }
.ds-row.ds-done    { background: #F0FDF4; border-color: #86EFAC; }
.ds-row.ds-skip    { background: #f7f8fa; border-color: #e8e6e2; opacity: .5; }
.ds-row.ds-error   { background: #FEF2F2; border-color: #FCA5A5; }
.ds-dot  { font-size: 11px; flex-shrink: 0; }
.ds-name { flex: 1; color: #555; font-weight: 600; white-space: nowrap; }
.ds-val  { font-size: 10px; color: #888; text-align: right; white-space: nowrap; max-width: 70px; overflow: hidden; text-overflow: ellipsis; }
.ds-row.ds-running .ds-name { color: #92400E; }
.ds-row.ds-running .ds-dot  { color: #D97706; }
.ds-row.ds-done    .ds-name { color: #15803D; }
.ds-row.ds-done    .ds-dot  { color: #16A34A; }
.ds-row.ds-error   .ds-name { color: #991B1B; }
.ds-row.ds-error   .ds-dot  { color: #DC2626; }

/* ══ ACCORDION CONTENT — LIGHT THEME OVERRIDES ════════════════════════ */
.why-laws, .why-costs { background:#f8f9fb!important; border-color:#e0ddd8!important; }
.why-laws-title, .why-costs-title { background:#f4f6f9!important; color:#444!important; border-color:#e0ddd8!important; }
.why-law-item { background:#fff!important; border-color:#e0ddd8!important; }
.why-law-name { color:#111!important; }
.why-law-desc { color:#666!important; }
.why-law-badge { font-size:10px; font-weight:700; padding:2px 7px; border-radius:4px; }
.why-law-badge-blue   { background:#EFF6FF!important; color:#1D4ED8!important; }
.why-law-badge-orange { background:#FFF7ED!important; color:#C2410C!important; }
.why-law-badge-red    { background:#FEF2F2!important; color:#DC2626!important; }
.why-myth { background:#FEF2F2!important; border-color:#FECACA!important; border-left-color:#DC2626!important; }
.why-myth-title { color:#991B1B!important; }
.why-myth-body { color:#555!important; }
.why-insurance-item { background:#f8f9fb!important; border-color:#e0ddd8!important; }
.why-ins-name { color:#111!important; }
.why-ins-detail { color:#666!important; }
.why-upside-item { background:#F0FDF4!important; border-color:#BBF7D0!important; border-left-color:#16A34A!important; }
.why-upside-title { color:#15803D!important; }
.why-upside-body { color:#555!important; }
.why-faq-item { border-bottom-color:#e8e6e1!important; }
.why-faq-q { color:#111!important; }
.why-faq-a { color:#555!important; }
.why-plaintiff { background:#f8f9fb!important; border-color:#e0ddd8!important; }
.why-plaintiff-name { color:#111!important; }
.why-plaintiff-detail { color:#666!important; }
.why-demand { background:#EFF6FF!important; border-color:#BFDBFE!important; border-left-color:#2563EB!important; }
.why-demand-title { color:#1D4ED8!important; }
.why-demand-text { color:#374151!important; }
.why-state-item { background:#f8f9fb!important; border-color:#e0ddd8!important; }
.why-state-name { color:#111!important; }
.why-state-law { color:#666!important; }
.why-cost-row { border-bottom-color:#e8e6e1!important; }
.why-cost-header { background:#f4f6f9!important; }
.why-cost-header .why-cost-cell { color:#555!important; }
.why-cost-cell { color:#333!important; }
.why-cost-hi { color:#DC2626!important; }
.why-stat { background:#f8f9fb!important; border-color:#e0ddd8!important; }
.why-stat-accent { background:#EFF6FF!important; border-color:#BFDBFE!important; }
.why-stat-danger { background:#FEF2F2!important; border-color:#FECACA!important; }
.why-stat-label { color:#555!important; }
.why-stat-link { color:#1D4ED8!important; }
.why-stat-num { color:#c2410c!important; }
.why-stat-accent .why-stat-num { color:#1D4ED8!important; }
.why-stat-danger .why-stat-num { color:#DC2626!important; }

/* Page-wide sticky nav */
.page-nav {
  position: sticky;
  top: 0;
  z-index: 200;
  background: #fff;
  border-bottom: 1px solid #e0ddd8;
  padding: 0;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 20px;
  display: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.page-nav.visible { display: flex; }
.page-nav-inner {
  display: flex;
  align-items: center;
  gap: 0;
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
.page-nav-inner::-webkit-scrollbar { display: none; }
.pnav-btn {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #555;
  padding: 10px 16px;
  border: none;
  background: none;
  cursor: pointer;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
  text-decoration: none;
  display: block;
}
.pnav-btn:hover { color: #183466; border-bottom-color: #b0c4d8; }
.pnav-btn.active { color: #183466; border-bottom-color: #183466; font-weight: 700; }


/* ══════════════════════════════════════════════════
   FULL PAGE UI OVERHAUL
   ══════════════════════════════════════════════════ */

/* ── Body & canvas ───────────────────────────────── */
body {
  background: #eef0f3 !important;
  font-family: Arial, Helvetica, sans-serif;
}
.app-stage {
  background: #fff !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06), 0 8px 40px rgba(0,0,0,.12) !important;
  border-radius: 0 0 16px 16px;
}

/* ── Topbar ──────────────────────────────────────── */
.topbar {
  background: #fff !important;
  border-bottom: 4px solid var(--wr-teal) !important;
}

/* ── URL input zone ──────────────────────────────── */
.url-zone-panel {
  background: #fff !important;
  border: none !important;
  border-bottom: 1px solid #e8e6e2 !important;
  border-radius: 0 !important;
  padding: 32px 36px 28px !important;
  box-shadow: none !important;
}
.uzp-label {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #0E2440 !important;
  letter-spacing: -.02em;
}
.uzp-eyebrow {
  font-size: 10px !important;
  color: #0891B2 !important;
  letter-spacing: .2em !important;
}
.url-input-wrap {
  border: 2px solid #d0dde8 !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  transition: border-color .2s !important;
}
.url-input-wrap:focus-within {
  border-color: #183466 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(27,58,92,.08) !important;
}
#urlInput {
  font-size: 15px !important;
  color: #111 !important;
}
.uzp-hint { color: #888 !important; font-size: 12px !important; }

/* ── Run button ───────────────────────────────────── */
.uzp-run {
  background: linear-gradient(135deg, #183466, #2d5a8e) !important;
  border-radius: 10px !important;
  margin-top: 0 !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(27,58,92,.2) !important;
}

/* ── Results block ───────────────────────────────── */
#inlineResultsBlock {
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid #e8e6e2 !important;
  box-shadow: none !important;
}
.irb-hero {
  background: linear-gradient(135deg, #f4f7fb, #fff) !important;
  border-bottom: 1px solid #e0ddd8 !important;
}
.irb-eyebrow { color: #0891B2 !important; }
.irb-title { color: #0E2440 !important; font-weight: 800 !important; }

/* ── Lunovus CTA block ───────────────────────────── */
.lunovus-cta-block {
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-top: 3px solid #2E9CAA !important;
}

/* ── Section labels / dividers ───────────────────── */
.section-label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 36px 12px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #999;
}
.section-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e8e6e2;
}

/* ── Why section wrapper ─────────────────────────── */
.why-section {
  padding: 28px 36px !important;
  max-width: 100% !important;
  width: 100% !important;
  gap: 10px !important;
  background: #fff !important;
  border-bottom: 1px solid #e8e6e2 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box;
}

/* ── Accordion polish ────────────────────────────── */
.why-accordion {
  border-radius: 8px !important;
  box-shadow: none !important;
  border: 1px solid #e8e6e2 !important;
}
.why-accordion:hover { box-shadow: 0 2px 8px rgba(0,0,0,.06) !important; }
.why-accordion[open] { border-color: #b8c8d8 !important; }
.why-acc-head { padding: 14px 18px !important; }
.why-acc-title { font-size: 14px !important; }
.why-acc-sub { font-size: 11px !important; }

/* ── Alert banner ────────────────────────────────── */
.why-alert {
  border-radius: 8px !important;
  font-size: 13px !important;
}

/* ── AI section ──────────────────────────────────── */
.ai-ready-section {
  padding: 48px 36px 44px !important;
}
.ai-ready-inner { max-width: 100% !important; }

/* ── Lunovus inline row ──────────────────────────── */
.irb-lunovus-row {
  border-radius: 0 !important;
}

/* ── Footer ──────────────────────────────────────── */
.site-footer {
  background: #f4f6f9 !important;
  border-top: 3px solid #183466 !important;
}

/* ── Page nav polish ─────────────────────────────── */
.page-nav {
  background: #fff !important;
  border-bottom: 2px solid #e0ddd8 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.07) !important;
}
.pnav-btn { font-size: 12px !important; padding: 11px 18px !important; }
.pnav-btn.active {
  color: #0E2440 !important;
  border-bottom-color: #183466 !important;
  background: #f4f7fb !important;
}

/* ── Score cat cards ─────────────────────────────── */
.irb-cat-card {
  background: #fafafa !important;
  transition: background .15s, box-shadow .15s !important;
}
.irb-cat-card:hover {
  background: #f0f4f8 !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06) !important;
}

/* ── Count strip ─────────────────────────────────── */
.irb-counts {
  background: #f8f9fb !important;
  border-top: 1px solid #e8e6e2 !important;
}

/* ── PDF callout ─────────────────────────────────── */
.irb-pdf-callout {
  background: linear-gradient(135deg, #183466, #2d5a8e) !important;
}
.irb-pdf-callout-btn {
  background: #2E9CAA !important;
  color: #0E2440 !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
}
.irb-pdf-callout-btn:hover { background: #d4b36a !important; }

/* ── Mobile ──────────────────────────────────────── */
@media (max-width: 780px) {
  .url-zone-panel { padding: 24px 20px 20px !important; }
  .why-section { padding: 20px 16px !important; }
  .ai-ready-section { padding: 32px 16px 28px !important; }
}

/* ══════════════════════════════════════════════════════
   AI READINESS SECTION

<style>
/* ══════════════════════════════════════════════════════
   MEMBER DISCOUNT SECTION
   ══════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════
   AI READINESS SECTION STYLES
   ══════════════════════════════════════════════════════ */
.ai-ready-section {
  background: #F0F9FF;
  border-top: 3px solid #0891B2;
  border-bottom: 1px solid #BAE6FD;
  padding: 52px 40px 48px;
  position: relative;
}
.ai-ready-inner { max-width: 1100px; margin: 0 auto; }

.ai-ready-eyebrow {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #0891B2;
  margin-bottom: 10px;
}
.ai-ready-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: #0c2340;
  line-height: 1.25;
  margin-bottom: 12px;
}
.ai-ready-title span { color: #0891B2; }
.ai-ready-subtitle {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  color: #374151;
  line-height: 1.7;
  max-width: 680px;
  margin-bottom: 32px;
}
.ai-ready-subtitle em { color: #0c2340; font-style: italic; font-weight: 600; }

.ai-ready-flow {
  max-width: 760px;
  margin: 0 auto 32px;
  display: flex;
  flex-direction: column;
}
.ai-flow-item {
  padding: 20px 0 20px 22px;
  border-left: 3px solid #BAE6FD;
  position: relative;
}
.ai-flow-item + .ai-flow-item {
  border-top: 1px solid #E2EEF4;
}
.ai-flow-item:hover {
  border-left-color: #0891B2;
}
.ai-flow-desc {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  color: #475569;
  line-height: 1.65;
  margin: 0;
}
.ai-flow-desc b {
  color: #0c2340;
  font-weight: 700;
}

.ai-ready-callout {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #fff;
  border: 1px solid #BAE6FD;
  border-left: 4px solid #0891B2;
  border-radius: 12px;
  padding: 22px 26px;
  flex-wrap: wrap;
  box-shadow: 0 2px 8px rgba(8,145,178,.08);
}
.ai-ready-callout-left { flex: 1; min-width: 220px; }
.ai-ready-callout-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #0c2340;
  margin-bottom: 6px;
}
.ai-ready-callout-desc {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: #555;
  line-height: 1.6;
}
.ai-ready-callout-desc em { color: #0c2340; font-weight: 600; font-style: normal; }
.ai-ready-btn {
  display: inline-block;
  background: #0891B2;
  color: #fff;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  padding: 13px 22px;
  border-radius: 8px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s, transform .1s;
}
.ai-ready-btn:hover { background: #0369a1; transform: translateY(-1px); }

/* ── PATIENT POTENTIAL BLOCK ── */
.pp-block {
  background: linear-gradient(135deg, #0E2440, #183466);
  border: 2px solid #2E9CAA;
  border-radius: 16px;
  padding: 28px 30px;
  margin: 24px 0;
  box-shadow: 0 6px 28px rgba(14,36,64,.22);
}
.pp-eyebrow {
  font-family: var(--mono, Arial, Helvetica, sans-serif);
  font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  color: #A6DDDA; margin-bottom: 12px;
}
.pp-headline {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 25px; font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 10px;
}
.pp-headline span { color: #A6DDDA; }
.pp-sub {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px; color: rgba(255,255,255,.85); line-height: 1.65; margin-bottom: 22px;
}
.pp-sub strong { color: #fff; font-weight: 700; }
.pp-rows { display: flex; flex-direction: column; gap: 14px; margin-bottom: 18px; }
.pp-row-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; gap: 12px; }
.pp-row-name { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; color: #fff; }
.pp-row-share { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #A6DDDA; white-space: nowrap; }
.pp-bar { height: 7px; background: rgba(255,255,255,.12); border-radius: 4px; overflow: hidden; }
.pp-bar-fill { height: 100%; background: linear-gradient(90deg, #2E9CAA, #A6DDDA); border-radius: 4px; }
.pp-row-pts { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: rgba(255,255,255,.6); margin-top: 5px; }
.pp-foot {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11.5px; color: rgba(166,221,218,.8); line-height: 1.5;
  border-top: 1px solid rgba(255,255,255,.12); padding-top: 14px;
}
/* ── COMPLETE NUMBER (headline prize) ───────────────────────────────────── */
.pp-complete {
  display: flex; align-items: center; gap: 18px;
  background: rgba(166,221,218,.08); border: 1px solid rgba(166,221,218,.25);
  border-radius: 12px; padding: 16px 20px; margin-bottom: 18px;
}
.pp-complete-num {
  font-family: Arial, Helvetica, sans-serif; font-weight: 800;
  font-size: 42px; line-height: 1; color: #A6DDDA; white-space: nowrap;
}
.pp-complete-lbl {
  font-family: Arial, Helvetica, sans-serif; font-size: 13.5px;
  color: rgba(255,255,255,.85); line-height: 1.5;
}
.pp-complete-lbl strong { color: #fff; }
/* ── BAD-vs-BAD → STEP UP ───────────────────────────────────────────────── */
.pp-stepup {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px; padding: 18px 20px; margin-bottom: 20px;
}
.pp-stepup-head {
  font-family: Arial, Helvetica, sans-serif; font-weight: 800; font-size: 16px;
  color: #fff; margin-bottom: 8px;
}
.pp-stepup-body { font-family: Arial, Helvetica, sans-serif; font-size: 13.5px; color: rgba(255,255,255,.85); line-height: 1.6; }
.pp-stepup-body strong { color: #A6DDDA; }
.pp-stepup-compare {
  display: flex; align-items: stretch; gap: 12px; margin: 16px 0 12px;
}
.pp-stepup-col {
  flex: 1; text-align: center; border-radius: 10px; padding: 14px 10px;
  border: 1px solid rgba(255,255,255,.14);
}
.pp-stepup-now { background: rgba(255,255,255,.04); }
.pp-stepup-up  { background: linear-gradient(135deg, rgba(46,156,170,.22), rgba(166,221,218,.14)); border-color: rgba(166,221,218,.4); }
.pp-stepup-pct { font-family: Arial, Helvetica, sans-serif; font-weight: 800; font-size: 30px; line-height: 1; color: #fff; }
.pp-stepup-up .pp-stepup-pct { color: #A6DDDA; }
.pp-stepup-cl { font-family: Arial, Helvetica, sans-serif; font-size: 11.5px; color: rgba(255,255,255,.65); margin-top: 6px; line-height: 1.4; }
.pp-stepup-pat { font-family: Arial, Helvetica, sans-serif; font-size: 12.5px; font-weight: 700; color: #fff; margin-top: 8px; }
.pp-stepup-arrow { display: flex; align-items: center; color: #A6DDDA; font-size: 24px; font-weight: 800; }
.pp-stepup-foot { font-family: Arial, Helvetica, sans-serif; font-size: 12.5px; color: rgba(255,255,255,.72); line-height: 1.55; }
.pp-stepup-foot strong { color: #A6DDDA; }
/* ── BY-PHASE BREAKDOWN ─────────────────────────────────────────────────── */
.pp-phase-block { margin-bottom: 20px; }
.pp-phase-head {
  font-family: Arial, Helvetica, sans-serif; font-size: 12.5px; font-weight: 700;
  color: rgba(255,255,255,.78); margin-bottom: 12px;
}
.pp-phase-row { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
.pp-phase-bar-wrap {
  flex: 0 0 90px; height: 8px; background: rgba(255,255,255,.12);
  border-radius: 4px; overflow: hidden; margin-top: 5px;
}
.pp-phase-bar { height: 100%; border-radius: 4px; }
.pp-phase-meta { flex: 1; }
.pp-phase-name { font-family: Arial, Helvetica, sans-serif; font-weight: 800; font-size: 14px; }
.pp-phase-pats { font-family: Arial, Helvetica, sans-serif; font-size: 12.5px; color: #fff; margin: 2px 0 3px; }
.pp-phase-desc { font-family: Arial, Helvetica, sans-serif; font-size: 11.5px; color: rgba(255,255,255,.55); line-height: 1.45; }
@media (max-width: 560px) {
  .pp-complete { flex-direction: column; align-items: flex-start; gap: 8px; }
  .pp-complete-num { font-size: 34px; }
  .pp-stepup-compare { flex-direction: column; }
  .pp-stepup-arrow { transform: rotate(90deg); justify-content: center; }
}
.pp-mock {
  margin-top: 12px; font-family: Arial, Helvetica, sans-serif; font-size: 12px;
  color: #FFD9A6; background: rgba(216,112,58,.18); border: 1px solid rgba(216,112,58,.4);
  border-radius: 8px; padding: 8px 12px;
}
@media (max-width: 700px) {
  .pp-block { padding: 22px 18px; }
  .pp-headline { font-size: 20px; }
}

/* ── FREE PREVIEW OFFER BLOCK ── */
.offer-block {
  background: #fff;
  border: 2px solid #074882;
  border-radius: 16px;
  padding: 32px 30px;
  margin: 24px 0;
  box-shadow: 0 6px 28px rgba(7,72,130,.12);
}
.offer-block--final { margin: 0; border-radius: 0; border-left: 0; border-right: 0; }
.offer-badge {
  display: inline-block;
  font-family: var(--mono, Arial, Helvetica, sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #0E2440;
  background: #A6DDDA;
  border-radius: 20px;
  padding: 5px 13px;
  margin-bottom: 14px;
}
.offer-headline {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 27px;
  font-weight: 800;
  color: #074882;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin-bottom: 10px;
}
.offer-headline span { color: #2E9CAA; }
.offer-sub {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14.5px;
  color: #3a4a5c;
  line-height: 1.65;
  max-width: 720px;
  margin-bottom: 24px;
}
.offer-sub b { color: #074882; font-weight: 700; }
.offer-steps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 26px;
  margin-bottom: 26px;
}
.offer-step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.offer-step-num {
  flex-shrink: 0;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: #2E9CAA;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}
.offer-step-text {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13.5px;
  color: #44525f;
  line-height: 1.5;
}
.offer-step-text b { color: #074882; font-weight: 700; }
.offer-widget-slot {
  background: #f4f9fa;
  border: 1px dashed rgba(46,156,170,.55);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  margin-bottom: 16px;
}
.offer-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #2E9CAA;
  color: #fff;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 800;
  padding: 16px 30px;
  border-radius: 10px;
  transition: background .15s, transform .1s;
  box-shadow: 0 3px 12px rgba(46,156,170,.35);
}
.offer-btn:hover { background: #248795; transform: translateY(-1px); }
.offer-btn-arrow { font-size: 18px; }
.offer-widget-note {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #8a98a4;
  margin-top: 10px;
  font-style: italic;
}
.offer-finefoot {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #5c7a8a;
  text-align: center;
  line-height: 1.5;
}
/* ── Founding-practice offer (waiver + slots) + close script ─────────────── */
/* "What your $199/mo covers" value panel — makes the all-inclusive pricing
   explicit so a reader never wonders about a separate hosting or build fee. */
.offer-included {
  background: linear-gradient(135deg,#f0f8f7,#f7fbfb);
  border: 1px solid #bfe3e0;
  border-left: 4px solid #2E9CAA;
  border-radius: 12px;
  padding: 20px 22px;
  margin: 6px 0 22px;
}
.offer-included-head {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 800;
  color: #074882;
  margin-bottom: 4px;
}
.offer-included-head .oi-price { color: #15803D; }
.offer-included-sub {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: #3a4a5c;
  line-height: 1.5;
  margin-bottom: 14px;
}
.offer-included-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px 18px;
}
.offer-included-grid .oi-item {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13.5px;
  color: #1f3245;
  line-height: 1.4;
  padding-left: 22px;
  position: relative;
}
.offer-included-grid .oi-item:before {
  content: "✓";
  position: absolute; left: 0; top: 0;
  color: #15803D; font-weight: 900; font-size: 13px;
}
.offer-included-grid .oi-item b { color: #074882; font-weight: 800; }
.offer-included-foot {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12.5px;
  color: #15803D;
  font-weight: 700;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed #bfe3e0;
}
@media(max-width:560px){ .offer-included-grid { grid-template-columns: 1fr; } }

.offer-founding {  background: linear-gradient(90deg, rgba(196,163,90,.14), rgba(196,163,90,.05));
  border: 1px solid rgba(196,163,90,.4);
  border-radius: 12px; padding: 16px 20px; margin: 18px 0 0;
}
.offer-founding-badge {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: #9c7f3c; margin-bottom: 7px;
}
.offer-founding-text {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px; line-height: 1.55; color: #2a3640;
}
.offer-founding-text b { color: #0d2a4a; font-weight: 800; }
.offer-close {
  margin: 16px 0 0; padding: 16px 20px;
  background: rgba(46,156,170,.05);
  border: 1px solid rgba(46,156,170,.2); border-radius: 12px;
}
.offer-close-line {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px; font-weight: 800; color: #0d2a4a; margin-bottom: 9px;
}
.offer-close-list {
  list-style: none; margin: 0 0 10px; padding: 0;
  font-family: Arial, Helvetica, sans-serif;
}
.offer-close-list li {
  position: relative; padding: 5px 0 5px 26px;
  font-size: 13.5px; line-height: 1.45; color: #26333f;
}
.offer-close-list li::before {
  content: '✓'; position: absolute; left: 0; top: 5px;
  width: 18px; height: 18px; display: inline-flex;
  align-items: center; justify-content: center;
  font-size: 11px; font-weight: 800; color: #fff;
  background: #15803D; border-radius: 50%;
}
.offer-close-ask {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13.5px; line-height: 1.5; color: #1f7a88; font-weight: 700;
  padding-top: 9px; border-top: 1px solid rgba(46,156,170,.18);
}
.offer-golive {
  font-family: Arial, Helvetica, sans-serif;
  margin: 16px 0 0; padding: 15px 18px;
  background: #f3f8fc; border: 1px solid #cfe0ee; border-left: 3px solid #2E9CAA;
  border-radius: 10px;
}
.offer-golive-head {
  font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: #1f7a88; margin-bottom: 9px;
}
.offer-golive-list { margin: 0; padding-left: 18px; }
.offer-golive-list li {
  font-size: 13px; line-height: 1.55; color: #3a4754; margin-bottom: 7px;
}
.offer-golive-list li:last-child { margin-bottom: 0; }
.offer-golive-list b { color: #0d2a4a; }
@media (max-width: 700px) {
  .offer-block { padding: 26px 20px; }
  .offer-headline { font-size: 22px; }
  .offer-steps { grid-template-columns: 1fr; gap: 12px; }
}

/* ── DESIGN & FIRST IMPRESSION SECTION ── */
.fi-section {
  background: #FBF4EF;
  border-top: 3px solid #D8703A;
  border-bottom: 1px solid #F2D9C8;
  padding: 52px 40px 48px;
  position: relative;
}
.fi-inner { max-width: 1100px; margin: 0 auto; }
.fi-eyebrow {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #C25A28;
  margin-bottom: 10px;
}
.fi-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: #0c2340;
  line-height: 1.25;
  margin-bottom: 12px;
}
.fi-title span { color: #C25A28; }
.fi-subtitle {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  color: #374151;
  line-height: 1.7;
  max-width: 680px;
  margin-bottom: 32px;
}
.fi-subtitle em { color: #0c2340; font-style: italic; font-weight: 600; }
.fi-flow {
  max-width: 760px;
  margin: 0 auto 32px;
  display: flex;
  flex-direction: column;
}
.fi-flow-item {
  padding: 20px 0 20px 22px;
  border-left: 3px solid #F2D2BE;
  position: relative;
}
.fi-flow-item + .fi-flow-item { border-top: 1px solid #F2E2D6; }
.fi-flow-item:hover { border-left-color: #D8703A; }
.fi-flow-desc {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  color: #475569;
  line-height: 1.65;
  margin: 0;
}
.fi-flow-desc b { color: #0c2340; font-weight: 700; }
.fi-callout {
  background: #fff;
  border: 1px solid #F2D9C8;
  border-left: 4px solid #D8703A;
  border-radius: 12px;
  padding: 22px 26px;
  box-shadow: 0 2px 8px rgba(216,112,58,.08);
}
.fi-callout-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #0c2340;
  margin-bottom: 6px;
}
.fi-callout-desc {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  color: #555;
  line-height: 1.6;
}
.fi-callout-desc em { color: #C25A28; font-weight: 600; font-style: normal; }
@media (max-width: 780px) {
  .fi-section { padding: 36px 20px 32px; }
  .fi-title { font-size: 22px; }
}
@media (max-width: 480px) {
  .fi-flow-item { padding-left: 16px; }
}

.lcta-pills-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.lcta-pill {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  background: #E0F2FE;
  color: #0369a1;
  border: 1px solid #BAE6FD;
  border-radius: 20px;
  padding: 3px 10px;
}

@media (max-width: 780px) {
  .ai-ready-flow { max-width: 100%; }
  .ai-ready-title { font-size: 22px; }
  .ai-ready-callout { flex-direction: column; }
  .ai-ready-btn { width: 100%; text-align: center; }
  .ai-ready-section { padding: 36px 20px 32px; }
}
@media (max-width: 480px) {
  .ai-flow-item { padding-left: 16px; }
}
/* ════════════════════════════════════════════════════════
   WEBREADY360 — 6 PRIMARY PILLARS SECTION
   ════════════════════════════════════════════════════════ */
.wr-pillars {
  margin: 18px 0 8px;
  padding: 26px 30px 28px;
  background: linear-gradient(160deg, #fff 0%, var(--wr-teal-bg) 100%);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow-md);
}
.wr-pillars-head { text-align: center; max-width: 720px; margin: 0 auto 20px; }
.wr-pillars-eyebrow {
  font-family: var(--mono); font-size: 12px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase; color: var(--wr-teal);
  margin-bottom: 8px;
}
.wr-pillars-title {
  font-size: 26px; font-weight: 800; color: var(--wr-navy);
  line-height: 1.16; letter-spacing: -.01em; margin-bottom: 9px;
}
.wr-pillars-title em { font-style: normal; color: var(--wr-teal); }
.wr-pillars-sub { font-size: 14.5px; color: var(--t3); line-height: 1.55; }

/* ── STACKED PILLAR LIST ────────────────────────────────── */
.wr-pillar-list { display: flex; flex-direction: column; gap: 14px; }

/* Two-phase explainer block */
.wr-phases { display: flex; align-items: stretch; gap: 14px; max-width: 920px; margin: 0 auto 26px; }
.wr-phase { flex: 1; display: flex; gap: 13px; align-items: flex-start; padding: 18px 20px; border-radius: 14px; color: #fff; }
.wr-phase-legal { background: linear-gradient(135deg, #0a2342 0%, #13386a 100%); }
.wr-phase-found { background: linear-gradient(135deg, #0a2342 0%, #13386a 100%); }
.wr-phase-act { background: linear-gradient(135deg, #0a2342 0%, #13386a 100%); }
.wr-phase-num { flex-shrink: 0; width: 38px; height: 38px; border-radius: 11px; background: rgba(255,255,255,.16); border: 1.5px solid rgba(255,255,255,.4); display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: 800; }
.wr-phase-label { font-size: 17px; font-weight: 800; line-height: 1.1; }
.wr-phase-text { font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,.88); margin-top: 5px; }
.wr-phase-arrow { align-self: center; font-size: 24px; color: var(--p-accent, #94a3b8); font-weight: 800; flex-shrink: 0; }
@media (max-width: 720px) {
  .wr-phases { flex-direction: column; }
  .wr-phase-arrow { transform: rotate(90deg); align-self: center; }
}
/* Phase chip on each category row */
.wr-row-phase { font-size: 9.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; white-space: nowrap; margin-left: 8px; }
.wr-row-phase-legal { background: rgba(19,56,106,.12); color: #13386a; }
.wr-row-phase-found { background: rgba(19,56,106,.12); color: #13386a; }
.wr-row-phase-act { background: rgba(19,56,106,.12); color: #13386a; }

.wr-row {
  background: #fff;
  border: 1px solid var(--border);
  border-left: 4px solid var(--p-accent, var(--wr-navy));
  border-radius: 12px;
  padding: 20px 24px 22px;
  scroll-margin-top: 90px;
}
.wr-row-head {
  display: flex; align-items: flex-start; gap: 14px;
}
.wr-row-num {
  font-family: var(--mono); font-size: 14px; font-weight: 800;
  color: var(--p-accent, var(--wr-navy)); opacity: .5;
  line-height: 1.5; flex: 0 0 auto; min-width: 22px;
}
.wr-row-ico {
  font-size: 26px; line-height: 1; flex: 0 0 auto;
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  background: var(--p-bg, var(--wr-teal-bg)); border-radius: 11px;
}
.wr-row-headtext { flex: 1 1 auto; min-width: 0; }
.wr-row-name {
  font-size: 18px; font-weight: 800; color: var(--wr-navy);
  letter-spacing: -.01em; line-height: 1.2; margin-bottom: 4px;
}
.wr-row-desc { font-size: 13.5px; color: var(--t3); line-height: 1.5; }
.wr-row-tag {
  flex: 0 0 auto; align-self: center; margin-left: auto;
  font-family: var(--mono); font-size: 10px; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
  color: var(--p-accent, var(--wr-navy));
  background: var(--p-bg, var(--wr-teal-bg));
  border-radius: 20px; padding: 4px 11px; white-space: nowrap;
}
.wr-row-phase { align-self: center; flex: 0 0 auto; }

/* shared detail wrapper, indented to align under the headtext */
.wr-row-detail {
  margin-top: 16px; padding-top: 16px; padding-left: 58px;
  border-top: 1px solid var(--border);
}

/* ── Collapsible behavior: summary visible, detail hidden until opened ── */
.wr-row.wr-collapsible .wr-row-head { cursor: pointer; }
.wr-row.wr-collapsible .wr-row-head:hover .wr-row-name { color: var(--p-accent, var(--wr-navy)); }
.wr-row-chev {
  flex: 0 0 auto; align-self: center; margin-left: 8px;
  font-size: 13px; line-height: 1; color: var(--p-accent, var(--wr-navy));
  opacity: .55; transition: transform .2s ease;
}
.wr-row.open .wr-row-chev { transform: rotate(180deg); opacity: .9; }
/* Collapsed: detail clipped to zero height. Generous max-height when open so
   long category bodies aren't truncated. */
.wr-row.wr-collapsible .wr-row-detail {
  overflow: hidden;
  max-height: 0;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  opacity: 0;
  transition: max-height .28s ease, opacity .2s ease, padding-top .28s ease, margin-top .28s ease;
}
.wr-row.wr-collapsible.open .wr-row-detail {
  max-height: 2400px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  opacity: 1;
}
@media print {
  /* Never hide content in print/PDF. */
  .wr-row.wr-collapsible .wr-row-detail {
    max-height: none !important; opacity: 1 !important;
    margin-top: 16px !important; padding-top: 16px !important;
    border-top: 1px solid var(--border) !important;
  }
  .wr-row-chev { display: none !important; }
  /* fixed742/fixed748 — the booking-calendar slot (.offer-widget-slot) frames a
     third-party embed (lunovuspulse build-calendar.js) that only loads via
     JavaScript in a live browser. In a static PDF export the script never runs,
     so the slot printed as an EMPTY dashed box floating above the pricing
     fine-print (reviewer note, page 13). In print, drop the dashed frame,
     tint and padding so an unpopulated slot leaves no visible empty box; if the
     calendar did load before printing, its content still prints, just without
     the now-redundant placeholder frame.
     fixed748 — a residual gap remained above the methodology footer. Two
     reinforcing causes: (1) the inner mount target (#book-on-our-site*) can be
     left reserving vertical height even when the embed did not paint anything
     visible in the static export, and (2) .site-footer carries margin-top:auto
     — a sticky-footer trick inside the .app-stage flex column that, under the
     print min-height:100vh, expands to shove the footer down and open a blank
     band above it. Both are neutralized for print only: an :empty mount is
     collapsed, and the footer's auto margin plus the stage's min-height are
     zeroed so content flows continuously into the footer. On screen everything
     is unchanged. */
  .offer-widget-slot {
    border: 0 !important; background: transparent !important;
    padding: 0 !important; margin: 0 !important;
  }
  .offer-widget-slot > div:empty { display: none !important; height: 0 !important; min-height: 0 !important; }
  .site-footer { margin-top: 0 !important; }
  .app-stage { min-height: 0 !important; }
}
.wr-row-lede { font-size: 14px; color: var(--t2, #374151); line-height: 1.6; margin: 0 0 14px; }
.wr-row-lede em { font-style: italic; color: var(--wr-navy); }
.wr-row-subhead {
  font-size: 15px; font-weight: 800; color: var(--wr-navy);
  margin: 20px 0 12px; letter-spacing: -.01em;
}
.wr-row-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wr-row-points li {
  font-size: 13.5px; color: var(--t3); line-height: 1.55;
  padding-left: 18px; position: relative;
}
.wr-row-points li::before {
  content: ""; position: absolute; left: 0; top: 8px;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--p-accent, var(--wr-navy)); opacity: .7;
}
.wr-row-points b { color: var(--wr-navy); }

.wr-row-callout {
  margin-top: 16px; padding: 16px 18px;
  background: var(--p-bg, var(--wr-teal-bg));
  border-radius: 10px;
}
.wr-row-callout-title { font-size: 14px; font-weight: 800; color: var(--wr-navy); margin-bottom: 6px; }
.wr-row-callout-desc { font-size: 13px; color: var(--t3); line-height: 1.55; }
.wr-row-callout-desc em { font-style: italic; color: var(--wr-navy); }
.wr-row-note {
  margin-top: 16px; font-size: 12px; color: var(--t3); line-height: 1.55;
  padding: 12px 14px; background: #F7F8FA; border-radius: 8px;
}
.wr-row-note b { color: var(--wr-navy); }

/* ADA-specific folded content */
.wr-alert {
  display: flex; gap: 11px; align-items: flex-start;
  background: #FEF6F0; border: 1px solid #F4D6C2; border-radius: 10px;
  padding: 14px 16px; margin-bottom: 16px;
  font-size: 13px; color: var(--t2, #374151); line-height: 1.55;
}
.wr-alert-icon { color: #C2410C; font-size: 17px; line-height: 1.4; flex: 0 0 auto; }
.wr-alert strong { color: var(--wr-navy); }
.wr-callout-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.wr-mini-callout {
  background: #fff; border: 1px solid var(--border);
  border-top: 3px solid #B45309; border-radius: 10px; padding: 14px 15px;
}
.wr-mini-callout-title { font-size: 13.5px; font-weight: 800; color: var(--wr-navy); margin-bottom: 6px; }
.wr-mini-callout-text { font-size: 12.5px; color: var(--t3); line-height: 1.55; }
.wr-mini-callout-text b { color: var(--wr-navy); }

.wr-stat-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.wr-stat-card {
  background: #fff; border: 1px solid var(--border);
  border-top: 3px solid var(--wr-navy); border-radius: 10px;
  padding: 16px 14px; text-align: center;
}
.wr-stat-card.wr-stat-accent { border-top-color: #B45309; }
.wr-stat-card.wr-stat-danger { border-top-color: #B91C1C; }
.wr-stat-num { font-size: 26px; font-weight: 800; color: var(--wr-navy); line-height: 1; margin-bottom: 7px; letter-spacing: -.02em; }
.wr-stat-card.wr-stat-accent .wr-stat-num { color: #B45309; }
.wr-stat-card.wr-stat-danger .wr-stat-num { color: #B91C1C; }
.wr-stat-label { font-size: 11.5px; color: var(--t3); line-height: 1.45; }
.wr-stat-label em { font-style: italic; color: var(--wr-navy); }

.wr-costs { margin-bottom: 16px; }
.wr-costs-title { font-size: 14px; font-weight: 800; color: var(--wr-navy); margin-bottom: 10px; }
.wr-costs-table { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.wr-cost-row { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; padding: 9px 14px; font-size: 12.5px; color: var(--t2, #374151); border-bottom: 1px solid var(--border); }
.wr-cost-row:last-child { border-bottom: none; }
.wr-cost-header { background: #F3F5F8; font-weight: 800; color: var(--wr-navy); font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; }
.wr-cost-hi { color: #B45309; font-weight: 700; }
.wr-cost-scary { background: #FEF2F2; }
.wr-cost-total { background: var(--wr-navy); color: #fff; font-weight: 800; grid-template-columns: 2fr 2fr; }
.wr-cost-total .wr-cost-total-val { color: #FBBF24; text-align: right; }

.wr-risk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.wr-risk-item { background: #F7F8FA; border-radius: 10px; padding: 14px 15px; }
.wr-risk-head { font-size: 13.5px; font-weight: 800; color: var(--wr-navy); margin-bottom: 5px; }
.wr-risk-desc { font-size: 12.5px; color: var(--t3); line-height: 1.5; }

.wr-serial { background: #F7F8FA; border-radius: 10px; padding: 16px 18px; margin-bottom: 16px; }
.wr-serial-title { font-size: 14px; font-weight: 800; color: var(--wr-navy); margin-bottom: 8px; }
.wr-serial-p { font-size: 13px; color: var(--t3); line-height: 1.55; margin: 0 0 10px; }
.wr-serial-p strong { color: var(--wr-navy); }
.wr-serial-steps { display: grid; gap: 8px; }
.wr-serial-step { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; color: var(--t3); line-height: 1.45; }
.wr-serial-step-num {
  flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%;
  background: var(--wr-navy); color: #fff; font-weight: 800; font-size: 12px;
  display: flex; align-items: center; justify-content: center;
}

.wr-goodfaith {
  display: flex; gap: 11px; align-items: flex-start;
  background: #F0FAF4; border: 1px solid #C6E8D2; border-radius: 10px;
  padding: 14px 16px; margin-bottom: 16px;
}
.wr-goodfaith-icon { font-size: 16px; line-height: 1.4; flex: 0 0 auto; }
.wr-goodfaith-title { font-size: 13.5px; font-weight: 800; color: var(--wr-navy); margin-bottom: 5px; }
.wr-goodfaith-text { font-size: 12.5px; color: var(--t3); line-height: 1.55; }

/* folded-in "platform already handles it" myth stats */
.wr-myth-banner {
  font-size: 13px; font-weight: 700; color: var(--wr-navy);
  line-height: 1.5; margin-bottom: 12px;
}
.wr-myth-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.wr-myth-strip {
  display: flex; align-items: center; gap: 14px;
  background: #FFFBEB; border: 1px solid #FCE8B6; border-radius: 10px;
  padding: 14px 16px; margin-top: 16px;
}
.wr-myth-pair .wr-myth-strip { margin-top: 0; }
.wr-myth-stat {
  flex: 0 0 auto; font-size: 28px; font-weight: 800; color: #B45309;
  line-height: 1; letter-spacing: -.02em; min-width: 64px; text-align: center;
}
.wr-myth-text { font-size: 12.5px; color: var(--t3); line-height: 1.5; }
.wr-myth-text b { color: var(--wr-navy); }

/* shared "what we check" footer */
.wr-checks { margin-top: 18px; padding: 20px 22px; background: #fff; border: 1px solid var(--border); border-radius: 12px; }
.wr-checks-title { font-size: 15px; font-weight: 800; color: var(--wr-navy); margin-bottom: 14px; text-align: center; }
.wr-checks-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.wr-check { font-size: 12.5px; color: var(--t2, #374151); background: #F7F8FA; border-radius: 7px; padding: 9px 13px; }

@media (max-width: 760px) {
  .wr-callout-pair, .wr-stat-trio, .wr-risk-grid, .wr-checks-grid, .wr-myth-pair { grid-template-columns: 1fr; }
  .wr-row-detail { padding-left: 0; }
  .wr-row-tag { display: none; }
}
@media (max-width: 880px) {
  .wr-pillars { padding: 24px 18px 26px; }
  .wr-pillars-title { font-size: 22px; }
  .wr-row { padding: 18px 18px 20px; }
}

/* ════════════════════════════════════════════════════════
   EMAIL REPORT MODAL + ALT CALLOUT BUTTON
   ════════════════════════════════════════════════════════ */
.irb-pdf-callout-btn-alt {
  background: #fff !important;
  color: var(--wr-navy) !important;
  border: 2px solid var(--wr-teal) !important;
}
.irb-pdf-callout-btn-alt:hover {
  background: var(--wr-teal-bg) !important;
}

.email-modal-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 3000;
  background: rgba(14,36,64,.55);
  backdrop-filter: blur(2px);
  align-items: center; justify-content: center;
  padding: 20px;
}
.email-modal {
  background: #fff;
  width: 100%; max-width: 520px;
  border-radius: 16px;
  box-shadow: 0 24px 70px rgba(0,0,0,.32);
  overflow: hidden;
  animation: erPop .18s ease;
}
@keyframes erPop { from { transform: translateY(12px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
.email-modal-head {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 22px 22px 16px;
  background: linear-gradient(135deg, var(--wr-navy) 0%, var(--wr-navy-dk) 100%);
  color: #fff;
  position: relative;
}
.email-modal-head-icon {
  width: 42px; height: 42px; flex-shrink: 0;
  background: rgba(255,255,255,.16);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
}
.email-modal-title { font-size: 18px; font-weight: 800; line-height: 1.2; }
.email-modal-sub { font-size: 13px; opacity: .9; margin-top: 4px; line-height: 1.45; }
.email-modal-close {
  position: absolute; top: 14px; right: 14px;
  background: rgba(255,255,255,.16); border: none; color: #fff;
  width: 30px; height: 30px; border-radius: 8px; cursor: pointer;
  font-size: 15px; line-height: 1;
}
.email-modal-close:hover { background: rgba(255,255,255,.28); }
.email-modal-body { padding: 20px 22px; }
.email-field-label {
  display: block; font-size: 12.5px; font-weight: 700;
  color: var(--wr-navy); letter-spacing: .02em; margin-bottom: 6px;
}
.email-field-input {
  width: 100%; font-family: var(--sans); font-size: 14px;
  color: var(--t1); background: #F7F9FB;
  border: 1.5px solid var(--border); border-radius: 9px;
  padding: 11px 13px; outline: none; resize: vertical;
  transition: border-color .15s, background .15s;
}
.email-field-input:focus { border-color: var(--wr-teal); background: #fff; }
.email-modal-info {
  margin-top: 16px; font-size: 12.5px; line-height: 1.55;
  color: var(--t3); background: var(--wr-teal-bg);
  border: 1px solid rgba(46,156,170,.22); border-radius: 10px;
  padding: 12px 14px;
}
.email-modal-info b { color: var(--wr-navy); }
.email-modal-foot {
  display: flex; gap: 10px; justify-content: flex-end;
  padding: 0 22px 22px;
}
.email-btn-secondary {
  font-family: var(--sans); font-size: 14px; font-weight: 700;
  color: var(--wr-navy); background: #fff;
  border: 1.5px solid var(--border); border-radius: 9px;
  padding: 11px 18px; cursor: pointer;
}
.email-btn-secondary:hover { background: #F2F5F8; }
.email-btn-primary {
  font-family: var(--sans); font-size: 14px; font-weight: 800;
  color: #fff; background: var(--wr-teal);
  border: none; border-radius: 9px;
  padding: 11px 20px; cursor: pointer;
  box-shadow: 0 2px 10px rgba(46,156,170,.35);
}
.email-btn-primary:hover { background: #278995; }
@media (max-width: 520px) {
  .email-modal-foot { flex-direction: column-reverse; }
  .email-btn-primary, .email-btn-secondary { width: 100%; }
}

/* ════════════════════════════════════════════════════════
   URL ZONE — LOGO BESIDE INPUT
   ════════════════════════════════════════════════════════ */
.uzp-grid {
  display: grid;
  grid-template-columns: minmax(220px, 320px) 1fr;
  gap: 36px;
  align-items: center;
}
.uzp-logo-col {
  text-align: center;
  padding-right: 12px;
  border-right: 1px solid var(--border);
}
.uzp-logo {
  width: 100%;
  max-width: 300px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.uzp-logo-cap {
  margin-top: 12px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--wr-teal);
}
.uzp-form-col { min-width: 0; }

@media (max-width: 820px) {
  .uzp-grid { grid-template-columns: 1fr; gap: 22px; }
  .uzp-logo-col {
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding-right: 0;
    padding-bottom: 18px;
  }
  .uzp-logo { max-width: 240px; }
}

/* ════════════════════════════════════════════════════════
   ASSUMPTION-BUSTER SECTION ("my platform handles it")
   ════════════════════════════════════════════════════════ */
.myth-section { margin: 18px 0 8px; }
.myth-inner {
  background: linear-gradient(160deg, #fff 0%, #FBF4EC 100%);
  border: 1px solid #EFD9C2;
  border-radius: 16px;
  padding: 26px 30px 26px;
  box-shadow: var(--shadow-md);
}
.myth-head { max-width: 760px; margin: 0 auto 20px; text-align: center; }
.myth-eyebrow {
  font-family: var(--mono); font-size: 12px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: #B45309;
  margin-bottom: 9px;
}
.myth-title {
  font-size: 23px; font-weight: 800; color: var(--wr-navy);
  line-height: 1.2; letter-spacing: -.01em; margin-bottom: 11px;
}
.myth-sub { font-size: 14.5px; color: var(--t3); line-height: 1.55; }
.myth-sub b { color: var(--wr-navy); }

.myth-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 14px; margin-bottom: 0;
}
.myth-card {
  background: #fff; border: 1px solid var(--border);
  border-top: 4px solid #B45309; border-radius: 12px;
  padding: 18px 18px; text-align: center;
}
.myth-stat {
  font-size: 40px; font-weight: 800; color: #B45309;
  line-height: 1; letter-spacing: -.02em; margin-bottom: 12px;
}
.myth-stat-label { font-size: 13px; color: var(--t3); line-height: 1.5; }
.myth-stat-label b { color: var(--wr-navy); }

.myth-reality {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 16px; margin-bottom: 24px;
}
.myth-reality-col {
  border-radius: 12px; padding: 20px 22px;
}
.myth-reality-myth { background: #FBEDE4; border: 1px solid #EBCBB0; }
.myth-reality-truth { background: var(--wr-teal-bg); border: 1px solid rgba(46,156,170,.28); }
.mr-tag {
  display: inline-block; font-family: var(--mono); font-size: 10.5px;
  font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  border-radius: 20px; padding: 4px 12px; margin-bottom: 14px;
}
.mr-tag-myth { background: #B45309; color: #fff; }
.mr-tag-truth { background: var(--wr-teal); color: #fff; }
.mr-list { list-style: none; margin: 0; padding: 0; }
.mr-list li {
  position: relative; font-size: 13.5px; line-height: 1.55;
  color: #4a5566; padding-left: 22px; margin-bottom: 11px;
}
.mr-list li:last-child { margin-bottom: 0; }
.myth-reality-myth .mr-list li::before {
  content: '✕'; position: absolute; left: 0; top: 0;
  color: #B45309; font-weight: 800; font-size: 13px;
}
.myth-reality-truth .mr-list li::before {
  content: '✓'; position: absolute; left: 0; top: 0;
  color: var(--wr-teal); font-weight: 800; font-size: 13px;
}
.myth-foot {
  text-align: center; font-size: 15px; color: var(--wr-navy);
  line-height: 1.6; padding-top: 22px; border-top: 1px solid #EFD9C2;
}
.myth-foot b { color: var(--wr-teal); font-weight: 800; }

@media (max-width: 820px) {
  .myth-grid { grid-template-columns: 1fr; }
  .myth-reality { grid-template-columns: 1fr; }
  .myth-inner { padding: 30px 22px 28px; }
  .myth-title { font-size: 22px; }
}

/* ── Personalized stakes / conversion block ─────────────────────────────── */
.stakes-wrap{
  margin:28px 0;padding:30px 28px 32px;border-radius:16px;
  background:linear-gradient(160deg,#0b1f38 0%,#074882 100%);
  color:#fff;box-shadow:0 10px 34px rgba(7,72,130,.28);
}
.stakes-wrap--slim{padding:26px 28px 30px;}
.stakes-eyebrow{
  display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#ffd9b0;background:rgba(255,255,255,.08);
  padding:6px 12px;border-radius:999px;margin-bottom:14px;
}
.stakes-headline{
  font-size:25px;line-height:1.25;font-weight:800;margin:0 0 22px;color:#fff;
  max-width:760px;
}
.stakes-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.stake-card{
  display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:12px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
}
.stake-card.stake-legal{border-left:4px solid #e8a13a;}
.stake-card.stake-loss{border-left:4px solid #ff6b6b;}
.stake-card.stake-trust{border-left:4px solid #2E9CAA;}
.stake-icon{font-size:24px;line-height:1;flex-shrink:0;margin-top:2px;}
.stake-title{font-size:16px;font-weight:800;margin-bottom:5px;color:#fff;}
.stake-body{font-size:14px;line-height:1.55;color:rgba(255,255,255,.82);}
.stake-body strong{color:#ffe1b0;}
.stakes-math{margin-bottom:24px;}
.stakes-math-row{display:flex;gap:16px;flex-wrap:wrap;}
.sm-col{flex:1;min-width:260px;padding:20px;border-radius:12px;}
.sm-bad{background:rgba(255,107,107,.10);border:1px solid rgba(255,107,107,.30);}
.sm-good{background:rgba(46,156,170,.14);border:1px solid rgba(46,156,170,.40);}
.sm-label{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  margin-bottom:12px;color:rgba(255,255,255,.7);}
.sm-fixprice{font-size:38px;font-weight:800;color:#7fe3d6;line-height:1;margin-bottom:12px;}
.sm-fixprice span{font-size:16px;font-weight:600;color:rgba(255,255,255,.6);}
.sm-points div{font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.85);}
.sm-points strong{color:#fff;}
.stakes-cta-row{text-align:center;}
.stakes-cta-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(90deg,#2E9CAA,#7fe3d6);color:#06243f;
  font-size:18px;font-weight:800;padding:16px 38px;border-radius:12px;
  text-decoration:none;box-shadow:0 6px 20px rgba(46,156,170,.4);
  transition:transform .12s ease,box-shadow .12s ease;
}
.stakes-cta-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(46,156,170,.55);}
.stakes-cta-btn span{font-size:20px;}
.stakes-cta-sub{margin-top:12px;font-size:13px;color:rgba(255,255,255,.7);font-weight:600;}
@media (max-width:640px){
  .stakes-wrap{padding:24px 18px 26px;}
  .stakes-headline{font-size:21px;}
  .stakes-math-row{flex-direction:column;}
}

/* ── Progress inset (non-blocking corner panel) ─────────────────────────── */
#progressOverlay .progress-panel{ background:transparent; box-shadow:none; padding:0; max-width:none; width:100%; border:none; margin:0; max-height:none; }
#progressOverlay .pp-header{ padding-right:78px; }            /* clear the two corner buttons */
#progressOverlay .cat-grid{ grid-template-columns:1fr !important; gap:6px; margin-top:10px; }
#progressOverlay .cg-desc{ display:none; }                    /* hide long descriptions in compact inset */
#progressOverlay .live-counters{ gap:5px; }
#progressOverlay .pp-deep-strip #deepScanRows{ grid-template-columns:1fr !important; }

/* Minimized: collapse to just the header + master bar */
#progressOverlay.pp-minimized #ppScroll{ max-height:none; }
#progressOverlay.pp-minimized .live-counters,
#progressOverlay.pp-minimized .cat-grid,
#progressOverlay.pp-minimized #ppKeepOpen,
#progressOverlay.pp-minimized .pp-deep-strip,
#progressOverlay.pp-minimized #ppComplete{ display:none !important; }
#progressOverlay.pp-minimized{ width:300px; }

@media (max-width:640px){
  #progressOverlay{ right:10px; bottom:10px; width:calc(100vw - 20px); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCAN SLIDESHOW — active-waiting conversion layer
   ═══════════════════════════════════════════════════════════════════════════ */
#scanSlideshow{
  position:fixed; inset:0; z-index:9500;
  display:none; flex-direction:column; align-items:center; justify-content:center;
  font-family:Arial,Helvetica,sans-serif;
}
#scanSlideshow .ss-bg{
  position:absolute; inset:0;
  background:linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}
#scanSlideshow .ss-bg::after{
  content:""; position:absolute; inset:0; opacity:.9;
  background:
    radial-gradient(38% 38% at 10% 12%, rgba(46,156,170,.07), transparent 70%),
    radial-gradient(42% 42% at 90% 88%, rgba(196,163,90,.08), transparent 70%);
}
/* tap zones */
.ss-tap{
  position:absolute; top:0; bottom:96px; width:28%; z-index:9520;
  background:transparent; border:0; cursor:pointer; padding:0;
}
.ss-tap-l{ left:0; } .ss-tap-r{ right:0; }
.ss-tap:focus-visible{ outline:2px solid rgba(46,156,170,.4); outline-offset:-6px; }

.ss-frame{
  position:relative; z-index:9510;
  width:min(960px, 94vw); margin-bottom:96px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:0 26px;
  /* Keep the whole slide inside the band above the pinned status bar so it
     never spills past the fold. 96px = status-bar clearance, 24px breathing. */
  max-height:calc(100vh - 96px - 24px);
}
.ss-brandrow{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  margin-bottom:18px; flex-shrink:0;
}
.ss-brand{ font-size:18px; font-weight:800; letter-spacing:.01em; color:#0d2a4a; }
.ss-brand-360{ color:#C4A35A; }
.ss-brand-wordmark{ height:38px; width:auto; object-fit:contain; display:block; }
.ss-brandlogos{ display:flex; align-items:center; gap:11px; }
.ss-brandby{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.ss-brand-by{ font-size:13px; font-weight:600; color:#8893a2; }
.ss-brand-optisite{ height:38px; width:auto; object-fit:contain; display:block; opacity:1; }
.ss-details{
  background:#fff; border:1px solid #d3dae2; color:#5c6773;
  font-size:12px; font-weight:600; border-radius:7px; padding:7px 12px; cursor:pointer;
  transition:background .15s,border-color .15s;
}
.ss-details:hover{ background:#f2f5f9; border-color:#b9c3cf; }

.ss-stage{ width:100%; flex:1 1 auto; min-height:0; display:flex; align-items:center; justify-content:center; }
.ss-slide{ width:100%; transition:opacity .3s ease; }
/* Crossfade: outgoing slide fades to transparent before the next is swapped in
   (JS adds .ss-out, waits for the transition, then replaces the slide). */
.ss-slide.ss-out{ opacity:0; }
@media (prefers-reduced-motion: reduce){
  .ss-slide{ transition:none; }
}
.ss-kicker{
  display:inline-block;
  font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:#1f7a88; margin-bottom:14px;
  background:rgba(46,156,170,.1); border:1px solid rgba(46,156,170,.22);
  padding:5px 13px; border-radius:999px;
}
.ss-icon{ font-size:64px; line-height:1; margin-bottom:20px; }
.ss-head{
  font-size:27px; line-height:1.2; font-weight:800; color:#0d2a4a;
  max-width:30ch; margin:0 auto 12px;
  text-wrap:balance;
}
.ss-stake{
  font-size:15.5px; line-height:1.55; color:#33424f;
  max-width:54ch; margin:0 auto;
  text-wrap:pretty;
}
.ss-tie{
  display:inline-flex; align-items:center; gap:9px; margin-top:24px;
  font-size:13px; font-weight:700; color:#1f7a88;
  background:rgba(46,156,170,.1); border:1px solid rgba(46,156,170,.32);
  border-radius:999px; padding:9px 18px;
}
.ss-tie-dot{
  width:9px; height:9px; border-radius:50%; background:#2E9CAA;
  box-shadow:0 0 0 0 rgba(46,156,170,.6); animation:ssPulse 1.4s infinite;
}
.ss-bullets{
  list-style:none; margin:16px auto 0; padding:0; max-width:56ch; text-align:left;
}
.ss-bullets li{
  position:relative; padding:7px 0 7px 32px; font-size:14.5px; line-height:1.45;
  color:#26333f; font-weight:500;
  border-bottom:1px solid rgba(13,42,74,.05);
}
.ss-bullets li:last-child{ border-bottom:0; }
.ss-bullets li::before{
  content:'✓'; position:absolute; left:0; top:8px; width:20px; height:20px;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:800; color:#fff;
  background:#2E9CAA; border:1px solid #2E9CAA;
  border-radius:50%; box-shadow:0 2px 5px rgba(46,156,170,.3);
}
/* quiet trailing credential — the tool/standard name, de-emphasized so a
   non-technical reader skips it but still senses the rigor behind the line */
.ss-cred{
  display:inline-block; margin-left:6px; padding:1px 7px;
  font-size:11px; font-weight:600; letter-spacing:.2px; white-space:nowrap;
  color:#647281; background:rgba(46,156,170,.08);
  border:1px solid rgba(46,156,170,.18); border-radius:999px;
  vertical-align:baseline;
}
/* plain-language definition aside (e.g. what "WCAG" means) — a calm helper note,
   smaller than the stake line, so a doctor learns the term without it competing
   with the headline. */
.ss-note{
  max-width:58ch; margin:16px auto 0; padding:12px 17px;
  font-size:13px; line-height:1.5; color:#42505d; text-align:left;
  background:rgba(46,156,170,.06); border-left:3px solid #2E9CAA;
  border-radius:0 8px 8px 0; text-wrap:pretty;
}
.ss-note b{ color:#1f7a88; }

/* ── Animated scene (replaces the static emoji) ─────────────────────────── */
.ss-scene{
  width:200px; max-width:64vw; margin:2px auto 14px;
  display:flex; align-items:center; justify-content:center;
}
.ss-scene-svg{ width:100%; height:auto; max-height:118px; overflow:visible; }

/* ═══════════════════════════════════════════════════════════════════════════
   PER-PILLAR SLIDE THEMING  —  each pillar gets a distinct accent + layout so
   the deck reads like a designed slideshow, not a uniform loading template.
   The accent drives the kicker, index numeral, stat, and a soft background wash.
   ═══════════════════════════════════════════════════════════════════════════ */
.ss-slide{
  position:relative;
  --ss-accent:#2E9CAA; --ss-accent-d:#1f7a88; --ss-wash:rgba(46,156,170,.07);
}
.ss-theme-violet { --ss-accent:#6D5BD0; --ss-accent-d:#4f3fb0; --ss-wash:rgba(109,91,208,.07); }
.ss-theme-crimson{ --ss-accent:#C0392B; --ss-accent-d:#9b2c20; --ss-wash:rgba(192,57,43,.06); }
.ss-theme-teal   { --ss-accent:#2E9CAA; --ss-accent-d:#1f7a88; --ss-wash:rgba(46,156,170,.07); }
.ss-theme-gold   { --ss-accent:#C4A35A; --ss-accent-d:#9c7f3c; --ss-wash:rgba(196,163,90,.10); }
.ss-theme-plum   { --ss-accent:#A0457E; --ss-accent-d:#7e3463; --ss-wash:rgba(160,69,126,.06); }
.ss-theme-amber  { --ss-accent:#D97706; --ss-accent-d:#b45309; --ss-wash:rgba(217,119,6,.07); }
.ss-theme-blue   { --ss-accent:#2563EB; --ss-accent-d:#1d4ed8; --ss-wash:rgba(37,99,235,.06); }
.ss-theme-slate  { --ss-accent:#475569; --ss-accent-d:#334155; --ss-wash:rgba(71,85,105,.07); }
.ss-theme-navy   { --ss-accent:#0d2a4a; --ss-accent-d:#0d2a4a; --ss-wash:rgba(13,42,74,.05); }

/* ── Section-intro (divider) slide ─────────────────────────────────────────
   Opens each of the report's three sections. Bigger title, a short blurb, and
   a preview list of the categories checked in that section — the same spine
   the on-screen report uses. */
.ss-slide-divider{
  background:
    radial-gradient(120% 90% at 50% 0%, var(--ss-wash), transparent 72%);
}
.ss-div-copy{ max-width:58ch; }
.ss-div-phase{
  display:inline-block; font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  font-weight:800; color:var(--ss-accent-d);
  background:color-mix(in srgb, var(--ss-accent) 11%, transparent);
  border:1px solid color-mix(in srgb, var(--ss-accent) 24%, transparent);
  border-radius:999px; padding:5px 13px; margin-bottom:14px;
}
.ss-div-head{
  font-size:clamp(30px,5.2vw,46px); font-weight:900; line-height:1.04;
  color:var(--ss-accent-d); letter-spacing:-.02em; margin-bottom:12px;
}
.ss-div-blurb{
  font-size:clamp(13px,1.7vw,15.5px); line-height:1.5; color:#3a3a3a;
  max-width:50ch; margin:0 auto 16px;
}
.ss-div-list{
  list-style:none; margin:0 auto; padding:0; max-width:42ch;
  text-align:left; display:flex; flex-direction:column; gap:9px;
}
.ss-div-list li{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; line-height:1.35; color:#2a2a2a; }
.ss-div-ico{
  flex:0 0 auto; width:26px; height:26px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; font-size:14px;
  background:color-mix(in srgb, var(--ss-accent) 12%, transparent);
}
.ss-div-it-txt b{ color:#1a1a1a; font-weight:700; }
@media (max-width:560px){
  .ss-div-head{ font-size:26px; }
  .ss-div-list{ max-width:none; }
}

/* soft, centered background wash so each pillar feels distinct without an
   offset glow that bleeds past the rounded top edge. Kept inside the slide:
   centered horizontally, anchored a little below the top, and clipped to the
   slide's rounded corners. */
.ss-slide{
  background:
    radial-gradient(90% 70% at 50% 18%, var(--ss-wash), transparent 70%);
  border-radius:18px; padding:clamp(8px,2vw,22px);
  box-sizing:border-box;
  overflow:hidden;
}

/* large ghosted index numeral, top corner — "slide N of the deck" */
.ss-num{
  position:absolute; top:-2px; right:6px; z-index:0;
  font-size:clamp(56px,11vw,104px); font-weight:900; line-height:1;
  color:var(--ss-accent); opacity:.08; letter-spacing:-.04em;
  font-variant-numeric:tabular-nums; pointer-events:none; user-select:none;
}
.ss-layout-left .ss-num{ right:auto; left:6px; }

/* ── Layout engine ─────────────────────────────────────────────────────────
   left / right  → two-column split (visual + copy), mirrored
   center        → stacked, centered (original feel, themed)
   stat-hero     → giant stat replaces the scene as the hero          */
.ss-layout-left, .ss-layout-right{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  align-items:center; gap:clamp(14px,3vw,38px); text-align:left;
}
.ss-layout-center, .ss-layout-stat-hero{
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.ss-copy{ position:relative; z-index:1; min-width:0; }
.ss-visual{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; min-width:0; }
.ss-layout-center .ss-copy, .ss-layout-stat-hero .ss-copy{ max-width:64ch; }

/* themed kicker pill */
.ss-kicker{
  color:var(--ss-accent-d);
  background:color-mix(in srgb, var(--ss-accent) 11%, transparent);
  border-color:color-mix(in srgb, var(--ss-accent) 24%, transparent);
}
/* themed gold dot in the dot-strip stays gold globally; kicker/num/stat carry color */

/* split layouts read better with a slightly smaller, left-aligned head */
.ss-layout-left .ss-head, .ss-layout-right .ss-head{
  margin:0 0 10px; max-width:none; font-size:clamp(20px,2.6vw,27px);
}
.ss-layout-left .ss-stake, .ss-layout-right .ss-stake{ margin:0; max-width:46ch; }

/* ── Big stat block — the per-pillar visual anchor ─────────────────────────*/
.ss-stat{
  margin:16px 0 0; padding:14px 18px;
  background:color-mix(in srgb, var(--ss-accent) 7%, #fff);
  border:1px solid color-mix(in srgb, var(--ss-accent) 20%, transparent);
  border-left:4px solid var(--ss-accent);
  border-radius:12px; text-align:left;
  display:flex; align-items:baseline; gap:14px;
}
.ss-stat-big{
  font-size:clamp(30px,5vw,48px); font-weight:900; line-height:.95;
  color:var(--ss-accent-d); letter-spacing:-.02em; white-space:nowrap;
  flex-shrink:0;
}
.ss-stat-small{
  font-size:13.5px; line-height:1.4; color:#43505f; font-weight:500;
  text-wrap:balance;
}
/* centered card: the stat sits centered under the copy, stacked and tidy */
.ss-layout-center .ss-stat{
  flex-direction:column; align-items:center; text-align:center; gap:6px;
  border-left:1px solid color-mix(in srgb, var(--ss-accent) 20%, transparent);
  border-top:4px solid var(--ss-accent);
  padding:18px 26px; margin:18px auto 0; max-width:46ch;
}
.ss-layout-center .ss-stat-big{ font-size:clamp(40px,8vw,64px); }
/* Word/phrase stats (e.g. "Every page", "ChatGPT") must wrap and shrink instead
   of overflowing the card the way short numeric stats ("53%") safely don't. The
   base .ss-stat-big sets white-space:nowrap for the numeric case; override it
   here for the text variant in the centered layout (the active deck layout). */
.ss-layout-center .ss-stat-big.ss-stat-text{
  font-size:clamp(28px,6vw,46px);
  white-space:normal; line-height:1.05; text-wrap:balance;
  max-width:100%; overflow-wrap:break-word; flex-shrink:1; min-width:0;
}
.ss-layout-center .ss-stat-small{ max-width:42ch; }
.ss-layout-stat-hero .ss-stat{ text-align:left; }

/* stat-hero: the stat IS the hero, blown up and centered above the copy */
.ss-visual-stat{ width:100%; }
.ss-layout-stat-hero .ss-visual-stat .ss-stat{
  flex-direction:column; align-items:center; text-align:center; gap:8px;
  border-left:1px solid color-mix(in srgb, var(--ss-accent) 20%, transparent);
  border-top:4px solid var(--ss-accent);
  padding:24px 34px; margin:0 auto 4px; max-width:48ch;
}
.ss-layout-stat-hero .ss-visual-stat .ss-stat-big{ font-size:clamp(56px,12vw,92px); }
.ss-layout-stat-hero .ss-visual-stat .ss-stat-big.ss-stat-text{ font-size:clamp(34px,7vw,52px); white-space:normal; line-height:1; text-wrap:balance; }
.ss-layout-stat-hero .ss-visual-stat .ss-stat-small{ font-size:14.5px; max-width:40ch; text-align:center; }

/* themed scene accent: tint the brand-teal scene fills toward the pillar accent
   without rewriting every SVG — a soft hue overlay via filter on non-teal themes
   is avoided (would shift all colors); instead we just let the navy/gold/teal
   art stand and rely on kicker+stat+num+wash for the per-pillar identity. */

/* staggered bullet reveal — each <li> fades+rises in on its own delay.
   Slower, longer rise so a reader clearly sees each line arrive in turn. */
.ss-bullets li.ss-bi{ opacity:0; animation:ssBulletIn .7s cubic-bezier(.16,.84,.44,1) forwards; }
.ss-bullets li.ss-bi::before{ transform:scale(.4); animation:ssBulletTick .55s cubic-bezier(.34,1.56,.64,1) forwards; animation-delay:inherit; }
@keyframes ssBulletIn{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
@keyframes ssBulletTick{ to{ transform:scale(1); } }

/* INTRO */
.ss-anim-scanline{ animation:ssScanline 2.6s ease-in-out infinite; }
@keyframes ssScanline{ 0%,100%{ transform:translateY(0); opacity:.55; } 50%{ transform:translateY(114px); opacity:.2; } }
.ss-anim-magnify{ transform:translate(150px,40px); animation:ssMagnify 4s ease-in-out infinite; }
@keyframes ssMagnify{ 0%,100%{ transform:translate(150px,42px); } 50%{ transform:translate(96px,92px); } }

/* AI READINESS */
.ss-anim-aidot{ opacity:0; animation:ssAidot 2.4s ease-in-out infinite; }
.ss-anim-aidot.ss-d1{ animation-delay:0s; } .ss-anim-aidot.ss-d2{ animation-delay:.2s; } .ss-anim-aidot.ss-d3{ animation-delay:.4s; }
@keyframes ssAidot{ 0%,60%,100%{ opacity:.2; } 30%{ opacity:1; } }
.ss-anim-pop{ opacity:0; transform-origin:174px 90px; animation:ssPop .7s cubic-bezier(.34,1.56,.64,1) 1.1s forwards; }
@keyframes ssPop{ from{ opacity:0; transform:scale(.6); } to{ opacity:1; transform:scale(1); } }

/* ADA */
.ss-anim-focusring{ animation:ssFocus 3.4s cubic-bezier(.6,0,.4,1) infinite; }
@keyframes ssFocus{ 0%{ transform:translateY(0); opacity:1; } 28%{ transform:translateY(0); } 33%{ transform:translateY(24px); } 60%{ transform:translateY(24px); } 66%{ transform:translateY(60px); } 92%{ transform:translateY(60px); } 100%{ transform:translateY(0); } }
.ss-anim-sr{ animation:ssSr 3.4s cubic-bezier(.6,0,.4,1) infinite; }
@keyframes ssSr{ 0%{ transform:translate(150px,37px); } 33%{ transform:translate(150px,61px); } 66%{ transform:translate(150px,97px); } 100%{ transform:translate(150px,37px); } }

/* LOCAL */
.ss-anim-pindrop{ transform-origin:110px 56px; animation:ssPindrop 3.2s ease-in-out infinite; }
@keyframes ssPindrop{ 0%{ transform:translateY(-46px); opacity:0; } 18%{ transform:translateY(0); opacity:1; } 30%{ transform:translateY(-8px); } 40%{ transform:translateY(0); } 100%{ transform:translateY(0); opacity:1; } }
.ss-pin{ animation:ssPinFade 3.2s ease-in-out infinite; }
@keyframes ssPinFade{ 0%,40%{ opacity:.18; } 70%{ opacity:.4; } }

/* CONVERSION */
.ss-anim-btnpulse{ animation:ssBtnPulse 2.8s ease-in-out infinite; }
@keyframes ssBtnPulse{ 0%,100%{ filter:brightness(1); } 45%{ filter:brightness(1.12); } }
.ss-anim-tap{ animation:ssTap 2.8s ease-in-out infinite; }
@keyframes ssTap{ 0%{ transform:translate(118px,118px); opacity:0; } 30%{ opacity:1; } 45%{ transform:translate(110px,108px); } 60%{ transform:translate(118px,118px); opacity:1; } 100%{ opacity:0; } }
.ss-anim-confirm{ opacity:0; transform-origin:150px 44px; animation:ssConfirm 2.8s ease-in-out infinite; }
@keyframes ssConfirm{ 0%,55%{ opacity:0; transform:scale(.5); } 68%{ opacity:1; transform:scale(1.15); } 78%,100%{ opacity:1; transform:scale(1); } }

/* DESIGN */
.ss-anim-block{ opacity:0; animation:ssBlock .6s cubic-bezier(.34,1.56,.64,1) forwards; }
.ss-anim-block.ss-b1{ animation-delay:.3s; } .ss-anim-block.ss-b2{ animation-delay:.6s; } .ss-anim-block.ss-b3{ animation-delay:.9s; }
@keyframes ssBlock{ from{ opacity:0; transform:translateY(12px) scale(.92); } to{ opacity:var(--o,.82); transform:none; } }
.ss-anim-block.ss-b2,.ss-anim-block.ss-b3{ --o:.5; }

/* PERFORMANCE */
.ss-anim-gaugefill{ animation:ssGauge 3s cubic-bezier(.5,0,.3,1) infinite; }
@keyframes ssGauge{ 0%{ stroke-dashoffset:100; } 55%,100%{ stroke-dashoffset:18; } }
.ss-anim-needle{ transform-origin:110px 116px; animation:ssNeedle 3s cubic-bezier(.5,0,.3,1) infinite; }
@keyframes ssNeedle{ 0%{ transform:rotate(-78deg); } 55%,100%{ transform:rotate(48deg); } }

/* SEO */
.ss-anim-rankrise{ animation:ssRank 3.4s cubic-bezier(.5,0,.3,1) infinite; }
@keyframes ssRank{ 0%{ transform:translateY(42px); } 22%{ transform:translateY(42px); } 50%,100%{ transform:translateY(0); } }
.ss-anim-risearrow{ opacity:0; animation:ssRiseArrow 3.4s ease-in-out infinite; }
@keyframes ssRiseArrow{ 0%,20%{ opacity:0; } 45%{ opacity:1; } 75%,100%{ opacity:0; } }

/* MOBILE */
.ss-anim-phonein{ opacity:0; transform-origin:168px 75px; animation:ssPhoneIn .8s cubic-bezier(.34,1.4,.64,1) .5s forwards; }
@keyframes ssPhoneIn{ from{ opacity:0; transform:translateX(24px) scale(.9); } to{ opacity:1; transform:none; } }

/* SECURITY */
.ss-anim-shackle{ transform-origin:110px 62px; animation:ssShackle 3s ease-in-out infinite; }
@keyframes ssShackle{ 0%{ transform:rotate(-32deg) translateX(-6px); } 25%,100%{ transform:none; } }
.ss-anim-seal{ opacity:0; transform-origin:150px 58px; animation:ssSeal 3s ease-in-out infinite; }
@keyframes ssSeal{ 0%,45%{ opacity:0; transform:scale(.5) rotate(-12deg); } 60%{ opacity:1; transform:scale(1.12) rotate(0); } 72%,100%{ opacity:1; transform:scale(1); } }

/* CONTENT */
.ss-anim-line{ opacity:0; transform-origin:left center; animation:ssLine .5s ease forwards; }
.ss-anim-line.ss-l1{ animation-delay:.3s; } .ss-anim-line.ss-l2{ animation-delay:.5s; }
.ss-anim-line.ss-l3{ animation-delay:.7s; } .ss-anim-line.ss-l4{ animation-delay:.9s; } .ss-anim-line.ss-l5{ animation-delay:1.1s; }
@keyframes ssLine{ from{ opacity:0; transform:scaleX(.2); } to{ opacity:1; transform:scaleX(1); } }
.ss-anim-stamp{ opacity:0; transform-origin:150px 104px; animation:ssStamp .6s cubic-bezier(.34,1.56,.64,1) 1.4s forwards; }
@keyframes ssStamp{ from{ opacity:0; transform:scale(1.8) rotate(-14deg); } to{ opacity:1; transform:scale(1); } }

/* UX */
.ss-anim-pathdraw{ animation:ssPathDraw 4s cubic-bezier(.5,0,.3,1) infinite; }
@keyframes ssPathDraw{ 0%{ stroke-dashoffset:240; } 55%,100%{ stroke-dashoffset:0; } }
.ss-anim-flag{ opacity:0; transform-origin:182px 40px; animation:ssFlag .5s cubic-bezier(.34,1.56,.64,1) 2.4s infinite; }
@keyframes ssFlag{ 0%,40%{ opacity:0; transform:scale(.4); } 55%,100%{ opacity:1; transform:scale(1); } }
.ss-anim-traveler{ offset-path:path("M42 110 C 80 110 70 50 110 50 S 150 96 182 40"); animation:ssTravel 4s cubic-bezier(.5,0,.3,1) infinite; }
@keyframes ssTravel{ 0%{ offset-distance:0%; opacity:0; } 8%{ opacity:1; } 55%{ offset-distance:100%; opacity:1; } 60%,100%{ offset-distance:100%; opacity:0; } }

/* TECHNICAL */
.ss-anim-code{ opacity:0; animation:ssCode .4s ease forwards; }
.ss-anim-code.ss-c1{ animation-delay:.2s; } .ss-anim-code.ss-c2{ animation-delay:.4s; }
.ss-anim-code.ss-c3{ animation-delay:.6s; } .ss-anim-code.ss-c4{ animation-delay:.8s; }
@keyframes ssCode{ from{ opacity:0; transform:translateX(-6px); } to{ opacity:.55; transform:none; } }
.ss-anim-validate{ opacity:0; transform-origin:150px 100px; animation:ssValidate .6s cubic-bezier(.34,1.56,.64,1) 1.2s forwards; }
@keyframes ssValidate{ from{ opacity:0; transform:scale(.5); } to{ opacity:1; transform:scale(1); } }

/* CTA */
.ss-anim-ctaold{ animation:ssCtaOld 3.4s ease-in-out infinite; }
@keyframes ssCtaOld{ 0%,40%{ opacity:1; } 70%,100%{ opacity:.35; } }
.ss-anim-ctanew{ opacity:0; transform-origin:155px 75px; animation:ssCtaNew .7s cubic-bezier(.34,1.5,.64,1) 1.2s forwards; }
@keyframes ssCtaNew{ from{ opacity:0; transform:translateX(20px) scale(.9); } to{ opacity:1; transform:none; } }
.ss-anim-spark{ opacity:0; transform-origin:110px 32px; animation:ssSpark 1s ease 1s infinite; }
@keyframes ssSpark{ 0%{ opacity:0; transform:scale(.3) rotate(0); } 40%{ opacity:1; transform:scale(1.2) rotate(40deg); } 70%,100%{ opacity:0; transform:scale(1) rotate(90deg); } }

/* PROCESS (shared scanning grid) */
.ss-anim-cell{ opacity:.15; animation:ssCell 1.8s ease-in-out infinite; }
@keyframes ssCell{ 0%,100%{ opacity:.15; } 50%{ opacity:.7; } }
.ss-anim-sweep{ animation:ssSweep 2.4s cubic-bezier(.45,0,.55,1) infinite; }
@keyframes ssSweep{ 0%{ transform:translateX(0); opacity:.5; } 100%{ transform:translateX(140px); opacity:.5; } }

/* "behind the scenes" process slides — subtly distinct from pillar slides */
.ss-slide-process .ss-kicker{
  color:#8a7233; background:rgba(196,163,90,.12); border-color:rgba(196,163,90,.3);
}
.ss-slide-process .ss-bullets li::before{
  content:'⟳'; color:#fff; background:#b89441; border-color:#b89441;
  box-shadow:0 2px 5px rgba(196,163,90,.3);
}
.ss-live{
  margin:24px auto 0; max-width:46ch; text-align:left;
  background:linear-gradient(180deg, #fbf6ea, #fdfaf2);
  border:1px solid rgba(196,163,90,.5); border-radius:14px; padding:16px 18px;
  box-shadow:0 4px 16px rgba(196,163,90,.1);
  animation:ssIn .75s cubic-bezier(.16,.84,.44,1) both;
}
.ss-live-label{
  font-size:10.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:#9a7d3a; margin-bottom:12px; display:flex; align-items:center; gap:7px;
}
.ss-live-label::before{
  content:''; width:7px; height:7px; border-radius:50%; background:#C4A35A;
  box-shadow:0 0 0 0 rgba(196,163,90,.6); animation:ssPulse 1.4s infinite;
}
.ss-live-row{
  display:flex; align-items:baseline; gap:10px; padding:6px 0;
  border-top:1px solid rgba(196,163,90,.22);
}
.ss-live-row:first-of-type{ border-top:0; }
.ss-live-ic{ font-size:17px; line-height:1; flex-shrink:0; }
.ss-live-num{ font-size:18px; font-weight:800; color:#0d2a4a; white-space:nowrap; }
.ss-live-cap{ font-size:13px; color:#54616f; line-height:1.4; }
@keyframes ssPulse{
  0%{ box-shadow:0 0 0 0 rgba(46,156,170,.6); }
  70%{ box-shadow:0 0 0 8px rgba(46,156,170,0); }
  100%{ box-shadow:0 0 0 0 rgba(46,156,170,0); }
}
/* CTA slide */
.ss-slide-cta .ss-head{ max-width:22ch; }
.ss-cta-btn{
  margin-top:26px; background:#C4A35A; color:#0c1f38; border:0; border-radius:10px;
  padding:16px 34px; font-size:16px; font-weight:800; cursor:pointer;
  box-shadow:0 8px 24px rgba(196,163,90,.35); transition:transform .12s, box-shadow .12s;
}
.ss-cta-btn:hover{ transform:translateY(-1px); box-shadow:0 12px 30px rgba(196,163,90,.45); }

/* Sequenced reveal so each layer flows in after the last:
   1. the graphic settles in first (rides the slide crossfade, no extra delay),
   2. the HEADER fades up 0.5s after the graphic,
   3. the SUPPORTING text follows 1.0s after the header (1.5s total).
   The head/stake use no parent transform so their staggered rise is never
   masked by the slide-level crossfade. */
/* Sequenced reveal — each section of the slide flows in on its own, one after
   the next, so the eye is led down the card (kicker → head → stake → stat →
   live) instead of everything appearing at once. Driven by .ss-in, which is
   re-applied on every slide change. The number numeral rides the slide quietly.
   Delays were doubled (last block ~8.8s + .6s anim = ~9.4s) so the blocks spread
   across the slide instead of rushing in within the first ~5s and leaving the
   rest of the 22s dwell as dead air. Still ~12s of headroom under SLIDE_MS
   (22000ms), so every block lands well before the slide auto-advances. */
.ss-in .ss-kicker,
.ss-in .ss-head,
.ss-in .ss-stake,
.ss-in .ss-stat,
.ss-in .ss-live,
.ss-in .ss-cta-btn,
.ss-in .ss-div-phase,
.ss-in .ss-div-head,
.ss-in .ss-div-blurb,
.ss-in .ss-div-list{
  opacity:0; animation:ssSectionIn .6s cubic-bezier(.16,.84,.44,1) both;
}
.ss-in .ss-kicker  { animation-delay:.23s; }
.ss-in .ss-head    { animation-delay:2.53s; }
.ss-in .ss-stake   { animation-delay:5.06s; }
.ss-in .ss-stat    { animation-delay:7.59s; }
.ss-in .ss-live    { animation-delay:10.12s; }
.ss-in .ss-cta-btn { animation-delay:10.12s; }
.ss-in .ss-div-phase { animation-delay:.23s; }
.ss-in .ss-div-head  { animation-delay:1.04s; }
.ss-in .ss-div-blurb { animation-delay:2.19s; }
.ss-in .ss-div-list  { animation-delay:3.22s; }
/* Brisk post-scan mode: dwell drops to ~2.2s, so compress the reveal stagger to
   finish in time — otherwise the later sections never appear before the slide
   advances. Applied via .ss-in-brisk (added only once the scan completes). */
.ss-in-brisk .ss-kicker  { animation-delay:.05s; }
.ss-in-brisk .ss-head    { animation-delay:.30s; }
.ss-in-brisk .ss-stake   { animation-delay:.60s; }
.ss-in-brisk .ss-stat    { animation-delay:.90s; }
.ss-in-brisk .ss-live    { animation-delay:1.15s; }
.ss-in-brisk .ss-cta-btn { animation-delay:1.15s; }
.ss-in-brisk .ss-div-phase { animation-delay:.05s; }
.ss-in-brisk .ss-div-head  { animation-delay:.25s; }
.ss-in-brisk .ss-div-blurb { animation-delay:.50s; }
.ss-in-brisk .ss-div-list  { animation-delay:.75s; }
/* a live strip refreshed mid-slide (data just landed) skips the entrance reveal */
.ss-in .ss-live.ss-live-now{ animation:none; opacity:1; transform:none; }
@keyframes ssSectionIn{
  from{ opacity:0; transform:translateY(12px); }
  to{ opacity:1; transform:none; }
}
/* The ghosted numeral still rides a soft fade with the slide as a whole. */
.ss-in .ss-num{ animation:ssIn .55s ease both; }
@keyframes ssIn{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:none; }
}
/* The scene now lands statically (no per-element motion) — the deck's interest
   comes from distinct per-pillar layouts/colors, not from fussy animation. */
.ss-scene{ opacity:1; }

/* Freeze all in-scene element animations to their end-state for EVERYONE (not
   just reduced-motion). The artwork stays, the busy looping motion is gone. */
.ss-scene-svg *{ animation:none !important; }
.ss-anim-scanline,.ss-anim-magnify,.ss-anim-aidot,.ss-anim-pop,.ss-anim-focusring,
.ss-anim-sr,.ss-anim-pindrop,.ss-pin,.ss-anim-btnpulse,.ss-anim-tap,.ss-anim-confirm,
.ss-anim-block,.ss-anim-gaugefill,.ss-anim-needle,.ss-anim-rankrise,.ss-anim-risearrow,
.ss-anim-phonein,.ss-anim-lockbody,.ss-anim-shackle,.ss-anim-seal,.ss-anim-line,
.ss-anim-stamp,.ss-anim-pathdraw,.ss-anim-flag,.ss-anim-traveler,.ss-anim-code,
.ss-anim-validate,.ss-anim-ctaold,.ss-anim-ctanew,.ss-anim-spark{
  opacity:1 !important; transform:none !important;
}
.ss-anim-gaugefill{ stroke-dashoffset:18 !important; }
.ss-anim-pathdraw{ stroke-dashoffset:0 !important; }
.ss-anim-needle{ transform:rotate(58deg) !important; transform-origin:110px 116px; }
.ss-anim-traveler{ transform:translate(182px,40px) !important; }
.ss-anim-magnify{ transform:translate(96px,92px) !important; }

/* dots */
.ss-dots{ display:flex; gap:7px; margin-top:20px; flex-wrap:wrap; justify-content:center; max-width:90%; flex-shrink:0; }
.ss-dot{ width:7px; height:7px; border-radius:50%; background:rgba(13,42,74,.16); transition:background .2s,width .2s; }
.ss-dot.on{ background:#C4A35A; width:22px; border-radius:4px; }

/* pinned live status bar */
.ss-statusbar{
  position:absolute; left:0; right:0; bottom:0; z-index:9515;
  background:rgba(255,255,255,.92); backdrop-filter:blur(8px);
  border-top:1px solid #e3e8ee;
  box-shadow:0 -4px 20px rgba(13,42,74,.06);
  padding:12px clamp(18px,5vw,60px); box-sizing:border-box;
}
.ss-status-top{ display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.ss-status-spin{
  width:16px; height:16px; flex-shrink:0; border-radius:50%;
  border:2px solid rgba(13,42,74,.16); border-top-color:#C4A35A;
  animation:ssSpin .8s linear infinite;
}
@keyframes ssSpin{ to{ transform:rotate(360deg); } }
.ss-status-msg{ flex:1; font-size:14px; font-weight:600; color:#0d2a4a; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ss-status-pct{ font-size:14px; font-weight:800; color:#1f7a88; flex-shrink:0; font-variant-numeric:tabular-nums; }
.ss-status-track{ height:5px; border-radius:3px; background:rgba(13,42,74,.1); overflow:hidden; }
.ss-status-fill{ height:100%; width:0; border-radius:3px; background:linear-gradient(90deg,#2E9CAA,#C4A35A); transition:width .5s ease; }
.ss-status-note{ margin-top:9px; font-size:11.5px; color:#5e6b7a; }

/* mobile */
@media (max-width:600px){
  .ss-frame{ margin-bottom:120px; max-height:calc(100vh - 120px - 16px); }
  .ss-brandrow{ margin-bottom:12px; }
  .ss-icon{ font-size:52px; }
  .ss-kicker{ margin-bottom:9px; }
  .ss-head{ font-size:21px; max-width:none; margin-bottom:8px; }
  .ss-stake{ font-size:14px; }
  .ss-scene{ width:160px; margin:0 auto 10px; }
  .ss-scene-svg{ max-height:96px; }
  .ss-bullets{ margin-top:12px; }
  .ss-bullets li{ padding:6px 0 6px 30px; font-size:14px; }
  .ss-dots{ margin-top:14px; }
  .ss-brand{ font-size:16px; }
  .ss-brand-wordmark{ height:30px; }
  .ss-brand-optisite{ height:30px; }
  .ss-tap{ bottom:130px; }
  /* split layouts collapse to a single centered column on phones */
  .ss-layout-left, .ss-layout-right{
    display:flex; flex-direction:column; text-align:center; gap:10px;
  }
  .ss-layout-left .ss-visual, .ss-layout-right .ss-visual{ order:-1; }
  .ss-layout-left .ss-head, .ss-layout-right .ss-head,
  .ss-layout-left .ss-stake, .ss-layout-right .ss-stake{ max-width:none; }
  .ss-stat{ flex-direction:column; align-items:flex-start; gap:4px; text-align:left; padding:11px 14px; }
  .ss-stat-big{ font-size:34px; }
  .ss-num{ font-size:64px; top:-6px; }
}

/* short viewports (landscape phones, small laptops): hide the scene so the
   text + stat always clear the fold without scrolling */
@media (max-height:680px){
  .ss-scene{ display:none; }
  .ss-kicker{ margin-bottom:8px; }
  .ss-head{ margin-bottom:8px; }
  .ss-bullets{ margin-top:12px; }
  /* with the scene hidden, split layouts have an empty visual column — collapse */
  .ss-layout-left, .ss-layout-right{ display:flex; flex-direction:column; }
  .ss-layout-left .ss-visual:empty, .ss-layout-right .ss-visual:empty{ display:none; }
  .ss-layout-stat-hero .ss-visual-stat .ss-stat{ padding:14px 18px; }
  .ss-layout-stat-hero .ss-visual-stat .ss-stat-big{ font-size:clamp(40px,9vw,64px); }
}

/* reduced motion: no spin/pulse/slide animation */
@media (prefers-reduced-motion: reduce){
  .ss-in{ animation:none; }
  /* the staggered per-section reveal must not leave any section stuck at
     opacity:0 — force the end state for everyone who prefers reduced motion */
  .ss-in .ss-kicker, .ss-in .ss-head, .ss-in .ss-stake,
  .ss-in .ss-stat, .ss-in .ss-live, .ss-in .ss-cta-btn, .ss-in .ss-num{
    animation:none !important; opacity:1 !important; transform:none !important;
  }
  .ss-scene{ animation:none !important; opacity:1 !important; transform:none !important; }
  .ss-rise{ animation:none !important; opacity:1 !important; transform:none !important; }
  .ss-tie-dot{ animation:none; }
  .ss-status-spin{ animation:none; border-top-color:rgba(13,42,74,.16); }
  /* Disable every scene/bullet animation; force end-state visibility so nothing
     is left stuck at opacity:0 or mid-transform. */
  .ss-scene-svg *, .ss-bullets li.ss-bi, .ss-bullets li.ss-bi::before{ animation:none !important; }
  .ss-bullets li.ss-bi{ opacity:1 !important; transform:none !important; }
  .ss-bullets li.ss-bi::before{ transform:scale(1) !important; }
  .ss-anim-pop,.ss-anim-confirm,.ss-anim-seal,.ss-anim-stamp,.ss-anim-validate,
  .ss-anim-ctanew,.ss-anim-phonein,.ss-anim-flag,.ss-anim-block,.ss-anim-line,
  .ss-anim-code,.ss-anim-risearrow,.ss-anim-traveler,.ss-anim-spark{ opacity:1 !important; transform:none !important; }
  .ss-anim-gaugefill{ stroke-dashoffset:18 !important; }
  .ss-anim-pathdraw{ stroke-dashoffset:0 !important; }
  .ss-anim-needle{ transform:rotate(48deg) !important; }
}

/* ── REPORT-READY BANNER (directly under the score, high-prominence) ── */
.irb-report-ready{
  display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
  margin:0 24px 4px;
  background:linear-gradient(135deg,#0E2440,#1d4170);
  border:1px solid #2E9CAA; border-radius:12px;
  padding:18px 22px;
  box-shadow:0 6px 22px rgba(14,36,64,.25);
}
.irb-rr-text{ flex:1; min-width:220px; }
.irb-rr-title{ font-family:Arial,Helvetica,sans-serif; font-size:18px; font-weight:800; color:#fff; margin-bottom:4px; }
.irb-rr-sub{ font-family:Arial,Helvetica,sans-serif; font-size:13px; color:rgba(255,255,255,.78); line-height:1.45; }
.irb-rr-btns{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; flex-shrink:0; }
.irb-rr-btn-main{
  background:#C4A35A; color:#0c1f38; border:0; border-radius:9px;
  padding:16px 30px; font-family:Arial,Helvetica,sans-serif; font-size:16px; font-weight:800;
  cursor:pointer; white-space:nowrap;
  box-shadow:0 6px 18px rgba(196,163,90,.4);
  transition:transform .12s, box-shadow .12s, background .15s;
}
.irb-rr-btn-main:hover{ background:#d4b36a; transform:translateY(-2px); box-shadow:0 10px 26px rgba(196,163,90,.5); }
.irb-rr-btn-main:active{ transform:none; }
.irb-rr-btn-alt{
  background:transparent; color:#E8D9B5; border:1px solid rgba(196,163,90,.55); border-radius:9px;
  padding:13px 20px; font-family:Arial,Helvetica,sans-serif; font-size:14px; font-weight:700;
  cursor:pointer; white-space:nowrap; transition:background .15s, border-color .15s;
}
.irb-rr-btn-alt:hover{ background:rgba(196,163,90,.12); border-color:rgba(196,163,90,.85); }
@media (max-width:600px){
  .irb-report-ready{ flex-direction:column; align-items:stretch; text-align:center; margin:0 14px 4px; padding:16px; }
  .irb-rr-btns{ justify-content:center; }
  .irb-rr-btn-main{ flex:1; }
}

/* ── LUNOVUS PARENT-BRAND FOOTER BAND ── */
.footer-parent{
  max-width:1100px; margin:0 auto; padding:26px 0 4px;
  border-top:1px solid #dde3ea;
}
.footer-parent-inner{
  display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:center;
  text-align:left;
}
.footer-parent-logo{ height:52px; width:auto; flex-shrink:0; }
.footer-parent-logos{ display:flex; align-items:center; gap:14px; flex-shrink:0; }
.footer-parent-logos a{ display:inline-flex; align-items:center; line-height:0; }
.footer-optisite-logo{ height:40px; }
.footer-logo-divider{ font-size:22px; color:#c3ccd6; line-height:0; }
.footer-parent-text{ max-width:620px; }
.footer-parent-trust{
  font-family:Arial,Helvetica,sans-serif; font-size:13px; font-weight:800;
  letter-spacing:.04em; text-transform:uppercase; color:#3a7d44; margin-bottom:5px;
}
.footer-parent-desc{
  font-family:Arial,Helvetica,sans-serif; font-size:13px; line-height:1.55; color:#5b6b7e;
}
.footer-parent-desc strong{ color:#183466; }
@media (max-width:600px){
  .footer-parent-inner{ flex-direction:column; text-align:center; gap:14px; }
  .footer-parent-logo{ height:44px; }
  .footer-optisite-logo{ height:34px; }
}

/* ░░ OptiSite assistant — floating chatbot widget ░░ */
.oschat{ position:fixed; right:20px; bottom:20px; z-index:9000;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.oschat-launcher{
  display:inline-flex; align-items:center; gap:9px; cursor:pointer;
  background:linear-gradient(135deg, var(--wr-navy-dk,#183466), var(--wr-navy,#074882));
  color:#fff; border:none; border-radius:30px; padding:12px 18px;
  font-size:14px; font-weight:700; letter-spacing:.01em;
  box-shadow:0 8px 24px rgba(7,42,80,.28); transition:transform .15s, box-shadow .15s; }
.oschat-launcher:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(7,42,80,.36); }
.oschat-launcher-ic{ color:var(--wr-teal-lt,#A6DDDA); flex-shrink:0; }
.oschat.oschat-open .oschat-launcher{ display:none; }

.oschat-panel{
  position:absolute; right:0; bottom:0; width:370px; max-width:calc(100vw - 32px);
  height:540px; max-height:calc(100vh - 90px); display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--border,#DCE5EA); border-radius:16px; overflow:hidden;
  box-shadow:0 18px 50px rgba(7,42,80,.30); animation:osChatIn .22s cubic-bezier(.16,.84,.44,1) both; }
/* [hidden] must win over display:flex above, or the panel can never close. */
.oschat-panel[hidden]{ display:none !important; }
@keyframes osChatIn{ from{ opacity:0; transform:translateY(14px) scale(.98); } to{ opacity:1; transform:none; } }

.oschat-head{ display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:13px 15px; background:linear-gradient(135deg, var(--wr-navy-dk,#183466), var(--wr-navy,#074882)); color:#fff; }
.oschat-head-id{ display:flex; align-items:center; gap:10px; min-width:0; }
.oschat-avatar{ width:34px; height:34px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.14); border-radius:50%; font-size:18px; color:var(--wr-teal-lt,#A6DDDA); }
.oschat-title{ font-size:14px; font-weight:800; line-height:1.1; }
.oschat-sub{ font-size:11px; color:rgba(255,255,255,.78); margin-top:2px; line-height:1.25; }
.oschat-close{ background:transparent; border:none; color:rgba(255,255,255,.85); font-size:15px;
  cursor:pointer; padding:4px 6px; border-radius:6px; flex-shrink:0; }
.oschat-close:hover{ background:rgba(255,255,255,.14); color:#fff; }

.oschat-log{ flex:1; overflow-y:auto; padding:14px 14px 6px; background:#f7f9fb; display:flex; flex-direction:column; gap:9px; }
.oschat-msg{ display:flex; }
.oschat-msg-user{ justify-content:flex-end; }
.oschat-bubble{ max-width:84%; font-size:13.5px; line-height:1.5; padding:9px 13px; border-radius:14px;
  word-wrap:break-word; overflow-wrap:anywhere; }
.oschat-msg-assistant .oschat-bubble{ background:#fff; color:#27313c; border:1px solid var(--border,#DCE5EA);
  border-bottom-left-radius:5px; }
.oschat-msg-user .oschat-bubble{ background:var(--wr-teal,#2E9CAA); color:#fff; border-bottom-right-radius:5px; }
.oschat-typing .oschat-bubble{ display:inline-flex; gap:4px; align-items:center; padding:11px 14px; }
.oschat-dot{ width:6px; height:6px; border-radius:50%; background:#9fb0bd; animation:osDot 1.2s infinite ease-in-out; }
.oschat-dot:nth-child(2){ animation-delay:.18s; } .oschat-dot:nth-child(3){ animation-delay:.36s; }
@keyframes osDot{ 0%,60%,100%{ opacity:.3; transform:translateY(0); } 30%{ opacity:1; transform:translateY(-3px); } }

.oschat-chips{ display:flex; flex-wrap:wrap; gap:6px; padding:2px 14px 6px; background:#f7f9fb; max-height:108px; overflow-y:auto; }
.oschat-chips:empty{ display:none; }
.oschat-chip{ font-size:12px; font-weight:600; color:var(--wr-navy,#074882); background:#fff;
  border:1px solid var(--border,#DCE5EA); border-radius:16px; padding:6px 11px; cursor:pointer; text-align:left;
  transition:background .12s,border-color .12s; }
.oschat-chip::before{ content:'\2192\00a0'; color:var(--wr-teal,#2E9CAA); font-weight:800; }
.oschat-chip:hover{ background:var(--wr-teal-bg,#EAF6F5); border-color:var(--wr-teal,#2E9CAA); }

.oschat-form{ display:flex; align-items:center; gap:8px; padding:10px 12px; border-top:1px solid var(--border,#DCE5EA); background:#fff; }
.oschat-input{ flex:1; border:1px solid var(--border,#DCE5EA); border-radius:22px; padding:10px 14px;
  font-size:13.5px; outline:none; color:#27313c; transition:border-color .12s, box-shadow .12s; }
.oschat-input:focus{ border-color:var(--wr-teal,#2E9CAA); box-shadow:0 0 0 3px rgba(46,156,170,.15); }
.oschat-send{ flex-shrink:0; width:38px; height:38px; border:none; border-radius:50%; cursor:pointer;
  background:var(--wr-teal,#2E9CAA); color:#fff; display:flex; align-items:center; justify-content:center; transition:filter .12s; }
.oschat-send:hover{ filter:brightness(1.08); }
.oschat-foot{ font-size:10px; color:#8893a2; text-align:center; padding:0 12px 9px; background:#fff; line-height:1.35; }

@media (max-width:480px){
  .oschat{ right:14px; bottom:14px; }
  .oschat-panel{ width:calc(100vw - 28px); height:calc(100vh - 80px); }
  .oschat-launcher-txt{ display:none; }
  .oschat-launcher{ padding:14px; border-radius:50%; }
}

/* ── Local Competition block — inline on-screen summary ───────────────────
   Mirrors the report's competitor-block styles, but with self-contained color
   values (the report's --navy/--blue3/etc. CSS vars don't exist on the main
   page). Keeps the inline "who you're up against" block styled without opening
   the full report. */
.unified-summary .competitor-block{background:linear-gradient(180deg,#f1f5f9 0%,#e9eff5 100%);border:1px solid #ccd8e4;border-left:5px solid #074882;border-radius:6px 14px 14px 6px;padding:20px 22px;margin:18px 0;box-shadow:inset 0 1px 0 #fff;}
.unified-summary .cmp-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#074882;margin-bottom:12px;}
.unified-summary .cmp-headline-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.unified-summary .cmp-count{flex:0 0 auto;text-align:center;background:linear-gradient(135deg,#eef3f8,#f7f9fb);border:1px solid #e3e7ec;border-radius:10px;padding:14px 20px;min-width:120px;}
.unified-summary .cmp-count-num{font-size:38px;font-weight:800;color:#074882;line-height:1;}
.unified-summary .cmp-count-lbl{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#5c6773;font-weight:700;margin-top:6px;line-height:1.35;}
.unified-summary .cmp-headline-txt{flex:1;min-width:220px;font-size:13px;line-height:1.6;color:#1c2530;}
.unified-summary .cmp-headline-txt b{color:#074882;font-weight:800;}
.unified-summary .cmp-breakdown{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.unified-summary .cmp-chip{font-size:11px;font-weight:700;border-radius:20px;padding:4px 11px;border:1px solid #e3e7ec;}
.unified-summary .cmp-chip b{font-weight:800;}
.unified-summary .cmp-chip-ind{background:#EFF8F4;color:#2f6b56;border-color:#c7e6d3;}
.unified-summary .cmp-chip-chain{background:#f4f6f8;color:#5c6773;}
.unified-summary .cmp-ai{display:flex;gap:16px;align-items:center;margin-top:16px;padding:14px 16px;background:#EAF6F5;border:1px solid #bfe3e0;border-left:4px solid #2E9CAA;border-radius:9px;}
.unified-summary .cmp-ai-stat{flex:0 0 auto;font-size:22px;font-weight:800;color:#074882;line-height:1.1;text-align:center;white-space:nowrap;}
.unified-summary .cmp-ai-stat b{color:#2E9CAA;font-size:30px;}
.unified-summary .cmp-ai-txt{flex:1;min-width:200px;font-size:12.5px;line-height:1.55;color:#2f4a44;}
.unified-summary .cmp-ai-txt b{color:#074882;font-weight:800;}
.unified-summary .cmp-names{margin-top:14px;}
.unified-summary .cmp-names-h{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#074882;margin-bottom:8px;}
.unified-summary .cmp-names-src{font-weight:600;color:#5c6773;text-transform:none;letter-spacing:0;font-size:10.5px;}
.unified-summary .cmp-names-body{display:flex;flex-wrap:wrap;gap:6px;}
.unified-summary .cmp-name-chip{font-size:11px;font-weight:600;background:#fff;border:1px solid #e3e7ec;border-radius:14px;padding:4px 10px;color:#1c2530;}
.unified-summary .cmp-noweb{margin-top:12px;font-size:12.5px;line-height:1.55;color:#33424f;background:#fff7ed;border:1px solid #fde6c8;border-radius:9px;padding:11px 14px;}
.unified-summary .cmp-noweb b{color:#8a4b00;font-weight:800;}

/* ── Audit scope toggle (Key pages / Entire site) ────────────────────────── */
.uzp-scope{display:flex;gap:10px;margin-top:12px;}
.uzp-scope-btn{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;cursor:pointer;background:#fff;border:1.5px solid var(--border,#e3e7ec);border-radius:10px;padding:10px 14px;transition:border-color .15s,background .15s,box-shadow .15s;}
.uzp-scope-btn:hover{border-color:#9fb4c9;}
.uzp-scope-active{border-color:#2E9CAA;background:#EAF6F5;box-shadow:0 0 0 1px #2E9CAA inset;}
.uzp-scope-title{font-size:13px;font-weight:800;color:#074882;}
.uzp-scope-active .uzp-scope-title{color:#0b6b75;}
.uzp-scope-sub{font-size:11px;color:#5c6773;line-height:1.3;}
@media(max-width:480px){.uzp-scope{flex-direction:column;}}

/* ── Low-confidence scan banner ──────────────────────────────────────────── */
.us-lowconf{display:flex;gap:14px;align-items:flex-start;background:#fff7ed;border:1px solid #fdba74;border-left:5px solid #ea580c;border-radius:10px;padding:14px 18px;margin:0 0 16px;}
.us-lowconf-icon{font-size:22px;line-height:1;color:#ea580c;flex:0 0 auto;margin-top:1px;}
.us-lowconf-title{font-size:14px;font-weight:800;color:#9a3412;margin-bottom:3px;}
.us-lowconf-text{font-size:12.5px;line-height:1.55;color:#7c2d12;}
