@font-face{font-family:"Space Mono";font-weight:400;font-style:normal;font-display:swap;src:url("mono400.woff2") format("woff2")}
@font-face{font-family:"Space Mono";font-weight:700;font-style:normal;font-display:swap;src:url("mono700.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:100 900;font-style:normal;font-display:swap;src:url("inter.woff2") format("woff2")}

/* Tokens. One neutral base, one accent. Five type sizes, two weights. 8px spacing grid. */
:root{
--bg:#221F25;--surface:#2A272E;--line:rgba(245,245,242,.12);
--text:#F5F5F2;--text-2:#A9A6A4;
--accent:#C9FF8B;--accent-ink:#084432;--accent-soft:rgba(201,255,139,.12);
--paper:#F6F3EA;
--mono:"Space Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
--f-display:60px;--f-title:40px;--f-lead:20px;--f-body:16px;--f-small:13px;
--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:120px;
--r:12px;--gutter:32px;
--ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--f-body)/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
h1,h2,h3,p{margin:0}
[id]{scroll-margin-top:96px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
::selection{background:var(--accent);color:var(--accent-ink)}
.wrap{max-width:1168px;margin:0 auto;padding:0 var(--gutter)}

/* Type roles */
h1,h2{font-family:var(--mono);font-weight:400;text-transform:uppercase;color:var(--accent);letter-spacing:-.01em}
h1{font-size:var(--f-display);line-height:1.12}
h2{font-size:var(--f-title);line-height:1.15}
h3{font:600 18px/1.35 var(--sans);color:var(--text);letter-spacing:-.01em}
.lead{font-size:var(--f-lead);line-height:1.5;color:var(--text)}
.sub{color:var(--text-2)}
.label{font:400 var(--f-small)/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}
.num{font-variant-numeric:tabular-nums}

/* Buttons: one shape, two ranks */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);height:52px;padding:0 var(--s3);border-radius:var(--r);border:1.5px solid var(--accent);background:var(--accent);color:var(--accent-ink);font:400 15px var(--mono);text-transform:uppercase;letter-spacing:.02em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease),transform .1s var(--ease),box-shadow .15s var(--ease)}
.btn:hover{background:#D8FFAB;box-shadow:0 0 0 4px var(--accent-soft)}
.btn:active{transform:translateY(1px);box-shadow:none}
.btn.ghost{background:transparent;color:var(--accent)}
.btn.ghost:hover{background:var(--accent-soft);box-shadow:none}
.btn.sm{height:40px;padding:0 var(--s2);font-size:var(--f-small)}
.btn[disabled]{opacity:.6;cursor:default}

/* Nav */
.nav{position:sticky;top:0;z-index:10;background:rgba(34,31,37,.86);backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--line)}
.nav-in{max-width:1168px;margin:0 auto;height:72px;padding:0 var(--gutter);display:flex;align-items:center;gap:var(--s4)}
.logo{font:400 20px var(--mono);letter-spacing:.34em;text-transform:uppercase;color:var(--accent);text-decoration:none;margin-right:auto}
.links{display:flex;gap:var(--s4)}
.links a{font-size:15px;color:var(--text-2);text-decoration:none;transition:color .15s var(--ease)}
.links a:hover{color:var(--text)}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;right:-4%;top:4%;width:58%;height:96%;background:url("field.svg") center/contain no-repeat;opacity:.34;pointer-events:none}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s6);align-items:center;padding-top:var(--s7);padding-bottom:var(--s7)}
.hero h1{margin-bottom:var(--s3)}
.hero .lead{max-width:26em;margin-bottom:var(--s5)}
.hero-cta{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.hero-cta .label{color:var(--text-2)}

/* Chat */
.phone{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:var(--s2);max-width:384px;width:100%;justify-self:end;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.phone-top{display:flex;align-items:center;gap:12px;padding:4px 4px var(--s2);border-bottom:1px solid var(--line)}
.av{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font:700 15px var(--mono)}
.phone-top b{display:block;font:600 15px/1.2 var(--sans)}
.phone-top span{font-size:var(--f-small);color:var(--text-2)}
.msgs{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s2) 4px 4px}
.m{max-width:86%;padding:10px 14px;border-radius:14px;font-size:14.5px;line-height:1.45}
.m.me{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:4px}
.m.lu{align-self:flex-start;background:#37333C;border-bottom-left-radius:4px}
.m.lu b{font-weight:600;color:var(--accent)}
.m .ph{display:flex;align-items:center;gap:10px;font:400 var(--f-small) var(--mono)}
.m .ph::before{content:"";width:22px;height:28px;border-radius:2px;background:var(--paper);background-image:repeating-linear-gradient(#fff0 0 5px,#B9B4A4 5px 6px);background-size:14px 100%;background-repeat:no-repeat;background-position:center}

/* Sections */
.sec{padding:var(--s7) 0;border-bottom:1px solid var(--line)}
.head{max-width:640px;margin-bottom:var(--s6)}
.head::before{content:"";display:block;width:48px;height:2px;background:var(--accent);margin-bottom:var(--s3)}
.head h2{margin-bottom:var(--s2)}
.head p+p{margin-top:var(--s2)}

/* Card: the one container */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4)}
.card h3{margin-bottom:var(--s1)}
.card p{color:var(--text-2)}
.ico{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block;margin-bottom:var(--s3)}

/* Overview grid */
.bento{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:var(--s2)}
.bento .card{display:flex;flex-direction:column;justify-content:flex-end;min-height:216px}
.bento .ico{margin-bottom:auto}
.t-pic{grid-row:1/3;align-items:center;justify-content:center !important;overflow:hidden}
.card.accent{background:var(--accent);border-color:var(--accent)}
.card.accent h3,.card.accent p{color:var(--accent-ink)}
.card.accent .ico{stroke:var(--accent-ink)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s1);margin-bottom:auto}
.chip{font:400 var(--f-small) var(--mono);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line);border-radius:8px;padding:6px 10px;color:var(--text)}
.chips+h3{margin-top:var(--s3)}

