/* =============================================================================
   Taloventra core.css — design tokens + shared components (REDESIGN-BRIEF §2–§3)
   Package A1. Unlayered on purpose: these rules beat the legacy cascade layer
   by layer order alone. Mobile-first, logical properties only, approved hex only.
   ============================================================================= */

/* ---------- 1. Fonts (self-hosted variable, Google Fonts sources) ---------- */
@font-face{font-family:Sora;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/fonts/sora-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Sora;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/fonts/sora-latin-ext-var.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Fraunces;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/fraunces-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fraunces;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/fraunces-latin-ext-var.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/noto-sans-arabic-var.woff2) format('woff2');unicode-range:U+0600-06FF,U+0660-0669,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}

/* ---------- 2. Tokens ---------- */
:root{
  color-scheme:light;
  /* approved literals — the only hex values allowed in new CSS */
  --tv-navy:#141B3C;--tv-apricot:#FF7A45;--tv-burnt:#C2410C;--tv-ivory:#F6F4EF;
  --tv-slate:#3D4459;--tv-muted:#5B6275;--tv-line:#E6E3DC;--tv-white:#FFFFFF;
  /* derived (oklab) */
  --tv-navy-700:color-mix(in oklab,var(--tv-navy) 88%,white);
  --tv-navy-900:color-mix(in oklab,var(--tv-navy) 80%,black);
  --tv-navy-100:color-mix(in oklab,var(--tv-navy) 12%,white);
  --tv-navy-050:color-mix(in oklab,var(--tv-navy) 6%,white);
  --tv-apricot-100:color-mix(in oklab,var(--tv-apricot) 14%,white);
  --tv-apricot-200:color-mix(in oklab,var(--tv-apricot) 28%,white);
  --tv-apricot-600:color-mix(in oklab,var(--tv-apricot) 85%,black);
  --tv-burnt-700:color-mix(in oklab,var(--tv-burnt) 85%,black);
  --tv-ivory-050:color-mix(in oklab,var(--tv-ivory) 50%,white);
  --tv-deep:color-mix(in oklab,var(--tv-navy) 72%,var(--tv-burnt));
  /* semantic — light surface */
  --tv-bg:var(--tv-ivory);--tv-bg-2:var(--tv-white);--tv-bg-3:var(--tv-navy-050);
  --tv-surface:var(--tv-white);--tv-surface-2:var(--tv-ivory-050);
  --tv-text:var(--tv-navy);--tv-text-2:var(--tv-slate);--tv-text-3:var(--tv-muted);
  --tv-heading:var(--tv-navy);--tv-link:var(--tv-navy);--tv-link-hover:var(--tv-burnt);
  --tv-accent:var(--tv-apricot);--tv-accent-text:var(--tv-burnt);--tv-accent-ink:var(--tv-navy);
  --tv-border:var(--tv-line);--tv-border-strong:var(--tv-navy-100);
  --tv-btn-bg:var(--tv-navy);--tv-btn-text:var(--tv-white);--tv-btn-bg-hover:var(--tv-navy-700);
  --tv-focus:var(--tv-navy);--tv-focus-halo:var(--tv-white);
  --tv-selection:var(--tv-apricot-200);
  /* type */
  --tv-font-ui:Sora,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tv-font-display:Sora,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tv-step--2:clamp(0.6875rem,0.66rem + 0.11vw,0.75rem);
  --tv-step--1:clamp(0.8125rem,0.79rem + 0.11vw,0.875rem);
  --tv-step-0:clamp(0.9375rem,0.91rem + 0.11vw,1rem);
  --tv-step-1:clamp(1rem,0.97rem + 0.11vw,1.0625rem);
  --tv-step-2:clamp(1.0625rem,1.02rem + 0.22vw,1.1875rem);
  --tv-step-3:clamp(1.1875rem,1.11rem + 0.33vw,1.375rem);
  --tv-step-4:clamp(1.3125rem,1.2rem + 0.5vw,1.625rem);
  --tv-step-5:clamp(1.5rem,1.33rem + 0.76vw,1.9375rem);
  --tv-step-6:clamp(1.75rem,1.5rem + 1.1vw,2.375rem);
  --tv-eyebrow:var(--tv-step--2);
  --tv-lh-tight:1.08;--tv-lh-snug:1.2;--tv-lh-body:1.6;--tv-lh-loose:1.75;
  --tv-track-display:-0.02em;--tv-track-eyebrow:0.12em;
  --tv-measure:68ch;
  /* space, radius, shadow, motion, containers */
  --tv-sp-3xs:0.25rem;--tv-sp-2xs:0.5rem;--tv-sp-xs:0.75rem;
  --tv-sp-s:clamp(1rem,0.951rem + 0.217vw,1.125rem);
  --tv-sp-m:clamp(1.5rem,1.427rem + 0.326vw,1.6875rem);
  --tv-sp-l:clamp(2rem,1.902rem + 0.435vw,2.25rem);
  --tv-sp-xl:clamp(3rem,2.853rem + 0.652vw,3.375rem);
  --tv-sp-2xl:clamp(4rem,3.804rem + 0.87vw,4.5rem);
  --tv-sp-3xl:clamp(6rem,5.707rem + 1.304vw,6.75rem);
  --tv-sp-section:clamp(2.5rem,1.9rem + 2.7vw,4rem);
  --tv-gap:clamp(1rem,0.7rem + 1.3vw,1.5rem);
  --tv-r-xs:6px;--tv-r-s:10px;--tv-r-m:16px;--tv-r-l:24px;--tv-r-pill:999px;
  --tv-sh-1:0 1px 2px rgb(20 27 60/.06),0 0 0 1px rgb(20 27 60/.04);
  --tv-sh-2:0 4px 14px rgb(20 27 60/.08),0 1px 2px rgb(20 27 60/.05);
  --tv-sh-3:0 18px 44px rgb(20 27 60/.14),0 2px 6px rgb(20 27 60/.06);
  --tv-dur-1:120ms;--tv-dur-2:200ms;--tv-dur-3:320ms;--tv-dur-4:600ms;
  --tv-ease-out:cubic-bezier(.2,.7,.2,1);--tv-ease-in-out:cubic-bezier(.65,0,.35,1);--tv-ease-spring:cubic-bezier(.34,1.3,.64,1);
  --tv-w-prose:72ch;--tv-w-narrow:56rem;--tv-w-content:75rem;--tv-w-wide:85rem;
  --tv-gutter:clamp(1rem,0.5rem + 2.5vw,2.5rem);
  --tv-header-h:72px;
}
.tv-dark{
  color-scheme:dark;
  --tv-bg:var(--tv-navy);--tv-bg-2:color-mix(in oklab,var(--tv-navy) 92%,white);
  --tv-bg-3:color-mix(in oklab,var(--tv-navy) 84%,white);
  --tv-surface:color-mix(in oklab,var(--tv-navy) 92%,white);--tv-surface-2:color-mix(in oklab,var(--tv-navy) 86%,white);
  --tv-text:var(--tv-ivory);--tv-text-2:color-mix(in oklab,var(--tv-ivory) 78%,var(--tv-navy));
  --tv-text-3:color-mix(in oklab,var(--tv-ivory) 60%,var(--tv-navy));
  --tv-heading:var(--tv-ivory);--tv-link:var(--tv-apricot);--tv-link-hover:var(--tv-ivory);
  --tv-accent:var(--tv-apricot);--tv-accent-text:var(--tv-apricot);--tv-accent-ink:var(--tv-navy);
  --tv-border:color-mix(in oklab,var(--tv-ivory) 16%,var(--tv-navy));--tv-border-strong:color-mix(in oklab,var(--tv-ivory) 30%,var(--tv-navy));
  --tv-btn-bg:var(--tv-apricot);--tv-btn-text:var(--tv-navy);--tv-btn-bg-hover:color-mix(in oklab,var(--tv-apricot) 88%,white);
  --tv-focus:var(--tv-apricot);--tv-focus-halo:var(--tv-navy);
  background:var(--tv-bg);color:var(--tv-text);
}
@media (prefers-reduced-motion:reduce){:root{--tv-dur-1:0ms;--tv-dur-2:0ms;--tv-dur-3:0ms;--tv-dur-4:0ms}}

