:root{--bg:#0a0a0c;--bg2:#131316;--bg3:#1b1b20;--ink:#f6f3fa;--mag:#4f8dff;--mag2:#8ab4ff;--pur:#ff9f1c;--pur2:#ffb84d;--grn:#4ccf6a;--grn2:#1f6b3a;--line:rgba(246,243,250,.14);--fd:'Archivo',system-ui,sans-serif;--fn:'Pacifico',cursive;--ease:cubic-bezier(.2,.8,.2,1);--pad:clamp(20px,5vw,72px)}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--fd);font-size:18px;line-height:1.55;font-weight:500;-webkit-font-smoothing:antialiased;overflow-x:clip}
body.lock{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:var(--grn)}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{width:min(1320px,calc(100% - 2*var(--pad)));margin:0 auto}
h1,h2,h3{font-weight:800;letter-spacing:-.035em;line-height:1;text-wrap:balance;font-variation-settings:"wdth" 108}
h2{font-size:clamp(42px,5.6vw,84px)}
p{text-wrap:pretty}
.lead{font-size:clamp(19px,1.5vw,23px);line-height:1.5}
.neon{font-family:var(--fn);font-weight:400;letter-spacing:0;color:#fff;text-shadow:0 0 6px #fff,0 0 14px var(--mag),0 0 34px var(--mag),0 0 70px var(--mag);animation:flicker 7s infinite}
.neon.pur{text-shadow:0 0 6px #fff,0 0 14px rgba(246,243,250,.85),0 0 34px rgba(246,243,250,.45),0 0 70px rgba(246,243,250,.25)}
@keyframes flicker{0%,93%,96%,100%{opacity:1}94%{opacity:.72}95%{opacity:.94}}
.script{font-family:var(--fn);font-weight:400;letter-spacing:0;font-size:clamp(26px,2.3vw,34px);color:var(--grn);display:inline-block;transform:rotate(-2deg);line-height:1.1;margin-bottom:22px}
.script.g{color:var(--grn)}.script.p{color:var(--grn)}
.mag{color:var(--mag2)}.pu{color:var(--grn)}.gr{color:var(--grn)}
.glow{position:absolute;pointer-events:none;border-radius:50%}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:20px 34px;border-radius:999px;font-weight:700;font-size:18px;line-height:1;overflow:hidden;isolation:isolate;white-space:nowrap;transition:transform .45s var(--ease),box-shadow .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),background .45s}
.btn .lbl{position:relative;display:block;height:1.2em;line-height:1.2em;overflow:hidden}
.btn .lbl span{display:block;transition:transform .5s cubic-bezier(.76,0,.24,1)}
.btn .lbl span+span{position:absolute;top:100%;left:0;width:100%}
.btn:hover .lbl span{transform:translateY(-100%)}
.btn .arr{display:inline-block;transition:transform .5s cubic-bezier(.76,0,.24,1)}
.btn:hover .arr{transform:translateX(7px)}
.btn-mag{background:var(--mag);color:#fff}
.btn-mag::after{content:"";position:absolute;top:-40%;left:-60%;width:40%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s var(--ease);z-index:1}
.btn-mag:hover{transform:translateY(-3px);box-shadow:0 0 24px rgba(79,141,255,.55),0 0 60px rgba(79,141,255,.35),0 18px 40px -14px rgba(79,141,255,.6)}
.btn-mag:hover::after{left:130%}
.btn-line{border:1.5px solid rgba(246,243,250,.5);color:var(--ink)}
.btn-line::before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .5s cubic-bezier(.76,0,.24,1);z-index:-1;border-radius:inherit}
.btn-line:hover{color:#0a0a0c;border-color:var(--ink)}
.btn-line:hover::before{transform:none}
.btn-pur{border:1.5px solid rgba(246,243,250,.45);color:#fff;transition:color .3s,transform .5s var(--ease)}
.btn-pur::before{content:"";position:absolute;left:50%;top:50%;width:140%;aspect-ratio:1;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%) scale(0);transition:transform .6s var(--ease);z-index:-1}
.btn-pur:hover{transform:translateY(-3px);color:var(--bg);border-color:var(--ink)}
.btn-pur:hover::before{transform:translate(-50%,-50%) scale(1)}
.btn-dark{background:#0a0a0c;color:#fff}
.btn-dark::before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .5s cubic-bezier(.76,0,.24,1);z-index:-1;border-radius:inherit}
.btn-dark:hover{color:#0a0a0c}
.btn-dark:hover::before{transform:none}
.btn-sm{padding:15px 26px;font-size:17px}
.circ{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:22px;color:var(--ink);transition:background .35s,color .35s,transform .45s var(--ease),box-shadow .35s;background:rgba(10,10,12,.5)}
.circ:hover{background:var(--ink);border-color:var(--ink);color:var(--bg);transform:scale(1.06)}

/* progress line */
.scrollbar{position:fixed;top:0;left:0;height:3px;width:100%;z-index:70;transform-origin:left;transform:scaleX(0);background:var(--ink)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;padding:16px 0;transition:padding .45s var(--ease),background .45s,border-color .45s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(10,10,12,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line);padding:10px 0}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{height:60px;width:auto;transition:height .45s var(--ease)}
.nav.scrolled .logo img{height:48px}
.nav-links{display:flex;gap:2px}
.nav-links a{position:relative;padding:10px 14px;font-size:17px;font-weight:600;color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after,.nav-links a.act::after{transform:scaleX(1);transform-origin:left}
.burger{display:none;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--line);position:relative;z-index:70;background:rgba(10,10,12,.5)}
.burger i{position:absolute;left:15px;width:20px;height:2px;background:var(--ink);transition:transform .45s var(--ease),top .45s var(--ease)}
.burger i:first-child{top:21px}.burger i:last-child{top:29px}
.menu-open .burger i:first-child{top:25px;transform:rotate(45deg)}
.menu-open .burger i:last-child{top:25px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:55;background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:100px var(--pad) 40px;transform:translateY(-100%);transition:transform .7s cubic-bezier(.76,0,.24,1);visibility:hidden;overflow:hidden}
.menu .glow{right:-30%;bottom:-30%;width:80vw;height:80vw;background:radial-gradient(circle,rgba(246,243,250,.07),transparent 60%)}
.menu-open .menu{transform:none;visibility:visible}
.menu a.big{display:block;font-size:clamp(38px,9vw,64px);font-weight:800;letter-spacing:-.03em;padding:10px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease);position:relative;z-index:1}
.menu a.big small{font-family:var(--fn);font-weight:400;font-size:.42em;color:var(--grn);margin-left:18px;letter-spacing:0}
.menu-open .menu a.big{opacity:1;transform:none}
.menu .btn{margin-top:36px;align-self:flex-start;position:relative;z-index:1}

/* hero */
.hero{position:relative;min-height:100vh;padding:150px 0 120px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:-12% 0 0 0}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;opacity:0;transform:scale(1.05);transition:opacity 1.6s var(--ease),transform 2.4s var(--ease)}
.hero-bg img.on{opacity:1;transform:none}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,12,.96) 0%,rgba(10,10,12,.86) 40%,rgba(10,10,12,.45) 70%,rgba(10,10,12,.3) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 35%)}
.hero .glow{width:60vw;height:60vw;max-width:800px;max-height:800px;right:-10vw;top:-15vw;background:radial-gradient(circle,rgba(246,243,250,.07),transparent 62%)}
.hero .wrap{position:relative;z-index:1;width:min(1500px,calc(100% - 2*var(--pad)));display:grid;grid-template-columns:minmax(0,1fr);align-items:center}
.hero-text{max-width:820px}
.pill{display:inline-flex;align-items:center;gap:12px;border:1.5px solid rgba(246,243,250,.28);border-radius:999px;padding:11px 20px;font-size:17px;font-weight:600;color:#fff;margin-bottom:34px;background:rgba(246,243,250,.06)}
.pill i{width:9px;height:9px;border-radius:50%;background:var(--grn);box-shadow:0 0 10px var(--grn);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(76,207,106,.7)}70%{box-shadow:0 0 0 12px rgba(76,207,106,0)}100%{box-shadow:0 0 0 0 rgba(76,207,106,0)}}
h1{font-size:clamp(44px,5.7vw,86px);line-height:.98;letter-spacing:-.04em}
.ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.ln>span{display:block;transform:translateY(110%);animation:up 1s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes up{to{transform:none}}
h1 .neon{font-size:.92em;display:block;margin-top:.12em;padding:0 .1em .12em 0;line-height:1.15}
.ln.neonln{overflow:visible}
.ln.neonln>span{transform:translateY(30px);opacity:0;animation:fadeup 1s var(--ease) forwards}
@keyframes fadeup{to{transform:none;opacity:1}}
.hero p{margin-top:32px;max-width:620px}
.cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:44px}
.cta .btn{padding:24px 40px;font-size:19px}
.scenes{display:flex;gap:28px;margin-top:64px;max-width:600px}
.scenes button{flex:1;text-align:left;padding:14px 0 0;font-size:18px;font-weight:700;color:var(--ink);border-top:2px solid rgba(246,243,250,.22);position:relative;transition:color .3s;white-space:nowrap}
.scenes button i{position:absolute;left:0;top:-2px;height:2px;width:0;background:var(--c);box-shadow:0 0 10px var(--c)}
.scenes button.on i{width:100%;transition:width 6s linear}
.scenes button:hover{color:#fff}
.fade-in{opacity:0;animation:fade 1.2s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes fade{to{opacity:1}}
.hero-media{position:relative;justify-self:end;width:min(400px,100%)}
.vcard{position:relative;display:block;width:100%;aspect-ratio:4/5;border-radius:34px;overflow:hidden;border:1px solid var(--line);box-shadow:0 60px 120px -40px rgba(0,0,0,.95);text-align:left;color:#fff;transform:rotate(2deg);transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.vcard:hover{transform:rotate(0) translateY(-6px);box-shadow:0 70px 130px -40px rgba(0,0,0,.95)}
.vcard img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.vcard:hover img{transform:scale(1.06)}
.vcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.92) 0%,rgba(10,10,12,.2) 45%,transparent 70%)}
.vcard .play{position:absolute;left:50%;top:44%;translate:-50% -50%;width:100px;height:100px;border-radius:50%;background:var(--mag);display:grid;place-items:center;box-shadow:0 0 30px rgba(79,141,255,.7);transition:transform .5s var(--ease),background .4s;z-index:1}
.vcard .play::before{content:"";position:absolute;inset:-16px;border-radius:50%;border:1.5px solid rgba(79,141,255,.7);animation:ring 2.6s ease-out infinite}
@keyframes ring{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.5);opacity:0}}
.vcard .play svg{width:34px;height:34px;fill:#fff;margin-left:5px}
.vcard:hover .play{transform:scale(1.1)}
.vcard .vl{position:absolute;left:30px;right:30px;bottom:28px;z-index:1;font-size:20px;font-weight:700;line-height:1.3;text-wrap:balance}
.vcard .vl em{display:block;font-family:var(--fn);font-style:normal;font-weight:400;font-size:28px;color:var(--mag2);margin-bottom:8px;text-shadow:0 0 14px rgba(79,141,255,.6)}
.vm{position:fixed;inset:0;z-index:95;background:rgba(6,6,8,.95);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.vm.on{opacity:1;visibility:visible}
.vm .fr{width:min(92vw,calc(86vh*9/16));aspect-ratio:9/16;border-radius:26px;overflow:hidden;background:#000;box-shadow:0 60px 120px -30px rgba(0,0,0,1);transform:scale(.94);transition:transform .5s var(--ease)}
.vm.on .fr{transform:none}
.vm iframe{width:100%;height:100%;border:0;display:block}
.vm .x{position:absolute;top:22px;right:22px}
.cue{position:absolute;left:50%;bottom:26px;translate:-50% 0;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:17px;font-weight:600;opacity:.9}
.cue i{width:1.5px;height:44px;background:linear-gradient(var(--ink),transparent);position:relative;overflow:hidden}
.cue i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:#fff;animation:drop 1.8s infinite}
@keyframes drop{to{top:100%}}

/* slanted band */
.band{position:relative;z-index:2;margin:-30px 0 -10px;transform:rotate(-2.5deg) scale(1.04);background:var(--ink);color:var(--bg);padding:22px 0;overflow:hidden;display:flex}
.band .t{display:flex;flex-shrink:0;animation:mq 30s linear infinite;white-space:nowrap}
.band span{font-size:clamp(24px,2.8vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1;display:inline-flex;align-items:center;gap:28px;padding-right:28px;text-transform:uppercase;font-variation-settings:"wdth" 110}
.band span em{font-family:var(--fn);font-style:normal;font-weight:400;text-transform:none;font-size:1.05em}
.band span::after{content:"→";font-weight:400}
@keyframes mq{to{transform:translateX(-100%)}}

/* about */
.about{padding:clamp(110px,14vw,190px) 0 clamp(90px,10vw,150px);position:relative;overflow:hidden}
.giant{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:clamp(20px,3vw,44px)}
.giant .word{font-size:clamp(110px,19.5vw,360px);font-weight:900;letter-spacing:-.06em;line-height:.8;font-variation-settings:"wdth" 118;color:transparent;-webkit-text-stroke:2px rgba(246,243,250,.9);white-space:nowrap;user-select:none}
.giant .word b{color:var(--ink);-webkit-text-stroke:0}
.giant .obj{position:relative;width:100%;aspect-ratio:16/7;border-radius:28px;overflow:hidden;cursor:zoom-in;box-shadow:0 40px 90px -20px rgba(0,0,0,.9);border:1px solid var(--line);cursor:zoom-in}
.giant .obj img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);will-change:transform}
.giant .obj::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.55),transparent 42%);pointer-events:none}
.giant .obj .cap{position:absolute;left:clamp(20px,3vw,36px);bottom:clamp(16px,2.5vw,28px);font-family:var(--fn);font-size:clamp(24px,2.6vw,38px);color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.8)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);margin-top:clamp(50px,6vw,90px);align-items:start}
.about-grid h2{margin-bottom:30px}
.about-grid p+p{margin-top:22px}
.about-grid p{font-size:clamp(19px,1.45vw,22px);line-height:1.5}
.pillars{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);margin-top:clamp(70px,8vw,120px);align-items:center}
.pitem{position:relative;display:block;width:100%;text-align:left;border-top:1px solid var(--line);padding:28px 0 28px 0;transition:padding-left .5s var(--ease)}
.pitem:last-child{border-bottom:1px solid var(--line)}
.pitem::before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--c);box-shadow:0 0 14px var(--c);transition:height .5s var(--ease)}
.pitem.on{padding-left:26px}
.pitem.on::before{height:100%}
.pitem .k{font-family:var(--fn);font-size:22px;color:var(--c);display:block;margin-bottom:8px;line-height:1.1}
.pitem b{display:block;font-size:clamp(28px,3vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--ink);transition:color .3s}
.pitem:hover b,.pitem.on b{color:#fff}
.pitem p{font-size:19px;max-width:440px;max-height:0;overflow:hidden;opacity:0;margin-top:0;transition:max-height .6s var(--ease),opacity .5s,margin-top .5s var(--ease)}
.pitem.on p{max-height:140px;opacity:1;margin-top:14px}
.pstage{position:relative;aspect-ratio:4/5;max-height:760px;border-radius:32px;overflow:hidden;border:1px solid var(--line);box-shadow:0 60px 120px -40px rgba(0,0,0,.95)}
.pstage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1s var(--ease),transform 1.8s var(--ease)}
.pstage img.on{opacity:1;transform:none}
.pstage::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.7),transparent 45%)}
.pstage .cap{position:absolute;left:clamp(22px,3vw,36px);bottom:clamp(20px,3vw,32px);z-index:1;font-family:var(--fn);font-size:clamp(30px,3.4vw,50px);color:#fff;line-height:1.1;opacity:0;translate:0 12px;transition:opacity .6s,translate .6s var(--ease);text-shadow:0 0 6px #fff,0 0 16px var(--c),0 0 40px var(--c)}
.pstage .cap.on{opacity:1;translate:0 0}

/* strip */
.strip-sec{padding:0 0 clamp(90px,10vw,150px);overflow:hidden}
.strip-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,50px)}
.strip-head .lead{max-width:460px}
.strip-ctl{display:flex;gap:10px;margin-left:auto}
.gal{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(var(--pad),calc((100% - 1320px)/2)) 6px;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
.gal::-webkit-scrollbar{display:none}
.gal.drag{cursor:grabbing;scroll-snap-type:none}
.gal figure{flex:none;height:clamp(380px,66vh,660px);aspect-ratio:3/2;position:relative;border-radius:24px;overflow:hidden;scroll-snap-align:start;background:var(--bg2);cursor:zoom-in}
.gal.drag figure{cursor:grabbing}
.gal figure.p{aspect-ratio:2/3}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease);user-select:none;-webkit-user-drag:none;pointer-events:none}
.gal figure:hover img{transform:scale(1.04)}
.gal figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.7),transparent 42%)}
.gal figcaption{position:absolute;left:22px;bottom:18px;z-index:1;font-family:var(--fn);font-size:clamp(24px,2.4vw,36px);color:#fff;line-height:1.1;text-shadow:0 2px 14px rgba(0,0,0,.8)}
.gal figure:nth-child(3n) figcaption{text-shadow:0 0 6px #fff,0 0 16px var(--mag),0 0 36px var(--mag)}

.gal-bar{height:2px;background:var(--line);margin-top:28px;position:relative;border-radius:2px}
.gal-bar i{position:absolute;left:0;top:0;height:100%;width:20%;background:var(--grn);box-shadow:0 0 12px var(--grn);border-radius:2px}

/* awesome */
.awesome{position:relative;overflow:hidden;padding:clamp(100px,12vw,170px) 0}
.aw-stage{position:relative;min-height:clamp(560px,64vw,820px);display:grid;place-items:center}
.aw-word{font-size:clamp(64px,11vw,190px);position:relative;z-index:1;text-align:center;line-height:1.15;padding:0 .12em .18em;pointer-events:none}
.qc{position:absolute;background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:26px 28px 26px 34px;width:min(360px,44%);font-size:clamp(19px,1.5vw,23px);font-weight:600;line-height:1.35;box-shadow:0 40px 80px -30px rgba(0,0,0,.9);transition:transform .7s var(--ease),border-color .5s;transform:rotate(var(--r));overflow:hidden}
.qc i{position:absolute;left:0;top:0;width:4px;height:100%;box-shadow:0 0 14px currentColor}
.qc:hover{transform:rotate(0) scale(1.03);border-color:rgba(246,243,250,.35)}
.qc.q1{left:0;top:2%;--r:-5deg}
.qc.q2{right:2%;top:0;--r:4deg}
.qc.q3{left:4%;bottom:10%;--r:3deg}
.qc.q4{right:0;bottom:2%;--r:-4deg;width:min(360px,34%);aspect-ratio:4/3;padding:0;cursor:zoom-in}
.qc.q4 img{width:100%;height:100%;object-fit:cover}
.qc.q5{left:36%;bottom:-2%;--r:-2deg}

/* fit */
.fit{padding:clamp(90px,10vw,150px) 0}
.fit h2{max-width:900px}
.fit-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);margin-top:clamp(40px,5vw,72px);align-items:start}
.fit-yes h3{font-size:clamp(26px,2.4vw,36px);margin-bottom:8px}
.fit-yes .hint{font-size:18px;margin-bottom:18px}
.hl-list li{position:relative;border-top:1px solid var(--line);padding:24px 0;font-size:clamp(19px,1.5vw,24px);font-weight:600;line-height:1.35;display:flex;gap:20px;align-items:center;cursor:pointer;transition:padding-left .45s var(--ease),color .3s;user-select:none}
.hl-list li:last-child{border-bottom:1px solid var(--line)}
.hl-list li .box{flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(246,243,250,.4);display:grid;place-items:center;transition:background .35s,border-color .35s,transform .4s var(--ease),box-shadow .35s;font-size:17px;font-weight:800;color:transparent}
.hl-list li:hover{padding-left:12px;color:#fff}
.hl-list li:hover .box{border-color:var(--grn);transform:scale(1.08)}
.hl-list li.on .box{background:var(--grn);border-color:var(--grn);color:#0a0a0c;box-shadow:0 0 18px rgba(76,207,106,.6)}
.fitpanel{position:sticky;top:120px;aspect-ratio:4/5;max-height:calc(100vh - 150px);border-radius:32px;overflow:hidden;border:1px solid var(--line);box-shadow:0 60px 120px -40px rgba(0,0,0,.95);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,3vw,40px);transition:box-shadow .6s,border-color .6s;background:var(--bg2)}
.fitpanel.hot{border-color:var(--grn);box-shadow:0 60px 120px -40px rgba(0,0,0,.95),0 0 70px -15px rgba(76,207,106,.55)}
.fitpanel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease),transform 1.6s var(--ease)}
.fitpanel img.on{opacity:1;transform:none}
.fitpanel::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.94) 0%,rgba(10,10,12,.4) 50%,rgba(10,10,12,.3) 100%)}
.fitpanel>*:not(img){position:relative;z-index:1}
.fitpanel .num{font-size:clamp(80px,9vw,150px);font-weight:900;letter-spacing:-.06em;line-height:.85;font-variation-settings:"wdth" 120;color:#fff;transition:color .5s,text-shadow .5s;display:flex;align-items:baseline;gap:14px}
.fitpanel .num small{font-size:.22em;font-weight:600;letter-spacing:0;font-variation-settings:"wdth" 100}
.fitpanel.hot .num{color:var(--grn);text-shadow:0 0 30px rgba(76,207,106,.6)}
.fitpanel .msg b{display:block;font-size:clamp(24px,2.2vw,34px);font-weight:800;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}
.fitpanel .msg p{font-size:18px;margin-top:10px;max-width:420px}
.fitpanel .msg .btn{margin-top:22px}
.fit-no{margin-top:clamp(40px,5vw,64px);background:var(--bg2);border:1px solid var(--line);border-radius:30px;padding:clamp(28px,3.5vw,48px);position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:24px 56px;align-items:start}
.fit-no .glow{right:-20%;top:-60%;width:50%;aspect-ratio:1;background:radial-gradient(circle,rgba(246,243,250,.06),transparent 65%)}
.fit-no h3{font-size:clamp(26px,2.4vw,36px);position:relative}
.fit-no ul{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.fit-no li{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line);font-size:18px;line-height:1.4}
.fit-no li::before{content:"✕";flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(246,243,250,.3);color:rgba(246,243,250,.75);display:grid;place-items:center;font-size:17px;font-weight:800;margin-top:-1px}

/* how */
.how{position:relative;background:var(--bg2)}
.how-wrap{height:340vh}
.how-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:90px 0 24px}
.how-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:clamp(24px,3vh,44px)}
.how-head .lead{max-width:520px;margin-top:22px}
.how-count{display:flex;align-items:baseline;gap:10px;font-size:clamp(60px,7vw,110px);font-weight:900;letter-spacing:-.06em;line-height:.85;font-variation-settings:"wdth" 120;color:var(--ink);white-space:nowrap}
.how-count span{font-size:.3em;font-weight:600;color:var(--ink);text-shadow:none;letter-spacing:0;font-variation-settings:"wdth" 100}
.how-track{display:flex;gap:20px;align-items:stretch}
.step{flex:0 0 min(540px,84vw);height:clamp(420px,56vh,640px);border-radius:32px;overflow:hidden;position:relative;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(26px,3vw,40px);background:var(--bg);transition:border-color .6s,opacity .6s,transform .6s var(--ease);opacity:.72}
.step.act{opacity:1;border-color:rgba(246,243,250,.3)}
.step img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.4s var(--ease);filter:brightness(.72)}
.step.act img{transform:none}
.step::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.98) 0%,rgba(10,10,12,.9) 30%,rgba(10,10,12,.45) 58%,rgba(10,10,12,.1) 80%,rgba(10,10,12,.3) 100%)}
.step>*{position:relative;z-index:1}
.step .num{position:absolute;top:clamp(22px,3vw,32px);left:clamp(26px,3vw,40px);font-size:clamp(64px,6.4vw,104px);font-weight:900;line-height:.8;letter-spacing:-.06em;font-variation-settings:"wdth" 120;color:var(--ink)}

