/* Fonts */
@import url("fonts.css");

:root{
  --bg-main: #0f1418;
  --bg-soft: #151c22;
  --accent-orange: #f08a2b;
  --accent-slate: #7da3b8;

  --font-display: "Fenix Display", Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", sans-serif;
  --font-text: "Fenix Text", Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", sans-serif;

  --bg:#070a10;
  --bg2:#0b1020;
  --panel:rgba(255,255,255,.04);
  --panel2:rgba(255,255,255,.06);
  --line:rgba(255,255,255,.10);
  --text:#e7ebf3;
  --muted:rgba(231,235,243,.70);
  --muted2:rgba(231,235,243,.56);
  --brand:#7da3b8;      /* slate accent (non-CTA) */
  --cta:#f08a2b;         /* Fenix orange (CTA only) */
  --brand2:#7dd3fc;     /* subtle cool accent */
  --shadow: 0 18px 60px rgba(0,0,0,.55);
  --radius:18px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: var(--font-text);
  color: rgba(245,248,250,.98);
  line-height:1.55;
}

/* Default (home) background: lighter charcoal with slate hints */
body.home{
  background:
    radial-gradient(900px 520px at 18% -10%, rgba(125,163,184,.22), transparent 60%),
    radial-gradient(800px 480px at 90% 10%, rgba(255,255,255,.10), transparent 55%),
    linear-gradient(180deg, #161f26, #1e2a34);
}

/* Product page: slightly brighter for product emphasis */
body.product{
  background:
    radial-gradient(900px 520px at 18% -10%, rgba(125,163,184,.26), transparent 60%),
    radial-gradient(800px 480px at 90% 10%, rgba(255,255,255,.14), transparent 55%),
    linear-gradient(180deg, #1a2630, #243443);
}

a{color:inherit}
img{max-width:100%; height:auto; display:block}
.container{max-width:var(--max); margin:0 auto; padding:0 22px}
.skip{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip:focus{left:22px; top:22px; width:auto; height:auto; padding:10px 12px; border-radius:12px; background:#fff; color:#000; z-index:999}

header{
  position:sticky; top:0; z-index:20;
  background: rgba(7,10,16,.72);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--line);
}
.navbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 0;
}
.brand{
  display:flex; align-items:center; gap:12px;
  text-decoration:none;
  letter-spacing:.2px;
}
.brand-badge{
  width:36px; height:36px;
  border-radius:12px;
  border:1px solid rgba(125,163,184,.35);
  background:
    radial-gradient(14px 14px at 30% 30%, rgba(125,163,184,.26), transparent 55%),
    rgba(255,255,255,.04);
  box-shadow: var(--shadow);
  display:grid; place-items:center;
  overflow:hidden;
}
.brand-badge img{width:110%; height:auto; opacity:.95}
.brand-name{font-family: var(--font-display);
  display:flex; flex-direction:column;
  font-weight:800;
}
.brand-name small{
  font-weight:700;
  color:var(--muted);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.72rem;
  margin-top:2px;
}

nav{display:flex; align-items:center; gap:14px}
.nav-toggle{
  display:none;
  border:1px solid var(--line);
  background: rgba(255,255,255,.06);
  color:var(--text);
  padding:10px 12px;
  border-radius:14px;
  font-weight:800;
}
.navlinks{
  list-style:none; margin:0; padding:0;
  display:flex; gap:16px; align-items:center;
}
.navlinks a{
  text-decoration:none;
  color:var(--muted);
  font-weight:750;
}
.navlinks a:hover{color:var(--text)}
.pill{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(125,163,184,.35);
  background: rgba(240,138,43,.10);
  color:var(--text);
}

.btn{font-family: var(--font-display);
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid transparent;
  background:
    linear-gradient(135deg, rgba(240,138,43,.95), rgba(240,138,43,.62));
  color:#0b0f14;
  text-decoration:none;
  font-weight:900;
  box-shadow: var(--shadow);
}
.btn:hover{filter:brightness(1.03)}
.btn-ghost{
  background: rgba(255,255,255,.06);
  border-color: var(--line);
  color: rgba(245,248,250,.98);
  box-shadow:none;
}
.btn-small{padding:10px 12px; border-radius:12px}

.hero{
  padding:70px 0 26px;
  position:relative;
}
.gridbg:before{
  content:"";
  position:absolute;
  inset:-1px 0 auto 0;
  height:520px;
  background:
    linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity:.05;
  mask-image: radial-gradient(closest-side at 35% 10%, black, transparent 70%);
  pointer-events:none;
}
.hero-inner{
  display:grid;
  grid-template-columns: 1.18fr .82fr;
  gap:28px;
  align-items:start;
}
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  color:var(--muted);
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.78rem;
}
.kicker .dot{width:10px; height:10px; border-radius:50%; background:rgba(240,138,43,.82); box-shadow:0 0 0 8px rgba(240,138,43,.10)}
h1{font-family: var(--font-display);
  margin:14px 0 14px;
  font-size: clamp(34px, 3.4vw, 54px);
  line-height:1.08;
  letter-spacing:-.02em;
}
.lead{color: rgba(231,235,243,.90); font-size:1.08rem; margin:0 0 18px}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 18px}
.meta{
  display:flex; flex-wrap:wrap; gap:10px 14px;
  list-style:none; padding:0; margin:18px 0 0;
  color:var(--muted2);
  font-weight:700;
}
.meta li{border:1px solid var(--line); background: rgba(255,255,255,.06); padding:8px 10px; border-radius:999px}

