
/* Shared refinements, loaded after existing page styles. */
.nav-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.15rem .4rem; }
.site-nav .menu-toggle { display:none; }
.footer-links { text-align:center; margin:1.5rem 0 0; line-height:2; }
.footer-links a { color:#FFD700; }
.faq-section { max-width:1000px; margin:auto; padding:3rem 2rem; }
.faq-section details { border-bottom:1px solid #dce2e7; padding:1rem 0; }
.faq-section summary { cursor:pointer; font-weight:700; min-height:44px; color:#1a3a52; }
.faq-section p { line-height:1.7; }
.contact-guidance p { margin-bottom:1.25rem; }
.contact-layout { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)) !important; }
button:focus-visible, summary:focus-visible { outline:3px solid #b07800; outline-offset:3px; }
.site-nav button:focus-visible { outline-color:#FFD700; }
@media(max-width:768px) {
 .site-nav { justify-content:space-between; padding:.5rem 1rem; }
 .site-nav[data-enhanced] .menu-toggle { display:inline-flex; align-items:center; min-height:44px; padding:.5rem 1rem; color:white; background:transparent; border:1px solid #d4af37; border-radius:5px; font:inherit; cursor:pointer; }
 .site-nav[data-enhanced] .nav-links { display:none; }
 .site-nav[data-enhanced]:has(.menu-toggle[aria-expanded="true"]) .nav-links { display:flex; }
 .nav-links { width:100%; order:3; flex-direction:column; align-items:stretch; }
 .site-nav .nav-links a { padding:.65rem 1rem; }
 .site-nav .nav-phone { margin-left:auto; }
 .contact-layout { gap:1.5rem !important; }
 .section { padding:2rem 1rem; }
 .section .container-wide { padding:0; }
 .case-study { padding:1.25rem; }
 .profile-card { grid-template-columns:minmax(0,1fr); }
 .faq-section { padding:2rem 1rem; }
}
@media(prefers-reduced-motion:reduce) {
 *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
