:root {
  --bg:#06111f; --bg-raised:#0a1b2f; --panel:rgba(10,28,48,.78); --panel-solid:#0b2036; --text:#edf7ff; --muted:#9bb0c5; --dim:#66819b; --line:rgba(107,180,221,.23); --cyan:#5de2ff; --cyan-soft:#b9f4ff; --magenta:#e66dff; --orange:#ff9a5b; --red:#ff667d; --shadow:0 24px 70px rgba(0,0,0,.35); --ease:cubic-bezier(.2,.75,.2,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;color:var(--text);background:var(--bg);font-family:"DM Sans",sans-serif}body::before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(circle at 82% 4%,rgba(20,115,157,.34),transparent 28%),radial-gradient(circle at 8% 32%,rgba(83,30,113,.2),transparent 27%),linear-gradient(180deg,#08182a 0%,var(--bg) 48%,#06101b 100%)}body::after{content:"";position:fixed;inset:0;z-index:12;pointer-events:none;opacity:.045;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(185,244,255,.35) 4px,transparent 5px);mix-blend-mode:screen}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.skip-link{position:fixed;top:10px;left:14px;z-index:100;padding:10px 13px;color:#04121f;background:var(--cyan-soft);transform:translateY(-160%);transition:transform .2s var(--ease)}.skip-link:focus{transform:none}
.ambient-layer{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.ambient-layer::before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(103,203,242,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(103,203,242,.3) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 74%)}.ambient-streak{position:absolute;display:block;width:34vw;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.18;transform:rotate(-28deg);filter:blur(.3px)}.streak-one{top:23%;right:-8%}.streak-two{top:63%;left:-16%;background:linear-gradient(90deg,transparent,var(--magenta),transparent)}.ambient-particle{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--cyan-soft);box-shadow:0 0 14px 3px rgba(93,226,255,.7);opacity:.55}.particle-one{top:19%;left:14%}.particle-two{top:47%;right:12%;background:var(--magenta);box-shadow:0 0 14px 3px rgba(230,109,255,.6)}.particle-three{top:78%;left:7%;background:var(--orange)}
.site-header{position:relative;z-index:20;display:flex;min-height:78px;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,92px);border-bottom:1px solid var(--line);background:rgba(6,17,31,.76);backdrop-filter:blur(16px)}.logo{display:inline-flex;align-items:center;gap:10px;color:var(--text);font:700 16px "Space Grotesk",sans-serif}.logo span{display:grid;width:31px;height:31px;place-items:center;border:1px solid var(--cyan-soft);border-radius:50%;color:#04121f;background:var(--cyan);font-size:10px;box-shadow:0 0 22px rgba(93,226,255,.3)}.site-nav{display:flex;gap:26px;color:var(--muted);font-size:12px}.site-nav a{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 0;transition:color .25s ease,text-shadow .25s ease}.site-nav a small{color:var(--dim);font:700 8px "Space Grotesk",sans-serif;letter-spacing:.08em}.site-nav a::after{content:"";position:absolute;right:0;bottom:0;left:16px;height:1px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}.site-nav a:hover,.site-nav a.is-active{color:var(--text);text-shadow:0 0 14px rgba(93,226,255,.55)}.site-nav a:hover small,.site-nav a.is-active small{color:var(--cyan)}.site-nav a:hover::after,.site-nav a.is-active::after{transform:scaleX(1);transform-origin:left}.menu-toggle{display:none;width:40px;height:38px;padding:8px;border:1px solid var(--line);color:var(--text);background:rgba(10,28,48,.7);cursor:pointer}.menu-toggle span{display:block;width:20px;height:1px;margin:5px auto;background:currentColor;transition:transform .25s ease,opacity .2s ease}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
main{width:min(1100px,87vw);margin:auto}.hero{position:relative;display:grid;min-height:650px;grid-template-columns:1.02fr .98fr;align-items:center;gap:34px;padding:72px 0 88px}.hero-gate{position:absolute;inset:0 auto 0 0;z-index:4;display:flex;width:58%;flex-direction:column;justify-content:center;align-items:flex-start}.gate-kicker,.eyebrow,.section-number,.project-kicker{color:var(--cyan);font:800 10px "Space Grotesk",sans-serif;letter-spacing:.16em;text-transform:uppercase}.gate-kicker{margin-bottom:19px}.hero-gate h2{margin-bottom:18px;font:600 clamp(42px,5.3vw,70px)/.95 "Space Grotesk",sans-serif;letter-spacing:-.07em}.hero-gate h2 em,h1 em,h2 em{color:var(--cyan);font-style:normal}.gate-note{max-width:300px;margin-bottom:25px;color:var(--muted);font-size:13px;line-height:1.65}.system-readout{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:13px;color:var(--dim);font:700 8px "Space Grotesk",sans-serif;letter-spacing:.12em}.system-readout span:first-child{color:var(--orange)}.boot-progress{width:min(280px,100%);height:2px;margin-bottom:21px;overflow:hidden;background:rgba(93,226,255,.15)}.boot-progress i{display:block;width:40%;height:100%;background:var(--cyan);box-shadow:0 0 12px var(--cyan);animation:bootPulse 1.4s ease-in-out infinite}.gate-button,.button{position:relative;display:inline-flex;align-items:center;gap:17px;border:1px solid var(--cyan);color:#04121f;background:var(--cyan);cursor:pointer;font-size:12px;font-weight:800}.gate-button{min-height:46px;padding:0 19px;box-shadow:0 0 0 1px rgba(93,226,255,.2),0 0 26px rgba(93,226,255,.25);transition:transform .25s var(--ease),background .25s ease,box-shadow .25s ease}.gate-button::before{content:"";position:absolute;inset:3px;border:1px solid rgba(4,18,31,.4);pointer-events:none}.gate-button:hover{background:var(--cyan-soft);box-shadow:0 0 0 2px rgba(93,226,255,.35),0 0 34px rgba(93,226,255,.55);transform:translateY(-2px)}.gate-button:active{transform:scale(.96)}.gate-button span,.button span,.text-link span,.email-link span{font-size:17px;font-weight:400;transition:transform .25s var(--ease)}.gate-button:hover span,.button:hover span,.text-link:hover span,.email-link:hover span{transform:translate(3px,-3px)}.hero-copy{position:relative;z-index:2}.hero-eyebrow{margin:0}.status-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#71e29d;box-shadow:0 0 12px #71e29d}.hero-status{margin-left:12px;color:var(--dim);font-size:8px;letter-spacing:.12em}.hero-status::before{content:"// ";color:var(--orange)}h1{max-width:650px;margin:18px 0 25px;font:600 clamp(52px,7.3vw,90px)/.92 "Space Grotesk",sans-serif;letter-spacing:-.08em}.headline-line{display:block}.hero-intro{max-width:470px;margin-bottom:0;color:var(--muted);font-size:15px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:31px}.button{min-height:45px;padding:0 17px;box-shadow:0 0 22px rgba(93,226,255,.17)}.button:hover{background:var(--cyan-soft)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.text-link:hover,.email-link:hover{color:var(--cyan)}
.hero-art{position:relative;justify-self:end;width:min(100%,445px);aspect-ratio:1;overflow:hidden;isolation:isolate;border:1px solid rgba(117,221,255,.42);border-radius:47% 53% 57% 43%;background:linear-gradient(145deg,#12385b,#081524);box-shadow:0 0 70px rgba(27,174,222,.22),inset 0 0 60px rgba(0,0,0,.25);transform:rotate(7deg)}.hero-art::before{content:"";position:absolute;inset:0;z-index:6;background:linear-gradient(120deg,rgba(93,226,255,.16),transparent 35%,rgba(230,109,255,.12));pointer-events:none}.hero-art::after{content:"";position:absolute;inset:0;z-index:7;opacity:.25;background:linear-gradient(transparent 48%,rgba(185,244,255,.18) 49%,transparent 51%);background-size:100% 14px;mix-blend-mode:screen;pointer-events:none}.art-grid{position:absolute;inset:-15%;opacity:.32;background-image:linear-gradient(rgba(128,218,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(128,218,255,.18) 1px,transparent 1px);background-size:30px 30px;transform:perspective(280px) rotateX(58deg) rotateZ(-10deg) translateY(27%);transform-origin:center bottom}.art-glow{position:absolute;inset:25% 17%;border-radius:50%;background:radial-gradient(circle,rgba(93,226,255,.24),transparent 67%);filter:blur(12px)}.orb{position:absolute;border-radius:50%}.orb-main{top:19%;left:22%;width:55%;aspect-ratio:1;background:radial-gradient(circle at 34% 25%,#d7fbff 0 2%,var(--cyan) 4%,#2488b1 63%,#152742 100%);box-shadow:24px 23px 0 rgba(255,154,91,.42),0 0 40px rgba(93,226,255,.55)}.orb-small{top:17%;right:16%;width:16%;aspect-ratio:1;background:var(--magenta);box-shadow:0 0 22px rgba(230,109,255,.8)}.orbit{position:absolute;border:1px solid rgba(185,244,255,.6);border-radius:50%}.orbit-one{top:39%;left:10%;width:80%;height:34%;transform:rotate(37deg)}.orbit-two{top:12%;left:29%;width:42%;height:78%;transform:rotate(-34deg)}.tech-scan{position:absolute;inset:12%;z-index:5;border:1px solid rgba(185,244,255,.35);border-radius:50%}.tech-scan::before,.tech-scan::after{content:"";position:absolute;background:rgba(185,244,255,.6)}.tech-scan::before{top:50%;right:-7px;left:-7px;height:1px}.tech-scan::after{top:-7px;bottom:-7px;left:50%;width:1px}.coord-label{position:absolute;top:13%;left:12%;z-index:8;color:var(--cyan-soft);font:700 8px/1.5 "Space Grotesk",sans-serif;letter-spacing:.12em}.art-label{position:absolute;right:14%;bottom:16%;z-index:8;color:#e7fbff;font:700 25px/.8 "Space Grotesk",sans-serif;text-shadow:0 0 16px rgba(93,226,255,.8)}.art-label small{color:var(--cyan-soft);font:500 10px "DM Sans",sans-serif;letter-spacing:.08em}
.intro-strip,.now-section,.interests-section,.work-section,.contact-section{position:relative;overflow:hidden;border-top:1px solid var(--line)}.intro-strip{display:grid;grid-template-columns:.34fr .82fr .72fr;align-items:center;gap:34px;padding:82px 0}.section-number{margin:0}.section-copy{max-width:500px;margin-bottom:0;color:var(--muted);font-size:15px;line-height:1.8}.intro-strip h2,.contact-section h2{margin-bottom:21px;font:600 clamp(35px,4.2vw,58px)/.96 "Space Grotesk",sans-serif;letter-spacing:-.07em}.intro-strip h2 span{color:var(--muted)}.about-caption{display:block;margin-top:25px;color:var(--orange);font:800 9px "Space Grotesk",sans-serif;letter-spacing:.15em}.intro-strip::after{content:"+";position:absolute;top:32%;right:2%;color:var(--cyan);font:400 28px "Space Grotesk",sans-serif;opacity:.6}.profile-photo{position:relative;width:min(100%,230px);margin:0 0 0 auto}.photo-frame{position:relative;overflow:hidden;padding:8px;border:1px solid var(--cyan);background:var(--panel-solid);box-shadow:12px 12px 0 var(--orange);transform:rotate(2deg);transition:transform .4s var(--ease),box-shadow .4s ease}.profile-photo:hover .photo-frame{box-shadow:15px 15px 0 var(--magenta);transform:rotate(-1deg) translateY(-5px)}.photo-frame img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 38%;filter:saturate(.85) contrast(1.08) sepia(.05)}.photo-frame::after{content:"";position:absolute;inset:8px;pointer-events:none;background:linear-gradient(145deg,transparent 54%,rgba(93,226,255,.2));mix-blend-mode:screen}.photo-corner{position:absolute;z-index:1;color:#fff;font:800 8px "Space Grotesk",sans-serif;letter-spacing:.12em;text-shadow:0 1px 4px #000}.photo-corner-top{top:15px;left:15px}.photo-corner-bottom{right:15px;bottom:15px}.profile-photo figcaption{margin-top:17px;color:var(--muted);font-size:10px;font-style:italic;text-align:right}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.section-note{margin:0;color:var(--muted);font-size:12px}.now-section{padding:77px 0 91px}.now-section::before{content:"";position:absolute;top:91px;right:-55px;width:170px;height:170px;border:1px solid var(--line);border-radius:50%}.now-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.now-card{position:relative;min-height:225px;padding:23px 22px;border:1px solid var(--line);background:rgba(10,28,48,.3);transition:transform .35s var(--ease),border-color .35s ease,box-shadow .35s ease}.now-card:hover{border-color:rgba(93,226,255,.58);box-shadow:var(--shadow);transform:translateY(-4px)}.now-index{color:var(--orange);font:800 10px "Space Grotesk",sans-serif;letter-spacing:.12em}.now-card h3{max-width:175px;margin:54px 0 12px;font:600 22px/1.05 "Space Grotesk",sans-serif;letter-spacing:-.04em}.now-card p{max-width:245px;margin:0;color:var(--muted);font-size:12px;line-height:1.65}.card-arrow{position:absolute;top:20px;right:21px;color:var(--cyan);font-size:18px;transition:transform .25s var(--ease)}.now-card:hover .card-arrow{transform:translate(3px,-3px)}
.interests-section,.work-section{padding:77px 0}.interest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.interest-card{position:relative;min-height:195px;padding:20px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(20,53,78,.84),rgba(8,25,43,.88));transition:transform .35s var(--ease),border-color .35s ease,box-shadow .35s ease}.interest-card::before{content:"";position:absolute;top:0;right:0;width:34px;height:34px;border-top:1px solid var(--cyan);border-right:1px solid var(--cyan);opacity:.6;transition:width .3s var(--ease),height .3s var(--ease)}.interest-card::after{content:"";position:absolute;right:20px;bottom:20px;left:20px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);opacity:.2}.interest-card:hover{border-color:rgba(93,226,255,.7);box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 28px rgba(93,226,255,.12);transform:translateY(-5px)}.interest-card:hover::before{width:48px;height:48px}.interest-icon{display:block;margin-bottom:50px;color:var(--cyan);font-size:21px;text-shadow:0 0 12px rgba(93,226,255,.6)}.interest-card:nth-child(2) .interest-icon{color:var(--magenta)}.interest-card:nth-child(3) .interest-icon{color:var(--orange)}.interest-card:nth-child(4) .interest-icon{color:#72e8b1}.interest-card h3{margin-bottom:7px;font:600 20px "Space Grotesk",sans-serif}.interest-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.project-card{position:relative;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid rgba(93,226,255,.35);background:#081a2d;box-shadow:var(--shadow)}.project-card::before{content:"SYS / CREATIVE.EXE";position:absolute;top:16px;right:20px;z-index:4;color:var(--dim);font:700 8px "Space Grotesk",sans-serif;letter-spacing:.14em}.project-visual{position:relative;display:grid;min-height:385px;place-items:center;background:radial-gradient(circle at 55% 40%,var(--cyan) 0 7%,transparent 8%),linear-gradient(145deg,#103e63,#081525);transition:filter .35s ease}.project-visual::before,.project-visual::after{content:"";position:absolute;border:1px solid rgba(185,244,255,.22);border-radius:50%}.project-visual::before{width:280px;height:120px;transform:rotate(32deg)}.project-visual::after{width:170px;height:290px;transform:rotate(-25deg)}.project-card:hover .project-visual{filter:saturate(1.2) brightness(1.1)}.pixel-face{position:relative;z-index:1;width:124px;height:138px;padding-top:52px;border-radius:42% 42% 47% 47%;background:#ffd3bb;box-shadow:inset 0 20px #4b344b,inset 0 -14px #ff9eb4,0 0 28px rgba(255,154,91,.22);text-align:center;transform:rotate(-4deg)}.pixel-face i{display:inline-block;width:16px;height:20px;margin:0 8px;border-radius:6px;background:#30283d;box-shadow:inset 4px 4px #fff}.pixel-face b{display:block;margin-top:15px;color:#d96e86;font-size:20px}.project-tag{position:absolute;bottom:21px;left:24px;color:var(--cyan-soft);font:800 9px "Space Grotesk",sans-serif;letter-spacing:.15em}.project-info{align-self:center;padding:45px 48px}.project-kicker{color:var(--magenta)}.project-info h2{margin:17px 0 20px;font:600 45px/.95 "Space Grotesk",sans-serif;letter-spacing:-.06em}.project-info>p:not(.project-kicker){max-width:380px;color:var(--muted);font-size:13px;line-height:1.7}.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.project-meta span{padding:7px 9px;border:1px solid var(--line);border-radius:99px;color:var(--cyan-soft);font-size:10px}.project-cta{display:inline-flex;gap:8px;margin-top:29px;padding-bottom:5px;border-bottom:1px solid var(--cyan);color:var(--cyan-soft);font-size:12px;font-weight:800}
.contact-section{display:grid;grid-template-columns:.55fr 1fr;gap:40px;padding:94px 0}.contact-section::after{content:"";position:absolute;right:-85px;bottom:-105px;width:190px;height:190px;border:1px solid rgba(230,109,255,.4);border-radius:50%}.contact-content h2{margin-bottom:28px}.email-link{display:inline-flex;align-items:center;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--cyan);color:var(--text);font:600 clamp(21px,3vw,34px) "Space Grotesk",sans-serif}.contact-content p{margin-top:24px;color:var(--muted);font-size:13px}footer{display:flex;justify-content:space-between;gap:20px;padding:25px clamp(20px,6vw,92px);border-top:1px solid var(--line);color:var(--muted);font-size:10px}footer span:first-child{color:var(--text);font-weight:800}
.js-enabled .reveal-header{animation:riseIn .55s var(--ease) both}.js-enabled .reveal-on-scroll{opacity:0;transform:translateY(22px);filter:blur(3px);transition:opacity .65s ease,transform .65s var(--ease),filter .65s ease}.js-enabled .reveal-on-scroll.is-visible{opacity:1;transform:none;filter:none}.js-enabled .interest-card:nth-child(2){transition-delay:.06s}.js-enabled .interest-card:nth-child(3){transition-delay:.12s}.js-enabled .interest-card:nth-child(4){transition-delay:.18s}.intro-locked .hero-copy{visibility:hidden;opacity:0;pointer-events:none}.intro-locked .hero-copy>*,.intro-locked .hero-copy .headline-line{opacity:0;animation:none}.intro-locked main>section:not(.hero){visibility:hidden;opacity:0;pointer-events:none}.intro-unlocked main>section:not(.hero){visibility:visible;opacity:1;pointer-events:auto;transition:opacity .5s ease}.intro-locked .site-nav{opacity:.4;pointer-events:none}.intro-unlocked .hero-copy{visibility:visible;opacity:1;pointer-events:auto}.intro-unlocked .hero-copy .hero-eyebrow{animation:riseIn .4s .1s var(--ease) both}.intro-unlocked .hero-copy .headline-line{animation:headlineIn .55s var(--ease) both}.intro-unlocked .hero-copy .headline-line:nth-child(2){animation-delay:.12s}.intro-unlocked .hero-copy .hero-paragraph{animation:riseIn .45s .42s var(--ease) both}.intro-unlocked .hero-copy .hero-action{animation:riseIn .42s var(--ease) both}.intro-unlocked .hero-copy .hero-action:first-child{animation-delay:.63s}.intro-unlocked .hero-copy .hero-action:nth-child(2){animation-delay:.73s}.js-enabled .hero-gate{animation:gateIn .7s .25s var(--ease) both}.intro-unlocked .hero-gate{animation:gateOut .5s var(--ease) both;pointer-events:none}.intro-unlocked .hero-art{animation:artIn .8s .18s var(--ease) both,heroPulse .8s .18s var(--ease) both}
@keyframes riseIn{from{opacity:0;transform:translateY(14px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes headlineIn{from{opacity:0;transform:translateY(22px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes gateIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes gateOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-18px);visibility:hidden}}@keyframes artIn{from{opacity:0;transform:rotate(7deg) scale(.88)}to{opacity:1;transform:rotate(7deg) scale(1)}}@keyframes heroPulse{0%,32%{filter:brightness(1)}44%{filter:brightness(1.55) saturate(1.2)}100%{filter:brightness(1)}}@keyframes bootPulse{0%,100%{transform:translateX(-120%)}50%{transform:translateX(250%)}}@keyframes orbitOne{from{transform:rotate(37deg)}to{transform:rotate(397deg)}}@keyframes orbitTwo{from{transform:rotate(-34deg)}to{transform:rotate(326deg)}}@keyframes scanSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes floatMain{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes floatSmall{0%,100%{transform:translate(0)}50%{transform:translate(-5px,7px)}}@keyframes digitalFloat{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-5px)}}@keyframes eyeBlink{0%,91%,100%{transform:scaleY(1)}94%{transform:scaleY(.12)}}@keyframes rippleOut{to{opacity:0;transform:translate(-50%,-50%) scale(13)}}.js-enabled .hero-art .orb-main{animation:floatMain 11s 1s ease-in-out infinite}.js-enabled .hero-art .orb-small{animation:floatSmall 8s 1.1s ease-in-out infinite}.js-enabled .hero-art .orbit-one{animation:orbitOne 18s linear infinite}.js-enabled .hero-art .orbit-two{animation:orbitTwo 23s linear infinite}.js-enabled .hero-art .tech-scan{animation:scanSpin 14s linear infinite}.js-enabled .pixel-face{animation:digitalFloat 5s ease-in-out infinite}.js-enabled .pixel-face i{animation:eyeBlink 5.8s ease-in-out infinite}.ripple{position:absolute;width:12px;height:12px;border-radius:50%;background:rgba(185,244,255,.55);pointer-events:none;transform:translate(-50%,-50%) scale(0);animation:rippleOut .5s ease-out forwards}
@media (max-width:760px){.site-header{min-height:68px}.site-nav{position:absolute;top:calc(100% + 1px);right:0;left:0;display:none;flex-direction:column;gap:0;padding:8px 20px 14px;border-bottom:1px solid var(--line);background:rgba(6,17,31,.97);box-shadow:0 18px 35px rgba(0,0,0,.3)}.site-nav.is-open{display:flex;animation:riseIn .25s ease both}.site-nav a{padding:13px 0;border-bottom:1px solid var(--line);color:var(--text)}.site-nav a:last-child{border-bottom:0}.menu-toggle{display:block}main{width:min(calc(100% - 34px),560px)}.hero{min-height:680px;grid-template-columns:1fr;padding:40px 0 55px}.hero-art{order:-1;width:min(86vw,390px);justify-self:center}.hero-gate{width:100%;justify-content:flex-end;padding-bottom:28px}.hero-gate h2{font-size:clamp(41px,12vw,61px)}.hero-copy{align-self:start}.hero h1{font-size:clamp(48px,15vw,76px)}.hero-status{display:block;margin:8px 0 0}.intro-strip,.contact-section{grid-template-columns:1fr;gap:25px;padding:58px 0}.profile-photo{width:min(72vw,240px);margin:8px auto 0}.profile-photo figcaption{text-align:center}.now-section{padding:58px 0 66px}.now-grid{grid-template-columns:1fr}.now-card{min-height:185px}.now-card h3{margin-top:39px}.interests-section,.work-section{padding:58px 0}.interest-grid{grid-template-columns:repeat(2,1fr)}.interest-card{min-height:170px}.interest-icon{margin-bottom:31px}.project-card{grid-template-columns:1fr}.project-visual{min-height:280px}.project-info{padding:33px 26px 40px}.project-info h2{font-size:39px}.section-top{align-items:flex-start;flex-direction:column;gap:8px}footer{flex-wrap:wrap}}@media (max-width:420px){.logo{font-size:14px}.hero{min-height:630px}.hero-art{width:88vw}.interest-grid{grid-template-columns:1fr}.interest-card{min-height:145px}.interest-icon{margin-bottom:25px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ambient-streak,.ambient-particle{display:none}body::after{display:none}.boot-progress i,.tech-scan,.pixel-face,.pixel-face i{animation:none}.js-enabled .hero-gate,.intro-unlocked .hero-gate{animation:none}.js-enabled .reveal-header,.js-enabled .reveal-on-scroll,.intro-unlocked .hero-copy>*,.intro-unlocked .hero-copy .headline-line,.js-enabled .hero-art{opacity:1;transform:none;filter:none;animation:none}.intro-unlocked .hero-gate{visibility:hidden;opacity:0}.cursor-ring,.cursor-dot{display:none}}
@media (pointer:fine) and (prefers-reduced-motion:no-preference){body.cursor-enabled{cursor:none}body.cursor-enabled a,body.cursor-enabled button{cursor:none}.cursor-ring,.cursor-dot{position:fixed;z-index:200;pointer-events:none;transform:translate(-50%,-50%)}.cursor-ring{width:25px;height:25px;border:1px solid var(--cyan);border-radius:50%;box-shadow:0 0 14px rgba(93,226,255,.45);opacity:0;transition:width .2s ease,height .2s ease,opacity .2s ease}.cursor-dot{width:4px;height:4px;border-radius:50%;background:var(--orange);box-shadow:0 0 10px var(--orange);opacity:0}.cursor-enabled .cursor-ring,.cursor-enabled .cursor-dot{opacity:1}.cursor-ring.is-hovering{width:38px;height:38px}.cursor-ring.is-button{width:48px;height:48px;background:rgba(93,226,255,.1)}}

.project-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.pet-launch{display:inline-flex;align-items:center;gap:8px;margin-top:29px;padding:0 0 6px;border:0;border-bottom:1px solid var(--magenta);color:var(--magenta);background:transparent;cursor:pointer;font-size:12px;font-weight:800}.pet-launch span{font-size:15px;transition:transform .25s var(--ease)}.pet-launch:hover{color:var(--cyan);border-color:var(--cyan)}.pet-launch:hover span{transform:rotate(20deg) scale(1.15)}
.pet-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(2,9,18,.68);backdrop-filter:blur(8px)}.pet-overlay[hidden]{display:none}.pet-window{width:min(360px,100%);overflow:hidden;border:1px solid rgba(93,226,255,.65);background:#071727;box-shadow:0 0 0 1px rgba(230,109,255,.12),0 24px 70px rgba(0,0,0,.55),0 0 42px rgba(93,226,255,.18)}.pet-window-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid var(--line);color:var(--cyan);font:700 9px "Space Grotesk",sans-serif;letter-spacing:.13em}.pet-close{width:26px;height:26px;border:1px solid var(--line);color:var(--muted);background:transparent;cursor:pointer;font-size:18px;line-height:1}.pet-close:hover{color:var(--text);border-color:var(--cyan)}.pet-stage{position:relative;display:grid;height:300px;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 38%,rgba(93,226,255,.18),transparent 35%),linear-gradient(180deg,#0a2843,#061321)}.pet-stage::before{content:"";position:absolute;inset:0;opacity:.25;background-image:linear-gradient(rgba(93,226,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(93,226,255,.18) 1px,transparent 1px);background-size:28px 28px;transform:perspective(240px) rotateX(58deg) translateY(28%);transform-origin:center bottom}.pet-bubble{position:absolute;top:18px;z-index:5;padding:8px 12px;border:1px solid rgba(93,226,255,.55);border-radius:4px;color:var(--cyan-soft);background:rgba(4,18,31,.82);font-size:11px;box-shadow:0 0 20px rgba(93,226,255,.12)}.web-pet{position:relative;z-index:2;width:150px;height:220px;animation:webPetFloat 4s ease-in-out infinite}.pet-shadow{position:absolute;bottom:4px;left:28px;width:94px;height:11px;border-radius:50%;background:rgba(0,0,0,.35);filter:blur(3px)}.pet-hair{position:absolute;top:25px;left:31px;width:88px;height:84px;border-radius:46% 46% 38% 38%;background:#51374f;box-shadow:-9px 26px 0 -1px #51374f,9px 25px 0 -1px #51374f,0 -9px 0 -2px #744d68}.pet-hair::before{content:"✦";position:absolute;top:7px;left:9px;color:#ffe28a;font-size:17px}.pet-hair::after{content:"";position:absolute;top:0;right:-9px;width:16px;height:16px;border-radius:50%;background:var(--red);box-shadow:-2px 7px 0 #ff9fbd}.pet-face{position:absolute;top:48px;left:43px;width:64px;height:57px;border-radius:42% 42% 48% 48%;background:#ffd8c2;box-shadow:0 0 0 4px #ff8fb2}.pet-face i{position:absolute;top:17px;width:13px;height:15px;border-radius:4px;background:#33293f;box-shadow:inset 4px 4px #fff}.pet-face i:first-child{left:13px}.pet-face i:nth-child(2){right:13px}.pet-face b{position:absolute;bottom:7px;left:25px;color:#d96e86;font-size:14px}.pet-shirt{position:absolute;top:104px;left:40px;width:70px;height:56px;background:repeating-linear-gradient(0deg,#273047 0 7px,#f7f1e9 7px 11px,#b42d45 11px 15px);clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}.pet-arm{position:absolute;top:112px;width:13px;height:39px;border-radius:8px;background:#ffd8c2}.arm-left{left:29px;transform:rotate(8deg)}.arm-right{right:29px;transform:rotate(-8deg)}.pet-pants{position:absolute;top:155px;left:42px;width:66px;height:34px;background:#f5c94a;clip-path:polygon(0 0,100% 0,86% 100%,56% 100%,49% 31%,42% 100%,13% 100%)}.pet-shoe{position:absolute;top:187px;width:30px;height:10px;border-radius:3px 8px 4px 4px;background:#f8f5ff;box-shadow:0 7px 0 #51374f}.shoe-left{left:40px}.shoe-right{right:40px}.pet-spark{position:absolute;color:var(--orange);font-size:16px;animation:petSpark 1.5s ease-in-out infinite}.spark-left{top:92px;left:17px}.spark-right{top:72px;right:12px;color:var(--magenta);animation-delay:.5s}.pet-controls{display:flex;gap:8px;padding:13px 15px;border-top:1px solid var(--line)}.pet-controls button{flex:1;padding:9px 5px;border:1px solid var(--line);color:var(--cyan-soft);background:rgba(10,28,48,.8);cursor:pointer;font-size:11px}.pet-controls button:hover{border-color:var(--cyan);color:var(--text);box-shadow:0 0 16px rgba(93,226,255,.15)}.pet-window.is-opening{animation:petWindowIn .35s var(--ease) both}.pet-window.is-closing{animation:petWindowOut .25s ease both}@keyframes webPetFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes petSpark{0%,100%{opacity:.35;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.12) rotate(15deg)}}@keyframes petWindowIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@keyframes petWindowOut{to{opacity:0;transform:translateY(10px) scale(.97)}}.pet-overlay.is-active .pet-window{animation:petWindowIn .35s var(--ease) both}.pet-overlay.is-active .web-pet{animation:webPetFloat 4s ease-in-out infinite}.web-pet.is-feeding{animation:petFeed 1.1s ease-in-out 2}.web-pet.is-petting{animation:petPet .45s ease-in-out 5}.web-pet.is-dancing{animation:petDance .42s ease-in-out 12}@keyframes petFeed{50%{transform:translate(8px,-7px) rotate(4deg)}}@keyframes petPet{50%{transform:translateY(-4px) scale(1.04)}}@keyframes petDance{25%{transform:translate(-8px,-4px) rotate(-7deg)}75%{transform:translate(8px,-4px) rotate(7deg)}}
@media (max-width:760px){.project-actions{gap:16px}.pet-overlay{padding:14px}.pet-stage{height:270px}}
@media (prefers-reduced-motion:reduce){.web-pet,.pet-spark{animation:none!important}.pet-window{animation:none!important}}

/* Match the original pixel companion: squared silhouette, block face, striped shirt, yellow pants. */
.web-pet{width:170px;height:230px;animation:webPetFloat 4s ease-in-out infinite;image-rendering:pixelated}.pet-shadow{bottom:3px;left:24px;width:122px;height:9px;border-radius:0;filter:none;background:rgba(0,0,0,.35)}.pet-hair{top:18px;left:20px;width:116px;height:104px;border-radius:0;background:#4b344b;box-shadow:-12px 31px 0 #4b344b,12px 31px 0 #4b344b,0 -10px 0 #60405a}.pet-hair::before{top:20px;left:9px;font-size:20px}.pet-hair::after{top:2px;right:-12px;width:22px;height:22px;border-radius:0;background:#ff9fbd;box-shadow:-9px -5px 0 #ff9fbd,-2px 8px 0 #f45f91}.pet-face{top:48px;left:32px;width:92px;height:78px;border:0;border-radius:0;background:#ffd8c2;box-shadow:inset 0 -7px #f59bb1,inset 7px 0 #ffd8c2,inset -7px 0 #ffd8c2}.pet-face::before{content:"";position:absolute;top:48px;left:8px;width:13px;height:8px;background:#f29ca0;box-shadow:63px 0 #f29ca0}.pet-face i{top:26px;width:21px;height:22px;border-radius:0;background:#33293f;box-shadow:inset 5px 5px #fff}.pet-face i:first-child{left:19px}.pet-face i:nth-child(2){right:19px}.pet-face b{bottom:12px;left:39px;color:#d96e86;font-size:18px}.pet-shirt{top:126px;left:24px;width:108px;height:67px;background:repeating-linear-gradient(0deg,#222941 0 10px,#f7f1e9 10px 16px,#b42d45 16px 22px);clip-path:none}.pet-shirt::after{content:"CHAMPION";position:absolute;top:29px;left:27px;color:#b42d45;font:700 7px Arial,sans-serif;letter-spacing:-.03em}.pet-arm{top:132px;width:17px;height:45px;border-radius:0;background:#ffd8c2}.arm-left{left:10px;transform:rotate(0)}.arm-right{right:10px;transform:rotate(0)}.pet-pants{top:190px;left:28px;width:100px;height:37px;background:linear-gradient(90deg,#f5c94a 0 45%,#d9a63b 46% 53%,#f5c94a 54%);clip-path:none}.pet-shoe{top:222px;width:37px;height:11px;border-radius:0;background:#f8f5ff;box-shadow:0 8px 0 #4b344b}.shoe-left{left:26px}.shoe-right{right:26px}.spark-left{top:106px;left:0}.spark-right{top:74px;right:-1px}.pet-overlay.is-active .web-pet.is-feeding{animation:petFeed 1.1s ease-in-out 2}.pet-overlay.is-active .web-pet.is-petting{animation:petPet .45s ease-in-out 5}.pet-overlay.is-active .web-pet.is-dancing{animation:petDance .42s ease-in-out 12}.pet-overlay.is-active .web-pet.is-feeding .arm-right{animation:feedArm .55s ease-in-out 4}.pet-overlay.is-active .web-pet.is-petting .pet-face{animation:petFace .45s ease-in-out 5}.pet-overlay.is-active .web-pet.is-dancing .arm-left,.pet-overlay.is-active .web-pet.is-dancing .arm-right{animation:danceArm .42s ease-in-out 12 alternate}
@keyframes feedArm{50%{transform:translate(-12px,-15px) rotate(-24deg)}}@keyframes petFace{50%{transform:scale(1.04)}}@keyframes danceArm{to{transform:translateY(-15px) rotate(22deg)}}

/* CINEMATIC NEON CITY PASS — original visual identity, inspired by rainy sci-fi city atmospheres. */
:root{--bg:#030811;--bg-raised:#081526;--panel:rgba(7,19,35,.82);--line:rgba(104,198,236,.3);--cyan:#58e5ff;--cyan-soft:#c8f7ff;--magenta:#ff5bd6;--orange:#ff8b4d;--red:#ff4e6a;--text:#f2f7ff;--muted:#9bb0c5;--dim:#69839d}
body{background:radial-gradient(ellipse at 13% 20%,rgba(0,115,183,.18),transparent 32%),radial-gradient(ellipse at 90% 35%,rgba(176,18,140,.13),transparent 28%),linear-gradient(115deg,#030811 0%,#071728 48%,#040812 100%)}body::before{opacity:.55;background-image:linear-gradient(rgba(87,201,243,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(87,201,243,.13) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black 0 45%,transparent 90%)}body::after{opacity:.07;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(202,247,255,.55) 3px,transparent 4px)}.site-header{min-height:84px;border-bottom-color:rgba(107,218,255,.33);background:linear-gradient(90deg,rgba(3,8,17,.97),rgba(4,20,35,.83),rgba(3,8,17,.97));box-shadow:0 10px 35px rgba(0,0,0,.24)}.site-header::before{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:linear-gradient(90deg,transparent 0 14%,var(--cyan) 14% 31%,transparent 31% 67%,var(--magenta) 67% 79%,transparent 79%);opacity:.65}.logo{letter-spacing:.02em}.logo span{border-radius:4px;background:linear-gradient(135deg,var(--cyan),#1c7ef0);box-shadow:0 0 24px rgba(88,229,255,.45)}.site-nav a{font:700 10px "Space Grotesk",sans-serif;letter-spacing:.08em;text-transform:uppercase}.site-nav a::before{content:"";position:absolute;top:0;left:0;width:3px;height:3px;background:var(--cyan);opacity:0;transition:opacity .2s}.site-nav a:hover::before,.site-nav a.is-active::before{opacity:1}.menu-toggle{border-radius:2px}
main{width:min(1180px,90vw)}.hero{min-height:720px;grid-template-columns:.95fr 1.05fr;gap:46px;padding:78px 0 94px}.hero::before{content:"// PERSONAL INTERFACE";position:absolute;top:31px;right:0;color:var(--dim);font:700 9px "Space Grotesk",sans-serif;letter-spacing:.2em}.hero::after{content:"01";position:absolute;right:-5%;bottom:17%;color:rgba(88,229,255,.12);font:700 clamp(130px,20vw,250px)/1 "Space Grotesk",sans-serif;letter-spacing:-.15em;pointer-events:none}.hero-gate{width:65%;padding-top:20px}.gate-kicker{color:var(--orange);font-size:10px}.hero-gate h2{font-size:clamp(46px,5.8vw,78px);text-shadow:0 0 34px rgba(88,229,255,.15)}.system-readout{padding:10px 12px;border-left:2px solid var(--cyan);background:linear-gradient(90deg,rgba(88,229,255,.1),transparent);font-size:9px}.boot-progress{height:3px;background:rgba(88,229,255,.12)}.gate-button{border-radius:1px;letter-spacing:.08em;text-transform:uppercase}.hero-copy h1{font-size:clamp(58px,8.2vw,108px);text-shadow:0 0 35px rgba(88,229,255,.14)}.hero-intro{font-size:16px}.hero-actions{gap:18px}.button{border-radius:1px;border-color:var(--cyan);letter-spacing:.06em;text-transform:uppercase}.text-link{font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.hero-art{width:min(100%,580px);border-radius:0;transform:rotate(0);border-color:rgba(88,229,255,.65);background:linear-gradient(180deg,#0b3156 0%,#0b1d35 48%,#050b16 100%);box-shadow:0 0 90px rgba(18,164,225,.2),inset 0 -90px 100px rgba(0,0,0,.8)}.hero-art::before{background:linear-gradient(110deg,rgba(88,229,255,.2),transparent 36%,rgba(255,91,214,.25)),linear-gradient(180deg,transparent 54%,rgba(255,83,109,.2))}.hero-art::after{opacity:.16}.art-grid{inset:auto -20% -15%;height:47%;opacity:.42;background-size:42px 42px;transform:perspective(280px) rotateX(62deg) rotateZ(0) translateY(10%)}.art-glow{inset:28% 16% 28%;background:radial-gradient(circle,rgba(88,229,255,.24),rgba(255,91,214,.09) 36%,transparent 68%);filter:blur(20px)}.hero-art .orb-main,.hero-art .orb-small{display:none}.city-haze{position:absolute;inset:34% 0 0;background:linear-gradient(180deg,transparent,rgba(255,70,121,.17) 58%,rgba(2,7,15,.9));filter:blur(4px)}.city-sun{position:absolute;top:23%;left:52%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#ffd5bc 0 3%,#ff7b8e 21%,#ff4e6a 52%,transparent 70%);box-shadow:0 0 65px rgba(255,78,106,.65);transform:translateX(-50%)}.city-buildings{position:absolute;right:0;bottom:26%;left:0;z-index:2;display:flex;height:53%;align-items:flex-end;justify-content:center;gap:8px;padding:0 8%;background:linear-gradient(180deg,transparent,#06111e 75%)}.city-buildings i{position:relative;display:block;width:13%;height:54%;border:1px solid rgba(88,229,255,.36);background:linear-gradient(100deg,#071828,#12334b 55%,#091322);box-shadow:inset 0 0 18px rgba(88,229,255,.1)}.city-buildings i:nth-child(2){width:18%;height:78%;background:linear-gradient(100deg,#081827,#371b50 62%,#091322)}.city-buildings i:nth-child(3){width:10%;height:95%;border-color:rgba(255,91,214,.45)}.city-buildings i:nth-child(4){width:22%;height:63%;background:linear-gradient(100deg,#091729,#123e63 55%,#101128)}.city-buildings i:nth-child(5){width:12%;height:83%;border-color:rgba(255,139,77,.38)}.city-buildings i::before{content:"";position:absolute;inset:12px 8px;background:repeating-linear-gradient(0deg,transparent 0 13px,rgba(88,229,255,.85) 14px 16px,transparent 17px 26px);opacity:.55}.city-buildings i:nth-child(2)::before,.city-buildings i:nth-child(5)::before{background:repeating-linear-gradient(0deg,transparent 0 16px,rgba(255,91,214,.8) 17px 19px,transparent 20px 33px)}.city-road{position:absolute;right:8%;bottom:0;left:8%;height:28%;z-index:3;background:linear-gradient(180deg,transparent,rgba(10,53,77,.8)),repeating-linear-gradient(90deg,transparent 0 45px,rgba(88,229,255,.4) 46px 47px,transparent 48px 92px);clip-path:polygon(32% 0,68% 0,100% 100%,0 100%);opacity:.8}.signal-label{position:absolute;right:10%;bottom:10%;z-index:9;color:var(--orange);font:700 9px "Space Grotesk",sans-serif;letter-spacing:.16em}.coord-label{top:10%;left:8%;color:var(--cyan-soft);text-shadow:0 0 12px var(--cyan)}.art-label{right:8%;bottom:16%;font-size:29px}.orbit{z-index:6;border-color:rgba(200,247,255,.55)}.tech-scan{z-index:8;inset:10%;border-color:rgba(200,247,255,.28)}
.intro-strip,.now-section,.interests-section,.work-section,.contact-section{border-top-color:rgba(104,198,236,.34)}.section-top{padding-bottom:13px;border-bottom:1px solid rgba(104,198,236,.24)}.section-number{font-size:10px}.section-note{font:500 11px "Space Grotesk",sans-serif;letter-spacing:.08em;text-transform:uppercase}.intro-strip{padding:106px 0}.intro-strip h2,.contact-section h2{font-size:clamp(42px,5vw,68px)}.intro-strip h2 span{color:#667f96}.photo-frame{border-radius:0;box-shadow:12px 12px 0 var(--magenta);transform:rotate(0)}.profile-photo:hover .photo-frame{box-shadow:15px 15px 0 var(--cyan);transform:translateY(-5px)}.now-section{padding:92px 0 108px}.now-card{min-height:255px;border-radius:0;background:linear-gradient(135deg,rgba(10,31,52,.82),rgba(4,13,25,.9));clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}.now-card::before{content:"";position:absolute;top:0;right:0;width:14px;height:14px;border-top:1px solid var(--cyan);border-right:1px solid var(--cyan)}.now-card:hover{border-color:var(--cyan);box-shadow:0 0 30px rgba(88,229,255,.13),var(--shadow)}.interest-card{min-height:220px;border-radius:0;background:linear-gradient(145deg,rgba(8,30,52,.96),rgba(4,13,25,.94));clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,0 100%)}.interest-card::before{width:28px;height:28px}.interest-card:hover{transform:translateY(-8px) scale(1.01)}.interest-card h3{font-size:23px}.project-card{border-radius:0;grid-template-columns:1.05fr .95fr;border-color:rgba(88,229,255,.5)}.project-visual{min-height:450px;background:linear-gradient(180deg,rgba(25,73,102,.2),rgba(3,9,18,.75)),repeating-linear-gradient(90deg,transparent 0 46px,rgba(88,229,255,.12) 47px 48px),linear-gradient(145deg,#0e3859,#080e1b)}.project-visual::before,.project-visual::after{border-color:rgba(255,91,214,.3)}.project-info{padding:56px}.project-info h2{font-size:56px}.project-kicker{color:var(--magenta)}.project-meta span{border-radius:1px;text-transform:uppercase;letter-spacing:.08em}.pet-launch{border-radius:0}.contact-section{padding:110px 0}.email-link{border-bottom-width:2px}.contact-section::after{border-radius:0;transform:rotate(45deg);border-color:rgba(255,91,214,.45)}footer{background:#020711}
@media (max-width:760px){main{width:min(calc(100% - 28px),560px)}.hero{min-height:720px;grid-template-columns:1fr;padding:48px 0 60px}.hero::before{top:18px}.hero::after{right:-14%;bottom:5%;font-size:150px}.hero-art{width:100%;min-height:390px;order:-1}.hero-gate{width:100%;padding-bottom:20px}.hero-copy h1{font-size:clamp(50px,15vw,78px)}.city-sun{width:86px;height:86px}.city-buildings{padding:0 5%}.intro-strip{padding:70px 0}.now-section,.interests-section,.work-section{padding:70px 0}.now-card{min-height:210px}.interest-card{min-height:180px}.project-card{grid-template-columns:1fr}.project-visual{min-height:330px}.project-info{padding:38px 26px}.project-info h2{font-size:44px}.contact-section{padding:76px 0}}
@media (prefers-reduced-motion:reduce){.city-sun,.city-buildings i::before{animation:none}.hero-art{transform:none}}

/* Homepage entrance composition: full-screen, video-like launch scene. */
.intro-locked{background:#020711}.intro-locked .site-header{opacity:0;pointer-events:none;transform:translateY(-18px)}.intro-locked .hero{min-height:100svh;width:min(1420px,94vw);grid-template-columns:.94fr 1.06fr;gap:clamp(28px,5vw,78px);padding:clamp(54px,8vh,100px) 0}.intro-locked .hero::before{top:28px}.intro-locked .hero-gate{width:100%;padding-top:0}.intro-locked .hero-art{width:100%;max-width:none;height:min(79svh,780px);aspect-ratio:auto}.intro-locked .hero-gate h2{max-width:760px;font-size:clamp(52px,6.3vw,112px)}.intro-locked .gate-note{font-size:clamp(14px,1.25vw,18px)}.intro-locked .system-readout{max-width:520px;margin-top:22px}.intro-locked .boot-progress{width:min(520px,100%);margin-top:3px}.intro-locked .hero-art .city-sun{animation:sunPulse 5s ease-in-out infinite}.intro-locked .hero-art .city-haze{animation:hazeDrift 9s ease-in-out infinite}.intro-locked .hero-art .city-road{animation:roadShift 7s ease-in-out infinite}.intro-locked .hero-art .city-buildings i::before{animation:windowFlicker 4.5s steps(2,end) infinite}.intro-locked .hero-art .orbit-one{animation:orbitOne 18s linear infinite,orbitBreathe 6s ease-in-out infinite}.intro-locked .hero-art .orbit-two{animation:orbitTwo 23s linear infinite,orbitBreathe 7s ease-in-out infinite reverse}.intro-locked .hero-art .tech-scan{animation:scanSpin 14s linear infinite,scanBreathe 4s ease-in-out infinite}.intro-locked .hero-art .art-grid{animation:gridDrift 10s ease-in-out infinite}.intro-locked .hero-art .signal-label{animation:signalBlink 2.4s steps(2,end) infinite}.intro-locked .hero-art::before{animation:colorShift 8s ease-in-out infinite}.intro-locked .gate-button{animation:buttonGlow 2.8s ease-in-out infinite}.intro-unlocked .site-header{opacity:1;pointer-events:auto;transform:none;transition:opacity .45s ease,transform .45s var(--ease)}
@keyframes sunPulse{0%,100%{filter:saturate(1) brightness(1);transform:translateX(-50%) scale(1)}50%{filter:saturate(1.25) brightness(1.18);transform:translateX(-50%) scale(1.06)}}@keyframes hazeDrift{0%,100%{opacity:.65;transform:translateX(0)}50%{opacity:.9;transform:translateX(-2%)}}@keyframes roadShift{0%,100%{opacity:.65;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}@keyframes windowFlicker{0%,100%{opacity:.45}37%{opacity:.75}39%{opacity:.25}62%{opacity:.58}}@keyframes orbitBreathe{0%,100%{opacity:.58}50%{opacity:.9}}@keyframes scanBreathe{0%,100%{opacity:.4}50%{opacity:.8}}@keyframes gridDrift{0%,100%{transform:perspective(280px) rotateX(62deg) translateY(10%)}50%{transform:perspective(280px) rotateX(62deg) translateY(15%)}}@keyframes signalBlink{0%,88%,100%{opacity:1}90%{opacity:.35}}@keyframes colorShift{0%,100%{opacity:1}50%{opacity:.7;filter:hue-rotate(12deg)}}@keyframes buttonGlow{0%,100%{box-shadow:0 0 0 1px rgba(93,226,255,.2),0 0 26px rgba(93,226,255,.25)}50%{box-shadow:0 0 0 2px rgba(93,226,255,.42),0 0 42px rgba(93,226,255,.55)}}
@media (max-width:760px){.intro-locked .hero{width:min(calc(100% - 28px),560px);min-height:100svh;grid-template-columns:1fr;gap:20px;padding:32px 0 42px}.intro-locked .hero-art{height:48svh;min-height:320px;order:-1}.intro-locked .hero-gate{justify-content:flex-end}.intro-locked .hero-gate h2{font-size:clamp(43px,12vw,68px)}.intro-locked .system-readout{margin-top:10px}.intro-locked .hero::after{bottom:2%;font-size:140px}}
@media (prefers-reduced-motion:reduce){.intro-locked .hero-art *,.intro-locked .gate-button{animation:none!important}.intro-locked .site-header{opacity:0}.intro-locked .hero{min-height:100svh}}

/* Original system activation transition. */
.activation-layer{position:fixed;inset:0;z-index:70;display:none;overflow:hidden;pointer-events:none;background:radial-gradient(circle at var(--pulse-x,50%) var(--pulse-y,50%),rgba(88,229,255,.16),transparent 18%),rgba(2,8,18,.08)}.activation-started .activation-layer{display:block;animation:activationFade 1.6s ease both}.activation-pulse{position:absolute;top:var(--pulse-y,50%);left:var(--pulse-x,50%);width:18px;height:18px;border-radius:50%;background:var(--cyan-soft);box-shadow:0 0 0 1px var(--cyan),0 0 24px 8px var(--cyan),0 0 90px 25px rgba(88,229,255,.7);transform:translate(-50%,-50%);animation:pulseBurst .75s var(--ease) both}.activation-ring{position:absolute;top:var(--pulse-y,50%);left:var(--pulse-x,50%);border:1px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%) scale(.1);opacity:0;box-shadow:0 0 20px rgba(88,229,255,.45)}.ring-one{width:160px;height:160px;animation:ringExpand .8s .04s var(--ease) both}.ring-two{width:360px;height:360px;border-color:var(--magenta);animation:ringExpand 1.05s .1s var(--ease) both}.activation-scanline{position:absolute;top:-5%;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--cyan-soft) 28%,var(--magenta) 54%,var(--orange) 72%,transparent);box-shadow:0 0 18px 4px var(--cyan);animation:scanAcross 1.05s .12s var(--ease) both}.activation-line{position:absolute;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:0}.line-top,.line-bottom{left:5%;width:90%;height:1px}.line-top{top:18%;animation:lineTop .7s .18s ease both}.line-bottom{bottom:14%;animation:lineBottom .8s .22s ease both}.line-left,.line-right{top:10%;height:80%;width:1px;background:linear-gradient(180deg,transparent,var(--magenta),var(--cyan),transparent)}.line-left{left:8%;animation:lineLeft .75s .18s ease both}.line-right{right:8%;animation:lineRight .75s .24s ease both}.activation-bracket{position:absolute;width:70px;height:70px;border-color:var(--cyan);opacity:0}.bracket-top-left{top:9%;left:6%;border-top:1px solid;border-left:1px solid;animation:bracketIn .5s .2s ease both}.bracket-top-right{top:9%;right:6%;border-top:1px solid;border-right:1px solid;animation:bracketIn .5s .25s ease both}.bracket-bottom-left{bottom:9%;left:6%;border-bottom:1px solid;border-left:1px solid;animation:bracketIn .5s .3s ease both}.bracket-bottom-right{right:6%;bottom:9%;border-right:1px solid;border-bottom:1px solid;animation:bracketIn .5s .35s ease both}.activation-readout{position:absolute;top:50%;left:50%;display:flex;min-width:240px;flex-direction:column;gap:8px;color:var(--cyan-soft);font:700 9px "Space Grotesk",sans-serif;letter-spacing:.18em;text-align:center;transform:translate(-50%,-50%)}.activation-readout span{opacity:0}.activation-readout span:nth-child(1){animation:readoutIn .22s .18s ease forwards}.activation-readout span:nth-child(2){animation:readoutIn .22s .48s ease forwards}.activation-readout span:nth-child(3){animation:readoutIn .22s .78s ease forwards;color:var(--magenta)}.activation-readout span:nth-child(4){animation:readoutIn .22s 1.08s ease forwards;color:var(--orange)}.activation-started .hero-gate{animation:gateActivationOut 1.42s var(--ease) both}.activation-started .hero-art{animation:artActivationPulse 1.2s .08s ease both}.activation-started .ambient-layer{animation:gridActivation 1.2s ease both}.activation-started .activation-status{color:var(--cyan);animation:statusFlash .5s ease both}.activation-started .gate-button{animation:buttonCompress .18s ease both}.activation-started .activation-layer{mix-blend-mode:screen}.profile-active .activation-layer{animation:activationFade .28s ease both}.profile-active .hero-copy{z-index:4}.activation-status{margin:0 0 10px;color:var(--orange);font:700 9px "Space Grotesk",sans-serif;letter-spacing:.16em}.profile-active .activation-status{color:var(--cyan)}
@keyframes pulseBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(15)}}@keyframes ringExpand{0%{opacity:.9;transform:translate(-50%,-50%) scale(.1)}70%{opacity:.65}100%{opacity:0;transform:translate(-50%,-50%) scale(2.5)}}@keyframes scanAcross{0%{opacity:0;transform:translateY(0)}15%{opacity:1}100%{opacity:0;transform:translateY(110vh)}}@keyframes lineTop{from{opacity:0;transform:translateX(-35%)}to{opacity:.9;transform:none}}@keyframes lineBottom{from{opacity:0;transform:translateX(35%)}to{opacity:.7;transform:none}}@keyframes lineLeft{from{opacity:0;transform:translateY(35%)}to{opacity:.7;transform:none}}@keyframes lineRight{from{opacity:0;transform:translateY(-35%)}to{opacity:.8;transform:none}}@keyframes bracketIn{from{opacity:0;transform:scale(.5)}to{opacity:.75;transform:none}}@keyframes readoutIn{from{opacity:0;transform:translateY(7px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes activationFade{0%,77%{opacity:1}100%{opacity:0}}@keyframes gateActivationOut{0%{filter:brightness(1);transform:none}20%{filter:brightness(1.7);transform:scale(.99)}62%{opacity:.85}100%{opacity:0;transform:translateY(-12px) scale(.98);visibility:hidden}}@keyframes artActivationPulse{0%,100%{filter:brightness(1)}35%{filter:brightness(1.45) saturate(1.2)}70%{filter:brightness(1.05)}}@keyframes gridActivation{0%{filter:brightness(1);transform:none}45%{filter:brightness(1.3);transform:scale(1.01)}100%{filter:brightness(1);transform:none}}@keyframes statusFlash{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes buttonCompress{50%{transform:scale(.94);filter:brightness(1.8)}}
.js-enabled.intro-locked .activation-layer{display:none}.js-enabled.intro-locked.activation-started .activation-layer{display:block}.js-enabled.intro-locked.activation-started .hero-gate{pointer-events:none}.js-enabled.intro-locked.activation-started .hero-copy{visibility:hidden}.js-enabled.intro-unlocked .activation-layer{display:none}.reduced-motion .activation-layer{display:none!important}.reduced-motion .activation-status{color:var(--cyan)}
/* JavaScript failure remains usable: expose the content and skip the gate. */
body:not(.js-enabled).intro-locked .hero-gate{display:none}body:not(.js-enabled).intro-locked .hero-copy{visibility:visible;opacity:1;pointer-events:auto}body:not(.js-enabled).intro-locked .hero-copy>*{opacity:1;animation:none}body:not(.js-enabled).intro-locked main>section:not(.hero){visibility:visible;opacity:1;pointer-events:auto}body:not(.js-enabled).intro-locked .site-nav{opacity:1;pointer-events:auto}body:not(.js-enabled) .activation-layer{display:none}
@media (max-width:760px){.activation-ring.ring-two{width:260px;height:260px}.activation-readout{font-size:8px;letter-spacing:.12em}.activation-line.line-left{left:3%}.activation-line.line-right{right:3%}.activation-bracket{width:42px;height:42px}}
@media (prefers-reduced-motion:reduce){.activation-started .hero-gate,.activation-started .hero-art,.activation-started .ambient-layer,.activation-started .gate-button{animation:none!important}.activation-started .hero-gate{visibility:hidden;opacity:0}.reduced-motion .hero-copy{visibility:visible!important;opacity:1!important}.reduced-motion .hero-copy>*{opacity:1!important;animation:none!important}}

/* Holographic traversal: side-to-center light flow with a central vanishing point. */
.activation-tunnel{position:absolute;inset:0;z-index:0;overflow:hidden;perspective:900px;perspective-origin:50% 50%;background:radial-gradient(circle at 50% 50%,rgba(88,229,255,.16),transparent 14%,rgba(2,8,18,.08) 45%,rgba(2,8,18,.72) 100%)}.activation-tunnel::before{content:"";position:absolute;top:50%;left:50%;width:15px;height:15px;border-radius:50%;background:var(--cyan-soft);box-shadow:0 0 16px 5px var(--cyan),0 0 80px 24px rgba(88,229,255,.75);transform:translate(-50%,-50%);animation:vanishingCore 1.5s ease both}.activation-tunnel::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0 28%,rgba(2,8,18,.48) 70%,rgba(2,8,18,.8));pointer-events:none}.tunnel-ray{position:absolute;top:50%;left:50%;width:82vw;height:1px;opacity:0;transform-origin:0 50%;transform:translateY(-50%) rotate(var(--ray-angle)) scaleX(.02);background:linear-gradient(90deg,var(--cyan-soft),var(--ray-color),transparent 78%);box-shadow:0 0 9px var(--ray-color);animation:tunnelRay 1.18s var(--ray-delay) cubic-bezier(.13,.74,.22,1) both}.ray-01{--ray-angle:-169deg;--ray-color:var(--cyan);--ray-delay:.02s}.ray-02{--ray-angle:-153deg;--ray-color:var(--magenta);--ray-delay:.07s}.ray-03{--ray-angle:-137deg;--ray-color:var(--cyan);--ray-delay:.12s}.ray-04{--ray-angle:-121deg;--ray-color:var(--orange);--ray-delay:.04s}.ray-05{--ray-angle:-103deg;--ray-color:var(--cyan);--ray-delay:.16s}.ray-06{--ray-angle:-84deg;--ray-color:var(--magenta);--ray-delay:.1s}.ray-07{--ray-angle:-12deg;--ray-color:var(--cyan);--ray-delay:.06s}.ray-08{--ray-angle:13deg;--ray-color:var(--orange);--ray-delay:.14s}.ray-09{--ray-angle:29deg;--ray-color:var(--cyan);--ray-delay:.03s}.ray-10{--ray-angle:47deg;--ray-color:var(--magenta);--ray-delay:.11s}.ray-11{--ray-angle:63deg;--ray-color:var(--cyan);--ray-delay:.18s}.ray-12{--ray-angle:78deg;--ray-color:var(--orange);--ray-delay:.08s}.tunnel-frame{position:absolute;top:50%;left:50%;width:39vw;height:39vw;min-width:260px;min-height:260px;border:1px solid rgba(88,229,255,.55);opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(0);box-shadow:0 0 24px rgba(88,229,255,.25),inset 0 0 24px rgba(88,229,255,.1);animation:tunnelFrame 1.22s var(--frame-delay) cubic-bezier(.16,.78,.2,1) both}.frame-one{--frame-delay:.02s}.frame-two{--frame-delay:.2s;border-color:rgba(255,91,214,.55);transform:translate(-50%,-50%) scale(.08) rotate(45deg)}.frame-three{--frame-delay:.36s;width:58vw;height:58vw;border-color:rgba(255,139,77,.45);transform:translate(-50%,-50%) scale(.08) rotate(22deg)}.holo-panel{position:absolute;top:50%;z-index:3;padding:9px 13px;border:1px solid rgba(88,229,255,.65);color:var(--cyan-soft);background:rgba(4,18,31,.5);font:700 9px "Space Grotesk",sans-serif;letter-spacing:.16em;opacity:0;box-shadow:0 0 18px rgba(88,229,255,.18)}.panel-left{left:5%;transform:translate(-160%,-50%) skewY(-12deg);animation:panelInLeft .95s .12s cubic-bezier(.16,.78,.2,1) both}.panel-right{right:5%;color:var(--magenta);border-color:rgba(255,91,214,.65);transform:translate(160%,-50%) skewY(12deg);animation:panelInRight .95s .22s cubic-bezier(.16,.78,.2,1) both}.activation-started .activation-tunnel{animation:tunnelHold 1.55s ease both}.activation-started .activation-tunnel::after{animation:tunnelVignette 1.55s ease both}.activation-started .activation-readout{z-index:8}.activation-started .activation-pulse{z-index:7}.profile-active .activation-tunnel{opacity:0;transition:opacity .12s ease}.profile-active .activation-layer::after{opacity:0}.activation-layer::after{content:"";position:absolute;inset:0;z-index:9;background:radial-gradient(circle at 50% 50%,rgba(219,251,255,.95),rgba(88,229,255,.3) 9%,transparent 32%);opacity:0;animation:traversalFlash 1.55s 1.2s ease both;pointer-events:none}
@keyframes tunnelRay{0%{opacity:0;transform:translateY(-50%) rotate(var(--ray-angle)) scaleX(.02)}14%{opacity:.95}72%{opacity:.72}100%{opacity:0;transform:translateY(-50%) rotate(var(--ray-angle)) scaleX(1.35)}}@keyframes tunnelFrame{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(0)}18%{opacity:.85}70%{opacity:.35}100%{opacity:0;transform:translate(-50%,-50%) scale(2.05) rotate(48deg)}}@keyframes panelInLeft{0%{opacity:0;transform:translate(-160%,-50%) skewY(-12deg)}35%{opacity:.9}100%{opacity:0;transform:translate(30vw,-50%) skewY(-12deg)}}@keyframes panelInRight{0%{opacity:0;transform:translate(160%,-50%) skewY(12deg)}35%{opacity:.9}100%{opacity:0;transform:translate(-30vw,-50%) skewY(12deg)}}@keyframes vanishingCore{0%{opacity:.2;transform:translate(-50%,-50%) scale(.4)}34%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(10)}}@keyframes tunnelHold{0%,78%{filter:brightness(1)}100%{filter:brightness(1.25)}}@keyframes tunnelVignette{0%,76%{opacity:1}100%{opacity:.2}}@keyframes traversalFlash{0%,74%{opacity:0;transform:scale(.2)}82%{opacity:.9}100%{opacity:0;transform:scale(1.3)}}
@media (max-width:760px){.tunnel-ray{width:120vw}.tunnel-frame{min-width:210px;min-height:210px}.frame-three{width:90vw;height:90vw}.holo-panel{font-size:7px}.panel-left{left:1%}.panel-right{right:1%}.activation-tunnel::after{background:radial-gradient(ellipse at center,transparent 0 22%,rgba(2,8,18,.58) 76%,rgba(2,8,18,.86) 100%)}}
@media (prefers-reduced-motion:reduce){.activation-tunnel,.activation-tunnel::before,.activation-tunnel::after,.tunnel-ray,.tunnel-frame,.holo-panel,.activation-layer::after{animation:none!important;opacity:0!important}}

/* Backflow pass: rays begin wide at the edges and recede into the center. */
.activation-started .tunnel-ray{animation:backflowRay 1.48s var(--ray-delay) cubic-bezier(.18,.72,.22,1) both}.activation-started .tunnel-ray::after{content:"";position:absolute;inset:-3px 0;background:inherit;filter:blur(3px);opacity:.45}.activation-started .tunnel-frame{animation:backflowFrame 1.34s var(--frame-delay) cubic-bezier(.18,.72,.22,1) both}.activation-started .panel-left{animation:backflowPanelLeft 1.18s .1s cubic-bezier(.18,.72,.22,1) both}.activation-started .panel-right{animation:backflowPanelRight 1.18s .16s cubic-bezier(.18,.72,.22,1) both}.activation-tunnel::before{animation:recedeCore 1.48s ease both}.activation-started .activation-readout{animation:readoutRecede 1.48s ease both}
@keyframes backflowRay{0%{opacity:0;transform:translateY(-50%) rotate(var(--ray-angle)) scaleX(1.45)}12%{opacity:.9}52%{opacity:.62}82%{opacity:.3}100%{opacity:0;transform:translateY(-50%) rotate(var(--ray-angle)) scaleX(.025)}}@keyframes backflowFrame{0%{opacity:0;transform:translate(-50%,-50%) scale(1.8) rotate(48deg)}15%{opacity:.7}70%{opacity:.28}100%{opacity:0;transform:translate(-50%,-50%) scale(.06) rotate(0)}}@keyframes backflowPanelLeft{0%{opacity:0;transform:translate(-20vw,-50%) skewY(-12deg)}20%{opacity:.9}100%{opacity:0;transform:translate(32vw,-50%) skewY(-12deg) scale(.6)}}@keyframes backflowPanelRight{0%{opacity:0;transform:translate(20vw,-50%) skewY(12deg)}20%{opacity:.9}100%{opacity:0;transform:translate(-32vw,-50%) skewY(12deg) scale(.6)}}@keyframes recedeCore{0%{opacity:0;transform:translate(-50%,-50%) scale(8)}18%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) scale(.15)}}@keyframes readoutRecede{0%{opacity:0;filter:blur(6px);transform:translate(-50%,-50%) scale(1.25)}22%{opacity:1;filter:none}100%{opacity:0;filter:blur(2px);transform:translate(-50%,-50%) scale(.72)}}
@media (prefers-reduced-motion:reduce){.activation-started .tunnel-ray,.activation-started .tunnel-frame,.activation-started .panel-left,.activation-started .panel-right,.activation-tunnel::before,.activation-started .activation-readout{animation:none!important}}

.activation-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;filter:saturate(1.15) contrast(1.06) brightness(.92);mix-blend-mode:screen;pointer-events:none}.activation-started .activation-video{animation:activationVideoIn 1.65s ease both}.profile-active .activation-video{opacity:0}.activation-tunnel{z-index:2}.activation-readout,.activation-pulse,.activation-ring,.activation-scanline,.activation-line,.activation-bracket{z-index:4}.activation-readout{z-index:8}@keyframes activationVideoIn{0%{opacity:0;transform:scale(1.08)}14%{opacity:.72}72%{opacity:.55}100%{opacity:.08;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.activation-video{display:none!important}}

/* Extended cinematic timing: the supplied activation film and original HUD layers have room to breathe. */
.activation-started .activation-layer{animation-duration:3.2s}.activation-started .activation-video{animation-duration:3.2s}.activation-started .tunnel-ray{animation-duration:2.9s;animation-delay:calc(var(--ray-delay) + .15s)}.activation-started .tunnel-frame{animation-duration:2.8s;animation-delay:calc(var(--frame-delay) + .2s)}.activation-started .panel-left,.activation-started .panel-right{animation-duration:2.75s}.activation-started .activation-scanline{animation-duration:2.45s}.activation-started .activation-line{animation-duration:2.1s}.activation-started .activation-bracket{animation-duration:2.35s}.activation-started .activation-readout span:nth-child(1){animation-delay:.35s}.activation-started .activation-readout span:nth-child(2){animation-delay:1s}.activation-started .activation-readout span:nth-child(3){animation-delay:1.7s}.activation-started .activation-readout span:nth-child(4){animation-delay:2.35s}.activation-started .activation-readout{animation-duration:3.05s}.activation-started .activation-layer::after{animation-duration:3.2s;animation-delay:2.65s}.activation-started .activation-tunnel::before{animation-duration:3s}.activation-started .activation-tunnel::after{animation-duration:3.2s}.activation-started .hero-gate{animation-duration:3.05s}.activation-started .hero-art{animation-duration:2.8s}.activation-started .ambient-layer{animation-duration:2.5s}.activation-started .activation-pulse{animation-duration:1.1s}.activation-started .activation-ring.ring-one{animation-duration:1.7s}.activation-started .activation-ring.ring-two{animation-duration:2.25s}.profile-active .activation-layer{display:none}
.activation-layer{background:rgba(2,8,18,.08)}
.activation-video{z-index:1;object-fit:cover;object-position:center;opacity:0;filter:none;mix-blend-mode:normal;transform:translateZ(0) scale(1.005);backface-visibility:hidden}
.activation-started .activation-video{animation:activationVideoCinematic 3.2s cubic-bezier(.2,.72,.2,1) both}
.activation-tunnel{z-index:2;background:radial-gradient(circle at 50% 50%,rgba(88,229,255,.08),transparent 18%,rgba(2,8,18,.02) 48%,rgba(2,8,18,.28) 100%)}
.activation-tunnel::after{background:radial-gradient(ellipse at center,transparent 0 36%,rgba(2,8,18,.12) 72%,rgba(2,8,18,.38) 100%)}
.activation-started .activation-tunnel::after{animation:tunnelVignetteClean 3.2s ease both}
.activation-started .tunnel-ray{opacity:.72}
.activation-started .tunnel-ray::after{filter:blur(2px);opacity:.25}
.activation-started .tunnel-frame{box-shadow:0 0 16px rgba(88,229,255,.18),inset 0 0 16px rgba(88,229,255,.06)}
.activation-started .holo-panel{background:rgba(4,18,31,.32);box-shadow:0 0 12px rgba(88,229,255,.12)}
.activation-started .activation-scanline{opacity:.72;box-shadow:0 0 12px 2px var(--cyan)}
.activation-started .activation-layer::after{background:radial-gradient(circle at 50% 50%,rgba(219,251,255,.66),rgba(88,229,255,.15) 8%,transparent 25%)}
.profile-active .activation-layer{display:block;opacity:1;animation:activationExit .46s ease both}
.activation-complete{display:none!important}
@keyframes activationVideoCinematic{0%{opacity:0;transform:translateZ(0) scale(1.02)}12%{opacity:.96;transform:translateZ(0) scale(1.008)}78%{opacity:.96;transform:translateZ(0) scale(1)}90%{opacity:.9}100%{opacity:0;transform:translateZ(0) scale(1)}}
@keyframes tunnelVignetteClean{0%,82%{opacity:.35}100%{opacity:.08}}
@keyframes activationExit{from{opacity:1}to{opacity:0;visibility:hidden}}
@media (max-width:760px){.activation-video{object-fit:cover;object-position:center}.activation-started .activation-tunnel::after{opacity:.5}.activation-started .tunnel-ray{opacity:.56}.activation-started .tunnel-frame{opacity:.58}.activation-started .holo-panel{display:none}}
@media (prefers-reduced-motion:reduce){.activation-started .activation-video{animation:none!important;opacity:0!important}.profile-active .activation-layer{display:none!important}}
.profile-signal{position:relative;isolation:isolate;display:block;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--cyan);background:radial-gradient(circle at 50% 45%,rgba(88,229,255,.3),transparent 18%),linear-gradient(145deg,#0b2744 0%,#081322 52%,#050a15 100%);box-shadow:12px 12px 0 var(--magenta),inset 0 0 45px rgba(88,229,255,.14);transform:translateZ(0);transition:transform .4s var(--ease),box-shadow .4s ease}
.profile-signal::before{content:"";position:absolute;inset:0;opacity:.52;background-image:linear-gradient(rgba(88,229,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(88,229,255,.2) 1px,transparent 1px);background-size:22px 22px;transform:perspective(230px) rotateX(60deg) translateY(20%);transform-origin:center bottom}
.profile-signal::after{content:"";position:absolute;inset:8%;border:1px solid rgba(200,247,255,.22);background:linear-gradient(transparent 49.5%,rgba(200,247,255,.24) 50%,transparent 50.5%);background-size:100% 18px;pointer-events:none}
.profile-photo:hover .profile-signal{box-shadow:15px 15px 0 var(--cyan),inset 0 0 45px rgba(88,229,255,.2);transform:translateY(-5px)}
.signal-core{position:absolute;top:39%;left:50%;z-index:2;width:34%;aspect-ratio:1;border:1px solid var(--cyan-soft);border-radius:50%;background:radial-gradient(circle,#d9fbff 0 3%,var(--cyan) 7%,rgba(26,118,164,.65) 44%,transparent 70%);box-shadow:0 0 28px rgba(88,229,255,.75),0 0 80px rgba(88,229,255,.26);transform:translate(-50%,-50%)}
.signal-orbit{position:absolute;top:39%;left:50%;z-index:1;border:1px solid rgba(200,247,255,.62);border-radius:50%;transform:translate(-50%,-50%) rotate(26deg)}
.signal-orbit-one{width:78%;height:25%;animation:signalOrbitOne 12s linear infinite}
.signal-orbit-two{width:30%;height:77%;border-color:rgba(255,91,214,.62);transform:translate(-50%,-50%) rotate(-28deg);animation:signalOrbitTwo 15s linear infinite}
.signal-cross{position:absolute;z-index:3;width:16px;height:16px;color:var(--orange)}
.signal-cross::before,.signal-cross::after{content:"";position:absolute;background:currentColor}
.signal-cross::before{top:7px;left:0;width:16px;height:1px}.signal-cross::after{top:0;left:7px;width:1px;height:16px}
.signal-cross-one{top:19%;right:14%;color:var(--cyan)}.signal-cross-two{bottom:19%;left:13%;color:var(--magenta);transform:scale(.7)}
.signal-readout{position:absolute;z-index:4;color:var(--cyan-soft);font:800 8px "Space Grotesk",sans-serif;letter-spacing:.12em;text-shadow:0 0 10px rgba(88,229,255,.65)}
.signal-readout-top{top:16px;left:15px}.signal-readout-bottom{right:15px;bottom:16px;color:#fff}
@keyframes signalOrbitOne{to{transform:translate(-50%,-50%) rotate(386deg)}}
@keyframes signalOrbitTwo{to{transform:translate(-50%,-50%) rotate(332deg)}}
@media (prefers-reduced-motion:reduce){.signal-orbit-one,.signal-orbit-two{animation:none!important}}
