/* ============================================================================
   ClarisEdge — custom.css
   Bespoke, token-driven stylesheet. Single source of truth for tokens is
   brand_theme/brand_theme.md. Tokens are namespaced --ce-*.
   ========================================================================== */

:root{
  /* Surfaces */
  --ce-bg:#f6f7f9; --ce-surface:#ffffff; --ce-surface-2:#fcfdfe; --ce-surface-3:#eef4f7;
  /* Ink (--ce-muted = faintest essential text; --ce-ink-faint = decorative/disabled only) */
  --ce-ink:#18202b; --ce-ink-2:#3a4453; --ce-ink-3:#5b6878; --ce-muted:#76808f; --ce-ink-faint:#9aa3b0;
  --ce-line:#d8dee6; --ce-line-2:#e7ebf0; --ce-line-strong:#ccd3dc;
  /* Brand navy (anchor) */
  --ce-navy:#143d59; --ce-navy-strong:#0e2c42; --ce-navy-soft:#e7eef3; --ce-navy-ink:#0e2c42;
  /* Accent — clarity azure */
  --ce-accent:#1b6fa3; --ce-accent-strong:#14567e; --ce-accent-ink:#123f5c;
  --ce-accent-soft:#e8f1f6; --ce-accent-line:#c5d8e4;
  /* Warm note — amber (fill/marker only; text = --ce-amber-ink) */
  --ce-amber:#c7853a; --ce-amber-strong:#9a6320; --ce-amber-ink:#6e4a18;
  --ce-amber-soft:#fbf1e1; --ce-amber-line:#ead4ac;
  /* Direction / status */
  --ce-pos:#1f9d6b; --ce-pos-soft:#e6f5ee; --ce-neg:#d6455b; --ce-neg-soft:#fbe6ea; --ce-neutral:#76808f;
  /* Action Zones — solid / soft (badge bg) / ink (badge text) */
  --ce-zone-build:#143d59;    --ce-zone-build-soft:#e7eef3;    --ce-zone-build-ink:#143d59;
  --ce-zone-test:#1b6fa3;     --ce-zone-test-soft:#e8f1f6;     --ce-zone-test-ink:#14567e;
  --ce-zone-seasonal:#c7853a; --ce-zone-seasonal-soft:#fbf1e1; --ce-zone-seasonal-ink:#6e4a18;
  --ce-zone-content:#2f8f6b;  --ce-zone-content-soft:#e6f3ec;  --ce-zone-content-ink:#1f6b4e;
  --ce-zone-watch:#8a93a6;    --ce-zone-watch-soft:#eff1f4;    --ce-zone-watch-ink:#5b6878;
  /* Heat ramp */
  --ce-heat-0:#eef3f7; --ce-heat-1:#cfe0ea; --ce-heat-2:#8fb4cc; --ce-heat-3:#3f7ca3; --ce-heat-4:#143d59;
  /* Shadows */
  --ce-shadow-sm:0 1px 2px rgba(24,32,43,.05),0 1px 3px rgba(24,32,43,.05);
  --ce-shadow:0 1px 2px rgba(24,32,43,.05),0 10px 28px rgba(24,32,43,.07);
  --ce-shadow-pop:0 14px 44px rgba(24,32,43,.16);
  /* Type */
  --ce-font-display:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --ce-font-body:"Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  /* Layout */
  --ce-maxw:1120px;
  --ce-radius:12px; --ce-radius-sm:8px; --ce-radius-pill:999px;
}

/* ---- Reset / base -------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ce-font-body);
  font-size:17px;
  line-height:1.62;
  color:var(--ce-ink-2);
  background:var(--ce-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--ce-accent);text-decoration:none;transition:color .15s ease;}
a:hover{color:var(--ce-accent-strong);}
h1,h2,h3,h4{
  font-family:var(--ce-font-display);
  color:var(--ce-ink);
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.012em;
  margin:0 0 .5em;
}
p{margin:0 0 1rem;}
ul,ol{margin:0 0 1rem;padding-left:1.2rem;}
strong{color:var(--ce-ink);font-weight:600;}
:focus-visible{outline:2px solid var(--ce-accent);outline-offset:2px;border-radius:3px;}
::selection{background:var(--ce-accent-soft);color:var(--ce-navy-ink);}
[id]{scroll-margin-top:88px;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---- Layout primitives --------------------------------------------------- */
.container{width:100%;max-width:var(--ce-maxw);margin:0 auto;padding:0 24px;}
.section{padding:88px 0;}
.section--tight{padding:64px 0;}
.section--bordered{border-top:1px solid var(--ce-line);}
.section--muted{background:var(--ce-surface-3);border-top:1px solid var(--ce-line);border-bottom:1px solid var(--ce-line);}

.section-kicker{
  display:flex;align-items:center;gap:10px;
  font-family:var(--ce-font-body);
  font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ce-accent-strong);margin:0 0 14px;
}
.section-kicker::before{content:"";flex:none;width:22px;height:2px;background:currentColor;opacity:.75;border-radius:1px;}
.section-title{font-size:2rem;margin:0 0 16px;max-width:22ch;}
.section-lead{font-size:1.12rem;color:var(--ce-ink-3);max-width:62ch;margin:0;}
.section-intro{max-width:760px;margin-bottom:44px;}
.eyebrow{
  font-family:var(--ce-font-body);font-size:.72rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ce-muted);margin:0 0 10px;
}

