@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600&family=Inter+Tight:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root {
  --black: #05070a;
  --black-2: #0a0d12;
  --black-3: #11151c;
  --white: #f4f7fb;
  --muted: #929ba8;
  --dim: #5d6674;
  --blue: #4ca6ff;
  --blue-2: #7bc0ff;
  --cyan: #55e5dc;
  --violet: #8e7dff;
  --amber: #f2be70;
  --line: rgba(255,255,255,.14);
  --line-strong: rgba(255,255,255,.28);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-in-out: cubic-bezier(.65,0,.35,1);
  --pad: clamp(22px,4vw,72px);
  --nav-h: 84px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; color: var(--white); background: var(--black); font-family: Inter, Arial, sans-serif; overflow-x: hidden; cursor: none; }
body.no-scroll { overflow: hidden; }
::selection { color: var(--black); background: var(--blue); }
a, button { color: inherit; }
a { text-decoration: none; }
button { font: inherit; }
button, a { cursor: none; }
img, svg { display: block; max-width: 100%; }
.mono, .eyebrow { font-family: "IBM Plex Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 9999; padding: 12px 18px; background: var(--white); color: var(--black); transition: top .2s; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }

.noise { position: fixed; inset: 0; z-index: 5; pointer-events: none; opacity: .055; mix-blend-mode: soft-light; 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='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
#networkCanvas { position: absolute; inset: 0 0 auto; width: 100%; height: 100vh; z-index: 0; opacity: .85; }
.grid-overlay { position: fixed; inset: 0 var(--pad); z-index: 4; pointer-events: none; opacity: 0; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(8.333% - 1px), rgba(76,166,255,.18) calc(8.333% - 1px), rgba(76,166,255,.18) 8.333%); transition: opacity .5s; }
html.data-mode .grid-overlay { opacity: .65; }
html.data-mode section::after { content: attr(data-section) " / NODE_ACTIVE / X:28.53 Y:-81.37"; position: absolute; right: var(--pad); top: 18px; font: 10px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; color: var(--blue); }

/* Loader */
.loader { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; background: #030405; transition: transform 1s var(--ease-in-out), visibility 1s; }
.loader.done { transform: translateY(-105%); visibility: hidden; }
.loader-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(76,166,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(76,166,255,.045) 1px,transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(circle at 50% 50%,black,transparent 70%); }
.loader-console { width: min(610px,calc(100% - 44px)); }
.loader-init { margin: 0 0 44px; font-size: clamp(12px,1.2vw,16px); color: var(--white); }
.blink { animation: blink .7s steps(1) infinite; color: var(--blue); }
@keyframes blink { 50% { opacity: 0; } }
.loader-lines { display: grid; gap: 10px; color: var(--muted); font: 11px/1.3 "IBM Plex Mono", monospace; letter-spacing: .1em; }
.loader-lines span { display: flex; justify-content: space-between; opacity: 0; transform: translateY(6px); animation: loaderLine .25s forwards; }
.loader-lines span:nth-child(2) { animation-delay:.18s}.loader-lines span:nth-child(3){animation-delay:.36s}.loader-lines span:nth-child(4){animation-delay:.54s}
.loader-lines i { color: var(--blue); font-style: normal; }
@keyframes loaderLine { to { opacity: 1; transform: none; } }
.loader-bottom { margin-top: 55px; display: flex; justify-content: space-between; align-items: end; font: 11px "IBM Plex Mono",monospace; letter-spacing: .08em; }
.loader-bottom strong { font-weight: 400; }.loader-bottom span{font-size:42px;line-height:.75;font-family:"Inter Tight"}
.loader-track { margin-top: 18px; height: 1px; background: rgba(255,255,255,.16); }
.loader-track i { display: block; width: 0; height: 100%; background: var(--blue); box-shadow: 0 0 12px var(--blue); }

/* Navigation */
.nav { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: var(--nav-h); padding: 0 var(--pad); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; transition: height .6s var(--ease-out), background .4s, transform .4s; }
.nav.scrolled { height: 64px; background: rgba(5,7,10,.82); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.08); }
.nav.hidden { transform: translateY(-100%); }
.brand { font: 600 20px/1 "Inter Tight"; justify-self: start; letter-spacing: -.04em; }.brand span{color:var(--blue)}
.desktop-nav { display: flex; gap: clamp(24px,3vw,48px); }
.desktop-nav a,.availability,.icon-button,.menu-toggle { font: 10px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.desktop-nav a { position: relative; padding: 12px 0; color: var(--muted); transition: color .25s; }
.desktop-nav a::after { content:"";position:absolute;left:0;bottom:5px;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-out)}
.desktop-nav a:hover{color:var(--white)}.desktop-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-right { justify-self:end; display:flex;align-items:center;gap:22px}.availability{color:var(--muted)}.availability i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#60e69b;margin-right:8px;box-shadow:0 0 12px #60e69b;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.45;box-shadow:0 0 3px #60e69b}}
.icon-button,.menu-toggle { border:0;background:transparent;padding:10px;color:var(--muted)}
.icon-button { border:1px solid var(--line); }.menu-toggle{display:none}
.mobile-menu{position:fixed;inset:0;z-index:90;padding:120px var(--pad) 44px;background:var(--black);display:flex;flex-direction:column;visibility:hidden;opacity:0;transform:translateY(-20px);transition:.5s var(--ease-out)}
.mobile-menu.open{visibility:visible;opacity:1;transform:none}.mobile-menu-meta{font-size:10px;color:var(--dim);margin-bottom:auto}.mobile-menu nav{display:grid;gap:0}.mobile-menu nav a{font:500 clamp(38px,12vw,72px)/1.12 "Inter Tight";letter-spacing:-.055em;border-bottom:1px solid var(--line);padding:12px 0}.mobile-menu nav span{font:10px "IBM Plex Mono";color:var(--blue);display:inline-block;width:42px;letter-spacing:0}.mobile-link{font:11px "IBM Plex Mono";margin-top:auto;color:var(--muted)}
.altimeter { position: fixed; z-index: 50; right: 15px; top: 50%; transform: translateY(-50%); height: 210px; display:flex;flex-direction:column;align-items:center;gap:9px;font:8px "IBM Plex Mono";color:var(--dim) }
.altitude-line{position:relative;width:1px;flex:1;background:rgba(255,255,255,.13)}.altitude-line i{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);font-style:normal;color:var(--blue);font-size:9px;text-shadow:0 0 8px var(--blue)}.altimeter small{position:absolute;right:12px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:right center;white-space:nowrap;letter-spacing:.14em;color:var(--blue)}
.quick-view { position: fixed; z-index: 50; left: 0; top: 53%; transform: rotate(-90deg) translateY(-100%); transform-origin: left top; border:0; border-bottom:1px solid var(--line); background:rgba(5,7,10,.65); padding:10px 16px; font:9px "IBM Plex Mono"; letter-spacing:.08em;color:var(--muted)}.quick-view span{color:var(--white)}

/* Cursor */