.step:nth-child(3n) .num{color:var(--grn);text-shadow:0 0 30px rgba(76,207,106,.55)}
.step h3{font-size:clamp(28px,2.6vw,40px);margin-bottom:14px;color:#fff}
.step p{font-size:19px;max-width:440px;color:var(--ink)}
.step.cta{background:var(--ink);border-color:var(--ink);opacity:1;justify-content:center;gap:24px;color:var(--bg);flex-basis:min(440px,80vw)}
.step.cta::after{display:none}
.step.cta .script{color:var(--bg);margin:0}
.step.cta h3{color:var(--bg)}
.step.cta .btn-dark{background:var(--bg);color:#fff}
.step.cta h3{font-size:clamp(34px,3.2vw,50px)}
.step.cta .btn{align-self:flex-start}
.how-foot{display:flex;align-items:center;gap:24px;margin-top:clamp(24px,3vh,44px)}
.how-bar{flex:1;height:2px;background:var(--line)}
.how-bar i{display:block;height:100%;width:0;background:var(--ink)}
.dots{display:flex;gap:8px}
.dots button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);font-size:17px;font-weight:700;transition:background .3s,border-color .3s,color .3s}
.dots button.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
@media(max-height:760px){.how-sticky{padding-top:70px}.how-head{margin-bottom:14px}.how-head .lead{display:none}.how-foot{margin-top:14px}.step{height:clamp(380px,60vh,520px)}}

