/* ===== Theme: Valley — white base, one sans, sentence-case, fewer ornaments ===== */
:root{
  --bg:#FFFFFF; --surface:#F7F5F0; --band:#FAF9F6; --white:#FFFFFF;
  --line:#E9E5DC; --line-2:#D8D2C5;
  --display:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --body:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --r:8px;
}
body{font-size:16px}
h1,h2,h3{font-weight:600;letter-spacing:-.02em;line-height:1.18}
h2{font-size:clamp(28px,3vw,40px)}
h3{font-size:20px;letter-spacing:-.01em}
.hero3 h1{font-weight:600;letter-spacing:-.03em;line-height:1.12;font-size:clamp(36px,4.2vw,60px);max-width:22ch;word-spacing:0}
.lead{font-family:var(--body);font-weight:500;font-size:clamp(18px,1.4vw,20px);line-height:1.5}
.hero3 .lead{font-size:clamp(18px,1.5vw,21px)}
.ps{font-family:var(--body);font-style:normal;font-weight:500;font-size:16px}
/* labels: sentence case, one face */
.eyebrow{font-family:var(--body);font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none}
.eyebrow::before{display:none}
.k,.pcard .k,.fcard .k,.row .bf b,.row .af b,.viz-hd .t,.viz-hd .live,.calc .lb,.lab,.ba .lbl,.ba-t,.step,.ba-list li,.feeds li,.ind-foot .k,.calc-out .k,.row .more,.hint,.logo .by,.ftr b,.dg-txt,.m-name,.train-ribbon .lbl,.photo figcaption,.copyloop .cap,.prob small,.term .dots span{font-family:var(--body);letter-spacing:0;text-transform:none}
.k,.pcard .k,.fcard .k,.row .bf b,.row .af b,.viz-hd .t,.calc .lb,.lab,.ba .lbl,.ba-t,.ind-foot .k,.calc-out .k,.ftr b{font-size:13px;font-weight:600}
.m-name{font-size:13.5px;font-weight:600}
.train-ribbon .lbl{font-size:13px;font-weight:600}
.row .more{font-size:13px;font-weight:600}
.ba-list li,.feeds li{font-size:13.5px}
.link{font-family:var(--body);font-size:15px;font-weight:600;letter-spacing:0}
.hint{font-size:12.5px}
.photo figcaption{font-size:13px}
.step{font-size:12.5px;font-weight:600;letter-spacing:0}
.logo .name{font-family:var(--body);font-weight:700;letter-spacing:-.01em;font-size:18px;text-transform:none}
.logo .by{font-size:12px;letter-spacing:0;text-transform:none;margin-top:1px}
/* shapes */
.btn{border-radius:8px;padding:14px 20px;font-size:15px}
.btn::after{display:none}
.btn.sm{border-radius:7px}
.pcard,.prob,.stat,.fcard,.card,.viz,.ba,.row,.form,.faqs details,.detail,.sec-diagram,.copyloop .pane{border-radius:12px}
.pcard{padding:26px 24px}
.pcard::before{display:none}
.pcard.on{box-shadow:inset 0 0 0 1.5px var(--navy)}
.pcard .num{display:none}
.opt,.rad,.field input,.ind,.chip{border-radius:8px}
.rad,.ind,.chip{border-radius:999px}
.photo{border-radius:12px;border:0}
.photo::before,.photo::after{display:none}
.photo img{filter:none}
.term{border-radius:12px}
.hdr{background:rgba(255,255,255,.86)}
.hdr.is-stuck{box-shadow:none;border-bottom-color:var(--line)}
.sec{padding:96px 0}
.sec.alt{border:0}
.stat b{font-weight:600;letter-spacing:-.03em}
.prob .pn{font-weight:600;letter-spacing:-.03em;font-size:40px}
.prob .pn small{font-family:var(--body);font-size:16px;letter-spacing:0}
.row .mid{font-weight:600;letter-spacing:-.02em}
.row .mid small{font-family:var(--body);letter-spacing:0}
.ind-foot b,.calc .vl,.calc-out .v,.ind-start,.done-state h4,.q,.faqs summary,.bens b,.vband .vhead h3,.vband .it b,.detail .dbody h4{font-weight:600;letter-spacing:-.015em}
.faqs summary{font-size:17px}
.bens b{font-size:17px}
/* ornament off */
.el,.stamp-el.off{display:none}
.stamp-el{display:block}
.ftr-gears,.hero-gears,.vband-gears{display:none}
.stage-gear{display:none}
.m-step-t{font-family:var(--body)}
.m-step-n{font-family:var(--body)}
.m-sm{font-family:var(--body)}
.m-pill-t{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:11px}
.m-count{font-family:var(--body);font-weight:600}
.dg-h{font-family:var(--body);font-weight:600}
.dg-txt{font-size:12px;font-weight:600}
.copyloop .chip{font-family:var(--mono)}
.m-chip text{font-family:var(--mono)}
/* calmer motion */
.el-crate,.el-gears{animation:none}
.sw{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:13.5px;font-weight:600;color:var(--navy)}
.bars .bar span{font-family:var(--body);letter-spacing:0;font-size:11px}
.calc-note{font-size:13px}

/* ---- fold structure: clean line, centred title, subtitle ---- */
.sec{border-top:1px solid var(--line-2);padding:88px 0 96px}
.sec-head{text-align:center;max-width:820px;margin:0 auto 48px}
.sec-title{font-size:clamp(36px,3.8vw,52px);font-weight:600;letter-spacing:-.03em;line-height:1.08;color:var(--navy);margin:0 0 16px}
.sec-sub{font-size:clamp(18px,1.55vw,22px);font-weight:500;line-height:1.45;color:var(--brass);margin:0;text-wrap:balance}
.sec-note{text-align:center;color:var(--muted);font-size:16px;margin:8px 0 26px}
.center-p{text-align:center;margin:0 auto 40px;max-width:62ch}
.faqs-center{max-width:820px;margin:0 auto}
.train-ribbon{margin-top:8px}
.train-ribbon .lbl{font-size:17px;font-weight:700;fill:var(--navy)}
.train-ribbon .lbl.on{fill:var(--brass)}
.train-ribbon .lbl2{font-family:var(--body);font-size:13.5px;font-weight:500;fill:var(--muted)}
@media (max-width:900px){.sec{padding:64px 0 72px}.sec-head{margin-bottom:32px}}

.nav .nav-alt{color:var(--brass);font-weight:600}
.nav a[aria-current]{color:var(--navy);box-shadow:inset 0 -2px 0 var(--brass)}
