/* HSR public-only refinement. Avoid touching restricted management styles. */
.hsr-youtube-hero{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.hsr-youtube-hero iframe{position:absolute;left:50%;top:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:.65}
.hsr-auth-static-poster{position:absolute;inset:0;width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}
@media (prefers-reduced-motion:reduce){.hsr-youtube-hero{display:none!important}.home-v162-hero-video-bg,.hsr-auth-bg-video:is(video){display:none!important}}
@media (max-width:680px){.home-v162-hero .hsr-youtube-hero{display:none}}

/* ==============================================================
   HSR Website Patch 04 - Public navigation visual refinement
   VISUAL ONLY: all original <details>/<summary>, links, module
   checks, roles, profile menus, breakpoints and JS stay untouched.
   Loaded after app.css / hsr-public-theme.css by Patch 02.
   ============================================================== */
body.site-brand-v165:not(.admin-body) {
  --hsr-nav-04-line: rgba(120, 211, 172, .17);
  --hsr-nav-04-green: #44dba0;
  --hsr-nav-04-text: #dbeae3;
  --hsr-nav-04-muted: #9bb9ad;
}

/* Refined quiet surface, suitable over the cinematic Concept 2 hero. */
body.site-brand-v165:not(.admin-body) .public-v165-header {
  background: linear-gradient(180deg, rgba(2, 14, 12, .97), rgba(3, 17, 14, .91)) !important;
  border-bottom: 1px solid rgba(75, 199, 143, .20) !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.27) !important;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
body.site-brand-v165:not(.admin-body) .public-v165-brand-mark {
  border: 1px solid rgba(91, 224, 161, .33) !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg, rgba(9, 79, 50, .95), rgba(2, 35, 27, .99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 9px 25px rgba(1, 36, 25, .32) !important;
}
body.site-brand-v165:not(.admin-body) .public-v165-brand-copy strong {
  color: #f4fcf7 !important;
  letter-spacing: .025em !important;
}
body.site-brand-v165:not(.admin-body) .public-v165-brand-copy small {
  color: var(--hsr-nav-04-muted) !important;
  letter-spacing: .14em !important;
}

/* Existing segmented group: update visual treatment, not its flow. */
body.site-brand-v165:not(.admin-body) .public-cms-nav {
  background: linear-gradient(180deg, rgba(12, 34, 27, .80), rgba(6, 22, 19, .84)) !important;
  border: 1px solid var(--hsr-nav-04-line) !important;
  border-radius: 15px !important;
  box-shadow: inset 0 1px 0 rgba(221,255,239,.035), 0 10px 24px rgba(0,0,0,.14) !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-link,
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-group > summary {
  color: var(--hsr-nav-04-text) !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .018em !important;
  border-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-link:not(:first-child)::before,
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-group:not(:first-child)::before {
  background: rgba(134, 195, 163, .10) !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-link:hover,
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-group > summary:hover {
  background: rgba(42, 161, 112, .095) !important;
  color: #f2fff8 !important;
  border-color: rgba(81, 202, 146, .14) !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-link.active,
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-group.active > summary,
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-group[open] > summary {
  background: linear-gradient(180deg, rgba(31, 149, 94, .19), rgba(21, 111, 80, .11)) !important;
  color: #8df0bb !important;
  border-color: rgba(66, 196, 134, .25) !important;
  box-shadow: inset 0 -2px 0 rgba(67, 225, 151, .84) !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-group > summary span {
  color: #67d8a4 !important;
  transition: transform .16s ease !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-group[open] > summary span {
  transform: rotate(180deg) !important;
}

/* Floating dropdown styling; original open/close and grid logic remains. */
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-menu {
  background: linear-gradient(155deg, rgba(5, 25, 19, .99), rgba(3, 14, 14, .985)) !important;
  border-color: rgba(76, 191, 133, .27) !important;
  border-radius: 17px !important;
  box-shadow: 0 30px 70px rgba(0,0,0,.56), inset 0 1px 0 rgba(190,255,221,.055) !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-menu::before {
  background: rgba(5, 25, 19, .99) !important;
  border-color: rgba(76, 191, 133, .27) !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-menu a {
  background: rgba(240,255,248,.028) !important;
  border: 1px solid rgba(120, 190, 155, .10) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  transform: none !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-menu a:hover,
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-menu a:focus-visible {
  background: rgba(33, 153, 98, .125) !important;
  border-color: rgba(77, 209, 142, .32) !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-menu strong {
  color: #f3fff8 !important;
  letter-spacing: .012em !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-menu small {
  color: #a1bcaf !important;
  font-weight: 600 !important;
}
body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-menu-departments h4 {
  color: #6cdda5 !important;
}

/* Keep existing Connect / Discord link behaviour; refine only accents. */
body.site-brand-v165:not(.admin-body) .public-v165-connect:hover,
body.site-brand-v165:not(.admin-body) .public-v165-discord:hover {
  color: #79e7ad !important;
  -webkit-text-fill-color: #79e7ad !important;
}
body.site-brand-v165:not(.admin-body) .public-v165-connect span {
  background: rgba(41, 178, 108, .15) !important;
  color: #9cf3c5 !important;
  -webkit-text-fill-color: #9cf3c5 !important;
}
body.site-brand-v165:not(.admin-body) .public-v165-login {
  background: linear-gradient(135deg, #0d925e, #28be84) !important;
  border-color: rgba(139, 240, 185, .42) !important;
  border-radius: 11px !important;
  color: #ffffff !important;
  box-shadow: 0 10px 23px rgba(6, 81, 56, .26) !important;
}
body.site-brand-v165:not(.admin-body) .public-v165-profile-summary {
  border-color: rgba(110, 202, 146, .20) !important;
  border-radius: 12px !important;
}
body.site-brand-v165:not(.admin-body) .public-v165-profile-menu {
  background: rgba(4, 22, 17, .985) !important;
  border-color: rgba(80, 188, 138, .26) !important;
  border-radius: 14px !important;
}

/* Clear keyboard focus without changing native details/summary operation. */
body.site-brand-v165:not(.admin-body) .public-v165-header a:focus-visible,
body.site-brand-v165:not(.admin-body) .public-v165-header summary:focus-visible {
  outline: 2px solid #6ee6a7 !important;
  outline-offset: 3px !important;
}
@media (max-width: 1320px) {
  body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-link,
  body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-group > summary {
    letter-spacing: 0 !important;
  }
}
@media (max-width: 760px) {
  body.site-brand-v165:not(.admin-body) .public-cms-nav {
    background: rgba(6, 22, 18, .94) !important;
    border-radius: 13px !important;
  }
  body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-link,
  body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-group > summary {
    border-radius: 9px !important;
  }
  body.site-brand-v165:not(.admin-body) .public-cms-nav .cms-nav-menu {
    border-radius: 12px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.site-brand-v165:not(.admin-body) .public-v165-header *,
  body.site-brand-v165:not(.admin-body) .public-v165-header *::before,
  body.site-brand-v165:not(.admin-body) .public-v165-header *::after {
    transition-duration: 0.01ms !important;
  }
}
