/* Shared public-site chrome. Loaded after page-specific styles. */
:root {
  --site-primary: #24156c;
  --site-white: #fff;
  --site-black: #111;
  --site-muted: #666;
}

header {
  position: fixed !important;
  inset: 0 0 auto !important;
  width: 100% !important;
  min-height: 84px !important;
  padding: 12px 0 !important;
  background: var(--site-white) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .1) !important;
  z-index: 1000 !important;
}

.header-container { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; }
.logo { display: flex !important; align-items: center !important; gap: 12px !important; min-width: 0 !important; text-decoration: none !important; }
.logo img { width: auto !important; height: 60px !important; margin: 0 !important; flex: 0 0 auto !important; }
.logo-text h1 { margin: 0 0 2px !important; color: var(--site-black) !important; font-family: Poppins, Montserrat, sans-serif !important; font-size: 1.3rem !important; line-height: 1.15 !important; }
.logo-text span { color: var(--site-muted) !important; font-size: .85rem !important; font-weight: 500 !important; }

.desktop-nav { display: flex !important; align-items: center !important; gap: 28px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.desktop-nav li { margin: 0 !important; }
.desktop-nav a { display: block !important; padding: 8px 0 !important; color: var(--site-black) !important; background: transparent !important; font-family: Poppins, Montserrat, sans-serif !important; font-size: .95rem !important; font-weight: 600 !important; line-height: 1.4 !important; text-transform: none !important; letter-spacing: 0 !important; transform: none !important; transition: color .25s ease !important; }
.desktop-nav a:hover,
.desktop-nav a:focus-visible,
.desktop-nav .current-menu-item > a { color: var(--site-primary) !important; background: transparent !important; transform: none !important; }

.hamburger { background: transparent !important; border: 0 !important; color: var(--site-black) !important; }
.hamburger span { background: var(--site-black) !important; }
.hamburger i { color: var(--site-black) !important; }
.mobile-nav { background: var(--site-white) !important; color: var(--site-black) !important; }
.mobile-nav a,
.mobile-nav-link,
.mobile-dropdown-content a { color: var(--site-black) !important; background: transparent !important; }
.mobile-nav a:hover,
.mobile-nav a:focus-visible,
.mobile-nav-link:hover,
.mobile-nav-link:focus-visible,
.mobile-dropdown-content a:hover,
.mobile-dropdown-content a:focus-visible { color: var(--site-primary) !important; background: rgba(36, 21, 108, .06) !important; }

.hero,
.hero-section { min-height: 72vh !important; margin-top: 84px !important; padding: 110px 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; background-position: center !important; background-size: cover !important; }
.hero-content { width: min(100%, 840px) !important; margin-inline: auto !important; padding-inline: 20px !important; text-align: center !important; }
.hero-content h1 { font-family: Poppins, Montserrat, sans-serif !important; font-size: clamp(2rem, 5vw, 3.5rem) !important; line-height: 1.15 !important; }
.hero-content p { font-size: clamp(1rem, 2vw, 1.25rem) !important; }

footer { background: var(--site-primary) !important; color: var(--site-white) !important; padding: 64px 0 0 !important; }
.footer-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 40px !important; margin-bottom: 40px !important; }
.footer-col h3,
.footer-col p,
.footer-col a,
.footer-col i { color: var(--site-white) !important; }
.footer-col a:hover,
.footer-col a:focus-visible { color: #fff !important; opacity: .78 !important; transform: none !important; }
.footer-col .social-links a,
.footer-col .footer-social-links a {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, .12) !important;
}
.social-links a:hover,
.footer-social-links a:hover { background: rgba(255, 255, 255, .24) !important; color: #fff !important; transform: translateY(-2px) !important; }
.copyright { padding: 22px 16px !important; border-top: 1px solid rgba(255, 255, 255, .2) !important; color: var(--site-white) !important; text-align: center !important; }

@media (max-width: 992px) {
  .desktop-nav { display: none !important; }
  .hero, .hero-section { min-height: 62vh !important; margin-top: 76px !important; padding: 80px 0 !important; }
}

@media (max-width: 700px) {
  header { min-height: 76px !important; padding: 9px 0 !important; }
  .logo img { height: 50px !important; }
  .logo-text h1 { font-size: 1rem !important; }
  .logo-text span { display: block !important; font-size: .66rem !important; line-height: 1.2 !important; }
  .mobile-nav { width: min(86vw, 320px) !important; padding-top: 82px !important; }
  .hero, .hero-section { min-height: 56vh !important; padding: 64px 0 !important; }
  .hero-content h1 { font-size: clamp(1.8rem, 9vw, 2.5rem) !important; }
  .hero-cta { flex-direction: column !important; align-items: stretch !important; width: min(100%, 320px) !important; margin-inline: auto !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; text-align: center !important; }
  .footer-col h3::after { left: 50% !important; transform: translateX(-50%) !important; }
  .social-links, .footer-social-links { justify-content: center !important; }
}