/* ---- Buttons ------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--ce-font-body);font-size:.98rem;font-weight:600;line-height:1;
  padding:14px 22px;border-radius:var(--ce-radius-sm);border:1px solid transparent;
  cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
  white-space:nowrap;
}
.btn--primary{background:var(--ce-accent-strong);color:#fff;box-shadow:0 1px 2px rgba(14,44,66,.18);}
.btn--primary:hover{background:var(--ce-navy);color:#fff;box-shadow:0 3px 10px rgba(14,44,66,.18);}
.btn--secondary{background:var(--ce-surface);color:var(--ce-ink);border-color:var(--ce-line-strong);}
.btn--secondary:hover{border-color:var(--ce-accent);color:var(--ce-accent-strong);}
.btn--lg{padding:16px 26px;font-size:1.02rem;}
.btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);}
.btn--ghost-light:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.6);}

/* ---- Header / navigation ------------------------------------------------- */
#site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--ce-line);
}
.header-row{display:flex;align-items:center;gap:24px;height:72px;}
/* Wordmark-first logo: the ClarisEdge type is the logo. No symbol beside it;
   the one distinctive touch is a restrained azure rule under "Edge". */
.brand-lockup{display:inline-flex;align-items:center;}
.brand-word{
  font-family:var(--ce-font-display);font-size:1.5rem;font-weight:600;
  letter-spacing:-.02em;color:var(--ce-navy);line-height:1;
}
.brand-word__edge{color:var(--ce-accent-strong);font-weight:800;position:relative;}
.brand-word__edge::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--ce-accent);border-radius:2px;
}
.nav{margin-left:auto;display:flex;align-items:center;gap:30px;}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0;}
.nav-links a{
  font-family:var(--ce-font-body);font-size:.96rem;font-weight:500;color:var(--ce-ink-2);
  padding:4px 0;background:linear-gradient(currentColor,currentColor) left bottom / 0 1.5px no-repeat;
  transition:color .15s ease,background-size .2s ease;
}
.nav-links a:hover{color:var(--ce-accent-strong);background-size:100% 1.5px;}
.nav-cta{font-size:.95rem;padding:10px 18px;}
.nav-toggle{
  display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--ce-line-strong);
  border-radius:var(--ce-radius-sm);background:var(--ce-surface);cursor:pointer;
  align-items:center;justify-content:center;
}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{
  content:"";display:block;width:18px;height:2px;background:var(--ce-ink);border-radius:2px;position:relative;
}
.nav-toggle span::before{position:absolute;top:-6px;}
.nav-toggle span::after{position:absolute;top:6px;}

/* ---- Hero ---------------------------------------------------------------- */
.hero{
  position:relative;padding:104px 0 84px;overflow:hidden;
  background:linear-gradient(180deg,var(--ce-surface) 0%,var(--ce-bg) 88%);
  border-bottom:1px solid var(--ce-line-2);
}
/* faint analytical grid, faded out radially so it never competes with the copy */
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(var(--ce-line-2) 1px,transparent 1px),
    linear-gradient(90deg,var(--ce-line-2) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(110% 90% at 78% 0%,#000 0%,transparent 72%);
          mask-image:radial-gradient(110% 90% at 78% 0%,#000 0%,transparent 72%);
  opacity:.7;
}
.hero .container{position:relative;}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:64px;align-items:center;}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.5rem);font-weight:800;letter-spacing:-.024em;margin:0 0 22px;max-width:20ch;}
.hero-lead{font-size:1.2rem;line-height:1.55;color:var(--ce-ink-3);max-width:54ch;margin:0 0 28px;}
.hero-lead strong{color:var(--ce-ink);font-weight:600;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;}
.hero-trust{
  margin:22px 0 0;font-size:.86rem;color:var(--ce-muted);
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.hero-frame{
  background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);
  box-shadow:var(--ce-shadow);overflow:hidden;
}
.hero-frame img{width:100%;display:block;}

/* Report preview (hero art) — a restrained, real excerpt, not a fake dashboard.
   .hero-art adds a second "sheet" behind the report so it reads as a document. */
