@import url("/fonts/fonts.css");

/* ============ TOKENS ============ */
:root{
  --ink:        #08110D;
  --ink-2:      #0C1811;
  --surface:    #10201705;
  --panel:      #0E1B14;
  --panel-2:    #12241A;
  --line:       rgba(245,183,46,.13);
  --line-soft:  rgba(234,240,235,.09);

  --text:       #E9F1EA;
  --text-dim:   #B4C6B9;
  --muted:      #7E9587;

  --amber:      #F5B72E;
  --amber-dim:  #C79320;
  --amber-glow: rgba(245,183,46,.16);
  --volt:       #5FE39B;
  --volt-dim:   rgba(95,227,155,.14);
  --alert:      #FF7A55;
  --alert-dim:  rgba(255,122,85,.13);

  --r-sm: 8px;
  --r:    14px;
  --r-lg: 22px;

  --pad:  clamp(20px, 5vw, 40px);
  --maxw: 1180px;
  --gap:  clamp(16px, 2.4vw, 26px);

  --sec-y: clamp(56px, 8.5vh, 100px);

  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:clamp(15.5px,1.05vw,17px);
  line-height:1.68;
  color:var(--text);
  background:var(--ink);
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* atmospheric ground — layered, cheap, no images */
body::before{
  content:"";
  position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(900px 620px at 78% -8%,  rgba(245,183,46,.10), transparent 62%),
    radial-gradient(760px 560px at 6% 22%,   rgba(95,227,155,.055), transparent 60%),
    radial-gradient(1100px 800px at 50% 108%,rgba(245,183,46,.05), transparent 66%),
    var(--ink);
}
/* topographic contour texture */
body::after{
  content:"";
  position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560'%3E%3Cg fill='none' stroke='%23E9F1EA' stroke-opacity='.030' stroke-width='1'%3E%3Cpath d='M-40 300c90-70 190-40 265 10s175 70 275 5'/%3E%3Cpath d='M-40 340c95-72 200-42 275 12s180 72 285 4'/%3E%3Cpath d='M-40 382c100-74 210-44 285 14s186 74 295 2'/%3E%3Cpath d='M-40 430c108-78 222-46 300 16s194 76 310 0'/%3E%3Cpath d='M-40 130c70-52 150-30 210 8s140 54 220 2'/%3E%3Cpath d='M-40 170c76-54 160-32 222 10s146 56 230 0'/%3E%3Cpath d='M-40 214c82-56 170-34 234 12s152 58 240 -2'/%3E%3C/g%3E%3C/svg%3E");
  background-size:560px 560px;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }
::selection{ background:var(--amber); color:#08110D; }

/* ============ TYPE ============ */
h1,h2,h3,h4{
  font-family:'Archivo',system-ui,sans-serif;
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.03em;
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{ font-size:clamp(2.45rem,7.4vw,5.4rem); font-weight:900; letter-spacing:-.042em; }
h2{ font-size:clamp(1.85rem,4.1vw,3.15rem); letter-spacing:-.035em; }
h3{ font-size:clamp(1.15rem,1.95vw,1.5rem); letter-spacing:-.022em; line-height:1.2; }
h4{ font-size:clamp(1rem,1.35vw,1.12rem); letter-spacing:-.015em; line-height:1.28; }
p{ margin:0 0 1.05em; text-wrap:pretty; }
p:last-child{ margin-bottom:0; }
strong{ font-weight:700; color:#fff; }
small{ font-size:.83em; }

.eyebrow{
  font-family:'Archivo',sans-serif;
  font-size:.7rem; font-weight:700;
  letter-spacing:.19em; text-transform:uppercase;
  color:var(--amber);
  margin:0 0 1.1rem;
  display:flex; align-items:center; gap:.6rem;
}
.eyebrow::before{
  content:""; width:26px; height:2px; background:var(--amber); flex:none; border-radius:2px;
}
/* a line meant to sound spoken, not stencilled */
.eyebrow--natural{ text-transform:none; letter-spacing:.01em; font-size:.86rem; font-weight:600; }
.lead{ font-size:clamp(1.05rem,1.55vw,1.28rem); line-height:1.6; color:var(--text-dim); }
.dim{ color:var(--muted); }
.amber{ color:var(--amber); }
.volt{ color:var(--volt); }

/* ============ LAYOUT ============ */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }
.section{ padding-block:var(--sec-y); position:relative; }
/* keep anchor targets clear of the floating nav (12px inset + ~58px bar) */
.section[id], .promptbox{ scroll-margin-top:92px; }
.section--alt{ background:linear-gradient(180deg,transparent,rgba(14,27,20,.62) 12%,rgba(14,27,20,.62) 88%,transparent); }
.sec-head{ max-width:62ch; margin-bottom:clamp(30px,4.5vw,54px); }
.sec-head .lead{ margin-top:.2em; }

.grid{ display:grid; gap:var(--gap); }
/* grid/flex children default to min-width:auto and refuse to shrink below their
   content — that is what pushes tables and long strings past the viewport. */
.grid > *, .split > *, .steps > *, .stats > *{ min-width:0; }
.g-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.g-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.g-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:900px){ .g-3,.g-4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px){ .g-2,.g-3,.g-4{ grid-template-columns:1fr; } }

/* ============ PROGRESS ============ */
.progress{
  position:fixed; top:0; left:0; right:0; height:3px; z-index:70;
  pointer-events:none;
}
.progress__fill{
  height:100%; transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg,var(--amber),#FFD87A 55%,var(--volt));
  box-shadow:0 0 12px rgba(245,183,46,.45);
  will-change:transform;
}

/* ============ NAV — floating glass pill ============ */
.nav{
  position:fixed; top:12px; left:12px; right:12px; z-index:60;
  margin-inline:auto; max-width:1340px;
  border-radius:20px;
}
/* glass on ::before so the bar itself carries no filter — on iOS Safari a
   backdrop-filter applied to an element containing text renders that text blurry */
.nav::before{
  content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit;
  background:rgba(8,17,13,0); border:1px solid transparent;
  transition:background .35s var(--ease), border-color .35s var(--ease),
             box-shadow .35s var(--ease), backdrop-filter .35s var(--ease);
}
.nav.is-stuck::before{
  background:rgba(8,17,13,.58);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border-color:rgba(234,240,235,.11);
  box-shadow:0 12px 34px rgba(0,0,0,.34);
}
.nav__in{
  display:flex; align-items:center; gap:1rem;
  min-height:58px;
  padding-inline:clamp(14px,2vw,22px);
}
.brand{ display:flex; align-items:center; gap:.6rem; text-decoration:none; flex:none; }
.brand svg{ width:26px; height:26px; color:var(--amber); flex:none; }
.brand b{
  font-family:'Archivo',sans-serif; font-weight:800; font-size:.96rem;
  letter-spacing:-.02em; color:#fff;
}
.brand span{ font-size:.68rem; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; display:block; line-height:1; margin-top:2px; }
.nav__links{ display:flex; gap:.15rem; margin-left:auto; overflow-x:auto; scrollbar-width:none; }
.nav__links::-webkit-scrollbar{ display:none; }
.nav__links a{
  font-size:.82rem; font-weight:600; color:var(--text-dim); text-decoration:none;
  padding:.45rem .48rem; border-radius:var(--r-sm); white-space:nowrap;
  transition:color .18s, background .18s;
}
.nav__links a:hover{ color:var(--amber); background:rgba(245,183,46,.08); }
.nav__links a.is-active{
  color:var(--amber); font-weight:700;
  background:rgba(245,183,46,.14);
  box-shadow:inset 0 0 0 1px rgba(245,183,46,.22);
}
@media (max-width:1180px){ .nav__links{ display:none; } }

.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:.85rem;
  letter-spacing:-.01em;
  padding:.7rem 1.1rem; border-radius:100px;
  text-decoration:none; border:0; cursor:pointer;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s;
  white-space:nowrap;
}
.btn svg{ width:16px; height:16px; flex:none; }
.btn--primary{ background:var(--amber); color:#08110D; }
.btn--primary:hover{ background:var(--amber-dim); transform:translateY(-1px); }
.btn--ghost{ background:transparent; color:var(--text); border:1px solid var(--line-soft); }
.btn--ghost:hover{ border-color:var(--amber); color:var(--amber); }
.nav .btn{ flex:none; margin-left:auto; min-width:0; }
@media (min-width:1081px){ .nav .btn{ margin-left:.6rem; } }
.btn__short{ display:none; }
@media (max-width:600px){
  .nav .btn{ padding:.6rem .8rem; font-size:.78rem; }
  .btn__long{ display:none; }
  .btn__short{ display:inline; }
  .brand span span{ display:none; }
}

/* ============ HERO ============ */
/* top padding clears the floating nav, which sits outside the flow */
.hero{ position:relative; padding-block:clamp(104px,14vh,148px) clamp(50px,8vh,88px); overflow:hidden; }
.hero--compact{ padding-block:clamp(92px,12vh,120px) clamp(28px,4vh,44px); }
.hero__grid{ display:grid; gap:clamp(28px,4vw,52px); }
.hero h1{ margin-bottom:.34em; }
.hero h1 .ln{ display:block; }
.hero h1 em{
  font-style:normal; display:block;
  background:linear-gradient(96deg,var(--amber) 12%,#FFD87A 52%,var(--volt) 96%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  line-height:1.14; padding-bottom:.12em; display:inline-block;
}
.hero__sub{ max-width:56ch; font-size:clamp(1.05rem,1.6vw,1.32rem); line-height:1.58; color:var(--text-dim); }
.hero__meta{
  display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.6rem;
}
.tag{
  font-size:.73rem; font-weight:600; letter-spacing:.02em;
  padding:.34rem .7rem; border-radius:100px;
  border:1px solid var(--line-soft); color:var(--text-dim);
}
.tag--live{ border-color:rgba(95,227,155,.34); color:var(--volt); }

.stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px;
  background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--r-lg); overflow:hidden; }
@media (max-width:760px){ .stats{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.stat{ background:var(--ink); padding:clamp(18px,2.6vw,28px); }
.stat b{
  display:block; font-family:'Archivo',sans-serif; font-weight:900;
  font-size:clamp(1.9rem,4vw,2.9rem); letter-spacing:-.045em; line-height:1;
  color:var(--amber); margin-bottom:.34rem;
}
.stat.is-zero b{ color:var(--volt); }
.stat span{ display:block; font-size:.8rem; line-height:1.42; color:var(--muted); }

/* ============ CARDS ============ */
.card{
  background:var(--panel);
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  padding:clamp(20px,2.6vw,30px);
  position:relative;
}
.card--accent{ border-color:var(--line); background:linear-gradient(160deg,rgba(245,183,46,.055),transparent 58%),var(--panel); }
.card--alert{ border-color:rgba(255,122,85,.24); background:linear-gradient(160deg,var(--alert-dim),transparent 58%),var(--panel); }
.card--volt{ border-color:rgba(95,227,155,.24); background:linear-gradient(160deg,var(--volt-dim),transparent 58%),var(--panel); }
.card h3{ margin-bottom:.5rem; }
.card p{ font-size:.94rem; color:var(--text-dim); }
.card__n{
  font-family:'Archivo',sans-serif; font-weight:900; font-size:.78rem;
  letter-spacing:.08em; color:var(--amber); display:block; margin-bottom:.85rem;
}
.card__proof{
  margin-top:1rem; padding-top:.9rem; border-top:1px solid var(--line-soft);
  font-size:.8rem; color:var(--muted); line-height:1.5;
}
.icon{ width:22px; height:22px; color:var(--amber); margin-bottom:1rem; display:block; }
.card--alert .icon{ color:var(--alert); }
.card--volt .icon{ color:var(--volt); }

/* ============ TABLE ============ */
.tbl-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--line-soft); border-radius:var(--r-lg); }
table{ width:100%; border-collapse:collapse; font-size:.88rem; min-width:680px; }
/* six-column tables need room or every cell wraps to one word per line on a phone */
table.wide{ min-width:900px; }
table img{ max-width:none; }
thead th{
  text-align:left; font-family:'Archivo',sans-serif; font-weight:700; font-size:.72rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--amber);
  padding:.9rem 1rem; background:var(--panel-2); white-space:nowrap;
  border-bottom:1px solid var(--line);
}
tbody td{ padding:.85rem 1rem; border-bottom:1px solid var(--line-soft); vertical-align:top; color:var(--text-dim); }
tbody tr:last-child td{ border-bottom:0; }
tbody tr:nth-child(odd){ background:rgba(255,255,255,.012); }
tbody td:first-child{ color:var(--text); font-weight:600; }
td b{ color:#fff; }
.num{ font-variant-numeric:tabular-nums; white-space:nowrap; }
.pill{
  display:inline-block; font-size:.7rem; font-weight:700; padding:.16rem .5rem;
  border-radius:100px; white-space:nowrap;
}
.pill--hi{ background:rgba(95,227,155,.16); color:var(--volt); }
.pill--mid{ background:var(--amber-glow); color:var(--amber); }
.pill--lo{ background:rgba(255,255,255,.06); color:var(--muted); }
.pill--warn{ background:var(--alert-dim); color:var(--alert); }

/* ============ COMPETITOR ============ */
.op{
  border:1px solid var(--line-soft); border-radius:var(--r-lg);
  background:var(--panel); overflow:hidden;
}
.op__head{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem .9rem;
  padding:clamp(18px,2.3vw,24px) clamp(18px,2.3vw,26px);
  border-bottom:1px solid var(--line-soft);
  background:linear-gradient(180deg,rgba(245,183,46,.045),transparent);
}
.op__head h3{ margin:0; flex:1 1 auto; min-width:0; }
.op__price{
  font-family:'Archivo',sans-serif; font-weight:900; font-size:1.05rem;
  color:var(--amber); letter-spacing:-.02em; white-space:nowrap;
}
.op__body{ padding:clamp(18px,2.3vw,26px); display:grid; gap:1.15rem; }
@media (min-width:780px){ .op__body{ grid-template-columns:1fr 1fr; gap:1.6rem; } }
.op__meta{ font-size:.82rem; color:var(--muted); line-height:1.62; }
.op__meta b{ color:var(--text-dim); font-weight:600; }
.op__meta a{ color:var(--amber); text-decoration:none; border-bottom:1px solid rgba(245,183,46,.3); }
.op__meta a:hover{ border-bottom-color:var(--amber); }
.pros{ list-style:none; margin:0; padding:0; font-size:.88rem; }
.pros li{ position:relative; padding-left:1.5rem; margin-bottom:.5rem; color:var(--text-dim); line-height:1.52; }
.pros li:last-child{ margin-bottom:0; }
.pros li::before{
  content:""; position:absolute; left:0; top:.55em; width:9px; height:9px; border-radius:2px;
}
.pros--good li::before{ background:var(--volt); }
.pros--bad li::before{ background:var(--alert); }
.pros h4, .lbl{
  margin:0 0 .7rem; font-size:.72rem; letter-spacing:.11em; text-transform:uppercase;
  color:var(--muted); font-family:'Archivo',sans-serif; font-weight:700;
}
.dom__head{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem 1rem; margin-bottom:.7rem; }

/* ============ MISC BLOCKS ============ */
.quote{
  border-left:2px solid var(--amber); padding:.15rem 0 .15rem 1.2rem;
  font-size:.95rem; color:var(--text-dim); font-style:italic;
}
.quote cite{ display:block; margin-top:.5rem; font-style:normal; font-size:.78rem; color:var(--muted); }

.kv{ display:grid; gap:0; border:1px solid var(--line-soft); border-radius:var(--r); overflow:hidden; }
.kv > div{ display:grid; grid-template-columns:minmax(120px,34%) 1fr; gap:1rem; padding:.72rem 1rem; border-bottom:1px solid var(--line-soft); font-size:.88rem; }
.kv > div:last-child{ border-bottom:0; }
.kv dt{ color:var(--muted); font-weight:600; margin:0; }
.kv dd{ margin:0; color:var(--text); }
@media (max-width:520px){ .kv > div{ grid-template-columns:1fr; gap:.15rem; } }

.steps{ counter-reset:s; display:grid; gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--r-lg); overflow:hidden; }
.step{ background:var(--panel); padding:clamp(18px,2.4vw,26px); counter-increment:s; }
.step::before{
  content:counter(s,decimal-leading-zero);
  font-family:'Archivo',sans-serif; font-weight:900; font-size:.82rem;
  color:var(--amber); letter-spacing:.06em; display:block; margin-bottom:.7rem;
}
.step h4{ margin-bottom:.4rem; }
.step p{ font-size:.88rem; color:var(--text-dim); margin:0; }

