/* RadVoice public website — v23 design layer.
   Loaded after site-v21.css. Quiet, precise and fluid: light-weight display
   type, one accent, thin lines, dark/paper section rhythm and scroll-driven
   motion (see site-motion-v23.js). Everything degrades to a static page
   without JavaScript or with "reduce motion". */

/* Type: Estedad (OFL) for text, Titr (FarsiWeb, GPL) for Persian headings.
   Titr has no Latin, so "CT" or "RadVoice" inside a heading falls back to
   bold Estedad through unicode-range. Both are self-hosted. */
@font-face{font-family:Estedad;src:url('/static/estedad-v8.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Titr;src:url('/static/titr-fw.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0600-065F,U+066D-06EF,U+06FA-06FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF}

:root{
  --font:Estedad,Vazirmatn,system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
  --font-display:Titr,Estedad,Vazirmatn,system-ui,sans-serif;
  --bg:#050a0e;--bg-2:#08121a;--surface:#0b161e;--surface-2:#0f1d27;--surface-3:#142632;
  --line:rgba(160,200,200,.11);--line-2:rgba(160,200,200,.2);
  --text:#eef5f4;--text-2:#c3d2d1;--muted:#8fa3a6;--faint:#647a7e;
  --accent:#34e0bd;--accent-2:#5ad7f2;--accent-soft:rgba(52,224,189,.1);--accent-ink:#03211b;
  --paper:#eef4f2;--paper-2:#e3ece9;--ink:#0d1b19;--ink-2:#3d5250;--ink-3:#6b7f7c;--paper-line:rgba(13,27,25,.1);--paper-accent:#0d9b80;
  --r-sm:8px;--r:12px;--r-lg:18px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --container:1200px;
}
body{background:var(--bg);line-height:1.9}
body::before{background:radial-gradient(1100px 620px at 50% -12%,rgba(52,224,189,.13),transparent 62%),radial-gradient(700px 420px at 100% 30%,rgba(90,215,242,.05),transparent 60%)}
h1,h2,h3{letter-spacing:0}
.hero h1,.page-hero h1,.section h2,.section-head h2,.final-cta h2,.split-section h2,.v23-statement p.v23-words,.v23-bento .big,.price-card .amount b,.slogan-stack strong,.signup-offer h2{font-family:var(--font-display);font-synthesis:none}
::selection{background:rgba(52,224,189,.28)}

/* ---------- buttons: flat, precise ---------- */
.button{border-radius:var(--r-sm);font-weight:600;min-height:42px;padding:9px 18px;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s,transform .25s var(--ease)}
.button.primary{background:var(--accent);color:var(--accent-ink);box-shadow:none}
.button.primary:hover{background:#5cebcf;transform:none;box-shadow:0 0 0 4px rgba(52,224,189,.14)}
.button.ghost{background:transparent;border-color:var(--line-2)}
.button.ghost:hover{background:rgba(255,255,255,.04);border-color:rgba(52,224,189,.45)}
.button.large{min-height:48px;padding:12px 24px;border-radius:10px;font-size:15px}
.text-link{color:var(--accent);font-weight:600}

/* ---------- header ---------- */
.site-header{background:rgba(5,10,14,.7);border-bottom-color:transparent;transition:border-color .3s,background .3s}
.site-header.scrolled{border-bottom-color:var(--line);background:rgba(5,10,14,.86)}
.site-nav a{font-weight:500;font-size:13.5px;color:var(--muted)}
.site-nav a:hover,.site-nav a[aria-current=page]{background:transparent;color:var(--text)}
.nav-actions>.button{min-height:36px;padding:7px 14px;font-size:13px}

/* ---------- typography ---------- */
.eyebrow,.pill{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.eyebrow::before,.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(52,224,189,.12)}
.section h2,.section-head h2,.final-cta h2,.split-section h2{font-weight:700;font-size:clamp(28px,3.4vw,44px);line-height:1.55}
.section h2 em,.section-head h2 em,.v23-accent{font-style:normal;color:var(--accent)}
.section-lead{font-size:16.5px;color:var(--muted)}
.page-hero h1{font-weight:700;font-size:clamp(32px,4.4vw,52px);line-height:1.5}
.page-hero{background:none;border-bottom-color:var(--line)}

/* ---------- hero ---------- */
.hero{position:relative;padding:96px 0 40px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-1px 0 0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:72px 72px;mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 25%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 25%,transparent 75%)}
.hero .container{gap:64px}
.hero .container.v23-cats-wrap{display:block}
.v23-live .window .dictation p,.hero .window .dictation p{min-height:3.7em}

/* ---------- 3D hero stage (site-hero3d-v23.js) ---------- */
.v23-hero3d{position:relative;width:100%;aspect-ratio:1/1;max-height:600px}
.hero-visual:has(.v23-hero3d)::before{inset:12% 10%;background:radial-gradient(closest-side,rgba(52,224,189,.16),transparent);filter:blur(50px)}
.v23-stage{position:absolute;inset:0}
.v23-canvas{position:absolute;left:-16%;top:-16%;width:132%;height:132%;display:block;opacity:0;transition:opacity 1.4s var(--ease);pointer-events:none}
.v23-stage.is-3d .v23-canvas{opacity:1}
.v23-fallback{position:absolute;inset:6%;transition:opacity 1s var(--ease)}
.v23-fallback i{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(52,224,189,.22);transform:translate(-50%,-50%) rotateX(68deg)}
.v23-fallback i:nth-child(1){width:96%;height:96%;border-color:rgba(52,224,189,.35)}
.v23-fallback i:nth-child(2){width:62%;height:62%;transform:translate(-50%,-50%);background:radial-gradient(circle at 40% 35%,rgba(52,224,189,.18),rgba(52,224,189,.03) 70%);border-color:rgba(52,224,189,.18)}
.v23-fallback i:nth-child(3){width:30%;height:30%;transform:translate(-50%,-50%);border-style:dashed}
.v23-stage.is-3d .v23-fallback{opacity:0}
.v23-hud{position:absolute;display:flex;gap:14px;align-items:center;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(5,10,14,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--muted);font:500 10.5px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;direction:ltr;white-space:nowrap}
.v23-hud.top{top:5%;left:2%}
.v23-hud.bottom{bottom:5%;right:2%}
.v23-hud b{color:var(--accent);font-weight:600}
.v23-hud .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(52,224,189,.15);animation:v23blink 2.4s ease-in-out infinite}
@keyframes v23blink{50%{opacity:.35}}