.hero-art{position:relative;}
.hero-art::before{
  content:"";position:absolute;top:16px;left:16px;right:-12px;bottom:-12px;
  background:var(--ce-surface-2);border:1px solid var(--ce-line);
  border-radius:var(--ce-radius);
}
.report-preview{
  position:relative;
  background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);
  box-shadow:var(--ce-shadow-pop);overflow:hidden;
}
.report-preview__head{
  display:flex;align-items:center;gap:12px;
  padding:16px 20px;background:linear-gradient(120deg,#1b4d70,var(--ce-navy) 55%,var(--ce-navy-strong));color:#fff;
}
.report-preview__mark{flex:none;display:block;}
.report-preview__title{font-family:var(--ce-font-display);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;}
.report-preview__meta{font-size:.8rem;color:#cfe0ea;margin-top:2px;}
.report-preview__table{border:none;border-radius:0;overflow:visible;}
.report-preview .map-table{width:100%;min-width:0;table-layout:fixed;font-size:.9rem;}
.report-preview .map-table th{white-space:nowrap;font-size:.68rem;}
.report-preview .map-table th,
.report-preview .map-table td{padding:11px 10px;}
.report-preview .map-table td{white-space:normal;}
.report-preview .map-table td.cluster-name{font-size:.92rem;line-height:1.35;}
.report-preview .map-table th:nth-child(1),
.report-preview .map-table td:nth-child(1){width:35%;padding-left:20px;}
.report-preview .map-table th:nth-child(2),
.report-preview .map-table td:nth-child(2){width:29%;}
.report-preview .map-table th:nth-child(3),
.report-preview .map-table td:nth-child(3){width:20%;}
.report-preview .map-table th:nth-child(4),
.report-preview .map-table td:nth-child(4){width:16%;padding-right:20px;}
.report-preview .az-pill{white-space:nowrap;font-size:.7rem;padding:5px 8px;gap:5px;}
.report-preview .az-pill::before{width:7px;height:7px;}
.report-preview .chip{white-space:nowrap;font-size:.72rem;padding:4px 8px;}
.report-preview__foot{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  padding:14px 20px;border-top:1px solid var(--ce-line);background:var(--ce-surface-2);
  font-size:.9rem;color:var(--ce-ink-2);
}
.report-preview__lead{
  font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ce-amber-ink);background:var(--ce-amber-soft);border:1px solid var(--ce-amber-line);
  padding:3px 8px;border-radius:var(--ce-radius-pill);
}
.hero-art__caption{
  position:relative;margin:26px 0 0;font-size:.85rem;color:var(--ce-muted);text-align:right;
}
.hero-art__caption a{font-weight:600;color:var(--ce-accent-strong);}
.hero-art__caption a:hover{color:var(--ce-navy);}

/* Button hint (e.g. "· pre-order" until checkout is wired) */
.btn__hint{font-weight:500;opacity:.8;font-size:.86em;}

/* ---- Stat strip ---------------------------------------------------------- */
.stat-strip{background:var(--ce-surface);border-top:1px solid var(--ce-line);border-bottom:1px solid var(--ce-line);}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.stat{padding:26px 28px;border-left:1px solid var(--ce-line);}
.stat:first-child{border-left:none;padding-left:0;}
.stat strong{display:block;font-family:var(--ce-font-display);font-size:1.06rem;color:var(--ce-ink);margin-bottom:3px;}
.stat span{font-size:.95rem;color:var(--ce-ink-3);}

/* ---- Panels / deliverables grid ----------------------------------------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.panel{
  background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);
  padding:28px;box-shadow:var(--ce-shadow-sm);
}
.panel h3{font-size:1.18rem;margin:0 0 10px;}
.panel p{margin:0;color:var(--ce-ink-3);font-size:1rem;}
.panel .eyebrow{color:var(--ce-accent-strong);}

/* ---- Action-zone pills (signature) --------------------------------------- */
.az-pill{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--ce-font-body);font-size:.78rem;font-weight:600;line-height:1;
  padding:6px 12px;border-radius:var(--ce-radius-pill);white-space:nowrap;
}
.az-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.85;flex:none;}
.az-pill--build-around{background:var(--ce-zone-build-soft);color:var(--ce-zone-build-ink);}
.az-pill--test-fast{background:var(--ce-zone-test-soft);color:var(--ce-zone-test-ink);}
.az-pill--seasonal-play{background:var(--ce-zone-seasonal-soft);color:var(--ce-zone-seasonal-ink);}
.az-pill--content-magnet{background:var(--ce-zone-content-soft);color:var(--ce-zone-content-ink);}
.az-pill--watch-ignore{background:var(--ce-zone-watch-soft);color:var(--ce-zone-watch-ink);}

/* Zone explainer cards (homepage) */
.zone-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.zone-card{
  background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius-sm);
  padding:22px 18px;border-top:3px solid var(--ce-zone);
}
.zone-card--build{--ce-zone:var(--ce-zone-build);}
.zone-card--test{--ce-zone:var(--ce-zone-test);}
.zone-card--seasonal{--ce-zone:var(--ce-zone-seasonal);}
.zone-card--content{--ce-zone:var(--ce-zone-content);}
.zone-card--watch{--ce-zone:var(--ce-zone-watch);}
.zone-card h3{font-size:1.02rem;margin:14px 0 8px;}
.zone-card p{font-size:.92rem;color:var(--ce-ink-3);margin:0;}

/* ---- Method steps -------------------------------------------------------- */
.method-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start;}
.method-steps{display:flex;flex-direction:column;gap:4px;}
.method-step{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--ce-line);}
.method-step:first-child{border-top:none;}
.method-step__idx{
  font-family:var(--ce-font-display);font-weight:700;font-size:.9rem;color:var(--ce-accent-strong);
  width:34px;height:34px;border-radius:50%;background:var(--ce-accent-soft);
  display:flex;align-items:center;justify-content:center;
}
.method-step p{margin:0;color:var(--ce-ink-3);}
.method-step strong{color:var(--ce-ink);}

/* ---- Coverage ------------------------------------------------------------ */
.coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.coverage-card{background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);padding:26px;}
.coverage-card h3{font-size:1.1rem;margin:0 0 10px;}
.coverage-card p{color:var(--ce-ink-3);font-size:.98rem;}
.pill-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.pill{
  display:inline-flex;align-items:baseline;gap:7px;font-size:.84rem;font-weight:500;
  padding:6px 12px;border-radius:var(--ce-radius-pill);background:var(--ce-surface-3);
  border:1px solid var(--ce-line);color:var(--ce-ink-2);
}
.pill__status{font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--ce-muted);}
.pill--live{background:var(--ce-accent-soft);border-color:var(--ce-accent-line);color:var(--ce-accent-ink);}
.pill--live .pill__status{color:var(--ce-accent-strong);}