/* expect */
.expect{padding:clamp(100px,12vw,170px) 0}
.expect .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,96px);align-items:start}
.expect-left{position:sticky;top:130px}
.expect-left .lead{margin-top:28px;max-width:440px}
.expect-left .count{margin-top:34px;font-size:clamp(60px,7vw,110px);font-weight:900;letter-spacing:-.05em;line-height:.9;font-variation-settings:"wdth" 120;color:var(--grn);text-shadow:0 0 30px rgba(76,207,106,.45)}
.expect-left .count small{font-size:.3em;font-weight:600;color:var(--ink);text-shadow:none;letter-spacing:0;margin-left:10px}
.card{position:sticky;top:120px;height:clamp(420px,62vh,600px);border-radius:32px;padding:clamp(28px,3.6vw,48px);margin-bottom:28px;display:flex;flex-direction:column;justify-content:flex-end;transform-origin:top center;overflow:hidden;border:1px solid var(--line);background:var(--bg2);--c:var(--ink);--cs:rgba(246,243,250,.35)}
.card.pur{--c:var(--pur2);--cs:rgba(255,159,28,.55)}
.card.grn{--c:var(--grn);--cs:rgba(76,207,106,.55)}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.78)}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.97) 0%,rgba(10,10,12,.86) 32%,rgba(10,10,12,.3) 62%,rgba(10,10,12,.1) 100%)}
.card>*{position:relative;z-index:1}
.card .idx{position:absolute;top:clamp(22px,3vw,36px);left:clamp(28px,3.6vw,48px);font-size:clamp(70px,7vw,120px);font-weight:900;line-height:.8;letter-spacing:-.06em;font-variation-settings:"wdth" 120;color:var(--c);text-shadow:0 0 30px var(--cs)}
.card h3{font-size:clamp(36px,4vw,64px);letter-spacing:-.035em;margin-bottom:18px;color:#fff}
.card p{font-size:clamp(19px,1.4vw,22px);max-width:560px}

/* place */
.place{padding:clamp(100px,12vw,170px) 0 0;overflow:hidden;background:var(--bg2)}
.place-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.place-head .lead{max-width:440px}
.rooms{display:flex;gap:8px;margin-top:clamp(34px,4vw,56px);overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.rooms::-webkit-scrollbar{display:none}
.rooms button{flex:none;border:1.5px solid var(--line);border-radius:999px;padding:15px 26px;font-size:18px;font-weight:700;transition:background .35s,border-color .35s,color .35s,box-shadow .35s;white-space:nowrap}
.rooms button:hover{border-color:var(--ink)}
.rooms button.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.mosaic{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:14px;height:clamp(460px,74vh,760px);margin-top:18px}
.tile{position:relative;border-radius:26px;overflow:hidden;background:var(--bg);border:1px solid var(--line);cursor:zoom-in}
.tile.big{grid-row:1/3}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease),transform 1.8s var(--ease)}
.tile img.on{opacity:1;transform:none}
.tile:hover img.on{transform:scale(1.04)}
.tile.big::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.72),transparent 40%);pointer-events:none}
.tile .cap{position:absolute;left:clamp(22px,3vw,36px);bottom:clamp(18px,3vw,30px);z-index:1;font-family:var(--fn);font-size:clamp(30px,3.4vw,50px);color:#fff;line-height:1.1;opacity:0;translate:0 12px;transition:opacity .6s,translate .6s var(--ease);text-shadow:0 2px 14px rgba(0,0,0,.8);pointer-events:none}
.tile .cap.on{opacity:1;translate:0 0}
.place-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:clamp(30px,4vw,50px)}
.place-foot p{max-width:520px;font-size:19px}
.photomq{margin-top:clamp(60px,8vw,110px);display:flex;overflow:hidden;padding-bottom:clamp(90px,10vw,150px)}
.photomq .t{display:flex;flex-shrink:0;gap:16px;padding-right:16px;animation:mq 60s linear infinite}
.photomq:hover .t{animation-play-state:paused}
.photomq figure{flex:none;height:clamp(200px,28vw,340px);border-radius:18px;overflow:hidden;cursor:zoom-in}
.photomq img{height:100%;width:auto;display:block;transition:transform .6s var(--ease)}
.photomq figure:hover img{transform:scale(1.05)}
.photomq figure.tall{height:clamp(240px,34vw,420px);align-self:center}

