:root{
  --sp-blue:#1762BA;
  --sp-black:#020206;
  --sp-orange:#C6692B;
  --sp-text:#E7E2EA;
  --sp-muted:#CFC7D6;

  --line:rgba(255,255,255,.12);
  --line-2:rgba(255,255,255,.08);
  --header:rgba(2,2,6,.78);
  --panel:rgba(2,2,6,.58);

  --shadow:0 14px 50px rgba(0,0,0,.55);
  --radius:14px;
  --max:1200px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--sp-black);
  color:var(--sp-text);
}
a{color:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 18px}

/* Accessibility helper */
.sr-only{
  position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* =========================
   SHARED BACKGROUNDS
   Home uses home-hero.mp4
   All other pages use site-bg.jpg
   ========================= */

.bg{
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg, rgba(2,2,6,.70) 0%, rgba(2,2,6,.45) 40%, rgba(2,2,6,.82) 100%),
    url("/assets/img/site-bg.jpg");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* Home override */
body.home .bg{
  background:
    linear-gradient(180deg, rgba(2,2,6,.62) 0%, rgba(2,2,6,.40) 40%, rgba(2,2,6,.82) 100%),
    url("/assets/img/home-hero.mp4");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* =========================
   HEADER (reference-style)
   ========================= */

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--header);
  border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}

.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 0;
}

/* Left brand (mark + wordmark image) */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  min-width:320px;
}
.brand__mark{
  width:44px;
  height:44px;
  object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(23,98,186,.45));
}
.brand__wordmark{
  height:22px;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(0,0,0,.55));
}

/* Center nav */
.nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex:1;
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}
.nav__sep{
  width:1px;
  height:16px;
  background:rgba(255,255,255,.18);
  opacity:.55;
}
.nav__link{
  text-decoration:none;
  padding:6px 6px;
  border-radius:10px;
  color:rgba(231,226,234,.82);
  text-transform:uppercase;
}
.nav__link:hover{background:rgba(255,255,255,.06)}
.nav__link.is-active{
  color:var(--sp-orange);
  text-shadow:0 0 14px rgba(198,105,43,.35);
}

/* Right phone (icon + number) */
.phone{
  text-decoration:none;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:10px;
}
.phone__icon{
  width:18px;height:18px;display:inline-block;
  filter:drop-shadow(0 0 10px rgba(198,105,43,.55));
}

/* =========================
   HEADER (wrap-safe / consistent on all pages)
   ========================= */

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(2,2,6,.86);
  border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}

.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  flex-wrap:wrap;
}

/* Left brand */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  flex:0 0 auto;
  min-width:unset;
}
.brand__mark{
  width:44px;
  height:44px;
  object-fit:contain;
  flex:0 0 auto;
  filter:drop-shadow(0 0 14px rgba(23,98,186,.45));
}
.brand__wordmark{
  height:22px;
  width:auto;
  object-fit:contain;
  flex:0 0 auto;
  filter:drop-shadow(0 0 14px rgba(0,0,0,.55));
}

/* Center nav */
.nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex:1 1 520px;
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}

.nav__sep{
  width:1px;
  height:16px;
  background:rgba(255,255,255,.18);
  opacity:.55;
}

.nav__link{
  text-decoration:none;
  padding:6px 8px;
  border-radius:10px;
  color:rgba(231,226,234,.82);
  text-transform:uppercase;
}
.nav__link:hover{background:rgba(255,255,255,.06)}
.nav__link.is-active{
  color:var(--sp-orange);
  text-shadow:0 0 14px rgba(198,105,43,.35);
}

/* Right phone */
.phone{
  text-decoration:none;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.phone__icon{
  width:18px;height:18px;display:inline-block;
  filter:drop-shadow(0 0 10px rgba(198,105,43,.55));
}

/* Responsive behavior */
@media (max-width:980px){
  .brand__wordmark{height:18px}
  .nav{
    justify-content:flex-start;
    flex:1 1 100%;
    overflow:auto;
    padding-bottom:2px;
  }
  .nav__sep{display:none}
}


/* =========================
   HOME HERO (overlay content)
   ========================= */

.hero{
  position:relative;
  min-height:calc(100vh - 68px);
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:40px 0 80px;
}

.hero__inner{
  position:relative;
  z-index:2;
  width:100%;
  text-align:center;
}

.hero__brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  margin:0 auto 18px;
  width:min(920px, 92vw);
}

.hero__mark{
  width:min(260px, 56vw);
  height:auto;
  filter:drop-shadow(0 0 18px rgba(23,98,186,.55));
}
.hero__wordmark{
  width:min(860px, 94vw);
  height:auto;
  filter:drop-shadow(0 0 18px rgba(0,0,0,.55));
}

.hero__tagline{
  margin:18px 0 8px;
  font-size:clamp(18px, 2.1vw, 26px);
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.hero__subtitle{
  margin:0 auto;
  max-width:920px;
  color:rgba(231,226,234,.85);
  line-height:1.6;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.button-row{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:18px;
}

/* Buttons (ALL CAPS) */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:14px;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  border:1px solid rgba(198,105,43,.55);
  background:rgba(2,2,6,.35);
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset;
}
.btn:hover{ background:rgba(2,2,6,.50); }

.btn--blue{
  border-color:rgba(23,98,186,.70);
  box-shadow:0 0 18px rgba(23,98,186,.25), 0 0 0 1px rgba(255,255,255,.06) inset;
}
.btn--orange{
  border-color:rgba(198,105,43,.70);
  box-shadow:0 0 18px rgba(198,105,43,.22), 0 0 0 1px rgba(255,255,255,.06) inset;
}

/* =========================
   NON-HOME PAGE HERO
   ========================= */

.page-hero{padding:34px 0 10px}
.page-hero__inner{text-align:center}
.page-title{
  margin:10px 0 8px;
  font-size:clamp(28px, 3.2vw, 46px);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:950;
}
.page-subtitle{
  margin:0 auto;
  max-width:980px;
  color:rgba(231,226,234,.86);
  line-height:1.6;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* Content / panels */
.content{padding:18px 0 60px}
.panel{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
}
.orange{color:var(--sp-orange);font-weight:900}
.list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:10px}
.list li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.dot{flex:0 0 auto;width:10px;height:10px;margin-top:7px;border-radius:50%;background:var(--sp-orange);box-shadow:0 0 16px rgba(198,105,43,.45)}
.card-title{font-weight:950;letter-spacing:.10em;text-transform:uppercase}

/* Footer */
.site-footer{
  border-top:1px solid var(--line);
  background:rgba(2,2,6,.75);
}
.footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 0;
}
.footer__meta{
  color:rgba(231,226,234,.70);
  font-size:13px;
  margin-top:4px;
}

@media (max-width:980px){
  .brand{min-width:auto}
  .brand__wordmark{height:18px}
  .nav{justify-content:flex-start;overflow:auto}
  .nav__sep{display:none}
}