/* ---------- live sample (typing demo) ---------- */
.section.v23-live{padding-top:40px}
.v23-live-visual{position:relative;max-width:980px;margin:0 auto;perspective:1600px}
.v23-live-visual::before{content:"";position:absolute;inset:10% 6%;z-index:-1;background:radial-gradient(closest-side,rgba(52,224,189,.14),transparent);filter:blur(40px)}
.v23-tilt{transform-style:preserve-3d;transition:transform .5s var(--ease);will-change:transform}
@media(min-width:900px){
  .v23-live .window-body{grid-template-columns:minmax(0,.85fr) auto minmax(0,1.25fr);align-items:center;gap:18px;padding:22px}
  .v23-live .flow-arrow{flex-direction:column}
  .v23-live .flow-arrow svg{transform:none}
}
.pioneer-badge{padding:5px 12px 5px 6px;border-color:var(--line-2);background:rgba(255,255,255,.02)}
.pioneer-badge-icon{width:22px;height:22px;background:var(--accent)}
.pioneer-badge-icon svg{width:12px;height:12px;fill:var(--accent-ink)}
.pioneer-badge-copy strong{font-weight:500;font-size:12.5px;color:var(--text-2)}
.hero h1{font-weight:700;font-size:clamp(38px,5.2vw,68px);line-height:1.45}
.hero h1 em{display:block;background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--accent);font-weight:700}
.hero-lead{font-size:17px;color:var(--muted);max-width:540px}
.hero-meta{color:var(--faint);font-size:13px}
.hero-meta svg{color:var(--accent)}
.hero-visual::before{background:radial-gradient(closest-side,rgba(52,224,189,.2),transparent);filter:blur(40px)}
.window{border-radius:16px;border-color:var(--line-2);background:linear-gradient(180deg,rgba(15,29,39,.92),rgba(8,18,26,.92));backdrop-filter:blur(10px);box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.window-live{color:var(--accent)}
.window-live::before{background:var(--accent);box-shadow:0 0 0 4px rgba(52,224,189,.15)}
.mic{background:var(--accent)}
.wave i{background:var(--accent)}
.flow-arrow b{border-color:rgba(52,224,189,.3);background:var(--accent-soft);color:var(--accent);font-weight:600}
.report-sheet{background:#f6faf9;border-radius:12px}
.report-sheet h3{color:var(--paper-accent)}
.sheet-foot b{color:var(--paper-accent)}
/* typing demo states (site-motion-v23.js) */
.v23-typing .dictation p::after{content:"";display:inline-block;width:2px;height:1.05em;margin-inline-start:2px;vertical-align:-2px;background:var(--accent);animation:v23caret 1s steps(1) infinite}
.v23-idle .wave i{animation-play-state:paused;opacity:.35}
.report-sheet .line.v23-wait{opacity:0;transform:translateY(6px);animation:none}
.report-sheet .line.v23-show{opacity:1;transform:none;animation:none;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.v23-done-badge{display:inline-flex;align-items:center;gap:6px;color:var(--paper-accent);font-weight:700;opacity:0;transition:opacity .4s}
.v23-done .v23-done-badge{opacity:1}
@keyframes v23caret{50%{opacity:0}}

/* category strip under the hero (like an industry row) */
.v23-cats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));margin-top:72px;border:1px solid var(--line);border-radius:var(--r);background:rgba(11,22,30,.55);backdrop-filter:blur(8px);overflow:hidden}
.v23-cats a{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:18px 16px;border-inline-start:1px solid var(--line);color:var(--text-2);font-size:13px;font-weight:500;transition:background .3s var(--ease),color .3s}
.v23-cats a:first-child{border-inline-start:0}
.v23-cats a:hover{background:rgba(52,224,189,.06);color:var(--text)}
.v23-cats svg{width:30px;height:30px;color:var(--accent);stroke-width:1.4;transition:transform .5s var(--ease)}
.v23-cats a:hover svg{transform:translateY(-3px) scale(1.06)}
.v23-cats small{display:block;color:var(--faint);font-size:11px;margin-top:-10px}

