/* v83 — balanced header, persistent touch controls, Community expansion,
   and conservative Windows/browser fallbacks. */

/* Draw both title accents explicitly so neither depends on image cropping. */
.universalNav>.navCenterMark::before {
  content:""!important;
  position:absolute!important;
  z-index:2!important;
  top:50%!important;
  left:0!important;
  right:0!important;
  width:auto!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent 0 2%,rgba(211,169,91,.88) 3% 13%,transparent 18% 82%,rgba(211,169,91,.88) 87% 97%,transparent 98% 100%)!important;
  box-shadow:none!important;
  pointer-events:none!important;
}

/* A brighter, scalable version of the original cover—no replacement artwork. */
.avlrEntrance { background:radial-gradient(circle at 50% 46%,#243129 0,#111812 36%,#050806 78%)!important; }
.avlrEntrance:not(.videoOpening) .entranceDoor {
  background-color:#101612!important;
  background-image:
    linear-gradient(135deg,transparent 0 23%,rgba(231,190,107,.16) 23.15% 23.5%,transparent 23.7% 72%,rgba(151,47,36,.12) 72.2% 73%,transparent 73.2%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 1px,transparent 1px 28px),
    radial-gradient(circle at center,#29352c 0,#0d130f 72%)!important;
  box-shadow:inset 0 0 48px rgba(0,0,0,.62),0 0 0 1px rgba(222,180,93,.48)!important;
}
.avlrEntrance:not(.videoOpening) .entranceDoor::before { opacity:.95!important; }
.entranceDial {
  background:radial-gradient(circle at 48% 42%,#344338 0 10%,#19241c 34%,#0a100c 68%)!important;
  box-shadow:inset 0 0 0 2px rgba(244,207,132,.88),inset 0 0 0 9px rgba(17,24,19,.9),inset 0 0 0 12px rgba(181,133,61,.82),inset 0 0 24px rgba(237,198,111,.24),0 0 38px rgba(207,163,78,.25)!important;
}
.entranceDial>img { filter:brightness(1.32) contrast(1.08) drop-shadow(0 0 9px rgba(230,188,98,.3))!important; }

/* Community: broader real-world pathways plus established live channels. */
.communityPillars article span { display:block;margin-bottom:10px;color:#d1a75e;font:800 8px/1 system-ui;letter-spacing:.18em; }
.watchtowerChannel {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
  padding:clamp(76px,9vw,130px) 6vw;
  border-block:1px solid rgba(205,169,105,.24);
  background:radial-gradient(circle at 16% 42%,rgba(100,72,148,.15),transparent 34%),#101411;
}
.watchtowerMedia { position:relative;min-height:460px;overflow:hidden;border:1px solid rgba(206,169,99,.35);border-radius:22px;background:#080b09 url('assets/watchtower-banner.png') center/cover;box-shadow:0 28px 80px rgba(0,0,0,.48); }
.watchtowerMedia::after { content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(5,8,6,.48),transparent 45%),linear-gradient(90deg,rgba(5,8,6,.25),transparent); }
.watchtowerMotion { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1; }
.watchtowerMotion.videoFallback { display:none; }
.watchtowerCopy h2 { margin:14px 0 18px;font-size:clamp(44px,6vw,82px);letter-spacing:-.045em;text-transform:uppercase; }
.watchtowerCopy>p:not(.eyebrow) { color:#bdb3a3;line-height:1.72; }
.communityAppLinks { display:grid;gap:10px;margin-top:27px; }
.communityAppLinks a { display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;gap:3px 13px;align-items:center;padding:14px 16px;border:1px solid rgba(216,180,110,.27);border-radius:15px;background:rgba(255,255,255,.025);color:#eee5d5;text-decoration:none;transition:transform .22s,border-color .22s,background .22s; }
.communityAppLinks a:is(:hover,:focus-visible) { transform:translateY(-3px) scale(1.012);border-color:#d7ae61; }
.communityAppLinks a>span,.communityAppLinks a>svg { grid-row:1/3;width:44px;height:44px;padding:10px;border-radius:12px;color:#fff;fill:#fff; }
.communityAppLinks .discordApp>span { display:grid;place-items:center;background:#5865f2;font-size:22px; }
.communityAppLinks .twitchApp>svg { background:#9146ff; }
.communityAppLinks b { font-size:13px; }
.communityAppLinks small { color:#91897d;font-size:10px;line-height:1.35; }

/* Mobile Menu is an overlay only; its header never changes identity or size. */
@media(max-width:1080px) {
  .universalNav.menuOpen {
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    grid-template-rows:76px!important;
    overflow:visible!important;
  }
  .universalNav.menuOpen>.brand,
  .universalNav.menuOpen>.navCenterMark,
  .universalNav.menuOpen>.navMenu,
  .universalNav.menuOpen>.navcta { grid-row:1!important;align-self:center!important;opacity:1!important; }
  .universalNav.menuOpen>.navCenterMark,
  .universalNav.menuOpen .navHeaderIdentity { transform:none!important; }
  .universalNav.menuOpen .navIdentityMobile { transform:translate(-50%,-50%)!important; }
  .universalNav.menuOpen>.navlinks::before { content:none!important;display:none!important; }
  .watchtowerChannel { grid-template-columns:1fr;padding-inline:22px; }
  .watchtowerMedia { min-height:420px; }
}

/* Touch expansion is controlled only by the explicit state class; focus and
   synthetic hover cannot keep a bar stuck open after the second tap. */
@media(max-width:650px) and (hover:none) {
  .fieldConditions:not(.touchExpanded),
  .fieldConditions:not(.touchExpanded):is(:hover,:focus,:focus-visible) {
    width:150px!important;height:54px!important;min-height:54px!important;grid-template-columns:1fr!important;
  }
  .fieldConditions:not(.touchExpanded) .fieldPeek { display:flex!important; }
  .fieldConditions:not(.touchExpanded) :is(.fieldExpandedLead,.fieldTemp,.fieldState) { position:absolute!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important; }
  .soundscapeBar.trackBar:not(.hoverExpanded),
  .soundscapeBar.trackBar:not(.hoverExpanded):is(:hover,:focus-within) { width:142px!important;height:50px!important;min-height:50px!important; }
  .soundscapeBar.trackBar.hoverExpanded { width:calc(100vw - 16px)!important;height:56px!important; }
  .watchtowerMedia { min-height:310px; }
}

/* Edge/Firefox fallbacks for newer paint effects. */
@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))) {
  .universalNav.menuOpen>.navlinks,.mailSheet,.fieldConditions,.soundscapeBar,.guidePanel { background:#0a0e0b!important; }
}
@supports not ((background-clip:text) or (-webkit-background-clip:text)) {
  :is(.hero,.divisionHero,.storyHero,.communityHero,.veteranHero,.categoryHero) h1 { color:#f1e8d9!important;-webkit-text-fill-color:currentColor!important; }
}

@media(prefers-reduced-motion:reduce) {
  .communityAppLinks a { transition:none; }
}
