:root{
  --olive:#6b6b3f;
  --olive-dark:#4f5130;
  --accent-red:#b84b3f;
  --bottle:#0b5b3a;
  --light:#f6f3ea;
  --text-dark:#111;
  --hero-height:72vh;

  --menu-panel-max-width:520px;
  --menu-gap:10px;
  --container:1200px;
}

/* Reset & container */
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial;background:#06110a;color:var(--light)}
.container{max-width:var(--container);margin:0 auto;padding:1.25rem}

/* Skip link */
.skip-link{position:absolute;left:8px;top:8px;padding:.5rem .75rem;background:var(--bottle);color:white;border-radius:8px;z-index:60;transform:translateY(-120%);}
.skip-link:focus{transform:none}

/* Header */
.dark-header{background:#0f0f0f;border-bottom:4px solid rgba(0,0,0,0.35);position:relative;z-index:90}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 0}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:inherit}
.brand-logo{width:56px;height:56px;border-radius:6px;object-fit:cover}
.brand-text{font-weight:800;color:var(--light);letter-spacing:.03em}

/* Header actions */
.header-actions{display:flex;gap:.6rem;align-items:center}
.icon-btn{background:transparent;border:0;color:var(--light);font-size:1.05rem;padding:.45rem;border-radius:8px;cursor:pointer}
.nav-toggle{background:transparent;border:0;padding:.45rem .6rem;border-radius:10px;color:var(--light);cursor:pointer}
.hamburger{display:inline-block;width:28px;height:20px;position:relative}
.hamburger span{position:absolute;left:0;right:0;height:2px;background:var(--light);display:block;border-radius:2px;transition:transform .2s,opacity .2s}
.hamburger span:nth-child(1){top:0}
.hamburger span:nth-child(2){top:9px}
.hamburger span:nth-child(3){top:18px}

/* Menu root */
.main-nav{display:flex;align-items:center}
.menu-root{display:flex;gap:var(--menu-gap);align-items:center;margin:0;padding:0;list-style:none}
.menu-item{position:relative}
.menu-item a,.menu-btn{color:var(--light);padding:9px 12px;text-decoration:none;border-radius:6px;font-weight:700;font-size:.95rem;display:inline-block}
.menu-btn{background:transparent;border:0;cursor:pointer}
.menu-item a:hover,.menu-btn:hover{color:var(--accent-red)}

/* Panel (compact and airy) */
.menu-panel{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  min-width:260px;
  max-width:var(--menu-panel-max-width);
  background:linear-gradient(180deg,var(--olive),var(--olive-dark));
  color:var(--light);
  padding:10px;
  border-radius:8px;
  border:1px solid rgba(0,0,0,0.25);
  box-shadow:0 12px 30px rgba(0,0,0,0.55);
  opacity:0;
  transform:translateY(-6px) scale(.995);
  transition:opacity .2s ease,transform .2s ease;
  pointer-events:none;
  z-index:60;
}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none}
.panel-grid li a{padding:8px;border-radius:6px;display:block}
.menu-item.open > .menu-panel,.menu-item:focus-within > .menu-panel{
  opacity:1;transform:translateY(0) scale(1);pointer-events:auto;
}
.menu-btn::after{content:"▾";font-size:.72rem;opacity:.8;margin-left:.35rem;transition:transform .18s}
.menu-item.open > .menu-btn::after{transform:rotate(-180deg)}

/* Sub-list (collapsible) */
.sub-toggle{background:transparent;border:0;color:var(--light);cursor:pointer;padding:8px;border-radius:6px;font-weight:700}
.sub-list{list-style:none;margin:8px 0 0;padding:0;overflow:hidden;max-height:0;transition:max-height .26s ease}
.sub-list li a{display:block;padding:6px 8px;border-radius:6px;color:var(--light);font-weight:600}
.sub-list.expanded{max-height:420px}

/* HERO / carousel */
.hero-large{position:relative;overflow:hidden;margin:0}
.carousel-outer{position:relative;max-height:var(--hero-height);height:var(--hero-height);width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.carousel{height:100%;position:relative;display:flex;align-items:stretch}
.carousel-track{display:flex;height:100%;transition:transform .7s cubic-bezier(.2,.9,.2,1);will-change:transform}
.carousel-slide{min-width:100%;height:100%;flex:0 0 100%;overflow:hidden;position:relative}
.carousel-slide img{width:100%;height:100%;object-fit:cover;filter:contrast(.95) saturate(.9);transform-origin:center center;transition:transform 6s ease}
.carousel-slide img:hover{transform:scale(1.02)}

/* arrows & overlay & indicators */
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:70;border:0;background:rgba(20,20,20,0.45);color:var(--light);width:48px;height:48px;border-radius:6px;font-size:28px;cursor:pointer;backdrop-filter:blur(4px)}
.carousel-arrow.left{left:18px}
.carousel-arrow.right{right:18px}
.hero-overlay.large-overlay{position:absolute;right:6%;top:18%;max-width:46%;background:linear-gradient(90deg, rgba(0,0,0,0.45), rgba(0,0,0,0.25));padding:28px;border-radius:8px;color:var(--light);z-index:70;box-shadow:0 18px 60px rgba(0,0,0,0.5)}
.carousel-indicators{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:70}
.carousel-indicators button{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.2);border:0;cursor:pointer}
.carousel-indicators button.active{background:var(--accent-red);transform:scale(1.15)}

/* camo band, cards, footer */
.camo-band{background-image:linear-gradient(180deg, rgba(75,73,51,0.95), rgba(67,65,45,0.95));color:var(--light);padding:34px 0}
.camo-inner{display:flex;gap:2rem;align-items:center;justify-content:space-between}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.03));padding:16px;border-radius:6px;border:1px solid rgba(255,255,255,0.03);position:relative;overflow:hidden}
.card:hover{box-shadow:0 20px 60px rgba(0,0,0,0.45);transform:translateY(-6px)}
.site-footer{background:#10100f;padding:40px 0;color:rgba(255,255,255,0.85);border-top:6px solid var(--olive-dark);margin-top:2rem}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;align-items:start}
.footer-nav a{display:block;color:rgba(255,255,255,0.75);text-decoration:none;margin:.25rem 0}

/* Toast */
.toast{position:fixed;right:20px;bottom:20px;background:linear-gradient(90deg,var(--bottle),var(--olive));color:#fff;padding:.7rem 1rem;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,0.5);z-index:80;font-weight:700;transform-origin:bottom right;animation:toastIn .28s ease}
@keyframes toastIn{0%{transform:translateY(8px) scale(.98);opacity:0}100%{transform:none;opacity:1}}

/* Responsive */
@media (max-width:1100px){
  .menu-root{flex-direction:column;gap:6px}
  .menu-panel{position:static;transform:none;opacity:1;pointer-events:auto;border-radius:10px;padding:10px;box-shadow:none;max-width:none}
  .panel-grid{grid-template-columns:1fr}
  .sub-list{display:none}
  .sub-list.expanded{display:block;max-height:none}
  .brand-text{display:none}
  .overlay-title{font-size:1.6rem}
  .cards{grid-template-columns:1fr}
}