:root{--night:#0b1f28;--night2:#061017;--on:#eaf7f6;--onm:#a9c6cc;--mint2:#5fd6d1}
body{background:var(--bg)}
header{background:rgba(8,22,29,.62);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(127,224,220,.08)}
header .brand,header nav a{color:var(--on)}header .wrap{padding-top:18px;padding-bottom:18px}
header{position:fixed;left:0;right:0}
.dark{background:var(--night);color:var(--on)}
.dark h1,.dark h2,.dark h3{color:#fff}.dark .lead,.dark p{color:var(--onm)}.dark .eyebrow,.dark .price{color:var(--mint2)}
.dark a:not(.btn){color:var(--mint2)}
.dark :focus-visible{outline-color:var(--mint2)}
.btn{background:linear-gradient(120deg,#15b5b0,#7fe0dc);color:#06222b;font-weight:500;box-shadow:0 0 0 1px rgba(127,224,220,.4),0 18px 50px -14px rgba(21,181,176,.65);will-change:transform}
.btn:hover{background:linear-gradient(120deg,#2cc7c1,#9becE8);background:linear-gradient(120deg,#2cc7c1,#a6efeb)}
.btn.ghost{background:transparent;color:var(--petrol);box-shadow:none}
.dark .btn.ghost{color:var(--on);border-color:rgba(127,224,220,.5)}.dark .btn.ghost:hover{background:rgba(127,224,220,.12);color:#fff}
/* hero */
.hero.dark{min-height:100svh;display:flex;align-items:center;padding:110px 0 60px;background:radial-gradient(120% 80% at 50% 0%,#0f2d3a 0%,var(--night) 45%,var(--night2) 100%);text-align:center;isolation:isolate}
.hero .blob{display:none}
.hcin{display:flex;flex-direction:column;align-items:center}
.hero h1{font-size:clamp(3rem,10.5vw,10.5rem);font-weight:300;letter-spacing:.03em;line-height:1.02;max-width:none;margin:0 0 30px;background:linear-gradient(180deg,#fff 30%,#bfeeed);-webkit-background-clip:text;background-clip:text;color:#fff;-webkit-text-fill-color:transparent;text-shadow:none}
.magic-on .hero h1,.hero h1{filter:drop-shadow(0 0 40px rgba(21,181,176,.25))}
.hero .lead{margin:0 auto 40px;max-width:34ch;color:var(--onm)}
.hero .acts{justify-content:center}
.hero .eyebrow{margin-bottom:22px}
.logo-wrap{position:relative;width:clamp(96px,13vw,190px);margin:0 0 36px}
.hero .hmark{position:relative;display:block;right:auto;top:auto;transform:none;width:100%;height:auto;border-radius:50%;box-shadow:0 0 0 1px rgba(127,224,220,.35),0 0 60px 6px rgba(21,181,176,.45)}
.halo{position:absolute;inset:-60%;border-radius:50%;background:radial-gradient(circle,rgba(21,181,176,.55),rgba(21,181,176,.12) 40%,transparent 68%);animation:halo 5s ease-in-out infinite alternate;z-index:-1}
@keyframes halo{to{transform:scale(1.18);opacity:.6}}
.rays{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.rays i{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(70px);opacity:.5;mix-blend-mode:screen;animation:drift 22s ease-in-out infinite alternate}
.rays i:nth-child(1){background:radial-gradient(circle,#15b5b0,transparent 60%);left:-25vmax;top:-30vmax}
.rays i:nth-child(2){background:radial-gradient(circle,#058d9a,transparent 60%);right:-30vmax;top:-10vmax;animation-duration:28s;animation-delay:-8s}
.rays i:nth-child(3){background:conic-gradient(from 200deg at 50% 0%,transparent 0 40%,rgba(127,224,220,.35) 46%,transparent 52% 100%);width:140vmax;left:calc(50% - 70vmax);top:-20vmax;border-radius:0;filter:blur(30px);opacity:.55;animation:sway 16s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(14vmax,10vmax,0) scale(1.15)}}@keyframes sway{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
/* statement */
.say{text-align:center;padding:clamp(120px,22vh,240px) 0}
.say .big{font-size:clamp(2.8rem,11vw,11rem);font-weight:300;letter-spacing:.03em;line-height:1.02;color:#fff;margin:0 0 30px;transform:scale(calc(.72 + .28*var(--p,1)));filter:blur(calc((1 - var(--p,1))*14px));opacity:calc(.25 + .75*var(--p,1));will-change:transform,filter;text-shadow:0 0 60px rgba(21,181,176,.35)}
/* sticky packages */
.stick{position:relative}
.stick .pin{padding:120px 0}
.stick h2{font-size:clamp(2.2rem,6vw,5rem);max-width:none;margin-bottom:56px}
.stick .card{background:linear-gradient(160deg,rgba(127,224,220,.08),rgba(255,255,255,.02));border:1px solid rgba(127,224,220,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.stick .card h3{font-size:clamp(2rem,4.2vw,3.6rem);color:#fff}.stick .promise{color:#dff5f4;font-size:1.25rem}.stick .card ul,.stick details{color:var(--onm)}.stick summary{color:var(--on)}
.stick .card.feat{border-color:var(--mint2);box-shadow:0 40px 120px -40px rgba(21,181,176,.6)}
.stick .tag{background:var(--mint2);color:#06222b}
.stick .note{color:var(--onm)}
@media(min-width:1000px){.cards{grid-template-columns:repeat(3,1fr);gap:24px}.stick .card h3{font-size:clamp(1.8rem,2.6vw,2.5rem)}.stick .promise{font-size:1.08rem}.stick .card{padding:30px}.stick.pinned{height:300vh}.stick.pinned .pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;padding:80px 0 0}
.stick.pinned h2{margin-bottom:36px}
.stick.pinned .card{transition:none;will-change:transform,opacity,filter}
.stick.pinned .card:nth-child(1){opacity:var(--a);transform:translateY(calc((1 - var(--a))*80px)) scale(calc(1.25 - .25*var(--a)));filter:blur(calc((1 - var(--a))*12px))}
.stick.pinned .card:nth-child(2){opacity:var(--b);transform:translateY(calc((1 - var(--b))*80px)) scale(calc(1.25 - .25*var(--b)));filter:blur(calc((1 - var(--b))*12px))}
.stick.pinned .card:nth-child(3){opacity:var(--c);transform:translateY(calc((1 - var(--c))*80px)) scale(calc(1.25 - .25*var(--c)));filter:blur(calc((1 - var(--c))*12px))}}
/* wheel on dark */
.wheel-sec.dark{padding:60px 0 140px}
.wheel-sec.dark h2{color:#fff}
.wheel-sec.dark .orb{color:#eaf7f6;box-shadow:0 0 0 1px rgba(127,224,220,.18),0 20px 60px -20px rgba(21,181,176,.55)}
.wheel-sec.dark .orb .ot{color:var(--mint2)}
.wheel-sec.dark .orb b{text-shadow:0 0 22px rgba(21,181,176,.75),0 0 2px rgba(255,255,255,.4)}
.wheel-sec.dark .orb.pk b{background:linear-gradient(100deg,#fff,#7fe0dc);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 14px rgba(21,181,176,.7))}
.wheel-sec.dark .aurora{opacity:.9;mix-blend-mode:screen}
.wheel-sec.dark .wpanel p{color:#3f5961}.wheel-sec.dark .wpanel h3{color:var(--petrol)}.wheel-sec.dark .wpanel .eyebrow,.wheel-sec.dark .wpanel .price{color:#04707a}
.fade{height:38vh;background:linear-gradient(var(--night),#2a5560 35%,#bfe3e2 75%,var(--bg))}
/* cursor glow */
.cglow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:40;background:radial-gradient(circle,rgba(21,181,176,.22),transparent 62%);mix-blend-mode:screen;will-change:transform}
@media(max-width:820px){.hero.dark{padding:96px 0 40px;align-items:flex-start}.hero .hmark{display:block;width:100%;margin:0}.logo-wrap{width:84px;margin-bottom:22px}.hero .eyebrow{margin-bottom:14px}.hero h1{margin-bottom:18px}.hero .lead{margin-bottom:26px}
header .wrap{padding-top:12px;padding-bottom:12px;gap:4px}nav a{padding:6px 0}}
@media(prefers-reduced-motion:reduce){.say .big{transform:none;filter:none;opacity:1}.rays i,.halo{animation:none}.stick.pinned{height:auto}.stick.pinned .pin{position:static;height:auto}.stick.pinned .card{opacity:1!important;transform:none!important;filter:none!important}}
.hero.dark{position:relative;overflow:hidden}
.depth{position:absolute;inset:0;z-index:-3;background:#0b1f28 url(depth-bg-1200.webp) center/cover no-repeat}
@media(min-width:900px){.depth{background-image:url(depth-bg.webp)}}
.depth canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease}
.depth.on canvas{opacity:1}
.depth::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 50%,rgba(11,31,40,.55),transparent 70%),radial-gradient(ellipse at center,transparent 45%,rgba(3,10,14,.85) 100%),linear-gradient(180deg,rgba(11,31,40,.5),transparent 25%,transparent 75%,rgba(5,14,19,.9))}
.hero.dark .rays{opacity:.45}
.depth.drift{animation:ddrift 18s ease-in-out infinite alternate}
@keyframes ddrift{from{transform:scale(1.08) translate3d(-1.5%,-1%,0)}to{transform:scale(1.08) translate3d(1.5%,1%,0)}}
@media(prefers-reduced-motion:reduce){.depth.drift{animation:none}}
