/* Constellation Airspace Group, LLC: shared tokens, header, footer and contact form.
   Loaded by every page, including the data tools (DFR tracker, sightings map). */
:root{
  --navy:#071528;--navy-2:#0c2038;--navy-3:#123050;--line-d:#1f3a58;
  --cyan:#79c8ef;--orange:#f28c45;--paper:#f4f7f9;--white:#fff;
  --ink:#0f2236;--muted:#56677a;--line:#d5dfe6;--ok:#2f9e6a;--bad:#c94c3c;
  --head:"Space Grotesk",system-ui,sans-serif;--body:"DM Sans",system-ui,sans-serif;
  --gut:clamp(20px,5vw,72px);--max:1200px;--hdr:76px;
}
.cag-chrome,.cag-chrome *{box-sizing:border-box}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--orange);color:var(--navy);padding:10px 14px;font:600 14px var(--body)}
.skip:focus{left:8px}

/* header */
.site-header{position:sticky;top:0;z-index:2000;height:var(--hdr);background:rgba(7,21,40,.94);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line-d);color:#fff;font-family:var(--body)}
.site-header .in{max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;height:100%;padding:0 var(--gut);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;line-height:1;color:#fff;text-decoration:none}
.brand svg{width:40px;height:40px;fill:none;stroke:var(--cyan);stroke-width:1.4;flex:none}
.brand svg .node{fill:#fff;stroke:none}.brand svg .accent{fill:var(--orange)}
.brand strong,.brand small{display:block;font-family:var(--head);letter-spacing:.12em}
.brand strong{font-size:14px;font-weight:700}.brand small{font-size:9.5px;color:var(--cyan);margin-top:6px;font-weight:600}
.site-nav{display:flex;align-items:center;gap:6px;font-size:14.5px}
.site-nav>a,.nav-drop-btn{color:#c3d2de;text-decoration:none;padding:10px 12px;border-radius:4px;background:none;border:0;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.site-nav>a:hover,.nav-drop-btn:hover,.site-nav>a[aria-current=page],.nav-drop.cur>.nav-drop-btn{color:#fff}
.site-nav>a[aria-current=page],.nav-drop.cur>.nav-drop-btn{box-shadow:inset 0 -2px 0 var(--orange)}
.nav-drop{position:relative}
.nav-drop-btn svg{width:10px;height:6px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .15s}
.nav-drop.open .nav-drop-btn svg{transform:rotate(180deg)}
.nav-drop-menu{display:none;position:absolute;top:calc(100% + 10px);left:-8px;min-width:310px;background:var(--navy-2);border:1px solid var(--line-d);border-radius:6px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.nav-drop.open .nav-drop-menu{display:block}
.nav-drop-menu a{display:block;padding:10px 12px;border-radius:4px;color:#fff;text-decoration:none}
.nav-drop-menu a:hover,.nav-drop-menu a:focus-visible{background:var(--navy-3)}
.nav-drop-menu strong{display:block;font:600 14.5px var(--head)}
.nav-drop-menu small{display:block;color:#93a9bb;font-size:12.5px;margin-top:2px}
.nav-cta{margin-left:10px;background:var(--orange);color:var(--navy)!important;font-weight:600;padding:10px 16px!important}
.nav-cta:hover{filter:brightness(1.06)}
.nav-toggle{display:none;background:none;border:1px solid var(--line-d);color:#fff;font:600 14px var(--body);padding:9px 14px;border-radius:4px;cursor:pointer}
.site-header a:focus-visible,.site-header button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
@media(max-width:1020px){
  .nav-toggle{display:inline-block}
  .site-nav{display:none;position:absolute;top:var(--hdr);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--navy);border-bottom:1px solid var(--line-d);padding:8px var(--gut) 18px;max-height:calc(100vh - var(--hdr));overflow:auto}
  .site-nav.open{display:flex}
  .site-nav>a,.nav-drop-btn{padding:14px 4px;border-bottom:1px solid var(--line-d);border-radius:0;width:100%;justify-content:space-between}
  .nav-drop-menu{position:static;min-width:0;box-shadow:none;border:0;background:none;padding:4px 0 8px 10px}
  .nav-cta{margin:14px 0 0;justify-content:center!important;border-radius:4px!important}
  .site-nav>a[aria-current=page]{box-shadow:none;color:var(--orange)}
}

/* footer */
.site-footer{background:var(--navy);color:#b8c8d6;font-family:var(--body);font-size:14.5px;border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--cyan) 0 62%,var(--orange) 62% 100%) 1}
.site-footer .in{max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;padding:56px var(--gut) 28px}
.foot-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:36px}
.site-footer h2{font:600 12px var(--head);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:4px 0 14px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0 0 9px}
.site-footer a{color:#b8c8d6;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.foot-about p{margin:16px 0 0;max-width:330px;line-height:1.6}
.foot-about .mail{display:inline-block;margin-top:14px;color:var(--cyan);font-weight:600}
.foot-base{margin-top:42px;padding-top:20px;border-top:1px solid var(--line-d);display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;font-size:13px;color:#8ea4b6}
.foot-base p{margin:0}
.cag-cookie-link{background:none;border:0;padding:0;margin-left:14px;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-about{grid-column:1/-1}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}
.site-nav>a.nav-cta{background:var(--orange);color:var(--navy);border-radius:4px}
@media(max-width:1020px){.site-nav.open{min-height:calc(100dvh - var(--hdr));box-shadow:0 30px 60px rgba(0,0,0,.4)}body:has(.site-nav.open){overflow:hidden}}