/* lightbox */
.lb{position:fixed;inset:0;z-index:90;background:rgba(6,6,8,.94);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.lb.on{opacity:1;visibility:visible}
.lb img{max-width:min(92vw,1400px);max-height:84vh;border-radius:18px;box-shadow:0 60px 120px -30px rgba(0,0,0,1);transform:scale(.94);transition:transform .5s var(--ease)}
.lb.on img{transform:none}
.lb .x{position:absolute;top:22px;right:22px}
.lb .p{position:absolute;left:18px;top:50%;translate:0 -50%}
.lb .n{position:absolute;right:18px;top:50%;translate:0 -50%}
.lb .c{position:absolute;bottom:22px;left:50%;translate:-50% 0;font-size:17px;font-weight:600}

/* invest */
.invest{padding:clamp(100px,12vw,170px) 0}
.invest-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
.invest-head .lead{max-width:520px}
.phase{margin-top:clamp(40px,5vw,72px);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);background:var(--bg2);border:1px solid var(--line);border-radius:34px;overflow:hidden}
.phase .pic{position:relative;min-height:420px}
.phase .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease),transform 1.8s var(--ease)}
.phase .pic img.on{opacity:1;transform:none}
.phase .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.7),transparent 45%)}
.phase .pic .cap{position:absolute;left:clamp(22px,3vw,36px);bottom:clamp(18px,3vw,30px);z-index:1;font-family:var(--fn);font-size:clamp(30px,3.4vw,50px);color:#fff;line-height:1.1;opacity:0;translate:0 12px;transition:opacity .6s,translate .6s var(--ease);text-shadow:0 0 6px #fff,0 0 16px var(--c),0 0 40px var(--c)}
.phase .pic .cap.on{opacity:1;translate:0 0}
.phase .ctl{padding:clamp(32px,4vw,60px);display:flex;flex-direction:column;justify-content:center;gap:26px}
.phase h3{font-size:clamp(30px,3vw,46px)}
.range{position:relative;padding:14px 0 0}
.range input{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;margin:0;cursor:pointer;display:block}
.range input::-webkit-slider-runnable-track{height:3px;background:var(--line);border-radius:2px}
.range input::-moz-range-track{height:3px;background:var(--line);border-radius:2px}
.range input::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:32px;border-radius:50%;background:var(--ink);border:5px solid var(--bg2);margin-top:-14.5px;box-shadow:0 0 0 1.5px var(--ink);transition:transform .3s var(--ease)}
.range input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--ink);border:5px solid var(--bg2);box-shadow:0 0 0 1.5px var(--ink)}
.range input:hover::-webkit-slider-thumb,.range input:focus-visible::-webkit-slider-thumb{transform:scale(1.15)}
.range input:focus-visible{outline:none}
.range .fill{position:absolute;left:0;top:34.5px;height:3px;background:var(--ink);pointer-events:none;border-radius:2px;transition:width .4s var(--ease)}
.range .stops{position:absolute;left:0;right:0;top:32px;display:flex;justify-content:space-between;pointer-events:none;padding:0 14px}
.range .stops i{width:8px;height:8px;border-radius:50%;background:rgba(246,243,250,.5)}
.rlabels{display:flex;justify-content:space-between;gap:8px}
.rlabels button{font-size:18px;font-weight:700;color:var(--ink);opacity:.55;transition:opacity .3s,color .3s;text-align:center;padding:4px 0;line-height:1.2}
.rlabels button:first-child{text-align:left}.rlabels button:last-child{text-align:right}
.rlabels button.on{opacity:1;color:#fff}
.rlabels button:hover{opacity:1}
.phase .out{border-top:1px solid var(--line);padding-top:24px;min-height:150px}
.phase .out .k{font-family:var(--fn);font-size:24px;color:var(--c);display:block;margin-bottom:6px}
.phase .out b{display:block;font-size:clamp(28px,2.6vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.phase .out p{margin-top:12px;font-size:19px;max-width:480px}
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;align-items:stretch}
.pack{background:var(--bg2);border:1px solid var(--line);border-radius:30px;padding:clamp(28px,3vw,42px);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:transform .55s var(--ease),border-color .55s,box-shadow .55s,opacity .5s;--c:rgba(79,141,255,.35);--bc:var(--mag)}
.pack .glow{right:-30%;top:-30%;width:70%;aspect-ratio:1;background:radial-gradient(circle,var(--c),transparent 65%);opacity:0;transition:opacity .6s}
.pack>:not(.glow){position:relative}
.pack.hi{transform:translateY(-8px);border-color:var(--bc);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 50px -20px var(--bc)}
.pack:hover{transform:translateY(-10px) scale(1.045);border-color:var(--bc);box-shadow:0 50px 100px -40px rgba(0,0,0,.95),0 0 70px -20px var(--bc);z-index:2}
@media(hover:hover){.packs:hover .pack:not(:hover){transform:scale(.97);opacity:.6;filter:saturate(.7)}}
.pack{transition:transform .6s var(--ease),border-color .5s,box-shadow .6s,opacity .5s,filter .5s}
@media(prefers-reduced-motion:reduce){.pack:hover,.packs:hover .pack:not(:hover){transform:none}}
.pack:hover .glow,.pack.hi .glow{opacity:1}
.packs.pick .pack:not(.hi){opacity:.7}
.pack.p{--c:rgba(255,159,28,.4);--bc:var(--pur)}
.pack.g{--c:rgba(76,207,106,.35);--bc:var(--grn)}
.pack .script{margin-bottom:0;font-size:24px}
.pack h3{font-size:clamp(36px,3vw,48px);letter-spacing:-.035em}
.pack .price{font-size:clamp(28px,2.4vw,36px);font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--bc);text-shadow:0 0 24px var(--c);padding:6px 0 10px;border-bottom:1px solid var(--line)}
.pack .price small{font-weight:500;font-size:18px;letter-spacing:0;color:var(--ink);text-shadow:none}
.pack p{font-size:19px}
.pack ul{display:flex;flex-direction:column}
.pack li{padding:12px 0;border-top:1px solid var(--line);font-size:18px;font-weight:600;display:flex;gap:14px;align-items:center}
.pack li:first-child{border-top:0}
.pack li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bc);box-shadow:0 0 8px var(--bc);flex:none}
.pack .more{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#fff;align-self:flex-start}
.pack .more .arr{display:inline-block;transition:transform .5s cubic-bezier(.76,0,.24,1)}
.pack:hover .more .arr{transform:translateX(7px)}
.why{margin-top:clamp(60px,8vw,110px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,90px);align-items:center}
.why .shot{position:relative;aspect-ratio:4/5;max-height:700px;border-radius:32px;overflow:hidden;border:1px solid var(--line);box-shadow:0 60px 120px -40px rgba(0,0,0,.95)}
.why .shot img{width:100%;height:100%;object-fit:cover;transform:scale(1.2)}
.why .shot .tag{position:absolute;left:clamp(22px,3vw,36px);bottom:clamp(18px,3vw,30px);font-size:clamp(32px,3.4vw,50px)}
.why h3{font-size:clamp(34px,3.8vw,58px);margin-bottom:26px}
.why p{font-size:clamp(19px,1.4vw,22px)}
.why p+p{margin-top:18px}
.why .btn{margin-top:34px}
.why .note{margin-top:22px;font-size:18px;display:flex;gap:12px;align-items:center}
.why .note::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--grn);box-shadow:0 0 10px var(--grn);flex:none}

