:root{--bg:#020706;--panel:rgba(7,19,18,.72);--line:rgba(117,255,213,.18);--line2:rgba(121,195,255,.15);--green:#62f5b7;--cyan:#54d9ff;--violet:#a58cff;--white:#eefbf6;--muted:#88a099;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif;--pad:clamp(1.25rem,5vw,5.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--sans);overflow-x:hidden}body.booting{overflow:hidden}::selection{background:var(--green);color:#02100b}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;padding:.8rem 1rem;background:var(--green);color:#02100b}.skip-link:focus{top:1rem}.noscript{position:fixed;z-index:1000;inset:auto 1rem 1rem;background:#111;padding:1rem}
#world{position:fixed;inset:0;width:100%;height:100%;z-index:0;outline:0}.noise{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.webgl-fallback{position:fixed;inset:0;z-index:0;background:radial-gradient(circle at 70% 22%,rgba(43,163,131,.16),transparent 28%),linear-gradient(130deg,#020706,#06120f 55%,#020706)}
.boot{position:fixed;inset:0;z-index:900;background:#010403;display:flex;align-items:center;justify-content:center;gap:clamp(3rem,8vw,9rem);transition:opacity .7s,visibility .7s}.boot.done{opacity:0;visibility:hidden}.boot__scanner{width:min(38vw,320px);aspect-ratio:1;position:relative;border:1px solid rgba(98,245,183,.18);border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,transparent 0 18px,rgba(98,245,183,.035) 19px 20px)}.boot__scanner:after{content:"";position:absolute;inset:7%;border-radius:50%;background:conic-gradient(from 180deg,transparent 0 70%,rgba(98,245,183,.16));animation:spin 2s linear infinite}.boot__scanner i{position:absolute;border:1px solid var(--line);border-radius:50%;inset:16%}.boot__scanner i:nth-child(2){inset:30%;border-style:dashed;animation:spin 3s linear infinite reverse}.boot__scanner i:nth-child(3){inset:44%;box-shadow:0 0 30px rgba(98,245,183,.28)}.boot__scanner span{font:500 2rem var(--mono);color:var(--green);z-index:2}.boot__copy{width:min(90vw,430px)}.eyebrow{font:400 .69rem var(--mono);letter-spacing:.18em;color:var(--green);text-transform:uppercase}.boot h2{font-size:clamp(1.4rem,3vw,2.5rem);letter-spacing:-.04em;margin:1rem 0 2rem}.boot ul{list-style:none;padding:0;margin:0 0 2rem;color:#6e847d;font:300 .7rem/2.2 var(--mono);letter-spacing:.14em}.boot li:before{content:"//";color:var(--green);margin-right:1rem}.boot__bar{height:1px;background:#18342b}.boot__bar span{display:block;width:0;height:100%;background:var(--green);box-shadow:0 0 12px var(--green)}.boot__online{opacity:0;font:500 .75rem var(--mono);letter-spacing:.2em;color:var(--green)}
.hud-nav{position:fixed;left:2.2rem;right:2.2rem;top:1.6rem;height:68px;z-index:100;display:flex;align-items:center;padding:0 1.2rem;border:1px solid transparent;transition:.4s}.hud-nav.scrolled{background:rgba(2,9,7,.7);border-color:var(--line);backdrop-filter:blur(20px)}.brand{font-size:1.4rem;font-weight:800;letter-spacing:-.08em}.brand span{color:var(--white)}.brand b{color:var(--green)}.hud-nav nav{display:flex;gap:clamp(1rem,2.5vw,2.4rem);margin:auto}.hud-nav nav a{font:400 .63rem var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#759087;position:relative}.hud-nav nav a:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:-9px;background:var(--green);transition:.35s}.hud-nav nav a:hover,.hud-nav nav a.active{color:var(--white)}.hud-nav nav a.active:after{right:0}.nav-cta{font:400 .66rem var(--mono);letter-spacing:.13em;text-transform:uppercase}.nav-cta span,.system-pill i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);margin-right:.6rem;animation:pulse 1.7s infinite}.nav-progress{position:absolute;bottom:-1px;left:0;right:0;height:1px}.nav-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green),var(--cyan))}.menu-toggle{display:none;background:0;border:0;color:white}.menu-toggle em{position:absolute;clip:rect(0,0,0,0)}
.rail{position:fixed;right:2.6rem;top:50%;transform:translateY(-50%);z-index:80;display:flex;flex-direction:column;align-items:center;gap:.8rem}.rail__label{writing-mode:vertical-rl;font:400 .55rem var(--mono);letter-spacing:.18em;color:#536760;margin-bottom:.6rem}.rail a{font:400 .58rem var(--mono);color:#51635d;transition:.3s}.rail a.active{color:var(--green);text-shadow:0 0 9px var(--green)}.rail__track{height:62px;width:1px;background:#19342c;position:relative}.rail__track i{position:absolute;left:-2px;top:0;width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green)}.corner-data{position:fixed;bottom:1.6rem;z-index:70;display:flex;gap:2rem;color:#4e625c;font:300 .55rem var(--mono);letter-spacing:.12em;pointer-events:none}.corner-data--left{left:2.5rem}.corner-data--right{right:2.5rem}.cursor{position:fixed;z-index:1000;left:0;top:0;pointer-events:none;mix-blend-mode:difference}.cursor i{position:absolute;width:5px;height:5px;border-radius:50%;background:white;transform:translate(-50%,-50%)}.cursor span{position:absolute;width:34px;height:34px;border:1px solid rgba(255,255,255,.7);border-radius:50%;transform:translate(-50%,-50%);transition:width .2s,height .2s,border-radius .2s}.cursor.hover span{width:54px;height:54px;border-color:var(--green)}.cursor.target span{border-radius:2px;border-width:0;width:68px;height:68px;background:linear-gradient(var(--green),var(--green)) left top/12px 1px no-repeat,linear-gradient(var(--green),var(--green)) left top/1px 12px no-repeat,linear-gradient(var(--green),var(--green)) right top/12px 1px no-repeat,linear-gradient(var(--green),var(--green)) right top/1px 12px no-repeat,linear-gradient(var(--green),var(--green)) left bottom/12px 1px no-repeat,linear-gradient(var(--green),var(--green)) left bottom/1px 12px no-repeat,linear-gradient(var(--green),var(--green)) right bottom/12px 1px no-repeat,linear-gradient(var(--green),var(--green)) right bottom/1px 12px no-repeat}
.chapter{position:relative;z-index:2;height:170vh}.chapter__sticky{position:sticky;top:0;height:100vh;min-height:680px;overflow:hidden;padding:clamp(7rem,12vh,9rem) var(--pad) 4rem}.chapter__layout{display:grid;grid-template-columns:.82fr 1.18fr;grid-template-rows:auto 1fr;column-gap:clamp(2rem,7vw,8rem)}.scene-copy{will-change:transform,opacity}.chapter-heading{position:relative;z-index:4;align-self:start}.chapter-heading h2,.contact__copy h2{font-size:clamp(2.35rem,5.2vw,5.8rem);line-height:.96;letter-spacing:-.065em;margin:1.3rem 0 0;font-weight:500}.chapter-heading h2 em,.contact__copy h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(238,251,246,.42)}.chapter-heading>p:last-child{max-width:390px;color:var(--muted);line-height:1.7;font-size:.9rem}
.hero{height:185vh}.hero__layout{display:grid;grid-template-columns:1.1fr .9fr;align-items:center}.hero__copy{position:relative;z-index:4;max-width:780px;padding-left:clamp(0rem,3vw,3rem)}.system-pill{width:max-content;display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border:1px solid var(--line);font:400 .57rem var(--mono);letter-spacing:.12em;color:#9ab8ae;margin-bottom:2rem;background:rgba(2,12,9,.5)}.system-pill b{font-weight:400;color:var(--green);border-left:1px solid var(--line);padding-left:.7rem}.hero__title{margin:1rem 0;line-height:.76;letter-spacing:-.085em}.hero__title .intro{display:block;font-size:clamp(1rem,1.7vw,1.5rem);font-weight:400;letter-spacing:-.02em;margin-bottom:1.6rem;color:#a5b9b2}.hero__title .name{display:block;width:max-content;font-size:clamp(5rem,11.2vw,11rem);font-weight:700}.name--outline{color:transparent;-webkit-text-stroke:1px rgba(238,251,246,.55)}.char{display:inline-block;will-change:transform;transform-origin:0 100%}.role{display:flex;gap:1.2rem;align-items:center;margin:2rem 0 1rem}.role>span{font:400 .6rem var(--mono);padding:.4rem;border:1px solid var(--line);color:var(--green)}.role h2{font-size:clamp(1rem,1.6vw,1.35rem);font-weight:500;margin:0}.hero__lede{max-width:600px;color:var(--muted);font-size:clamp(.9rem,1.3vw,1.05rem);line-height:1.7}.hero__actions,.contact__actions{display:flex;gap:1rem;margin:2.1rem 0}.button{min-height:64px;display:flex;align-items:center;justify-content:center;gap:2rem;padding:0 1.4rem;border:1px solid var(--line);text-transform:uppercase;font:500 .68rem var(--mono);letter-spacing:.12em;position:relative;overflow:hidden}.button--primary{background:var(--green);border-color:var(--green);color:#03130d;min-width:245px;justify-content:space-between}.button--primary:before{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-102%);transition:.45s}.button--primary:hover:before{transform:translateX(0)}.button>*{position:relative}.button small{display:block;font-size:.47rem;letter-spacing:.08em;opacity:.6;margin-bottom:.2rem}.button--ghost:hover{border-color:var(--green);background:rgba(98,245,183,.06)}.hero__meta{display:flex;gap:clamp(1rem,3vw,3rem);margin-top:2rem}.hero__meta span{font:300 .55rem var(--mono);letter-spacing:.08em;color:#637871;text-transform:uppercase}.hero__meta b{color:#b9cbc5;font-size:.75rem;margin-right:.25rem}.identity-hud{justify-self:end;width:min(36vw,470px);aspect-ratio:.78;position:relative;z-index:3;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--line);border-right:1px solid var(--line);background:linear-gradient(90deg,transparent,rgba(5,20,15,.22),transparent)}.bracket{position:absolute;width:25px;height:25px}.bracket--tl{left:-9px;top:-9px;border-left:1px solid var(--green);border-top:1px solid var(--green)}.bracket--tr{right:-9px;top:-9px;border-right:1px solid var(--green);border-top:1px solid var(--green)}.bracket--bl{left:-9px;bottom:-9px;border-left:1px solid var(--green);border-bottom:1px solid var(--green)}.bracket--br{right:-9px;bottom:-9px;border-right:1px solid var(--green);border-bottom:1px solid var(--green)}.identity-hud__top,.identity-hud__foot{display:flex;justify-content:space-between;font:300 .56rem var(--mono);letter-spacing:.11em;color:#688178}.identity-hud__top b{color:var(--green)}.identity-hud__core{text-align:center}.identity-hud__core strong{font-size:clamp(4rem,8vw,7rem);font-weight:300;letter-spacing:-.08em;color:rgba(238,251,246,.16)}.identity-hud__core span{display:block;font:300 .57rem/1.8 var(--mono);letter-spacing:.14em;color:#729087}.scroll-cue{position:absolute;bottom:3.8rem;left:50%;display:flex;align-items:center;gap:1rem;font:300 .56rem var(--mono);letter-spacing:.12em;color:#597068;transform:translateX(-50%)}.scroll-cue i{height:36px;width:1px;background:linear-gradient(var(--green),transparent);animation:scroll 1.8s infinite}
.profile-terminal{grid-column:2;grid-row:1/3;align-self:center;border:1px solid var(--line);background:rgba(3,12,10,.64);backdrop-filter:blur(16px);padding:1.6rem;max-width:700px}.terminal-head{display:flex;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--line);font:400 .58rem var(--mono);letter-spacing:.1em;color:#78958c}.terminal-head i{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:.6rem}.terminal-head b{font-weight:400;color:var(--green)}.terminal-body{padding:1.2rem 0}.terminal-body p{font-size:clamp(.82rem,1.05vw,.98rem);line-height:1.72;color:#9eb2ac;margin:.7rem 0}.terminal-body strong{color:#e6f4ef;font-weight:500}.specializations{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}.specializations span,.project-card li{border:1px solid var(--line);padding:.4rem .55rem;font:300 .52rem var(--mono);letter-spacing:.09em;color:#83a198}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:3rem;padding:.8rem 0;border:none;border-bottom:1px solid var(--green);background:none;color:var(--white);font:400 .62rem var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.text-link span{color:var(--green)}.telemetry{align-self:end;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.telemetry div{background:rgba(3,12,10,.86);padding:1.2rem}.telemetry small,.telemetry span{display:block;font:300 .48rem var(--mono);letter-spacing:.09em;color:#688178}.telemetry strong{font-size:clamp(2rem,4vw,4rem);font-weight:300;letter-spacing:-.06em}.telemetry b{font-weight:300;color:var(--green)}.telemetry span{margin-top:.4rem;color:#4d645c}
.skills{height:210vh}.skill-readout{grid-column:1;align-self:end;border-left:1px solid var(--green);padding-left:1.2rem;display:flex;flex-direction:column}.skill-readout small{font:300 .55rem var(--mono);letter-spacing:.13em;color:#647b73}.skill-readout strong{font-size:clamp(2rem,4vw,4rem);font-weight:300;margin:.35rem 0;color:var(--green)}.skill-readout span{font-size:.8rem;color:#8fa39c}.skill-access{grid-column:2;grid-row:1/3;align-self:center;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:760px}.skill-access li{min-height:132px;background:rgba(3,12,10,.72);padding:1rem;display:flex;flex-direction:column;justify-content:space-between;transition:.35s;cursor:crosshair}.skill-access li:hover,.skill-access li.active{background:rgba(25,87,67,.28);box-shadow:inset 0 0 25px rgba(98,245,183,.08)}.skill-access b,.skill-access small{font:300 .5rem var(--mono);color:#536a62;letter-spacing:.1em}.skill-access span{font-size:1rem}.skill-access li:hover b,.skill-access li:hover small{color:var(--green)}
.projects{height:460vh}.projects .chapter-heading{position:absolute;left:var(--pad);top:clamp(7rem,12vh,9rem)}.project-stage{grid-column:2;grid-row:1/3;position:relative;align-self:center;width:min(58vw,830px);height:min(70vh,650px)}.project-index{position:absolute;right:0;top:-2rem;display:flex;align-items:center;gap:.8rem;font:300 .6rem var(--mono);color:#62766f}.project-index i{width:52px;height:1px;background:var(--line)}.project-index span:first-child{color:var(--green)}.project-cards{position:absolute;inset:0;perspective:1200px}.project-card{position:absolute;inset:0;display:grid;grid-template-columns:.95fr 1.05fr;gap:0;border:1px solid var(--line);background:rgba(3,12,10,.86);backdrop-filter:blur(16px);opacity:0;transform:translate3d(0,80px,-300px) rotateX(-4deg) scale(.88);transition:opacity .6s,transform .8s;pointer-events:none}.project-card.active{opacity:1;transform:translate3d(0,0,0) rotateX(0) scale(1);pointer-events:auto}.project-card.past{opacity:0;transform:translate3d(-100px,-40px,120px) rotateY(-12deg) scale(1.06)}.project-card__number{position:absolute;top:1rem;left:1rem;z-index:2;font:300 .55rem var(--mono);letter-spacing:.12em;color:var(--green)}.project-card__visual{display:grid;place-items:center;position:relative;overflow:hidden;border-right:1px solid var(--line);background:radial-gradient(circle at 50% 50%,rgba(98,245,183,.11),transparent 45%),linear-gradient(135deg,rgba(98,245,183,.04),rgba(84,217,255,.02))}.project-card__visual:before,.project-card__visual:after{content:"";position:absolute;border:1px solid rgba(98,245,183,.2);border-radius:50%;width:70%;aspect-ratio:1}.project-card__visual:after{width:45%;border-style:dashed;animation:spin 18s linear infinite}.project-card__visual span{font:300 clamp(2rem,6vw,5rem) var(--mono);color:rgba(238,251,246,.75);letter-spacing:-.08em}.project-card__visual i{position:absolute;width:1px;height:100%;background:linear-gradient(transparent,var(--green),transparent);animation:scan 3.5s infinite}.project-card__body{padding:clamp(2rem,5vw,4.5rem);align-self:center}.project-card__body>p:first-child{font:300 .55rem var(--mono);letter-spacing:.14em;color:var(--green)}.project-card h3{font-size:clamp(2.1rem,5vw,5rem);letter-spacing:-.06em;line-height:1;margin:1rem 0}.project-card__body>p:nth-of-type(2){color:#8ea49d;line-height:1.65;font-size:.9rem}.project-card ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:.5rem;margin-top:2rem}.project-status{position:absolute;bottom:-2.5rem;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font:300 .52rem var(--mono);letter-spacing:.1em;color:#53675f}.project-status .text-link{padding:.4rem 0;font-size:.52rem}
.experience{height:410vh}.experience .chapter-heading{position:absolute;left:var(--pad);top:clamp(7rem,12vh,9rem)}.career-stage{grid-column:2;grid-row:1/3;align-self:center;position:relative;width:min(61vw,870px);height:min(67vh,610px);perspective:1200px}.career-line{position:absolute;left:54px;top:0;bottom:0;width:1px;background:rgba(165,140,255,.15)}.career-line i{display:block;width:100%;height:0;background:linear-gradient(var(--violet),var(--green));box-shadow:0 0 12px var(--violet)}.career-nodes{position:absolute;inset:0}.career-node{position:absolute;inset:0;display:grid;grid-template-columns:110px 1fr;align-items:center;opacity:0;transform:translate3d(0,70px,-250px) rotateX(-7deg) scale(.9);transition:opacity .6s,transform .8s;pointer-events:none}.career-node.active{opacity:1;transform:none;pointer-events:auto}.career-node.past{opacity:0;transform:translate3d(0,-90px,100px) rotateX(5deg) scale(1.05)}.career-node>span{width:108px;height:108px;border:1px solid var(--violet);border-radius:50%;display:grid;place-items:center;background:#07100e;box-shadow:0 0 30px rgba(165,140,255,.12);font:300 .7rem var(--mono);color:var(--violet)}.career-node>div{border:1px solid rgba(165,140,255,.18);background:rgba(5,11,11,.86);padding:clamp(1.5rem,4vw,3.5rem);backdrop-filter:blur(15px)}.career-node p{font:300 .56rem var(--mono);letter-spacing:.13em;color:var(--violet)}.career-node h3{font-size:clamp(1.7rem,3.2vw,3.5rem);line-height:1.05;letter-spacing:-.05em;margin:.8rem 0}.career-node h4{font-weight:400;color:var(--green);font-size:.86rem}.career-node ul{padding-left:1.1rem;color:#869c94;font-size:.78rem;line-height:1.65}.career-counter{position:absolute;right:0;bottom:-1.5rem;display:flex;align-items:baseline;gap:.45rem}.career-counter small,.career-counter span{font:300 .5rem var(--mono);letter-spacing:.12em;color:#64776f}.career-counter strong{font:300 2.2rem var(--mono);color:var(--violet)}
.contact{height:220vh}.contact__layout{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:1fr auto;gap:2rem 6vw}.contact__copy{align-self:center;position:relative;z-index:4}.contact__copy>p:not(.eyebrow){color:var(--muted);line-height:1.7;max-width:540px}.contact-network{position:relative;align-self:center;justify-self:center;width:min(44vw,570px);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;background:radial-gradient(circle,rgba(98,245,183,.08),transparent 53%)}.contact-network:before,.contact-network:after{content:"";position:absolute;inset:14%;border:1px dashed rgba(84,217,255,.18);border-radius:50%;animation:spin 28s linear infinite}.contact-network:after{inset:31%;border-style:solid;animation-direction:reverse}.contact-network__core{position:absolute;inset:39%;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;box-shadow:0 0 40px rgba(98,245,183,.1)}.contact-network__core span{font:300 2rem var(--mono);color:var(--green)}.contact-network__core small{font:300 .45rem/1.5 var(--mono);letter-spacing:.12em;color:#668078}.social-node{position:absolute;background:rgba(4,14,11,.85);border:1px solid var(--line);padding:.8rem 1rem;min-width:125px;backdrop-filter:blur(12px)}.social-node:before{content:"";position:absolute;width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 9px var(--green)}.social-node b,.social-node small{display:block}.social-node b{font-size:.75rem}.social-node small{font:300 .45rem var(--mono);color:#62796f;margin-top:.3rem}.node-email{left:-4%;top:45%}.node-email:before{right:-4px;top:50%}.node-linkedin{right:2%;top:9%}.node-linkedin:before{left:-4px;bottom:15%}.node-github{right:-3%;bottom:17%}.node-github:before{left:-4px;top:25%}.node-phone{left:14%;bottom:2%}.node-phone:before{right:-4px;top:20%}.contact-form{position:absolute;right:var(--pad);bottom:5.3rem;width:min(43vw,560px);display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem;padding:1rem 1.2rem;border:1px solid var(--line);background:rgba(3,12,10,.82);backdrop-filter:blur(16px)}.contact-form__head{grid-column:1/-1;display:flex;justify-content:space-between;font:300 .5rem var(--mono);letter-spacing:.1em;color:var(--green);padding-bottom:.6rem;border-bottom:1px solid var(--line)}.contact-form__head small{color:#64766f}.contact-form label{display:flex;flex-direction:column;gap:.35rem;font:300 .5rem var(--mono);letter-spacing:.09em;color:#6f867e}.contact-form label:nth-of-type(3){grid-column:1/-1}.contact-form input,.contact-form textarea{background:rgba(255,255,255,.02);border:0;border-bottom:1px solid rgba(255,255,255,.13);color:white;padding:.55rem 0;outline:none;font-size:.75rem;resize:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green)}.contact-form button{width:max-content;padding:.4rem 0}.form-status{font:300 .5rem var(--mono);color:var(--green);margin:auto 0}.footer{position:absolute;bottom:1.3rem;left:var(--pad);right:var(--pad);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;border-top:1px solid var(--line);padding-top:1rem}.footer strong{font-size:1.5rem;color:var(--green)}.footer span,.footer p{font:300 .5rem var(--mono);letter-spacing:.1em;color:#4d625a}.footer p{margin:0}.footer p span{letter-spacing:0}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@keyframes scroll{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}@keyframes scan{0%,100%{transform:translateX(-120px);opacity:0}50%{transform:translateX(120px);opacity:1}}
@media(max-width:1000px){.hud-nav{left:1rem;right:1rem}.hud-nav nav{gap:1rem}.nav-cta{display:none}.rail{right:1rem}.chapter__layout{grid-template-columns:.9fr 1.1fr;column-gap:2rem}.hero__layout{grid-template-columns:1.15fr .85fr}.identity-hud{width:36vw}.project-stage,.career-stage{width:59vw}.contact-form{width:50vw}.corner-data{display:none}}
@media(max-width:760px){:root{--pad:1.2rem}.cursor,.rail,.corner-data{display:none}.hud-nav{top:.7rem;height:56px;padding:0 .85rem}.menu-toggle{display:flex;margin-left:auto;width:34px;height:30px;flex-direction:column;justify-content:center;gap:5px}.menu-toggle span{display:block;height:1px;background:white;width:24px}.hud-nav nav{position:fixed;inset:4.5rem 1rem auto;background:rgba(2,9,7,.96);border:1px solid var(--line);display:none;flex-direction:column;padding:1.5rem;gap:1.4rem}.hud-nav.menu-open nav{display:flex}.chapter{height:auto;min-height:125vh}.chapter__sticky{position:relative;height:auto;min-height:100svh;padding-top:6.5rem;overflow:visible}.chapter__layout,.hero__layout,.contact__layout{display:block}.hero{min-height:145vh}.hero__copy{padding:4vh 0 0}.hero__title .name{font-size:clamp(4.2rem,22vw,7.5rem)}.hero__lede{max-width:85%}.hero__meta{gap:.75rem;flex-wrap:wrap}.hero__meta span{font-size:.48rem}.identity-hud{position:absolute;right:-15%;top:22%;width:66vw;opacity:.27;z-index:0}.hero__copy{z-index:3}.scroll-cue{display:none}.chapter-heading{margin-bottom:2rem}.chapter-heading h2,.contact__copy h2{font-size:clamp(2.6rem,12vw,4.8rem)}.profile-terminal{margin-top:2rem}.telemetry{margin-top:1rem}.telemetry div{padding:.8rem}.telemetry small,.telemetry span{font-size:.4rem}.skill-readout{margin:2rem 0}.skill-access{grid-template-columns:repeat(3,1fr)}.skill-access li{min-height:100px;padding:.7rem}.skills{min-height:150vh}.projects{height:400vh}.experience{height:350vh}.projects .chapter__sticky,.experience .chapter__sticky{position:sticky;height:100svh;min-height:620px;overflow:hidden;padding-top:5.2rem}.projects .chapter-heading,.experience .chapter-heading{position:relative;top:auto;left:auto;margin-bottom:1rem}.projects .chapter-heading h2,.experience .chapter-heading h2{font-size:clamp(2rem,9vw,3.2rem)}.project-stage,.career-stage{width:100%;height:55vh;min-height:360px}.project-card{grid-template-columns:1fr;grid-template-rows:.62fr 1fr}.project-card__visual{border-right:0;border-bottom:1px solid var(--line)}.project-card__body{padding:1.1rem}.project-card h3{font-size:2.25rem;margin:.55rem 0}.project-card__body>p:nth-of-type(2){font-size:.75rem}.project-card ul{margin-top:.8rem}.project-status{bottom:-1.5rem}.career-node{grid-template-columns:54px 1fr}.career-node>span{width:54px;height:54px}.career-node>div{padding:1.1rem}.career-node h3{font-size:1.5rem}.career-node ul{font-size:.7rem}.career-line{left:27px}.contact{min-height:190vh}.contact__copy{padding-top:4vh}.contact-network{width:88vw;margin:4rem auto 12rem}.contact-form{position:relative;right:auto;bottom:auto;width:100%;grid-template-columns:1fr;margin-top:2rem}.contact-form label{grid-column:1/-1}.footer{position:relative;left:auto;right:auto;bottom:auto;grid-template-columns:1fr;gap:.5rem;margin-top:3rem}.boot{flex-direction:column;gap:2rem}.boot__scanner{width:190px}.boot__copy{padding:0 1.2rem}.system-pill{font-size:.48rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.chapter{height:auto!important;min-height:100vh}.chapter__sticky{position:relative}.scene-copy{opacity:1!important;transform:none!important}}

/* Keep the contact portal and transmission panel in separate layout regions. */
.corner-data{transition:opacity .3s}.contact-active .corner-data{opacity:0}
@media(min-width:761px){
  .contact__layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:minmax(0,1fr) auto;column-gap:5vw;row-gap:1rem}
  .contact__copy{grid-column:1;grid-row:1/3;align-self:center;padding-bottom:2rem}
  .contact__copy h2{font-size:clamp(2.35rem,4.6vw,5.3rem)}
  .contact-network{grid-column:2;grid-row:1;align-self:center;width:min(34vw,440px);margin:0 auto}
  .contact-form{position:relative;grid-column:2;grid-row:2;right:auto;bottom:auto;align-self:end;justify-self:center;width:min(100%,620px);z-index:6;gap:.5rem 1rem;padding:.85rem 1rem}
  .contact-form input,.contact-form textarea{padding:.4rem 0}
  .contact-form textarea{height:48px}
}

/* Portrait-led command center hero. */
@media(min-width:1201px){
  .hero__layout{grid-template-columns:minmax(470px,.95fr) minmax(390px,.78fr) minmax(235px,.43fr);gap:0;align-items:center}
  .hero__copy{grid-column:1;max-width:640px;padding-left:0;z-index:5}
  .hero__title .name{font-size:clamp(5.5rem,8.35vw,8.3rem)}
  .hero__lede{max-width:530px}
  .hero-portrait{grid-column:2;align-self:end;justify-self:center;position:relative;z-index:2;width:min(53vw,820px);height:86vh;min-height:660px;margin:0 -26% -4rem -24%;pointer-events:none}
  .hero-intel{grid-column:3;z-index:6}
}
.hero-portrait__frame{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0 90%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0 90%,transparent 100%)}
.hero-portrait__frame:after{content:"";position:absolute;inset:7% 10% 3%;background:linear-gradient(90deg,transparent 49.9%,rgba(98,245,183,.2) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(98,245,183,.09) 50%,transparent 50.1%);background-size:100% 100%;mix-blend-mode:screen;pointer-events:none}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;filter:saturate(.96) contrast(1.02)}
.hero-portrait__scan{position:absolute;z-index:2;left:13%;right:13%;top:19%;height:1px;background:linear-gradient(90deg,transparent,var(--green),transparent);box-shadow:0 0 14px var(--green);opacity:.42;animation:portraitScan 5s ease-in-out infinite}
.hero-portrait figcaption{position:absolute;z-index:3;top:9%;left:50%;transform:translateX(-7%);display:flex;align-items:center;gap:.8rem;white-space:nowrap;font:400 .6rem var(--mono);letter-spacing:.1em;color:#c3d7d0}
.hero-portrait figcaption span{padding:.45rem .6rem;background:rgba(2,8,7,.52);border-left:1px solid var(--green)}
.hero-portrait figcaption b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--green);color:#02100b;font-size:.75rem;box-shadow:0 0 16px rgba(98,245,183,.6)}
.hero-intel{position:relative;align-self:center;padding-left:1rem}
.hero-intel__number{position:absolute;right:0;top:-3rem;color:var(--green);font:400 1.25rem var(--mono)}
.hero-intel dl{margin:0 0 1.4rem;padding:0 0 1.2rem;border-bottom:1px solid var(--line)}
.hero-intel dl>div{position:relative;padding:.7rem 0 .7rem 2rem}
.hero-intel dl>div:before{content:"";position:absolute;left:.15rem;top:1.1rem;width:8px;height:8px;border:1px solid var(--green);transform:rotate(45deg);box-shadow:0 0 9px rgba(98,245,183,.35)}
.hero-intel dt{text-transform:uppercase;font:300 .53rem var(--mono);letter-spacing:.13em;color:#657c74}
.hero-intel dd{margin:.32rem 0 0;font:400 .7rem var(--mono);line-height:1.35;color:#e5f1ed;overflow-wrap:anywhere}
.hero-intel dd a:hover{color:var(--green)}
.hero-intel__skills>p{margin:0 0 .7rem;color:var(--green);font:400 .52rem var(--mono);letter-spacing:.1em;text-transform:uppercase}
.hero-intel__skills>div{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.hero-intel__skills span{padding:.65rem .45rem;text-align:center;border:1px solid rgba(98,245,183,.38);border-radius:5px;background:rgba(3,15,11,.55);color:var(--green);font:400 .58rem var(--mono);text-transform:uppercase}
.hero-resume{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding:1rem 1.1rem;border:1px solid rgba(98,245,183,.38);background:rgba(3,15,11,.62);font:500 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase}
.hero-resume b{font-size:1.25rem;color:var(--green)}.hero-resume:hover{background:rgba(98,245,183,.1);border-color:var(--green)}
@keyframes portraitScan{0%,100%{transform:translateY(0);opacity:.08}50%{transform:translateY(46vh);opacity:.5}}

@media(min-width:761px) and (max-width:1200px){
  .hero__layout{grid-template-columns:1fr 1fr;gap:0}
  .hero__copy{grid-column:1;z-index:5;padding-left:0}
  .hero__title .name{font-size:clamp(4.8rem,10vw,7rem)}
  .hero-portrait{grid-column:2;align-self:end;position:relative;z-index:2;width:64vw;height:82vh;margin:0 -24% -4rem -28%;pointer-events:none}
  .hero-intel{display:none}
}
@media(max-width:760px){
  .hero-portrait{position:relative;width:118%;height:58vh;min-height:430px;margin:-2rem -9% -4rem;z-index:1}
  .hero-portrait figcaption{top:12%;left:43%;font-size:.48rem}
  .hero-intel{position:relative;z-index:3;margin:0 0 5rem;padding:1rem;border:1px solid var(--line);background:rgba(3,15,11,.72);backdrop-filter:blur(14px)}
  .hero-intel__number{top:1rem;right:1rem}
  .hero-intel dl{display:grid;grid-template-columns:1fr 1fr}
  .hero-intel dl>div{padding:.7rem .4rem .7rem 1.4rem}
  .hero-intel dl>div:before{left:.1rem}
  .hero-intel__skills>div{grid-template-columns:repeat(3,1fr)}
}

/* Exploded project dossier — retained prototype experiment. */
.project-card__open{display:flex;align-items:center;justify-content:space-between;width:min(100%,220px);margin-top:1.5rem;padding:.72rem 0;border:0;border-bottom:1px solid var(--green);background:none;color:var(--white);font:400 .57rem var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.project-card__open span{color:var(--green);transition:transform .25s}.project-card:hover .project-card__open span,.project-card__open:focus-visible span{transform:translate(3px,-3px)}.project-card__open:focus-visible{outline:1px solid var(--green);outline-offset:6px}.project-card.active{cursor:pointer}
body.project-modal-open{overflow:hidden}.project-modal{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(.75rem,2.5vw,2.5rem);border:0;background:rgba(1,5,4,.82);color:var(--white);overflow:auto;backdrop-filter:blur(18px)}.project-modal::backdrop{background:rgba(1,5,4,.76);backdrop-filter:blur(9px)}.project-modal[open]{display:grid;place-items:center}.project-modal__shell{position:relative;width:min(1180px,100%);min-height:min(720px,calc(100dvh - 5rem));display:grid;grid-template-rows:auto 1fr auto;border:1px solid rgba(98,245,183,.32);background:linear-gradient(145deg,rgba(5,19,15,.97),rgba(2,8,7,.985));box-shadow:0 38px 120px rgba(0,0,0,.68),0 0 70px rgba(98,245,183,.055);overflow:hidden}.project-modal__shell:before,.project-modal__shell:after{content:"";position:absolute;z-index:0;pointer-events:none}.project-modal__shell:before{inset:0;background:linear-gradient(rgba(98,245,183,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(98,245,183,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,#000,transparent 43%)}.project-modal__shell:after{left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--green),transparent);box-shadow:0 0 16px rgba(98,245,183,.5)}.project-modal__header,.project-modal__footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--line);font:300 .52rem var(--mono);letter-spacing:.12em;color:#708a81}.project-modal__header b{font-weight:400;color:var(--green)}.project-modal__status{margin-left:auto;margin-right:2rem}.project-modal__status i{display:inline-block;width:5px;height:5px;margin-right:.5rem;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green)}.project-modal__close{display:flex;align-items:center;gap:.7rem;padding:.25rem 0;border:0;background:none;color:#a7bbb4;font:400 .52rem var(--mono);letter-spacing:.12em;cursor:pointer}.project-modal__close b{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);font:300 1rem var(--sans);transition:.25s}.project-modal__close:hover b,.project-modal__close:focus-visible b{border-color:var(--green);background:rgba(98,245,183,.1);transform:rotate(90deg)}.project-modal__close:focus-visible{outline:1px solid var(--green);outline-offset:4px}.project-modal__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(370px,.95fr);min-height:0}.project-modal__visual{position:relative;min-height:560px;margin:0;display:grid;place-items:center;perspective:1300px;overflow:hidden;border-right:1px solid var(--line);background:radial-gradient(circle at 47% 47%,rgba(98,245,183,.1),transparent 42%)}.project-modal__visual:before{content:"";position:absolute;width:74%;aspect-ratio:1;border:1px dashed rgba(98,245,183,.13);border-radius:50%;animation:spin 40s linear infinite}.mockup-plane{position:absolute;width:min(42%,250px);aspect-ratio:.51;border:1px solid rgba(98,245,183,.42);border-radius:24px;background:linear-gradient(155deg,rgba(14,39,31,.94),rgba(2,9,7,.98));box-shadow:inset 0 0 30px rgba(98,245,183,.04),0 22px 70px rgba(0,0,0,.5);transform-style:preserve-3d}.mockup-plane:before{content:"";position:absolute;left:50%;top:10px;width:25%;height:3px;transform:translateX(-50%);border-radius:4px;background:rgba(98,245,183,.22)}.mockup-plane--rear{transform:translate3d(-40%,-4%,-130px) rotateY(22deg);opacity:.26}.mockup-plane--mid{transform:translate3d(39%,2%,-64px) rotateY(-17deg);opacity:.5}.mockup-plane--front{z-index:3;display:grid;place-content:center;text-align:center;transform:translateZ(45px);background:radial-gradient(circle at 50% 34%,rgba(98,245,183,.13),transparent 32%),linear-gradient(155deg,#071b15,#020907)}.mockup-plane--front span{color:rgba(238,251,246,.9);font:300 clamp(2rem,4vw,4rem) var(--mono);letter-spacing:-.08em}.mockup-plane--front small{margin-top:1rem;color:#668078;font:300 .47rem/1.8 var(--mono);letter-spacing:.15em}.project-modal__visual figcaption{position:absolute;left:1.2rem;bottom:1.1rem;color:#587069;font:300 .48rem var(--mono);letter-spacing:.12em}.project-modal__content{align-self:center;padding:clamp(2rem,5vw,5rem)}.project-modal__content h2{margin:.8rem 0 1rem;font-size:clamp(3rem,6vw,6.8rem);line-height:.88;letter-spacing:-.075em;font-weight:500}.project-modal__content>p:not(.eyebrow){max-width:520px;color:#92a79f;font-size:.9rem;line-height:1.75}.project-modal__meta,.project-modal__destinations{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line)}.project-modal__meta>span,.project-modal__destinations>span{display:block;margin-bottom:.8rem;color:#5f786f;font:300 .48rem var(--mono);letter-spacing:.13em}.project-modal__meta ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.project-modal__meta li{padding:.45rem .6rem;border:1px solid var(--line);color:#8ca69d;font:300 .52rem var(--mono);letter-spacing:.08em}.project-modal__destinations>div{display:flex;flex-wrap:wrap;gap:.6rem}.project-destination{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;min-width:155px;padding:.8rem .9rem;border:1px solid rgba(98,245,183,.35);background:rgba(98,245,183,.045);color:#d9ebe5;font:400 .54rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.project-destination span{color:var(--green)}.project-destination:hover,.project-destination:focus-visible{border-color:var(--green);background:rgba(98,245,183,.1);outline:none}.project-modal__destinations>p{margin:.8rem 0 0;color:#4f6760;font:300 .48rem var(--mono);letter-spacing:.12em}.project-modal__footer{border-top:1px solid var(--line);border-bottom:0}.project-modal__piece{will-change:transform,opacity}
@media(max-width:820px){.project-modal{padding:.6rem}.project-modal__shell{min-height:calc(100dvh - 1.2rem)}.project-modal__grid{display:block}.project-modal__visual{min-height:43vh;border-right:0;border-bottom:1px solid var(--line)}.mockup-plane{width:min(31%,170px);border-radius:18px}.project-modal__content{padding:1.6rem 1.2rem 2rem}.project-modal__content h2{font-size:clamp(2.8rem,15vw,5rem)}.project-modal__status{display:none}.project-modal__footer{display:none}.project-modal__header{position:sticky;top:0;z-index:8;background:rgba(3,12,10,.94)}.project-modal__visual figcaption{font-size:.42rem}}
@media(prefers-reduced-motion:reduce){.project-modal__visual:before{animation:none}.project-modal__piece,.mockup-plane{will-change:auto}}