/* ---------- 3. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--tv-header-h) + 16px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font:400 var(--tv-step-0)/var(--tv-lh-body) var(--tv-font-ui);color:var(--tv-text-2);background:var(--tv-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
[lang=ar]{--tv-font-ui:"Noto Sans Arabic",Sora,system-ui,sans-serif;--tv-font-display:"Noto Sans Arabic",Sora,system-ui,sans-serif}
::selection{background:var(--tv-selection);color:var(--tv-navy)}
img,video{max-inline-size:100%;block-size:auto}
h1,.tv-h1{font:500 var(--tv-step-5)/var(--tv-lh-tight) var(--tv-font-display);letter-spacing:var(--tv-track-display);text-wrap:balance;max-inline-size:20ch;color:var(--tv-heading);font-variation-settings:"SOFT" 40,"WONK" 0;font-optical-sizing:auto;margin-block:0 var(--tv-sp-s)}
.tv-hero--home h1,.tv-h1--xl{font-size:var(--tv-step-6)}
h2,.tv-h2{font:500 var(--tv-step-4)/var(--tv-lh-snug) var(--tv-font-display);letter-spacing:-0.015em;text-wrap:balance;max-inline-size:28ch;color:var(--tv-heading);font-variation-settings:"SOFT" 40,"WONK" 0;font-optical-sizing:auto;margin-block:0 var(--tv-sp-s)}
h3,.tv-h3{font:600 var(--tv-step-2)/1.25 var(--tv-font-ui);letter-spacing:-0.01em;color:var(--tv-heading);margin-block:0 var(--tv-sp-xs)}
h4,.tv-h4{font:600 var(--tv-step-1)/1.3 var(--tv-font-ui);color:var(--tv-heading);margin-block:0 var(--tv-sp-2xs)}
.tv-display{font-family:var(--tv-font-display);font-weight:500;letter-spacing:var(--tv-track-display);font-variation-settings:"SOFT" 40,"WONK" 0;font-optical-sizing:auto}
.tv-lede{font-size:var(--tv-step-1);line-height:1.5;color:var(--tv-text-2);max-inline-size:var(--tv-measure);text-wrap:pretty}
.tv-small{font-size:var(--tv-step--1)}
.tv-caption{font-size:var(--tv-step--2);color:var(--tv-text-3)}
h1 em,h2 em,.tv-display em{font-style:normal;color:var(--tv-accent-text)}
[dir=rtl] :is(h1,h2,h3,.tv-display,.tv-eyebrow){letter-spacing:0;font-family:var(--tv-font-ui)}
[dir=rtl] .tv-display{font-family:var(--tv-font-ui)}
.tv-tabular{font-variant-numeric:tabular-nums}
.tv-center{text-align:center}
main.tv-page{display:block;overflow-x:clip}
main.tv-page a:not(.tv-btn){color:inherit}

/* ---------- 4. Layout primitives ---------- */
.tv-container{inline-size:min(100% - 2*var(--tv-gutter),var(--tv-w-content));margin-inline:auto}
.tv-container--narrow{inline-size:min(100% - 2*var(--tv-gutter),var(--tv-w-narrow))}
.tv-container--prose{inline-size:min(100% - 2*var(--tv-gutter),var(--tv-w-prose))}
.tv-container--wide{inline-size:min(100% - 2*var(--tv-gutter),var(--tv-w-wide))}
.tv-band{position:relative;padding-block:var(--tv-sp-section);background:var(--tv-bg);color:var(--tv-text-2)}
.tv-band--white{background:var(--tv-bg-2)}
.tv-band--tint{background:var(--tv-bg-3)}
.tv-band--apricot{background:var(--tv-apricot);color:var(--tv-navy);--tv-heading:var(--tv-navy);--tv-text:var(--tv-navy);--tv-text-2:var(--tv-navy);--tv-text-3:var(--tv-navy);--tv-accent-text:var(--tv-navy);--tv-btn-bg:var(--tv-navy);--tv-btn-text:var(--tv-white);--tv-btn-bg-hover:var(--tv-navy-700);--tv-border:color-mix(in oklab,var(--tv-navy) 20%,transparent);--tv-border-strong:var(--tv-navy);--tv-link:var(--tv-navy);--tv-link-hover:var(--tv-navy-900)}
.tv-band--flush{padding-block-start:0}
.tv-band--tight{padding-block:var(--tv-sp-xl)}
.tv-band--dark,.tv-hero--dark,.tv-closing{
  background:
    radial-gradient(60% 70% at 10% 100%,color-mix(in oklab,var(--tv-apricot) 32%,transparent),transparent 70%),
    radial-gradient(50% 60% at 90% 0%,color-mix(in oklab,var(--tv-deep) 80%,transparent),transparent 70%),
    var(--tv-navy);
  contain:paint;
}
[dir=rtl] :is(.tv-band--dark,.tv-hero--dark,.tv-closing){background-position:100% 100%,0 0,0 0}
.tv-split{display:grid;gap:clamp(24px,4vw,64px);align-items:center}
.tv-split--top{align-items:start}
.tv-split__media{min-inline-size:0}
@media (width>=900px){
  .tv-split{grid-template-columns:7fr 5fr}
  .tv-split--even{grid-template-columns:1fr 1fr}
  .tv-split--reverse{grid-template-columns:5fr 7fr}
  .tv-split--reverse.tv-split--even{grid-template-columns:1fr 1fr}
  .tv-split--reverse .tv-split__media{order:-1}
}
@media (width>=1200px){.tv-split__media--bleed{margin-inline-end:calc(-1*var(--tv-gutter))}}
.tv-grid{--tv-n:3;--tv-col:17rem;display:grid;gap:var(--tv-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,max(var(--tv-col),calc((100% - (var(--tv-n) - 1)*var(--tv-gap))/var(--tv-n)))),1fr))}
.tv-grid--2{--tv-n:2;--tv-col:22rem}
.tv-grid--3{--tv-n:3;--tv-col:17rem}
.tv-grid--4{--tv-n:4;--tv-col:13rem}
.tv-stack{display:flex;flex-direction:column;gap:var(--tv-sp-m)}
.tv-stack--s{gap:var(--tv-sp-s)}
.tv-stack--l{gap:var(--tv-sp-l)}
.tv-cluster{display:flex;flex-wrap:wrap;gap:var(--tv-sp-xs) var(--tv-sp-s);align-items:center}
.tv-sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.tv-skip{position:fixed;inset-block-start:var(--tv-sp-xs);inset-inline-start:var(--tv-sp-xs);z-index:1000;display:inline-flex;align-items:center;min-block-size:44px;padding:0 1.1rem;border-radius:var(--tv-r-pill);background:var(--tv-apricot);color:var(--tv-navy);font:600 var(--tv-step--1)/1 var(--tv-font-ui);text-decoration:none;box-shadow:var(--tv-sh-3);translate:0 -200%;opacity:0;transition:translate var(--tv-dur-2) var(--tv-ease-out),opacity var(--tv-dur-2)}
.tv-skip:focus,.tv-skip:focus-visible{translate:0 0;opacity:1}
.tv-rail-layout{display:grid;gap:var(--tv-sp-xl);align-items:start}
@media (width>=1000px){.tv-rail-layout{grid-template-columns:minmax(0,1fr) 16rem;gap:var(--tv-sp-2xl)}}

