:root{--bg:#191720;--panel:#211e2a;--ink:#f2edf6;--muted:#b9b2c5;--pink:#ff99c8;--cyan:#7de0df;--violet:#c6a2fa;--line:#48404f;--mono:'Cascadia Code','SFMono-Regular',Consolas,monospace;--sans:Inter,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(#a49ab207 1px,transparent 1px),linear-gradient(90deg,#a49ab207 1px,transparent 1px),var(--bg);background-size:32px 32px;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:wait}button,a{transition:color .2s,background .2s,border-color .2s,transform .2s}a:hover{color:var(--cyan)}::selection{background:var(--pink);color:var(--bg)}:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}h1,h2,h3,p{margin:0}h1{font-size:clamp(2.6rem,5vw,4.35rem);line-height:1.13;font-weight:650;letter-spacing:-.055em}h1 em{font-style:normal;color:var(--pink)}h2{font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:-.04em;line-height:1.25;font-weight:600}h3{font-size:1.25rem;letter-spacing:-.025em;font-weight:600}p{color:var(--muted)}[hidden]{display:none!important}.skip{position:fixed;left:1rem;top:-100px;background:var(--cyan);color:var(--bg);z-index:100;padding:1rem}.skip:focus{top:1rem}.header{border-bottom:1px solid var(--line);background:#191720f2}.masthead{max-width:1280px;margin:auto;padding:27px 40px 18px;display:flex;align-items:center;gap:28px}.wordmark{font-family:var(--mono);font-size:1.55rem;font-weight:700;letter-spacing:-.06em;white-space:nowrap}.wordmark span{color:var(--pink)}.cursor{color:var(--cyan)!important}.mastnote{font-family:var(--mono);font-size:.75rem;color:var(--muted);letter-spacing:.06em}.email-link{margin-left:auto;font-family:var(--mono);font-size:.875rem}.email-link span{color:var(--pink);margin-left:12px}nav{display:flex;gap:4px;max-width:1280px;margin:auto;padding:0 40px}nav a{padding:12px 24px 14px;border:1px solid transparent;border-bottom:none;font: .875rem var(--mono);color:var(--muted);position:relative;top:1px}nav a.active{border-color:var(--line);background:var(--bg);border-top:2px solid var(--pink);color:var(--ink)}nav a:hover{background:#ffffff05}.flight-nav{margin-left:auto;color:var(--cyan)}.flight-nav span{margin-right:8px}main{max-width:1280px;padding:48px 40px 70px;margin:auto;min-height:70vh}.plate{border:1px solid var(--line);background:#211e2a99;position:relative}.plate:before,.plate:after{content:'';width:11px;height:11px;position:absolute;border:1px solid var(--muted);pointer-events:none}.plate:before{top:-6px;left:-6px;border-right:0;border-bottom:0}.plate:after{bottom:-6px;right:-6px;border-left:0;border-top:0}.plate-top{display:flex;justify-content:space-between;padding:14px 25px;border-bottom:1px solid var(--line);font: .75rem var(--mono);letter-spacing:.07em;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;min-height:485px}.hero-copy{padding:42px 0 28px 40px;position:relative;z-index:1}.eyebrow{font:.75rem var(--mono);letter-spacing:.1em;line-height:1.6;color:var(--cyan);margin-bottom:18px}.hero-copy .eyebrow{font-size:.875rem;letter-spacing:0;color:var(--ink)}.hero-copy .eyebrow span{color:var(--pink);margin-right:12px}.hero-copy h1{font-size:clamp(2.6rem,4.4vw,3.65rem)}.lede{font-size:1.125rem;line-height:1.7;max-width:690px;margin-top:24px}.hero-copy .lede{font-size:1rem;max-width:440px}.actions{display:flex;align-items:center;gap:12px;margin-top:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:12px 19px;font: .875rem var(--mono);border:1px solid var(--line);color:var(--ink);background:transparent;min-height:46px}.primary{color:var(--bg);background:var(--pink);border-color:var(--pink);font-weight:600}.primary:hover{background:#ffb8d9;color:var(--bg);border-color:#ffb8d9;transform:translateY(-2px)}.text-button{border-color:transparent;padding-left:12px;color:var(--muted)}.hero-foot{display:flex;gap:22px;margin-top:38px;font:.75rem var(--mono);color:#a89eb6}.hero-visual{position:relative;min-height:450px;overflow:hidden;background:radial-gradient(ellipse at 45% 55%,#39324c88,transparent 67%)}#preview-canvas{width:100%;height:100%;position:absolute;inset:0}canvas{display:block;width:100%;height:100%}.visual-mark{position:absolute;z-index:2;top:24px;right:24px;display:flex;flex-direction:column;text-align:right;font:.75rem var(--mono);color:var(--muted);gap:4px}.visual-mark span:first-child{color:var(--cyan)}.visual-caption{position:absolute;bottom:26px;left:28px;right:24px;z-index:2;display:flex;justify-content:space-between;gap:8px;font:.75rem var(--mono);color:var(--muted)}.visual-caption a{color:var(--cyan)}#preview-fallback{position:absolute;inset:35% 8%;font-family:var(--mono)}#preview-fallback span{color:var(--cyan);font-size:.75rem}#preview-fallback p{font-size:1.5rem;margin-top:20px}.titleblock{display:flex;justify-content:space-between;border-top:1px solid var(--line);font:.75rem var(--mono);color:var(--muted)}.titleblock span{padding:11px 22px;border-right:1px solid var(--line)}.titleblock span:first-child{flex:1}.titleblock span:last-child{border:0}.section-heading{margin:58px 0 28px;display:flex;align-items:end;justify-content:space-between;gap:25px}.section-heading .eyebrow{margin-bottom:9px}.section-heading>p{font-size:.875rem}.discipline-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.discipline-grid>a{padding:28px;border-right:1px solid var(--line);background:#211e2a55}.discipline-grid>a:last-child{border-right:0}.discipline-grid a:hover{background:#2d263b}.discipline-grid b{font:.75rem var(--mono);color:var(--pink)}.discipline-grid h3{margin:15px 0 9px}.discipline-grid p{font-size:.95rem;margin-bottom:20px}.discipline-grid span{font:.75rem var(--mono);color:var(--cyan)}.selected-header{display:flex;justify-content:space-between;align-items:center;margin:50px 0 20px}.selected-header .eyebrow{margin:0}.selected-header>a{font:.875rem var(--mono)}.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.feature-card{display:block;position:relative;border:1px solid var(--line);background:#211e2a88;padding:30px}.feature-card:hover{border-color:var(--accent);background:#2a2534}.card-top{display:flex;justify-content:space-between;font:.75rem var(--mono);color:var(--muted);margin-bottom:35px}.card-number{color:var(--accent)}.feature-card h3{font-size:1.7rem;line-height:1.3;max-width:330px;margin-bottom:12px}.feature-card p{max-width:420px}.card-bottom{border-top:1px solid var(--line);padding-top:19px;margin-top:28px;display:flex;justify-content:space-between;gap:8px;font:.75rem var(--mono)}.card-bottom span:first-child{color:var(--accent)}.invitation{margin-top:60px;padding:42px 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(100deg,#c6a2fa09,transparent)}.invitation p:not(.eyebrow){max-width:700px;margin-top:15px}.invitation .button{margin-top:26px}.page-heading{padding:15px 0 44px;border-bottom:1px solid var(--line);margin-bottom:32px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px}.filters button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:9px 16px;font: .875rem var(--mono)}.filters button[aria-pressed=true]{border-color:var(--pink);color:var(--pink);background:#ff99c80b}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{padding:30px;border:1px solid var(--line);background:#211e2a88;display:flex;flex-direction:column}.project-card .eyebrow{color:var(--accent);margin-bottom:10px}.project-card h2{font-size:1.7rem;margin-bottom:15px}.project-card>p{margin-bottom:22px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px}.tags span{padding:4px 8px;font:.75rem var(--mono);color:var(--muted);border:1px solid #48404f99}.project-card .card-actions{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px}.card-actions button{background:none;border:0;padding:0;font:.875rem var(--mono);color:var(--accent)}.card-actions a{font:.75rem var(--mono);color:var(--muted)}.career-layout{display:grid;grid-template-columns:290px 1fr;gap:70px}.career-layout aside{padding-top:20px}.career-layout aside>p:not(.eyebrow){margin-top:18px}.career-stat{padding:24px 0;border-bottom:1px solid var(--line)}.career-stat strong{display:block;color:var(--pink);font:2.5rem var(--mono)}.career-stat span{color:var(--muted);font-size:.875rem}.subtle{font-size:.75rem}.timeline{border-left:1px solid var(--line);margin-left:8px}.timeline-item{padding:0 0 30px 30px;position:relative}.timeline-item:before{content:'';width:7px;height:7px;position:absolute;left:-4px;top:9px;background:var(--cyan)}.timeline-item>span{font:.75rem var(--mono);color:var(--pink)}.timeline-item h3{margin:6px 0 8px}.about-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:60px;align-items:start}.about-copy>p{margin-bottom:22px}.big-paragraph{font-size:1.55rem;color:var(--ink);line-height:1.6}.about-copy h2{margin-top:38px;font-size:1.8rem}.values{list-style:none;padding:0;margin:22px 0}.values li{display:flex;gap:25px;padding:20px 0;border-top:1px solid var(--line)}.values li>span{font:.875rem var(--mono);color:var(--pink);padding-top:4px}.values h3{font-size:1rem;margin-bottom:4px}.values p{font-size:.95rem}.about-aside{padding:30px}.about-aside dt{font:.75rem var(--mono);color:var(--muted);margin-top:22px}.about-aside dd{margin:7px 0 0;font-size:.95rem}.about-aside dd a{overflow-wrap:anywhere;color:var(--cyan)}.about-aside .button{margin-top:20px;width:100%}.contact-band{margin-top:60px;padding-top:36px;border-top:1px solid var(--line)}.contact-band>a{display:block;font-size:1.25rem;color:var(--pink);margin-top:16px}footer{max-width:1280px;margin:auto;padding:26px 40px 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px}footer>div{display:flex;align-items:center;gap:25px}footer span,footer>div>a:not(.wordmark){font:.75rem var(--mono);color:var(--muted)}footer .wordmark{font-size:1.1rem}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);max-width:740px;width:calc(100% - 32px);max-height:85vh;padding:42px;overscroll-behavior:contain}dialog::backdrop{background:#090810bf;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:14px;top:10px;background:transparent;border:0;color:var(--muted);font-size:2rem;padding:0 10px}#dialog-title{font-size:2.15rem;margin-bottom:12px}.dialog-org{font:.875rem var(--mono);color:var(--accent);margin-bottom:24px!important}.dialog-body{font-size:1.05rem}dialog ul{padding-left:20px;color:var(--muted)}dialog li{margin-bottom:12px}dialog .tags{margin-top:25px;margin-bottom:0}.dialog-metric{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;display:flex;align-items:center;gap:22px}.dialog-metric strong{font:2.3rem var(--mono);color:var(--accent)}.dialog-metric span{font:.875rem var(--mono);color:var(--muted)}.explore-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px;gap:20px}.explore-heading h1{font-size:2.5rem}.explore-heading h1 span{color:var(--pink)}.explore-heading .eyebrow{margin-bottom:8px}.explore-heading>a{font:.875rem var(--mono);color:var(--muted)}.flight-stage{height:min(72vh,780px);min-height:480px;position:relative;border:1px solid var(--line);overflow:hidden;background:#151821}.flight-stage:fullscreen{height:100vh;width:100vw;border:0}#world-canvas{position:absolute;inset:0;outline-offset:-5px}.world-top{position:absolute;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.world-label{font:.75rem var(--mono);color:#dce4ea;letter-spacing:.05em;background:#10141bb5;padding:10px 12px;align-self:start}.world-label b{font-weight:400;color:#a5adb8}.world-tools{display:flex;gap:5px;pointer-events:auto}.world-tools button,.map-title button{font:.75rem var(--mono);color:var(--ink);padding:9px 12px;border:1px solid #a0b0c144;background:#141823c9}.world-tools button:hover{border-color:var(--cyan);color:var(--cyan)}.flight-hud{position:absolute;left:20px;top:78px;display:flex;gap:18px;padding:13px 16px;background:#10141bad;border:1px solid #a0b0c133;font-family:var(--mono);pointer-events:none}.flight-hud>div{display:grid;grid-template-columns:auto auto;column-gap:5px}.flight-hud span{grid-column:span 2;font-size:.65rem;color:#b5c1cc}.flight-hud strong{font-size:1.25rem;color:#e8eff5;font-weight:400}.flight-hud small{font-size:.65rem;color:var(--cyan);align-self:center}.world-bottom{position:absolute;bottom:15px;left:20px;right:20px;display:flex;justify-content:space-between;gap:15px;align-items:center;font:.75rem var(--mono);color:#dce4ea}.control-hint{display:flex;gap:15px;padding:10px 12px;background:#10141bad}.control-hint>span{white-space:nowrap}kbd{font:inherit;padding:2px 4px;border:1px solid #7d879755;color:var(--cyan);margin-right:3px}#flight-message{background:#10141bad;padding:10px 12px;text-align:right}.flight-note{font:.75rem/1.6 var(--mono);margin-top:14px}.nearby-button{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);font:.875rem var(--mono);padding:13px 20px;background:var(--cyan);border:1px solid #c3ffff;color:#15222a;max-width:90%}.world-map{position:absolute;right:20px;top:72px;width:340px;max-width:calc(100% - 40px);background:#171a24f5;backdrop-filter:blur(12px);border:1px solid var(--line);padding:20px;max-height:calc(100% - 100px);overflow:auto}.map-title{display:flex;justify-content:space-between;align-items:center;font:.75rem var(--mono);color:var(--cyan)}.map-title button{border:0;padding:0 5px;font-size:1.6rem}.world-map>p{font-size:.875rem;margin:8px 0 12px}.world-map button[data-destination]{display:block;text-align:left;width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:12px 0;color:var(--ink);font:.875rem var(--mono)}.world-map button[data-destination] span{color:var(--accent);margin-right:10px}.world-map button[data-destination]:hover{color:var(--cyan)}.flight-loading,.world-error{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#171923;text-align:center;padding:30px}.flight-loading h2,.world-error h2{margin-bottom:18px}.world-error p{max-width:430px;margin-bottom:25px}.touch-controls{display:none;position:absolute;left:18px;right:18px;bottom:62px;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:8px}.touch-controls button{pointer-events:auto;background:#141823bc;color:var(--cyan);border:1px solid #7d879755;width:48px;height:48px;font-size:1.5rem;touch-action:none;user-select:none}.touch-controls button:active{background:#7de0df44}@media(max-width:1050px){.mastnote{display:none}.hero-grid{grid-template-columns:1.1fr 1fr}.hero-copy{padding-left:28px}.hero-copy h1{font-size:3rem}.hero-foot{gap:10px;flex-direction:column;margin-top:25px}.visual-caption{flex-direction:column}.world-label b{display:none}.control-hint{gap:7px}.control-hint>span:nth-child(3){display:none}.career-layout{gap:40px}.about-grid{gap:35px}}@media(max-width:760px){.masthead{padding:22px 20px 16px}.wordmark{font-size:1.3rem}.email-link{font-size:.75rem}.masthead{gap:12px}nav{padding:0 12px;gap:0}nav a{padding:12px 10px;font-size:.75rem}.flight-nav span{display:none}.flight-nav{margin-left:0}main{padding:28px 20px 45px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:30px 25px 20px}.hero-copy h1{font-size:clamp(2.35rem,7.8vw,3.7rem)}.hero-visual{min-height:320px;border-top:1px solid #48404f55}.hero-foot{flex-direction:row;gap:15px;font-size:.65rem}.hero-copy .lede{max-width:none}.plate-top{font-size:.65rem;padding:12px 17px}.titleblock{font-size:.6rem}.titleblock span{padding:10px 12px}.titleblock span:nth-child(2){display:none}.section-heading{display:block;margin-top:40px}.section-heading>p{margin-top:15px}.discipline-grid{grid-template-columns:1fr}.discipline-grid>a{border-right:0;border-bottom:1px solid var(--line);padding:24px}.discipline-grid>a:last-child{border-bottom:0}.discipline-grid span{font-size:.75rem}.featured-grid,.project-grid{grid-template-columns:1fr}.feature-card{padding:24px}.card-top{margin-bottom:22px}.invitation{padding:30px 15px;margin-top:40px}.page-heading{padding-top:10px}.page-heading h1{font-size:2.5rem}.career-layout,.about-grid{grid-template-columns:1fr;gap:35px}.career-layout aside{display:none}.about-aside{order:-1}.about-aside dl{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}.about-aside dt{grid-column:1;margin-top:10px}.about-aside dd{grid-column:2;margin:10px 0 0;overflow-wrap:anywhere;font-size:.875rem}.about-aside .button{margin-top:10px}.big-paragraph{font-size:1.3rem}footer{padding:22px 20px;display:block}footer>div{justify-content:space-between;gap:12px}footer>div:first-child{margin-bottom:20px}footer>div:first-child>span{display:none}dialog{padding:34px 24px}.explore-heading{display:block}.explore-heading h1{font-size:2rem}.explore-heading>a{display:inline-block;margin-top:12px}.flight-stage{height:65vh;min-height:510px}.world-top{left:12px;right:12px;top:12px;flex-direction:column}.world-label{font-size:.65rem;padding:7px 10px}.world-tools{flex-wrap:wrap}.world-tools button{padding:8px 9px}.flight-hud{left:12px;top:100px;padding:9px 12px;gap:14px}.control-hint{display:none}.world-bottom{left:12px;right:12px;bottom:12px;justify-content:center}#flight-message{text-align:center;font-size:.75rem}.touch-controls{display:flex}.nearby-button{bottom:122px;width:max-content;font-size:.75rem;max-width:90%}.world-map{top:95px;right:12px;width:330px;z-index:4}.visual-caption{flex-direction:row}.visual-mark{top:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button{transition:none}}
/* Compact viewports keep navigation labels readable and independently scrollable. */
@media(max-width:760px){nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;scrollbar-color:var(--line) transparent}nav a{font-size:.875rem;white-space:nowrap;flex-shrink:0;padding:12px 11px}.plate-top,.hero-foot,.flight-hud span,.flight-hud small,.world-label{font-size:.75rem}.titleblock{font-size:.75rem}.titleblock span:last-child{display:none}.world-top{gap:6px}.flight-hud{top:108px}}
@media(hover:none) and (min-width:761px){.touch-controls{display:flex}.control-hint{display:none}.nearby-button{bottom:122px}}
