/* =========================================================
   TGT HEADER — COMPLETE STYLE (DESKTOP + MOBILE)
   ========================================================= */
:root{
  --tgt-bg1:#0f2842; --tgt-bg2:#10243a; --tgt-bg3:#3c2746;
  --tgt-white:#fff; --tgt-ink:#0d1b2b;
  --tgt-gold:#d4a574; --tgt-gold-2:#e8c196; --tgt-gold-dark:#c9935f;
  --tgt-max:2000px;
  --tgt-pad-x:clamp(16px,3.5vw,36px);
  --tgt-tr:.25s ease;
}

/* Lock scroll when mobile menu open */
body.mobile-menu-open{overflow:hidden}

/* ---------------------------------------
   Header shell + background
--------------------------------------- */
@keyframes tgtStars{from{transform:translate(0,0)}to{transform:translate(-300px,-300px)}}
@keyframes tgtGlow{0%{opacity:.28;transform:scale(1)}100%{opacity:.45;transform:scale(1.06)}}

.tgt-site-header{
  position:sticky; top:0; z-index:1002; overflow:hidden;
  background: linear-gradient(90deg,var(--tgt-bg1),var(--tgt-bg2) 55%,var(--tgt-bg3));
  border-bottom:1px solid rgba(255,255,255,.15);
}
.tgt-site-header::before,
.tgt-mobile-navigation::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(1px 1px at 12% 22%, rgba(255,255,255,.55), transparent),
    radial-gradient(1px 1px at 28% 68%, rgba(212,165,116,.55), transparent),
    radial-gradient(1px 1px at 62% 18%, rgba(255,255,255,.50), transparent),
    radial-gradient(1px 1px at 84% 42%, rgba(212,165,116,.55), transparent);
  background-size:300px 300px;
  animation:tgtStars 180s linear infinite;
}
.tgt-site-header::after,
.tgt-mobile-navigation::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(600px 320px at 85% -20%, rgba(212,165,116,.20) 0%, transparent 60%),
    radial-gradient(700px 360px at -10% 115%, rgba(122,36,72,.22) 0%, transparent 60%);
  animation:tgtGlow 10s ease-in-out infinite alternate;
}

.tgt-header-container{
  max-width:var(--tgt-max); margin:0 auto;
  padding:14px var(--tgt-pad-x);
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px;
  position:relative; z-index:1; /* above starfield */
}

/* ---------------------------------------
   Logo
--------------------------------------- */
.tgt-logo a{
  color:var(--tgt-white); text-decoration:none; font-weight:700;
  font-size:clamp(20px,2.3vw,28px); letter-spacing:.2px;
}

/* ---------------------------------------
   Desktop navigation (center)
--------------------------------------- */
.tgt-main-navigation{ justify-self:center; }
.tgt-main-navigation ul{
  margin:0; padding:0; list-style:none;
  display:flex; gap:clamp(18px,3vw,44px);
}
.tgt-main-navigation a{
  color:var(--tgt-gold); text-decoration:none; font-weight:500;
  position:relative; padding:6px 0; transition:color var(--tgt-tr);
}
.tgt-main-navigation a:hover{ color:var(--tgt-white); }
.tgt-main-navigation a::after{
  content:""; position:absolute; left:0; right:0; bottom:-10px; height:2px;
  background:linear-gradient(90deg,var(--tgt-gold),var(--tgt-gold-2));
  transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
.tgt-main-navigation a:hover::after,
.tgt-main-navigation .current-menu-item > a::after{ transform:scaleX(1); }

/* ---------------------------------------
   Actions (right): CTA + hamburger
--------------------------------------- */
.tgt-header-actions{ justify-self:end; display:flex; align-items:center; gap:14px; }

/* Subtle pulse */
@keyframes tgtPulse{0%,100%{opacity:.95}50%{opacity:1}}

.tgt-cta-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px; line-height:1; border-radius:999px;
  background:linear-gradient(180deg,var(--tgt-gold-dark) 0%, var(--tgt-gold) 45%, var(--tgt-gold-2) 100%);
  border:2px solid var(--tgt-gold-dark);
  color:#fff; font-weight:700; text-decoration:none;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
  box-shadow:0 3px 10px rgba(0,0,0,.18);
  animation:tgtPulse 2.4s ease-in-out infinite;
  transition:transform .06s ease, box-shadow .25s ease, filter .25s ease;
}
.tgt-cta-btn:hover{
  transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.24); filter:saturate(1.05);
}

/* Hamburger (no box) */
.tgt-mobile-menu-toggle{ display:none; background:none; border:0; padding:6px; cursor:pointer; }
.tgt-mobile-menu-toggle span{
  display:block; width:26px; height:2px; background:var(--tgt-white);
  margin:6px 0; transition:transform .25s ease, opacity .2s ease;
}
.mobile-menu-open .tgt-mobile-menu-toggle span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.mobile-menu-open .tgt-mobile-menu-toggle span:nth-child(2){ opacity:0; }
.mobile-menu-open .tgt-mobile-menu-toggle span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

/* ---------------------------------------
   Mobile overlay menu
--------------------------------------- */
.tgt-mobile-navigation{
  position:fixed; inset:0; z-index:1001;
  background: linear-gradient(90deg,var(--tgt-bg1),var(--tgt-bg2) 55%,var(--tgt-bg3));
  transform:translateX(100%); visibility:hidden; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:40px var(--tgt-pad-x); gap:22px; transition:transform var(--tgt-tr), visibility var(--tgt-tr);
}
.tgt-mobile-navigation > *{ position:relative; z-index:1; } /* above FX */
.mobile-menu-open .tgt-mobile-navigation{ transform:translateX(0); visibility:visible; }

.tgt-mobile-navigation ul{
  margin:0; padding:0; list-style:none; display:grid; gap:16px; text-align:center;
}
.tgt-mobile-navigation a{
  color:var(--tgt-gold); text-decoration:none; font-weight:600;
  font-size:clamp(22px,5.5vw,32px); transition:color var(--tgt-tr);
}
.tgt-mobile-navigation a:hover{ color:var(--tgt-white); }

/* CTA inside mobile (centered, white text on gold) */
.tgt-mobile-navigation .tgt-cta-btn{
  margin-top:18px; font-size:1.05rem; padding:12px 18px; justify-self:center;
  color:#fff;
}

/* ---------------------------------------
   Responsive
--------------------------------------- */
@media (max-width:1180px){
  .tgt-main-navigation{ display:none; }
  .tgt-mobile-menu-toggle{ display:block; }
}
@media (max-width:460px){
  .tgt-cta-btn{ padding:9px 14px; }
}