/* ---- Trust band (navy cover) --------------------------------------------- */
.trust{background:radial-gradient(135% 150% at 0% 0%, #1b4d70, #143d59, #0e2c42);color:#fff;}
.trust .section-kicker{color:#cfe0ea;}
.trust h2{color:#fff;}
.trust-lead{color:#d7e3ec;font-size:1.12rem;max-width:62ch;}
.trust-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;}
.trust-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--ce-radius);padding:26px;}
.trust-card h3{color:#fff;font-size:1.04rem;margin:0 0 14px;display:flex;align-items:center;gap:9px;}
.trust-card ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px;}
.trust-card li{position:relative;padding-left:24px;color:#dbe6ee;font-size:.98rem;}
.trust-card li::before{position:absolute;left:0;top:0;font-weight:700;}
.trust-card--shows li::before{content:"✓";color:#7fd3ab;}
.trust-card--not li::before{content:"–";color:#f3a8b4;}

/* ---- Footer -------------------------------------------------------------- */
#site-footer{background:radial-gradient(135% 160% at 100% 0%, #1b4d70, #143d59, #0e2c42);color:#cdd9e3;}
.footer-cta{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;padding:64px 0;align-items:center;}
.footer-cta h2{color:#fff;font-size:1.7rem;margin:0 0 12px;}
.footer-cta p{color:#c2d0db;margin:0 0 22px;max-width:46ch;}
.footer-cta__actions{display:flex;gap:12px;flex-wrap:wrap;}
.footer-card{background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);padding:26px;}
.footer-card__kicker{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ce-accent-strong);margin:0 0 12px;font-weight:600;}
.signup-note{font-size:.8rem;color:var(--ce-muted);margin:12px 0 0;}

/* MailerLite embedded form (footer signup) — ported from impactascend, scoped to
   #site-footer and re-tokenized to --ce-*. The footer card is light, so text reads dark. */
#site-footer .ml-embedded,
#site-footer .ml-form-embedContainer,
#site-footer .ml-form-embedWrapper,
#site-footer .ml-form-embedBody{width:100%;max-width:none !important;}

#site-footer .ml-form-embedContent,
#site-footer .ml-form-successContent{margin-bottom:1rem !important;}

#site-footer .ml-form-embedContainer .ml-form-align-center{text-align:left !important;}

#site-footer .ml-form-embedContainer .ml-form-embedWrapper{
  display:block !important;border:0 !important;background-color:transparent !important;box-shadow:none !important;
}

#site-footer .ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody,
#site-footer .ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody{padding:0 !important;}

#site-footer .ml-form-embedContent h4,
#site-footer .ml-form-successContent h4{
  margin:0 0 .5rem !important;color:var(--ce-ink) !important;font-family:var(--ce-font-display) !important;
  font-size:1.02rem !important;font-weight:700 !important;line-height:1.35 !important;
}

#site-footer .ml-form-embedContent p,
#site-footer .ml-form-successContent p,
#site-footer .ml-form-successContent span{
  color:var(--ce-ink-2) !important;font-family:var(--ce-font-body) !important;
  font-size:.94rem !important;line-height:1.62 !important;
}

#site-footer input[type="text"],
#site-footer input[type="email"],
#site-footer input[type="tel"],
#site-footer input[type="number"],
#site-footer textarea,
#site-footer select,
#site-footer .ml-form-fieldRow input{
  width:100%;min-height:2.95rem;border:1px solid var(--ce-line-strong) !important;
  border-radius:var(--ce-radius-sm) !important;background:#fff !important;color:var(--ce-ink) !important;
  box-shadow:none !important;font-family:var(--ce-font-body) !important;font-size:.94rem !important;
}

#site-footer input[type="text"]:focus,
#site-footer input[type="email"]:focus,
#site-footer input[type="tel"]:focus,
#site-footer input[type="number"]:focus,
#site-footer textarea:focus,
#site-footer select:focus{border-color:var(--ce-accent) !important;}

#site-footer label,
#site-footer .ml-form-horizontalRow label,
#site-footer .ml-form-fieldRow label{color:var(--ce-ink) !important;font-size:.88rem !important;font-weight:600 !important;}

#site-footer .ml-form-embedSubmit button,
#site-footer button[type="submit"],
#site-footer input[type="submit"]{
  width:100%;min-height:2.95rem;border:1px solid var(--ce-accent-strong);border-radius:var(--ce-radius-sm) !important;
  background:var(--ce-accent) !important;box-shadow:none;color:#fff !important;font-family:var(--ce-font-body) !important;
  font-size:.94rem !important;font-weight:600 !important;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}

#site-footer .ml-form-embedSubmit button:hover,
#site-footer button[type="submit"]:hover,
#site-footer input[type="submit"]:hover{background:var(--ce-accent-strong) !important;border-color:var(--ce-accent-strong) !important;}

#site-footer .ml-form-checkboxRow,
#site-footer .ml-form-recaptcha{margin-top:1rem !important;}

#site-footer iframe{width:100%;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;font-size:.9rem;color:#9fb4c6;}
.footer-bottom .container{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;}
.footer-links a{color:#cdd9e3;}
.footer-links a:hover{color:#fff;}
.footer-links span{opacity:.4;margin:0 8px;}

/* ---- Content / legal pages ----------------------------------------------- */
.page-hero{padding:64px 0 40px;border-bottom:1px solid var(--ce-line);background:var(--ce-surface);}
.page-kicker{font-family:var(--ce-font-body);font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ce-accent-strong);margin:0 0 14px;}
.page-title{font-size:2.4rem;margin:0 0 14px;}
.page-lead{font-size:1.14rem;color:var(--ce-ink-3);max-width:64ch;margin:0;}
.prose{max-width:760px;}
.prose h2{font-size:1.45rem;margin:40px 0 14px;}
.prose h3{font-size:1.12rem;margin:28px 0 10px;}
.prose p,.prose li{color:var(--ce-ink-2);}
.prose .meta-updated{color:var(--ce-muted);font-size:.92rem;margin-bottom:30px;}

/* ---- Reports listing ----------------------------------------------------- */
.list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.list-card{
  display:block;background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);
  padding:28px;box-shadow:var(--ce-shadow-sm);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.list-card:hover{border-color:var(--ce-accent-line);box-shadow:var(--ce-shadow);transform:translateY(-2px);}
.list-card__eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ce-accent-strong);margin:0 0 10px;}
.list-card h2{font-size:1.3rem;margin:0 0 8px;color:var(--ce-ink);}
.list-card p{color:var(--ce-ink-3);font-size:1rem;margin:0 0 18px;}
.list-card__meta{display:flex;justify-content:space-between;font-size:.86rem;color:var(--ce-muted);border-top:1px solid var(--ce-line);padding-top:14px;}
.list-card__meta .go{color:var(--ce-accent-strong);font-weight:600;}
.empty-state{background:var(--ce-surface);border:1px dashed var(--ce-line-strong);border-radius:var(--ce-radius);padding:48px;text-align:center;}