/* faq */
.faq{padding:clamp(100px,12vw,170px) 0;background:var(--bg2)}
.faq .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px)}
.faq-left{position:sticky;top:130px;align-self:start}
.faq-left .lead{margin-top:28px;max-width:420px}
.faq-left .shot{margin-top:40px;border-radius:24px;overflow:hidden;aspect-ratio:4/5;max-width:380px;transform:rotate(-3deg);box-shadow:0 40px 80px -30px rgba(0,0,0,.9);position:relative}
.faq-left .shot img{width:100%;height:100%;object-fit:cover;transform:scale(1.2)}
.faq-left .shot .tag{position:absolute;left:22px;bottom:18px;font-size:clamp(28px,2.6vw,40px)}
.q{border-top:1px solid var(--line);position:relative}
.q:last-child{border-bottom:1px solid var(--line)}
.q::before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--ink);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.q.open::before{transform:none}
.q button{width:100%;display:flex;align-items:center;gap:22px;padding:28px 0;text-align:left;font-size:clamp(22px,1.9vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.15;transition:color .3s,padding-left .45s var(--ease)}
.q button:hover,.q.open button{padding-left:22px}
.q button:hover{color:#fff}
.q .n{flex:none;font-family:var(--fn);font-weight:400;font-size:22px;color:var(--grn);letter-spacing:0;width:38px;transition:color .3s}
.q .t{flex:1}
.pm{flex:0 0 52px;height:52px;border-radius:50%;border:1.5px solid rgba(246,243,250,.35);display:grid;place-items:center;font-size:28px;font-weight:400;transition:transform .5s var(--ease),background .4s,color .4s,box-shadow .4s,border-color .4s}
.q button:hover .pm{border-color:var(--ink)}
.q.open .pm{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:rotate(45deg)}
.a{max-height:0;overflow:hidden;transition:max-height .55s var(--ease)}
.a p{padding:0 0 32px 82px;font-size:20px;max-width:720px;line-height:1.5}
.faq-cta{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:26px 30px;border-radius:24px;background:var(--bg);border:1px solid var(--line)}
.faq-cta b{font-size:clamp(20px,1.7vw,26px);font-weight:800;letter-spacing:-.02em;display:block}
.faq-cta p{font-size:18px;margin-top:4px}

/* intake */
.intake{padding:clamp(100px,12vw,170px) 0;position:relative;overflow:hidden}
.intake .glow{left:-20%;bottom:-30%;width:70vw;height:70vw;background:radial-gradient(circle,rgba(76,207,106,.1),transparent 60%)}
.intake .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:start;position:relative}
.intake-left{position:sticky;top:110px}
.intake-left .lead{margin-top:28px;max-width:480px}
.intake-left .shot{margin-top:40px;border-radius:32px;overflow:hidden;aspect-ratio:4/5;max-height:calc(100vh - 420px);min-height:320px;position:relative;box-shadow:0 60px 120px -40px rgba(0,0,0,.95);border:1px solid var(--line)}
.intake-left .shot img{width:100%;height:100%;object-fit:cover;transform:scale(1.2)}
.intake-left .shot::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.8),transparent 45%)}
.intake-left .shot .tag{position:absolute;left:clamp(22px,3vw,36px);bottom:clamp(20px,3vw,32px);z-index:1;font-size:clamp(30px,3.2vw,46px);line-height:1.1}
.intake-left .shot .sub{position:absolute;left:clamp(22px,3vw,36px);right:clamp(22px,3vw,36px);bottom:clamp(20px,3vw,32px);z-index:1;font-size:19px;font-weight:600;display:flex;gap:12px;align-items:center;translate:0 -3.2em}
.intake-left .shot .sub::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--grn);box-shadow:0 0 10px var(--grn);flex:none}
.form{background:var(--bg2);border:1px solid var(--line);border-radius:34px;padding:clamp(28px,3.6vw,52px);position:relative;overflow:hidden}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.steps button{position:relative;text-align:left;padding:0 0 18px;border-bottom:2px solid var(--line);display:flex;gap:14px;align-items:baseline;color:var(--ink);opacity:.5;transition:opacity .4s,color .4s;cursor:default}
.steps button.on{opacity:1;color:#fff}
.steps button.done{opacity:.85;cursor:pointer}
.steps button .sn{font-family:var(--fn);font-size:24px;color:var(--grn);line-height:1}
.steps button .st{font-size:18px;font-weight:700}
.steps button::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--ink);transition:width .7s var(--ease)}
.steps button.on::after,.steps button.done::after{width:100%}
.steps button.done::after{background:var(--grn);box-shadow:0 0 12px var(--grn)}
.form h3{font-size:clamp(30px,2.6vw,40px);margin-top:38px}
.form .sub{margin-top:10px;font-size:19px}
.stepp{display:none}
.stepp.on{display:block;animation:fade .6s var(--ease)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}
.field{display:flex;flex-direction:column;gap:10px}
.field.full{grid-column:1/-1}
.field label{font-size:18px;font-weight:700}
.field input,.field textarea{background:var(--bg);border:1.5px solid var(--line);border-radius:18px;padding:20px 22px;font:inherit;font-size:19px;color:var(--ink);outline:none;transition:border-color .3s,box-shadow .3s,background .3s;width:100%;min-height:66px}
.field textarea{min-height:170px;resize:vertical;line-height:1.5}
.field input:hover,.field textarea:hover{border-color:rgba(246,243,250,.35)}
.field input:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(246,243,250,.12)}
.field input.err,.field textarea.err{border-color:#ff5c5c;box-shadow:0 0 0 4px rgba(255,92,92,.14)}
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{border:1.5px solid var(--line);border-radius:999px;padding:16px 24px;font-size:18px;font-weight:700;min-height:56px;transition:border-color .3s,background .3s,color .3s,transform .3s var(--ease),box-shadow .3s}
.chip:hover{border-color:var(--pur);transform:translateY(-2px)}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chips.err .chip{border-color:#ff5c5c}
.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:36px;gap:16px;flex-wrap:wrap}
.form-nav .btn-line[disabled]{opacity:.35;pointer-events:none}
.form-nav .btn{padding:22px 36px}
.done{text-align:center;padding:40px 0 20px}
.done .neon{font-size:clamp(44px,5vw,64px);display:block;margin-bottom:24px;text-shadow:0 0 6px #fff,0 0 14px var(--mag),0 0 28px var(--mag)}
.done h3{font-size:clamp(30px,3vw,44px);margin-top:0}
.done p{margin-top:18px;font-size:20px}
.done .btn{margin-top:30px}

/* footer */
footer{position:relative;overflow:hidden;background:var(--bg)}
.foot-hero{position:relative;height:clamp(460px,78vh,820px);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.foot-hero .bg{position:absolute;inset:-15% 0 0}
.foot-hero .bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.75)}
.foot-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 6%,rgba(10,10,12,.15) 50%,rgba(10,10,12,.55))}
.foot-hero .hup{position:relative;font-size:clamp(150px,34vw,560px);font-weight:900;letter-spacing:-.07em;line-height:.78;font-variation-settings:"wdth" 122;color:#fff;margin-bottom:-.06em;user-select:none}
.foot-hero .hup b{color:var(--mag);text-shadow:0 0 40px var(--mag)}
.foot-hero .tag{position:absolute;top:clamp(48px,9vw,120px);left:50%;translate:-50% 0;font-size:clamp(28px,3.4vw,48px);white-space:nowrap}
.foot-cta{position:relative;z-index:2;display:flex;justify-content:center;margin-top:-30px}
.foot-grid{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;padding:56px 0 40px;border-top:1px solid var(--line);margin-top:56px}
.foot-links{display:flex;gap:6px 30px;flex-wrap:wrap;justify-content:center;font-size:18px;font-weight:700}
.foot-links a{position:relative;padding:6px 0}
.foot-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.foot-links a:hover{color:var(--ink)}
.foot-links a:hover::after{transform:scaleX(1);transform-origin:left}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:0 0 44px;font-size:17px;font-weight:600}
.foot-bottom .neon{font-size:22px;animation:none}

