/* Local AI Referrals canonical full-site header/footer shell — v1 */
html[data-full-shell] { --shell-nav-height: 72px; }
html[data-full-shell] .navbar { position: fixed; inset: 0 0 auto; height: var(--shell-nav-height); background: rgba(255,255,255,.96); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border,#a5acaf); z-index: 1000; transition: box-shadow .2s ease; }
html[data-full-shell] .navbar.scrolled { box-shadow: 0 6px 18px rgba(0,34,68,.12); }
html[data-full-shell] .navbar > .container { width: min(1200px,calc(100% - 2rem)); height: 100%; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
html[data-full-shell] .nav-logo { display: inline-flex; align-items: center; gap: .55rem; color: var(--brand-navy,#002244); font-weight: 800; line-height: 1.15; text-decoration: none; white-space: nowrap; }
html[data-full-shell] .logo-icon { color: var(--premium-gold,#d8a23a); }
html[data-full-shell] .nav-links { position: static; inset: auto; display: flex; flex-direction: row; align-items: center; justify-content: flex-end; gap: .8rem; max-height: none; margin: 0; padding: 0; overflow: visible; list-style: none; background: transparent; border: 0; box-shadow: none; transform: none; visibility: visible; pointer-events: auto; transition: none; }
html[data-full-shell] .nav-links > li { margin: 0; }
html[data-full-shell] .nav-links a:not(.btn) { display: inline-flex; align-items: center; min-height: 44px; padding: .45rem .2rem; color: var(--brand-navy,#002244); font-weight: 600; text-decoration: none; border-bottom: 2px solid transparent; }
html[data-full-shell] .nav-links a.active, html[data-full-shell] .nav-links a[aria-current="page"] { color: var(--primary,#00338d); border-bottom-color: var(--premium-gold,#d8a23a); }
html[data-full-shell] .nav-links .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; white-space: nowrap; }
html[data-full-shell] .menu-toggle { display: none; width: 44px; height: 44px; padding: 9px; border: 1px solid transparent; border-radius: 8px; background: transparent; cursor: pointer; }
html[data-full-shell] .menu-toggle span { display: block; width: 24px; height: 2px; margin: 4px auto; background: var(--brand-navy,#002244); transition: transform .2s ease,opacity .2s ease; }
html[data-full-shell] .menu-toggle.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
html[data-full-shell] .menu-toggle.active span:nth-child(2) { opacity: 0; }
html[data-full-shell] .menu-toggle.active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
html[data-full-shell] .navbar a:focus-visible, html[data-full-shell] .menu-toggle:focus-visible, html[data-full-shell] .footer a:focus-visible { outline: 3px solid var(--focus-ring,#d8a23a); outline-offset: 3px; border-radius: 6px; }
html[data-full-shell] .footer { background: var(--brand-navy,#002244); color: #fff; padding: 4rem 0 1.5rem; }
html[data-full-shell] .footer > .container { width: min(1200px,calc(100% - 2rem)); margin-inline: auto; }
html[data-full-shell] .footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3,minmax(0,1fr)); gap: 2rem; }
html[data-full-shell] .footer h3, html[data-full-shell] .footer h4 { color: #fff; margin-top: 0; }
html[data-full-shell] .footer p { color: #dbeafe; }
html[data-full-shell] .footer-col { min-width: 0; }
html[data-full-shell] .footer-col a { display: block; width: fit-content; max-width: 100%; margin: .65rem 0; color: #dbeafe; overflow-wrap: anywhere; text-decoration: none; }
html[data-full-shell] .footer a:hover { color: #fff; text-decoration: underline; }
html[data-full-shell] .footer-bottom { display: flex; justify-content: space-between; gap: 1.5rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.24); color: #dbeafe; font-size: .875rem; }
@media (max-width: 980px) {
  html[data-full-shell] .navbar > .container { width: min(calc(100% - 1.5rem),1200px); }
  html[data-full-shell] .menu-toggle { display: block; flex: 0 0 auto; }
  html[data-full-shell] .nav-links { position: fixed; inset: var(--shell-nav-height) 0 auto; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: .65rem; max-height: calc(100dvh - var(--shell-nav-height)); padding: 1rem 1rem 8rem; overflow-y: auto; overscroll-behavior: contain; background: #fff; border-bottom: 1px solid var(--border,#a5acaf); box-shadow: 0 12px 24px rgba(0,34,68,.18); transform: translateY(-115%); visibility: hidden; pointer-events: none; transition: transform .2s ease,visibility 0s linear .2s; z-index: 999; }
  html[data-full-shell] .nav-links.active { transform: translateY(0); visibility: visible; pointer-events: auto; transition-delay: 0s; }
  html[data-full-shell] .nav-links > li { width: 100%; flex: 0 0 auto; }
  html[data-full-shell] .nav-links a:not(.btn), html[data-full-shell] .nav-links .btn { width: 100%; min-height: 48px; justify-content: center; }
  html[data-full-shell] .nav-links a:not(.btn) { padding-inline: 1rem; }
  html[data-full-shell] .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  html[data-full-shell] .nav-logo { font-size: .98rem; }
  html[data-full-shell] .footer { padding-top: 3rem; }
  html[data-full-shell] .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  html[data-full-shell] .footer-bottom { flex-direction: column; gap: .75rem; }
}
@media (prefers-reduced-motion: reduce) { html[data-full-shell] .nav-links, html[data-full-shell] .menu-toggle span { transition: none; } }
