:root {
 --bg-primary:#090909;
 --bg-secondary:#11100f;
 --bg-elevated:#1b1917;
 --text-main:#f3ede8;
 --text-muted:#afa8a1;
 --accent-primary:#d6ad7d;
 --accent-ink:#1b120b;
 --line:rgba(243,237,232,.16);
 --radius:12px;
 --shell:1240px;
 --ease:cubic-bezier(.16,1,.3,1);
 }

*{
box-sizing:border-box}
html{
scroll-behavior:smooth}
body,h1,h2,h3,p,figure{
margin:0}
body{
background:var(--bg-primary);
color:var(--text-main);
font-family:Inter,Arial,sans-serif;
line-height:1.55;
overflow-x:hidden}
a{
color:inherit;
text-decoration:none}
img{
display:block;
max-width:100%}
.sr-only{
position:absolute;
width:1px;
height:1px;
clip:rect(0,0,0,0);
overflow:hidden;
white-space:nowrap}
.shell{
width:min(var(--shell),calc(100% - 48px));
margin-inline:auto}
.skip-link{
position:fixed;
left:16px;
top:-60px;
z-index:100;
background:var(--accent-primary);
color:var(--accent-ink);
padding:10px 14px;
font-weight:700}
.skip-link:focus{
top:16px}
.site-header{
position:absolute;
top:0;
width:100%;
z-index:5}
.nav-shell{
height:76px;
display:flex;
align-items:center;
gap:30px;
border-bottom:1px solid var(--line)}
.brand{
display:flex;
align-items:center;
gap:10px;
margin-right:auto}
.brand-mark{
width:46px;
height:46px;
object-fit:contain;
background:transparent}
.brand-lockup{
display:flex;
align-items:baseline;
gap:6px;
font:600 13px 'Space Grotesk';
letter-spacing:.04em}
.brand-lockup small{
color:var(--accent-primary);
font-size:11px}
.primary-nav{
display:flex;
gap:24px;
font-size:13px;
font-weight:600;
color:var(--text-muted)}
.primary-nav a,.nav-cta,.text-link,.social-links a{
transition:color .25s var(--ease)}
.primary-nav a:hover,.primary-nav a:focus-visible,.text-link:hover,.social-links a:hover{
color:var(--accent-primary)}
.nav-cta{
font-size:12px;
font-weight:700;
letter-spacing:.03em;
color:var(--accent-primary);
border:1px solid rgba(214,173,125,.55);
padding:8px 12px}
.nav-cta:hover{
background:var(--accent-primary);
color:var(--accent-ink)}
.nav-toggle{
display:none}
.hero{
min-height:100dvh;
padding:125px 0 48px;
background:linear-gradient(115deg,#090909 0%,#090909 57%,#19130f 100%)}
.hero-grid{
min-height:calc(100dvh - 173px);
display:grid;
grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr);
align-items:center;
gap:clamp(36px,7vw,110px)}
.eyebrow{
color:var(--accent-primary);
font-size:11px;
font-weight:700;
letter-spacing:.16em}
.hero h1,h2,h3{
font-family:'Space Grotesk',Arial,sans-serif;
line-height:.98}
.hero h1{
max-width:620px;
margin:18px 0 24px;
font-size:clamp(50px,6.2vw,86px);
letter-spacing:-.065em}
.hero h1 span{
color:var(--accent-primary)}
.hero-lede{
max-width:455px;
color:var(--text-muted);
font-size:17px}
.hero-actions{
display:flex;
gap:12px;
margin-top:34px}
.button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:17px;
min-height:48px;
padding:0 19px;
border:1px solid transparent;
font:700 13px Inter,sans-serif;
white-space:nowrap;
cursor:pointer;
transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.button:active{
transform:translateY(1px)}
.button--accent{
background:var(--accent-primary);
color:var(--accent-ink)}
.button--accent:hover{
background:#ead0b0}
.button--line{
border-color:var(--line);
color:var(--text-main)}
.button--line:hover{
border-color:var(--accent-primary);
color:var(--accent-primary)}
.hero-media{
position:relative;
align-self:stretch;
min-height:520px;
overflow:hidden;
border-radius:var(--radius)}
.hero-media--empty{
display:grid;
place-items:center;
border:1px solid rgba(214,173,125,.55);
background:linear-gradient(135deg,#111 0%,#080808 72%)}
.team-photo-frame{
position:relative;
z-index:1;
display:grid;
place-items:center;
gap:8px;
width:calc(100% - 48px);
height:calc(100% - 48px);
border:1px dashed rgba(244,244,241,.38);
color:var(--text-muted);
text-align:center}
.team-photo-frame span{
color:var(--accent-primary);
font:700 10px Inter,sans-serif;
letter-spacing:.16em}
.team-photo-frame strong{
font:600 25px 'Space Grotesk',sans-serif}
.hero-media::after,.robot-media::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(0deg,rgba(8,8,8,.86),transparent 54%);
pointer-events:none}
.hero-media img,.robot-media img{
width:100%;
height:100%;
object-fit:cover;
filter:grayscale(100%) contrast(1.08)}
.hero-media figcaption{
position:absolute;
z-index:1;
bottom:28px;
left:28px;
display:grid;
gap:5px}
.hero-media figcaption span{
font-size:10px;
letter-spacing:.14em;
color:var(--accent-primary);
font-weight:700}
.hero-media figcaption strong{
font:600 21px 'Space Grotesk'}
.section{
padding:clamp(85px,11vw,160px) 0}
.about{
background:var(--bg-secondary)}
.about-layout{
display:grid;
grid-template-columns:1.05fr .95fr;
gap:80px}
.section-intro h2,.contact h2,.robot-copy h2,.sponsors-heading h2{
font-size:clamp(36px,4.4vw,61px);
letter-spacing:-.055em;
margin:16px 0 20px}
.section-intro p:not(.eyebrow),.sponsors-heading p:not(.eyebrow),.robot-copy>p:not(.eyebrow),.contact-copy>p{
max-width:520px;
color:var(--text-muted)}
.about-statement{
padding-top:52px;
font:500 clamp(21px,2vw,28px)/1.35 'Space Grotesk';
color:#d8d8d3}
.text-link{
display:inline-flex;
gap:10px;
margin-top:36px;
font:700 13px Inter}
.stats-grid{
grid-column:1/-1;
display:grid;
grid-template-columns:1fr 1fr 1fr;
margin-top:32px;
border-top:1px solid var(--line)}
.stats-grid--single{
grid-template-columns:minmax(0,260px)}
.stat{
padding:26px 0}
.stat+ .stat{
border-left:1px solid var(--line);
padding-left:32px}
.stat strong{
display:block;
font:600 clamp(45px,5vw,72px)/1 'Space Grotesk';
letter-spacing:-.07em;
color:var(--accent-primary)}
.stat span{
display:block;
margin-top:8px;
color:var(--text-muted);
font-size:13px}
.section-intro--wide{
max-width:820px}
.team{
padding-bottom:100px}
.team-grid{
display:grid;
grid-template-columns:repeat(12,1fr);
gap:20px;
margin-top:64px}
.team-card{
grid-column:span 3;
min-height:230px;
padding:24px 0 0;
border-top:1px solid var(--line)}
.team-card__meta{
padding-top:17px}
.team-card__meta>p:first-child{
font-size:10px;
letter-spacing:.15em;
color:var(--accent-primary);
font-weight:700}
.team-card h3{
margin:6px 0 2px;
font-size:25px;
letter-spacing:-.04em}
.team-card__meta span{
font-size:13px;
color:var(--text-muted)}
.team-bio{
margin-top:14px;
color:#cbc9c2;
font-size:13px;
line-height:1.55}
.robot{
background:#0b0b0b}
.robot-layout{
display:grid;
grid-template-columns:1.3fr .7fr;
gap:30px}
.robot-media{
position:relative;
grid-row:span 2;
min-height:610px;
overflow:hidden;
border-radius:var(--radius)}
.robot-media figcaption{
position:absolute;
z-index:1;
bottom:20px;
left:20px;
font-size:11px;
color:#d6d4cc}
.robot-copy{
align-self:end;
padding:20px 20px 10px}
.systems-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:1px;
background:var(--line)}
.system{
background:#0b0b0b;
padding:24px}
.system span{
color:var(--accent-primary);
font:600 12px 'Space Grotesk'}
.system h3{
font-size:21px;
margin:25px 0 10px}
.system p{
font-size:13px;
color:var(--text-muted)}
.sponsors-heading{
max-width:700px}
.sponsor-stack{
margin-top:62px;
border-top:1px solid var(--line)}
.sponsor-tier{
display:grid;
grid-template-columns:160px 1fr;
gap:22px;
padding:27px 0;
border-bottom:1px solid var(--line)}
.sponsor-tier>p{
font:700 11px 'Space Grotesk';
letter-spacing:.14em;
color:var(--text-muted)}
.logo-slots{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:16px}
.logo-slot{
min-height:70px;
display:grid;
place-items:center;
background:var(--bg-secondary);
border:1px dashed rgba(238,241,233,.2);
color:#85837b;
font:600 11px 'Space Grotesk';
letter-spacing:.08em}
.logo-slot--large{
grid-column:span 2}
.logo-slot--small{
min-height:48px}
.contact{
background:var(--bg-secondary)}
.contact-layout{
display:grid;
grid-template-columns:.8fr 1.2fr;
gap:clamp(45px,10vw,150px)}
.contact-copy{
align-self:start}
.social-links{
display:flex;
flex-wrap:wrap;
gap:20px;
margin-top:38px;
font-weight:700;
font-size:13px}
.contact-form{
display:grid;
gap:20px}
.form-row{
display:grid;
gap:8px}
.form-row label{
font-size:13px;
font-weight:700}
.form-row input,.form-row textarea{
width:100%;
border:1px solid var(--line);
border-radius:0;
background:rgba(8,8,8,.72);
color:var(--text-main);
padding:13px 14px;
font:15px Inter;
outline:none;
transition:border .2s var(--ease)}
.form-row input:focus,.form-row textarea:focus{
border-color:var(--accent-primary)}
.field-error{
min-height:16px;
color:#ffbc95;
font-size:12px}
.form-status{
min-height:20px;
color:var(--accent-primary);
font-size:13px;
font-weight:600}
.site-footer{
border-top:1px solid var(--line);
background:var(--bg-secondary)}
.footer-inner{
display:flex;
justify-content:space-between;
padding:25px 0;
color:var(--text-muted);
font-size:12px}
.footer-inner a{
color:var(--text-main);
font-weight:700}
.reveal{
opacity:0;
transform:translateY(20px);
transition:opacity .65s var(--ease),transform .65s var(--ease);
transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{
opacity:1;
transform:none}

@media (max-width:900px){
.primary-nav{
gap:14px;
font-size:12px}
.nav-shell{
gap:18px}
.hero-grid{
grid-template-columns:1fr 1fr;
gap:35px}
.hero-media{
min-height:440px}
.team-card{
grid-column:span 4}
.team-card--offset{
margin-top:0}
.team-card--wide{
grid-column:span 8;
margin-top:0}
.robot-layout{
grid-template-columns:1fr}
.robot-media{
grid-row:auto;
min-height:450px}
.robot-copy{
padding-inline:0}
.contact-layout{
gap:60px}
.sponsor-tier{
grid-template-columns:120px 1fr}
}

@media (max-width:700px){
.shell{
width:min(var(--shell),calc(100% - 32px))}
.site-header{
background:rgba(8,8,8,.95)}
.nav-shell{
height:64px;
border:0}
.nav-cta{
display:none}
.nav-toggle{
display:grid;
gap:4px;
padding:6px 0;
border:0;
background:none;
color:var(--text-main);
cursor:pointer}
.nav-toggle span:not(.sr-only){
display:block;
width:24px;
height:1px;
background:currentColor;
transition:transform .25s var(--ease),opacity .25s var(--ease)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){
transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){
opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){
transform:translateY(-5px) rotate(-45deg)}
.primary-nav{
position:absolute;
inset:64px 0 auto;
background:#080808;
border-bottom:1px solid var(--line);
display:grid;
gap:0;
max-height:0;
overflow:hidden;
transition:max-height .3s var(--ease)}
.primary-nav.is-open{
max-height:300px}
.primary-nav a{
padding:14px 16px;
border-top:1px solid var(--line)}
.hero{
padding-top:100px}
.hero-grid{
min-height:auto;
grid-template-columns:1fr;
gap:38px}
.hero h1{
font-size:clamp(46px,14vw,68px)}
.hero-media{
min-height:380px}
.hero-lede{
font-size:16px}
.about-layout,.contact-layout{
grid-template-columns:1fr;
gap:28px}
.about-statement{
padding-top:0}
.stats-grid{
margin-top:24px}
.stat+ .stat{
padding-left:18px}
.team-grid{
grid-template-columns:1fr 1fr;
gap:14px;
margin-top:40px}
.team-card{
grid-column:span 1}
.team-card h3{
font-size:20px}
.team-bio{
font-size:12px}
.robot-media{
min-height:300px}
.systems-grid{
grid-template-columns:1fr}
.sponsor-tier{
grid-template-columns:1fr;
gap:14px}
.logo-slots{
grid-template-columns:1fr 1fr}
.logo-slot--large{
grid-column:span 2}
.contact{
padding-bottom:85px}
.footer-inner{
gap:12px}
.footer-inner p{
max-width:180px}
}

@media (prefers-reduced-motion:reduce){
html{
scroll-behavior:auto}
.reveal{
opacity:1;
transform:none;
transition:none}
.button,.primary-nav{
transition:none}
}