/* ---------- 5. Buttons ---------- */
.tv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-block-size:48px;padding:.5rem 1.25rem;border-radius:var(--tv-r-pill);font:600 var(--tv-step--1)/1.2 var(--tv-font-ui);letter-spacing:.01em;text-align:center;text-decoration:none;border:1.5px solid transparent;background:none;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;transition:background var(--tv-dur-2) var(--tv-ease-out),color var(--tv-dur-2),border-color var(--tv-dur-2),transform var(--tv-dur-1),box-shadow var(--tv-dur-2)}
.tv-btn .tv-icon--arrow{transition:translate var(--tv-dur-2) var(--tv-ease-out)}
.tv-btn--primary{background:var(--tv-btn-bg);color:var(--tv-btn-text)}
.tv-btn--accent{background:var(--tv-apricot);color:var(--tv-navy)}
.tv-btn--ink{background:var(--tv-navy);color:var(--tv-white)}
.tv-btn--secondary{border-color:var(--tv-border-strong);color:var(--tv-text)}
.tv-btn--ghost{padding-inline:0;border:0;min-block-size:44px;border-radius:var(--tv-r-xs);color:var(--tv-link);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;text-decoration-thickness:1.5px}
.tv-btn--sm{min-block-size:40px;padding:.35rem 1rem;font-size:0.8125rem}
.tv-btn--lg{min-block-size:56px;padding:.6rem 1.75rem;font-size:var(--tv-step-0)}
.tv-btn--block{display:flex;inline-size:100%}
.tv-btn:active{transform:translateY(1px)}
.tv-btn[aria-disabled=true],.tv-btn:disabled{opacity:.5;pointer-events:none}
.tv-btn.is-loading{position:relative;color:transparent;pointer-events:none}
.tv-btn.is-loading .tv-icon{visibility:hidden}
.tv-btn__spinner,.tv-btn.is-loading::after{content:'';position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:18px;block-size:18px;margin:-9px;border-radius:50%;border:2px solid color-mix(in oklab,var(--tv-btn-text) 35%,transparent);border-block-start-color:var(--tv-btn-text);animation:tv-spin .8s linear infinite}
.tv-btn--accent.is-loading::after{border-color:color-mix(in oklab,var(--tv-navy) 35%,transparent);border-block-start-color:var(--tv-navy)}
@keyframes tv-spin{to{transform:rotate(360deg)}}
@media (hover:hover) and (pointer:fine){
  .tv-btn--primary:hover{background:var(--tv-btn-bg-hover);box-shadow:var(--tv-sh-2)}
  .tv-btn--accent:hover{background:color-mix(in oklab,var(--tv-apricot) 88%,white);box-shadow:var(--tv-sh-2)}
  .tv-btn--ink:hover{background:var(--tv-navy-700);box-shadow:var(--tv-sh-2)}
  .tv-btn--secondary:hover{border-color:var(--tv-text);background:var(--tv-surface)}
  .tv-btn--ghost:hover{text-decoration-color:currentColor;color:var(--tv-link-hover)}
  .tv-btn:hover .tv-icon--arrow-next{translate:3px 0}
  [dir=rtl] .tv-btn:hover .tv-icon--arrow-next{translate:-3px 0}
  .tv-btn:hover .tv-icon--arrow-down{translate:0 3px}
}
.tv-btn-group{display:flex;flex-wrap:wrap;gap:var(--tv-sp-xs);align-items:center}

/* ---------- 6. Eyebrow ---------- */
.tv-eyebrow{margin:0 0 var(--tv-sp-xs);font:600 var(--tv-eyebrow)/1.2 var(--tv-font-ui);letter-spacing:var(--tv-track-eyebrow);text-transform:uppercase;color:var(--tv-accent-text)}
.tv-eyebrow--dot{display:inline-flex;align-items:center;gap:.5rem}
.tv-eyebrow--dot::before{content:'';flex:none;inline-size:6px;block-size:6px;border-radius:50%;background:currentColor}
.tv-eyebrow--muted{color:var(--tv-text-3)}

