/* v2: deep-blue scene, merged photos, 3D motion */
:root{--deep:#06142a;--muted:#a9b7d0}
html{scroll-behavior:auto}
body{background:var(--deep);color:var(--sand)}
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(160deg,#071a36 0%,#0B1F3A 40%,#0d2a66 75%,#1E4FD8 140%)}
.grid-bg{position:absolute;inset:-50%;background-image:linear-gradient(rgba(127,162,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(127,162,255,.07) 1px,transparent 1px);background-size:60px 60px;transform:perspective(700px) rotateX(60deg) translateY(var(--gy,0px));transform-origin:50% 100%;mask-image:linear-gradient(transparent 30%,#000 70%,transparent)}
.au{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;mix-blend-mode:screen;animation:drift 18s ease-in-out infinite alternate}
.a1{width:55vw;height:55vw;background:#1E4FD8;left:-10vw;top:-15vw}
.a2{width:45vw;height:45vw;background:#2a6bff;right:-12vw;top:30vh;animation-duration:24s;opacity:.4}
.a3{width:40vw;height:40vw;background:#3a2fb8;left:30vw;bottom:-20vw;animation-duration:30s;opacity:.35}
@keyframes drift{to{transform:translate(8vw,6vh) scale(1.2)}}
#px{position:absolute;inset:0;width:100%;height:100%}
/* hero */
.hero{background:transparent;height:420vh}
.hero .stick{perspective:1100px}
.bigword{z-index:3;opacity:0;transition:none;top:auto;will-change:transform,opacity;transform-style:preserve-3d;color:var(--sand);-webkit-text-stroke:0;text-shadow:0 10px 50px rgba(6,20,42,.8);mix-blend-mode:normal}
.bigword.fill{color:transparent;-webkit-text-stroke:2px var(--sand);text-shadow:none}
.bigword.on,.bigword.on.fill{opacity:inherit}
.halo{position:absolute;z-index:1;width:min(620px,110vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(30,79,216,.65),rgba(30,79,216,.15) 45%,transparent 70%);filter:blur(10px);animation:pulse 6s ease-in-out infinite alternate}
@keyframes pulse{to{transform:scale(1.12);opacity:.8}}
.portrait,.about-photo{border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;
 -webkit-mask-image:radial-gradient(ellipse 46% 44% at 50% 52%,#000 20%,rgba(0,0,0,.6) 50%,transparent 75%);mask-image:radial-gradient(ellipse 46% 44% at 50% 52%,#000 20%,rgba(0,0,0,.6) 50%,transparent 75%)}
.portrait{width:min(420px,70vw);will-change:transform}
.portrait img,.about-photo img{filter:saturate(.75) contrast(1.06) brightness(.95)}
.portrait::after,.about-photo::after{background:linear-gradient(180deg,rgba(11,31,58,.55),rgba(30,79,216,.25) 40%,rgba(6,20,42,.9) 100%)!important;mix-blend-mode:multiply}
.portrait::before,.about-photo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,#1E4FD8,#0B1F3A);mix-blend-mode:color;opacity:.35}
.hero-copy{z-index:4}.hero-copy h1{text-shadow:0 4px 30px rgba(6,20,42,.9)}
.prog i.on{background:var(--sand)}
/* sections go transparent on the blue scene */
section,.dark{background:transparent;color:var(--sand)}
.eyebrow,.dark .eyebrow{color:#9db8ff}
.lead,.dark .lead{color:var(--muted)}
.intro .big em{color:#9db8ff}
.marquee{background:linear-gradient(90deg,rgba(30,79,216,.15),rgba(30,79,216,.55),rgba(30,79,216,.15));border-block:1px solid rgba(157,184,255,.3);backdrop-filter:blur(6px);transform:rotate(-2deg) scale(1.04);margin:40px 0}
.track span::after{color:var(--sand2)}
.marquee.m2{transform:rotate(2deg) scale(1.04);margin-top:-30px}
.glass,.pillar,.facts,.card,.row,details,.certs span{background:rgba(16,42,76,.45)!important;border:1px solid rgba(157,184,255,.18);backdrop-filter:blur(12px);color:var(--sand)}
.pillar{border-top:3px solid var(--blue)}
.card{box-shadow:0 20px 50px rgba(0,0,0,.35);transform-style:preserve-3d}
.card:hover{box-shadow:0 30px 70px rgba(30,79,216,.35)}
.card p,.row p,.job ul{color:var(--muted)}.card .d{color:var(--sand)}
.badge{background:var(--sand2)}.chips span{background:rgba(30,79,216,.35)}
.row .s,.job small{color:#9db8ff}.job{border-color:rgba(157,184,255,.15)}
.filters button{border-color:var(--sand2);color:var(--sand)}.filters button.on{background:var(--sand);color:var(--navy)}
.contact .btn.ghost{color:var(--sand)!important;border-color:var(--sand2)!important}
footer{color:var(--muted)}
.about-photo{max-width:420px}
/* split-text reveal */
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.w>span{display:inline-block;transform:translateY(110%) rotateX(-80deg);transform-origin:50% 100%;opacity:0;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .9s}
h2.split.in .w>span{transform:none;opacity:1}
.reveal{transform:translateY(60px) scale(.97)}
@media (max-width:820px){.portrait{width:min(300px,78vw);margin-top:12vh}.halo{width:110vw}.marquee{transform:none}.au{filter:blur(60px)}.bigword{top:auto}}
@media (prefers-reduced-motion:reduce){.w>span{transform:none;opacity:1}.bigword{opacity:.95!important}.marquee{transform:none}}
.card.reveal,.pillar.reveal,.row.reveal{transition:opacity .4s,box-shadow .35s!important}
