:root{--bg:#000;--ink:#fff;--mut:#9ea2ad;--acc:#3D4BFF;--card:#12131a}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 17px/1.6 'Instrument Sans',system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3,.lg,.mn a{font-family:'Bricolage Grotesque',system-ui,sans-serif;line-height:1;letter-spacing:-.035em}
a{color:inherit}
:focus-visible{outline:3px solid #fff;outline-offset:3px}
.w{max-width:1150px;margin:auto;padding:0 22px}
header{position:fixed;inset:0 0 auto;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:linear-gradient(#000c,#0000)}
.lg{display:flex;align-items:center;gap:10px;font-weight:800;font-size:24px;text-decoration:none}
.lg svg{height:36px;fill:#fff}
.hr{display:flex;gap:10px;align-items:center}
select,.bt{font:600 14px inherit;font-family:inherit;background:#000;color:#fff;border:1px solid #fff6;border-radius:999px;padding:8px 14px;cursor:pointer}
.mn{position:fixed;inset:0;z-index:25;background:var(--acc);display:grid;place-content:center;gap:6px;clip-path:circle(0 at 100% 0);transition:clip-path .7s cubic-bezier(.7,0,.2,1);visibility:hidden}
.mn.o{clip-path:circle(150% at 100% 0);visibility:visible}
.mn a{font-weight:800;font-size:clamp(48px,13vw,120px);text-decoration:none}
.mn a:hover{-webkit-text-stroke:2px #fff;color:transparent}
.cur{position:fixed;inset:0;z-index:99;background:var(--acc);pointer-events:none;animation:up .8s cubic-bezier(.7,0,.2,1) forwards}
body.out .cur{animation:none;transform:translateY(0);transition:transform .5s cubic-bezier(.7,0,.2,1)}
body:not(.out) .cur{transform:translateY(0)}
@keyframes up{to{transform:translateY(-101%)}}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding-bottom:7vh;overflow:hidden}
#c{position:absolute;inset:0;width:100%;height:100%}
.nogl #c{display:none}
.hero .w{position:relative;width:100%;pointer-events:none}
.hero h1{font-size:clamp(54px,12.5vw,170px);font-weight:800;max-width:9ch}
.hero p{max-width:36ch;color:var(--mut);margin:18px 0 24px;font-size:19px}
.btns{display:flex;gap:12px;flex-wrap:wrap;pointer-events:auto}
.b{display:inline-block;padding:15px 28px;border-radius:999px;font-weight:600;text-decoration:none;background:#fff;color:#000;border:2px solid #fff;transition:transform .25s,background .25s;cursor:pointer;font-size:16px;font-family:inherit}
.b:hover{transform:translateY(-3px) rotate(-1.5deg);background:var(--acc);color:#fff;border-color:var(--acc)}
.b.o{background:none;color:#fff}
.mq{background:var(--acc);overflow:hidden;white-space:nowrap;padding:16px 0;font:800 clamp(26px,5vw,48px) 'Bricolage Grotesque';transform:rotate(-1.5deg) scale(1.03)}
.mq div{display:inline-block;animation:m 30s linear infinite}
@keyframes m{to{transform:translateX(-50%)}}
section{padding:100px 0}
.pg{padding-top:130px}
h2{font-size:clamp(42px,8vw,96px);font-weight:800;margin-bottom:22px;max-width:12ch}
.lead{color:var(--mut);max-width:50ch;margin-bottom:14px}
.g{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:20px;perspective:1000px;margin-top:30px}
.cd{background:var(--card);border-radius:20px;padding:12px;transform-style:preserve-3d;transition:transform .15s}
.ph{aspect-ratio:4/5;border-radius:14px;display:grid;place-items:center;font:800 110px 'Bricolage Grotesque';color:#fff6;background:linear-gradient(145deg,var(--c),#000);transform:translateZ(30px)}
.cd h3{font-size:22px;margin:14px 4px 2px}.cd small{color:var(--mut);margin:0 4px}
.cd .pr{margin:6px 4px 12px;font-weight:600}
.cd .b{padding:10px 18px;font-size:15px;margin:0 4px 4px}
.fl{display:flex;gap:8px;flex-wrap:wrap}
.fl .bt.on{background:#fff;color:#000}
.rv{opacity:0;transform:translateY(40px);transition:.9s cubic-bezier(.2,.8,.2,1)}.rv.on{opacity:1;transform:none}
.sp{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:760px){.sp{grid-template-columns:1fr}}
.cb{height:240px;perspective:900px;display:grid;place-items:center}
.cb div{width:120px;height:120px;position:relative;transform-style:preserve-3d;animation:sp 12s linear infinite}
.cb i{position:absolute;inset:0;border:2px solid #fff;background:#3D4BFF22;display:grid;place-items:center;font:800 40px 'Bricolage Grotesque';font-style:normal}
.cb i:nth-child(1){transform:translateZ(60px)}.cb i:nth-child(2){transform:rotateY(180deg) translateZ(60px)}.cb i:nth-child(3){transform:rotateY(90deg) translateZ(60px)}.cb i:nth-child(4){transform:rotateY(-90deg) translateZ(60px)}.cb i:nth-child(5){transform:rotateX(90deg) translateZ(60px)}.cb i:nth-child(6){transform:rotateX(-90deg) translateZ(60px)}
@keyframes sp{to{transform:rotateX(360deg) rotateY(360deg)}}
.ring{height:70vh;min-height:420px;perspective:1400px;overflow:hidden;cursor:grab;touch-action:pan-y;display:grid;place-items:center}
.ring>div{position:relative;width:220px;height:300px;transform-style:preserve-3d}
.ring .p{position:absolute;inset:0;border-radius:14px;display:grid;place-items:end start;padding:14px;font:700 20px 'Bricolage Grotesque';background:linear-gradient(160deg,var(--c),#000);border:1px solid #fff3;backface-visibility:hidden}
form{display:grid;gap:14px;max-width:520px;margin-top:26px}
input,textarea{font:inherit;background:var(--card);color:#fff;border:1px solid #fff3;border-radius:12px;padding:14px;width:100%}
.cl a{display:block;font:700 clamp(22px,4vw,34px) 'Bricolage Grotesque';padding:10px 0;border-bottom:1px solid #fff3;text-decoration:none}
.cl a:hover{color:var(--acc)}
.cl small{display:block;color:var(--mut);font:400 14px 'Instrument Sans'}
footer{padding:40px 22px;text-align:center;color:var(--mut);font-size:14px;border-top:1px solid #fff2}
.wa{position:fixed;right:18px;bottom:18px;z-index:20;background:#25D366;color:#000;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-weight:800;text-decoration:none;box-shadow:0 8px 24px #0008}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.cur{display:none}}