/* ---------- 7. Badges ---------- */
.tv-badge{display:inline-flex;gap:.35rem;align-items:center;min-block-size:24px;padding:0 .6rem;border-radius:var(--tv-r-pill);font:600 var(--tv-step--2)/1 var(--tv-font-ui);letter-spacing:.02em;border:1px solid transparent;white-space:nowrap;vertical-align:middle;background:var(--tv-bg-3);color:var(--tv-text-2)}
.tv-badge--live{background:var(--tv-navy-050);color:var(--tv-navy)}
.tv-badge--planned{background:var(--tv-apricot-100);color:var(--tv-burnt);border:1px dashed color-mix(in oklab,var(--tv-burnt) 40%,transparent)}
.tv-badge--design{background:var(--tv-apricot-100);color:var(--tv-burnt);border:1px solid color-mix(in oklab,var(--tv-burnt) 40%,transparent)}
.tv-badge--intro{background:transparent;border-color:var(--tv-border-strong);color:var(--tv-text-2)}
.tv-badge--ai{background:var(--tv-navy);color:var(--tv-ivory)}
.tv-badge--neutral,.tv-badge--count{background:var(--tv-bg-3);color:var(--tv-text-2)}
.tv-badge--count{font-variant-numeric:tabular-nums}
.tv-dark .tv-badge--live{background:color-mix(in oklab,var(--tv-ivory) 14%,var(--tv-navy));color:var(--tv-ivory)}
.tv-dark .tv-badge--planned,.tv-dark .tv-badge--design{background:color-mix(in oklab,var(--tv-apricot) 18%,var(--tv-navy));color:var(--tv-apricot);border-color:color-mix(in oklab,var(--tv-apricot) 45%,transparent)}
.tv-dark .tv-badge--ai{background:var(--tv-ivory);color:var(--tv-navy)}
.tv-dark .tv-badge--intro{color:var(--tv-text-2)}
.tv-band--apricot .tv-badge--planned,.tv-band--apricot .tv-badge--design{background:var(--tv-ivory);color:var(--tv-burnt)}

/* ---------- 8. Cards ---------- */
.tv-card,.tv-bento__tile{position:relative;display:flex;flex-direction:column;gap:var(--tv-sp-xs);padding:var(--tv-sp-m);background:var(--tv-surface);border:1px solid var(--tv-border);border-radius:var(--tv-r-m);box-shadow:var(--tv-sh-1);color:var(--tv-text-2);text-decoration:none;min-inline-size:0;transition:transform var(--tv-dur-2) var(--tv-ease-out),box-shadow var(--tv-dur-2),border-color var(--tv-dur-2)}
.tv-card__icon{margin-block-end:var(--tv-sp-2xs)}
.tv-card__eyebrow{margin:0}
.tv-card__title{margin:0;font-size:var(--tv-step-1);line-height:1.3;color:var(--tv-heading)}
.tv-card--link .tv-card__title,.tv-card--feature .tv-card__title{padding-inline-end:2.25rem}
.tv-card__body{margin:0;font-size:var(--tv-step--1);text-wrap:pretty}
.tv-card__meta{gap:var(--tv-sp-2xs)}
.tv-card__arrow{position:absolute;inset-block-start:var(--tv-sp-m);inset-inline-end:var(--tv-sp-m);display:grid;place-items:center;inline-size:32px;block-size:32px;margin:-6px;border-radius:50%;color:var(--tv-text-3);transition:color var(--tv-dur-2),translate var(--tv-dur-2) var(--tv-ease-out),background var(--tv-dur-2)}
.tv-card__media{border-radius:var(--tv-r-s);aspect-ratio:3/2;overflow:hidden;background:var(--tv-surface-2)}
.tv-card__media>img,.tv-card__media>svg,.tv-card__media>.tv-frame{display:block;inline-size:100%;block-size:100%;object-fit:cover;border:0;border-radius:0}
.tv-card__footer{margin-block-start:auto;padding-block-start:var(--tv-sp-xs)}
.tv-card__mark{inline-size:56px;block-size:56px;display:block}
.tv-card--product .tv-card__mark{margin-block-end:var(--tv-sp-2xs)}
.tv-card__cover::after{content:'';position:absolute;inset:0;border-radius:inherit}
.tv-card--compact{padding:var(--tv-sp-s);gap:var(--tv-sp-2xs)}
.tv-card--compact .tv-card__title{font-size:var(--tv-step-0)}
.tv-card--compact .tv-card__arrow{inset-block-start:var(--tv-sp-s);inset-inline-end:var(--tv-sp-s)}
.tv-card--flat{box-shadow:none;border-color:transparent;background:transparent}
.tv-card--image{padding:0}
.tv-card--image>.tv-card__media{border-radius:var(--tv-r-m) var(--tv-r-m) 0 0}
.tv-card--image>:not(.tv-card__media){margin-inline:var(--tv-sp-m)}
.tv-card--image>:last-child{margin-block-end:var(--tv-sp-m)}
.tv-card--quote blockquote{margin:0;font:500 var(--tv-step-2)/1.35 var(--tv-font-display);color:var(--tv-heading);text-wrap:pretty}
.tv-card--quote cite{font:500 var(--tv-step--1)/1.3 var(--tv-font-ui);font-style:normal;color:var(--tv-text-3)}
.tv-card--dark{color:var(--tv-text-2)}
.tv-card--tint{background:var(--tv-bg-3)}
@media (hover:hover) and (pointer:fine){
  .tv-card--link:hover{transform:translateY(-2px);box-shadow:var(--tv-sh-2);border-color:var(--tv-text)}
  .tv-card--link:hover .tv-card__arrow{color:var(--tv-heading);translate:3px 0}
  [dir=rtl] .tv-card--link:hover .tv-card__arrow{translate:-3px 0}
  .tv-dark .tv-card--link:hover,.tv-card--dark.tv-card--link:hover{border-color:var(--tv-apricot)}
}

/* ---------- 9. Bento ---------- */
.tv-bento{display:grid;gap:var(--tv-gap);grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(9rem,auto);grid-auto-flow:dense}
.tv-bento__tile{grid-column:span 12;border-radius:var(--tv-r-l);container-type:inline-size;padding:var(--tv-sp-l)}
.tv-bento__tile[data-hero]{min-block-size:16rem}
.tv-bento__tile--tint{background:var(--tv-bg-3)}
@media (width>=600px){.tv-bento__tile[data-span="4"],.tv-bento__tile[data-span="6"]{grid-column:span 6}}
@media (width>=900px){
  .tv-bento__tile[data-span="4"]{grid-column:span 4}
  .tv-bento__tile[data-span="6"]{grid-column:span 6}
  .tv-bento__tile[data-span="8"]{grid-column:span 8}
  .tv-bento__tile[data-span="12"]{grid-column:span 12}
  .tv-bento__tile[data-rows="2"]{grid-row:span 2}
}
@container (width > 30rem){.tv-bento__tile h3{font-size:var(--tv-step-3)}}

/* ---------- 10. Section head ---------- */
.tv-section-head{max-inline-size:var(--tv-w-narrow);margin-block-end:var(--tv-sp-xl)}
.tv-section-head>h2,.tv-section-head>h3{margin:0}
.tv-section-head>.tv-lede{margin:var(--tv-sp-s) 0 0}
.tv-section-head__action{margin-block-start:var(--tv-sp-s)}
.tv-section-head--center{margin-inline:auto;text-align:center}
.tv-section-head--center :is(h2,h3,.tv-lede){margin-inline:auto}
.tv-section-head--center .tv-section-head__action{display:flex;justify-content:center}
@media (width>=900px){
  .tv-section-head--split{max-inline-size:none;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--tv-sp-l);align-items:end}
  .tv-section-head--split>:not(.tv-section-head__action){grid-column:1}
  .tv-section-head--split>h2,.tv-section-head--split>h3{max-inline-size:28ch}
  .tv-section-head--split .tv-section-head__action{grid-column:2;grid-row:1/span 3;align-self:end;margin:0}
}

