:root { --ink:#061719; --panel:#0d292d; --line:#315156; --text:#f3f8f7; --muted:#acc4c3; --accent:#2bc1c8; --accent2:#e86c53; }
:focus-visible { outline:3px solid #e86c53; outline-offset:3px; }
.brand img { background:#061719; }
.hero { position:relative; }
.hero::after { content:""; position:absolute; right:0; bottom:-1px; width:34%; height:3px; background:#e86c53; }
.project { border-top:3px solid transparent; transition:border-color .2s ease,transform .2s ease,background .2s ease; }
.project:hover { border-top-color:#e86c53; transform:translateY(-3px); background:#123438; }
.hero-copy,.signal-board { animation:labs-enter .55s cubic-bezier(.2,.8,.2,1) both; }
.signal-board { animation-delay:.12s; }
@keyframes labs-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@media (max-width:900px) { nav { gap:12px; } .hero { gap:28px; } }
@media (max-width:620px) {
    body { overflow-x:hidden; }
    .site-header,main,footer,.hero>* { min-width:0; }
    nav { width:100%; max-width:100%; overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; }
    nav a { flex:0 0 auto; white-space:nowrap; }
    h1,h2,h3,p { overflow-wrap:anywhere; }
    .hero-actions { display:grid; grid-template-columns:1fr; }
    .hero-actions .button { width:100%; min-width:0; }
    .signal-board { width:100%; min-width:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