/* ---- Sample report ------------------------------------------------------- */
.download-card{
  display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;
  background:var(--ce-navy-soft);border:1px solid var(--ce-accent-line);
  border-radius:var(--ce-radius);padding:26px 30px;
}
.download-card__copy h2{font-size:1.35rem;margin:0 0 8px;color:var(--ce-navy-ink);}
.download-card__copy .eyebrow{color:var(--ce-accent-strong);}
.download-card__copy p{margin:0;color:var(--ce-ink-2);font-size:.98rem;}
.download-card__action .btn{width:100%;}
.download-card__note{font-size:.84rem;color:var(--ce-muted);margin:12px 0 0;}
.download-card__note a{color:var(--ce-accent-strong);}
@media (max-width:680px){.download-card{grid-template-columns:1fr;gap:18px;}}

.report-end-cta{text-align:center;padding-top:8px;}
.report-end-cta p{color:var(--ce-ink-3);margin:0 0 16px;}
.report-end-cta__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

.map-brief{background:var(--ce-surface-2);border:1px solid var(--ce-line);border-left:4px solid var(--ce-accent);border-radius:var(--ce-radius-sm);padding:22px 24px;margin-bottom:36px;}
.map-brief p{margin:0;color:var(--ce-ink-2);}
.map-section{margin-bottom:44px;}
.map-section h2{font-size:1.4rem;border-bottom:1px solid var(--ce-line-strong);padding-bottom:10px;margin-bottom:18px;}

.map-table-wrap{overflow-x:auto;border:1px solid var(--ce-line);border-radius:var(--ce-radius-sm);background:var(--ce-surface);}
table.map-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:680px;}
.map-table th{
  font-family:var(--ce-font-body);text-align:left;font-size:.72rem;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:var(--ce-muted);padding:12px 16px;border-bottom:1px solid var(--ce-line-strong);
  background:var(--ce-surface-2);white-space:nowrap;
}
.map-table td{padding:13px 16px;border-bottom:1px solid var(--ce-line);vertical-align:middle;color:var(--ce-ink-2);}
.map-table tr:last-child td{border-bottom:none;}
.map-table td.num{font-variant-numeric:tabular-nums;color:var(--ce-ink);font-weight:600;text-align:right;}
.map-table td.cluster-name{font-weight:600;color:var(--ce-ink);}

/* status chips (demand / pull / momentum) */
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:var(--ce-radius-pill);white-space:nowrap;}
.chip--high{background:var(--ce-accent-soft);color:var(--ce-accent-ink);}
.chip--medium{background:var(--ce-surface-3);color:var(--ce-ink-3);}
.chip--low{background:var(--ce-bg);color:var(--ce-muted);border:1px solid var(--ce-line);}
.chip--growing{background:var(--ce-pos-soft);color:#176a49;}
.chip--declining{background:var(--ce-neg-soft);color:#a32c3e;}
.chip--stable,.chip--emerging{background:var(--ce-surface-3);color:var(--ce-ink-3);}
.chip--pull-high{background:var(--ce-amber-soft);color:var(--ce-amber-ink);}

/* cluster cards */
.cluster-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.cluster-card{background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);padding:24px;box-shadow:var(--ce-shadow-sm);}
.cluster-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;}
.cluster-card__head h3{font-size:1.12rem;margin:0;}
.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;}
.metric{background:var(--ce-surface-3);border-radius:var(--ce-radius-sm);padding:11px 13px;}
.metric .label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ce-muted);font-weight:600;margin-bottom:3px;}
.metric .value{font-weight:600;font-size:.96rem;color:var(--ce-ink);}
.cluster-card dl{margin:0;display:flex;flex-direction:column;gap:9px;}
.cluster-card dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ce-muted);font-weight:600;margin-bottom:2px;}
.cluster-card dd{margin:0;font-size:.94rem;color:var(--ce-ink-2);}
.cluster-card .queries{color:var(--ce-ink-3);font-style:italic;}
.boundary{background:var(--ce-surface-2);border-left:3px solid var(--ce-line-strong);border-radius:0 var(--ce-radius-sm) var(--ce-radius-sm) 0;padding:12px 14px;margin-top:16px;font-size:.88rem;}
.boundary p{margin:0 0 6px;}
.boundary p:last-child{margin:0;}
.boundary .shows{color:var(--ce-ink-2);}
.boundary .not{color:var(--ce-muted);}

.map-note{background:var(--ce-navy-soft);border-radius:var(--ce-radius-sm);padding:18px 20px;color:var(--ce-navy-ink);font-size:.95rem;}

