/* FINAL INTERFACE REFINEMENT — blue/white editorial system */

/* Navigation */
.desktop-nav a[href="#education"]{display:inline-flex}

/* Selected work: one project at a time, not a competing two-column grid */
.project-cards{display:grid;grid-template-columns:1fr;gap:18px}
.project-feature{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);min-height:620px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--surface);position:relative}
.project-feature--prometheus{grid-template-columns:minmax(340px,.98fr) minmax(0,1.02fr)}
.project-feature-main{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,76px);position:relative;z-index:2}
.project-feature-copy{max-width:680px;margin:auto 0}
.project-feature-label{font:700 9px "DM Mono",monospace;letter-spacing:.16em;color:var(--accent);margin:0 0 18px}
.project-feature-copy h3{font-size:clamp(50px,6vw,92px);line-height:.88;letter-spacing:-.075em;margin:0 0 24px;max-width:11ch}
.project-feature-copy h3 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--accent)}
.project-feature-copy>p:not(.project-feature-label){max-width:58ch;color:var(--muted);line-height:1.8;margin:0}
.project-feature-meta{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font:700 8px "DM Mono",monospace;letter-spacing:.13em;color:var(--dim)}
.project-feature-meta span:last-child{color:var(--accent)}
.project-feature-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:28px}
.project-feature-tags span{border:1px solid var(--line2);padding:8px 10px;font:700 8px "DM Mono",monospace;letter-spacing:.08em;color:var(--muted)}
.project-feature-bottom{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:38px}
.project-feature-link{font:700 8px "DM Mono",monospace;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.project-feature-link:hover{color:var(--accent)}
.project-feature-visual{min-height:100%;position:relative;overflow:hidden;background:#09111e;border-left:1px solid var(--line)}
.project-feature--prometheus .project-feature-visual{border-left:0;border-right:1px solid var(--line)}
.project-feature-visual--hire{display:grid;place-items:center;padding:clamp(24px,4vw,60px);background:radial-gradient(circle at 50% 45%,rgba(79,140,255,.18),transparent 42%),linear-gradient(145deg,#0a1424,#0d1b2d)}
.project-feature-visual--hire:before{content:"";position:absolute;width:58%;aspect-ratio:1;border:1px solid rgba(98,233,255,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(98,233,255,.025),0 0 0 110px rgba(98,233,255,.015)}
.visual-label{position:absolute;top:24px;left:26px;font:700 8px "DM Mono",monospace;letter-spacing:.14em;color:var(--accent)}
.flow-board{position:relative;z-index:2;width:min(100%,500px);display:grid;grid-template-columns:1fr;gap:9px}
.flow-card{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;border:1px solid rgba(180,205,238,.16);background:rgba(10,21,36,.82);padding:16px 18px;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.flow-card small{font:700 8px "DM Mono",monospace;color:var(--accent)}.flow-card strong{font:700 14px "Space Grotesk",sans-serif;letter-spacing:-.02em}.flow-card span{font:500 8px "DM Mono",monospace;color:var(--muted);text-align:right}.flow-line{height:18px;width:1px;background:var(--accent);opacity:.35;margin:-9px auto}
.project-feature-visual--prometheus{display:flex;align-items:stretch;padding:clamp(18px,3vw,32px);background:#08111d}
.project-evidence-image{position:relative;width:100%;height:100%;min-height:520px;margin:0;border:1px solid var(--line2);overflow:hidden;background:#07101b}
.project-evidence-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.05)}
.project-evidence-image figcaption{position:absolute;inset:auto 0 0;padding:50px 22px 22px;display:flex;justify-content:space-between;gap:15px;align-items:end;background:linear-gradient(transparent,rgba(4,9,17,.92));color:#fff}.project-evidence-image figcaption span{font:700 8px "DM Mono",monospace;letter-spacing:.13em;color:var(--accent)}.project-evidence-image figcaption strong{font:600 14px "Space Grotesk",sans-serif;text-align:right}

/* Education timeline: remove the accidental pill/oval treatment */
.elite-timeline .timeline-stamp{border-radius:0!important;background:transparent!important;border:0!important;padding:8px 0!important;position:relative}
.elite-timeline .timeline-stamp:after{content:"";display:block;width:24px;height:1px;background:var(--accent);margin-top:14px;opacity:.55}
.elite-timeline .timeline-chip{border-radius:0!important;padding:7px 0!important;border:0!important;border-top:1px solid var(--line)!important;color:var(--accent)!important;background:transparent!important}

/* Contact: information + map, then one clean message-doorway */
.contact-layout{display:grid!important;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;gap:18px!important;align-items:stretch}
.contact-list{border:1px solid var(--line)!important;border-radius:24px;padding:8px 24px;background:var(--surface);box-shadow:0 25px 80px rgba(0,0,0,.12)}
.contact-list>a,.contact-list>button,.location-note{grid-template-columns:130px 1fr auto!important;padding:20px 0!important;border-bottom:1px solid var(--line)!important;transition:padding .3s,border-color .3s,transform .3s}.contact-list>a:last-of-type{border-bottom:1px solid var(--line)!important}.contact-list>a:hover,.contact-list>button:hover{padding-left:8px!important}.contact-list strong{font:600 clamp(13px,1.5vw,17px)/1.25 "Space Grotesk",sans-serif}.contact-list i{font:700 8px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.location-note{border-bottom:0!important}
.contact-map-wrap{border:1px solid var(--line)!important;border-radius:24px!important;min-height:470px;overflow:hidden;box-shadow:0 25px 80px rgba(0,0,0,.12)}
.contact-direct{margin-top:18px;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,4vw,38px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;background:linear-gradient(135deg,#0a1423,#0e1b2e);box-shadow:0 30px 90px rgba(0,0,0,.18)}
.contact-direct-index{font:700 8px "DM Mono",monospace;letter-spacing:.13em;color:var(--accent)}.contact-direct strong{font:600 clamp(24px,3vw,38px)/1 "Space Grotesk",sans-serif;letter-spacing:-.04em}.contact-direct p{margin:6px 0 0;color:var(--muted);font-size:12px}.contact-direct .button{white-space:nowrap}
.contact-dialog{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px}.contact-dialog[hidden]{display:none}.contact-dialog-backdrop{position:absolute;inset:0;border:0;background:rgba(2,5,11,.78);backdrop-filter:blur(18px);cursor:pointer}.contact-dialog-panel{position:relative;width:min(680px,100%);max-height:min(90vh,850px);overflow:auto;border:1px solid rgba(180,205,238,.2);border-radius:28px;background:linear-gradient(145deg,#0b1423,#0d1a2b);padding:clamp(26px,5vw,48px);box-shadow:0 45px 140px rgba(0,0,0,.5)}.contact-dialog-head{display:flex;justify-content:space-between;align-items:center}.contact-dialog-head>span{font:700 8px "DM Mono",monospace;letter-spacing:.14em;color:var(--accent)}.contact-dialog-close{width:40px;height:40px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:25px;cursor:pointer}.contact-dialog-panel h3{font:600 clamp(48px,8vw,78px)/.9 "Space Grotesk",sans-serif;letter-spacing:-.07em;margin:34px 0 12px}.contact-dialog-panel>p{max-width:55ch;color:var(--muted);line-height:1.7;margin-bottom:28px}.contact-dialog .contact-form{border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}.contact-dialog .contact-form label{margin-bottom:18px;color:var(--muted)}.contact-dialog .contact-form input,.contact-dialog .contact-form textarea{border:1px solid var(--line2)!important;background:rgba(255,255,255,.025)!important;padding:14px!important;margin-top:8px;border-radius:10px}.contact-dialog .contact-form textarea{min-height:150px}.contact-dialog .contact-form input:focus,.contact-dialog .contact-form textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(79,140,255,.10)!important}.contact-dialog .contact-form .full{margin-top:6px}.contact-dialog-foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font:600 8px "DM Mono",monospace;letter-spacing:.08em;color:var(--dim)}body.dialog-open{overflow:hidden}

/* Game hub: clearer matrix + functional category controls */
.games{grid-template-columns:repeat(4,1fr)!important;gap:1px!important;border:1px solid var(--game-line);background:var(--game-line);border-radius:22px;overflow:hidden}.game{min-height:270px;padding:24px!important}.game--featured{grid-column:span 2;grid-row:span 2;min-height:541px!important;background:radial-gradient(circle at 75% 25%,rgba(79,140,255,.15),transparent 34%),linear-gradient(145deg,#0d1d31,#0b1424)!important}.game--featured h2{font-size:clamp(58px,7vw,105px)!important}.game-corner{font:700 9px var(--game-mono);color:var(--game-blue);letter-spacing:.12em}.game-topline{position:relative;z-index:2}.game-body{position:relative;z-index:2}.game-glyph{display:grid!important;place-items:center;width:46px;height:46px;border:1px solid var(--game-line2);border-radius:12px;font:700 9px var(--game-mono);color:var(--game-blue);margin-bottom:22px;background:rgba(79,140,255,.04)}.game h2{font-size:clamp(30px,3vw,48px)!important;letter-spacing:-.055em}.game p{max-width:31ch!important}.game:after{content:"";position:absolute;inset:auto -20% -35% auto;width:180px;aspect-ratio:1;border:1px solid rgba(79,140,255,.08);border-radius:50%;pointer-events:none}.filters{gap:7px!important;padding:14px 0!important}.filter{display:inline-flex!important;align-items:center;gap:8px!important;border-radius:999px!important;padding:9px 11px!important}.filter small{min-width:16px;text-align:center;color:currentColor;font-size:7px;opacity:.7}.filter.active{box-shadow:0 8px 24px rgba(255,255,255,.08)}.games .game[hidden]{display:none!important}

@media(max-width:1050px){.project-feature,.project-feature--prometheus{grid-template-columns:1fr}.project-feature-visual,.project-feature--prometheus .project-feature-visual{border:0;border-top:1px solid var(--line);min-height:470px}.project-evidence-image{min-height:420px}.contact-layout{grid-template-columns:1fr 1fr!important}.games{grid-template-columns:repeat(3,1fr)!important}.game--featured{grid-column:span 2;grid-row:span 2}}
@media(max-width:760px){.project-feature-main{padding:30px}.project-feature-copy h3{font-size:clamp(46px,13vw,74px)}.project-feature-visual{padding:18px}.project-evidence-image{min-height:340px}.project-evidence-image figcaption{display:block}.project-evidence-image figcaption strong{display:block;text-align:left;margin-top:6px}.contact-layout{grid-template-columns:1fr!important}.contact-list{padding:6px 18px}.contact-direct{grid-template-columns:1fr;gap:12px}.contact-direct .button{justify-self:start}.contact-dialog{padding:10px}.contact-dialog-panel{border-radius:20px;padding:24px;max-height:94vh}.contact-dialog-panel h3{font-size:54px;margin-top:28px}.games{grid-template-columns:1fr 1fr!important}.game--featured{grid-column:span 2;grid-row:auto;min-height:360px!important}}
@media(max-width:500px){.contact-list>a,.contact-list>button,.location-note{grid-template-columns:1fr auto!important;gap:7px!important}.contact-list span{grid-column:1/-1}.games{grid-template-columns:1fr!important}.game--featured{grid-column:auto;min-height:320px!important}.filter{flex:1 0 auto;justify-content:space-between}.filters{position:static}.flow-card{grid-template-columns:30px 1fr}.flow-card span{display:none}}

/* Full interactive-lab gateway — one deliberate destination */
.experiment-gateway{position:relative;overflow:hidden;padding:clamp(90px,12vw,150px) 0!important;background:radial-gradient(circle at 78% 38%,rgba(79,140,255,.16),transparent 28%),radial-gradient(circle at 15% 85%,rgba(98,233,255,.07),transparent 25%),#07111f!important;border-block:1px solid var(--line)!important}
.experiment-gateway:before{content:"LAB / 030";position:absolute;right:4vw;top:32px;font:700 8px "DM Mono",monospace;letter-spacing:.16em;color:rgba(180,205,238,.28)}
.experiment-gateway .gateway{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;min-height:430px;padding:clamp(32px,6vw,72px)!important;border:1px solid rgba(180,205,238,.16)!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(15,31,51,.92),rgba(8,17,30,.94))!important;position:relative;overflow:hidden}
.experiment-gateway .gateway:after{content:"30";position:absolute;right:-.04em;bottom:-.23em;font:700 clamp(230px,34vw,500px)/.75 "Space Grotesk",sans-serif;letter-spacing:-.12em;color:rgba(79,140,255,.055);pointer-events:none}
.experiment-gateway .gateway>div:first-child{position:relative;z-index:2}.experiment-gateway h2{font-size:clamp(62px,9vw,132px)!important;line-height:.78!important;letter-spacing:-.085em!important;max-width:9ch!important;margin:20px 0 28px!important}.experiment-gateway h2 em{color:transparent!important;-webkit-text-stroke:1px var(--accent)}.experiment-gateway .section-summary{max-width:610px!important;color:var(--muted)!important}.experiment-gateway .button{position:relative;z-index:3;white-space:nowrap;align-self:end}.gateway-meta{grid-column:1/-1;position:relative;z-index:3;display:grid!important;grid-template-columns:repeat(4,1fr);gap:1px!important;margin-top:20px;border:1px solid var(--line)!important;background:var(--line);padding:0!important}.gateway-meta span{background:rgba(255,255,255,.025);padding:17px!important;color:var(--muted)!important;font:700 8px "DM Mono",monospace;letter-spacing:.11em;text-align:center}.gateway-meta span:first-child{color:var(--accent)!important}

@media(max-width:760px){.experiment-gateway .gateway{grid-template-columns:1fr;gap:28px;min-height:0;padding:30px!important}.experiment-gateway h2{font-size:clamp(54px,15vw,90px)!important}.experiment-gateway .button{justify-self:start}.gateway-meta{grid-template-columns:1fr 1fr!important}.experiment-gateway:before{display:none}}
@media(max-width:500px){.gateway-meta{grid-template-columns:1fr!important}.gateway-meta span{text-align:left}}

/* Navigation theme balance: light mode uses a white header surface; dark mode uses a deep surface. */
html[data-theme="light"] .site-header{background:rgba(255,255,255,.92)!important;border-color:rgba(24,36,64,.10)!important;box-shadow:0 10px 35px rgba(24,36,64,.06)}
html[data-theme="light"] .desktop-nav a{color:#182440!important}
html[data-theme="light"] .desktop-nav a:hover,html[data-theme="light"] .desktop-nav a.active{color:var(--accent)!important}
html[data-theme="dark"] .site-header{background:rgba(7,8,18,.88)!important;border-color:rgba(166,185,230,.12)!important}
html[data-theme="dark"] .desktop-nav a{color:#e8eef9!important}
html[data-theme="dark"] .desktop-nav a:hover,html[data-theme="dark"] .desktop-nav a.active{color:var(--accent)!important}