/* Receipt */
.receipt{width:216px;background:var(--paper);font:400 10.5px/1.55 var(--mono);color:#2B2B28;padding:18px 16px 22px;transform:rotate(-3deg);box-shadow:0 24px 50px -18px rgba(0,0,0,.8);
clip-path:polygon(0 0,100% 0,100% calc(100% - 5px),96% 100%,92% calc(100% - 5px),88% 100%,84% calc(100% - 5px),80% 100%,76% calc(100% - 5px),72% 100%,68% calc(100% - 5px),64% 100%,60% calc(100% - 5px),56% 100%,52% calc(100% - 5px),48% 100%,44% calc(100% - 5px),40% 100%,36% calc(100% - 5px),32% 100%,28% calc(100% - 5px),24% 100%,20% calc(100% - 5px),16% 100%,12% calc(100% - 5px),8% 100%,4% calc(100% - 5px),0 100%)}
.receipt b{font-weight:700}
.receipt .c{text-align:center}
.receipt hr{border:0;border-top:1px dashed #A9A594;margin:7px 0}
.receipt .l{display:flex;justify-content:space-between;gap:8px}
.qr{display:block;width:84px;height:84px;margin:12px auto 10px;fill:#221F25;outline:2px solid #3E9F6C;outline-offset:4px;border-radius:2px}

/* Features */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.feat-vis{height:336px;display:flex;flex-direction:column;justify-content:center;padding:var(--s3);margin-bottom:var(--s3)}
.feat-vis .label{margin-bottom:var(--s2);color:var(--accent)}
.feat h3{font-size:20px;margin-bottom:var(--s1)}
.feat>p{color:var(--text-2)}
.rows{margin:0;display:grid;grid-template-columns:auto 1fr;font-size:14.5px}
.rows dt,.rows dd{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
.rows dt{color:var(--text-2)}
.rows dd{text-align:right;font-variant-numeric:tabular-nums}
.rows> :nth-last-child(-n+2){border-bottom:0}
.acct{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.acct:last-child{border-bottom:0}
.acct b{font-weight:600;display:block}
.acct small{font-size:var(--f-small);color:var(--text-2)}
.acct span{font-variant-numeric:tabular-nums;white-space:nowrap}
.bar{padding:10px 0}
.bar-h{display:flex;justify-content:space-between;font-size:14.5px;margin-bottom:var(--s1)}
.bar-h span{color:var(--text-2);font-variant-numeric:tabular-nums}
.track{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.track i{display:block;height:100%;background:var(--accent);border-radius:3px}
.note{font-size:var(--f-small);color:var(--text-2);padding-top:var(--s1)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.steps .n{font:400 var(--f-small) var(--mono);color:var(--accent-ink);background:var(--accent);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;margin-bottom:var(--s5)}

/* Pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2);align-items:stretch}
.plan .label{display:flex;align-items:center;gap:var(--s1);margin-bottom:var(--s3)}
.plan .tag{font:400 11px var(--mono);letter-spacing:.04em;background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:3px 7px}
.price{font:400 48px/1 var(--mono);letter-spacing:-.04em;color:var(--text)}
.plan .per{font-size:14.5px;color:var(--text-2);margin:var(--s1) 0 var(--s3);padding-bottom:var(--s3);border-bottom:1px solid var(--line)}
.plan.best{border-color:var(--accent)}
.plan.soon .price{color:var(--text-2);font-size:32px;line-height:48px;text-transform:uppercase;letter-spacing:0}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:12px;font-size:15px}
.ticks li{padding-left:26px;position:relative}
.ticks li::before{content:"";position:absolute;left:2px;top:.52em;width:10px;height:6px;border-left:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(-45deg) translateY(-3px)}

/* Privacy */
.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.quad h3{margin-bottom:var(--s1)}
.quad p{color:var(--text-2);font-size:15px}

/* Closing */
.close{padding:var(--s7) 0}
.close-in{background:var(--accent);color:var(--accent-ink);border-radius:20px;padding:var(--s6);display:grid;grid-template-columns:1fr auto;gap:var(--s5);align-items:center}
.close h2{color:var(--accent-ink);margin-bottom:var(--s2);max-width:15em}
.close p{font-size:18px;max-width:30em}
.close-act{display:flex;flex-direction:column;gap:12px;min-width:260px}
.close .btn{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--accent)}
.close .btn:hover{background:#06362A;box-shadow:0 0 0 4px rgba(8,68,50,.18)}
.close .btn.ghost{background:transparent;color:var(--accent-ink)}
.close .btn.ghost:hover{background:rgba(8,68,50,.1);box-shadow:none}
.close .hint{font-size:var(--f-small);min-height:1.4em;text-align:center}

/* Footer */
.foot{padding:var(--s6) 0;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--s4);font-size:15px;border-top:1px solid var(--line)}
.foot .label{margin-bottom:var(--s2)}
.foot a{display:block;width:fit-content;text-decoration:none;color:var(--text);margin-bottom:10px;transition:color .15s var(--ease)}
.foot a:hover{color:var(--accent)}
.foot a.logo{color:var(--accent);margin-bottom:var(--s2)}
.foot address{font-style:normal;color:var(--text-2);line-height:1.7;font-size:14px}

/* Legal */
.doc{padding:var(--s6) 0 var(--s7);max-width:680px}
.doc h1{font-size:var(--f-title);margin-bottom:var(--s1)}
.doc .upd{font:400 var(--f-small) var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin-bottom:var(--s5)}
.doc h2{font:600 18px/1.35 var(--sans);text-transform:none;color:var(--text);letter-spacing:-.01em;margin:var(--s5) 0 var(--s1)}
.doc p,.doc li{color:#D4D2CF;line-height:1.7}
.doc ul{padding-left:20px;margin:var(--s1) 0}
.doc a{color:var(--accent)}

/* Motion: the hero conversation plays once; controls answer the hand */
@media (prefers-reduced-motion:no-preference){
.msgs .m{opacity:0;transform:translateY(6px);animation:in .4s var(--ease) forwards}
.msgs .m:nth-child(1){animation-delay:.4s}.msgs .m:nth-child(2){animation-delay:1.1s}
.msgs .m:nth-child(3){animation-delay:2s}.msgs .m:nth-child(4){animation-delay:2.8s}
.msgs .m:nth-child(5){animation-delay:3.8s}.msgs .m:nth-child(6){animation-delay:4.5s}
}
@keyframes in{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

@media(max-width:980px){
:root{--f-display:36px;--f-title:28px;--f-lead:18px;--s7:72px;--s6:40px;--gutter:20px}
.links{display:none}
.nav-in{height:64px}
[id]{scroll-margin-top:80px}
.hero::after{display:none}
.hero-in{grid-template-columns:1fr;gap:var(--s5);padding-top:var(--s5)}
.hero .lead{margin-bottom:var(--s4)}
.hero-cta .btn{width:100%}
.phone{justify-self:center}
.bento{grid-template-columns:1fr 1fr}
.t-pic{grid-row:auto;grid-column:1/-1;padding:var(--s5) var(--s3)}
.bento .card{min-height:184px;padding:var(--s3)}
.feats{grid-template-columns:1fr;gap:var(--s5)}
.feat-vis{height:auto}
.steps,.plans{grid-template-columns:1fr}
.steps .n{margin-bottom:var(--s3)}
.card{padding:var(--s3)}
.quad{grid-template-columns:1fr 1fr;gap:var(--s4) var(--s3)}
.close-in{grid-template-columns:1fr;padding:var(--s4) var(--s3);gap:var(--s4);border-radius:16px}
.close-act{min-width:0}
.foot{grid-template-columns:1fr 1fr}
.foot>div:first-child{grid-column:1/-1}
}
@media(max-width:520px){
.bento{grid-template-columns:1fr}
.bento .card{min-height:0}
.bento .ico{margin-bottom:var(--s4)}
.chips{margin-bottom:var(--s3)}
.quad{grid-template-columns:1fr}
}