/* ---- The gap: positioning spectrum --------------------------------------- */
.gap-spectrum{
  display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px;
}
.gap-spectrum--two{grid-template-columns:.92fr 1.08fr;max-width:920px;margin-inline:auto;}
.gap-card{
  position:relative;background:var(--ce-surface);border:1px solid var(--ce-line);
  border-radius:var(--ce-radius);padding:26px 24px;display:flex;flex-direction:column;
}
/* connector chevrons between the three tiers (desktop only) */
.gap-card + .gap-card::before{
  content:"";position:absolute;left:-15px;top:50%;width:9px;height:9px;
  border-top:2px solid var(--ce-line-strong);border-right:2px solid var(--ce-line-strong);
  transform:translateY(-50%) rotate(45deg);
}
.gap-card__tier{
  font-family:var(--ce-font-body);font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ce-muted);margin:0 0 12px;
}
.gap-card__price{
  font-family:var(--ce-font-display);font-weight:800;font-size:1.7rem;color:var(--ce-ink);
  letter-spacing:-.02em;margin:0 0 4px;line-height:1.1;
}
.gap-card__price span{font-family:var(--ce-font-body);font-size:.9rem;font-weight:500;color:var(--ce-muted);letter-spacing:0;}
.gap-card__names{font-size:.86rem;color:var(--ce-ink-3);font-weight:600;margin:0 0 12px;}
.gap-card__desc{font-size:.96rem;color:var(--ce-ink-3);margin:0;}
.gap-card--feature{
  background:var(--ce-surface);border-color:var(--ce-accent-line);
  border-top:3px solid var(--ce-accent-strong);box-shadow:var(--ce-shadow);
}
.gap-card--feature .gap-card__tier{color:var(--ce-accent-strong);}
.gap-card--feature .gap-card__names{color:var(--ce-accent-ink);}
.gap-tagline{
  text-align:center;max-width:64ch;margin:30px auto 0;font-family:var(--ce-font-display);
  font-weight:600;font-size:1.12rem;color:var(--ce-ink);line-height:1.5;
}

/* ---- Sample insights ----------------------------------------------------- */
.insight-card{
  background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);
  padding:24px;box-shadow:var(--ce-shadow-sm);display:flex;flex-direction:column;
}
.insight-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;}
.insight-card__vol{font-family:var(--ce-font-body);font-variant-numeric:tabular-nums;font-weight:700;font-size:1rem;color:var(--ce-ink);}
.insight-card__vol span{display:block;font-size:.64rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ce-muted);text-align:right;}
.insight-card h3{font-size:1.1rem;margin:0 0 8px;}
.insight-card p{font-size:.96rem;color:var(--ce-ink-3);margin:0 0 14px;}
.insight-card__move{
  margin:auto 0 0;padding-top:14px;border-top:1px solid var(--ce-line-2);
  font-size:.92rem;color:var(--ce-ink-2);
}
.insight-card__move span{
  display:block;font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ce-accent-strong);margin-bottom:3px;
}
.insights-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:36px;}

/* ---- Who it's for / not for ---------------------------------------------- */
.audience-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.audience-card{
  background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);padding:28px 30px;
}
.audience-card h3{font-size:1.14rem;margin:0 0 18px;}
.audience-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.audience-card li{position:relative;padding-left:30px;color:var(--ce-ink-2);font-size:1rem;}
.audience-card li::before{
  position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;
}
.audience-card--for{border-top:3px solid var(--ce-pos);}
.audience-card--for li::before{content:"✓";background:var(--ce-pos-soft);color:#176a49;}
.audience-card--not{border-top:3px solid var(--ce-line-strong);}
.audience-card--not li{color:var(--ce-ink-3);}
.audience-card--not li::before{content:"–";background:var(--ce-surface-3);color:var(--ce-muted);}

/* ---- Pricing ------------------------------------------------------------- */
.free-offer{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:var(--ce-navy-soft);border:1px solid var(--ce-accent-line);border-radius:var(--ce-radius);
  padding:24px 28px;margin-bottom:28px;
}
.free-offer__tag{
  font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ce-accent-strong);margin:0 0 6px;
}
.free-offer h3{font-size:1.24rem;margin:0 0 6px;color:var(--ce-navy-ink);}
.free-offer p{margin:0;color:var(--ce-ink-2);font-size:.98rem;max-width:60ch;}
.free-offer .btn{flex:none;}

.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
.price-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);
  padding:30px 28px;box-shadow:var(--ce-shadow-sm);
}
.price-card--feature{
  border-color:var(--ce-accent-line);border-top:3px solid var(--ce-accent-strong);
  box-shadow:var(--ce-shadow);
}
.price-card__badge{
  position:absolute;top:-12px;left:28px;
  font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;
  background:var(--ce-accent-strong);padding:5px 12px;border-radius:var(--ce-radius-pill);margin:0;
}
.price-card__name{font-family:var(--ce-font-display);font-weight:700;font-size:1.12rem;color:var(--ce-ink);margin:0 0 12px;}
.price-card__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0 0 6px;}
.price-card__amount{font-family:var(--ce-font-display);font-weight:800;font-size:2.3rem;color:var(--ce-ink);letter-spacing:-.02em;line-height:1;}
.price-card__was{font-size:1rem;color:var(--ce-muted);text-decoration:line-through;}
.price-card__unit{font-size:.86rem;color:var(--ce-muted);}
.price-card__founding{
  font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ce-amber-ink);background:var(--ce-amber-soft);border:1px solid var(--ce-amber-line);
  padding:3px 9px;border-radius:var(--ce-radius-pill);
}
.price-card__deadline{display:block;font-size:.7rem;color:var(--ce-muted);margin-top:4px;flex-basis:100%;}
.price-card--bespoke{border-left:4px solid var(--ce-amber);}
.price-card--bespoke .price-card__amount{font-size:1.82rem;}
.price-card--intelligence{border-color:var(--ce-line-strong);border-top:3px solid var(--ce-navy);}
.price-card__tagline{font-size:.96rem;color:var(--ce-ink-3);margin:0 0 18px;}
.price-card__features{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:11px;}
.price-card__features li{position:relative;padding-left:26px;font-size:.95rem;color:var(--ce-ink-2);}
.price-card__features li::before{
  content:"";position:absolute;left:0;top:.5em;width:14px;height:8px;
  border-left:2px solid var(--ce-accent-strong);border-bottom:2px solid var(--ce-accent-strong);
  transform:rotate(-45deg) translateY(-2px);
}
.price-card__cta{margin-top:auto;width:100%;}
.price-note{font-size:.88rem;color:var(--ce-muted);margin:18px 0 0;max-width:70ch;}