.panel{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.06));
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.panel h3, .panel h2{font-family: var(--font-display);margin:0 0 10px}
.muted{color:var(--muted)}
.small{font-size:.92rem; color:var(--muted2)}

.section{
  background: radial-gradient(800px 240px at 10% 0%, rgba(125,163,184,.06), transparent 60%),
              radial-gradient(700px 260px at 90% 10%, rgba(125,163,184,.06), transparent 60%);
padding:58px 0}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:18px}
.section-head h2{margin:0; font-size: clamp(22px, 2.2vw, 34px); letter-spacing:-.01em}
.section-head p{margin:0; color:var(--muted)}

.cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}
.card{
  background: rgba(255,255,255,.035);
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:18px;
}
.card h3{margin:0 0 10px}
.card p{margin:0 0 10px; color:var(--muted)}
.list{margin:0; padding-left:18px; color:var(--muted2)}
.list li{margin:7px 0}

.split{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:18px;
  align-items:start;
}

.gallery{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:14px;
}
.gallery-main{
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  background: rgba(0,0,0,.25);
}
.gallery-main img{width:100%; height:100%; object-fit:cover}
.gallery-thumbs{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.thumb{
  border-radius: 16px;
  overflow:hidden;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  cursor:pointer;
  position:relative;
}
.thumb img{width:100%; height:140px; object-fit:cover; opacity:.95}
.thumb:after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.25));
  opacity:.7;
  pointer-events:none;
}
.thumb:hover{transform: translateY(-1px)}
.thumb:focus{outline: 3px solid rgba(240,138,43,.45); outline-offset:2px}

.specs{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.spec{
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background: rgba(255,255,255,.06);
}
.spec .k{color:var(--muted2); font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:.72rem}
.spec .v{font-weight:900; margin-top:6px}

hr.sep{
  border:0; height:1px; background: var(--line);
  margin:22px 0;
}

footer{
  border-top:1px solid var(--line);
  padding:26px 0;
  color:var(--muted);
}
.footer-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
}
.footer-links{display:flex; gap:14px; flex-wrap:wrap}
.footer-links a{color:var(--muted); text-decoration:none; font-weight:800}
.footer-links a:hover{color:var(--text)}

@media (max-width: 980px){
  .hero-inner{grid-template-columns: 1fr}
  .cards{grid-template-columns: 1fr}
  .split{grid-template-columns: 1fr}
  .gallery{grid-template-columns: 1fr}
  .nav-toggle{display:inline-flex}
  .navlinks{
    position:absolute;
    right:22px;
    top:64px;
    width: 240px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:12px;
    border-radius:18px;
    border:1px solid var(--line);
    background: rgba(7,10,16,.96);
  }
  .navlinks.open{display:flex}
}


/* Military Sales callout */
.callout{
  position:relative;
  border-radius: calc(var(--radius) + 6px);
  border: 1px solid rgba(240,138,43,.35);
  background:
    radial-gradient(900px 220px at 12% 30%, rgba(125,163,184,.10), transparent 62%),
    radial-gradient(700px 220px at 88% 40%, rgba(125,211,252,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.06));
  box-shadow: 0 26px 90px rgba(0,0,0,.55);
  padding: 22px;
  overflow:hidden;
}

.callout:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    linear-gradient(90deg, rgba(240,138,43,.55), rgba(125,211,252,.20), rgba(240,138,43,.35));
  opacity:.22;
  filter: blur(18px);
  pointer-events:none;
}

.callout > *{position:relative}

.badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight: 900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.74rem;
  color: rgba(231,235,243,.88);
  padding:8px 12px;
  border-radius: 999px;
  border:1px solid rgba(240,138,43,.40);
  background: rgba(125,163,184,.08);
}

