@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap";:root{--black:#030507;--ink:#080b10;--panel:#0b0f16;--blue:#1778ff;--electric:#45a3ff;--white:#f7f9fc;--muted:#8b96a8;--line:#ffffff1c}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{background:var(--black);color:var(--white);margin:0;font-family:Inter,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--blue);color:#fff}.nav-shell{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(#030507e6,#0305072e,#0000);justify-content:space-between;align-items:center;width:100%;height:76px;padding:0 6vw;display:flex;position:fixed;top:0;left:0}.monogram{letter-spacing:-.06em;font-size:20px;font-weight:800}.monogram span,.section-index,.role-card.active h4{color:var(--electric)}.nav-links{letter-spacing:.08em;align-items:center;gap:34px;font-size:12px;font-weight:600;display:flex}.nav-cta{border:1px solid #45a3ff8c;border-radius:99px;padding:12px 18px}.nav-cta span{margin-left:8px}.menu-button{display:none}.hero{isolation:isolate;align-items:center;min-height:100svh;padding:120px 8vw 80px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-2;background:radial-gradient(circle at 75%,#1778ff1f,#0000 32%),linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/90px 90px,linear-gradient(#ffffff05 1px,#0000 1px) 0 0/90px 90px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.hero-copy{z-index:2;width:min(720px,60vw)}.eyebrow,.section-index{letter-spacing:.22em;font-family:Space Mono,monospace;font-size:10px;font-weight:700}.eyebrow{color:#91a0b8;margin-bottom:32px}.eyebrow:before{content:"";background:var(--blue);width:32px;height:1px;margin:0 12px 3px 0;display:inline-block}h1,h2,h3,p{margin-top:0}.hero h1{letter-spacing:-.07em;margin:0 0 30px;font-size:clamp(50px,8vw,112px);font-weight:700;line-height:.92}.hero h1 span,h2 span{color:#788292}.hero-intro{color:#aeb7c5;max-width:610px;font-size:clamp(16px,1.5vw,21px);line-height:1.65}.hero-actions,.footer-actions{align-items:center;gap:28px;margin-top:40px;display:flex}.primary-button,.outline-button{letter-spacing:.05em;border-radius:99px;justify-content:center;align-items:center;gap:28px;padding:16px 24px;font-size:12px;font-weight:700;transition:all .3s;display:inline-flex}.primary-button{background:var(--blue);box-shadow:0 0 50px #1778ff47}.primary-button:hover{background:#2d88ff;transform:translateY(-2px);box-shadow:0 0 60px #1778ff73}.text-link{color:#aeb7c5;font-size:12px}.text-link span{color:var(--electric);margin-left:8px}.hero-glow{aspect-ratio:1;filter:drop-shadow(0 0 60px #1778ff4d);place-items:center;width:min(58vw,800px);display:grid;position:absolute;top:50%;right:-8vw;transform:translateY(-50%)}.hero-glow:before{content:"";filter:blur(15px);background:radial-gradient(circle,#3094ff73,#10398033 30%,#0000 67%);border-radius:50%;animation:5s ease-in-out infinite breathe;position:absolute;inset:8%}.core{aspect-ratio:1;background:radial-gradient(circle at 40% 30%,#70c0ff,#145cc9 33%,#04122d 70%);border-radius:50%;place-items:center;width:23%;display:grid;box-shadow:inset -20px -20px 40px #0000008c,0 0 90px #086fff}.core span{letter-spacing:-.08em;font-size:clamp(20px,3vw,42px);font-weight:800}.orbit{border:1px solid #449cff40;border-radius:50%;position:absolute;transform:rotate(25deg)}.orbit:after{content:"";background:#77c3ff;border-radius:50%;width:6px;height:6px;position:absolute;top:16%;right:14%;box-shadow:0 0 16px #1c8aff}.orbit.one{animation:15s linear infinite spin;inset:27%}.orbit.two{animation:25s linear infinite reverse spin;inset:16%;transform:rotate(-32deg)}.orbit.three{animation:40s linear infinite spin;inset:5%}.scroll-cue{color:#586275;letter-spacing:.22em;align-items:center;gap:16px;font:9px Space Mono;display:flex;position:absolute;bottom:28px;left:8vw}.scroll-cue i{background:linear-gradient(90deg,var(--blue),transparent);width:50px;height:1px}@keyframes spin{to{transform:rotate(385deg)}}@keyframes breathe{50%{opacity:.8;transform:scale(1.1)}}.statement,.career,.projects,.stack{padding:130px 8vw}.statement{text-align:center;background:linear-gradient(#030507,#080b10 35% 75%,#030507)}.section-index{margin-bottom:36px}.statement h2,.section-head h2,.projects h2,.stack h2,footer h2{letter-spacing:-.06em;margin-bottom:36px;font-size:clamp(38px,5.6vw,82px);line-height:1.02}.statement>p:not(.section-index){color:#9ca7b8;max-width:720px;margin:0 auto;font-size:18px;line-height:1.8}.metrics{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);max-width:900px;margin:85px auto 0;display:grid}.metrics div{border-right:1px solid var(--line);padding:42px 22px 0}.metrics div:last-child{border:none}.metrics strong{letter-spacing:-.05em;font-size:44px;display:block}.metrics span{color:#758094;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.career{overflow:hidden}.section-head{justify-content:space-between;align-items:flex-end;display:flex}.section-head h2{margin:0}.timeline-instruction{color:#647188;letter-spacing:.16em;margin:0 0 6px;font:9px Space Mono}.experience-explorer{grid-template-columns:320px 1fr;gap:70px;min-height:690px;margin-top:80px;display:grid}.timeline-rail{flex-direction:column;justify-content:space-between;padding:15px 0;display:flex;position:relative}.timeline-rail:before{content:"";background:linear-gradient(var(--blue),#1778ff24);width:1px;position:absolute;top:28px;bottom:28px;left:8px}.timeline-stop{text-align:left;color:#697487;cursor:pointer;background:0 0;border:0;grid-template-columns:38px 1fr;padding:18px 0;transition:all .35s;display:grid;position:relative}.timeline-stop>:not(.timeline-dot){grid-column:2}.timeline-dot{z-index:2;background:#030507;border:1px solid #315b90;border-radius:50%;place-items:center;width:17px;height:17px;transition:all .35s;display:grid;position:absolute;top:22px;left:0}.timeline-dot i{background:#315b90;border-radius:50%;width:5px;height:5px;transition:all .35s}.timeline-date{letter-spacing:.13em;margin-bottom:10px;font:9px Space Mono}.timeline-stop strong{color:#8d97a7;margin-bottom:7px;font-size:18px;transition:all .3s}.timeline-stop small{font-size:11px;line-height:1.45}.timeline-stop:hover{color:#9eabc0;transform:translate(8px)}.timeline-stop:hover strong,.timeline-stop.active strong{color:#fff}.timeline-stop.active .timeline-dot{border-color:#64b5ff;box-shadow:0 0 25px #2389ffcc}.timeline-stop.active .timeline-dot i{background:#63b8ff;box-shadow:0 0 10px #168cff}.timeline-stop.active .timeline-date{color:var(--electric)}.mind-map{border:1px solid var(--line);background:radial-gradient(circle at 50% 42%,#1778ff29,#0000 34%),#06090e;min-height:650px;animation:.45s both map-in;position:relative;overflow:hidden}.map-grid{background-image:linear-gradient(#4e97ff0e 1px,#0000 1px),linear-gradient(90deg,#4e97ff0e 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 76%);mask-image:radial-gradient(circle,#000,#0000 76%)}.map-center{aspect-ratio:1;text-align:center;z-index:3;background:radial-gradient(circle at 36% 28%,#267edc,#0d2b58 55%,#071123);border:1px solid #4195ee;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:210px;padding:28px;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 65px #1476ff57,inset 0 0 35px #69b9ff1f}.map-center span{color:#95cbff;letter-spacing:.1em;font:9px Space Mono}.map-center strong{margin:13px 0 7px;font-size:20px;line-height:1.05}.map-center small{color:#a5b3c7;font-size:10px;line-height:1.35}.map-node{z-index:2;background:#080f1ae6;border:1px solid #549df145;width:190px;min-height:92px;padding:18px;animation:.55s both node-in;position:absolute}.map-node:after{content:"";background:linear-gradient(90deg,#236dbb,#236dbb1a);width:95px;height:1px;position:absolute;top:50%}.map-node span{color:#4da6ff;font:8px Space Mono}.map-node p{color:#c0c8d4;margin:9px 0 0;font-size:11px;line-height:1.45}.node-1{top:12%;left:5%}.node-2{animation-delay:80ms;top:12%;right:5%}.node-3{animation-delay:.16s;top:57%;left:5%}.node-4{animation-delay:.24s;top:57%;right:5%}.node-1:after,.node-3:after{transform-origin:0;left:100%;transform:rotate(20deg)}.node-2:after,.node-4:after{transform-origin:100%;background:linear-gradient(270deg,#236dbb,#236dbb1a);right:100%;transform:rotate(-20deg)}.map-summary{border-top:1px solid var(--line);z-index:4;grid-template-columns:1fr auto;align-items:center;gap:24px;padding-top:18px;display:grid;position:absolute;bottom:24px;left:7%;right:7%}.map-summary>p{color:#8490a3;max-width:580px;margin:0;font-size:11px;line-height:1.55}.map-summary .tag-row{justify-content:flex-end;margin:0}.tag-row{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.tag-row span{border:1px solid var(--line);color:#8994a6;padding:8px 10px;font:10px Space Mono}@keyframes map-in{0%{opacity:0;transform:scale(.985)}}@keyframes node-in{0%{opacity:0;transform:translateY(14px)}}.projects{padding-top:80px}.projects-intro{max-width:900px;margin-bottom:90px}.project{border:1px solid var(--line);background:#080c13;grid-template-columns:1fr 1.05fr;min-height:680px;margin-bottom:28px;display:grid;overflow:hidden}.project-content{flex-direction:column;justify-content:center;padding:8vw 7vw;display:flex}.project-label{letter-spacing:.16em;color:#8490a3;font:10px Space Mono}.project-label span{color:var(--electric);margin-right:18px}.project h3{letter-spacing:-.055em;margin:30px 0;font-size:clamp(36px,4.5vw,68px);line-height:1.02}.project-content>p:not(.project-label){color:#9ba6b7;max-width:520px;font-size:15px;line-height:1.75}.project-stack{border-top:1px solid var(--line);color:#718097;margin-top:38px;padding-top:24px;font:10px Space Mono}.project-visual{background:radial-gradient(circle,#123774 0,#061227 40%,#03060a 73%);place-items:center;min-height:500px;display:grid;position:relative;overflow:hidden}.project-grid .project-visual{background-color:#060a10;background-image:linear-gradient(#3684f51f 1px,#0000 1px),linear-gradient(90deg,#3684f51f 1px,#0000 1px);background-size:40px 40px}.project-orbit .project-visual{background:radial-gradient(circle,#263348,#07101c 45%,#030507)}.query-demo{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040912b8;border:1px solid #70bcff59;width:66%;padding:26px;box-shadow:0 40px 100px #00000080,0 0 50px #166fff24}.query-demo span,.query-demo small{color:#6f7e94;text-transform:uppercase;letter-spacing:.13em;font:9px Space Mono;display:block}.query-demo strong{padding:24px 0;font-size:clamp(16px,2vw,25px);display:block}.query-demo i{background:linear-gradient(90deg,var(--blue) 72%,var(--line) 72%);height:1px;margin-bottom:18px;display:block;position:relative}.data-demo{aspect-ratio:1.1;background:radial-gradient(circle at 65% 35%,#2682ff40,#0000 20%);border:1px solid #469bff40;width:70%;position:relative;transform:perspective(700px)rotateX(55deg)rotate(-25deg);box-shadow:0 30px 100px #0009}.map-dot{background:#5bb3ff;border-radius:50%;width:12px;height:12px;position:absolute;box-shadow:0 0 22px #1686ff}.d1{top:30%;left:25%}.d2{top:20%;left:64%}.d3{top:67%;left:54%}.bar{transform-origin:bottom;background:linear-gradient(#43a7ff,#1259bb);width:8%;position:absolute;bottom:12%;transform:rotateX(-55deg)}.b1{height:25%;left:16%}.b2{height:48%;left:30%}.b3{height:35%;left:44%}.b4{height:65%;left:58%}.scan-demo{text-align:center}.face-orbit{aspect-ratio:1;border:1px solid #60aeff40;border-radius:50%;place-items:center;width:280px;display:grid;position:relative;box-shadow:0 0 80px #237aff33}.face-orbit:before,.face-orbit:after{content:"";border:1px solid #5ba8ff40;border-radius:50%;position:absolute;inset:17%}.face-orbit:after{background:radial-gradient(circle at 40% 30%,#539ee5,#12243a 60%);inset:34%}.face-orbit span,.face-orbit i,.face-orbit b{z-index:2;background:#78c4ff;border-radius:50%;width:6px;height:6px;position:absolute;box-shadow:0 0 15px #1590ff}.face-orbit span{top:24%;left:31%}.face-orbit i{top:43%;right:23%}.face-orbit b{bottom:29%;left:34%}.scan-demo small{color:#65b6ff;letter-spacing:.18em;text-transform:uppercase;margin-top:24px;font:9px Space Mono;display:block}.stack{background:#080b10}.stack-heading{max-width:900px}.stack-heading>p:last-child{color:#909bad;max-width:570px;line-height:1.7}.stack-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin-top:80px;display:grid}.stack-group{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:340px;padding:42px}.stack-number{color:var(--blue);font:10px Space Mono}.stack-group h3{margin:28px 0 32px;font-size:28px}.stack-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tech-item{border:1px solid var(--line);background:#ffffff04;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100px;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,background .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.tech-item img{object-fit:contain;filter:saturate(.78);width:34px;height:34px;transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .3s}.tech-item span{color:#9aa5b6;text-align:center;border:0;padding:0 5px;font:9px Space Mono;transition:color .3s}.tech-item i{filter:blur(25px);opacity:0;background:#2087ff52;border-radius:50%;width:55px;height:55px;transition:opacity .3s;position:absolute}.tech-item:hover{z-index:2;background:#1778ff12;border-color:#48a2ff9e;transform:translateY(-7px)scale(1.035);box-shadow:0 18px 45px #00000052}.tech-item:hover img{filter:saturate(1.15);transform:translateY(-3px)rotate(-6deg)scale(1.16)}.tech-item:hover span{color:#fff}.tech-item:hover i{opacity:1}.tech-item.text-only{flex-direction:row;min-height:50px}.tech-item.text-only:hover{transform:translateY(-4px)}.learning{background:#1778ff0a;border:1px solid #1778ff4d;grid-template-columns:auto auto 1fr;align-items:center;gap:18px;margin-top:50px;padding:25px 30px;display:grid}.pulse{background:#39a2ff;border-radius:50%;width:8px;height:8px;animation:1.5s infinite breathe;box-shadow:0 0 15px #1689ff}.learning p{color:#6e7b90;letter-spacing:.15em;margin:0;font:9px Space Mono}.learning strong{font-size:13px;font-weight:500}footer{text-align:center;padding:150px 8vw 40px;position:relative;overflow:hidden}.footer-glow{filter:blur(120px);background:#1364ff33;border-radius:50%;width:700px;height:350px;position:absolute;bottom:-220px;left:50%;transform:translate(-50%)}.footer-copy{color:#939eaf}.footer-actions{justify-content:center}.outline-button{border:1px solid var(--line)}.footer-bottom{border-top:1px solid var(--line);text-align:left;color:#5e687a;letter-spacing:.1em;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:130px;padding-top:30px;font:9px Space Mono;display:grid}.footer-bottom p{margin:0}.footer-bottom>a:last-child{text-align:right}[data-reveal]{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(32px)}[data-reveal].is-visible{opacity:1;transform:none}@media (max-width:800px){.nav-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#030507d1;height:64px;padding:0 20px}.menu-button{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;width:42px;height:42px;display:flex}.menu-button span{background:#fff;width:22px;height:1px}.menu-button span:last-child{width:15px}.nav-links{background:#030507f5;flex-direction:column;align-items:stretch;gap:22px;width:100%;padding:25px 20px 35px;display:none;position:absolute;top:64px;left:0}.nav-links.open{display:flex}.nav-cta{text-align:center}.hero{align-items:flex-end;min-height:880px;padding:110px 22px 90px}.hero-copy{width:100%}.hero h1{font-size:58px}.hero-intro{font-size:16px}.hero-glow{opacity:.85;width:590px;top:29%;right:-270px}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px;margin-top:30px}.primary-button{justify-content:space-between;width:100%}.scroll-cue{left:22px}.statement,.career,.projects,.stack{padding:90px 22px}.statement{text-align:left}.statement h2,.section-head h2,.projects h2,.stack h2,footer h2{font-size:42px}.statement>p:not(.section-index){font-size:15px}.metrics{grid-template-columns:1fr;margin-top:55px}.metrics div{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.metrics div:last-child{border-bottom:0}.metrics strong{font-size:38px}.section-head{display:block}.timeline-instruction{margin-top:28px}.experience-explorer{min-height:0;margin-top:45px;display:block}.timeline-rail{scroll-snap-type:x mandatory;flex-direction:row;gap:8px;padding:0 0 24px;overflow-x:auto}.timeline-rail:before{width:auto;height:1px;inset:8px 12px auto}.timeline-stop{scroll-snap-align:start;flex:0 0 210px;grid-template-columns:28px 1fr;padding:25px 10px 16px}.timeline-dot{top:0;left:10px}.timeline-stop:hover{transform:none}.mind-map{min-height:720px}.map-center{width:180px;top:34%}.map-node{width:42%;min-height:105px;padding:14px}.node-1{top:5%;left:3%}.node-2{top:5%;right:3%}.node-3{top:52%;left:3%}.node-4{top:52%;right:3%}.map-node:after{display:none}.map-summary{display:block;bottom:20px}.map-summary .tag-row{justify-content:flex-start;margin-top:14px}.projects{padding-left:0;padding-right:0}.projects-intro{margin-bottom:55px;padding:0 22px}.project{border-left:0;border-right:0;grid-template-columns:1fr;min-height:0;margin-bottom:14px}.project-content{padding:65px 24px}.project h3{font-size:44px}.project-visual{order:-1;min-height:430px}.query-demo{width:82%}.data-demo{width:78%}.face-orbit{width:220px}.stack-grid{grid-template-columns:1fr;margin-top:55px}.stack-group{min-height:0;padding:32px 20px}.stack-items{grid-template-columns:repeat(2,minmax(0,1fr))}.learning{grid-template-columns:auto 1fr;padding:22px}.learning strong{grid-column:1/-1;line-height:1.5}.footer-actions{flex-direction:column;gap:12px}.outline-button{width:100%}.footer-bottom{grid-template-columns:1fr 1fr;margin-top:90px}.footer-bottom p{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}