/* ---------- offer ---------- */
.signup-offer .inner{border-color:var(--line-2);background:rgba(52,224,189,.05);border-radius:var(--r)}
.signup-offer .gift{background:var(--accent-soft);color:var(--accent)}
.signup-offer h2{font-weight:500}
.signup-offer h2 strong{color:var(--accent);font-weight:600}

/* ---------- paper (light) sections ---------- */
.section.paper{background:var(--paper);color:var(--ink);border:0}
.section.paper h2,.section.paper h3{color:var(--ink)}
.section.paper .section-lead,.section.paper p{color:var(--ink-2)}
.section.paper .eyebrow{color:var(--ink-3)}
.section.paper .eyebrow::before{background:var(--paper-accent);box-shadow:0 0 0 4px rgba(13,155,128,.12)}
.section.paper h2 em,.section.paper .v23-accent{color:var(--paper-accent)}
.section.paper .button.ghost{color:var(--ink);border-color:var(--paper-line)}
.section.paper .button.ghost:hover{border-color:var(--paper-accent);background:rgba(13,155,128,.06)}
.section.paper .text-link{color:var(--paper-accent)}
.section.paper.fade-out{background:linear-gradient(180deg,var(--paper) 70%,#d9eee8 100%)}

/* scroll-highlighted statement */
.v23-statement{max-width:900px;margin:0 auto;text-align:center}
.v23-statement p.v23-words{margin:18px 0 0;font-size:clamp(24px,3vw,38px);font-weight:700;line-height:1.8;color:var(--ink)}
.v23-words em{font-style:normal}
.v23-words .w{transition:color .35s var(--ease),opacity .35s var(--ease)}
.js .v23-words .w{color:rgba(13,27,25,.2)}
.js .v23-words .w.on{color:var(--ink)}
.js .v23-words .w.on.acc{color:var(--paper-accent)}
.v23-pains{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border:1px solid var(--paper-line);border-radius:var(--r);overflow:hidden;background:rgba(255,255,255,.45)}
.v23-pains article{padding:26px 24px;border-inline-start:1px solid var(--paper-line)}
.v23-pains article:first-child{border-inline-start:0}
.v23-pains svg{width:26px;height:26px;color:var(--paper-accent);stroke-width:1.5;margin-bottom:18px}
.v23-pains h3{font-size:15.5px;font-weight:600;margin-bottom:6px}
.v23-pains p{margin:0;font-size:14px;color:var(--ink-2)!important;line-height:1.95}
.v23-response{margin-top:72px;text-align:center}
.v23-response h2{max-width:820px;margin:14px auto 0}
.v23-response .section-lead{max-width:640px;margin-inline:auto}

/* steps with a connecting line drawn on scroll */
.v23-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
.v23-steps::before{content:"";position:absolute;top:21px;inset-inline:16% 16%;height:1px;background:var(--paper-line)}
.v23-steps::after{content:"";position:absolute;top:21px;inset-inline-start:16%;height:1px;width:calc(68% * var(--p,0));background:var(--paper-accent);transition:width .1s linear}
.v23-steps article{position:relative;text-align:center;padding:0 10px}
.v23-steps b{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;margin:0 auto 18px;border-radius:50%;border:1px solid var(--paper-line);background:var(--paper);color:var(--ink-2);font-weight:600;transition:background .4s var(--ease),color .4s,border-color .4s}
.v23-steps article.on b{background:var(--paper-accent);border-color:var(--paper-accent);color:#fff}
.v23-steps h3{font-size:17px;font-weight:600;margin-bottom:6px}
.v23-steps p{margin:0;font-size:14.5px}

/* sample reports with tabs */
.v23-tabs{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r) var(--r) 0 0;overflow:hidden;background:rgba(11,22,30,.6)}
.v23-tabs button{position:relative;padding:15px 10px;border:0;border-inline-start:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:color .3s,background .3s}
.v23-tabs button:first-child{border-inline-start:0}
.v23-tabs button:hover{color:var(--text)}
.v23-tabs button[aria-selected=true]{color:var(--accent-ink);background:var(--accent)}
.v23-tabs button span{display:block;font-size:11px;opacity:.75;direction:ltr}
.v23-panes{border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r) var(--r);background:var(--paper);overflow:hidden}
.v23-pane{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);min-height:360px}
.v23-pane[hidden]{display:none!important}
.v23-pane.enter{animation:v23pane .5s var(--ease)}
.v23-pane .dict{padding:30px 28px;border-inline-end:1px solid var(--paper-line);color:var(--ink)}
.v23-pane .dict small,.v23-pane .rep small{display:block;margin-bottom:12px;color:var(--ink-3);font-size:11px;font-weight:600;letter-spacing:.14em}
.v23-pane .dict p{margin:0;font-size:16px;line-height:2.1;color:var(--ink)}
.v23-pane .dict .note{margin-top:22px;font-size:12.5px;color:var(--ink-3)}
.v23-pane .rep{padding:30px 28px;font-family:ui-sans-serif,system-ui,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fbfdfc}
.v23-pane .rep h4{margin:14px 0 4px;color:var(--paper-accent);font-size:11px;letter-spacing:.12em;font-weight:700}
.v23-pane .rep p{margin:0;font-size:13.5px;line-height:1.75;color:#1d2b29}
@keyframes v23pane{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* protocol coverage curve */
.v23-curve{position:relative;margin-top:44px;border:1px solid var(--paper-line);border-radius:var(--r);background:rgba(255,255,255,.55);padding:28px 24px 18px}
.v23-curve svg.plot{display:block;width:100%;height:auto;overflow:visible}
.v23-curve .axis{stroke:var(--paper-line);stroke-width:1}
.v23-curve .track{fill:none;stroke:rgba(13,155,128,.15);stroke-width:2}
.v23-curve .draw{fill:none;stroke:var(--paper-accent);stroke-width:2.2;stroke-linecap:round}
.v23-curve .node{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.v23-curve .node.on{opacity:1;transform:none}
.v23-curve .node circle{fill:#fff;stroke:var(--paper-accent);stroke-width:1.6}
.v23-curve .node text{fill:var(--ink);font-size:12px;font-family:Estedad,Vazirmatn,system-ui,sans-serif}
.v23-curve .node text.cnt{fill:var(--ink-3);font-size:11px}
.v23-curve .node text.sum{fill:var(--paper-accent);font-size:15px;font-weight:600}
.v23-curve .node.end circle{fill:var(--paper-accent);r:7}
.v23-curve-list{display:none;list-style:none;margin:16px 0 0;padding:0;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--paper-line)}
.v23-curve-list li{display:flex;align-items:center;gap:8px;padding:10px 4px;border-bottom:1px solid var(--paper-line);font-size:13px;color:var(--ink-2)}
.v23-curve-list li svg{width:18px;height:18px;color:var(--paper-accent);flex:none}
.v23-curve-list li b{margin-inline-start:auto;font-weight:600;color:var(--ink)}
.v23-curve-list li.sum{grid-column:1/-1;border-bottom:0;color:var(--paper-accent)}
.v23-curve-list li.sum b{color:var(--paper-accent)}
.v23-curve-legend{display:flex;justify-content:space-between;margin-top:6px;color:var(--ink-3);font-size:11px;letter-spacing:.12em}
.v23-proto-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px}

/* bento: features + numbers */
.v23-bento{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:rgba(11,22,30,.5)}
.v23-bento>*{padding:28px 24px;border-inline-start:1px solid var(--line);border-top:1px solid var(--line)}
.v23-bento>*:nth-child(4n+1){border-inline-start:0}
.v23-bento>*:nth-child(-n+4){border-top:0}
.v23-bento svg{width:24px;height:24px;color:var(--accent);stroke-width:1.5;margin-bottom:22px}
.v23-bento h3{font-size:16px;font-weight:600;margin-bottom:6px}
.v23-bento p{margin:0;color:var(--muted);font-size:14px;line-height:1.9}
.v23-bento .big{display:block;font-size:clamp(28px,3vw,40px);font-weight:700;color:var(--text);line-height:1.2;margin-bottom:8px}
.v23-bento .big em{font-style:normal;color:var(--accent)}

/* restyle existing blocks */
.stats{border-radius:var(--r);background:rgba(11,22,30,.5)}
.stats b{font-weight:400;font-size:24px}
.steps article,.info-card,.protocol-grid a,.article-grid a,.roadmap-card,.price-card,.values article,.contact-card,.person,.faq-item{border-radius:var(--r);background:rgba(11,22,30,.55);transition:border-color .35s var(--ease),transform .35s var(--ease),background .35s}
.info-card:hover,.protocol-grid a:hover,.article-grid a:hover,.roadmap-card:hover{transform:translateY(-2px);border-color:rgba(52,224,189,.35)}
.icon,.protocol-grid .picon{background:var(--accent-soft);border-color:transparent;color:var(--accent);border-radius:10px}
.info-card h3,.protocol-grid h3,.article-grid h3,.roadmap-card h3{font-weight:600}
.article-grid .tag{background:var(--accent-soft);color:var(--accent);font-weight:600}
.roadmap-card.is-live{border-color:rgba(52,224,189,.35);background:linear-gradient(180deg,rgba(52,224,189,.06),rgba(11,22,30,.55) 65%)}
.roadmap-status{background:rgba(90,215,242,.1);color:var(--accent-2);font-weight:600}
.roadmap-status.live{background:var(--accent-soft);color:var(--accent)}
.faq-item summary{font-weight:500}
.faq-item summary::after{background:transparent;border:1px solid var(--line-2);color:var(--accent)}
.faq-item[open]{border-color:var(--line-2)}
.template-card b{color:var(--accent)}
.slogan-stack,.quote-card{border-radius:var(--r-lg);background:linear-gradient(160deg,rgba(15,29,39,.9),rgba(8,18,26,.9))}
.slogan-stack strong,.quote-card strong{font-weight:400;font-size:24px}
.safety-row span{border-radius:var(--r-sm)}
.safety-row span::before{background:var(--accent)}
.price-teaser{border-radius:var(--r-lg);background:linear-gradient(135deg,rgba(15,29,39,.9),rgba(8,18,26,.9))}
.price-rows div:last-child{background:var(--accent-soft)}
.price-card .amount b{font-weight:700;font-size:40px}
.price-card.featured{border-color:rgba(52,224,189,.4);background:linear-gradient(180deg,rgba(52,224,189,.07),rgba(11,22,30,.55) 70%)}
.compare-card.after h3,.report-card h2,.compare-card.after>span{color:var(--paper-accent)}
.answer-first{border-color:rgba(52,224,189,.25);background:rgba(52,224,189,.05)}
.final-cta .inner{border-radius:var(--r-lg);border-color:var(--line-2);background:radial-gradient(700px 260px at 50% 0,rgba(52,224,189,.16),transparent 70%),linear-gradient(180deg,#0b1820,#08121a)}
.site-footer{background:#03070a}
.demo-progress i{background:var(--accent)}
.demo-step.active{border-color:rgba(52,224,189,.5);background:var(--accent-soft)}
.demo-step.active>b{background:var(--accent)}

/* ---------- motion: reveal (JS adds .js on <html>) ---------- */
.js .v23-reveal{opacity:0;transform:translateY(22px);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:calc(var(--i,0) * 70ms)}
.js .v23-reveal.in{opacity:1;transform:none;filter:none}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .v23-cats{grid-template-columns:repeat(4,1fr)}
  .v23-cats a:nth-child(5){border-inline-start:0}
  .v23-cats a:nth-child(n+5){border-top:1px solid var(--line)}
  .v23-bento{grid-template-columns:repeat(2,1fr)}
  .v23-bento>*:nth-child(4n+1){border-inline-start:1px solid var(--line)}
  .v23-bento>*:nth-child(odd){border-inline-start:0}
  .v23-bento>*:nth-child(-n+4){border-top:1px solid var(--line)}
  .v23-bento>*:nth-child(-n+2){border-top:0}
}
@media (max-width:760px){
  .hero{padding:52px 0 24px}
  .v23-hero3d{aspect-ratio:1/.92;max-width:460px;margin:-8px auto 0}
  .v23-hud{font-size:9.5px;padding:6px 10px}
  .hero h1{font-size:clamp(34px,10vw,46px)}
  .v23-cats{margin-top:44px;grid-template-columns:repeat(4,1fr)}
  .v23-cats a{padding:14px 8px;align-items:center;text-align:center;gap:10px;font-size:11.5px}
  .v23-cats small{display:none}
  .v23-cats svg{width:26px;height:26px}
  .v23-pains,.v23-steps{grid-template-columns:1fr}
  .v23-pains article{border-inline-start:0;border-top:1px solid var(--paper-line)}
  .v23-pains article:first-child{border-top:0}
  .v23-steps{gap:30px}
  .v23-steps::before,.v23-steps::after{display:none}
  .v23-tabs{grid-template-columns:repeat(2,1fr)}
  .v23-tabs button:nth-child(3){border-inline-start:0}
  .v23-tabs button:nth-child(n+3){border-top:1px solid var(--line)}
  .v23-pane{grid-template-columns:1fr}
  .v23-pane .dict{border-inline-end:0;border-bottom:1px solid var(--paper-line)}
  .v23-curve{padding:18px 10px 12px}
  .v23-curve .node text{display:none}
  .v23-curve .node circle{r:10}
  .v23-curve-list{display:grid}
  .v23-curve-legend{display:none}
  .v23-bento{grid-template-columns:1fr}
  .v23-bento>*{border-inline-start:0!important;border-top:1px solid var(--line)!important}
  .v23-bento>*:first-child{border-top:0!important}
}
@media (prefers-reduced-motion:reduce){
  .js .v23-reveal{opacity:1;transform:none;filter:none}
  .js .v23-words .w{color:var(--ink)}
  .js .v23-words .w.acc{color:var(--paper-accent)}
  .v23-curve .node{opacity:1;transform:none}
  .v23-cats svg,.v23-pane.enter{transition:none;animation:none}
  .v23-hud .dot{animation:none}
  .v23-tilt{transition:none}
}

/* v23.3 — currency: the unit follows the number (so in RTL it sits on its
   left), smaller and lighter, in the text font rather than the display one. */
.unit{font-family:var(--font);font-weight:500;font-size:.5em;color:var(--muted);letter-spacing:0;margin-inline-start:.15em}
.price-rows .unit{font-size:.8em;font-weight:500}
.price-card .amount span{font-family:var(--font);font-weight:500}
/* Estedad's tabular figures spread a Persian thousands separator over a full
   digit width ("۱۵ , ۰۰۰"); proportional figures read as one number. */
.num{font-feature-settings:normal}
.v23-bento .big{white-space:nowrap}