/* reveal */
.break{position:relative;height:clamp(440px,85vh,860px);overflow:hidden;background:var(--bg)}
.break .bg{position:absolute;inset:-14% 0}
.break .bg img{width:100%;height:100%;object-fit:cover}
.break::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),rgba(10,10,12,.15) 28%,rgba(10,10,12,.1) 72%,var(--bg))}
.break .bq{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(44px,9vw,110px);text-align:center;font-size:clamp(36px,5vw,72px);line-height:1.2;z-index:1}
.faq-left .shot{margin-top:40px;border-radius:24px;overflow:hidden;aspect-ratio:4/5;max-width:380px;transform:rotate(-3deg);box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.faq-left .shot img{width:100%;height:100%;object-fit:cover;transform:scale(1.2)}
@media(max-width:1060px){.faq-left .shot{display:none}}
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
[data-reveal].in{opacity:1;transform:none}

/* responsive */
@media(max-width:1060px){
 .nav-links,.nav .btn{display:none}
 .burger{display:block}
 .hero .wrap{grid-template-columns:1fr}
 .hero-media{justify-self:stretch;width:100%;margin-top:60px}
 .vcard{aspect-ratio:16/10;transform:none}
 .vcard img{object-position:50% 22%}
 .vcard .play{top:50%}
 .scenes{max-width:none}
 .about-grid,.expect .wrap,.faq .wrap,.intake .wrap{grid-template-columns:1fr}
 .expect-left,.faq-left,.intake-left{position:static}
 .intake-left .shot{aspect-ratio:16/10;max-height:none;min-height:0}
 .foot-grid{grid-template-columns:1fr;justify-items:center;text-align:center}
 .foot-bottom{justify-content:center;text-align:center}
 .q .n{display:none}
 .a p{padding-left:14px}
 .q button:hover,.q.open button{padding-left:14px}
 .expect-left .count{display:none}
 .pillars{grid-template-columns:1fr}
 .pstage{aspect-ratio:4/3;order:-1;max-height:none}
 .pitem.on{padding-left:20px}
 .invest-head{grid-template-columns:1fr}
 .phase{grid-template-columns:1fr}
 .phase .pic{min-height:0;aspect-ratio:16/10}
 .why{grid-template-columns:1fr}
 .why .shot{aspect-ratio:16/10;max-height:none}
 .fit-grid{grid-template-columns:1fr}
 .fitpanel{position:static;aspect-ratio:4/3;max-height:none}
 .strip-ctl{display:none}
 .cue{display:none}
}
@media(max-width:900px),(max-height:560px){
 .how-wrap{height:auto}
 .how-sticky{position:static;height:auto;padding:clamp(90px,12vw,150px) 0 60px}
 .how-head{flex-direction:column;align-items:flex-start}
 .how-track{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 20px !important;transform:none !important;scrollbar-width:none;scroll-padding-inline:var(--pad)}
 .how-track::-webkit-scrollbar{display:none}
 .step{scroll-snap-align:center;height:clamp(440px,66vh,560px);opacity:1}
 .how-count{display:none}
 .how-bar{display:none}
 .how-foot{justify-content:center}
 .card{height:clamp(420px,60vh,560px);top:100px}
 .mosaic{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:10px}
 .tile.big{grid-row:auto;grid-column:1/-1;aspect-ratio:4/3}
 .tile{aspect-ratio:1}
 .packs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:20px calc(-1*var(--pad)) 0;padding:12px var(--pad) 20px;scrollbar-width:none;scroll-padding-inline:var(--pad)}
 .packs::-webkit-scrollbar{display:none}
 .pack{flex:0 0 min(340px,82%);scroll-snap-align:center}
 .packs.pick .pack:not(.hi){opacity:1}
 .pack:hover,.pack.hi{transform:none}
 .fit-no{grid-template-columns:1fr}
 .fit-no ul{grid-template-columns:1fr}
 .gal figure{height:clamp(300px,50vh,440px)}
}
@media(max-width:640px){
 .hero{padding:130px 0 90px}
 .btn{padding:18px 26px}
 .cta .btn{width:100%;justify-content:center}
 .fields{grid-template-columns:1fr}
 .form-nav .btn{flex:1;justify-content:center}
 .steps button .st{font-size:17px}
 .form-nav .btn{padding:20px 24px}
 .intake-left .shot .tag{font-size:26px}
 .logo img{height:50px}
 .giant .word{font-size:27vw}
 .giant .obj{aspect-ratio:4/3}
 .scenes{gap:16px;margin-top:48px}
 .scenes button{font-size:17px}
 .vcard{aspect-ratio:4/5}
 .vcard .play{width:84px;height:84px}
 .vcard .vl{font-size:19px;left:22px;right:22px;bottom:22px}
 .band{transform:rotate(-3deg) scale(1.08)}
 .foot-hero .tag{font-size:26px}
 .hl-list li{font-size:18px;gap:14px}
 .rlabels button{font-size:17px}
 .lb .p,.lb .n{display:none}
}
@media(prefers-reduced-motion:reduce){
 *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
 .ln>span{transform:none}
 [data-reveal]{opacity:1;transform:none}
}

/* photo visibility */
.hero-bg{inset:-12% -3% 0 -3%}
.hero-bg::after{background:linear-gradient(90deg,rgba(10,10,12,.94) 0%,rgba(10,10,12,.78) 32%,rgba(10,10,12,.22) 58%,rgba(10,10,12,0) 78%),linear-gradient(0deg,var(--bg) 0%,transparent 22%)}
.vcard::after{background:linear-gradient(0deg,rgba(10,10,12,.86) 0%,rgba(10,10,12,.35) 26%,transparent 42%)}
.vcard{transition:transform .8s var(--ease),box-shadow .8s var(--ease),translate .3s ease-out}
.pstage::after,.gal figure::after,.tile.big::after,.phase .pic::after,.intake-left .shot::after{background:none}
.pstage .cap,.tile .cap,.phase .pic .cap,.gal figcaption,.why .shot .tag{background:rgba(10,10,12,.66);padding:10px 20px 12px;border-radius:16px}
.gal figcaption{left:16px;bottom:16px}
.pstage{will-change:transform}
.awesome .bg img{filter:none}
.awesome .bg::after{background:linear-gradient(0deg,var(--bg),transparent 20%,transparent 80%,var(--bg))}
.aw-text{background:rgba(10,10,12,.74);padding:clamp(22px,3vw,40px);border-radius:28px}
.awesome .lead{background:rgba(10,10,12,.74);padding:18px 26px;border-radius:18px;display:inline-block}
.aw-mq span{text-shadow:0 6px 40px rgba(0,0,0,.7)}
.fitpanel::after{background:linear-gradient(0deg,rgba(10,10,12,.9) 0%,rgba(10,10,12,.55) 34%,transparent 54%)}
.fitpanel .num{text-shadow:0 4px 30px rgba(0,0,0,.85)}
.step img{filter:none}
.step::after{background:linear-gradient(0deg,rgba(10,10,12,.96) 0%,rgba(10,10,12,.86) 30%,rgba(10,10,12,.45) 52%,rgba(10,10,12,.15) 70%,transparent 85%)}
.card img{filter:none}
.card::after{background:linear-gradient(0deg,rgba(10,10,12,.94) 0%,rgba(10,10,12,.74) 28%,rgba(10,10,12,.2) 50%,transparent 62%)}
.foot-hero .bg img{filter:none}
.foot-hero .bg::after{background:linear-gradient(0deg,var(--bg) 5%,rgba(10,10,12,.05) 45%,rgba(10,10,12,.35))}
.break::after{background:linear-gradient(0deg,var(--bg),transparent 18%,transparent 82%,var(--bg))}
.break .bq{background:rgba(10,10,12,.6);display:inline-block;left:50%;right:auto;translate:-50% 0;padding:14px 32px;border-radius:22px;max-width:calc(100% - 2*var(--pad))}
.intake-left .shot .plate{position:absolute;left:clamp(18px,3vw,32px);right:clamp(18px,3vw,32px);bottom:clamp(18px,3vw,32px);z-index:1;background:rgba(10,10,12,.7);padding:20px 24px;border-radius:20px;display:flex;flex-direction:column;gap:10px}
.intake-left .shot .tag,.intake-left .shot .sub{position:static;translate:none}
.faq-left .shot.art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:28px;background:var(--bg);background-image:radial-gradient(rgba(246,243,250,.14) 1px,transparent 1.6px);background-size:22px 22px;border:1px solid var(--line);transform:none;box-shadow:0 40px 80px -30px rgba(0,0,0,.9),0 0 80px -30px rgba(255,159,28,.5)}

