:root{
  --paper:#F2EEE5; --paper-2:#E9E3D6; --ink:#15130F; --ink-2:#4A453C; --mute:#6B6559;
  --accent:#E8501C; --accent-text:#B03A0C; --ok:#1F7A4A;
  --f-display:"Clash Display",serif; --f-serif:"Gambetta",Georgia,serif; --f-body:"Switzer",sans-serif;
  --ease:cubic-bezier(.23,1,.32,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
em{font-family:var(--f-serif);font-style:italic;font-weight:400}
ul,ol{list-style:none}
.sq{corner-shape:squircle}
/* nav */
.nav{position:fixed;inset:16px 16px auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 10px 10px 20px;background:rgba(242,238,229,.82);backdrop-filter:blur(14px)}
.nav nav{display:flex;gap:28px;font-size:15px;color:var(--ink-2)}
.nav nav a:hover{color:var(--ink)}
.wordmark{display:flex;align-items:center;gap:8px;font:600 22px/1 var(--f-display);letter-spacing:-.01em}
.wm-dot{width:18px;height:18px;background:var(--accent);display:inline-block}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;font:500 16px/1 var(--f-body);transition:transform .15s var(--ease),background .15s}
.btn:active{transform:scale(.96)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:#D24412}
.btn-ghost{background:var(--paper-2);color:var(--ink)}
/* hero */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:140px 24px 80px;text-align:center}
.eyebrow-pill{font-size:14px;color:var(--ink-2);background:var(--paper-2);padding:8px 16px;margin-bottom:36px}
.split{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.4vw,40px);font:600 clamp(56px,9.4vw,152px)/.9 var(--f-display);letter-spacing:-.035em;width:100%}
.split-l,.split-r{white-space:nowrap}
.split-r{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.03em}
.gap{perspective:900px;display:block}
.keypad-obj{display:block;width:clamp(150px,15vw,232px);padding:14px;background:var(--ink);transform:rotateX(14deg) rotateY(-18deg) rotateZ(4deg);transform-style:preserve-3d;box-shadow:0 40px 60px -30px rgba(21,19,15,.55),0 12px 24px -12px rgba(21,19,15,.4);will-change:transform}
.kp-screen{display:flex;flex-direction:column;gap:6px;align-items:center;background:#2A2620;padding:12px 8px;margin-bottom:10px}
.kp-screen small{font:500 10px/1.2 var(--f-body);color:#BDB5A6;letter-spacing:0}
.kp-dots{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}
.kp-dots i{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.kp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.kp-grid b{display:grid;place-items:center;aspect-ratio:1.25;background:#2F2B24;color:var(--paper);font:500 clamp(14px,1.4vw,22px)/1 var(--f-display);letter-spacing:0}
.kp-grid b:nth-child(5){background:var(--accent);color:#fff}
.hero-sub{max-width:640px;margin:44px auto 0;font-size:20px;color:var(--ink-2)}
.hero-sub em{color:var(--ink);font-size:1.08em}
.hero-cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap;justify-content:center}
.blur-in{animation:blurIn .8s var(--ease) both;animation-delay:var(--d,0s)}
@keyframes blurIn{from{opacity:0;filter:blur(10px);transform:translateY(14px)}to{opacity:1;filter:none;transform:none}}
/* story */
.story{height:520vh;position:relative;background:var(--ink);color:var(--paper)}
.story-sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:0 6vw;overflow:hidden}
.step-count{font:500 15px/1 var(--f-body);color:#A39C8E;margin-bottom:24px;font-variant-numeric:tabular-nums}
.step-count span{color:var(--accent)}
.steps{position:relative;min-height:300px}
.step{position:absolute;inset:0 0 auto;opacity:0;transform:translateY(24px);filter:blur(6px);transition:opacity .45s var(--ease),transform .45s var(--ease),filter .45s var(--ease);pointer-events:none}
.step.on{opacity:1;transform:none;filter:none}
.step h2{font:600 clamp(40px,5vw,76px)/.98 var(--f-display);letter-spacing:-.03em;max-width:11ch}
.step p{margin-top:22px;font-size:19px;color:#CFC8BA;max-width:36ch}
.stage{perspective:1400px;display:flex;flex-direction:column;align-items:center;gap:22px}
.device{position:relative;width:min(400px,100%);height:540px;background:var(--paper);color:var(--ink);padding:22px;transform-style:preserve-3d;will-change:transform;box-shadow:0 60px 90px -40px rgba(0,0,0,.7)}
.dev-top{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--ink-2);margin-bottom:22px}
.dev-live{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--ink)}
.dev-live i{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.dev-time{font-variant-numeric:tabular-nums}
.scr{position:absolute;inset:66px 22px 50px;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .4s var(--ease),transform .4s var(--ease);display:flex;flex-direction:column;gap:14px}
.scr.on{opacity:1;transform:none}
.caller-label{font:600 22px/1.15 var(--f-display);letter-spacing:-.01em}
.rings{display:flex;gap:8px}
.ring{font-size:13px;padding:6px 10px;background:var(--paper-2);color:var(--ink-2)}
.ring-ok{background:var(--ink);color:var(--paper)}
.bubble{padding:14px 16px;font-size:15px;line-height:1.45;max-width:92%}
.bubble.ai{background:#fff;color:var(--ink)}
.bubble.me{background:var(--ink);color:var(--paper);align-self:flex-end}
.bubble.big{font:500 30px/1 var(--f-serif);font-style:italic;padding:18px 26px;margin-top:auto}
.checks li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #D9D2C3;font-size:16px}
.checks .ok{margin-left:auto;color:var(--ok)}
.ic{display:inline-grid;width:22px;height:22px;flex:none}
.ic svg{width:100%;height:100%}
.balance{margin-top:auto;background:var(--ink);color:var(--paper);padding:20px}
.balance small{color:#A39C8E;font-size:13px}
.balance strong{display:block;font:600 46px/1.05 var(--f-display);letter-spacing:-.02em;margin:6px 0;font-variant-numeric:tabular-nums}
.balance span{font-size:13px;color:#CFC8BA}
.readback div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #D9D2C3;font-size:17px}
.readback dt{color:var(--mute)}.readback dd{font-weight:500;font-variant-numeric:tabular-nums}
.mute-row{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:13px;font-weight:500;padding:7px 11px;background:#FBE3D8;color:var(--accent-text)}
.pad-mini{background:var(--ink);padding:16px;margin-top:auto}
.kp-dots.big{margin-bottom:14px}
.kp-dots.big i{width:9px;height:9px}
.kp-dots.big i:nth-child(n+11){background:#4A443A}
.kp-grid.small b{aspect-ratio:1.9;font-size:18px}
.kp-grid.small b:nth-child(5){background:#2F2B24;color:var(--paper)}
.kp-grid.small b.hit{background:var(--accent);color:#fff}
.sms{background:#fff;padding:18px 20px;font-size:16px;line-height:1.55;margin-top:12px}
.sms-from{font-size:13px;color:var(--mute);margin-bottom:6px}
.sms-meta{font-size:13px;color:var(--mute)}
.mock-label{position:absolute;left:22px;bottom:16px;font-size:12px;color:var(--mute)}
.progress{width:min(400px,100%);height:3px;background:#2F2B24}
.progress i{display:block;height:100%;width:0;background:var(--accent)}
/* sections */
section.path,section.transfer,section.dash,section.targets,section.pricing,section.pilot{padding:180px 6vw}
.display{font:600 clamp(44px,6.4vw,104px)/.95 var(--f-display);letter-spacing:-.035em;max-width:14ch}
.display em{letter-spacing:-.02em}
.lede{margin-top:24px;font-size:20px;color:var(--ink-2);max-width:46ch}
.road{position:relative;margin-top:90px}
.road-line{position:absolute;left:0;right:0;top:44px;width:100%;height:24px}
#roadBase{stroke:#D3CBBB;stroke-width:3;fill:none;vector-effect:non-scaling-stroke}
#roadFill{stroke:var(--accent);stroke-width:3;fill:none;vector-effect:non-scaling-stroke;stroke-dasharray:1000;stroke-dashoffset:1000}
.nodes{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.node{background:#fff;padding:24px;display:flex;flex-direction:column;gap:6px;opacity:.35;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.node.lit{opacity:1;transform:none}
.node .ic{width:28px;height:28px;color:var(--accent-text);margin-bottom:10px}
.node b{font:600 22px/1.1 var(--f-display)}
.node small{font-size:15px;color:var(--ink-2)}
.branch{margin:36px 0 0 calc(50% + 10px);max-width:520px;display:flex;gap:16px;align-items:flex-start;background:var(--ink);color:var(--paper);padding:22px 24px}
.branch .ic{width:28px;height:28px;color:var(--accent)}
.branch b{font:600 22px/1.1 var(--f-display)}
.branch small{display:block;margin-top:6px;font-size:15px;color:#CFC8BA}
.transfer{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:var(--paper-2)}
.tr-list{display:flex;flex-direction:column;gap:10px}
.tr-list li{background:var(--paper);padding:22px 24px;font-size:19px;display:flex;gap:18px;align-items:baseline}
.tr-list span{font:500 14px/1 var(--f-body);color:var(--accent-text);font-variant-numeric:tabular-nums}
.dash-ui{position:relative;margin-top:70px;background:#fff;padding:28px 28px 52px;display:grid;grid-template-columns:1.5fr 1fr;gap:28px;transform:perspective(1600px) rotateX(18deg) scale(.94);transform-origin:50% 0;opacity:.6;transition:none;will-change:transform}
.dash-head{grid-column:1/-1;display:flex;justify-content:space-between;font-size:15px}
.dash-head b{font:600 20px/1 var(--f-display)}
.dash-head span{color:var(--mute)}
table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
th{text-align:left;font-weight:500;color:var(--mute);padding:10px 8px;border-bottom:1px solid #E3DDD0}
td{padding:14px 8px;border-bottom:1px solid #EFEAE0}
.r{text-align:right}
.tag{font-size:13px;font-weight:500;padding:4px 10px}
.tag.paid{background:#DDEEE3;color:#155C36}.tag.xfer{background:#F6E7C9;color:#6B4A0C}
.transcript{background:var(--paper);padding:20px;font-size:15px;display:flex;flex-direction:column;gap:10px}
.transcript small{color:var(--mute)}
.dash-ui .mock-label{left:28px}
.stats{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.stats div{padding:28px 24px 0 0;border-right:1px solid #CFC7B7;margin-right:24px}
.stats div:last-child{border:0}
.stats dt{font:600 clamp(48px,5.4vw,88px)/1 var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stats dd{margin-top:14px;font-size:16px;color:var(--ink-2);max-width:22ch}
.pricing{background:var(--paper-2)}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:70px;max-width:980px}
.plan{background:var(--paper);padding:36px}
.plan h3{font:600 26px/1 var(--f-display)}
.plan .price{margin:26px 0 10px;font-size:18px;color:var(--ink-2)}
.plan .price b{font:600 72px/1 var(--f-display);letter-spacing:-.03em;color:var(--ink);margin-right:6px}
.plan-ink{background:var(--ink);color:var(--paper)}
.plan-ink .price,.plan-ink p{color:#CFC8BA}.plan-ink .price b{color:var(--paper)}
.pilot{text-align:center;display:flex;flex-direction:column;align-items:center}
.mega{font-size:clamp(56px,10vw,168px);max-width:none}
.pilot .lede{margin:28px auto 40px}
.fine{margin-top:56px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--mute)}
.foot{display:flex;justify-content:space-between;align-items:center;padding:28px 6vw;border-top:1px solid #D3CBBB;font-size:13px;color:var(--mute)}
.wordmark.small{font-size:18px;color:var(--ink)}.wordmark.small .wm-dot{width:14px;height:14px}
/* mobile */
@media (max-width:820px){
  body{font-size:16px}
  .nav{inset:10px 10px auto;padding:8px 8px 8px 16px}
  .nav nav{display:none}
  .nav .btn{min-height:42px;padding:0 16px;font-size:15px}
  .hero{padding:120px 20px 64px}
  .split{flex-direction:column;gap:18px;font-size:clamp(52px,16vw,84px)}
  .keypad-obj{width:170px}
  .hero-sub{font-size:18px;margin-top:32px}
  .story-sticky{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start;padding:84px 20px 20px;gap:12px}
  .steps{min-height:150px}
  .step h2{font-size:36px;max-width:none}
  .step p{margin-top:10px;font-size:16px;max-width:none}
  .step-count{margin-bottom:12px}
  .stage{align-self:start}
  .device{height:min(440px,54vh);padding:16px;width:100%}
  .scr{inset:52px 16px 40px;gap:10px}
  .balance strong{font-size:36px}
  .bubble{font-size:14px}
  .mock-label{left:16px;bottom:12px}
  section.path,section.transfer,section.dash,section.targets,section.pricing,section.pilot{padding:110px 20px}
  .lede{font-size:18px}
  .road{margin-top:48px}
  .road-line{display:none}
  .nodes{grid-template-columns:1fr;gap:10px}
  .branch{margin:16px 0 0}
  .transfer{grid-template-columns:1fr;gap:36px}
  .dash-ui{grid-template-columns:1fr;padding:18px 16px 44px;margin-top:44px}
  .dash-ui .mock-label{left:16px}
  table{font-size:13px}
  td,th{padding:10px 4px}
  .stats{grid-template-columns:1fr 1fr;row-gap:32px}
  .stats div{margin-right:16px;padding-right:12px}
  .stats div:nth-child(2n){border:0}
  .plans{grid-template-columns:1fr;margin-top:44px}
  .plan .price b{font-size:56px}
  .foot{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){
  .blur-in{animation:none}
  .step,.scr,.node{transition:none}
}
.keypad-obj,.device{box-shadow:none}
.gap{filter:drop-shadow(0 30px 30px rgba(21,19,15,.35))}
.stage .device{filter:drop-shadow(0 40px 50px rgba(0,0,0,.55))}
/* critique fixes */
.split{font-size:clamp(52px,8.2vw,136px)}
.caller-label,.node b,.branch b,.dash-head b,.plan h3,.wordmark,.step h2,.display{word-spacing:.12em}
.nav{transition:background .25s var(--ease),color .25s var(--ease)}
.nav.dark{background:rgba(21,19,15,.78);color:var(--paper)}
.nav.dark nav{color:#CFC8BA}.nav.dark .btn-ink{background:var(--accent);color:#fff}
.branch{position:relative}
.branch::before{content:"";position:absolute;left:24px;top:-37px;height:37px;border-left:2px dashed var(--ink)}
.branch-tag{position:absolute;left:36px;top:-30px;font-size:13px;font-weight:500;color:var(--ink-2)}
@media (max-width:820px){.branch::before,.branch-tag{display:none}.branch{margin-top:28px}}
.tgt{display:block;font-size:13px;font-weight:500;color:var(--accent-text);margin-bottom:4px}
