/* Clarity content pages: presentation only. Existing state classes, hidden
   controls, input names and application handlers remain authoritative. */
.content-page {
  --black: #f3f7ff;
  --navy: #eaf0fa;
  --violet-deep: #eaf0fa;
  --white: #06070b;
  --slate: #525d70;
  --slate-dim: #626d80;
  --surface: #fff;
  --surface-2: #eaf0fa;
  --glass: transparent;
  --cyan: #5946b2;
  --violet: #5946b2;
  --gold: #735b18;
  --accent: #5946b2;
  --primary: #5946b2;
  --green: #176543;
  --rose: #9f203c;
  --font-mono: 'Satoshi', Arial, sans-serif;
  --font-serif: 'Satoshi', Arial, sans-serif;
  --radius-sm: 3px;
  --radius-md: 3px;
  --radius-lg: 3px;
  --radius-xl: 3px;
  --radius-full: 3px;
  color-scheme: light;
  background: var(--paper);
  color: var(--ink);
  overflow-wrap: anywhere;
}
.content-page [hidden] { display: none !important; }
.content-page :is(h1,h2,h3,h4) { font-weight: 500; }
.content-page :is(.prose,.narrow) { max-width: 780px; }
.content-page .prose .prose { width: 100%; }
.content-page :is(.page-hero,.art-hero) {
  padding: 74px 0 56px;
  text-align: left;
  border-bottom: 1px solid var(--line);
}
.content-page :is(.page-hero,.art-hero) h1 {
  font-size: clamp(40px,5.3vw,74px);
  line-height: 1.07;
  letter-spacing: -.035em;
  max-width: 24ch;
  margin: 23px 0 0;
}
.content-page :is(.page-hero,.art-hero) :is(.sub,.deck) {
  font-size: clamp(18px,1.7vw,22px);
  color: var(--muted);
  line-height: 1.6;
  margin: 27px 0 0;
  max-width: 58ch;
}
.content-page :is(.page-meta,.art-meta,.hero-actions,.path-strip) {
  justify-content: flex-start;
  margin-left: 0;
  margin-right: 0;
}
.content-page :is(.page-meta,.art-meta) { color: var(--text-faint); font-size: 12px; }
.content-page .eyebrow { font-family: var(--font-body); color: var(--muted); font-size: 11px; letter-spacing: .14em; }
.content-page .eyebrow a { text-decoration: underline; text-underline-offset: 4px; }
.content-page main > section { padding-block: 64px; }
.content-page .prose { font-size: 17px; line-height: 1.8; }
.content-page .prose h2 { font-size: clamp(29px,3vw,38px); margin-top: 58px; }
.content-page .prose h3 { font-size: 24px; margin-top: 34px; }
.content-page .prose h2:first-child { margin-top: 0; }
.content-page .prose h2 .num { color: var(--deep-violet); font-size: 11px; letter-spacing: .13em; margin-bottom: 15px; line-height: 1.6; }
.content-page .prose :is(p,li) { color: var(--muted); }
.content-page .prose :is(strong,.lead) { color: var(--ink); }
.content-page :is(.prose,.body-copy,.terms-panel,.panel,.df-consent,.cc-fine,.pf-fine) a:not(.btn) {
  color: var(--deep-violet);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.content-page :is(.prose,.body-copy,.terms-panel) .btn { text-decoration: none; }
.content-page .pull { font-family: var(--font-display); font-style: normal; color: var(--ink); border-color: var(--deep-violet); }
.content-page :is(.grad,.pull .grad,h1 .em) {
  background: none;
  -webkit-text-fill-color: currentColor;
  color: var(--deep-violet);
}
.content-page :is(.prod,.principle,.pairline,.cap,.stage,.eng,.panel,.step,.wp-card,.cite-card,.future,.rec,.pilot-form,.brief,.confirm,.svc,.end,.card,.book-cta,.terms-panel) {
  background: transparent;
  border-color: var(--line);
  border-radius: 3px;
  box-shadow: none;
}
.content-page :is(.prod,.wp-card,.cite-card,.end,.book-cta) { padding: clamp(24px,4vw,42px); }
.content-page :is(.prod,.cap,.stage,.eng,.panel,.step,.card,.future) h3 { margin-top: 0; }
.content-page :is(.prod,.cap,.wp-card,.cite-card,.future,.eng) :is(.k,.cc-eyebrow,.price),
.content-page :is(.step .number,.stage .n,.mods .n,.svc .cat,.svc .act,.brief .k,.term .also a) {
  color: var(--deep-violet);
}
.content-page :is(.prod,.wp-card,.cite-card) h2 { margin-top: 22px; }
.content-page .prod + .prod { margin-top: 32px; }
.content-page .prod .k { font-size: 11px; letter-spacing: .12em; flex-wrap: wrap; overflow-wrap: normal; }
.content-page .principles { background: transparent; color: var(--ink); padding: 24px 0; border-block: 1px solid var(--line); }
.content-page .pairline { font-family: var(--font-body); }
.content-page :is(.art-hero .deck,.prose h2 .q) { font-style: normal; }
.content-page .status-banner { background: #e9e5f8; color: #443486; border: 1px solid #cdc5e9; border-radius: 3px; line-height: 1.6; }
.content-page .status-banner .dot { background: var(--deep-violet); box-shadow: none; animation: none; }
.content-page .pill { background: #e9e5f8; color: #443486; border-color: #cdc5e9; }
.content-page .fact-row { margin-left: 0; margin-right: 0; max-width: none; border-radius: 3px; }
.content-page .fact { background: transparent; text-align: left; border: 0; }
.content-page .fact-row { background: transparent; gap: 0; }
.content-page .fact + .fact { border-left: 1px solid var(--line); }
.content-page .fact strong { color: var(--ink); }
.content-page .fact span { color: var(--muted); font-size: 11px; line-height: 1.6; }
.content-page .pr-h2 { font-size: clamp(30px,3.7vw,48px); max-width: 24ch; }
.content-page .hero-actions { gap: 12px; }
.content-page .pr-section { border-color: var(--line); }
.content-page .body-copy { max-width: 64ch; }
.content-page .body-copy p { line-height: 1.8; }
.content-page .embed-shell { background: #fff; border-color: var(--line); border-radius: 3px; }
.content-page .embed-shell iframe { color-scheme: light; }
.content-page .embed-fallback { color: var(--muted); }
.content-page :is(.faq details,details.faq) { background: transparent; border: 0; border-top: 1px solid var(--line); padding: 0; border-radius: 0; }
.content-page .faq summary { font: 500 17px/1.5 var(--font-body); padding-block: 22px; }
.content-page .faq details > p { padding: 0 0 25px; margin: 0; }
.content-page :is(.cmp-table,.cite-meta) { overflow-wrap: anywhere; }
.content-page .cmp-table :is(th,td) { border-color: var(--line); }
.content-page .cmp-table thead th { background: #e7edf8; color: var(--ink); }
.content-page .cmp-table .yes { color: var(--green); }
.content-page .cmp-wrap { max-width: 100%; overscroll-behavior-x: contain; }
.content-page .cmp-wrap:focus-visible { outline: 3px solid var(--deep-violet); outline-offset: 4px; }
.content-page .cmp-table { min-width: 560px; }
.content-page .cmp-table th { overflow-wrap: normal; min-width: 130px; }
.content-page .reflection-guide .cmp-table { min-width: 0; table-layout: fixed; }
.content-page .reflection-guide .cmp-table th { min-width: 0; overflow-wrap: anywhere; }
.content-page .reflection-guide .cmp-table th:first-child { width: 32%; }
.content-page .bibtex { background: #e7edf8; color: var(--ink); border: 1px solid var(--line); border-radius: 3px; white-space: pre-wrap; overflow-wrap: anywhere; }
.content-page :is(.btn,.button) { white-space: normal; text-align: center; justify-content: center; line-height: 1.5; }
.content-page .btn { box-shadow: none; }
.content-page .btn-primary { border: 1px solid var(--ink); background: var(--ink); color: var(--paper); }
.content-page .btn-ghost { background: transparent; color: var(--ink); border: 1px solid #aab6cb; }
.content-page .btn-ghost:hover { background: #e4eaf6; color: var(--ink); }
.content-page .btn[disabled] { opacity: .55; cursor: default; transform: none; }
.content-page :is(input,select,textarea) { font-family: var(--font-body); accent-color: var(--deep-violet); }
.content-page :is(.pf-field,.df-row,.signup) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  min-width: 0;
  max-width: 100%;
  color: var(--ink);
  background: #fff;
  border: 1px solid #8996ab;
  border-radius: 3px;
  font-size: 16px;
  line-height: 1.5;
  padding: 12px 14px;
}
.content-page :is(input,textarea)::placeholder { color: #626d80; opacity: 1; }
.content-page :is(input,select,textarea):focus-visible { outline: 3px solid var(--deep-violet); outline-offset: 3px; box-shadow: none; }
.content-page :is(.pf-row,.pf-field,.df-row) { min-width: 0; }
.content-page :is(.pf-field label,.df-row label,.df-consent,.rec-alt) { color: var(--ink); }
.content-page :is(.pf-msg,.df-msg,.signup-msg,.rec-status) { line-height: 1.65; }
.content-page :is(.pf-msg,.df-msg,.signup-msg,.rec-status).err { color: #9f203c; }
.content-page :is(.pf-msg,.df-msg,.signup-msg).ok { color: #176543; }
.content-page :is(.df-hint,.pf-fine,.df-row .opt,.rec-cap,.cc-fine,.cite-ref) { color: var(--muted); }
.content-page :is(.pf-field label .req,.df-row .req) { color: #9f203c; }
.content-page .svc.on { background: #e9e5f8; border-color: var(--deep-violet); box-shadow: inset 0 0 0 1px var(--deep-violet); }
.content-page .svc:hover { background: #e7edf8; transform: none; }
.content-page .brief { background: #e7edf8; }
.content-page .confirm { background: #e7f2ec; border-color: #a4c9b5; }
.content-page .pilot-form { background: #edf2fa; }
.content-page .pf-track i { background: var(--line); }
.content-page .pf-track i.on { background: var(--deep-violet); }
.content-page .pf-progress b { color: var(--deep-violet); }
.content-page .rec-viz { background: #0b1020; border-radius: 3px; }
.content-page .rec-btn[aria-pressed="true"] { background: #9f203c; color: #fff; border-color: #9f203c; }
.content-page .rec-review audio { width: 100%; }
.content-page .rec-upload { border-color: #8996ab; color: var(--deep-violet); }
.content-page .term { border-color: var(--line); }
.content-page :is(.term .pron,.term .also) { color: var(--muted); }
.content-page .next-essay { background: #e7edf8; border-color: var(--line); border-radius: 3px; }
.content-page .next-essay::before { content: none; }
.content-page :is(.ne-eyebrow,.ne-headline,.ne-num,.ne-launched .ne-headline::after) { color: var(--ink); background: none; -webkit-text-fill-color: currentColor; }
.content-page :is(.ne-deck,.ne-label,.ne-target,.ne-tz) { color: var(--muted); }
.content-page .ne-pulse { background: var(--deep-violet); box-shadow: none; animation: none; }
.content-page .footer { border-top: 1px solid var(--line); margin-top: 44px; }
.content-page .footer-bottom { display: flex; flex-wrap: wrap; gap: 12px 32px; justify-content: space-between; }
.content-page.legal-simple .nav-right .btn { display: inline-flex; }
.content-page.legal-simple .nav { gap: 10px; }
.content-page.legal-simple .brand { white-space: normal; font-size: 18px; }
.content-page.legal-simple .brand .mark { flex: 0 0 29px; }

/* The standalone download funnel keeps its intentionally compact header. */
.funnel-page { overflow-x: visible; }
.funnel-page header { position: relative; background: var(--paper); border-bottom: 1px solid var(--line); }
.funnel-page .nav { padding-inline: 0; width: calc(100% - 96px); max-width: var(--max); height: 88px; margin-inline: auto; }
.funnel-page .brand .name { font-family: var(--font-body); font-size: 20px; letter-spacing: -.04em; }
.funnel-page .brand .name .life { background: none; color: var(--ink); -webkit-text-fill-color: currentColor; }
.funnel-page .hero { min-height: 0; background: transparent; }
.funnel-page .hero-inner { padding: 75px 0 65px; max-width: 850px; }
.funnel-page h1 { font-size: clamp(40px,5.4vw,76px); max-width: 18ch; }
.funnel-page .sub { font-size: 20px; max-width: 48ch; margin-top: 24px; }
.funnel-page .btn { background: var(--ink); color: var(--paper); border: 1px solid var(--ink); }
.funnel-page .grid { border-top: 1px solid var(--line); gap: 35px; padding-top: 34px; }
.funnel-page .card { border: 0; border-radius: 0; padding: 0; }
.funnel-page .card .ic { border: 1px solid var(--line); border-radius: 3px; background: transparent; }
.funnel-page :is(section.block,.final) { background: transparent; padding-block: 65px; border-top: 1px solid var(--line); }
.funnel-page .final { text-align: left; }
.funnel-page .final :is(h2,.sub,.signup,.signup-msg) { margin-left: 0; }
.funnel-page footer { color: var(--muted); border-top: 1px solid var(--line); background: var(--paper); }
.funnel-page .quote { background: none; color: var(--ink); border-color: var(--deep-violet); border-radius: 0; }

@media (max-width: 1100px) { .funnel-page .nav { width: calc(100% - 64px); } }
@media (max-width: 760px) {
  .content-page :is(.page-hero,.art-hero) { padding-block: 42px 36px; }
  .content-page :is(.page-hero,.art-hero) h1 { font-size: clamp(35px,8vw,56px); max-width: 24ch; }
  .content-page main > section { padding-block: 42px; }
  .content-page .prose { font-size: 16px; }
  .content-page .prose h2 { margin-top: 42px; }
  .content-page .fact + .fact { border-left: 0; border-top: 1px solid var(--line); }
  .content-page .fact-row { grid-template-columns: 1fr; }
  .content-page :is(.prod,.wp-card,.cite-card,.end,.book-cta,.pilot-form,.brief,.confirm,.rec) { padding: 22px; }
  .content-page :is(.pf-row,.svc-grid,.brief .b-cols,.cap-grid,.eng-grid) { grid-template-columns: 1fr; }
  .content-page .cmp-table { font-size: 13px; }
  .content-page .cmp-table :is(th,td) { padding: 12px 10px; }
  .funnel-page .hero-inner { padding-block: 42px; }
  .funnel-page .sub { font-size: 18px; }
  .funnel-page :is(section.block,.final) { padding-block: 44px; }
}
@media (max-width: 700px) {
  .funnel-page .nav { width: calc(100% - 40px); height: 79px; }
  .funnel-page .brand { gap: 8px; }
  .funnel-page .brand .name { font-size: 17px; }
  .funnel-page .brand svg { width: 30px; height: auto; }
  .funnel-page .nav .back { font-size: 12px; }
  .content-page.legal-simple .nav-right .btn { padding: 10px; font-size: 12px; }
}

/* Keep product names and long service headings readable in narrow columns. */
.content-page .brand-nowrap { white-space: nowrap; }
.content-page .prose .cap h3 { font-size: 21px; line-height: 1.25; }
