/* Shared PUBLIC design system — tokens, nav, footer, base.
   Built by build/build.mjs into every public page so the chrome lives in ONE place.
   (Admin pages use assets/admin.css; this is the public-site equivalent.) */
:root{
  --navy:#0d1b3e; --red:#c0152a; --red-light:#e8192f; --white:#fff;
  --offwhite:#f4f4f2; --gold:#d4a840; --gray:#6b7280; --light-gray:#e8e8e8; --text:#444;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Source Sans 3',sans-serif;background:var(--white);color:var(--navy);overflow-x:hidden;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--red);color:#fff;padding:10px 16px;z-index:200;}
.skip-link:focus{left:8px;top:8px;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(13,27,62,0.97);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:70px;border-bottom:3px solid var(--red);}
.nav-brand{display:flex;align-items:center;gap:14px;text-decoration:none;}
.nav-shield{display:block;width:42px;height:auto;flex-shrink:0;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35));}
.nav-title{font-family:'Bebas Neue',sans-serif;color:#fff;font-size:22px;letter-spacing:2px;}
.nav-title span{color:var(--red-light);}
.nav-links{display:flex;gap:28px;list-style:none;align-items:center;}
.nav-links a{color:rgba(255,255,255,0.8);text-decoration:none;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;transition:color .2s;}
.nav-links a:hover{color:var(--red-light);}
.nav-cta{background:var(--red);color:#fff !important;padding:8px 18px;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;text-decoration:none;transition:background .2s;}
.nav-cta:hover{background:var(--red-light) !important;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{width:24px;height:2px;background:#fff;display:block;}

/* page content clears the fixed nav */
.site-main{padding-top:70px;}

/* ── FOOTER ── */
footer{background:#080f1f;color:#fff;padding:60px 40px 30px;}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;margin-bottom:40px;}
.footer-brand p{color:rgba(255,255,255,0.55);font-size:14px;line-height:1.7;margin-top:16px;max-width:300px;}
.footer-col h4{font-family:'Oswald',sans-serif;font-size:14px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:16px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul li a{color:rgba(255,255,255,0.65);text-decoration:none;font-size:14px;transition:color .2s;}
.footer-col ul li a:hover{color:var(--red-light);}
.footer-bottom{max-width:1200px;margin:0 auto;border-top:1px solid rgba(255,255,255,0.08);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:13px;color:rgba(255,255,255,0.35);}
.footer-bottom a{color:var(--red-light);text-decoration:none;}
.website-url{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:2px;color:rgba(255,255,255,0.3);text-transform:uppercase;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav{padding:0 20px;}
  .nav-links{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;background:rgba(13,27,62,0.99);padding:8px 0;border-bottom:3px solid var(--red);}
  .nav-links.open{display:flex;}
  .nav-links li{width:100%;text-align:center;}
  .nav-links a{display:block;padding:12px;}
  .nav-toggle{display:flex;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){ .footer-grid{grid-template-columns:1fr;} }