/* ---- Coverage: status pills, links, request strip ------------------------ */
.coverage-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.coverage-card__head .eyebrow{margin:0;}
.status-pill{
  font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:var(--ce-radius-pill);white-space:nowrap;
}
.status-pill--live{background:var(--ce-pos-soft);color:#176a49;}
.status-pill--next{background:var(--ce-accent-soft);color:var(--ce-accent-strong);}
.coverage-card__link{display:inline-block;margin-top:16px;font-weight:600;font-size:.94rem;color:var(--ce-accent-strong);}
.coverage-card__link:hover{color:var(--ce-navy);}
.request-strip{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-top:28px;padding:22px 28px;background:var(--ce-surface);
  border:1px dashed var(--ce-line-strong);border-radius:var(--ce-radius);
}
.request-strip p{margin:0;color:var(--ce-ink-2);font-size:.98rem;}
.request-strip .btn{flex:none;}
.request-strip--custom{margin-top:24px;}

/* ---- Custom page --------------------------------------------------------- */
.container--narrow{max-width:860px;}
.custom-page{background:var(--ce-surface);}
.custom-page h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;margin:0 0 18px;color:var(--ce-ink);}
.custom-page__points{list-style:none;margin:28px 0 30px;padding:0;display:grid;gap:12px;}
.custom-page__points li{position:relative;padding-left:28px;color:var(--ce-ink-2);}
.custom-page__points li::before{
  content:"";position:absolute;left:0;top:.55em;width:14px;height:8px;
  border-left:2px solid var(--ce-accent-strong);border-bottom:2px solid var(--ce-accent-strong);
  transform:rotate(-45deg) translateY(-2px);
}
.custom-form{margin-top:28px;border-top:1px solid var(--ce-line);padding-top:24px;}
.custom-form iframe{display:block;border:0;width:100%;}

/* ---- FAQ ----------------------------------------------------------------- */
.faq-list{max-width:820px;border-top:1px solid var(--ce-line);}
.faq-item{border-bottom:1px solid var(--ce-line);}
.faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 4px;font-family:var(--ce-font-display);font-weight:700;font-size:1.08rem;color:var(--ce-ink);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"";flex:none;width:11px;height:11px;
  border-right:2px solid var(--ce-accent-strong);border-bottom:2px solid var(--ce-accent-strong);
  transform:rotate(45deg);transition:transform .2s ease;margin-right:6px;
}
.faq-item[open] summary::after{transform:rotate(225deg);}
.faq-item summary:hover{color:var(--ce-accent-strong);}
.faq-item > p{margin:0 4px 24px;color:var(--ce-ink-3);font-size:1rem;max-width:74ch;}

/* ---- Motion (restrained, reduced-motion + no-JS safe) -------------------- */
/* Only hidden when JS is present (html.js) AND motion is welcome, so content is
   never hidden behind a failed/absent script or a reduced-motion preference. */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}
  .js .reveal.is-in{opacity:1;transform:none;}
}

/* ---- Responsive ---------------------------------------------------------- */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:44px;}
  .hero{padding:64px 0 56px;}
  .hero-art::before{display:none;}
  .hero-art__caption{text-align:left;}
  .method-grid{grid-template-columns:1fr;gap:28px;}
  .zone-grid{grid-template-columns:repeat(2,1fr);}
  .footer-cta{grid-template-columns:1fr;gap:32px;}
  .gap-spectrum,.gap-spectrum--two{grid-template-columns:1fr;}
  .gap-card+.gap-card::before{display:none;}
  .audience-cols{grid-template-columns:1fr;}
}
@media (max-width:820px){
  .nav-links,.nav>.nav-cta{display:none;}
  .nav-toggle{display:inline-flex;}
  .nav{margin-left:0;}
  .header-row{gap:16px;}
  .price-grid{grid-template-columns:1fr;}
  .price-card__badge{left:24px;}
  .nav.is-open{
    position:absolute;left:0;right:0;top:72px;margin:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--ce-surface);border-bottom:1px solid var(--ce-line);box-shadow:var(--ce-shadow);padding:8px 0;
  }
  .nav.is-open .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;}
  .nav.is-open .nav-links a{padding:13px 24px;border-top:1px solid var(--ce-line-2);}
  .nav.is-open .nav-cta{display:inline-flex;margin:12px 24px;justify-content:center;}
}
@media (max-width:520px){
  /* the hero excerpt keeps its three strongest columns on small screens;
     movement still reads in the "top opportunity" foot line */
  .report-preview .map-table th:nth-child(3),
  .report-preview .map-table td:nth-child(3){display:none;}
  .report-preview .map-table th:nth-child(1),
  .report-preview .map-table td:nth-child(1){width:44%;padding-left:16px;}
  .report-preview .map-table th:nth-child(2),
  .report-preview .map-table td:nth-child(2){width:36%;}
  .report-preview .map-table th:nth-child(4),
  .report-preview .map-table td:nth-child(4){width:20%;padding-right:16px;}
}
@media (max-width:680px){
  body{font-size:16px;}
  .brand-word{font-size:1.35rem;}
  .section{padding:60px 0;}
  .grid-3,.grid-2,.coverage-grid,.list-grid,.cluster-cards,.trust-cols{grid-template-columns:1fr;}
  .zone-grid{grid-template-columns:1fr;}
  .gap-spectrum,.audience-cols,.price-grid,.insight-grid{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:1fr 1fr;}
  .stat{border-left:none;padding:18px 0;border-top:1px solid var(--ce-line);}
  .stat:first-child{border-top:none;}
  .stat:nth-child(2){border-top:none;}
  .section-title,.page-title{font-size:1.7rem;}
  .metric-grid{grid-template-columns:1fr 1fr;}
  .free-offer,.request-strip{flex-direction:column;align-items:flex-start;}
  .free-offer .btn,.request-strip .btn{width:100%;}
}