/* ---------- 11. Tabs ---------- */
.tv-tabs__list{display:flex;gap:var(--tv-sp-2xs);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-block-end:1px solid var(--tv-border);margin-block-end:var(--tv-sp-l);-webkit-overflow-scrolling:touch}
.tv-tabs__list::-webkit-scrollbar{display:none}
.tv-tabs__tab{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:.5rem;min-block-size:44px;padding:.5rem 1rem;margin:0 0 -1px;border:0;border-block-end:2px solid transparent;background:none;color:var(--tv-text-3);font:600 var(--tv-step--1)/1.2 var(--tv-font-ui);cursor:pointer;white-space:nowrap;-webkit-appearance:none;appearance:none;transition:color var(--tv-dur-2),border-color var(--tv-dur-2),background var(--tv-dur-2)}
.tv-tabs__tab small{font-size:var(--tv-step--2);font-weight:500;color:var(--tv-text-3)}
.tv-tabs__tab[aria-selected=true]{color:var(--tv-heading);border-color:var(--tv-accent)}
.tv-tabs__tab[aria-selected=true] small{color:var(--tv-text-2)}
.tv-tabs--pills .tv-tabs__list{border:0;gap:var(--tv-sp-xs)}
.tv-tabs--pills .tv-tabs__tab{margin:0;padding:.5rem 1.1rem;border:1px solid var(--tv-border-strong);border-radius:var(--tv-r-pill);color:var(--tv-text-2)}
.tv-tabs--pills .tv-tabs__tab[aria-selected=true]{background:var(--tv-navy);color:var(--tv-white);border-color:var(--tv-navy)}
.tv-tabs--pills .tv-tabs__tab[aria-selected=true] small{color:inherit;opacity:.85}
.tv-dark .tv-tabs--pills .tv-tabs__tab[aria-selected=true]{background:var(--tv-apricot);color:var(--tv-navy);border-color:var(--tv-apricot)}
.tv-tabs__panel{outline-offset:6px;border-radius:var(--tv-r-s)}
.tv-tabs__panel[hidden]{display:none}
@media (width>=900px){
  .tv-tabs--vertical{display:grid;grid-template-columns:16rem minmax(0,1fr);gap:var(--tv-sp-xl);align-items:start}
  .tv-tabs--vertical .tv-tabs__list{flex-direction:column;align-items:stretch;overflow:visible;margin:0;border-block-end:0;border-inline-start:1px solid var(--tv-border);scroll-snap-type:none}
  .tv-tabs--vertical .tv-tabs__tab{margin:0;margin-inline-start:-1px;border-block-end:0;border-inline-start:2px solid transparent;justify-content:flex-start;text-align:start;white-space:normal}
  .tv-tabs--vertical .tv-tabs__tab[aria-selected=true]{border-color:var(--tv-accent)}
}
@media (hover:hover) and (pointer:fine){
  .tv-tabs__tab:hover{color:var(--tv-heading)}
  .tv-tabs--pills .tv-tabs__tab:hover:not([aria-selected=true]){background:var(--tv-bg-3)}
}

/* ---------- 12. Accordion / FAQ ---------- */
.tv-accordion{border-block-start:1px solid var(--tv-border)}
.tv-accordion__item{border-block-end:1px solid var(--tv-border)}
.tv-accordion__summary{display:flex;justify-content:space-between;align-items:center;gap:var(--tv-sp-s);min-block-size:56px;padding:var(--tv-sp-s) 0;font:600 var(--tv-step-0)/1.35 var(--tv-font-ui);color:var(--tv-heading);cursor:pointer;list-style:none;transition:color var(--tv-dur-2)}
.tv-accordion__summary::-webkit-details-marker{display:none}
.tv-accordion__summary::marker{content:''}
.tv-accordion__chevron{flex:none;color:var(--tv-text-3);transition:transform var(--tv-dur-2) var(--tv-ease-out)}
.tv-accordion__item[open] .tv-accordion__chevron{transform:rotate(180deg)}
.tv-accordion__body{padding-block:0 var(--tv-sp-m);color:var(--tv-text-2);max-inline-size:var(--tv-w-prose)}
.tv-accordion__body p{margin:0}
.tv-accordion__body p+p{margin-block-start:.75em}
.tv-accordion__body a{color:var(--tv-link);text-decoration:underline;text-underline-offset:.15em}
.tv-accordion__item[open] .tv-accordion__body{animation:tv-fade var(--tv-dur-3) var(--tv-ease-out) both}
@keyframes tv-fade{from{opacity:0;translate:0 -4px}to{opacity:1;translate:0 0}}
@supports (interpolate-size:allow-keywords){
  .tv-accordion__item{interpolate-size:allow-keywords}
  .tv-accordion__item::details-content{block-size:0;overflow:clip;transition:block-size var(--tv-dur-3) var(--tv-ease-out),content-visibility var(--tv-dur-3) allow-discrete}
  .tv-accordion__item[open]::details-content{block-size:auto}
}
@media (hover:hover) and (pointer:fine){.tv-accordion__summary:hover{color:var(--tv-accent-text)}}
.tv-faq .tv-section-head{margin-block-end:var(--tv-sp-l)}

/* ---------- 13. Proof strip and stat tile ---------- */
.tv-stat{display:grid;gap:.3rem;align-content:start;min-inline-size:0}
.tv-stat__icon{color:var(--tv-accent-text);margin-block-end:.3rem}
.tv-stat__value{display:block;font:500 var(--tv-step-4)/1.05 var(--tv-font-display);font-variant-numeric:tabular-nums;letter-spacing:-0.02em;color:var(--tv-heading);font-variation-settings:"SOFT" 40,"WONK" 0}
.tv-stat__value:not([data-tv-count]){font:600 var(--tv-step-2)/1.2 var(--tv-font-ui);letter-spacing:-0.01em}
.tv-stat__label{font-size:var(--tv-step--1);color:var(--tv-text-2);text-wrap:pretty}
.tv-stat__note{color:var(--tv-text-3)}
.tv-proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--tv-sp-l);padding-block:var(--tv-sp-l);border-block:1px solid var(--tv-border)}
.tv-card--stat{gap:0}

