/*  PALETTE — five, no more
    bone   #F3EDE3   paper
    ink    #14110F   type + dark blocks
    pine   #0E3B32   brand block
    verm   #E24A1B   accent one  (calls to action, rules, numerals)
    ochre  #E3B23C   accent two  (highlights, sparing)                        */
:root{
  --bone:#f3ede3;--bone2:#eae2d5;--ink:#14110f;--ink2:#4a423b;--mu:#8a7f74;
  --pine:#0e3b32;--pine2:#17544a;--verm:#e24a1b;--verm2:#fdece5;--ochre:#e3b23c;
  --line:#ddd2c2;--rule:#14110f;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--bone);color:var(--ink);
  line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* paper grain — the thing that stops it looking like a template */
body:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{max-width:1180px;margin:0 auto;padding:0 26px;position:relative;z-index:2}
.disp{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:.98;letter-spacing:-.025em}
.mono{font-family:'DM Mono',ui-monospace,monospace}
a{color:inherit;text-decoration:none}
/* ── rules & labels ── */
.rule{height:1.5px;background:var(--rule);opacity:.16}
.lbl{display:flex;align-items:baseline;gap:14px;font-family:'DM Mono',monospace;font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--verm);margin-bottom:26px}
.lbl:after{content:"";flex:1;height:1px;background:currentColor;opacity:.32}
.lbl b{color:var(--ink);opacity:.4;font-weight:500}
/* ── nav ── */
nav{position:sticky;top:0;z-index:60;background:rgba(243,237,227,.92);backdrop-filter:blur(8px);
  border-bottom:1.5px solid var(--ink)}
.nav-in{display:flex;align-items:center;gap:26px;height:64px}
.brand{font-family:'Fraunces',serif;font-weight:700;font-size:1.12rem;letter-spacing:-.02em;
  display:flex;align-items:center;gap:9px}
.brand i{width:28px;height:28px;background:var(--verm);color:#fff;display:grid;place-items:center;
  font-style:normal;font-size:.72rem;font-weight:700;font-family:'DM Mono',monospace}
.nav-links{display:flex;gap:22px;margin-left:auto;font-size:.84rem;font-weight:500}
.nav-links a{position:relative;padding-bottom:2px}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;
  background:var(--verm);transition:right .22s}
.nav-links a:hover:after{right:0}
.btn{display:inline-block;border:1.5px solid var(--ink);padding:11px 22px;font-family:inherit;
  font-size:.86rem;font-weight:700;cursor:pointer;transition:.18s;background:none}
.btn-p{background:var(--verm);border-color:var(--verm);color:#fff}
.btn-p:hover{background:var(--ink);border-color:var(--ink)}
.btn-o{background:none;color:var(--ink)}
.btn-o:hover{background:var(--ink);color:var(--bone)}
.btn-l{background:var(--bone);border-color:var(--bone);color:var(--ink)}
.btn-l:hover{background:var(--ochre);border-color:var(--ochre)}
@media(max-width:900px){.nav-links{display:none}}
@media(max-width:560px){
  .wrap{padding:0 18px}
  .nav-in{height:56px;gap:10px}
  .brand{font-size:.95rem;white-space:nowrap}
  .brand i{width:24px;height:24px;font-size:.64rem}
  nav .btn{padding:9px 13px;font-size:.76rem;white-space:nowrap}
  .hero{padding:40px 0 0}
  .hero h1{font-size:clamp(2.2rem,10vw,3rem)}
  .num{padding:18px 16px}
  .num b{font-size:1.9rem}
  section{padding:48px 0}
  .form-l,.form-r{padding:24px 20px}
  .ticker-in{font-size:.68rem;gap:24px}
  .ticker-in span{gap:24px}
}
/* ── hero ── */
.hero{padding:70px 0 0;position:relative}
.hero h1{font-size:clamp(2.7rem,7.4vw,5.6rem);max-width:15ch;margin:16px 0 0}
.hero h1 .mk{color:var(--verm);font-style:italic}
.hero-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:48px;align-items:end;
  padding-bottom:44px}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:28px}}
.hero-side p{font-size:1.02rem;color:var(--ink2);margin-bottom:22px}
.hero-side .cta{display:flex;gap:10px;flex-wrap:wrap}
.hero .h1{font-size:clamp(2.7rem,7.4vw,5.6rem);max-width:15ch;margin:16px 0 0;line-height:inherit}
.hero .h1 .mk{color:var(--verm);font-style:italic}
/* hero carousel: slides share one grid cell so the tallest sets the height */
.hs{display:grid;position:relative}
.hs-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s .6s}
.hs-slide.on{opacity:1;visibility:visible;transition:opacity .6s}
.hs-nav{grid-area:2/1;display:flex;gap:8px;padding:0 0 22px}
.hs-dot{width:28px;height:5px;border:0;padding:0;background:var(--line);cursor:pointer}
.hs-dot.on{background:var(--verm)}
.pains{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 20px}
.pains a{border:1.5px solid var(--ink);padding:6px 12px;font-size:.8rem;font-weight:500}
.pains a:hover{background:var(--ink);color:var(--bone)}
@media(prefers-reduced-motion:reduce){.hs-slide,.hs-slide.on{transition:none}}
/* ticker */
.ticker{border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);
  background:var(--ink);color:var(--bone);overflow:hidden;white-space:nowrap;padding:11px 0}
.ticker-in{display:inline-flex;gap:38px;animation:slide 34s linear infinite;
  font-family:'DM Mono',monospace;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.ticker-in span{display:inline-flex;align-items:center;gap:38px}
.ticker-in i{font-style:normal;color:var(--ochre)}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* ── numbers strip ── */
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1.5px solid var(--ink)}
@media(max-width:760px){.nums{grid-template-columns:repeat(2,1fr)}}
.num{padding:26px 22px;border-left:1.5px solid var(--ink)}
.num:first-child{border-left:0}
.num b{display:block;font-family:'Fraunces',serif;font-size:2.5rem;font-weight:600;line-height:1;
  letter-spacing:-.03em}