/* ---- Category report pages ----------------------------------------------
   One template serves every category (templates/reports/detail.html).
   Everything here reuses the --ce-* tokens above; no new colors. */
.report-page .page-hero{padding-bottom:34px;}
.report-page .page-kicker a{color:inherit;}
.report-page .page-kicker a:hover{color:var(--ce-accent);}
.report-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 16px;font-size:.9rem;color:var(--ce-muted);}
.report-meta span{display:inline-flex;align-items:center;gap:8px;}
.report-meta span+span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--ce-line-strong);}
.report-page .page-hero .hero-actions{margin-top:26px;}
.report-page .page-hero .boundary{max-width:70ch;}

.report-page .metric-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:0;}
.report-page .metric{padding:16px 18px;}
.report-page .metric strong{display:block;font-family:var(--ce-font-display);font-size:1.5rem;line-height:1.1;color:var(--ce-ink);}
.report-page .metric span{display:block;margin-top:4px;font-size:.84rem;color:var(--ce-ink-3);}

/* Recommendation pills: Prioritize / Validate / Monitor */
.rec-pill{
  display:inline-flex;align-items:center;font-family:var(--ce-font-body);font-size:.74rem;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;padding:4px 11px;border-radius:var(--ce-radius-pill);white-space:nowrap;
}
.rec-pill--prioritize{background:var(--ce-navy-soft);color:var(--ce-navy-ink);}
.rec-pill--validate{background:var(--ce-amber-soft);color:var(--ce-amber-ink);}
.rec-pill--monitor{background:var(--ce-zone-watch-soft);color:var(--ce-zone-watch-ink);}

/* Demand Space cards */
.space-card__stats{list-style:none;margin:14px 0 0;padding:0;}
.space-card__stats li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--ce-line-2);font-size:.93rem;}
.space-card__stats li:last-child{border-bottom:none;}
.space-card__stats span{color:var(--ce-ink-3);}
.space-card__stats strong{color:var(--ce-ink);font-variant-numeric:tabular-nums;text-align:right;}
.space-card__mix{margin:12px 0 0;font-size:.86rem;color:var(--ce-muted);}
.space-card__example{
  margin:16px 0 0;padding-top:14px;border-top:1px solid var(--ce-line);
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;color:var(--ce-ink);
}
.space-card__example>span:first-child{
  display:block;width:100%;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:600;color:var(--ce-muted);
}

/* Featured finding */
.report-page .section-lead .rec-pill{margin-left:6px;vertical-align:middle;}
.read-grid{margin-bottom:24px;}
.read-card h3{text-transform:capitalize;color:var(--ce-accent-ink);}
.finding-call{
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
  background:var(--ce-surface);border:1px solid var(--ce-line);border-radius:var(--ce-radius);padding:26px;
}
.finding-call__block p:last-child{margin:0;color:var(--ce-ink-2);}
.boundary--caution{border-left-color:var(--ce-amber);}
.evidence-grid{margin-top:24px;align-items:start;}
.phrase-table td:first-child{color:var(--ce-ink);}
.phrase-panel .map-note,.movement-chart .map-note{margin-top:14px;font-size:.86rem;}

/* Movement chart (inline SVG, no chart library) */
.movement-chart__svg{width:100%;height:auto;display:block;margin-top:6px;overflow:visible;}
.movement-chart__area{fill:var(--ce-accent-soft);stroke:none;}
.movement-chart__line{fill:none;stroke:var(--ce-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;}
.movement-chart__baseline{stroke:var(--ce-line-strong);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;}
.movement-chart__marker{fill:var(--ce-amber);}
.movement-chart__axis{display:flex;justify-content:space-between;font-size:.78rem;color:var(--ce-muted);margin-top:6px;}
.movement-chart__kpi{margin:10px 0 0;font-family:var(--ce-font-display);font-weight:700;color:var(--ce-ink);}

/* Additional findings */
.finding-card .rec-pill{margin-bottom:12px;}

/* Method definitions */
.method-prose{max-width:820px;}
.method-defs{margin:26px 0 0;}
.method-defs dt{font-weight:600;color:var(--ce-ink);margin-top:16px;}
.method-defs dd{margin:4px 0 0;color:var(--ce-ink-3);font-size:.96rem;}

/* Free Preview capture */
.preview-capture{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:start;}
.preview-capture h2{font-size:1.5rem;margin:0 0 8px;color:var(--ce-navy-ink);}
.preview-capture__form{width:100%;}
.preview-unlock{margin-top:18px;padding-top:18px;border-top:1px solid var(--ce-line);}
.preview-unlock__note{margin:0 0 12px;font-weight:600;color:var(--ce-ink);}
.preview-unlock .btn{width:100%;justify-content:center;}

/* Checkout slot with no configured URL: inert, never a redirect elsewhere */
.btn.is-unavailable{
  background:var(--ce-surface-3);color:var(--ce-muted);border-color:var(--ce-line);
  box-shadow:none;cursor:default;pointer-events:none;
}

/* Related categories */
.report-page .list-card h3{font-family:var(--ce-font-display);font-size:1.24rem;margin:0 0 8px;color:var(--ce-ink);}

@media (max-width:900px){
  .report-page .metric-grid{grid-template-columns:repeat(3,1fr);}
  .evidence-grid{grid-template-columns:1fr;}
  .finding-call{grid-template-columns:1fr;}
  .preview-capture{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .report-page .metric-grid{grid-template-columns:1fr 1fr;}
  .report-page .page-hero .hero-actions .btn{width:100%;justify-content:center;}
}
