.pre{position:fixed;inset:0;z-index:9999;background:#050505;display:grid;place-content:center;justify-items:center;gap:18px;transition:transform .9s cubic-bezier(.77,0,.18,1)}
.pre b{font:700 clamp(26px,6vw,48px)/1 "Space Grotesk",sans-serif;letter-spacing:.08em;color:#fff}.pre b span{color:var(--accent)}
.pre i{width:160px;height:2px;background:#222;position:relative;overflow:hidden}.pre i::after{content:"";position:absolute;inset:0;background:var(--accent);transform:translateX(-100%);animation:ld 1.2s ease forwards}
@keyframes ld{to{transform:none}}.pre.out{transform:translateY(-100%)}
.prog{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:0 0;z-index:9998}
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.cur{position:fixed;left:-18px;top:-18px;width:36px;height:36px;border:1.5px solid #fff;border-radius:50%;pointer-events:none;z-index:9997;mix-blend-mode:difference;transition:width .25s,height .25s,margin .25s}.cur.big{width:64px;height:64px;margin:-14px 0 0 -14px}
.tilt{transform-style:preserve-3d;will-change:transform}.card-mark,.card-meta{transform:translateZ(60px)}
.button,.pill{transition:transform .25s ease}
.project .media-placeholder{box-shadow:0 30px 80px -30px rgba(0,0,0,.9)}
.footer-admin{opacity:.35}
@media(pointer:coarse){.cur{display:none}}
[data-slot]{isolation:isolate}.slot-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}[data-slot]:hover .slot-media{transform:scale(1.06)}
[data-slot].filled>img:not(.slot-media),[data-slot].filled>video:not(.slot-media){display:none}
.reveal:not(.in){transform:perspective(1000px) translateY(60px) rotateX(8deg)}
.hero h1 em{background:linear-gradient(90deg,var(--accent),#fff,var(--accent));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sh 6s linear infinite}@keyframes sh{to{background-position:200% 0}}
[data-slot].filled>span,[data-slot].filled>b{display:none!important}
.project-info>span,.section-head>span{display:none!important}
.snd{position:absolute;right:14px;bottom:14px;z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(5,5,5,.6);backdrop-filter:blur(8px);color:#fff;font-size:18px;cursor:pointer;transition:transform .2s}.snd:hover{transform:scale(1.12)}
