:root{--ink:#06201f;--deep:#0a2c2a;--panel:#0f3a37;--mint:#6fd3c3;--mint-soft:#a8e8dc;--paper:#eef6f4;--on-paper:#0b2a28;--text:#e8f4f1;--muted:#9cc0ba;--r:28px;--ease:cubic-bezier(.23,1,.32,1);--font-d:'Bricolage Grotesque',system-ui,sans-serif;--font-b:'Figtree',system-ui,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--text);font:400 1.0625rem/1.65 var(--font-b);-webkit-font-smoothing:antialiased;animation:pg-in .4s var(--ease) both;transition:opacity .2s var(--ease)}
body.leaving{opacity:0}
@keyframes pg-in{from{opacity:0}to{opacity:1}}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-d);line-height:1.08;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.4rem,6vw,4.6rem)}h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}h3{font-size:1.3rem;letter-spacing:-.01em}
p{max-width:62ch}
.wrap{width:min(1160px,92%);margin-inline:auto}
section{padding:clamp(3.5rem,8vw,6rem) 0}
.light{background:var(--paper);color:var(--on-paper)}
.muted{color:var(--muted)}.light .muted{color:#3f6460}
.small{font-size:.9rem;color:var(--muted)}
:focus-visible{outline:3px solid var(--mint);outline-offset:3px;border-radius:8px}
.btn{display:inline-block;padding:.9rem 1.6rem;border-radius:999px;font:700 1rem var(--font-b);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .16s var(--ease),background-color .16s,border-color .16s,color .16s,box-shadow .2s}
.btn:active{transform:scale(.97)}
.btn-p{background:var(--mint);color:var(--ink)}
.btn-s{border-color:rgba(232,244,241,.35)}
.light .btn-s{border-color:rgba(11,42,40,.35)}
@media(hover:hover) and (pointer:fine){.btn-p:hover{background:var(--mint-soft);transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(111,211,195,.6)}.btn-s:hover{border-color:var(--mint);color:var(--mint)}.light .btn-s:hover{color:var(--on-paper);border-color:var(--on-paper)}}
.row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
header{position:sticky;top:0;z-index:40;background:rgba(6,32,31,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(111,211,195,.14)}
.bar-h{display:flex;align-items:center;justify-content:space-between;height:76px;gap:1.2rem}
.logo{display:flex;align-items:center;gap:.65rem;font:700 1.2rem var(--font-d);text-decoration:none;white-space:nowrap}
.logo i{width:28px;height:28px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(111,211,195,.2)}
nav ul{display:flex;gap:1.5rem;list-style:none;padding:0}
nav a{text-decoration:none;font-weight:500;font-size:.95rem;color:var(--muted);position:relative;padding:.4rem 0;transition:color .16s}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
nav a[aria-current]{color:var(--text)}nav a[aria-current]::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){nav a:hover{color:var(--text)}nav a:hover::after{transform:scaleX(1)}}
.nav-cta{padding:.65rem 1.3rem;font-size:.95rem}
.burger{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:2px;background:var(--text);border-radius:2px;transition:transform .22s var(--ease)}
.burger span:nth-child(1){top:17px}.burger span:nth-child(2){top:25px}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(4px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.hero{padding:clamp(3rem,7vw,5.5rem) 0 clamp(3.5rem,7vw,6rem);background:radial-gradient(900px 500px at 85% 15%,rgba(111,211,195,.16),transparent 60%)}
.hero-g{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.lead{font-size:1.2rem;color:var(--muted);margin-top:1.3rem}
.orb{aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 14px rgba(111,211,195,.14),0 0 0 32px rgba(111,211,195,.06),0 30px 80px -20px rgba(0,0,0,.6)}
.orb img{width:100%;height:100%;object-fit:cover}
.hero-in>*{animation:rise .7s var(--ease) both}.hero-in>*:nth-child(2){animation-delay:.08s}.hero-in>*:nth-child(3){animation-delay:.16s}
.orb{animation:rise .9s .15s var(--ease) both,bob 7s 1.2s ease-in-out infinite}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes bob{50%{transform:translateY(-10px)}}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(111,211,195,.15);border-radius:var(--r);overflow:hidden;margin-top:3.5rem}
.facts div{background:var(--deep);padding:1.5rem 1.6rem}
.facts b{display:block;font:700 1.7rem var(--font-d);color:var(--mint)}
.facts span{color:var(--muted);font-size:.95rem}
.tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.tab{padding:.7rem 1.2rem;border-radius:999px;border:2px solid rgba(11,42,40,.25);background:none;color:inherit;font:600 1rem var(--font-b);cursor:pointer;transition:background-color .16s,color .16s,border-color .16s,transform .16s var(--ease)}
.tab:active{transform:scale(.97)}
.tab[aria-selected=true]{background:var(--on-paper);color:var(--paper);border-color:var(--on-paper)}
.panel{margin-top:1.6rem;background:#fff;border-radius:var(--r);padding:clamp(1.6rem,4vw,2.6rem);animation:pin .22s var(--ease) both}
.panel[hidden]{display:none}
.panel p{margin-top:.6rem;color:#3f6460}
@keyframes pin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cta{text-align:center;background:radial-gradient(700px 320px at 50% 100%,rgba(111,211,195,.2),transparent 70%)}
.cta p,.cta .row{margin-inline:auto;justify-content:center}
.page-h{padding:clamp(3rem,7vw,5rem) 0 1rem}
.page-h p{margin-top:1rem;color:var(--muted);font-size:1.15rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.tile{background:var(--deep);border-radius:var(--r);padding:1.8rem}
.tile b{display:block;font:700 1.9rem var(--font-d);color:var(--mint)}
.tile span{color:var(--muted)}
.promo{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:center;background:var(--deep);border:1px solid rgba(111,211,195,.3);border-radius:var(--r);padding:clamp(1.4rem,4vw,2.4rem)}
.imgp{background:#f3f6f5;border-radius:22px;padding:1rem;display:grid;place-items:center;aspect-ratio:1/.8}
.imgp img{max-height:100%;object-fit:contain}
.badge{display:inline-block;background:var(--mint);color:var(--ink);font:700 .85rem var(--font-b);padding:.3rem .8rem;border-radius:999px}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.9rem;margin:1rem 0 .4rem}
.was{font:700 1.8rem var(--font-d);color:var(--muted);position:relative}
.was::after{content:"";position:absolute;left:-4px;right:-4px;top:52%;height:3px;background:#ff8f8f;transform:scaleX(0);transform-origin:left;transition:transform .5s .4s var(--ease)}
.now{font:700 3.6rem var(--font-d);color:var(--mint);opacity:0;transform:scale(.95);transition:opacity .4s .9s var(--ease),transform .4s .9s var(--ease)}
.in .was::after{transform:scaleX(1)}.in .now{opacity:1;transform:none}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;list-style:none;padding:0}
.chips li{background:rgba(111,211,195,.12);border-radius:999px;padding:.3rem .8rem;font-size:.9rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem;margin-top:2rem}
.card{background:var(--deep);border-radius:var(--r);padding:1.2rem 1.2rem 1.6rem;transition:transform .25s var(--ease),background-color .25s}
@media(hover:hover) and (pointer:fine){.card:hover{transform:translateY(-6px);background:var(--panel)}}
.card h3{margin:1.1rem .4rem .3rem}.card p,.card ul{margin:0 .4rem}
.card ul{list-style:none;padding:0;margin-top:.8rem;color:var(--muted);font-size:.95rem}
.card li{padding:.2rem 0;border-top:1px solid rgba(111,211,195,.12)}
.card .best{margin-top:.9rem;color:var(--mint-soft);font-size:.95rem}
details{border-top:2px solid rgba(11,42,40,.2);padding:1.1rem 0}
details:last-of-type{border-bottom:2px solid rgba(11,42,40,.2)}
summary{cursor:pointer;font:700 1.3rem var(--font-d);list-style:none;display:flex;justify-content:space-between;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.6rem;transition:transform .2s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details ul{margin:.8rem 0 0 1.2rem;color:#3f6460}
details[open] ul{animation:pin .22s var(--ease) both}
.note{background:var(--deep);border-radius:var(--r);padding:1.6rem;margin-top:2rem;color:var(--muted);font-size:.95rem}
.prose h2{font-size:1.5rem;margin:2rem 0 .5rem}.prose p,.prose li{color:var(--muted);margin-top:.5rem}.prose ul{margin-left:1.2rem}
footer{background:var(--deep);border-top:1px solid rgba(111,211,195,.15);padding:4rem 0 2rem;color:var(--muted);font-size:.95rem}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
footer h4{font:700 1rem var(--font-d);color:var(--text);margin-bottom:.9rem}
footer ul{list-style:none;padding:0}footer li{margin:.45rem 0}
footer a{text-decoration:none;transition:color .16s}
@media(hover:hover) and (pointer:fine){footer a:hover{color:var(--mint)}}
.fbase{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(111,211,195,.15);font-size:.88rem}
.fab-wrap{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:50;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.fab{width:70px;height:70px;border-radius:50%;background:var(--mint);color:var(--ink);border:0;font:700 .74rem/1.1 var(--font-d);cursor:pointer;position:relative;box-shadow:0 12px 30px -8px rgba(0,0,0,.6);animation:bob 4s ease-in-out infinite;transition:scale .16s var(--ease)}
.fab:active{scale:.95}
.fab::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--mint);animation:ping 2.4s var(--ease) infinite}
@keyframes ping{from{transform:scale(1);opacity:.7}to{transform:scale(1.6);opacity:0}}
.fab-links{display:flex;flex-direction:column;gap:.6rem}
.fab-links a{width:52px;height:52px;border-radius:50%;background:var(--panel);border:1px solid rgba(111,211,195,.35);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(12px) scale(.95);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
.fab-wrap.open .fab-links a{opacity:1;visibility:visible;transform:none}
.fab-wrap.open .fab-links a:nth-child(2){transition-delay:.04s}.fab-wrap.open .fab-links a:nth-child(1){transition-delay:.08s}
.shell{max-width:720px;margin:0 auto}
.fcard{background:var(--deep);border-radius:var(--r);padding:clamp(1.4rem,4vw,2.4rem);min-height:420px;display:flex;flex-direction:column}
.fbar{height:8px;background:rgba(111,211,195,.15);border-radius:99px;overflow:hidden;margin-bottom:.5rem}
.fbar i{display:block;height:100%;background:var(--mint);border-radius:99px;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.fmeta{display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem;margin-bottom:1.6rem}
.fstage{flex:1;animation:pin .24s var(--ease) both}
.q{display:block;font:700 clamp(1.4rem,3.5vw,1.9rem)/1.2 var(--font-d);margin-bottom:.6rem}
.hint{color:var(--muted);font-size:.95rem;margin-bottom:1rem}
.in-w{display:flex;align-items:center;background:var(--ink);border:2px solid rgba(111,211,195,.25);border-radius:16px;margin-top:1rem;transition:border-color .16s}
.in-w:focus-within{border-color:var(--mint)}
.in-w span{padding-left:1.1rem;color:var(--muted)}
.in-w input{flex:1;min-width:0;background:none;border:0;color:var(--text);font:500 1.15rem var(--font-b);padding:1rem 1.1rem;outline:0}
.opts{display:grid;gap:.7rem;margin-top:1rem}.opts.two{grid-template-columns:1fr 1fr}
.opt{padding:1.1rem;border-radius:16px;border:2px solid rgba(111,211,195,.25);background:var(--ink);color:var(--text);font:600 1.1rem var(--font-b);cursor:pointer;text-align:center;transition:background-color .16s,border-color .16s,transform .16s var(--ease)}
.opt:active{transform:scale(.97)}
.opt.sel,.opt:focus-visible{background:var(--mint);color:var(--ink);border-color:var(--mint)}
@media(hover:hover) and (pointer:fine){.opt:hover{border-color:var(--mint)}}
.rng{display:flex;align-items:center;gap:1rem;margin-top:1.4rem}
.rng input{flex:1;accent-color:var(--mint);height:32px}
.rng b{font:700 2rem var(--font-d);color:var(--mint);min-width:4.5rem;text-align:center}
.rng button{width:44px;height:44px;border-radius:50%;border:2px solid rgba(111,211,195,.35);background:none;color:var(--text);font-size:1.4rem;cursor:pointer}
.err{color:#ffb4a2;font-size:.92rem;min-height:1.4rem;margin-top:.6rem}
.fnav{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem}
.fnav .btn-s{visibility:visible}.fnav .btn[hidden]{display:none}
.thanks h2{margin-bottom:.8rem}
.next-form{margin-top:2rem;padding:1.6rem;border-radius:22px;background:var(--ink);border:1px solid rgba(111,211,195,.3)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:grid;place-items:center;z-index:80;padding:1rem;animation:pin .2s var(--ease) both}
.modal>div{background:var(--deep);border-radius:var(--r);padding:2rem;width:min(460px,100%)}
@media(max-width:980px){
.burger{display:block}
nav{position:absolute;top:76px;left:0;right:0;background:var(--ink);border-bottom:1px solid rgba(111,211,195,.15);padding:.5rem 4% 1.5rem;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
nav.open{opacity:1;visibility:visible;transform:none}
nav ul{flex-direction:column;gap:0}nav a{display:block;padding:.9rem 0;font-size:1.15rem;border-bottom:1px solid rgba(111,211,195,.1)}nav a::after{display:none}
.nav-cta{display:none}
}
@media(max-width:860px){
.hero-g,.promo{grid-template-columns:1fr}
.orb{max-width:340px;margin:.5rem auto 0;width:80%}
.facts{grid-template-columns:1fr}
.fgrid{grid-template-columns:1fr 1fr}
.row .btn{width:100%;text-align:center}
.now{font-size:3rem}
}
@media(max-width:520px){.fgrid{grid-template-columns:1fr}.opts.two{grid-template-columns:1fr 1fr}}
.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:var(--d,0s)}
.js [data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}.js [data-reveal]{opacity:1;transform:none}.was::after{transform:scaleX(1)}.now{opacity:1;transform:none}}
.facts b span{font:inherit;color:inherit;display:inline}
.btn{background:none;color:inherit}.btn-p{background:var(--mint);color:var(--ink)}
@media(hover:hover) and (pointer:fine){.btn-p:hover{background:var(--mint-soft)}}
@media(max-width:860px){.fab{width:60px;height:60px;font-size:.66rem}.fab-links a{width:46px;height:46px}.shell{padding-bottom:5rem}}
/* hero link + warp transition */
.hero-vis{display:flex;flex-direction:column;align-items:center;gap:1.4rem}
a.orb{display:block;width:100%;cursor:pointer}
.orb-hint{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--mint-soft);border:1px solid rgba(111,211,195,.3);border-radius:999px;padding:.45rem 1rem}
.orb-hint i{width:9px;height:9px;border-radius:50%;background:var(--mint);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
@media(hover:hover) and (pointer:fine){a.orb img{transition:transform .6s var(--ease),filter .3s}a.orb:hover img{transform:scale(1.06);filter:brightness(1.12)}}
.imgp.dark{background:#16181a;padding:0;overflow:hidden;aspect-ratio:4/5}.imgp.dark img{width:100%;height:100%;object-fit:cover}
.warp{position:fixed;z-index:9999;overflow:hidden;background:#16181a;pointer-events:none}
.warp>img{width:100%;height:100%;object-fit:cover;display:block}
.warp .scan{position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,transparent,#6fd3c3,transparent);box-shadow:0 0 28px 8px rgba(111,211,195,.8);animation:scan .8s var(--ease) both}
@keyframes scan{to{transform:translateY(100vh)}}
.warp::after{content:"";position:absolute;inset:0;opacity:0;background:repeating-linear-gradient(0deg,rgba(111,211,195,.08) 0 1px,transparent 1px 4px),linear-gradient(rgba(111,211,195,.14) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(111,211,195,.14) 1px,transparent 1px) 0 0/48px 48px;animation:hudin .45s .2s var(--ease) forwards}
.warp.out::after,.warp.out u,.warp.out .hud{animation:hudout .4s var(--ease) forwards}
@keyframes hudin{to{opacity:1}}@keyframes hudout{from{opacity:1}to{opacity:0}}
.warp u{position:absolute;width:44px;height:44px;border:0 solid #6fd3c3;opacity:0;animation:hudin .4s .25s forwards}
.warp u:nth-of-type(1){top:22px;left:22px;border-width:3px 0 0 3px}.warp u:nth-of-type(2){top:22px;right:22px;border-width:3px 3px 0 0}
.warp u:nth-of-type(3){bottom:22px;left:22px;border-width:0 0 3px 3px}.warp u:nth-of-type(4){bottom:22px;right:22px;border-width:0 3px 3px 0}
.warp .hud{position:absolute;left:0;right:0;bottom:5%;text-shadow:0 0 14px #000,0 0 4px #000;text-align:center;font:700 .85rem ui-monospace,Menlo,monospace;letter-spacing:.32em;color:#6fd3c3;opacity:0;animation:hudin .4s .3s forwards}
.warp .hud span{display:block;margin-top:.4rem;font-size:.7rem;opacity:.7}
html.warp-in{background:#16181a}
html.warp-in body{animation:none}
html.warp-in body>*:not(.warp){visibility:hidden;animation:unhide 0s 2.5s forwards}
@keyframes unhide{to{visibility:visible}}
/* nudge */
.nudge{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));z-index:45;width:min(300px,calc(100vw - 108px));background:var(--deep);border:1px solid rgba(111,211,195,.35);border-radius:22px;padding:1.1rem 1.2rem;box-shadow:0 20px 50px -12px rgba(0,0,0,.7);opacity:0;transform:translateY(16px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.nudge.show{opacity:1;transform:none}
.nudge p{margin:0}.nudge .row{margin-top:.8rem;gap:.5rem}
.nudge .btn{padding:.55rem 1rem;font-size:.9rem}
.nudge .x{position:absolute;top:.3rem;right:.5rem;width:36px;height:36px;background:none;border:0;color:var(--muted);font-size:1.4rem;cursor:pointer}
/* testimonials */
.tlist{display:grid;gap:1.6rem}
.tcard{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.2rem,4vw,3rem);background:var(--deep);border-radius:var(--r);padding:clamp(1rem,3vw,1.6rem);align-items:center;scroll-margin-top:100px}
.tcard:nth-child(even){grid-template-columns:1.2fr .8fr}.tcard:nth-child(even) .tph{order:2}
.tph{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:var(--panel)}
.tph img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .6s var(--ease)}
@media(hover:hover) and (pointer:fine){.tcard:hover .tph img{transform:scale(1.04)}}
.newb{position:absolute;left:.8rem;bottom:.8rem;background:var(--mint);color:var(--ink);font:700 .85rem var(--font-b);padding:.4rem .9rem;border-radius:999px;animation:glow 2.4s ease-in-out infinite}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(111,211,195,.6)}50%{box-shadow:0 0 0 10px rgba(111,211,195,0)}}
.biz{color:var(--mint-soft);font-weight:600}
.tbody h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin:.1rem 0 .8rem}
blockquote{font:500 1.2rem/1.5 var(--font-d);color:var(--text);border-left:3px solid var(--mint);padding-left:1.1rem;margin:0 0 1.4rem}
.stars{display:flex;gap:.25rem;background:none;border:0;padding:.2rem 0;margin-bottom:.4rem;cursor:pointer}
.stars svg{overflow:visible}
.stars path{fill:transparent;stroke:var(--mint);stroke-width:1.5;stroke-linejoin:round}
.stars.lit path{fill:var(--mint);transition:fill .3s var(--ease) calc(var(--i,0)*90ms)}
.stars.lit svg{animation:pop .45s var(--ease) both;animation-delay:calc(var(--i)*90ms)}
@keyframes pop{0%{transform:scale(.8)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
.more{display:inline-flex;align-items:center;gap:.7rem;background:none;border:2px solid rgba(111,211,195,.45);color:var(--text);border-radius:999px;padding:.7rem 1.3rem;font:600 1rem var(--font-b);cursor:pointer;transition:background-color .16s,border-color .16s,transform .16s var(--ease)}
.more:active{transform:scale(.97)}
.more i{width:10px;height:10px;border-right:2px solid var(--mint);border-bottom:2px solid var(--mint);transform:translateY(-2px) rotate(45deg);transition:transform .25s var(--ease)}
.more[aria-expanded=true] i{transform:translateY(2px) rotate(-135deg)}
@media(hover:hover) and (pointer:fine){.more:hover{background:rgba(111,211,195,.12);border-color:var(--mint)}}
.story{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .3s var(--ease),opacity .25s var(--ease),visibility 0s .3s}
.story>div{overflow:hidden}.story p{padding-top:1.1rem;color:var(--muted)}
.story.open{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .3s var(--ease),opacity .25s var(--ease)}
mark{background:rgba(111,211,195,.28);color:var(--text);padding:0 .3em;border-radius:6px;font-weight:600}
.tcard.spot{animation:spot 1.8s var(--ease)}
@keyframes spot{0%,60%{box-shadow:0 0 0 3px var(--mint),0 0 40px rgba(111,211,195,.4)}100%{box-shadow:0 0 0 0 transparent}}
@media(max-width:860px){.tcard,.tcard:nth-child(even){grid-template-columns:1fr}.tcard:nth-child(even) .tph{order:0}.tph{aspect-ratio:1/1}}
/* v4 additions */
.addr{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}.addr .in-w{margin-top:0}
@media(max-width:520px){.addr{grid-template-columns:1fr}}
.steps4{margin:1.6rem 0 .4rem}.steps-t{font:700 1.05rem var(--font-d);margin-bottom:1rem}
.srow{display:flex;align-items:flex-start}
.st{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:68px;flex:none}
.st em{font:600 .85rem var(--font-b);font-style:normal;color:var(--muted)}.st.done em,.st.cur em{color:var(--text)}
.dot{width:54px;height:54px;border-radius:50%;border:3px solid rgba(111,211,195,.3);background:var(--ink);color:var(--muted);display:grid;place-items:center;font:700 1.15rem var(--font-d);animation:dotin .5s calc(var(--i)*.3s) var(--ease) both}
.done .dot{background:var(--mint);border-color:var(--mint);color:var(--ink);animation:dotfill .6s calc(var(--i)*.3s) var(--ease) both}
.cur .dot{border-color:var(--mint);color:var(--mint);animation:dotin .5s calc(var(--i)*.3s) var(--ease) both,ring 2s 1.2s ease-out infinite}
.seg{flex:1;height:4px;margin-top:25px;background:rgba(111,211,195,.2);border-radius:4px;position:relative;overflow:hidden}
.seg::after{content:"";position:absolute;inset:0;background:var(--mint);transform:scaleX(0);transform-origin:left}
.seg.on::after{animation:segfill .55s calc(var(--i)*.3s + .25s) var(--ease) forwards}
@keyframes dotin{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
@keyframes dotfill{0%{opacity:0;transform:scale(.7);background:var(--ink)}60%{transform:scale(1.15)}100%{opacity:1;transform:none}}
@keyframes segfill{to{transform:scaleX(1)}}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(111,211,195,.55)}100%{box-shadow:0 0 0 16px rgba(111,211,195,0)}}
.chat{display:flex;gap:.8rem;align-items:flex-start;margin-top:1.2rem;padding:1rem;border-radius:22px;background:var(--ink);border:1px solid rgba(111,211,195,.3);text-decoration:none;color:var(--text);transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.chat:active{transform:scale(.98)}
@media(hover:hover) and (pointer:fine){.chat:hover{transform:translateY(-4px);border-color:var(--mint);box-shadow:0 14px 30px -14px rgba(111,211,195,.5);color:var(--text)}.chat:hover .typing u{animation-duration:.6s}}
.av{position:relative;width:42px;height:42px;border-radius:50%;background:var(--panel);flex:none;display:grid;place-items:center}
.av i{width:14px;height:14px;border-radius:50%;background:#46e08a;position:relative}
.av i::after{content:"";position:absolute;inset:0;border-radius:50%;background:#46e08a;animation:ping 1.8s var(--ease) infinite}
.bub{display:block;font-size:.95rem;line-height:1.5}.bub b{color:var(--text)}
.typing{display:flex;gap:5px;margin-top:.6rem}.typing u{width:7px;height:7px;border-radius:50%;background:var(--mint);animation:bounce 1.2s ease-in-out infinite}
.typing u:nth-child(2){animation-delay:.15s}.typing u:nth-child(3){animation-delay:.3s}
@keyframes bounce{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-5px);opacity:1}}
[data-tilt]{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s var(--ease)}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin-top:3rem}
.fcopy p{margin-top:1rem;color:var(--muted);font-size:1.1rem}
.imgp.wht{background:#fff;aspect-ratio:auto;padding:1.4rem}
.imgp.wht img{width:100%;height:auto;max-height:none}
.float{animation:bob 6s ease-in-out infinite}
.chips.big li{font-size:1rem;padding:.5rem 1.1rem;background:rgba(111,211,195,.18)}
.bkimg{max-width:720px;margin:0 auto}
.plans-h{text-align:center;margin:4rem 0 2rem}.plans-h h2{margin-top:.8rem}
.pulse{animation:glow 2.4s ease-in-out infinite}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.plan{height:100%;background:var(--deep);border:2px solid rgba(111,211,195,.2);border-radius:var(--r);padding:clamp(1.4rem,3vw,2.2rem)}
.plan.pro{border-color:transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(120deg,#6fd3c3,#a8e8dc,#2a7f74,#6fd3c3) border-box;background-size:auto,300% 300%;animation:flow 7s linear infinite}
@keyframes flow{to{background-position:0 0,300% 0}}
.plan .price{margin:.6rem 0 .2rem}.plan .now{font-size:3.2rem}
.checks{list-style:none;padding:0;margin-top:1.4rem;display:grid;gap:.9rem}
.checks li{display:flex;gap:.7rem;align-items:flex-start;opacity:0;transform:translateX(-10px);transition:opacity .45s var(--ease),transform .45s var(--ease);transition-delay:calc(.5s + var(--i)*.15s)}
.in .checks li{opacity:1;transform:none}
.checks svg{width:22px;height:22px;flex:none;margin-top:2px;fill:none;stroke:var(--mint);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.checks path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .5s var(--ease);transition-delay:calc(.8s + var(--i)*.15s)}
.in .checks path{stroke-dashoffset:0}
@media(max-width:860px){.feature,.plans{grid-template-columns:1fr}.feature .fimg{order:-1}}
.rngbox{margin-top:1.2rem}
.rval{text-align:center}.rval b{display:inline-block;font:700 clamp(2.2rem,6vw,3.2rem) var(--font-d);color:var(--mint);background:var(--ink);border:2px solid rgba(111,211,195,.3);border-radius:20px;padding:.3rem 1.6rem;min-width:9rem}
.rng{margin-top:1.2rem}.rng b{display:none}
.rng input[type=range]{-webkit-appearance:none;appearance:none;height:10px;border-radius:99px;cursor:pointer;background:linear-gradient(90deg,var(--mint) var(--p,0%),rgba(111,211,195,.18) var(--p,0%))}
.rng input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:var(--mint);border:4px solid var(--ink);box-shadow:0 0 0 2px var(--mint),0 6px 14px rgba(0,0,0,.4);transition:transform .15s var(--ease)}
.rng input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--mint);border:4px solid var(--ink);box-shadow:0 0 0 2px var(--mint)}
.rng input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.ticks{display:flex;justify-content:space-between;margin:.7rem 3.6rem 0;color:var(--muted);font-size:.88rem}
