/* Resilient public shell for Sousa Murray.
   Loaded directly by index.html so the shared header/footer remain stable during deployment. */

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  overflow: visible !important;
  border-bottom: 1px solid var(--border, #dbe3ef) !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.04) !important;
  backdrop-filter: blur(18px) !important;
}
:root.dark .site-header { background: rgba(15,27,49,.97) !important; }

.header-inner {
  width: min(1500px, calc(100% - 48px)) !important;
  height: 76px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  overflow: visible !important;
}

.plain-wordmark {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  color: var(--foreground, #0f172a) !important;
  font-family: "Plus Jakarta Sans", Inter, sans-serif !important;
  font-size: 1.34rem !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.desktop-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
}
.desktop-nav > a,
.nav-dropdown > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 9px 10px !important;
  border-radius: 10px !important;
  color: var(--muted-foreground, #475569) !important;
  font-size: .86rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
.desktop-nav > a:hover,
.desktop-nav > a.active,
.nav-dropdown > a:hover {
  background: var(--secondary, #eef4ff) !important;
  color: var(--foreground, #0f172a) !important;
}
.nav-dropdown { position: relative !important; }
.dropdown-panel {
  display: none !important;
  position: absolute !important;
  top: 42px !important;
  left: 0 !important;
  z-index: 150 !important;
  width: 340px !important;
  padding: 8px !important;
  border: 1px solid var(--border, #dbe3ef) !important;
  border-radius: 16px !important;
  background: var(--card, #fff) !important;
  box-shadow: 0 16px 36px rgba(15,23,42,.18) !important;
}
.nav-dropdown:hover .dropdown-panel,
.nav-dropdown:focus-within .dropdown-panel { display:block !important; }
.dropdown-panel a { display:block !important; padding:11px 12px !important; border-radius:11px !important; }
.dropdown-panel strong,.dropdown-panel span { display:block !important; }
.dropdown-panel span { margin-top:3px !important; color:var(--muted-foreground,#475569) !important; font-size:.72rem !important; }

.header-actions { display:flex !important; align-items:center !important; gap:8px !important; flex:0 0 auto !important; overflow:visible !important; }
.header-square-action {
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid var(--border,#dbe3ef) !important;
  border-radius:12px !important;
  background:var(--secondary,#eef4ff) !important;
  color:var(--muted-foreground,#475569) !important;
  cursor:pointer !important;
}
.header-square-action svg { width:18px !important; height:18px !important; }

.websites-dropdown { position:relative !important; display:block !important; }
.websites-trigger {
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:9px 14px !important;
  border:1px solid var(--border,#dbe3ef) !important;
  border-radius:12px !important;
  background:var(--secondary,#eef4ff) !important;
  color:var(--foreground,#0f172a) !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
.websites-panel {
  display:none !important;
  position:absolute !important;
  top:calc(100% + 8px) !important;
  right:0 !important;
  z-index:160 !important;
  width:340px !important;
  max-height:min(540px,calc(100vh - 110px)) !important;
  overflow-y:auto !important;
  padding:8px !important;
  border:1px solid var(--border,#dbe3ef) !important;
  border-radius:16px !important;
  background:var(--card,#fff) !important;
  box-shadow:0 18px 44px rgba(15,23,42,.18) !important;
}
.websites-dropdown:hover .websites-panel,
.websites-dropdown:focus-within .websites-panel { display:block !important; }
.websites-panel > p { margin:3px 8px 8px !important; color:var(--muted-foreground,#475569) !important; font-size:.68rem !important; font-weight:800 !important; letter-spacing:.12em !important; text-transform:uppercase !important; }
.websites-panel a { display:block !important; padding:10px 11px !important; border-radius:10px !important; text-decoration:none !important; }
.websites-panel strong,.websites-panel span { display:block !important; }
.websites-panel strong { color:var(--foreground,#0f172a) !important; font-size:.84rem !important; }
.websites-panel span { margin-top:2px !important; color:var(--muted-foreground,#475569) !important; font-size:.72rem !important; line-height:1.4 !important; }

.mobile-toggle,.mobile-nav { display:none !important; }

.footer {
  display:block !important;
  border-top:1px solid var(--border,#dbe3ef) !important;
  background:var(--card,#fff) !important;
  color:var(--foreground,#0f172a) !important;
  overflow:hidden !important;
}
.footer-grid {
  width:min(1180px,calc(100% - 32px)) !important;
  margin:0 auto !important;
  padding:44px 0 32px !important;
  display:grid !important;
  grid-template-columns:1.25fr repeat(4,minmax(0,1fr)) !important;
  gap:34px !important;
}
.footer-grid > div { min-width:0 !important; }
.footer-grid a.plain-wordmark {
  display:inline-flex !important;
  margin-bottom:18px !important;
  color:var(--foreground,#0f172a) !important;
  font-size:1.26rem !important;
}
.footer-grid > div:first-child p { max-width:285px !important; color:var(--muted-foreground,#475569) !important; font-size:.84rem !important; line-height:1.55 !important; }
.footer h3 { margin:0 0 13px !important; color:var(--muted-foreground,#475569) !important; font-size:.72rem !important; font-weight:600 !important; letter-spacing:.15em !important; text-transform:uppercase !important; }
.footer-grid > div:not(:first-child) { display:flex !important; flex-direction:column !important; gap:8px !important; }
.footer-grid a { color:var(--muted-foreground,#475569) !important; font-size:.82rem !important; line-height:1.45 !important; text-decoration:none !important; }

.footer-registration-row,.footer-disclosure,.footer-social-row { width:min(1180px,calc(100% - 32px)) !important; margin:0 auto !important; }
.footer-registration-row { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:20px !important; padding:18px 0 22px !important; border-top:1px solid var(--border,#dbe3ef) !important; color:var(--muted-foreground,#475569) !important; font-size:.74rem !important; }
.footer-registration-row p { margin:2px 0 !important; }
.footer-registration-row a { color:var(--primary,#2563eb) !important; }
.language-button { flex:0 0 auto !important; min-height:38px !important; padding:8px 13px !important; border:1px solid var(--border,#dbe3ef) !important; border-radius:10px !important; background:var(--card,#fff) !important; color:var(--foreground,#0f172a) !important; font-weight:600 !important; }
.footer-disclosure { padding:18px 0 20px !important; border-top:1px solid var(--border,#dbe3ef) !important; color:var(--muted-foreground,#475569) !important; font-size:.73rem !important; line-height:1.55 !important; }
.footer-disclosure p { margin:4px 0 !important; }
.footer-social-row { display:flex !important; justify-content:flex-end !important; align-items:center !important; gap:12px !important; padding:4px 0 22px !important; }
.footer-social-row a { width:38px !important; height:38px !important; min-width:38px !important; display:grid !important; place-items:center !important; border-radius:50% !important; color:var(--foreground,#0f172a) !important; overflow:hidden !important; }
.footer-social-row svg { display:block !important; width:18px !important; height:18px !important; max-width:18px !important; max-height:18px !important; fill:currentColor !important; }

.legal-bar {
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:18px max(16px,calc((100% - 1180px)/2)) !important;
  border-top:1px solid rgba(255,255,255,.1) !important;
  background:#0A1F44 !important;
  color:#fff !important;
  font-size:.82rem !important;
}
.legal-bar > span { font-weight:700 !important; }
.legal-bar nav { display:flex !important; flex-wrap:wrap !important; gap:20px !important; }
.legal-bar a { color:rgba(255,255,255,.92) !important; font-weight:600 !important; text-decoration:none !important; }

@media (max-width:1220px) {
  .desktop-nav,.websites-dropdown { display:none !important; }
  .mobile-toggle { display:grid !important; }
  .header-inner { height:70px !important; width:min(calc(100% - 28px),1180px) !important; }
  .site-header .mobile-nav[aria-label="Mobile navigation"] { display:block !important; padding:10px 16px 16px !important; border-top:1px solid var(--border,#dbe3ef) !important; background:var(--card,#fff) !important; }
  .mobile-nav > a { display:block !important; padding:12px !important; border-radius:11px !important; font-weight:600 !important; }
  .mobile-websites { margin-top:8px !important; padding:12px !important; border-radius:14px !important; background:var(--secondary,#eef4ff) !important; }
  .mobile-websites > strong { display:block !important; margin-bottom:6px !important; font-size:.72rem !important; text-transform:uppercase !important; letter-spacing:.12em !important; color:var(--muted-foreground,#475569) !important; }
  .mobile-websites a { display:block !important; padding:9px 0 !important; font-size:.9rem !important; font-weight:600 !important; }
}

@media (max-width:1000px) {
  .footer-grid { grid-template-columns:1.2fr 1fr 1fr !important; }
  .legal-bar { align-items:flex-start !important; flex-direction:column !important; }
}

@media (max-width:700px) {
  .header-inner { width:calc(100% - 24px) !important; }
  .plain-wordmark { font-size:1.08rem !important; }
  .header-square-action { width:38px !important; height:38px !important; min-width:38px !important; }
  .footer-grid { grid-template-columns:1fr 1fr !important; }
  .footer-grid > div:first-child { grid-column:1/-1 !important; }
  .footer-registration-row { align-items:flex-start !important; flex-direction:column !important; }
  .footer-social-row { justify-content:flex-start !important; }
  .legal-bar nav { gap:12px !important; }
}

@media (max-width:480px) {
  .header-actions > a.header-square-action { display:none !important; }
  .footer-grid { grid-template-columns:1fr !important; }
  .footer-grid > div:first-child { grid-column:auto !important; }
}