.num span{display:block;font-size:.8rem;color:var(--ink2);margin-top:7px;max-width:20ch}
/* ── sections ── */
section{padding:72px 0;position:relative}
.h2{font-size:clamp(1.9rem,4.4vw,3.1rem);max-width:20ch;margin-bottom:16px}
.lede{font-size:1.04rem;color:var(--ink2);max-width:56ch}
.dark{background:var(--ink);color:var(--bone)}
.dark .lede{color:#c3b9ac}
.dark .lbl b{color:var(--bone);opacity:.45}
.pine{background:var(--pine);color:var(--bone)}
.pine .lede{color:#b9d2ca}
.pine .lbl{color:var(--ochre)}
.pine .lbl b{color:var(--bone);opacity:.45}
/* ── problem: editorial list ── */
.plist{border-top:1.5px solid currentColor;margin-top:34px}
.pitem{display:grid;grid-template-columns:70px 1fr 1fr;gap:20px;padding:20px 0;
  border-bottom:1px solid rgba(243,237,227,.22);align-items:start}
@media(max-width:760px){.pitem{grid-template-columns:44px 1fr;gap:12px}
  .pitem .pd{grid-column:2}}
.pitem .pn{font-family:'DM Mono',monospace;font-size:.78rem;color:var(--ochre);padding-top:4px}
.pitem .pt{font-family:'Fraunces',serif;font-size:1.28rem;font-weight:600;letter-spacing:-.02em}
.pitem .pd{font-size:.92rem;color:#c3b9ac}
/* ── pillars ── */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:38px;
  border:1.5px solid var(--ink)}
@media(max-width:900px){.pillars{grid-template-columns:1fr}}
.pil{padding:30px 26px;border-left:1.5px solid var(--ink);background:var(--bone)}
.pil:first-child{border-left:0}
@media(max-width:900px){.pil{border-left:0;border-top:1.5px solid var(--ink)}
  .pil:first-child{border-top:0}}
.pil .pk{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--verm);margin-bottom:14px}
.pil h3{font-family:'Fraunces',serif;font-size:1.55rem;font-weight:600;letter-spacing:-.02em;
  margin-bottom:10px;line-height:1.05}
.pil p{font-size:.92rem;color:var(--ink2);margin-bottom:16px}
.pil ul{list-style:none;font-size:.87rem}
.pil li{padding:7px 0;border-top:1px solid var(--line)}
.pil li:first-child{border-top:0}
/* ── stack / compatibility ── */
.stack{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--bone);margin-top:36px}
@media(max-width:820px){.stack{grid-template-columns:1fr}}
.stack-col{padding:30px 28px;border-left:1.5px solid var(--bone)}
.stack-col:first-child{border-left:0}
@media(max-width:820px){.stack-col{border-left:0;border-top:1.5px solid var(--bone)}
  .stack-col:first-child{border-top:0}}
.stack-col h3{font-family:'Fraunces',serif;font-size:1.4rem;font-weight:600;margin-bottom:8px}
.stack-col p{font-size:.9rem;color:#b9d2ca;margin-bottom:18px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid rgba(243,237,227,.4);padding:7px 13px;font-size:.8rem;font-weight:500;
  font-family:'DM Mono',monospace;letter-spacing:.02em}