/* photo focus */
img[src$="1081.webp"],img[src$="1082.webp"]{object-position:50% 28%}
img[src$="1038.webp"]{object-position:50% 34%}
img[src$="1105.webp"],img[src$="1108.webp"]{object-position:50% 62%}
img[src$="1085.webp"],img[src$="1087.webp"]{object-position:50% 46%}
img[src$="1071.webp"]{object-position:40% 40%}
img[src$="1037.webp"]{object-position:62% 45%}
img[src$="1083.webp"]{object-position:50% 38%}
img[src$="1051.webp"]{object-position:66% 50%}
img[src$="1053.webp"],img[src$="1061.webp"]{object-position:72% 50%}
img[src$="1066.webp"],img[src$="1067.webp"]{object-position:60% 50%}
@media(max-width:1060px){.hero .hero-bg::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(10,10,12,.9) 42%,rgba(10,10,12,.6) 68%,rgba(10,10,12,.25) 100%)}}
.faq-left .shot.art{display:block;padding:0;background:var(--bg);background-image:none;border:1px solid var(--line);box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.step .vig{position:absolute;top:clamp(18px,3vw,28px);right:clamp(18px,3vw,28px);width:clamp(120px,15vw,200px);aspect-ratio:5/4;border-radius:22px;background:rgba(10,10,12,.82);border:1px solid var(--line);z-index:1;padding:6px;overflow:hidden}
.done-art{width:min(440px,100%);margin:0 auto 6px;aspect-ratio:4/3}
@media(max-width:640px){.step .vig{width:112px}}

/* rings */
/* founder */
.founder{padding:clamp(120px,14vw,190px) 0 0}
.founder .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.ftext h2{margin:0 0 26px}
.ftext blockquote{margin:28px 0 0;padding:6px 0 6px 24px;border-left:3px solid var(--ink);font-size:clamp(22px,2vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.25;text-wrap:balance}
.ftext .btn{margin-top:34px}
/* marquee break */
.break.mq::after{background:linear-gradient(0deg,var(--bg),transparent 14%,transparent 86%,var(--bg))}
.bmq{position:absolute;left:0;right:0;top:50%;translate:0 -50%;display:flex;overflow:hidden;z-index:1}
.bmq .t{display:flex;flex-shrink:0;animation:mq 34s linear infinite;white-space:nowrap}
.bmq span{font-size:clamp(90px,18vw,280px);font-weight:900;letter-spacing:-.05em;line-height:.9;font-variation-settings:"wdth" 120;text-transform:uppercase;padding-right:.32em;color:#fff;text-shadow:0 8px 40px rgba(0,0,0,.65)}
.bmq span.m{color:var(--grn);text-shadow:0 8px 40px rgba(0,0,0,.65)}
@media(max-width:1060px){
 .founder .wrap{grid-template-columns:1fr}
 .fvideo{order:2;margin-top:40px}
 .fc,.fc.fca,.fc.fcb{position:relative;width:100%;height:auto;aspect-ratio:4/5;align-self:start;transform:none!important;left:auto;right:auto;top:auto;bottom:auto}
 .fcards .vcard{aspect-ratio:4/5}
 .aw-stage{display:flex;flex-direction:column;gap:14px;min-height:0}
 .aw-stage .qc,.aw-stage .qc.q1,.aw-stage .qc.q2,.aw-stage .qc.q3,.aw-stage .qc.q4,.aw-stage .qc.q5{position:relative;inset:auto!important;width:100%;transform:none!important}
 .qc.q4{aspect-ratio:16/10}
 .aw-word{order:-1;font-size:clamp(48px,13vw,96px);margin-bottom:16px}
}
@media(max-width:640px){.fcards{grid-template-columns:1fr}.fc,.fc.fca,.fc.fcb,.fcards .vcard{aspect-ratio:4/3}}
.bandwrap{overflow:hidden;position:relative;z-index:2;margin:-30px 0 -10px;padding:30px 0}
.band{margin:0}
.dots button{width:48px;height:48px}
.rlabels button{min-height:48px}
.scenes button{min-height:48px;padding-top:12px}
.rooms button{min-height:48px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px}
.pack .more{min-height:48px}
@media(max-width:640px){
 .btn{max-width:100%;white-space:normal;text-align:center}
 .btn .lbl{height:auto;line-height:1.25}
 .btn .lbl span+span{display:none}
 .btn:hover .lbl span{transform:none}
 .foot-hero .hup{font-size:clamp(96px,34vw,560px)}
 .why{grid-template-columns:minmax(0,1fr)}
}

/* a11y + interaction states */
.skip{position:fixed;left:16px;top:16px;z-index:200;background:var(--ink);color:var(--bg);padding:14px 22px;border-radius:999px;font-weight:700;font-size:17px;transform:translateY(-200%);transition:transform .3s}
.skip:focus{transform:none;outline:3px solid #fff;outline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 7px rgba(246,243,250,.2)}
.btn:active{transform:translateY(0) scale(.97)}
.circ:active,.chip:active,.seg button:active,.rooms button:active,.rlabels button:active,.dots button:active{transform:scale(.95)}
.ferr{display:none;margin-top:18px;padding:14px 18px;border-radius:14px;border:1.5px solid #ff5c5c;background:rgba(255,92,92,.12);font-size:17px;font-weight:600}
.ferr.on{display:block}
@media(max-height:760px) and (min-width:1061px){
 .hero{padding:110px 0 60px;min-height:0}
 .hero h1{font-size:clamp(40px,4.3vw,58px)}
 .hero .pill{margin-bottom:18px}
 .hero p.lead{margin-top:16px;font-size:19px;max-width:560px}
 .hero .cta{margin-top:22px}
 .hero .cta .btn{padding:17px 28px;font-size:18px}
 .hero .scenes{margin-top:26px}
 .cue{display:none}
}
@media(prefers-reduced-motion:reduce){.band .t,.bmq .t,.photomq .t,.aw-mq .t{animation:none!important}.sticker,.vcard .play::before{animation:none!important}}

/* motion: hero drift, staggered reveals, fit interaction */
.hero-bg img{transition:opacity 1.6s var(--ease)}
.hero-bg img.on{animation:drift 30s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.09) translateX(1.5%)}to{transform:scale(1) translateX(0)}}
.fvideo{position:relative;width:min(440px,100%);justify-self:center;aspect-ratio:9/16;border-radius:30px;overflow:hidden;background:#000;border:0;box-shadow:0 60px 120px -40px rgba(0,0,0,.95)}
.fvideo iframe{position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);border:0;display:block;background:#000}
.giant .word{text-align:center}
.giant .word span{display:inline-block;transform:translateY(55%);opacity:0;transition:transform 1.1s var(--ease),opacity .7s var(--ease);transition-delay:calc(var(--i)*.07s)}
.giant.in .word span{transform:none;opacity:1}
.why .shot[data-reveal],.intake-left .shot[data-reveal]{transform:none;clip-path:inset(10% 8% 10% 8% round 32px);transition:opacity 1s var(--ease),clip-path 1.3s var(--ease)}
.why .shot[data-reveal].in,.intake-left .shot[data-reveal].in{clip-path:inset(0 0 0 0 round 32px)}
.aw-stage .qc{opacity:0;transform:translateY(48px) rotate(0);transition:opacity .9s var(--ease),transform 1s var(--ease),border-color .5s}
.aw-stage.in .qc{opacity:1;transform:rotate(var(--r))}
.aw-stage.in .qc.q1{transition-delay:.15s}.aw-stage.in .qc.q2{transition-delay:.3s}.aw-stage.in .qc.q3{transition-delay:.45s}.aw-stage.in .qc.q4{transition-delay:.6s}.aw-stage.in .qc.q5{transition-delay:.75s}
.aw-stage.in .qc:hover{transform:rotate(0) scale(1.03);transition-delay:0s}
.hl-list li .box svg{width:18px;height:18px;fill:none;stroke:#0a0a0c;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .5s var(--ease) .1s}
.hl-list li.on .box svg{stroke-dashoffset:0}
.hl-list li.on .box{animation:boxpop .6s var(--ease)}
@keyframes boxpop{0%{transform:scale(.8)}55%{transform:scale(1.25)}100%{transform:scale(1)}}
.hl-list li::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:40%;background:linear-gradient(90deg,transparent,var(--grn),transparent);opacity:0;pointer-events:none}
.hl-list li.on::after{animation:sweep 1.1s var(--ease)}
@keyframes sweep{0%{opacity:1;transform:translateX(-100%)}100%{opacity:0;transform:translateX(250%)}}
.hl-list li.on{color:#fff}
.fitpanel::after{z-index:1}
.fitpanel>*:not(img){z-index:2}
.fitpanel img{z-index:0;transition:opacity .9s var(--ease)}
.fitpanel img.on{z-index:1;animation:wipeIn 1.1s var(--ease)}
@keyframes wipeIn{from{clip-path:inset(0 0 0 100%);transform:scale(1.08)}to{clip-path:inset(0);transform:scale(1)}}
.fitpanel .num{line-height:.95}
.fitpanel .num b{position:relative;display:inline-grid;overflow:hidden;min-width:.62em;line-height:.95}
.fitpanel .num b span{grid-area:1/1;display:block}
.fitpanel .num b span.out{animation:numOut .6s var(--ease) forwards}
.fitpanel .num b span.inn{animation:numIn .6s var(--ease)}
@keyframes numOut{to{transform:translateY(-105%);opacity:0}}
@keyframes numIn{from{transform:translateY(105%);opacity:0}}
.fitpanel .ring{position:absolute;right:clamp(20px,3vw,36px);top:clamp(20px,3vw,36px);width:clamp(76px,8vw,110px);height:clamp(76px,8vw,110px)}
.fitpanel .ring svg{width:100%;height:100%;transform:rotate(-90deg);display:block}
.fitpanel .ring circle{fill:none;stroke-width:3}
.fitpanel .ring .tr{stroke:rgba(246,243,250,.18)}
.fitpanel .ring .pr{stroke:var(--grn);stroke-linecap:round;stroke-dasharray:289;stroke-dashoffset:289;transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1)}
.fitpanel .ring .pct{position:absolute;inset:0;display:grid;place-items:center;font-size:17px;font-weight:800;letter-spacing:-.02em}
.fitpanel.full{animation:fullglow 1.4s var(--ease)}
@keyframes fullglow{0%{box-shadow:0 0 0 0 rgba(76,207,106,.7)}100%{box-shadow:0 0 0 30px rgba(76,207,106,0)}}
@media(max-width:1060px){.fvideo{order:2;margin-top:40px}}
@media(prefers-reduced-motion:reduce){.hero-bg img.on,.fitpanel img.on,.hl-list li.on::after,.hl-list li.on .box{animation:none!important}.giant .word span,.aw-stage .qc{opacity:1;transform:none}.why .shot[data-reveal],.intake-left .shot[data-reveal]{clip-path:none}}

/* awesome cards: color wash + badge */
.qc{--c:var(--ink);background:var(--c);color:#fff;border-color:transparent;box-shadow:0 30px 70px -30px rgba(0,0,0,.9),0 0 36px -6px color-mix(in oklab,var(--c) 70%,transparent),0 0 90px -20px color-mix(in oklab,var(--c) 55%,transparent)}
.qc p{color:#fff}
.qc.q5{--c:#e8890a}.qc.q5,.qc.q5 p{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.qc i{display:none}
.qc::before{display:none}
.qc:hover{box-shadow:0 30px 70px -30px rgba(0,0,0,.9),0 0 46px -4px color-mix(in oklab,var(--c) 85%,transparent),0 0 120px -20px color-mix(in oklab,var(--c) 65%,transparent)}
@keyframes breathe{from{transform:scale(.9);opacity:.7}to{transform:scale(1.25);opacity:1}}
.qc.q4.badge{background:none;border:0;box-shadow:none!important;color:#fff;padding:0;width:min(280px,30%);aspect-ratio:1;overflow:visible;cursor:default;--r:0deg}
.qc.q4.badge::before{display:none}
.qc.q4.badge svg{width:100%;height:100%;display:block;animation:spin 28s linear infinite;overflow:visible}
.qc.q4.badge .dash{transform-origin:100px 100px;animation:spinrev 40s linear infinite}
.qc.q4.badge .ring-t{font-family:var(--fd);font-weight:800;font-size:16.5px;letter-spacing:.14em;text-transform:uppercase;fill:#fff}
.qc.q4.badge .arr{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(44px,4.6vw,76px);font-weight:900;line-height:1;color:var(--mag);text-shadow:0 0 24px color-mix(in oklab,var(--mag) 60%,transparent);transition:transform .6s var(--ease)}
.qc.q4.badge:hover .arr{transform:translate(6px,-6px)}
.aw-stage.in .qc.q4.badge:hover{transform:scale(1.04)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinrev{to{transform:rotate(-360deg)}}
@media(max-width:700px){.qc.q4.badge{width:44%}}
@media(prefers-reduced-motion:reduce){.qc::before,.qc.q4.badge svg,.qc.q4.badge .dash{animation:none!important}}

/* faq motion */
.q::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:35%;background:linear-gradient(90deg,transparent,var(--grn),transparent);opacity:0;pointer-events:none;transform:translateX(-100%)}
.q:hover::after{animation:sweep 1s var(--ease)}
.q button{transition:color .3s,padding-left .5s var(--ease),opacity .4s}
.q .n{transform:translateX(-6px);opacity:.7;transition:color .3s,transform .5s var(--ease),opacity .4s}
.q button:hover .n,.q.open .n{transform:none;opacity:1;color:#fff}
.q .t{transition:transform .5s var(--ease)}
.q button:hover .t{transform:translateX(6px)}
.pm{transition:transform .7s cubic-bezier(.34,1.56,.64,1),background .35s,border-color .35s,color .35s}
.q button:hover .pm{transform:scale(1.1)}
.q.open .pm{transform:rotate(135deg) scale(1)}
.q.open button:hover .pm{transform:rotate(135deg) scale(1.1)}
.a p{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.q.open .a p{opacity:1;transform:none;transition-delay:.12s}
@media(hover:hover){.faq-list:hover .q:not(:hover):not(.open) button{opacity:.55}}
@media(prefers-reduced-motion:reduce){.q:hover::after{animation:none}.q .n,.a p{transform:none;opacity:1}}

/* footer hero: photo-filled letters, soft edges */
.foot-hero{height:clamp(420px,70vh,760px)}
.foot-hero .bg img{opacity:.26;filter:saturate(.9)}
.foot-hero .bg::after{background:linear-gradient(0deg,var(--bg) 4%,rgba(10,10,12,.25) 38%,rgba(10,10,12,.45) 70%,var(--bg) 100%)}
.foot-hero .hup{color:transparent;background:url(img/1083.webp) 40% 35%/cover no-repeat;-webkit-background-clip:text;background-clip:text;clip-path:inset(100% 0 0 0);transition:clip-path 1.5s var(--ease) .15s;animation:hupdrift 32s ease-in-out infinite alternate;filter:saturate(1.15) contrast(1.05)}
.foot-hero.in .hup{clip-path:inset(-12% 0 0 0)}
.foot-hero .hup b{color:var(--mag);text-shadow:none}
@keyframes hupdrift{from{background-position:40% 35%}to{background-position:60% 55%}}
.foot-hero .tag{opacity:0;translate:-50% 14px;transition:opacity 1s var(--ease) .6s,translate 1s var(--ease) .6s}
.foot-hero.in .tag{opacity:1;translate:-50% 0}
@media(prefers-reduced-motion:reduce){.foot-hero .hup{animation:none;clip-path:none}.foot-hero .tag{opacity:1;translate:-50% 0}}

/* fit rows: full green fill when checked */
.hl-list li{padding-left:16px;padding-right:16px;border-radius:16px;overflow:hidden;isolation:isolate}
.hl-list li>*{position:relative;z-index:1}
.hl-list li::before{content:"";position:absolute;inset:0;background:var(--grn);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease);z-index:-1}
.hl-list li.on::before{transform:scaleX(1)}
.hl-list li.on{color:#fff;border-top-color:transparent;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.hl-list li.on+li{border-top-color:transparent}
.hl-list li.on:last-child{border-bottom-color:transparent}
.hl-list li:hover{padding-left:24px}
.hl-list li.on .box{background:#0a0a0c;border-color:#0a0a0c;box-shadow:none}
.hl-list li.on .box svg{stroke:#fff}
.hl-list li.on::after{display:none}

/* awesome v2: sticky neon title + scroll-lit statements */
.aw2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,110px);align-items:start}
.aw2-left{position:sticky;top:130px;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(24px,3vw,40px)}
.aw2 .aw-word{font-size:clamp(56px,6.4vw,112px);text-align:left;padding:0 .1em .15em 0;line-height:1.1;pointer-events:none;position:relative;z-index:1}
.aw2 .badge{position:relative;width:clamp(150px,13vw,220px);aspect-ratio:1;color:#fff}
.aw2 .badge svg{width:100%;height:100%;display:block;animation:spin 28s linear infinite;overflow:visible}
.aw2 .badge .dash{transform-origin:100px 100px;animation:spinrev 40s linear infinite}
.aw2 .badge .ring-t{font-family:var(--fd);font-weight:800;font-size:16.5px;letter-spacing:.14em;text-transform:uppercase;fill:#fff}
.aw2 .badge .arr{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(40px,3.6vw,60px);font-weight:900;line-height:1;color:var(--mag);transition:transform .6s var(--ease)}
.aw2 .badge:hover .arr{transform:translate(5px,-5px)}
.aw2-list{position:relative;display:flex;flex-direction:column;padding-left:clamp(28px,3.4vw,52px);list-style:none}
.aw2-list::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line)}
.aw2-list::after{content:"";position:absolute;left:-1px;top:0;width:3px;height:var(--p,0%);border-radius:2px;background:linear-gradient(180deg,var(--mag),var(--grn));box-shadow:0 0 14px var(--grn)}
.aw2-list li{position:relative;min-height:clamp(200px,32vh,340px);display:flex;align-items:center;gap:clamp(20px,2.4vw,34px);font-size:clamp(28px,3.1vw,50px);font-weight:800;letter-spacing:-.03em;line-height:1.08;opacity:.18;transform:translateX(-12px);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.aw2-list li p{text-wrap:balance;margin:0}
.aw2-list li.on{opacity:1;transform:none}
.aw2-list li.done{opacity:.42;transform:none}
.aw2-list li i{flex:none;width:clamp(14px,1.3vw,20px);aspect-ratio:1;border-radius:4px;background:rgba(246,243,250,.2);transform:rotate(45deg) scale(.7);transition:background .5s,box-shadow .5s,transform .7s cubic-bezier(.34,1.56,.64,1)}
.aw2-list li.on i{background:var(--c);box-shadow:0 0 24px var(--c);transform:rotate(45deg) scale(1)}
.aw2-list li.done i{background:var(--c);box-shadow:none}
.aw2-list li em{font-style:normal;transition:color .5s}
.aw2-list li.on em,.aw2-list li.done em{color:var(--c)}
@media(max-width:1060px){.aw2{grid-template-columns:1fr;gap:40px}.aw2-left{position:static;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.aw2 .badge{width:130px}.aw2-list li{min-height:0;padding:26px 0}}
@media(prefers-reduced-motion:reduce){.aw2-list li{opacity:1;transform:none}.aw2-list li i{background:var(--c)}.aw2 .badge svg,.aw2 .badge .dash{animation:none!important}}
