/* site.css — shared core styles (generated from this build's common rules).
   Every standard page links this BEFORE its inline <style>, so page rules win. */

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{background-color:var(--ink);color:var(--paper);font-family:'Inter',sans-serif;font-size:.9rem;line-height:1.7;margin:0;}

.font-display{font-family:'Bebas Neue',sans-serif;}

.font-heading{font-family:'Rajdhani',sans-serif;font-weight:700;}

.font-mono{font-family:'JetBrains Mono',monospace;}

.card{background:rgba(250,250,247,.03);border:1px solid rgba(250,250,247,.07);border-radius:8px;}

.divider{border-bottom:1px solid rgba(250,250,247,.06);}

.btn{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.65rem 1.5rem;border-radius:4px;cursor:pointer;transition:transform .15s ease,opacity .15s ease;text-decoration:none;}

.btn:hover{transform:translateY(-1px);opacity:.92;}

.btn-primary{background:var(--signal);color:var(--paper);border:none;}

.btn-ghost{background:transparent;color:var(--paper);border:1px solid rgba(250,250,247,.25);}

.nav-dropdown{display:none;}

.nav-item:focus-within .nav-dropdown{display:block;}

#mobile-menu{display:none;}

#mobile-menu.open{display:flex;flex-direction:column;gap:1rem;}

@media(max-width:900px){#navbar nav,#navbar .nav-phone{display:none!important;}#hamburger{display:block!important;}}

@media(max-width:480px){#footer-grid{grid-template-columns:1fr!important;}}