.chip.live{background:var(--ochre);border-color:var(--ochre);color:var(--ink);font-weight:500}
.stack-note{font-size:.78rem;color:#93b3a9;margin-top:16px;line-height:1.5}
/* ── screens ── */
.screens{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px;align-items:start}
@media(max-width:980px){.screens{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}
.shot{border:1.5px solid var(--ink);background:var(--bone2)}
.shot .frame{padding:18px;display:grid;place-items:center}
.shot-cap{padding:16px 18px;border-top:1.5px solid var(--ink);background:var(--bone)}
.shot-cap .n{font-family:'DM Mono',monospace;font-size:.68rem;color:var(--verm);letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:5px}
.shot-cap b{display:block;font-family:'Fraunces',serif;font-size:1.12rem;font-weight:600;margin-bottom:5px}
.shot-cap span{font-size:.85rem;color:var(--ink2)}
.phone-in{width:236px;background:#f6f9f7;overflow:hidden;border:5px solid var(--ink);border-radius:16px}
.chrome{background:var(--ink);padding:7px 10px;display:flex;gap:5px;align-items:center}
.chrome i{width:7px;height:7px;border-radius:50%;background:#4a423b;display:block}
.chrome .url{margin-left:6px;background:#2a2521;color:#a99e92;font-size:.6rem;padding:2px 8px;
  font-family:'DM Mono',monospace}
/* mini UI (unchanged fidelity, restyled frames) */
.ui-top{background:#0e3b32;color:#fff;padding:8px 10px;display:flex;align-items:center;gap:6px;font-size:.64rem;font-weight:700}
.ui-pill{margin-left:auto;background:rgba(255,255,255,.16);border-radius:20px;padding:2px 7px;font-size:.55rem}
.ui-body{padding:8px}
.ui-band{background:#fdf3e6;border:1px solid #ecd7b4;border-left:3px solid var(--verm);padding:7px 8px;margin-bottom:7px}
.ui-band b{font-size:.62rem;color:#8a5a12;display:block}
.ui-band span{font-size:.53rem;color:#8a7f74}
.ui-hero{background:#0e3b32;height:46px;display:grid;place-items:center;color:#fff;font-size:.6rem;
  font-weight:700;margin-bottom:7px;text-align:center;padding:0 8px}
.ui-chips{display:flex;gap:4px;margin-bottom:8px;overflow:hidden}
.ui-chip{font-size:.5rem;font-weight:700;padding:3px 6px;white-space:nowrap;border:1px solid}
.c-g{background:#eef7f1;border-color:#2f8459;color:#0e3b32}
.c-a{background:#fdf6e3;border-color:var(--ochre);color:#8a6d0b}
.c-b{background:#eff5fd;border-color:#93b8e8;color:#1a4c8a}
.ui-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.ui-card{background:#fff;border:1px solid #e2eae5;padding:5px}
.ui-card .im{height:30px;background:#eef7f1;display:grid;place-items:center;font-size:.95rem}
.ui-card .nm{font-size:.5rem;font-weight:700;margin-top:3px;line-height:1.25}
.ui-card .pr{font-size:.56rem;font-weight:800;color:#0e3b32;margin-top:1px}
.ui-bar{background:var(--ink);color:#fff;padding:7px 8px;margin-top:7px;display:flex;align-items:center;
  gap:6px;font-size:.58rem;font-weight:700}
.ui-bar em{font-style:normal;background:var(--verm);padding:1px 5px;font-size:.52rem}
.dash{padding:11px;background:var(--bone)}
.dash-tabs{display:flex;gap:3px;margin-bottom:8px;flex-wrap:wrap}
.dash-tab{font-size:.52rem;font-weight:700;padding:3px 7px;background:#fff;border:1px solid var(--line);color:var(--ink2)}
.dash-tab.on{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:8px}
.kpi{background:#fff;border:1px solid var(--line);padding:6px}
.kpi u{display:block;font-size:.44rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mu);text-decoration:none}
.kpi b{display:block;font-size:.72rem;font-weight:800;margin-top:2px}
.chart{background:#fff;border:1px solid var(--line);padding:8px;height:70px;display:flex;align-items:flex-end;gap:3px}
.chart i{flex:1;background:var(--pine);display:block}
.chart i:nth-child(3n){background:var(--verm)}
.rows{background:#fff;border:1px solid var(--line);margin-top:6px}
.row{display:flex;gap:6px;padding:4px 7px;font-size:.52rem;border-top:1px solid #efe7db}
.row:first-child{border-top:0;background:#f7f2e9;font-weight:700;color:var(--mu);font-size:.46rem;
  text-transform:uppercase;letter-spacing:.04em}
.row span:last-child{margin-left:auto;font-weight:700}
.rider-stop{background:#fff;border:1px solid var(--line);padding:7px;margin-bottom:5px}
.rider-stop .h{display:flex;gap:5px;align-items:center;font-size:.56rem;font-weight:800}
.rider-stop .a{font-size:.5rem;color:var(--mu);margin:3px 0 5px;line-height:1.35}
.rider-btns{display:flex;gap:4px}
.rider-btns b{flex:1;text-align:center;font-size:.52rem;font-weight:800;padding:5px}
.rb-ok{background:var(--pine);color:#fff}
.rb-no{background:#fff;border:1px solid var(--line);color:var(--ink2)}
.badge-loc{background:#fdf6e3;border:1px solid var(--ochre);color:#8a6d0b;font-size:.48rem;
  font-weight:800;padding:4px 6px;margin-top:5px;display:block;text-align:center}
.alt-b{background:var(--bone2)}
/* ── film ── */
.film{border:1.5px solid var(--ink);background:var(--ink);margin-top:38px;position:relative}
.film video{display:block;width:100%;height:auto}
.film-bar{display:flex;align-items:center;gap:14px;padding:12px 16px;border-top:1.5px solid #2b2621;
  color:var(--bone);font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;flex-wrap:wrap}
.film-bar .dot{width:7px;height:7px;background:var(--verm);border-radius:50%;display:inline-block;
  animation:blip 1.6s ease-in-out infinite}
@keyframes blip{0%,100%{opacity:1}50%{opacity:.25}}
.film-bar button{margin-left:auto;background:none;border:1px solid var(--bone);color:var(--bone);
  font-family:inherit;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;
  cursor:pointer}
.film-bar button:hover{background:var(--verm);border-color:var(--verm)}
/* ── carousel: twelve real screens ── */
.car{margin-top:38px;border:1.5px solid var(--ink);background:var(--ink);position:relative}
.car-stage{position:relative;overflow:hidden;background:
  radial-gradient(120% 90% at 50% 0%,#1d1916 0%,#14110f 62%)}
.car-track{display:flex;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.car-slide{flex:0 0 100%;display:grid;place-items:center;padding:30px 56px}
.car-slide.ph{padding:26px}
.shotfr{width:100%;border:1px solid rgba(243,237,227,.16);background:#0b0908;
  box-shadow:0 30px 70px rgba(0,0,0,.5);overflow:hidden}
.car-slide.ph .shotfr{width:min(300px,72vw);border-radius:26px;border:7px solid #241f1b;
  box-shadow:0 26px 60px rgba(0,0,0,.55)}
.shotfr img{display:block;width:100%;height:auto}
.car-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:60px;
  background:rgba(20,17,15,.62);border:1px solid rgba(243,237,227,.28);color:var(--bone);
  font-size:1.5rem;line-height:1;cursor:pointer;transition:.18s;z-index:3;backdrop-filter:blur(4px)}
.car-arrow:hover{background:var(--verm);border-color:var(--verm)}
.car-arrow.prev{left:0}.car-arrow.next{right:0}
.car-count{position:absolute;top:14px;right:16px;z-index:3;font-family:'DM Mono',monospace;
  font-size:.7rem;letter-spacing:.14em;color:rgba(243,237,227,.55)}
.car-count b{color:var(--verm);font-weight:500}
.car-bar{display:flex;align-items:center;gap:18px;padding:16px 20px;background:var(--bone);
  border-top:1.5px solid var(--ink);flex-wrap:wrap}
/* Captions vary in length. Without a floor the bar resizes on every slide,
   which nudges the whole page under a reader who is somewhere else entirely. */
.car-cap{min-width:0;flex:1;min-height:92px}
.car-cap .n{font-family:'DM Mono',monospace;font-size:.66rem;color:var(--verm);letter-spacing:.14em;
  text-transform:uppercase}
.car-cap b{display:block;font-family:'Fraunces',serif;font-size:1.16rem;font-weight:600;margin:4px 0 3px}
.car-cap span{font-size:.86rem;color:var(--ink2);display:block}
.car-prog{width:110px;height:3px;background:var(--line);overflow:hidden;flex:0 0 auto}
.car-prog i{display:block;height:100%;width:0;background:var(--verm)}
.car-rail{display:flex;gap:0;border-top:1.5px solid var(--ink);background:var(--bone2);
  overflow-x:auto;scrollbar-width:thin}
.th{flex:0 0 auto;width:88px;padding:8px;background:none;border:none;border-right:1px solid var(--line);
  cursor:pointer;position:relative;opacity:.5;transition:.2s}
.th:hover{opacity:.85;background:#fff}
.th.on{opacity:1;background:#fff;box-shadow:inset 0 -3px 0 var(--verm)}
.th img{display:block;width:100%;height:44px;object-fit:cover;object-position:top left;
  border:1px solid var(--line)}
.th span{display:block;font-family:'DM Mono',monospace;font-size:.6rem;color:var(--mu);margin-top:5px}
.th.on span{color:var(--verm)}
@media(max-width:700px){
  .car-slide{padding:18px 16px}.car-slide.ph{padding:16px}
  .car-arrow{width:34px;height:48px;font-size:1.2rem}
  .car-cap b{font-size:1rem}.car-prog{display:none}
  .car-cap{min-height:136px}
  .th{width:70px}.th img{height:36px}
}
/* ── frictionless ordering ── */
.fr{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:36px;border:1.5px solid var(--ink)}
@media(max-width:820px){.fr{grid-template-columns:1fr}}
.fr-c{padding:28px;border-left:1.5px solid var(--ink);border-top:1.5px solid var(--ink);position:relative}
.fr-c:nth-child(-n+2){border-top:0}
.fr-c:nth-child(odd){border-left:0}
@media(max-width:820px){.fr-c{border-left:0;border-top:1.5px solid var(--ink)}.fr-c:first-child{border-top:0}}
.fr-n{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em;color:var(--verm)}
.fr-c h3{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;line-height:1.05;margin:8px 0 10px}
.fr-c p{font-size:.93rem;color:var(--ink2)}
.fr-m{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.8rem;color:var(--mu);
  font-family:'DM Mono',monospace;letter-spacing:.02em}
.fr-m b{color:var(--verm);font-weight:500}
.fr-claim{margin-top:26px;padding:22px 24px;background:var(--ink);color:var(--bone);
  font-family:'Fraunces',serif;font-size:1.08rem;line-height:1.45}
/* ── case study ── */
.cs-top{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:34px;border:1.5px solid var(--ink)}
@media(max-width:1040px){.cs-top{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.cs-top{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.cs-top{grid-template-columns:1fr}}
.cs-box{padding:20px;border-left:1.5px solid var(--ink)}
.cs-box:first-child{border-left:0}
@media(max-width:1040px){.cs-box:nth-child(4){border-left:0}
  .cs-box:nth-child(n+4){border-top:1.5px solid var(--ink)}}
@media(max-width:820px){.cs-box:nth-child(4){border-left:1.5px solid var(--ink)}
  .cs-box:nth-child(odd){border-left:0}
  .cs-box:nth-child(n+3){border-top:1.5px solid var(--ink)}}
@media(max-width:460px){.cs-box{border-left:0;border-top:1.5px solid var(--ink)}.cs-box:first-child{border-top:0}}
.cs-box span{display:block;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mu)}
.cs-box b{display:block;font-family:'Fraunces',serif;font-size:2rem;font-weight:600;line-height:1;
  margin:8px 0 6px;color:var(--verm)}
.cs-box i{font-style:normal;font-size:.78rem;color:var(--ink2)}
.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:26px;border:1.5px solid var(--ink);border-top:0}
@media(max-width:820px){.cs-grid{grid-template-columns:1fr}}
.cs-col{padding:26px;border-left:1.5px solid var(--ink)}
.cs-col:first-child{border-left:0;background:var(--bone2)}
@media(max-width:820px){.cs-col{border-left:0;border-top:1.5px solid var(--ink)}.cs-col:first-child{border-top:0}}
.cs-h{font-family:'Fraunces',serif;font-size:1.22rem;font-weight:600;margin-bottom:14px}
.cs-l{list-style:none;font-size:.9rem;color:var(--ink2)}
.cs-l li{padding:11px 0 11px 20px;border-top:1px solid var(--line);position:relative}
.cs-l li:first-child{border-top:0}
.cs-l li:before{content:"—";position:absolute;left:0;color:var(--mu)}
.cs-l b{color:var(--ink)}
.cs-y li:before{content:"→";color:var(--verm)}
.cs-math{margin-top:26px;border:1.5px solid var(--ink);background:var(--ink);color:var(--bone)}
.cs-mh{padding:16px 24px;border-bottom:1.5px solid rgba(243,237,227,.22);font-family:'DM Mono',monospace;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre)}
.cs-r{display:grid;grid-template-columns:1fr auto;gap:6px 20px;padding:16px 24px;
  border-top:1px solid rgba(243,237,227,.14);align-items:baseline}
.cs-r:first-child{border-top:0}
.cs-r span{font-size:.92rem}
.cs-r b{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:600;color:var(--ochre);white-space:nowrap}
.cs-r i{grid-column:1/-1;font-style:normal;font-size:.78rem;color:#a99e91}
.cs-tot{background:rgba(226,74,27,.14)}
.cs-tot b{color:var(--verm)}
.cs-note{padding:18px 24px;border-top:1.5px solid rgba(243,237,227,.22);font-size:.82rem;
  color:#a99e91;line-height:1.55}
.cs-note b{color:var(--bone)}
@media(max-width:560px){.cs-r{grid-template-columns:1fr}.cs-box b{font-size:1.6rem}}
/* ── intelligence cards ── */
.iq{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:36px;border:1.5px solid var(--bone)}
@media(max-width:820px){.iq{grid-template-columns:1fr}}
.iq-c{padding:28px;border-left:1.5px solid var(--bone);border-top:1.5px solid var(--bone)}
.iq-c:nth-child(-n+2){border-top:0}
.iq-c:nth-child(odd){border-left:0}
@media(max-width:820px){.iq-c{border-left:0;border-top:1.5px solid var(--bone)}.iq-c:first-child{border-top:0}}
.iq-c .k{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ochre);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.iq-c .k em{font-style:normal;background:var(--ochre);color:var(--ink);padding:2px 7px;font-size:.58rem;
  font-weight:500;letter-spacing:.08em}
.iq-c h3{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;line-height:1.04;margin-bottom:10px}
.iq-c p{font-size:.92rem;color:#b9d2ca;margin-bottom:14px}
.iq-c .vs{font-size:.82rem;color:#8fb3a8;border-top:1px solid rgba(243,237,227,.22);padding-top:12px}
.iq-c .vs b{color:var(--ochre);font-weight:700}
/* ── pricing ── */
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px;border:1.5px solid var(--ink)}
@media(max-width:900px){.price-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.price-grid{grid-template-columns:1fr}}
.pc{padding:26px 22px;border-left:1.5px solid var(--ink);background:var(--bone)}
.pc:first-child{border-left:0}
@media(max-width:900px){.pc:nth-child(odd){border-left:0}.pc:nth-child(n+3){border-top:1.5px solid var(--ink)}}
@media(max-width:560px){.pc{border-left:0;border-top:1.5px solid var(--ink)}.pc:first-child{border-top:0}}
.pc.free{background:var(--pine);color:var(--bone)}
.pc.pop{background:var(--verm);color:#fff}
.pc .tier{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:14px;opacity:.75}
.pc .amt{font-family:'Fraunces',serif;font-size:2.6rem;font-weight:600;line-height:1;letter-spacing:-.03em}
.pc .amt small{font-size:.95rem;font-weight:400;letter-spacing:0}
.pc .band{font-size:.84rem;margin:8px 0 16px;opacity:.85}
.pc ul{list-style:none;font-size:.83rem}
.pc li{padding:6px 0;border-top:1px solid rgba(20,17,15,.12)}
.pc.free li,.pc.pop li{border-top-color:rgba(255,255,255,.24)}
.pc li:first-child{border-top:0}
.mods{margin-top:28px;border:1.5px solid var(--ink)}
.mod{display:grid;grid-template-columns:230px 1fr 130px;gap:16px;padding:15px 22px;
  border-top:1px solid var(--line);align-items:baseline}
.mod:first-child{border-top:0;background:var(--ink);color:var(--bone)}
.mod:first-child span{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:760px){.mod{grid-template-columns:1fr 96px}.mod .md{grid-column:1/-1;font-size:.85rem}}
.mod .mn{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:600}
.mod .md{font-size:.88rem;color:var(--ink2)}
.mod .mp{text-align:right;font-weight:700;font-size:.88rem}
.mod .mp.inc{color:var(--pine)}
.price-note{font-size:.82rem;color:var(--ink2);margin-top:20px;max-width:70ch;line-height:1.6}
/* ── capability table ── */
.caps{margin-top:34px;border-top:1.5px solid var(--ink)}
.cap{display:grid;grid-template-columns:52px 260px 1fr;gap:20px;padding:17px 0;
  border-bottom:1px solid var(--line);align-items:baseline}
@media(max-width:760px){.cap{grid-template-columns:40px 1fr;gap:10px}.cap .cd{grid-column:2}}
.cap:hover{background:rgba(226,74,27,.045)}
.cap .cn{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--verm)}
.cap .ct{font-family:'Fraunces',serif;font-size:1.06rem;font-weight:600;letter-spacing:-.01em}
.cap .cd{font-size:.9rem;color:var(--ink2)}
/* ── rigour ── */
.rig{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border:1.5px solid var(--bone)}
@media(max-width:900px){.rig{grid-template-columns:1fr}}
.rg{padding:26px;border-left:1.5px solid var(--bone)}
.rg:nth-child(3n+1){border-left:0}
@media(max-width:900px){.rg{border-left:0;border-top:1.5px solid var(--bone)}.rg:first-child{border-top:0}}
.rg b{display:block;font-family:'Fraunces',serif;font-size:1.15rem;font-weight:600;margin-bottom:8px}
.rg span{font-size:.88rem;color:#c3b9ac}
/* ── form ── */
.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;border:1.5px solid var(--ink);
  margin-top:34px;background:var(--bone)}
@media(max-width:900px){.form-grid{grid-template-columns:1fr}}
.form-l{padding:34px;background:var(--verm);color:#fff}
.form-l h3{font-family:'Fraunces',serif;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:600;
  line-height:1.02;margin-bottom:14px}
.form-l p{font-size:.95rem;color:#ffe2d7;margin-bottom:20px}
.form-l ul{list-style:none;font-size:.88rem}
.form-l li{padding:8px 0;border-top:1px solid rgba(255,255,255,.28)}
.form-l li:first-child{border-top:0}
.form-r{padding:34px}
.fields{display:grid;gap:14px}
.fields label{display:block;font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mu);margin-bottom:6px}
.fields input,.fields textarea,.fields select{width:100%;border:none;border-bottom:1.5px solid var(--ink);
  background:none;padding:9px 2px;font-size:.95rem;font-family:inherit;color:var(--ink)}
.fields input:focus,.fields textarea:focus,.fields select:focus{outline:none;border-bottom-color:var(--verm)}
.fields input::placeholder,.fields textarea::placeholder{color:#b5a897}
.fields textarea{min-height:64px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.two{grid-template-columns:1fr}}
.submit{background:var(--ink);color:var(--bone);border:1.5px solid var(--ink);width:100%;padding:14px;
  font-weight:700;font-size:.95rem;cursor:pointer;font-family:inherit;transition:.18s}
.submit:hover{background:var(--verm);border-color:var(--verm)}
.submit:disabled{opacity:.55}
.form-note{font-size:.75rem;color:var(--mu);margin-top:10px;line-height:1.5}
.form-msg{margin-top:12px;font-size:.9rem;font-weight:700;display:none}
.form-msg.on{display:block}
/* ── footer ── */
footer{border-top:1.5px solid var(--ink);padding:34px 0}
.foot-in{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:.84rem;color:var(--ink2)}

/* ════ added for the multi-page site ════ */
.nav-links a[aria-current]{color:var(--verm)}
.nav-links a[aria-current]:after{right:0}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(auto-fit,minmax(130px,1fr));gap:30px;font-size:.86rem;color:var(--ink2)}
@media(max-width:700px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}}
.foot-tag{margin-top:12px;max-width:38ch}
.foot-col{display:flex;flex-direction:column;gap:8px}
.foot-col b{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--verm);font-weight:500;margin-bottom:4px}
.foot-col a:hover{color:var(--verm)}
.foot-base{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:.76rem;color:var(--mu)}

/* FAQ */
.faq{max-width:820px;border-top:1.5px solid var(--ink)}
.faq-i{border-bottom:1.5px solid var(--line)}
.faq-i summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font-weight:700;font-size:1.02rem;position:relative}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary:after{content:"+";position:absolute;right:4px;top:14px;font-family:'DM Mono',monospace;
  font-size:1.3rem;color:var(--verm);transition:transform .2s}
.faq-i[open] summary:after{transform:rotate(45deg)}
.faq-i p{padding:0 0 20px;color:var(--ink2);max-width:68ch}

/* product pages */
.crumbs{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.08em;color:var(--mu);margin-bottom:18px}
.crumbs a{color:var(--ink2);border-bottom:1px solid var(--line)}
.p-hero{padding:56px 0 48px;border-bottom:1.5px solid var(--ink)}
.p-hero h1{font-size:clamp(2.3rem,5.6vw,4.2rem);max-width:18ch;margin:10px 0 22px}
.p-hero h1 .mk{color:var(--verm);font-style:italic}
.p-hero .lede{font-size:1.1rem;margin-bottom:26px}
.p-hero .cta{display:flex;gap:10px;flex-wrap:wrap}
.pain{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1.5px solid currentColor}
@media(max-width:800px){.pain{grid-template-columns:1fr}}
.pain div{padding:22px 22px 22px 0;border-bottom:1px solid rgba(243,237,227,.18)}
.pain b{display:block;font-family:'Fraunces',serif;font-size:1.25rem;font-weight:600;margin-bottom:8px}
.pain span{font-size:.93rem;opacity:.78}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-top:10px}
@media(max-width:860px){.feat{grid-template-columns:1fr;gap:26px}}
.feat-l h3{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:600;margin:22px 0 6px}
.feat-l h3:first-child{margin-top:0}
.feat-l p{color:var(--ink2);font-size:.97rem}
.shot{border:1.5px solid var(--ink);background:#fff;box-shadow:8px 8px 0 var(--ink)}
.shot img{display:block;width:100%;height:auto}
.shot figcaption{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.06em;padding:10px 12px;
  border-top:1.5px solid var(--ink);background:var(--bone);color:var(--ink2)}
.steps{counter-reset:s;display:grid;gap:0;border-top:1.5px solid var(--ink);max-width:880px}
.steps li{list-style:none;counter-increment:s;display:grid;grid-template-columns:64px 1fr;gap:10px;
  padding:18px 0;border-bottom:1px solid var(--line)}
.steps li:before{content:counter(s,decimal-leading-zero);font-family:'DM Mono',monospace;color:var(--verm);font-size:.9rem;padding-top:3px}
.steps b{display:block;margin-bottom:4px}
.steps span{color:var(--ink2);font-size:.95rem}
.rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border:1.5px solid var(--ink)}
.rel-c{display:flex;justify-content:space-between;align-items:center;padding:22px;border-right:1.5px solid var(--ink);
  font-weight:700;transition:.18s}
.rel-c:last-child{border-right:0}
@media(max-width:700px){.rel-c{border-right:0;border-bottom:1.5px solid var(--ink)}.rel-c:last-child{border-bottom:0}}
.rel-c:hover{background:var(--ink);color:var(--bone)}
.rel-c b{color:var(--verm)}
.rel-s{padding:56px 0}
.prose{max-width:760px}
.prose h2{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;margin:34px 0 10px}
.prose p,.prose li{color:var(--ink2);margin-bottom:12px}
.prose ul{padding-left:20px}

/* ad landing page */
.lp-hero{padding:44px 0 56px;border-bottom:1.5px solid var(--ink)}
.lp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}
@media(max-width:900px){.lp-grid{grid-template-columns:1fr;gap:28px}}
.lp-hero h1{font-size:clamp(2.2rem,5.2vw,3.9rem);max-width:15ch;margin:10px 0 20px}
.lp-hero h1 .mk{color:var(--verm);font-style:italic}
.lp-hero .lede{margin-bottom:22px}
.ticks{list-style:none;display:grid;gap:10px;margin-bottom:22px}
.ticks li{padding-left:28px;position:relative;font-size:.97rem}
.ticks li:before{content:"✓";position:absolute;left:0;top:0;color:var(--verm);font-weight:700}
.lp-price{font-family:'DM Mono',monospace;font-size:.78rem;letter-spacing:.06em;color:var(--ink2);
  border-top:1px solid var(--line);padding-top:14px}
.lp-price b{color:var(--verm)}
.lp-form{border:1.5px solid var(--ink);background:var(--bone);padding:26px;box-shadow:8px 8px 0 var(--ink)}
.lp-form h2{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;margin-bottom:6px}
.lp-form>p{font-size:.9rem;color:var(--ink2);margin-bottom:16px}
.lp-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:800px){.lp-shots{grid-template-columns:1fr}}
.pil .pil-more{margin-top:16px;display:flex;gap:16px;flex-wrap:wrap;font-weight:700;font-size:.86rem}
.pil .pil-more a{color:var(--verm);border-bottom:1.5px solid currentColor}
.shot.tall{max-width:330px;justify-self:center}

/* mobile: keep the page links reachable as a swipeable second row (the original hid them) */
@media(max-width:900px){
  .nav-in{flex-wrap:wrap;height:auto;min-height:56px;padding-top:8px;padding-bottom:8px;row-gap:6px}
  .nav-links{display:flex;order:3;width:100%;margin-left:0;gap:18px;overflow-x:auto;white-space:nowrap;
    font-size:.8rem;padding-bottom:4px;scrollbar-width:none}
  .nav-links::-webkit-scrollbar{display:none}
}

/* floating WhatsApp button */
.wa-fab{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;align-items:center;gap:8px;
  background:#1f8f4e;color:#fff;border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);
  padding:11px 16px 11px 12px;font-weight:700;font-size:.9rem;transition:.18s}
.wa-fab:hover{background:var(--ink)}
@media(max-width:560px){.wa-fab span{display:none}.wa-fab{padding:12px;border-radius:50%}}
/* form step 1: what they want (multi-select) + mobile */
.fields .opt{font-family:'DM Sans',sans-serif;text-transform:none;letter-spacing:0;color:var(--mu);font-size:.72rem;margin-left:6px}
.wants{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
@media(max-width:560px){.wants{grid-template-columns:1fr}}
.fields .wants label{margin:0;cursor:pointer;font-family:'DM Sans',sans-serif;letter-spacing:0;text-transform:none;color:var(--ink);font-size:.86rem}
.wants input{position:absolute;opacity:0;pointer-events:none}
.wants span{display:block;border:1.5px solid var(--ink);padding:10px 12px 10px 36px;position:relative;line-height:1.25;height:100%}
.wants span::before{content:"";position:absolute;left:11px;top:12px;width:15px;height:15px;border:1.5px solid var(--ink);background:var(--bone)}
.wants b{display:block;font-weight:700}
.wants small{display:block;color:var(--ink2);font-size:.74rem;margin-top:2px}
.wants input:checked+span{background:var(--ink);color:var(--bone)}
.wants input:checked+span small{color:#d9d0c3}
.wants input:checked+span::before{background:var(--verm);border-color:var(--verm);
  box-shadow:inset 0 0 0 2px var(--ink)}
.wants input:focus-visible+span{outline:2px solid var(--verm);outline-offset:2px}
.mob{display:flex;align-items:stretch;border-bottom:1.5px solid var(--ink)}
.mob span{font-weight:700;padding:10px 8px 10px 0;color:var(--ink2)}
.fields .mob input{border-bottom:0;font-size:1.05rem}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
/* step 2 */
.got{background:var(--verm2);border-left:4px solid var(--verm);padding:12px 14px;display:grid;gap:4px;font-size:.92rem}
.got span{color:var(--ink2)}
.skip{background:none;border:0;color:var(--ink2);text-decoration:underline;font:inherit;font-size:.86rem;cursor:pointer;padding:6px 0}
.done{display:grid;gap:6px;padding:8px 0;font-size:.95rem}
.done[hidden],#lead-details[hidden]{display:none}
.foot-col a[href^="tel:"]{white-space:nowrap}
.hero-side .hero-free{font-size:.92rem;margin:-8px 0 20px;color:var(--pine)}
/* hero: two paths */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:40px}
@media(max-width:760px){.paths{grid-template-columns:1fr}}
.path{display:grid;gap:5px;border:1.5px solid var(--ink);padding:16px 18px;background:var(--bone);transition:background .15s}
.path:hover{background:var(--ink);color:var(--bone)}
.path .k{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--verm)}
.path b{font-size:1.1rem}
.path span:not(.k){font-size:.9rem;color:inherit;opacity:.8}
.path i{font-style:normal;font-weight:700;color:var(--verm);margin-top:4px}
/* one platform vs ten apps */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--ink);margin-top:26px}
@media(max-width:760px){.vs{grid-template-columns:1fr}}
.vs-col{padding:22px 24px}
.vs-col+.vs-col{border-left:1.5px solid var(--ink)}
@media(max-width:760px){.vs-col+.vs-col{border-left:0;border-top:1.5px solid var(--ink)}}
.vs-h{display:block;font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;color:var(--mu)}
.vs-us{background:var(--pine);color:var(--bone)}
.vs-us .vs-h{color:var(--ochre)}
.vs ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.vs li{padding-left:24px;position:relative;font-size:.95rem}
.vs-col:not(.vs-us) li::before{content:"✕";position:absolute;left:0;color:var(--mu)}
.vs-us li::before{content:"✓";position:absolute;left:0;color:var(--ochre);font-weight:700}
/* modules for existing stores */
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
@media(max-width:980px){.mgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.mgrid{grid-template-columns:1fr}}
.mcard{display:grid;gap:8px;align-content:start;border:1.5px solid var(--ink);padding:16px;background:var(--bone)}
.mcard b{font-size:1.02rem}
.mcard span{font-size:.88rem;color:var(--ink2)}
.mcard a{font-weight:700;color:var(--verm);font-size:.9rem}
.mcard a.more{font-weight:500;color:var(--ink2);text-decoration:underline;font-size:.82rem}
.wants{grid-template-columns:1fr 1fr}
@media(max-width:560px){.wants{grid-template-columns:1fr}}
.ld-mods{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.fields .ld-mods label{margin:0;cursor:pointer;font-family:'DM Sans',sans-serif;letter-spacing:0;text-transform:none;color:var(--ink);font-size:.84rem}
.ld-mods input{position:absolute;opacity:0;pointer-events:none}
.ld-mods span{display:block;border:1.5px solid var(--ink);padding:7px 12px}
.ld-mods input:checked+span{background:var(--ink);color:var(--bone)}
#ld-mods-wrap[hidden]{display:none}

.hero-side .managed{list-style:none;margin:-4px 0 18px;padding:0;display:grid;gap:6px;font-size:.9rem}
.hero-side .managed li{padding-left:22px;position:relative}
.hero-side .managed li::before{content:"✓";position:absolute;left:0;color:var(--pine);font-weight:700}

/* ── talk-to-us: its own band, a raised form card and a one-time "start here" prompt ── */
.talk{background:var(--pine);color:var(--bone);overflow:hidden}
.talk::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(243,237,227,.09) 1px,transparent 1px);
  background-size:22px 22px;pointer-events:none}
.talk .lbl{color:var(--ochre)}
.talk-h{color:var(--bone);max-width:22ch;margin-top:6px}
.talk-h .mk{color:var(--ochre);font-style:italic}
.talk .form-grid{border:0;box-shadow:12px 12px 0 var(--verm);background:#fff}
.talk .form-r{background:#fff;color:var(--ink);position:relative}
.form-head{margin-bottom:18px}
.form-badge{position:absolute;top:-14px;right:22px;background:var(--ochre);color:var(--ink);font-family:'DM Mono',monospace;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;transform:rotate(2deg);font-weight:700}
.form-head .steps{list-style:none;display:flex;gap:8px;margin:0 0 10px;padding:0;font-size:.8rem;color:var(--mu)}
.form-head .steps li{display:flex;align-items:center;gap:7px;padding:5px 10px 5px 5px;border:1.5px solid #ddd3c6}
.form-head .steps li b{width:20px;height:20px;display:grid;place-items:center;background:#ddd3c6;color:var(--ink);font-size:.72rem}
.form-head .steps li em{font-style:normal;font-size:.7rem;opacity:.8}
.form-head .steps li.on{border-color:var(--ink);color:var(--ink);font-weight:700}
.form-head .steps li.on b{background:var(--verm);color:#fff}
.form-head .steps li.done b{background:var(--pine);color:#fff}
.form-eta{font-size:.82rem;color:var(--ink2);display:flex;align-items:center;gap:8px;margin:0}
.live{width:8px;height:8px;border-radius:50%;background:#2fb36b;display:inline-block;box-shadow:0 0 0 0 rgba(47,179,107,.5);
  animation:livePing 2s infinite}
@keyframes livePing{0%{box-shadow:0 0 0 0 rgba(47,179,107,.55)}80%,100%{box-shadow:0 0 0 9px rgba(47,179,107,0)}}
.mob-wrap{position:relative}
.talk .mob,.mob-wrap .mob{border:2px solid var(--ink);padding:0 12px;background:#fff;transition:box-shadow .2s,border-color .2s}
.mob-wrap .mob span{padding:14px 10px 14px 0;border-right:1.5px solid #ddd3c6;margin-right:10px}
.fields .mob-wrap .mob input{font-size:1.15rem;padding:13px 2px;letter-spacing:.04em}
.mob-wrap .mob:focus-within{border-color:var(--verm);box-shadow:0 0 0 4px rgba(226,74,27,.18)}
.nudge{position:absolute;right:0;top:-4px;background:var(--verm);color:#fff;font-family:'DM Mono',monospace;font-size:.66rem;
  letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;opacity:0;transform:translateY(6px);pointer-events:none}
.nudge::after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-bottom:0;
  border-top-color:var(--verm)}
.hint .nudge{animation:nudgeIn .5s .3s forwards,nudgeBob 1.4s .8s ease-in-out 4}
.hint .mob{animation:mobRing 1.6s .6s ease-out 3}
@keyframes nudgeIn{to{opacity:1;transform:none}}
@keyframes nudgeBob{50%{transform:translateY(-5px)}}
@keyframes mobRing{0%{box-shadow:0 0 0 0 rgba(226,74,27,.45)}100%{box-shadow:0 0 0 14px rgba(226,74,27,0)}}
.typing .nudge{opacity:0!important;animation:none}
.submit.go{background:var(--verm);border-color:var(--verm);position:relative;overflow:hidden;font-size:1rem;padding:15px}
.submit.go::after{content:"→";margin-left:10px;display:inline-block;transition:transform .2s}
.submit.go:hover::after{transform:translateX(5px)}
.submit.go::before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg)}
.hint .submit.go::before{animation:shine 2.4s 1.4s ease-in-out 3}
@keyframes shine{0%{left:-60%}60%,100%{left:130%}}
.talk .form-grid.flash{animation:cardFlash .9s ease-out}
@keyframes cardFlash{0%{transform:translate(0,0);box-shadow:12px 12px 0 var(--verm)}40%{transform:translate(-6px,-6px);box-shadow:20px 20px 0 var(--ochre)}
  100%{transform:none;box-shadow:12px 12px 0 var(--verm)}}
@media(max-width:560px){.talk .form-grid{box-shadow:7px 7px 0 var(--verm)}.form-head .steps{flex-wrap:wrap}.form-badge{right:12px}}
@media(prefers-reduced-motion:reduce){.live,.hint .nudge,.hint .mob,.hint .submit.go::before,.talk .form-grid.flash{animation:none}
  .hint .nudge{opacity:1;transform:none}}
/* the form's step tracker reuses the .steps name — reset the numbered-list styling it inherits */
.form-head .steps{border:0;counter-reset:none}
.form-head .steps li{border-top:1.5px solid #ddd3c6}
.form-head .steps li.on{border-color:var(--ink)}
.form-head .steps li::before{content:none;display:none}
/* ── motion: subtle, opt-in via html.motion (set by JS only when motion is welcome) ── */
.motion .rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.motion .rv.in{opacity:1;transform:none}
/* hero: two soft glows drifting slowly behind the headline */
.hero{overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0;opacity:.55}
.hero::before{width:520px;height:520px;right:-140px;top:-160px;background:radial-gradient(circle,rgba(226,74,27,.28),transparent 65%)}
.hero::after{width:420px;height:420px;left:-160px;bottom:-200px;background:radial-gradient(circle,rgba(227,178,60,.30),transparent 65%)}
.motion .hero::before{animation:drift1 22s ease-in-out infinite alternate}
.motion .hero::after{animation:drift2 26s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(-90px,70px) scale(1.12)}}
@keyframes drift2{to{transform:translate(110px,-60px) scale(.92)}}
/* the orange italic phrase in headlines gets an underline that draws in */
.motion .h2 .mk,.motion .hero h1 .mk{background:linear-gradient(currentColor,currentColor) no-repeat 0 92%/0 2px;
  transition:background-size 1s .35s cubic-bezier(.2,.7,.2,1)}
.motion .rv.in .mk,.motion .hero.in h1 .mk{background-size:100% 2px}
/* screenshots lift a little under the pointer */
.motion .shotfr,.motion .mcard,.motion .tier{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,opacity .7s}
@media(hover:hover){.motion .shotfr:hover,.motion .mcard:hover,.motion .tier:hover{transform:translateY(-4px)}}

/* ── draft homepage: form in the hero, short page ── */
.hero2{padding:54px 0 48px}
.h2grid{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:auto 1fr;gap:0 44px;align-items:start}
.h2top{grid-column:1}.h2more{grid-column:1}.h2card{grid-column:2;grid-row:1/3}
@media(max-width:900px){.h2grid{grid-template-columns:1fr;grid-template-rows:auto;gap:22px}
  .h2top,.h2more,.h2card{grid-column:1;grid-row:auto}.h2top{order:1}.h2card{order:2}.h2more{order:3}
  .hero2 h1{font-size:clamp(2.2rem,9vw,3rem);margin-bottom:10px}.h2top .lede{font-size:.98rem;margin-bottom:0}}
.hero2 h1{font-size:clamp(2.2rem,4.4vw,3.4rem);max-width:20ch;margin:14px 0 18px}
.h2txt .lede{max-width:34ch;margin-bottom:18px}
.h2txt .managed{margin:0 0 18px}
.h2alt{font-size:.95rem;color:var(--ink2)}
.h2alt a{color:var(--verm);font-weight:700}
.h2card{position:relative;background:#fff;border:1.5px solid var(--ink);box-shadow:12px 12px 0 var(--verm);padding:28px 26px 24px}
.h2card .form-badge{top:-14px;right:18px}
.hero2 .mob-wrap .mob{background:#fff}
.hero2 .form-grid.flash{animation:none}
.h2card.flash{animation:cardFlash .9s ease-out}
.proof2{padding:34px 0}
.cs-top.three{grid-template-columns:repeat(3,1fr);margin-top:18px}
@media(max-width:700px){.cs-top.three{grid-template-columns:1fr}.cs-top.three .cs-box{border-left:0;border-top:1.5px solid var(--ink)}.cs-top.three .cs-box:first-child{border-top:0}}
#paths{padding:56px 0 20px}
#paths .paths{padding-bottom:0}
.mgrid.five{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){.mgrid.five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.mgrid.five{grid-template-columns:1fr}}
.more-links{margin-top:22px;font-size:.92rem;color:var(--ink2)}
.more-links a{text-decoration:underline;color:var(--ink)}
#founder{padding:56px 0}
.fnote{display:flex;gap:22px;align-items:flex-start;border:1.5px solid var(--ink);padding:26px 28px;background:var(--bone);max-width:860px}
.fnote img{width:84px;height:84px;border-radius:50%;flex:none;border:2px solid var(--ochre)}
.fnote-q{font-family:'Fraunces',serif;font-size:1.25rem;line-height:1.35;margin-bottom:12px}
.fnote-s{font-size:.92rem;color:var(--ink2)}
.fnote-s a{color:var(--verm);font-weight:700;text-decoration:underline}
@media(max-width:560px){.fnote{flex-direction:column;gap:14px}}
.close2{padding:64px 0}
.close2 .lede{color:#d7e4dd;max-width:40ch}
.close2 .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.btn-o.light{color:var(--bone);border-color:var(--bone)}
.btn-o.light:hover{background:var(--bone);color:var(--ink)}
.sticky-cta{display:none}
@media(max-width:700px){
  .sticky-cta{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:70;background:var(--verm);color:#fff;text-align:center;
    font-weight:700;padding:14px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
  .sticky-cta.off{display:none}
  body:has(.sticky-cta) .wa-fab{bottom:70px}
}
/* hero form on phones: number first, choices after */
@media(max-width:700px){
  .hero2 .fields{display:flex;flex-direction:column}
  .hero2 .fields>.mob-wrap{order:1}.hero2 .fields>.submit{order:2}.hero2 .fields>div:first-child{order:3;margin-top:6px}
  .hero2 .fields>.form-note{order:4}.hero2 .fields>.form-msg{order:5}
  .hero2 .form-head .steps{display:none}
}

/* draft homepage: quieter palette — one orange button, green accents elsewhere */
.hero2 .lbl,.hero2 h1 .mk{color:var(--pine)}
.hero2::before{background:radial-gradient(circle,rgba(14,59,50,.16),transparent 65%);opacity:.5}
.hero2::after{background:radial-gradient(circle,rgba(227,178,60,.18),transparent 65%);opacity:.5}
.h2card{box-shadow:10px 10px 0 var(--ink)}
.h2card .form-badge{background:var(--bone2);color:var(--ink);border:1.5px solid var(--ink);transform:rotate(-2deg)}
.hero2 .nudge{background:var(--pine)}.hero2 .nudge::after{border-top-color:var(--pine)}
.hero2 .mob-wrap .mob:focus-within{border-color:var(--pine);box-shadow:0 0 0 4px rgba(14,59,50,.14)}
.hero2 .hint .mob{animation:mobRingPine 1.6s .6s ease-out 3}
@keyframes mobRingPine{0%{box-shadow:0 0 0 0 rgba(14,59,50,.35)}100%{box-shadow:0 0 0 14px rgba(14,59,50,0)}}
.hero2 .form-head .steps li.on b{background:var(--pine)}
.h2alt a{color:var(--pine)}
body:has(.hero2) .path .k,body:has(.hero2) .path i,body:has(.hero2) .mcard a:not(.more),body:has(.hero2) .lbl{color:var(--pine)}
body:has(.hero2) .h2 .mk{color:var(--pine)}
body:has(.hero2) .fnote img{border-color:var(--pine)}
body:has(.hero2) .fnote-s a{color:var(--pine)}
body:has(.hero2) .sticky-cta{background:var(--pine)}
body:has(.hero2) .motion .h2 .mk,body:has(.hero2) .rv.in .mk{background-image:linear-gradient(var(--pine),var(--pine))}

/* explore cards on the draft homepage */
#explore{padding:60px 0}
.xgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
@media(max-width:900px){.xgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.xgrid{grid-template-columns:1fr}}
.xcard{display:grid;gap:6px;align-content:start;border:1.5px solid var(--ink);padding:18px;background:var(--bone);transition:background .15s,color .15s}
.xcard:hover{background:var(--ink);color:var(--bone)}
.xcard .k{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pine)}
.xcard:hover .k,.xcard:hover i{color:var(--ochre)}
.xcard b{font-size:1.05rem;line-height:1.25}
.xcard span:not(.k){font-size:.88rem;opacity:.8}
.xcard i{font-style:normal;font-weight:700;color:var(--pine);margin-top:4px}