.sitemap{ display:grid; gap:var(--gap); }
.node{
  border:1px solid var(--line-soft); border-radius:var(--r); background:var(--panel);
  padding:1rem 1.15rem;
}
.node code{
  font-family:ui-monospace,'SF Mono',Menlo,monospace; font-size:.78rem;
  color:var(--volt); background:rgba(95,227,155,.09); padding:.14rem .45rem; border-radius:5px;
  display:inline-block; margin-bottom:.5rem; word-break:break-all;
}
.node h4{ margin:0 0 .35rem; }
.node p{ margin:0; font-size:.85rem; color:var(--muted); }

.wire{
  border:1px dashed var(--line); border-radius:var(--r-lg); padding:clamp(16px,2.4vw,26px);
  background:rgba(245,183,46,.02); display:grid; gap:.55rem;
}
.wire__row{
  border:1px solid var(--line-soft); border-radius:var(--r-sm); padding:.7rem .9rem;
  font-size:.78rem; color:var(--muted); background:var(--panel);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.wire__row b{ font-family:'Archivo',sans-serif; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; color:var(--amber); }
.wire__row.is-hero{ min-height:96px; align-items:flex-end; background:linear-gradient(160deg,rgba(245,183,46,.09),transparent),var(--panel); border-color:var(--line); }

.callout{
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:linear-gradient(150deg,rgba(245,183,46,.07),transparent 62%),var(--panel);
  padding:clamp(22px,3vw,34px);
}
.callout--alert{ border-color:rgba(255,122,85,.26); background:linear-gradient(150deg,var(--alert-dim),transparent 62%),var(--panel); }
.callout h3{ display:flex; align-items:center; gap:.6rem; }
.callout h3 svg{ width:21px; height:21px; flex:none; color:var(--amber); }
.callout--alert h3 svg{ color:var(--alert); }

.split{ display:grid; gap:var(--gap); align-items:start; }
@media (min-width:900px){ .split{ grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,56px); } }

