/* Kaltvane — product site. Brand: carbon, ivory, verdigris. Newsreader + IBM Plex Sans. */
@font-face{font-family:News;src:url(fonts/Newsreader-Regular.woff) format("woff");font-display:swap}
@font-face{font-family:Plex;src:url(fonts/IBMPlexSans-Regular.woff) format("woff");font-display:swap}
@font-face{font-family:Plex;src:url(fonts/IBMPlexSans-Bold.woff) format("woff");font-weight:700;font-display:swap}
:root{--carbon:#0B0B0C;--graph:#131416;--panel:#17181B;--ivory:#F4F1EA;--paper:#FFFFFF;--ink:#0B0B0C;--mu:#5B5953;--mu-dk:#A7A39A;--so-dk:#CFCBC2;--ln:#E2DED5;--ln-dk:#26282B;--ac:#86AFA1;--acd:#3E6B5F;--tint:#E3ECE8;--tint-dk:#1C2925;--amb:#C9A36A;--maxw:1160px;--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 17px/1.6 Plex,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--ivory)}
img{max-width:100%;height:auto;display:block}
a{color:var(--acd);text-underline-offset:3px}
h1,h2,h3{font-family:News,Georgia,serif;font-weight:400;line-height:1.1;margin:0 0 .45em;letter-spacing:-.005em}
h1{font-size:clamp(2.5rem,6vw,4.4rem)}h2{font-size:clamp(1.9rem,4vw,3rem)}h3{font-size:1.45rem}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:9}
:focus-visible{outline:2px solid var(--ac);outline-offset:3px}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--acd);margin-bottom:16px;font-weight:700}
.dark .eyebrow{color:var(--ac)}
.lead{font-size:1.2rem;color:var(--mu);max-width:40em}
.dark{background:var(--carbon);color:var(--ivory)}.dark .lead{color:var(--so-dk)}.dark a{color:var(--ac)}
section{padding:96px 0}
/* header */
.hdr{position:sticky;top:0;z-index:20;background:rgba(11,11,12,.86);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--ln-dk)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:64px}
.hdr nav{display:flex;gap:24px;margin-left:auto}
.hdr nav a{color:var(--so-dk);text-decoration:none;font-size:14px}
.hdr nav a:hover{color:var(--ivory)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ac);color:var(--carbon)!important;font-weight:700;font-size:15px;padding:13px 22px;border-radius:5px;text-decoration:none;transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.07)}.btn:active{transform:scale(.98)}
.btn.sm{padding:9px 15px;font-size:14px}
.btn.ghost{background:none;border:1px solid var(--acd);color:var(--ac)!important}
.light .btn{background:var(--acd);color:var(--ivory)!important}
.light .btn.ghost{background:none;color:var(--acd)!important}
/* hero */
.hero{padding:88px 0 0;overflow:hidden}
.hero h1{max-width:13em}
.hero .lead{margin:18px 0 30px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.trust{display:flex;gap:22px;flex-wrap:wrap;margin:22px 0 0;padding:0;list-style:none;font-size:13.5px;color:var(--mu-dk)}
.trust li::before{content:"✓";color:var(--ac);margin-right:8px}
.shot{margin-top:64px;border-radius:12px 12px 0 0;border:1px solid var(--ln-dk);border-bottom:0;background:var(--graph);padding:10px 10px 0;box-shadow:0 -20px 80px rgba(134,175,161,.10)}
.shot .bar{display:flex;gap:6px;padding:4px 6px 10px}.shot .bar i{width:10px;height:10px;border-radius:50%;background:#2A2C30}
.shot img{border-radius:6px 6px 0 0}
/* problem */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.pain{background:var(--paper);border:1px solid var(--ln);border-radius:8px;padding:26px}
.pain b{display:block;font-family:News,Georgia,serif;font-weight:400;font-size:1.35rem;margin-bottom:8px}
.pain p{color:var(--mu);margin:0;font-size:15.5px}
/* steps */
.step{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center;padding:44px 0;border-top:1px solid var(--ln)}
.step:nth-child(even){grid-template-columns:7fr 5fr}
.step:nth-child(even) .txt{order:2}
.step .n{font-size:12px;letter-spacing:.2em;color:var(--acd);font-weight:700;margin-bottom:12px}
.step p{color:var(--mu)}
.step ul{margin:0;padding:0;list-style:none;font-size:15px}
.step li{padding:7px 0 7px 22px;position:relative;border-top:1px solid var(--ln)}
.step li::before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--acd)}
.frame{border-radius:10px;overflow:hidden;border:1px solid #1E2023;box-shadow:0 30px 60px rgba(11,11,12,.18)}
/* inside */
.inside{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px;margin-top:44px}
.grp{background:var(--panel);border:1px solid var(--ln-dk);border-radius:8px;padding:22px}
.grp h3{font-size:1.2rem;margin-bottom:12px}
.grp ul{list-style:none;margin:0;padding:0;font-size:14.5px;color:var(--so-dk)}
.grp li{padding:6px 0;border-top:1px solid var(--ln-dk);display:flex;gap:10px}
.code{font-size:10.5px;letter-spacing:.1em;color:var(--ac);border:1px solid var(--acd);border-radius:3px;padding:1px 5px;height:fit-content;margin-top:3px}
.extras{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.extra{border:1px solid var(--ln-dk);border-radius:8px;padding:22px;background:var(--tint-dk)}
.extra b{display:block;font-family:News,Georgia,serif;font-weight:400;font-size:1.25rem;margin-bottom:6px;color:var(--ivory)}
.extra p{margin:0;color:var(--so-dk);font-size:15px}
/* privacy */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.card3{border-top:2px solid var(--acd);padding-top:18px}
.card3 b{display:block;font-family:News,Georgia,serif;font-weight:400;font-size:1.3rem;margin-bottom:6px}
.card3 p{color:var(--mu);font-size:15.5px}
/* fit */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.fit div{background:var(--paper);border:1px solid var(--ln);border-radius:8px;padding:26px}
.fit ul{margin:0;padding-left:1.1em;color:var(--mu)}.fit li{margin:6px 0}
.fit .no h3{color:var(--mu)}
/* pricing */
.price{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.pcard{background:var(--paper);border:1px solid var(--acd);border-radius:12px;padding:34px;box-shadow:0 24px 60px rgba(62,107,95,.14)}
.pcard .tag{display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--acd);background:var(--tint);padding:5px 10px;border-radius:3px}
.amount{display:flex;align-items:baseline;gap:14px;margin:18px 0 4px}
.amount b{font-family:News,Georgia,serif;font-weight:400;font-size:4rem;line-height:1}
.amount s{color:var(--mu);font-size:1.4rem}
.pcard .once{color:var(--mu);font-size:14px;margin-bottom:22px}
.pcard ul{list-style:none;padding:0;margin:0 0 26px;font-size:15px}
.pcard li{padding:8px 0;border-top:1px solid var(--ln)}.pcard li::before{content:"✓";color:var(--acd);margin-right:10px;font-weight:700}
.pcard .btn{width:100%;justify-content:center}
.guar{display:flex;gap:16px;align-items:flex-start;margin-top:22px;font-size:14px;color:var(--mu)}
.guar i{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--acd);display:grid;place-items:center;font-style:normal;color:var(--acd);font-family:News,Georgia,serif;font-size:15px}
.roi{border-left:2px solid var(--acd);padding-left:22px;margin-top:28px}
.roi b{font-family:News,Georgia,serif;font-weight:400;font-size:1.5rem;display:block;margin-bottom:4px}
.roi p{color:var(--mu);margin:0}
/* faq */
.faq{max-width:820px;margin-top:30px}
details{border-top:1px solid var(--ln);padding:18px 0}
details:last-child{border-bottom:1px solid var(--ln)}
summary{cursor:pointer;list-style:none;font-family:News,Georgia,serif;font-size:1.3rem;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--acd);font-family:Plex,sans-serif;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--mu);margin:12px 0 0;max-width:46em}
/* final + footer */
.final{text-align:center}.final .lead{margin:0 auto 30px}.final .ctas{justify-content:center}
.ftr{background:var(--carbon);color:var(--mu-dk);padding:44px 0;font-size:14px;border-top:1px solid var(--ln-dk)}
.ftr .wrap{display:flex;gap:30px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}
.ftr a{color:var(--so-dk);text-decoration:none}.ftr a:hover{color:var(--ivory)}
.ftr nav{display:flex;gap:20px;flex-wrap:wrap}
/* legal */
.legal{max-width:760px;padding:72px 20px 96px;margin:0 auto}
.legal h1{font-size:clamp(2.2rem,5vw,3rem)}
.legal h2{font-size:1.45rem;margin-top:36px}
.legal p,.legal li{color:#2C2C2A}
.legal .upd{color:var(--mu);font-size:14px}
/* motion */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.hero .rv{transition-duration:.9s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
/* responsive */
@media (max-width:900px){
  section{padding:72px 0}
  .hdr nav{display:none}.hdr .btn{margin-left:auto}
  .pains,.cards3,.fit,.price,.extras{grid-template-columns:1fr}
  .inside{grid-template-columns:1fr 1fr}
  .step,.step:nth-child(even){grid-template-columns:1fr;gap:24px}
  .step:nth-child(even) .txt{order:0}
}
@media (max-width:560px){.inside{grid-template-columns:1fr}.amount b{font-size:3.2rem}body{font-size:16px}}
/* waitlist */
.wlwrap{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start}
.wlperks{list-style:none;padding:0;margin:26px 0 0;color:var(--so-dk);font-size:15px}
.wlperks li{padding:9px 0;border-top:1px solid var(--ln-dk)}.wlperks li::before{content:"✓";color:var(--ac);margin-right:10px}
.wl{background:var(--panel);border:1px solid var(--ln-dk);border-radius:12px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.wl label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--so-dk)}
.wl label span{color:var(--mu-dk)}
.wl .f2{grid-column:1/-1}
.wl input:not([type=checkbox]),.wl select{font:inherit;font-size:15px;color:var(--ivory);background:#0F1012;border:1px solid #2E3034;border-radius:6px;padding:11px 12px;width:100%}
.wl input:focus,.wl select:focus{outline:none;border-color:var(--ac)}
.wl select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mu-dk) 50%),linear-gradient(135deg,var(--mu-dk) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.wl .ck{flex-direction:row;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45}
.wl .ck input{margin-top:2px;accent-color:var(--ac);width:16px;height:16px;flex:none}
.wl .btn{justify-content:center;border:0;cursor:pointer;font-family:inherit}
.wl .btn:disabled{opacity:.6}
.wl .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wlmsg{margin:0;font-size:13.5px;min-height:1px}.wlmsg.err{color:var(--amb)}
.wldone{text-align:center;padding:30px 10px}
.wldone i{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--ac);color:var(--carbon);font-style:normal;font-size:20px;margin-bottom:14px;animation:pop .4s var(--ease)}
.wldone p{color:var(--so-dk)}
@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@media (max-width:900px){.wlwrap{grid-template-columns:1fr;gap:32px}.wl{grid-template-columns:1fr}}
.pt0{padding-top:0}
.ftag{margin-top:12px}
.wl label>span i{font-style:normal;color:var(--mu-dk)}
/* v2: founding access, stats, sales cycle */
.hero{background:radial-gradient(900px 420px at 72% 108%,rgba(134,175,161,.16),transparent 70%),var(--carbon)}
.shot .bar span{margin-left:12px;font-size:11.5px;color:#6E6B65;letter-spacing:.04em}
.s3d{transform-origin:50% 0;animation:tilt 1.4s var(--ease) .35s both}
@keyframes tilt{from{opacity:0;transform:perspective(1600px) rotateX(14deg) translateY(40px) scale(.97)}to{opacity:1;transform:none}}
.stats{padding:0;background:var(--ivory);border-bottom:1px solid var(--ln)}
.stats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.stats li{padding:34px 22px;border-left:1px solid var(--ln);display:flex;flex-direction:column;gap:6px}
.stats li:first-child{border-left:0;padding-left:0}
.stats b{font-family:News,Georgia,serif;font-weight:400;font-size:2.6rem;line-height:1}
.stats span{color:var(--mu);font-size:14.5px;max-width:15em}
.tint-sec{background:var(--tint)}
.tint-sec .card3 p{color:#3F4A46}
/* sales cycle */
.cycle-sec{background:radial-gradient(800px 380px at 15% 0%,rgba(134,175,161,.12),transparent 70%),var(--carbon)}
.cycle{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative}
.cline{position:absolute;left:21px;right:calc((100% - 72px)/5 - 22px);top:21px;height:1px;background:var(--ln-dk)}
.cline span{position:absolute;inset:0;background:linear-gradient(90deg,var(--acd),var(--ac));transform:scaleX(0);transform-origin:0 50%;transition:transform 1.6s var(--ease)}
.cycle.in .cline span{transform:scaleX(1)}
.cy{position:relative;padding-top:62px}
.cy .cn{position:absolute;top:0;left:0;width:43px;height:43px;border-radius:50%;border:1px solid var(--acd);background:var(--carbon);display:grid;place-items:center;font-size:12px;letter-spacing:.08em;color:var(--ac);transition:background .4s,color .4s,border-color .4s}
.cycle.in .cy .cn{background:var(--ac);color:var(--carbon);border-color:var(--ac)}
.cycle.in .cy:nth-child(3) .cn{transition-delay:.3s}.cycle.in .cy:nth-child(4) .cn{transition-delay:.6s}.cycle.in .cy:nth-child(5) .cn{transition-delay:.9s}.cycle.in .cy:nth-child(6) .cn{transition-delay:1.2s}
.cy h3{font-size:1.6rem;margin-bottom:8px}
.cy p{color:var(--so-dk);font-size:14.5px;margin-bottom:12px}
.cy small{font-size:11px;letter-spacing:.1em;color:var(--ac)}
.js .cy{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .cycle.in .cy{opacity:1;transform:none}
.cycle.in .cy:nth-child(3){transition-delay:.3s}.cycle.in .cy:nth-child(4){transition-delay:.6s}.cycle.in .cy:nth-child(5){transition-delay:.9s}.cycle.in .cy:nth-child(6){transition-delay:1.2s}
/* pricing v2 */
.amount span{color:var(--mu);font-size:1rem}
/* waitlist v2 */
.wlsec{background:radial-gradient(900px 500px at 85% 20%,rgba(134,175,161,.14),transparent 70%),var(--carbon)}
.wlperks b{color:var(--ivory);font-weight:700}
.wlbox{min-height:1px}
.wlh{grid-column:1/-1;font-family:News,Georgia,serif;font-size:1.5rem;margin:0;color:var(--ivory)}
.wlh span{display:block;font-family:Plex,sans-serif;font-size:12.5px;color:var(--mu-dk);margin-top:2px}
.wlok{display:flex;gap:14px;align-items:center;background:var(--tint-dk);border:1px solid var(--acd);border-radius:8px;padding:14px 16px}
.wlok i{flex:none;width:34px;height:34px;border-radius:50%;background:var(--ac);color:var(--carbon);display:grid;place-items:center;font-style:normal;animation:pop .4s var(--ease)}
.wlok b{display:block;color:var(--ivory)}.wlok span{font-size:13.5px;color:var(--so-dk)}.wlok em{font-style:normal;color:var(--ivory)}
.wlrow{display:flex;align-items:center;gap:18px}.wlrow .btn{flex:1}
.wl .lnk{background:none;border:0;color:var(--mu-dk);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.wldone{background:var(--panel);border:1px solid var(--ln-dk);border-radius:12px;padding:44px 28px}
.wldone h3{color:var(--ivory)}
.fcopy{margin-top:14px;font-size:12.5px;color:#6E6B65}
[hidden]{display:none!important}
@media (max-width:900px){.stats ul{grid-template-columns:1fr 1fr}.stats li{border-left:0;padding:22px 0;border-top:1px solid var(--ln)}.cycle{grid-template-columns:1fr;gap:26px}.cline{left:21px;right:auto;top:0;bottom:0;width:1px;height:auto}.cline span{transform:scaleY(0);transform-origin:50% 0}.cycle.in .cline span{transform:scaleY(1)}.cy{padding:0 0 0 64px}}
@media (prefers-reduced-motion:reduce){.s3d,.js .cy{animation:none;opacity:1;transform:none}}