.badge .dot{width:10px; height:10px; border-radius:50%; background: rgba(125,163,184,.95); box-shadow: 0 0 0 8px rgba(125,163,184,.12)}

.callout-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}

.btn-strong{
  padding: 14px 18px;
  border-radius: 16px;
  font-size: 1.02rem;
}

.note{
  margin-top: 12px;
  color: var(--muted2);
  font-size: .92rem;
}




/* Subtle geometric watermark (logo-inspired angles) */
.hero.gridbg:after{
  content:"";
  position:absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%271200%27%20height%3D%27600%27%20viewBox%3D%270%200%201200%20600%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke%3D%27rgba%28125%2C163%2C184%2C0.18%29%27%20stroke-width%3D%272%27%3E%0A%3Cpath%20d%3D%27M120%20430%20L320%20230%20L520%20430%20L700%20250%20L900%20430%27/%3E%0A%3Cpath%20d%3D%27M200%20485%20L420%20285%20L620%20485%20L800%20305%20L1000%20485%27/%3E%0A%3Cpath%20d%3D%27M160%20170%20L340%20350%20L520%20170%20L700%20330%20L880%20170%20L1040%20320%27/%3E%0A%3Cpath%20d%3D%27M560%20120%20L620%20220%20L540%20300%20L660%20380%27/%3E%0A%3C/g%3E%0A%3C/svg%3E");
  background-repeat:no-repeat;
  background-position: 72% 40%;
  background-size: 980px auto;
  opacity:.22;
  mask-image: radial-gradient(closest-side at 55% 35%, black, transparent 72%);
  pointer-events:none;
}


/* Fox Box nav accent */
.nav-cta{
  color: #f08a2b !important;
  border-bottom: 2px solid rgba(240,138,43,.65);
}
.nav-cta:hover{
  color: #ff9d4d !important;
}


/* Social media links */
.social-links{
  display:flex;
  gap:14px;
  margin-top:18px;
}

.social-links a{
  color: rgba(200,210,220,.75);
  font-size:1.1rem;
  transition: color .2s ease, transform .2s ease;
}

.social-links a:hover{
  color:#f08a2b;
  transform: translateY(-1px);
}


/* Follow Us callout */
.follow-us{
  margin-top: 28px;
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(240,138,43,.35);
  background:
    radial-gradient(600px 200px at 15% 30%, rgba(240,138,43,.18), transparent 60%),
    radial-gradient(600px 200px at 85% 40%, rgba(125,163,184,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.06));
}

.follow-us h3{
  margin: 0 0 8px 0;
}

.follow-us .social-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:10px;
}

.social-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius: 14px;
  font-weight:600;
  text-decoration:none;
  border:1px solid rgba(240,138,43,.45);
  background: rgba(240,138,43,.12);
  color: #f08a2b;
}

.social-btn:hover{
  background: rgba(240,138,43,.18);
}


/* Military Sales background video */
.military-video{
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(125,163,184,.26);
  background: rgba(255,255,255,.06);
}

/* Make the section tall enough to feel like it "scrolls" over the video */
.military-video .mv-stage{
  position: relative;
  min-height: 520px;
}

/* Sticky video creates a parallax-like feel while scrolling through the section */
.military-video video{
  position: sticky;
  top: 0;
  width: 100%;
  height: 520px;
  object-fit: cover;
  filter: saturate(.95) contrast(1.05) brightness(.75);
}

.military-video .mv-overlay{
  position: absolute;
  inset: 0;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 20% 25%, rgba(240,138,43,.18), transparent 62%),
    radial-gradient(900px 420px at 85% 25%, rgba(125,163,184,.18), transparent 62%),
    linear-gradient(180deg, rgba(18,26,32,.55), rgba(18,26,32,.72));
}

.military-video .mv-content{
  position: absolute;
  inset: 0;
  display: grid;
  align-items: center;
  padding: 26px;
}

.military-video .callout{
  background: rgba(18,26,32,.55);
  border: 1px solid rgba(240,138,43,.32);
  box-shadow: 0 28px 110px rgba(0,0,0,.58);
}

/* Mobile: avoid autoplay issues; fall back to poster/solid background */
@media (max-width: 820px){
  .military-video video{ display:none; }
  .military-video .mv-stage{ min-height: 360px; }
  .military-video{
    background:
      radial-gradient(700px 260px at 15% 30%, rgba(240,138,43,.16), transparent 60%),
      radial-gradient(700px 260px at 85% 40%, rgba(125,163,184,.14), transparent 60%),
      linear-gradient(180deg, rgba(18,26,32,.95), rgba(18,26,32,.88));
  }
}

/* Reduced motion: disable video */
@media (prefers-reduced-motion: reduce){
  .military-video video{ display:none; }
}