/* ============ CTA / FOOTER ============ */
.cta{
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:linear-gradient(150deg,rgba(245,183,46,.11),rgba(95,227,155,.05) 60%,transparent),var(--panel);
  padding:clamp(28px,5vw,56px); text-align:center;
}
.cta h2{ margin-bottom:.4em; }
.cta .lead{ max-width:52ch; margin-inline:auto; }
.cta__btns{ display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; margin-top:1.8rem; }

.foot{ border-top:1px solid var(--line-soft); padding-block:clamp(30px,5vw,50px); font-size:.82rem; color:var(--muted); }
.foot a{ color:var(--amber); text-decoration:none; }
.foot__in{ display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between; align-items:baseline; }

/* ============ PROMPT PAGE ============ */
.promptbox{
  position:relative; border:1px solid var(--line); border-radius:var(--r-lg);
  background:#060D0A; overflow:hidden;
}
.promptbox__bar{
  display:flex; align-items:center; gap:.7rem; flex-wrap:wrap;
  padding:.75rem 1rem; border-bottom:1px solid var(--line-soft);
  background:var(--panel-2); position:sticky; top:84px; z-index:5;
}
/* direct child only — otherwise this swallows the label inside the copy button */
.promptbox__bar > span{ font-size:.76rem; color:var(--muted); font-weight:600; }
.promptbox__bar .btn{ margin-left:auto; padding:.5rem .9rem; font-size:.78rem; }
.promptbox__bar .btn--primary span{ color:#08110D; }
.promptbox pre{
  margin:0; padding:clamp(16px,2.4vw,26px);
  font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  font-size:.79rem; line-height:1.66; color:var(--text-dim);
  white-space:pre-wrap; word-wrap:break-word;
  max-height:62vh; overflow-y:auto;
}
/* a scroll box inside page scroll is a trap on touch — let it flow instead */
@media (max-width:760px){
  .promptbox__bar{ position:static; }
  .promptbox__bar .btn{ margin-left:0; flex:1 1 auto; justify-content:center; }
  .promptbox__bar > span{ flex:1 0 100%; }
  .promptbox pre{ max-height:none; overflow-y:visible; font-size:.76rem; }
}
.promptbox pre::-webkit-scrollbar{ width:9px; }
.promptbox pre::-webkit-scrollbar-thumb{ background:rgba(245,183,46,.22); border-radius:9px; }

/* ============ REVEAL ============ */
.rv{ opacity:0; transform:translateY(16px); transition:opacity .62s var(--ease), transform .62s var(--ease); }
.rv.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .rv{ opacity:1; transform:none; transition:none; } }

/* stagger inside grids */
.rv-g > *{ opacity:0; transform:translateY(14px); transition:opacity .55s var(--ease), transform .55s var(--ease); }
.rv-g.in > *{ opacity:1; transform:none; }
.rv-g.in > *:nth-child(2){ transition-delay:.06s; }
.rv-g.in > *:nth-child(3){ transition-delay:.12s; }
.rv-g.in > *:nth-child(4){ transition-delay:.18s; }
.rv-g.in > *:nth-child(5){ transition-delay:.24s; }
.rv-g.in > *:nth-child(6){ transition-delay:.30s; }
@media (prefers-reduced-motion:reduce){ .rv-g > *{ opacity:1; transform:none; transition:none; } }

/* one small-text step, not four near-identical ones */
.note{ font-size:.875rem; line-height:1.6; color:var(--muted); }
.note--bright{ color:var(--text-dim); }

.mt-s{ margin-top:1.2rem; } .mt-m{ margin-top:2rem; } .mt-l{ margin-top:clamp(28px,4vw,48px); }
.mb-m{ margin-bottom:2rem; }