/* Global sections */
.section { position: relative; padding: clamp(100px,14vw,220px) var(--pad); }
.section-intro { max-width: 1120px; }
.eyebrow { display:block;margin-bottom:30px;font-size:10px;color:var(--blue); }
.section-intro h2,.manifesto h2,.contact h2 { margin:0;font:500 clamp(64px,10.5vw,170px)/.82 "Inter Tight",sans-serif;letter-spacing:-.072em;text-transform:uppercase; }
.section-intro h2 em,.manifesto h2 em,.contact h2 em{font-weight:400;color:var(--blue)}
.section-intro p { margin:36px 0 0 auto;max-width:550px;color:var(--muted);font-size:clamp(16px,1.5vw,22px);line-height:1.55 }
.reveal { opacity: 0; transform: translateY(38px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }.reveal.in{opacity:1;transform:none}

/* Hero */
.hero { position:relative;z-index:1;min-height:100svh;padding:calc(var(--nav-h) + 28px) var(--pad) 42px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:radial-gradient(circle at 75% 40%,rgba(76,166,255,.08),transparent 33%) }
.hero-kicker{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.hero-kicker p{margin:0}.hero-kicker span{margin-left:20px;color:var(--dim)}
.hero-title{margin:auto 0;width:100%;perspective:800px}.title-line{display:flex;align-items:start;justify-content:space-between;overflow:hidden}.title-line h1{margin:0;font:600 clamp(82px,15vw,240px)/.76 "Inter Tight",sans-serif;letter-spacing:-.078em;transition:transform .2s ease-out;will-change:transform}.title-line.second{justify-content:flex-end;align-items:center}.title-index{font-size:9px;color:var(--dim);margin-top:10px}.title-signal{position:relative;margin-right:auto;width:clamp(80px,16vw,250px);height:1px;background:var(--line)}.title-signal::before,.title-signal::after{content:"";position:absolute;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 10px var(--blue)}.title-signal::before{left:0}.title-signal::after{right:0}.title-signal i{position:absolute;top:-1px;left:0;width:45%;height:3px;background:linear-gradient(90deg,transparent,var(--blue));animation:signal 2.8s linear infinite}.title-signal b{position:absolute;right:15%;top:-15px;width:30px;height:30px;border:1px solid rgba(76,166,255,.25);border-radius:50%}@keyframes signal{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
.hero-bottom{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px}.hero-copy>p{margin:0 0 12px;font:400 clamp(22px,2.5vw,42px)/1.08 "Inter Tight";letter-spacing:-.035em}.hero-copy>span{font-size:11px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:28px}.button{display:inline-flex;align-items:center;gap:35px;padding:14px 18px;font:10px "IBM Plex Mono";letter-spacing:.06em;text-transform:uppercase}.button.primary{background:var(--white);color:var(--black)}.button.primary b{font-size:18px}.button.text{color:var(--muted)}
.system-status{width:min(360px,28vw);border-top:1px solid var(--line);padding-top:12px}.status-head{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.08)}.status-head b{font-weight:400;color:#67e49d}.status-head i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#67e49d;margin-right:8px}.system-status dl{margin:0}.system-status dl div{display:grid;grid-template-columns:40% 60%;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.055)}.system-status dt{font:8px "IBM Plex Mono";color:var(--dim);letter-spacing:.08em}.system-status dd{margin:0;text-align:right;font:9px/1.35 "IBM Plex Mono";letter-spacing:.05em}
.scroll-cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font-size:8px;color:var(--dim);display:grid;place-items:center;gap:8px}.scroll-cue i{height:18px;width:1px;background:var(--blue);animation:scrollcue 1.5s var(--ease-in-out) infinite;transform-origin:top}@keyframes scrollcue{50%{transform:scaleY(.3);opacity:.4}}

/* Marquee */
.marquee{position:relative;z-index:2;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;background:var(--black)}.marquee-track{width:max-content;display:flex;gap:22px;align-items:center;animation:marquee 35s linear infinite;font:500 13px "Inter Tight";letter-spacing:.04em}.marquee-track i{font-style:normal;color:var(--blue)}@keyframes marquee{to{transform:translateX(-50%)}}

/* Expertise */
.expertise{z-index:2;background:var(--black)}.discipline-list{margin-top:120px;border-top:1px solid var(--line)}.discipline{position:relative;display:grid;grid-template-columns:8% 50% 1fr;align-items:center;min-height:170px;border-bottom:1px solid var(--line);overflow:hidden;transition:padding .55s var(--ease-out),background .55s}.discipline>span{font-size:10px;color:var(--dim)}.discipline h3{position:relative;z-index:2;margin:0;font:500 clamp(38px,6vw,90px)/1 "Inter Tight";letter-spacing:-.055em}.discipline p{position:relative;z-index:2;margin:0;max-width:380px;color:var(--muted);line-height:1.5}.discipline:hover,.discipline:focus-within{padding-left:18px;background:rgba(255,255,255,.025)}.discipline:hover h3{color:var(--blue)}.discipline-viz{position:absolute;right:0;inset-block:0;width:38%;opacity:0;transition:opacity .45s;mask-image:linear-gradient(90deg,transparent,black)}.discipline:hover .discipline-viz{opacity:.6}.bars{background:repeating-linear-gradient(90deg,transparent 0,transparent 11px,rgba(76,166,255,.7) 12px,transparent 13px),linear-gradient(160deg,transparent 40%,rgba(76,166,255,.2),transparent 60%)}.nodes{background-image:radial-gradient(circle,rgba(142,125,255,.9) 1px,transparent 2px);background-size:35px 28px}.layers{background:repeating-linear-gradient(160deg,transparent 0,transparent 18px,rgba(242,190,112,.32) 19px,transparent 20px)}.map{background-image:radial-gradient(circle at 20% 60%,var(--cyan) 0 2px,transparent 3px),radial-gradient(circle at 50% 30%,var(--cyan) 0 2px,transparent 3px),radial-gradient(circle at 80% 70%,var(--cyan) 0 2px,transparent 3px),linear-gradient(25deg,transparent 45%,rgba(85,229,220,.35) 46%,transparent 47%)}

/* JetBlue */
.jetblue{z-index:2;padding-bottom:100px;background:#e9eef4;color:#09111b;overflow:hidden}.jetblue::before{content:"";position:absolute;left:62%;top:4%;width:1px;height:24%;background:rgba(9,17,27,.16)}.section-intro.light .eyebrow{color:#1668b5}.section-intro.light h2 em{color:#1668b5}.aviation-stage{position:relative;min-height:680px;margin-top:20px;display:grid;grid-template-columns:62% 1fr;align-items:center}.radar{position:relative;aspect-ratio:1;border-radius:50%;width:min(680px,58vw);border:1px solid rgba(9,17,27,.25);overflow:hidden;background:radial-gradient(circle,rgba(76,166,255,.12),transparent 57%)}.radar-grid{position:absolute;inset:0;border-radius:50%;background:linear-gradient(rgba(9,17,27,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(9,17,27,.12) 1px,transparent 1px);background-size:40px 40px}.radar-grid i{position:absolute;border:1px solid rgba(9,17,27,.15);border-radius:50%;inset:12%}.radar-grid i:nth-child(2){inset:25%}.radar-grid i:nth-child(3){inset:38%}.radar-grid i:nth-child(4){top:50%;left:0;right:0;height:1px;border:0;border-top:1px solid rgba(9,17,27,.2)}.radar-grid span{position:absolute;left:50%;top:0;bottom:0;border-left:1px solid rgba(9,17,27,.2)}.sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(22,104,181,.18),transparent 55deg);animation:sweep 8s linear infinite}.sweep::after{content:"";position:absolute;left:50%;top:50%;height:46%;width:1px;background:#1668b5;transform-origin:top;transform:rotate(180deg)}@keyframes sweep{to{transform:rotate(360deg)}}.aircraft{position:absolute;border:0;background:transparent;color:#1668b5}.aircraft span{display:block;font-size:20px;transform:rotate(var(--r))}.aircraft b{position:absolute;left:25px;top:0;white-space:nowrap;text-align:left;font:8px/1.3 "IBM Plex Mono";letter-spacing:.08em;opacity:0;transition:opacity .25s}.aircraft:hover b,.aircraft:focus b{opacity:1}.a1{left:25%;top:38%;--r:30deg}.a2{left:65%;top:25%;--r:110deg}.a3{left:55%;top:70%;--r:-25deg}.radar>small{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8px;color:rgba(9,17,27,.5)}.jetblue-copy{max-width:450px}.jetblue-copy>span{font-size:9px;color:#1668b5}.jetblue-copy>p{font:400 clamp(21px,2vw,32px)/1.35 "Inter Tight";letter-spacing:-.025em}.link-button{border:0;border-bottom:1px solid rgba(9,17,27,.3);background:transparent;padding:12px 0;font:10px "IBM Plex Mono";letter-spacing:.08em}.link-button span{margin-left:30px}.pipeline{margin-top:70px;border-top:1px solid rgba(9,17,27,.25);border-bottom:1px solid rgba(9,17,27,.25)}.pipeline-head{display:flex;justify-content:space-between;padding:14px 0;font-size:8px;color:rgba(9,17,27,.55)}.pipeline-flow{display:flex;align-items:stretch;border-top:1px solid rgba(9,17,27,.16)}.pipe-node{width:18%;padding:22px 10px 28px;display:flex;flex-direction:column;justify-content:space-between;min-height:180px}.pipe-node small{font:7px "IBM Plex Mono";color:rgba(9,17,27,.5)}.pipe-node strong{font:500 clamp(15px,1.5vw,24px)/1.05 "Inter Tight"}.pipe-node span{font:8px "IBM Plex Mono";color:rgba(9,17,27,.54)}.pipe-node.active strong{color:#1668b5}.pipe-link{position:relative;align-self:center;width:6%;height:1px;background:rgba(9,17,27,.25)}.pipe-link::after{content:"";position:absolute;right:0;top:-3px;border-left:5px solid rgba(9,17,27,.4);border-top:3px solid transparent;border-bottom:3px solid transparent}.pipe-link b{position:absolute;width:18px;height:3px;top:-1px;background:#1668b5;box-shadow:0 0 8px #4ca6ff;animation:packet 2.5s linear infinite}.pipe-link:nth-of-type(2) b{animation-delay:.5s}.pipe-link:nth-of-type(3) b{animation-delay:1s}.pipe-link:nth-of-type(4) b{animation-delay:1.5s}@keyframes packet{from{left:0}to{left:calc(100% - 18px)}}.tool-rail{display:flex;justify-content:space-between;gap:12px;padding:16px 0;margin:0;border-top:1px solid rgba(9,17,27,.16);font-size:8px;color:rgba(9,17,27,.58);list-style:none}

/* Career */
.career{z-index:2;background:var(--black)}.career-map{position:relative;height:1320px;margin-top:80px}.career-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.career-path path{fill:none;stroke-width:1.2;vector-effect:non-scaling-stroke}.path-base{stroke:rgba(255,255,255,.12);stroke-dasharray:4 6}.path-progress{stroke:var(--blue);filter:drop-shadow(0 0 5px var(--blue));stroke-dasharray:1;stroke-dashoffset:1}.career-node{position:absolute;top:var(--y);width:42%;transform:translateY(-50%)}.career-node.left{left:7%}.career-node.right{right:3%}.career-node button{position:relative;width:100%;text-align:left;border:0;background:transparent;padding:25px 26px 25px 44px;border-top:1px solid var(--line);transition:background .4s,padding .4s}.career-node button:hover{background:rgba(76,166,255,.055);padding-left:55px}.career-node button>i{position:absolute;left:-2px;top:20px;width:9px;height:9px;border-radius:50%;background:var(--black);border:2px solid var(--blue);box-shadow:0 0 12px var(--blue)}.career-node span{display:block;font-size:9px;color:var(--blue);margin-bottom:13px}.career-node strong{display:block;font:500 clamp(25px,3.1vw,48px)/1 "Inter Tight";letter-spacing:-.04em}.career-node small{display:block;margin-top:10px;color:var(--muted)}.career-node.featured button{background:var(--blue);color:var(--black)}.career-node.featured span,.career-node.featured small{color:rgba(5,7,10,.7)}.career-node.featured button>i{background:var(--white);border-color:var(--black)}

/* Metrics */
.impact{z-index:2;background:var(--blue);color:var(--black);padding-top:70px;padding-bottom:70px}.impact-label{font-size:9px;margin-bottom:70px}.metric{display:grid;grid-template-columns:42% 34% 1fr;align-items:end;padding:25px 0;border-top:1px solid rgba(5,7,10,.3)}.metric strong{font:500 clamp(90px,15vw,230px)/.7 "Inter Tight";letter-spacing:-.08em}.metric p{font:500 clamp(21px,2.5vw,40px)/1 "Inter Tight";letter-spacing:-.04em;margin:0}.metric small{font:8px/1.4 "IBM Plex Mono";letter-spacing:.06em}

/* Projects */
.projects{z-index:2;background:var(--black)}.project-grid{margin-top:90px;display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.project-card{position:relative;min-height:540px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);overflow:hidden;background:var(--black-2);transition:transform .6s var(--ease-out),border-color .4s}.project-card:nth-child(1){grid-column:1/8}.project-card:nth-child(2){grid-column:8/13}.project-card:nth-child(3){grid-column:1/13;min-height:420px}.project-card:hover{transform:translateY(-8px);border-color:var(--blue)}.project-top{display:flex;justify-content:space-between;position:relative;z-index:2;font:9px "IBM Plex Mono";letter-spacing:.07em;color:var(--muted)}.project-card h3{position:relative;z-index:2;margin:0;font:500 clamp(36px,4.8vw,78px)/.92 "Inter Tight";letter-spacing:-.055em;max-width:680px}.project-card p{position:relative;z-index:2;max-width:470px;color:var(--muted);line-height:1.5}.project-card footer{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:18px;font:8px "IBM Plex Mono";letter-spacing:.07em}.project-card footer b{font-size:22px;color:var(--blue)}.project-viz{position:absolute;inset:0;opacity:.5;transition:opacity .6s,transform 1s var(--ease-out)}.project-card:hover .project-viz{opacity:.85;transform:scale(1.04)}.project-viz.geo{background:radial-gradient(circle at 70% 36%,rgba(76,166,255,.18),transparent 27%),linear-gradient(132deg,transparent 53%,rgba(76,166,255,.15) 53.2%,transparent 53.5%);}.project-viz.geo::before{content:"";position:absolute;right:12%;top:15%;width:260px;height:260px;border:1px solid rgba(76,166,255,.3);border-radius:43% 57% 63% 37%;transform:rotate(25deg);box-shadow:inset 0 0 60px rgba(76,166,255,.08)}.project-viz.globe{background:radial-gradient(circle at 62% 42%,transparent 0 23%,rgba(85,229,220,.25) 23.3%,transparent 23.8% 29%,rgba(85,229,220,.17) 29.2%,transparent 29.6%)}.project-viz.aviation{background:linear-gradient(120deg,transparent 56%,rgba(76,166,255,.13) 56.2%,transparent 56.5%),radial-gradient(circle at 80% 25%,var(--blue) 0 2px,transparent 3px)}

/* Skills */
.skills{z-index:2;display:grid;grid-template-columns:40% 60%;align-items:center;min-height:100vh;background:#0a0d12}.skills-copy h2{margin:0;font:500 clamp(57px,8vw,120px)/.84 "Inter Tight";letter-spacing:-.065em}.skills-copy h2 em{color:var(--cyan);font-weight:400}.skills-copy>p{max-width:450px;color:var(--muted);line-height:1.6}.skill-detail{margin-top:55px;padding:18px 0;border-top:1px solid var(--line);max-width:450px}.skill-detail span{font-size:8px;color:var(--cyan)}.skill-detail strong{display:block;margin:14px 0 8px;font:500 27px "Inter Tight"}.skill-detail p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.constellation{position:relative;aspect-ratio:1;max-height:760px}.constellation::before{content:"";position:absolute;inset:7%;border-radius:50%;border:1px solid rgba(85,229,220,.12);box-shadow:inset 0 0 120px rgba(85,229,220,.025)}.skill-line{position:absolute;height:1px;background:linear-gradient(90deg,rgba(85,229,220,.4),rgba(85,229,220,.04));transform-origin:left;pointer-events:none;transition:opacity .3s}.skill-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.18);background:#0a0d12;border-radius:50%;display:grid;place-items:center;width:var(--size,70px);height:var(--size,70px);font:8px/1.15 "IBM Plex Mono";letter-spacing:.05em;text-align:center;transition:transform .4s var(--ease-out),border-color .3s,background .3s}.skill-node:hover,.skill-node:focus,.skill-node.active{transform:translate(-50%,-50%) scale(1.18);border-color:var(--cyan);background:#0d2224}.skill-node.core{--size:110px;border-color:var(--cyan);font-size:10px;box-shadow:0 0 40px rgba(85,229,220,.12)}.skill-node.category{--size:84px;color:var(--cyan)}

/* Education */
.education{z-index:2;background:#e9eef4;color:#09111b;overflow:hidden}.education-map{position:absolute;right:-4%;top:2%;width:60%;opacity:.33}.education-map svg path{fill:none;stroke:#1668b5;stroke-width:1;stroke-dasharray:5 5}.education-map svg circle{fill:#1668b5}.education-map span{position:absolute;left:var(--x);top:var(--y);font:7px "IBM Plex Mono";color:#1668b5}.education .eyebrow{color:#1668b5}.education .section-intro h2 em{color:#1668b5}.degrees{position:relative;margin-top:100px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(9,17,27,.25);border-bottom:1px solid rgba(9,17,27,.25)}.degrees article{position:relative;min-height:500px;padding:30px 34px;display:flex;flex-direction:column}.degrees article+article{border-left:1px solid rgba(9,17,27,.25)}.degrees article>span{font-size:8px;color:rgba(9,17,27,.54)}.degrees h3{margin:65px 0 18px;font:500 clamp(45px,6vw,90px)/.88 "Inter Tight";letter-spacing:-.055em}.degrees p{font-size:17px}.degrees strong{margin-top:auto;font:500 clamp(24px,3.3vw,48px) "Inter Tight";color:#1668b5}.degrees strong small{font:8px "IBM Plex Mono";letter-spacing:.06em}.degrees footer{margin-top:35px;padding-top:15px;border-top:1px solid rgba(9,17,27,.16);font:8px "IBM Plex Mono";color:rgba(9,17,27,.55)}

/* Proof */
.proof{z-index:2;background:var(--black)}.proof-list{margin-top:90px;border-top:1px solid var(--line)}.proof-list a{position:relative;display:grid;grid-template-columns:22% 1fr auto;align-items:center;min-height:190px;border-bottom:1px solid var(--line);transition:padding .5s var(--ease-out),background .4s;overflow:hidden}.proof-list a:hover{padding-inline:22px;background:rgba(76,166,255,.045)}.proof-list a>span{font-size:8px;color:var(--blue)}.proof-list h3{margin:0;max-width:720px;font:400 clamp(23px,3.2vw,50px)/1.05 "Inter Tight";letter-spacing:-.04em}.proof-list b{font:9px "IBM Plex Mono";letter-spacing:.05em}.proof-list i{position:absolute;right:2%;font:500 150px "Inter Tight";font-style:normal;color:rgba(255,255,255,.025);transition:color .4s,transform .5s}.proof-list a:hover i{color:rgba(76,166,255,.09);transform:translateX(-10px)}

/* Manifesto + contact */
.manifesto{z-index:2;background:var(--black-2)}.manifesto h2{font-size:clamp(60px,10vw,150px)}.manifesto-lines{margin:100px 0 0 28%}.manifesto-lines p{margin:0;padding:22px 0;border-bottom:1px solid var(--line);font:400 clamp(35px,6vw,95px)/1 "Inter Tight";letter-spacing:-.05em;color:var(--dim);transition:color .5s,transform .7s var(--ease-out)}.manifesto-lines p.in{color:var(--white);transform:translateX(15px)}.manifesto-lines .ship{color:var(--blue);border:0;font-weight:600;margin-top:35px}
.contact{z-index:2;min-height:100vh;padding-bottom:40px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 50% 40%,rgba(76,166,255,.15),transparent 40%),var(--black);overflow:hidden}.contact h2{font-size:clamp(68px,11vw,170px)}.contact-signal{position:absolute;left:70%;top:28%;width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 20px var(--blue)}.contact-signal i{position:absolute;border:1px solid rgba(76,166,255,.3);border-radius:50%;inset:-30px;animation:signalRing 3s infinite}.contact-signal i:nth-child(2){inset:-80px;animation-delay:1s}.contact-signal i:nth-child(3){inset:-140px;animation-delay:2s}@keyframes signalRing{0%{transform:scale(.7);opacity:0}30%{opacity:1}to{transform:scale(1.25);opacity:0}}
.contact-actions{display:grid;grid-template-columns:repeat(4,1fr);margin-top:85px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-link{min-height:120px;padding:20px;background:transparent;border:0;border-right:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;text-align:left;font:9px "IBM Plex Mono";letter-spacing:.07em;transition:background .3s,color .3s}.contact-link:last-child{border-right:0}.contact-link b{font-size:25px;font-weight:400}.contact-link:hover{background:var(--blue);color:var(--black)}.contact-meta{margin-top:80px;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font:8px/1.5 "IBM Plex Mono";letter-spacing:.08em;color:var(--dim)}.contact-meta p:nth-child(2){justify-self:center}.contact-meta p span{color:#67e49d}.contact-meta button{justify-self:end;border:0;background:transparent;color:var(--muted);font:9px "IBM Plex Mono";letter-spacing:.07em}

/* Overlays */
.overlay{position:fixed;inset:0;z-index:500;background:var(--blue);color:var(--black);padding:clamp(70px,9vw,130px) var(--pad) 50px;visibility:hidden;opacity:0;clip-path:circle(0 at 50% 50%);transition:clip-path .8s var(--ease-in-out),opacity .3s,visibility .8s;overflow:auto}.overlay.open{visibility:visible;opacity:1;clip-path:circle(150vmax at 50% 50%)}.overlay-close{position:fixed;right:var(--pad);top:30px;border:0;border-bottom:1px solid rgba(5,7,10,.35);background:transparent;padding:10px 0;font:9px "IBM Plex Mono";letter-spacing:.08em;z-index:2}.overlay-index{font-size:9px}.experience-content>span{display:block;margin-top:50px;font-size:9px}.experience-content h2{margin:10px 0 0;font:600 clamp(70px,13vw,210px)/.78 "Inter Tight";letter-spacing:-.08em}.experience-role{font:400 clamp(22px,3vw,44px) "Inter Tight";letter-spacing:-.03em}.experience-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px;border-top:1px solid rgba(5,7,10,.3);padding-top:25px}.experience-columns span{font-size:8px}.experience-columns p{font-size:15px;line-height:1.65}.recruiter-overlay{background:#e9eef4}.quick-head>span{font-size:9px;color:#1668b5}.quick-head h2{margin:30px 0 5px;font:600 clamp(70px,11vw,150px)/.78 "Inter Tight";letter-spacing:-.075em}.quick-head>p{font-size:13px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid rgba(5,7,10,.25);border-bottom:1px solid rgba(5,7,10,.25)}.quick-grid article{padding:24px;min-height:270px;border-right:1px solid rgba(5,7,10,.25)}.quick-grid article:last-child{border-right:0}.quick-grid span{font-size:8px;color:#1668b5}.quick-grid h3{margin:36px 0 7px;font:500 27px "Inter Tight"}.quick-grid p{font-size:13px;line-height:1.6}.quick-grid a{display:block;padding:10px 0;border-bottom:1px solid rgba(5,7,10,.16);font-size:12px}
.data-mode-toast,.copy-toast{position:fixed;z-index:1000;bottom:24px;left:50%;transform:translate(-50%,20px);padding:10px 14px;background:var(--blue);color:var(--black);font-size:9px;opacity:0;visibility:hidden;transition:.3s}.data-mode-toast.show,.copy-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}.plane-egg{position:fixed;z-index:1000;left:-15vw;top:30%;font-size:30px;color:var(--blue);opacity:0}.plane-egg.fly{animation:fly 2.8s var(--ease-in-out)}.plane-egg i{display:block;width:100px;height:1px;background:linear-gradient(90deg,var(--blue),transparent)}@keyframes fly{0%{left:-15vw;top:65%;opacity:0;transform:rotate(-15deg)}20%{opacity:1}80%{opacity:1}to{left:110vw;top:15%;opacity:0;transform:rotate(-15deg)}}

@media (max-width: 980px) {
  body,button,a{cursor:auto}.cursor{display:none}.desktop-nav,.availability,.altimeter,.quick-view{display:none}.nav{grid-template-columns:1fr auto}.nav-right{grid-column:2}.icon-button{display:none}.menu-toggle{display:block}.hero-title{margin:15vh 0 10vh}.title-line h1{font-size:clamp(72px,17vw,160px)}.hero-bottom{grid-template-columns:1fr}.system-status{width:100%;max-width:480px}.scroll-cue{display:none}.discipline{grid-template-columns:10% 1fr;min-height:155px}.discipline p{grid-column:2;margin-top:12px}.aviation-stage{grid-template-columns:1fr}.radar{width:min(680px,90vw)}.jetblue-copy{margin-top:35px}.pipeline-flow{display:grid;grid-template-columns:1fr}.pipe-node{width:100%;min-height:auto;display:grid;grid-template-columns:25% 35% 1fr;align-items:center;border-top:1px solid rgba(9,17,27,.15)}.pipe-link{display:none}.tool-rail{flex-wrap:wrap}.career-node{width:65%}.career-node.left{left:2%}.career-node.right{right:0}.metric{grid-template-columns:45% 1fr}.metric small{display:none}.skills{grid-template-columns:1fr}.constellation{margin-top:50px}.proof-list a{grid-template-columns:1fr;gap:15px;padding:26px 0}.proof-list b{justify-self:start}.contact-actions{grid-template-columns:1fr 1fr}.contact-link:nth-child(2){border-right:0}.contact-link:nth-child(-n+2){border-bottom:1px solid var(--line)}.experience-columns{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.quick-grid article:nth-child(2){border-right:0}.quick-grid article:nth-child(-n+2){border-bottom:1px solid rgba(5,7,10,.25)}
}

@media (max-width: 650px) {
  :root{--pad:20px;--nav-h:68px}.nav{height:68px}.hero{padding-bottom:28px}.hero-kicker{font-size:8px}.hero-kicker span{display:none}.hero-title{margin:14vh 0 11vh}.title-line h1{font-size:21.5vw;line-height:.8}.title-index,.title-signal{display:none}.hero-bottom{gap:25px}.hero-copy>span{display:block;max-width:300px;line-height:1.5}.system-status{display:none}.section{padding-top:100px;padding-bottom:100px}.section-intro h2,.manifesto h2,.contact h2{font-size:17vw;line-height:.86}.section-intro p{font-size:15px}.discipline-list{margin-top:65px}.discipline{grid-template-columns:38px 1fr;min-height:130px}.discipline h3{font-size:10vw}.discipline p{font-size:13px}.jetblue{padding-bottom:80px}.aviation-stage{min-height:auto;margin-top:60px}.radar{width:100%}.radar>small{font-size:6px}.jetblue-copy>p{font-size:21px}.pipeline{margin-top:60px}.pipeline-head span:last-child{display:none}.pipe-node{grid-template-columns:26% 35% 1fr;padding:18px 3px}.tool-rail{justify-content:flex-start}.career-map{height:1150px;margin-top:50px}.career-node{width:86%}.career-node.left{left:0}.career-node.right{right:0}.career-node button{padding:20px 14px 20px 28px}.career-node strong{font-size:27px}.impact{padding-top:55px;padding-bottom:55px}.impact-label{margin-bottom:45px}.metric{grid-template-columns:1fr;padding:28px 0}.metric strong{font-size:33vw;line-height:.78}.metric p{font-size:24px;margin-top:20px}.project-grid{display:block;margin-top:55px}.project-card{min-height:470px;margin-bottom:15px}.project-card:nth-child(3){min-height:430px}.skills-copy h2{font-size:16vw}.constellation{width:118%;margin-left:-9%}.skill-node{--size:54px;font-size:6px}.skill-node.category{--size:65px}.skill-node.core{--size:80px}.education-map{width:110%;top:8%;opacity:.22}.degrees{grid-template-columns:1fr;margin-top:65px}.degrees article{min-height:390px;padding:25px 0}.degrees article+article{border-left:0;border-top:1px solid rgba(9,17,27,.25)}.degrees h3{font-size:15vw}.manifesto-lines{margin:60px 0 0}.manifesto-lines p{font-size:10vw}.contact{padding-bottom:30px}.contact-actions{grid-template-columns:1fr;margin-top:60px}.contact-link{min-height:85px;border-right:0;border-bottom:1px solid var(--line)}.contact-meta{grid-template-columns:1fr 1fr;gap:30px}.contact-meta p:nth-child(2){justify-self:end;text-align:right}.contact-meta button{grid-column:1/-1;justify-self:start}.overlay{padding-top:90px}.experience-content h2{font-size:19vw}.experience-columns{margin-top:40px;gap:18px}.quick-head h2{font-size:19vw}.quick-grid{grid-template-columns:1fr}.quick-grid article{min-height:auto;border-right:0;border-bottom:1px solid rgba(5,7,10,.25)}.quick-grid article:last-child{border-bottom:0}.quick-grid h3{margin-top:23px}.command-box footer{display:none}
}

@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.sweep,.pipe-link b,.marquee-track,.contact-signal i{animation:none!important}#networkCanvas{display:none}
}

/* 2026 readability and universal interaction update */
body { cursor: auto; font-size: 15px; }
a, button { cursor: pointer; }
a:active, button:active { transform: scale(.975); }
.nav.hidden { transform: none; }
.nav { z-index: 300; }
.brand { font-size: 14px; letter-spacing: -.02em; }
.pointer-glow { position:fixed;inset:0;z-index:3;pointer-events:none;background:radial-gradient(260px circle at var(--pointer-x,-500px) var(--pointer-y,-500px),rgba(76,166,255,.07),transparent 72%);transition:opacity .3s; }
.page-progress { position:fixed;left:0;right:0;top:0;height:2px;z-index:500;background:rgba(255,255,255,.04);pointer-events:none; }
.page-progress i { display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--violet));transform:scaleX(0);transform-origin:left;box-shadow:0 0 10px var(--blue);will-change:transform; }

/* Smaller, more readable type system */
.section { padding-top:clamp(90px,10vw,150px);padding-bottom:clamp(90px,10vw,150px); }
.section-intro h2,.manifesto h2,.contact h2 { font-size:clamp(48px,7.2vw,108px);line-height:.9;letter-spacing:-.058em; }
.section-intro p { font-size:clamp(14px,1.2vw,18px);max-width:510px;line-height:1.65; }
.title-line h1 { font-size:clamp(66px,10.5vw,158px);line-height:.8;letter-spacing:-.065em; }
.hero-copy>p { font-size:clamp(20px,2vw,30px);line-height:1.14; }
.discipline { min-height:145px; }
.discipline h3 { font-size:clamp(30px,4.2vw,62px); }
.discipline p { font-size:14px; }
.career-node strong { font-size:clamp(22px,2.6vw,38px); }
.metric strong { font-size:clamp(72px,10vw,150px); }
.metric p { font-size:clamp(18px,2vw,30px); }
.project-card h3 { font-size:clamp(30px,3.8vw,58px); }
.skills-copy h2 { font-size:clamp(45px,6.3vw,92px); }
.degrees h3 { font-size:clamp(36px,4.6vw,68px); }
.proof-list h3 { font-size:clamp(20px,2.5vw,37px);line-height:1.12; }
.manifesto-lines p { font-size:clamp(28px,4.3vw,64px); }
.contact h2 { font-size:clamp(54px,8vw,120px); }
.experience-content h2 { font-size:clamp(58px,9vw,140px); }
.quick-head h2 { font-size:clamp(55px,8vw,112px); }

/* Hero orbital signature */
.hero-title { position:relative;max-width:1180px;margin-left:auto;margin-right:auto;width:100%; }
.hero-orbit { position:absolute;right:3%;top:48%;width:clamp(100px,12vw,180px);aspect-ratio:1;transform:translateY(-50%);border:1px solid rgba(76,166,255,.2);border-radius:50%; }
.hero-orbit::before,.hero-orbit::after,.hero-orbit i { content:"";position:absolute;border:1px solid rgba(76,166,255,.25);border-radius:50%; }
.hero-orbit::before { inset:15%;animation:orbitPulse 3.5s var(--ease-in-out) infinite; }
.hero-orbit::after { inset:33%;border-color:rgba(255,255,255,.25); }
.hero-orbit i:nth-child(1) { inset:-10%;border-style:dashed;animation:orbitSpin 15s linear infinite; }
.hero-orbit i:nth-child(2) { left:50%;top:-10%;bottom:-10%;width:1px;border:0;border-left:1px solid rgba(76,166,255,.18); }
.hero-orbit i:nth-child(3) { top:50%;left:-10%;right:-10%;height:1px;border:0;border-top:1px solid rgba(76,166,255,.18); }
.hero-orbit b { position:absolute;left:10%;top:14%;width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 18px var(--blue);animation:orbitNode 6s linear infinite; }
.hero-orbit span { position:absolute;inset:0;display:grid;place-items:center;text-align:center;font:7px/1.5 "IBM Plex Mono",monospace;letter-spacing:.08em;color:var(--muted); }
@keyframes orbitSpin { to { transform:rotate(360deg); } }
@keyframes orbitPulse { 50% { transform:scale(1.12);opacity:.45; } }
@keyframes orbitNode { 25%{transform:translate(105px,7px)}50%{transform:translate(112px,110px)}75%{transform:translate(8px,110px)}to{transform:none} }

/* Persistent email accessibility control */
.email-access { position:fixed;right:24px;bottom:24px;z-index:420; }
.email-access-trigger { position:relative;width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(8,11,16,.9);backdrop-filter:blur(16px);display:grid;place-items:center;color:var(--white);box-shadow:0 12px 35px rgba(0,0,0,.35);transition:transform .35s var(--ease-out),background .3s,border-color .3s; }
.email-access-trigger:hover { transform:translateY(-4px) rotate(-4deg);background:var(--blue);color:var(--black);border-color:var(--blue); }
.email-access-trigger svg { width:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round; }
.email-pulse { position:absolute;right:2px;top:2px;width:11px;height:11px;border-radius:50%;background:#67e49d;border:2px solid var(--black);box-shadow:0 0 12px #67e49d; }
.email-access-trigger::after { content:"";position:absolute;inset:-8px;border:1px solid rgba(76,166,255,.3);border-radius:50%;animation:mailRing 2.7s ease-out infinite; }
@keyframes mailRing { from{transform:scale(.82);opacity:.8}to{transform:scale(1.28);opacity:0} }
.email-popover { position:absolute;right:0;bottom:72px;width:min(340px,calc(100vw - 40px));padding:23px;background:#eef3f8;color:#09111b;border:1px solid rgba(9,17,27,.18);box-shadow:0 28px 80px rgba(0,0,0,.42);opacity:0;visibility:hidden;transform:translateY(14px) scale(.96);transform-origin:bottom right;transition:.4s var(--ease-out); }
.email-popover.open { opacity:1;visibility:visible;transform:none; }
.email-popover-close { position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:24px;color:#506070; }
.email-popover>span { font-size:8px;color:#1668b5; }
.email-popover>strong { display:block;margin:20px 0 7px;font:500 28px "Inter Tight";letter-spacing:-.035em; }
.email-popover>p { margin:0 0 22px;color:#586472;font-size:13px;line-height:1.55; }
.email-popover>a,.email-popover>button:not(.email-popover-close) { width:100%;min-height:45px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(9,17,27,.2);background:transparent;color:#09111b;font:9px "IBM Plex Mono";letter-spacing:.06em; }
.email-popover>a { background:#1668b5;color:white;border-color:#1668b5;margin-bottom:8px; }
.email-popover>small { display:block;margin-top:15px;font:9px "IBM Plex Mono";color:#667382; }

/* Image-ready editorial spaces */
.aviation-visuals { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(190px,.72fr);gap:18px;align-items:center; }
.aviation-stage { grid-template-columns:minmax(0,70%) minmax(260px,30%);gap:clamp(20px,3vw,55px); }
.radar { width:100%; }
.photo-slot { position:relative;margin:0;min-height:420px;overflow:hidden;border:1px solid rgba(255,255,255,.22);background-color:#0b1118;background-position:center;background-size:cover;isolation:isolate; }
.photo-slot::before { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 20%,rgba(3,7,12,.84)),repeating-linear-gradient(90deg,transparent 0,transparent 39px,rgba(76,166,255,.1) 40px); }
.hangar-photo { min-height:500px;background:#06090d; }
.photo-slot figcaption { position:absolute;inset:auto 20px 20px;color:var(--white);display:flex;flex-direction:column;align-items:flex-start; }
.photo-slot figcaption>span { font-size:7px;color:var(--blue-2); }
.photo-slot figcaption>strong { margin:12px 0;font:500 clamp(25px,2.5vw,40px)/.94 "Inter Tight";letter-spacing:-.04em; }
.photo-slot figcaption>small { font:8px/1.55 "IBM Plex Mono";color:#9facba; }
.photo-slot figcaption>small b { color:var(--white);font-weight:400; }
.photo-scan { position:absolute;z-index:2;left:0;right:0;top:-20%;height:25%;background:linear-gradient(transparent,rgba(76,166,255,.22),transparent);mix-blend-mode:screen;animation:photoScan 4.8s ease-in-out infinite;pointer-events:none; }
@keyframes photoScan { 0%,15%{transform:translateY(-100%);opacity:0}35%{opacity:1}75%,100%{transform:translateY(520px);opacity:0} }
.education-photos { margin-top:25px;display:grid;grid-template-columns:1.35fr .8fr;gap:24px; }
.education-photos .photo-slot { min-height:430px;border-color:rgba(9,17,27,.25); }
.university-photo,.graduation-photo { background:#06090d; }

/* Additional purposeful motion */
.discipline::after { content:"";position:absolute;left:-30%;top:0;width:20%;height:100%;background:linear-gradient(90deg,transparent,rgba(76,166,255,.08),transparent);transform:skewX(-18deg);transition:left 1.1s var(--ease-out); }
.discipline:hover::after { left:115%; }
.project-card::after { content:"";position:absolute;inset:-1px;border:1px solid transparent;background:linear-gradient(115deg,transparent 20%,rgba(76,166,255,.8),transparent 65%) border-box;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transition:opacity .4s;pointer-events:none; }
.project-card:hover::after { opacity:1;animation:projectBorder 1.8s linear infinite; }
@keyframes projectBorder { to { filter:hue-rotate(35deg); } }

@media (max-width: 1100px) {
  .aviation-stage { grid-template-columns:1fr; }
  .aviation-visuals { grid-template-columns:1fr .62fr; }
  .hangar-photo { min-height:440px; }
  .jetblue-copy { margin-top:30px;max-width:600px; }
}

@media (max-width: 760px) {
  .pointer-glow { display:none; }
  .hero-orbit { width:92px;right:1%;top:55%; }
  .hero-orbit b { animation:none; }
  .section-intro h2,.manifesto h2,.contact h2 { font-size:13.5vw;line-height:.92; }
  .title-line h1 { font-size:14vw;line-height:.84; }
  .hero-title { margin-top:11vh;margin-bottom:8vh; }
  .aviation-visuals { grid-template-columns:1fr; }
  .radar { width:100%; }
  .hangar-photo { min-height:380px; }
  .education-photos { grid-template-columns:1fr; }
  .education-photos .photo-slot { min-height:360px; }
  .email-access { right:16px;bottom:16px; }
  .email-access-trigger { width:52px;height:52px; }
  .metric strong { font-size:25vw; }
  .project-card h3 { font-size:10vw; }
  .manifesto-lines p { font-size:8.7vw; }
  .experience-content h2,.quick-head h2 { font-size:15vw; }
}

/* Unified night-operations theme */
body { background:#05070a;color:#f4f7fb;font-size:16px; }
.jetblue,.education,.impact,.recruiter-overlay,.overlay,.email-popover { background:#05070a;color:#f4f7fb; }
.jetblue::before { background:rgba(255,255,255,.12); }
.jetblue .eyebrow,.education .eyebrow,.impact .eyebrow { color:var(--blue); }
.jetblue .section-intro h2 em,.education .section-intro h2 em { color:var(--blue); }
.hero-copy>p em { color:var(--blue);font-style:normal;font-weight:500; }
.hero-copy>span { font-size:12px; }
.eyebrow { font-size:12px; }

.radar { border-color:rgba(255,255,255,.2);background:radial-gradient(circle,rgba(76,166,255,.14),transparent 60%); }
.radar-grid { background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:40px 40px; }
.radar-grid i { border-color:rgba(255,255,255,.12); }
.radar-grid i:nth-child(4),.radar-grid span { border-color:rgba(255,255,255,.14); }
.sweep { background:conic-gradient(from 0deg,rgba(76,166,255,.22),transparent 55deg); }
.sweep::after { background:var(--blue); }
.aircraft { color:var(--blue); }
.aircraft b { color:var(--white);font-size:11px; }
.radar>small { z-index:4;bottom:9%;left:50%;width:64%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:5px 9px;border:1px solid rgba(123,192,255,.18);background:rgba(5,7,10,.72);color:var(--muted);font-size:clamp(8px,.7vw,10px);line-height:1.35;letter-spacing:.07em;text-align:center;white-space:normal;pointer-events:none;backdrop-filter:blur(6px); }
.radar>small span { display:block;white-space:nowrap; }
.radar>small span+span::before { content:"/";margin-right:8px;color:var(--blue); }
.jetblue-copy>span { color:var(--blue);font-size:12px; }
.jetblue-copy>p { color:var(--white);font-size:clamp(20px,1.8vw,28px); }
.link-button { color:var(--white);border-color:rgba(255,255,255,.3);font-size:12px; }
.role-facts { margin:34px 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line); }
.role-facts div { min-height:92px;padding:15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between; }
.role-facts small { font:11px "IBM Plex Mono",monospace;color:var(--muted);letter-spacing:.08em; }
.role-facts strong { font:500 13px/1.35 "IBM Plex Mono",monospace;color:var(--white); }

.pipeline { border-color:rgba(255,255,255,.2); }
.pipeline-head { color:var(--muted);font-size:11px; }
.pipeline-flow,.tool-rail { border-color:rgba(255,255,255,.12); }
.pipe-node { color:var(--white); }
.pipe-node small,.pipe-node span { color:var(--muted);font-size:11px; }
.pipe-node.active strong { color:var(--blue); }
.pipe-link { background:rgba(255,255,255,.2); }
.pipe-link::after { border-left-color:rgba(255,255,255,.5); }
.tool-rail { color:var(--muted);font-size:11px; }

.photo-slot { border-color:rgba(255,255,255,.2);background:#06090d; }
.image-reveal { opacity:1;clip-path:inset(0);transform:none; }
.image-reveal.in { animation:image-arrive .9s var(--ease-out); }
@keyframes image-arrive { from { opacity:.78;transform:translateY(16px);filter:saturate(.82) brightness(.82); } to { opacity:1;transform:none;filter:none; } }
.photo-slot>img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out),filter .8s; }
.photo-slot:hover>img { transform:scale(1.035);filter:saturate(1.08) contrast(1.03); }
.photo-slot::before { z-index:1;background:linear-gradient(180deg,rgba(5,7,10,.02) 32%,rgba(5,7,10,.88) 100%),linear-gradient(90deg,rgba(5,7,10,.28),transparent 45%); }
.photo-slot figcaption { z-index:3; }
.photo-slot figcaption>span { font-size:11px; }
.photo-slot figcaption>small { font-size:12px;color:#bdc8d4; }
.hangar-photo { min-height:540px; }
.hangar-photo img { object-position:48% center; }

.jetblue-evidence { margin:80px 0 100px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.jetblue-evidence-image { position:relative;margin:0;min-height:680px;overflow:hidden;border-right:1px solid var(--line);background:#080b10; }
.jetblue-evidence-image::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,7,10,.88));pointer-events:none; }
.jetblue-evidence-image img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform 1.2s var(--ease-out); }
.jetblue-evidence-image:hover img { transform:scale(1.035); }
.jetblue-evidence-image figcaption { position:absolute;z-index:2;left:28px;right:28px;bottom:25px;display:flex;align-items:end;justify-content:space-between;gap:20px; }
.jetblue-evidence-image figcaption span { color:var(--blue);font-size:11px; }
.jetblue-evidence-image figcaption strong { font:500 clamp(24px,3vw,48px) "Inter Tight",sans-serif;letter-spacing:-.04em; }
.jetblue-evidence-copy { padding:clamp(35px,5vw,80px);display:flex;flex-direction:column;justify-content:center; }
.jetblue-evidence-copy>span { color:var(--blue);font-size:11px; }
.jetblue-evidence-copy h3 { margin:28px 0;font:500 clamp(38px,5vw,76px)/.9 "Inter Tight",sans-serif;letter-spacing:-.055em; }
.jetblue-evidence-copy p { color:var(--muted);font-size:16px;line-height:1.7; }
.jetblue-evidence-copy>small { margin-top:45px;padding-top:16px;border-top:1px solid var(--line);color:var(--dim);font:11px/1.6 "IBM Plex Mono",monospace;letter-spacing:.05em; }

.presentations { z-index:2;background:#05070a;color:var(--white);border-top:1px solid var(--line);overflow:hidden; }
.presentation-intro { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(35px,7vw,120px);align-items:end; }
.presentation-intro .section-intro { margin:0; }
.presentation-intro .section-intro em { color:var(--blue); }
.presentation-lede { margin:0 0 8px;padding:22px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:clamp(16px,1.45vw,21px);line-height:1.55; }
.presentation-lede>span { display:block;margin-bottom:18px;color:var(--blue);font-size:11px; }
.presentation-grid { margin-top:clamp(55px,7vw,105px);display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(18px,2.7vw,44px);align-items:start; }
.presentation-card { position:relative;margin:0;border:1px solid var(--line);background:#080b10;overflow:hidden;transition:transform .7s var(--ease-out),border-color .4s,box-shadow .7s var(--ease-out); }
.presentation-card-spinnaker { margin-top:clamp(42px,7vw,108px); }
.presentation-card:hover { transform:translateY(-8px);border-color:rgba(76,166,255,.58);box-shadow:0 28px 80px rgba(0,0,0,.35); }
.presentation-image { position:relative;aspect-ratio:1.03/1;overflow:hidden;background:#090d13; }
.presentation-image::after { content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(5,7,10,.32));pointer-events:none; }
.presentation-image>img { width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out),filter .8s; }
.presentation-card:hover .presentation-image>img { transform:scale(1.035);filter:saturate(1.04) contrast(1.02); }
.presentation-card-bu .presentation-image>img { object-position:center 48%; }
.presentation-card-spinnaker .presentation-image>img { object-position:center center; }
.presentation-number { position:absolute;z-index:3;right:18px;top:18px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.36);border-radius:50%;background:rgba(5,7,10,.68);color:var(--white);font-size:11px;backdrop-filter:blur(8px); }
.presentation-card figcaption { min-height:235px;padding:clamp(22px,2.4vw,34px);display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.62fr);grid-template-rows:auto 1fr;column-gap:28px;border-top:1px solid var(--line); }
.presentation-card figcaption>span { grid-column:1/-1;color:var(--blue);font-size:11px; }
.presentation-card figcaption>strong { align-self:end;margin-top:40px;font:500 clamp(30px,3.3vw,52px)/.92 "Inter Tight",sans-serif;letter-spacing:-.05em; }
.presentation-card figcaption>p { align-self:end;margin:40px 0 0;color:var(--muted);font-size:15px;line-height:1.65; }

.impact { border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.impact-label { color:var(--blue);font-size:12px; }
.metric { border-color:var(--line); }
.metric strong { color:var(--blue); }
.metric p { color:var(--white); }
.metric small { color:var(--muted);font-size:11px; }
.career-node.featured button { background:#05070a;color:var(--white);border:1px solid var(--blue);box-shadow:inset 0 0 50px rgba(76,166,255,.08); }
.career-node.featured span,.career-node.featured small { color:var(--blue-2); }
.career-node.featured button>i { background:var(--blue);border-color:var(--white); }

.education-map { opacity:.2; }
.education-map span { color:var(--blue);font-size:11px; }
.degrees { border-color:rgba(255,255,255,.2); }
.degrees article+article { border-color:rgba(255,255,255,.2); }
.degrees article>span { color:var(--muted);font-size:11px; }
.degrees p { color:var(--muted); }
.degrees strong { color:var(--blue); }
.degrees footer { color:var(--muted);border-color:var(--line);font-size:11px; }
.education-photos { margin-top:32px;grid-template-columns:1fr 1fr;gap:20px; }
.education-photos .photo-slot { min-height:660px;border-color:rgba(255,255,255,.2); }
.psu-photo img { object-position:center 38%; }
.bu-photo img { object-position:center 42%; }

.overlay { background:#05070a;color:var(--white); }
.overlay-close { color:var(--white);border-color:var(--line); }
.experience-columns,.quick-grid { border-color:var(--line); }
.quick-grid article { border-color:var(--line); }
.quick-head>span,.quick-grid span { color:var(--blue); }
.quick-grid p { color:var(--muted); }
.quick-grid a { border-color:var(--line); }
.email-popover { border-color:var(--line-strong);box-shadow:0 28px 80px rgba(0,0,0,.72); }
.email-popover-close { color:var(--muted); }
.email-popover>span { color:var(--blue); }
.email-popover>p,.email-popover>small { color:var(--muted); }
.email-popover>a,.email-popover>button:not(.email-popover-close) { color:var(--white);border-color:var(--line-strong); }
.email-popover>a { background:var(--blue);color:#05070a;border-color:var(--blue); }

@media (max-width: 980px) {
  .jetblue-evidence { grid-template-columns:1fr; }
  .jetblue-evidence-image { min-height:600px;border-right:0;border-bottom:1px solid var(--line); }
  .presentation-intro { grid-template-columns:1fr;gap:30px; }
  .presentation-lede { max-width:620px; }
  .presentation-grid { grid-template-columns:1fr; }
  .presentation-card-spinnaker { margin-top:0; }
  .education-photos .photo-slot { min-height:560px; }
}

@media (max-width: 650px) {
  body { font-size:16px; }
  .hero-copy>p { font-size:23px; }
  .hero-copy>span { font-size:12px; }
  .aviation-stage { margin-top:45px; }
  .aviation-visuals { gap:14px; }
  .radar>small { bottom:10%;width:62%;gap:2px;padding:5px 7px;font-size:8px; }
  .radar>small span { flex-basis:100%; }
  .radar>small span+span::before { content:"";margin:0; }
  .hangar-photo { min-height:390px; }
  .role-facts { grid-template-columns:1fr; }
  .jetblue-evidence { margin:55px 0 70px; }
  .jetblue-evidence-image { min-height:470px; }
  .jetblue-evidence-image figcaption { left:18px;right:18px;bottom:18px;display:block; }
  .jetblue-evidence-image figcaption strong { display:block;margin-top:8px; }
  .jetblue-evidence-copy { padding:32px 0; }
  .presentation-grid { margin-top:50px; }
  .presentation-image { aspect-ratio:1/1; }
  .presentation-card figcaption { min-height:0;grid-template-columns:1fr; }
  .presentation-card figcaption>strong,.presentation-card figcaption>p { margin-top:28px; }
  .presentation-card figcaption>p { font-size:15px; }
  .education-photos { grid-template-columns:1fr; }
  .education-photos .photo-slot { min-height:560px; }
  .photo-slot figcaption>strong { font-size:30px; }
}