/* ---------- 14. Icons ---------- */
.tv-icon{display:inline-block;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.tv-icon--14{inline-size:14px;block-size:14px}
.tv-icon--16{inline-size:16px;block-size:16px}
.tv-icon--20{inline-size:20px;block-size:20px}
.tv-icon--24{inline-size:24px;block-size:24px}
.tv-icon--32{inline-size:32px;block-size:32px}
[dir=rtl] .tv-icon--arrow,[dir=rtl] .tv-icon--chevron-side{transform:scaleX(-1)}
.tv-icon-chip{display:grid;place-items:center;flex:none;inline-size:44px;block-size:44px;border-radius:var(--tv-r-s);background:var(--tv-bg-3);color:var(--tv-heading)}
.tv-icon-chip--lg{inline-size:56px;block-size:56px;border-radius:var(--tv-r-m)}
.tv-icon-chip--accent{background:var(--tv-apricot-100);color:var(--tv-burnt)}
.tv-dark .tv-icon-chip{background:var(--tv-surface-2);color:var(--tv-accent)}
.tv-sprite{position:absolute;inline-size:0;block-size:0;overflow:hidden}

/* ---------- 15. Duotone frame ---------- */
.tv-frame{position:relative;isolation:isolate;overflow:hidden;margin:0;border-radius:var(--tv-r-l);background:var(--tv-surface-2);border:1px solid var(--tv-border)}
.tv-frame__img{display:block;inline-size:100%;block-size:auto;aspect-ratio:3/2;object-fit:cover}
.tv-frame--portrait .tv-frame__img{aspect-ratio:auto;object-fit:contain}
.tv-frame--soft .tv-frame__img{filter:none}
.tv-frame--bold .tv-frame__img{filter:none}
.tv-frame--bold{background:var(--tv-navy);border-color:color-mix(in oklab,var(--tv-ivory) 16%,var(--tv-navy))}
.tv-frame--plain{background:var(--tv-surface)}
.tv-frame--screen{padding-block-start:28px;background:var(--tv-navy);border-color:var(--tv-navy)}
.tv-frame--screen::before{content:'';position:absolute;inset-block-start:0;inset-inline:0;block-size:28px;background:radial-gradient(circle 4px at 18px 14px,var(--tv-border) 98%,transparent),radial-gradient(circle 4px at 32px 14px,var(--tv-border) 98%,transparent),radial-gradient(circle 4px at 46px 14px,var(--tv-border) 98%,transparent)}
.tv-frame__svg{display:block;background:var(--tv-ivory);border-radius:0 0 var(--tv-r-l) var(--tv-r-l);overflow:hidden}
.tv-frame__svg svg,.tv-frame__svg .tv-mock{display:block;inline-size:100%;block-size:auto;border-radius:0;box-shadow:none}
.tv-frame--video .tv-frame__img{aspect-ratio:16/9}
.tv-frame__caption{position:absolute;inset-block-end:.6rem;inset-inline-start:.6rem;padding:.35rem .8rem;border-radius:var(--tv-r-pill);background:color-mix(in oklab,var(--tv-white) 88%,transparent);color:var(--tv-text-2)}
@supports not (filter:url(#x)){.tv-frame--soft .tv-frame__img,.tv-frame--bold .tv-frame__img{filter:none}}

/* ---------- 16. Hero ---------- */
.tv-hero{position:relative;padding-block:var(--tv-sp-section)}
.tv-hero--dark{padding-block:calc(var(--tv-sp-section) + var(--tv-header-h)) var(--tv-sp-section)}
main.tv-page>.tv-hero--dark:first-child{margin-block-start:calc(-1*var(--tv-header-h))}
.tv-hero__grid{display:grid;gap:var(--tv-sp-xl);align-items:center}
.tv-hero__copy{min-inline-size:0}
.tv-hero__copy .tv-breadcrumb{margin-block-end:var(--tv-sp-m)}
.tv-hero__eyebrow{margin-block-end:var(--tv-sp-s)}
.tv-hero__copy h1{margin:0 0 var(--tv-sp-m)}
.tv-hero__lede{margin:0 0 var(--tv-sp-l)}
.tv-hero__actions{margin-block-end:var(--tv-sp-m)}
.tv-hero__meta{gap:var(--tv-sp-2xs) var(--tv-sp-xs);font-size:var(--tv-step--1);color:var(--tv-text-3)}
.tv-hero__media{min-inline-size:0;position:relative}
.tv-hero--center .tv-hero__grid{justify-items:center;text-align:center}
.tv-hero--center .tv-hero__copy{max-inline-size:var(--tv-w-narrow)}
.tv-hero--center .tv-hero__copy :is(h1,.tv-lede){margin-inline:auto}
.tv-hero--center .tv-hero__copy .tv-breadcrumb ol,.tv-hero--center .tv-hero__actions,.tv-hero--center .tv-hero__meta{justify-content:center}
.tv-hero--dark .tv-frame{box-shadow:var(--tv-sh-3)}
@media (width>=900px){
  .tv-hero--split .tv-hero__grid{grid-template-columns:7fr 5fr;gap:clamp(24px,4vw,64px)}
  .tv-hero--split.tv-hero--home .tv-hero__grid{grid-template-columns:1fr 1fr}
}
@media (width<900px){
  .tv-hero__media{max-block-size:40vh;overflow:hidden;border-radius:var(--tv-r-l)}
  .tv-hero__media>*{max-block-size:40vh}
}

/* ---------- 17. Rail, chips ---------- */
.tv-rail{display:none}
.tv-rail__title{margin-block-end:var(--tv-sp-xs)}
.tv-rail ul{list-style:none;margin:0;padding:0;scroll-target-group:auto}
.tv-rail a{display:flex;align-items:center;min-block-size:44px;padding:.5rem .9rem;border-inline-start:2px solid var(--tv-border);color:var(--tv-text-3);font-size:var(--tv-step--1);text-decoration:none;transition:color var(--tv-dur-2),border-color var(--tv-dur-2)}
.tv-rail :is(a[aria-current],a:target-current){color:var(--tv-accent-text);border-color:var(--tv-accent);font-weight:600}
@media (hover:hover) and (pointer:fine){.tv-rail a:hover{color:var(--tv-heading);border-color:var(--tv-border-strong)}}
@media (width>=1000px){
  .tv-rail{display:block;position:sticky;inset-block-start:calc(var(--tv-header-h) + 16px);align-self:start;max-block-size:calc(100dvh - var(--tv-header-h) - 32px);overflow:auto;padding-inline-end:.25rem}
  .tv-rail-layout>.tv-chips{display:none}
}
.tv-chips{margin-inline:calc(-1*var(--tv-gutter));padding-inline:var(--tv-gutter);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tv-chips::-webkit-scrollbar{display:none}
.tv-chips ul{display:flex;gap:var(--tv-sp-2xs);list-style:none;margin:0;padding:.25rem 0;inline-size:max-content}
.tv-chip{display:inline-flex;align-items:center;gap:.4rem;min-block-size:44px;padding:0 1rem;border-radius:var(--tv-r-pill);background:var(--tv-surface);border:1px solid var(--tv-border-strong);color:var(--tv-text);font:500 var(--tv-step--1)/1 var(--tv-font-ui);text-decoration:none;white-space:nowrap;transition:background var(--tv-dur-2),color var(--tv-dur-2),border-color var(--tv-dur-2)}
.tv-chip[aria-current]{background:var(--tv-navy);color:var(--tv-white);border-color:var(--tv-navy)}
.tv-dark .tv-chip[aria-current]{background:var(--tv-apricot);color:var(--tv-navy);border-color:var(--tv-apricot)}
.tv-chips--sticky{position:sticky;inset-block-start:var(--tv-header-h);z-index:5;background:color-mix(in oklab,var(--tv-bg) 92%,transparent);backdrop-filter:blur(8px);padding-block:.5rem}
@media (hover:hover) and (pointer:fine){.tv-chip:hover:not([aria-current]){border-color:var(--tv-text);color:var(--tv-heading)}}

/* ---------- 18. Checklist, steps, notice, table, form ---------- */
.tv-checklist{list-style:none;margin:0;padding:0}
.tv-checklist li{display:grid;grid-template-columns:20px 1fr;gap:.6rem;padding-block:.55rem;align-items:start;color:var(--tv-text-2)}
.tv-checklist__icon{color:var(--tv-accent-text);margin-block-start:.2em}
.tv-checklist a{color:var(--tv-link);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.15em}
.tv-checklist a:hover{text-decoration-color:currentColor}
.tv-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--tv-sp-l)}
.tv-steps__item{position:relative;display:grid;gap:var(--tv-sp-2xs);align-content:start;padding-block-start:var(--tv-sp-s);border-block-start:1px solid var(--tv-border)}
.tv-steps__num{font:600 var(--tv-step-3)/1 var(--tv-font-ui);font-variant-numeric:tabular-nums;letter-spacing:-0.02em;color:var(--tv-accent-text)}
.tv-steps__title{margin:0;font-size:var(--tv-step-1)}
.tv-steps__text{margin:0;font-size:var(--tv-step--1)}
.tv-steps .tv-btn--ghost{justify-self:start}
@media (width>=900px){.tv-steps:not(.tv-steps--vertical){grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}}
.tv-steps--vertical{gap:0}
.tv-steps--vertical .tv-steps__item{grid-template-columns:3rem minmax(0,1fr);column-gap:var(--tv-sp-s);padding-block:var(--tv-sp-m);border-block-start:0;border-block-end:1px solid var(--tv-border)}
.tv-steps--vertical .tv-steps__num{grid-row:1/span 3}
.tv-steps--vertical .tv-steps__item>:not(.tv-steps__num):not(.tv-sr-only){grid-column:2}
.tv-notice{display:flex;gap:var(--tv-sp-xs);align-items:start;padding:var(--tv-sp-s) var(--tv-sp-m);border-radius:var(--tv-r-s);font-size:var(--tv-step--1);color:var(--tv-text)}
.tv-notice--info{background:var(--tv-bg-3);border-inline-start:3px solid var(--tv-navy)}
.tv-notice--warn{background:var(--tv-apricot-100);border-inline-start:3px solid var(--tv-burnt)}
.tv-notice__icon{flex:none;margin-block-start:.15em;color:var(--tv-navy)}
.tv-notice--warn .tv-notice__icon{color:var(--tv-burnt)}
.tv-notice__title{display:block;color:var(--tv-heading);margin-block-end:.15rem}
.tv-notice p{margin:0}
.tv-table{font-size:var(--tv-step--1)}
.tv-table__scroll{overflow-x:auto;border:1px solid var(--tv-border);border-radius:var(--tv-r-m);background:var(--tv-surface);-webkit-overflow-scrolling:touch}
.tv-table table{inline-size:100%;border-collapse:separate;border-spacing:0;min-inline-size:36rem}
.tv-table caption{caption-side:top;text-align:start;font-size:var(--tv-step--1);color:var(--tv-text-3);padding-block-end:var(--tv-sp-xs)}
.tv-table th,.tv-table td{padding:.8rem 1rem;text-align:start;vertical-align:top;border-block-end:1px solid var(--tv-border);min-inline-size:9rem}
.tv-table thead th{background:var(--tv-navy);color:var(--tv-ivory);font-weight:600;position:sticky;inset-block-start:0;z-index:2}
.tv-table th:first-child,.tv-table td:first-child{position:sticky;inset-inline-start:0;background:var(--tv-surface);z-index:1;font-weight:600;color:var(--tv-heading)}
.tv-table thead th:first-child{background:var(--tv-navy);color:var(--tv-ivory);z-index:3}
.tv-table .is-highlight{background:var(--tv-apricot-100)}
.tv-table thead th.is-highlight{background:var(--tv-apricot);color:var(--tv-navy)}
.tv-table__yes{color:var(--tv-accent-text)}
.tv-table__no{color:var(--tv-text-3)}
.tv-table tbody th[scope=rowgroup],.tv-table .tv-table__group th{background:var(--tv-bg-3);color:var(--tv-heading);font:600 var(--tv-step--2)/1.2 var(--tv-font-ui);letter-spacing:.08em;text-transform:uppercase}
.tv-form{display:grid;gap:var(--tv-sp-m)}
.tv-form__row{display:grid;gap:var(--tv-sp-m)}
@media (width>=600px){.tv-form__row{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}}
.tv-field{display:grid;gap:.4rem}
.tv-label{font:600 var(--tv-step--1)/1.3 var(--tv-font-ui);color:var(--tv-heading)}
.tv-input,.tv-select,.tv-textarea{inline-size:100%;min-block-size:48px;padding:.75rem 1rem;border:1px solid var(--tv-border-strong);border-radius:var(--tv-r-s);background:var(--tv-surface);color:var(--tv-text);font:inherit;font-size:var(--tv-step-0);transition:border-color var(--tv-dur-2),box-shadow var(--tv-dur-2)}
.tv-textarea{min-block-size:8rem;resize:vertical}
.tv-input:focus,.tv-select:focus,.tv-textarea:focus{border-color:var(--tv-navy)}
.tv-input[aria-invalid=true],.tv-select[aria-invalid=true],.tv-textarea[aria-invalid=true]{border-color:var(--tv-burnt)}
.tv-select{-webkit-appearance:none;appearance:none;padding-inline-end:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6275' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px;background-position:calc(100% - .9rem) center}
[dir=rtl] .tv-select{background-position:.9rem center}
.tv-hint{font-size:var(--tv-step--2);color:var(--tv-text-3)}
.tv-error{font-size:var(--tv-step--1);color:var(--tv-burnt)}
.tv-checkbox{display:grid;grid-template-columns:20px 1fr;gap:.6rem;align-items:start;font-size:var(--tv-step--1);color:var(--tv-text-2);min-block-size:44px;align-content:center;cursor:pointer}
.tv-checkbox input{-webkit-appearance:none;appearance:none;inline-size:20px;block-size:20px;margin:.1em 0 0;border:1.5px solid var(--tv-border-strong);border-radius:5px;background:var(--tv-surface);display:grid;place-items:center;cursor:pointer;transition:background var(--tv-dur-2),border-color var(--tv-dur-2)}
.tv-checkbox input:checked{background:var(--tv-navy);border-color:var(--tv-navy)}
.tv-checkbox input:checked::after{content:'';inline-size:10px;block-size:6px;border-block-end:2px solid var(--tv-white);border-inline-start:2px solid var(--tv-white);transform:translateY(-1px) rotate(-45deg)}
[dir=rtl] .tv-checkbox input:checked::after{transform:translateY(-1px) rotate(45deg)}
.tv-checkbox a{color:var(--tv-link);text-decoration:underline;text-underline-offset:.15em}
.tv-honeypot{position:absolute;inset-inline-start:-9999px;inline-size:1px;block-size:1px;overflow:hidden}
.tv-form__actions{display:flex;flex-wrap:wrap;gap:var(--tv-sp-xs);align-items:center}

/* ---------- 19. Closing ---------- */
.tv-closing{position:relative;overflow:hidden;padding-block:var(--tv-sp-section);text-align:center}
.tv-closing__inner{position:relative;z-index:1;display:grid;justify-items:center;gap:var(--tv-sp-m)}
.tv-closing__inner .tv-eyebrow{margin:0}
.tv-closing__title{margin:0;font-size:var(--tv-step-5);max-inline-size:20ch}
.tv-closing .tv-lede{margin:0}
.tv-closing__actions{justify-content:center}
.tv-closing__glyph{position:absolute;inset-block-end:-1.5rem;inset-inline-end:clamp(1rem,6vw,6rem);inline-size:clamp(8rem,20vw,16rem);block-size:auto;opacity:.08;color:var(--tv-ivory);pointer-events:none}

/* ---------- 20. Prose, breadcrumb ---------- */
.tv-prose{max-inline-size:var(--tv-w-prose);line-height:var(--tv-lh-loose);color:var(--tv-text-2);text-wrap:pretty}
.tv-prose p{margin:0}
.tv-prose p+p,.tv-prose ul+p,.tv-prose ol+p{margin-block-start:1em}
.tv-prose :is(h2,h3){margin:1.6em 0 .5em;max-inline-size:none}
.tv-prose :is(h2,h3):first-child{margin-block-start:0}
.tv-prose ul,.tv-prose ol{margin:1em 0;padding-inline-start:1.25em}
.tv-prose a{color:var(--tv-link);text-decoration:underline;text-decoration-color:color-mix(in oklab,currentColor 40%,transparent);text-underline-offset:.15em;transition:color var(--tv-dur-2),text-decoration-color var(--tv-dur-2)}
.tv-prose a:hover{color:var(--tv-link-hover);text-decoration-color:currentColor}
.tv-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 .3rem;list-style:none;margin:0;padding:0;font-size:var(--tv-step--1);color:var(--tv-text-3)}
.tv-breadcrumb li{display:inline-flex;align-items:center;gap:.3rem;min-inline-size:0}
.tv-breadcrumb a,.tv-breadcrumb span{display:inline-block;padding:.5rem 0;color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.15em;transition:color var(--tv-dur-2),text-decoration-color var(--tv-dur-2)}
.tv-breadcrumb a:hover{color:var(--tv-link-hover);text-decoration-color:currentColor}
.tv-breadcrumb [aria-current]{color:var(--tv-text-2)}
.tv-dark .tv-breadcrumb a:hover{color:var(--tv-ivory)}
.tv-breadcrumb .tv-icon{color:var(--tv-text-3);opacity:.8}

/* ---------- 21. Motion, focus, mock, chrome ---------- */
@media (prefers-reduced-motion:no-preference){
  html.tv-js .tv-reveal{opacity:0;translate:0 12px;transition:opacity var(--tv-dur-4) var(--tv-ease-out),translate var(--tv-dur-4) var(--tv-ease-out);transition-delay:calc(min(var(--tv-i,0),5)*60ms)}
  html.tv-js .tv-reveal.is-in{opacity:1;translate:0 0}
}
:focus-visible{outline:3px solid var(--tv-focus);outline-offset:3px;box-shadow:0 0 0 2px var(--tv-focus-halo)}
.tv-tabs__tab:focus-visible,.tv-chip:focus-visible,.tv-btn:focus-visible{outline-offset:2px}
.tv-mock{display:block;inline-size:100%;block-size:auto;border-radius:18px;box-shadow:var(--tv-sh-3);overflow:visible}
.tv-mock__canvas{fill:var(--tv-ivory)}
.tv-mock__bar{fill:var(--tv-navy)}
.tv-mock__dot{fill:color-mix(in oklab,var(--tv-ivory) 40%,var(--tv-navy))}
.tv-mock__panel{fill:var(--tv-white);stroke:var(--tv-line);stroke-width:1}
.tv-mock__panel--dark{fill:var(--tv-navy);stroke:none}
.tv-mock__panel--tint{fill:var(--tv-navy-050);stroke:none}
.tv-mock__line{fill:var(--tv-navy-100)}
.tv-mock__line--strong{fill:var(--tv-navy)}
.tv-mock__line--accent{fill:var(--tv-apricot)}
.tv-mock__line--soft{fill:var(--tv-ivory)}
.tv-mock__line--ivory{fill:color-mix(in oklab,var(--tv-ivory) 40%,var(--tv-navy))}
.tv-mock__chip{fill:var(--tv-apricot-100)}
.tv-mock__chip--navy{fill:var(--tv-navy-050)}
.tv-mock__ring{fill:none;stroke:var(--tv-navy-100);stroke-width:10;stroke-linecap:round}
.tv-mock__ring--accent{stroke:var(--tv-apricot)}
.tv-mock__icon{color:var(--tv-navy);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tv-mock__icon--accent{color:var(--tv-burnt)}
.website-preview-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--tv-sp-2xs) var(--tv-sp-m);padding:.5rem var(--tv-gutter);background:var(--tv-navy);color:var(--tv-ivory);font:500 var(--tv-step--1)/1.4 var(--tv-font-ui)}
.website-preview-banner b{color:var(--tv-apricot);font-weight:600}
.website-preview-banner a{display:inline-flex;align-items:center;gap:.35rem;min-block-size:44px;color:var(--tv-ivory);text-decoration:underline;text-underline-offset:.2em}
