.main-nav .nav-link { min-height:44px; padding:.65rem .9rem; border-radius:6px; color:#dfe7ef; font-size:1.08rem; }
.main-nav a.nav-cta { color:#fff; }
.main-nav .nav-link:hover { background:#163653; color:#fff; }
.main-nav a.nav-cta:hover { background:#d94700; }
.main-nav .nav-link.active:not(.nav-cta) { color:#ff994f; background:#17334b; }
.mobile-menu-toggle { min-width:44px; min-height:44px; border-radius:6px; }
.nav-dropdown-link { min-height:44px; font-size:.95rem; }
.nav-link, .mobile-menu-toggle, .nav-dropdown-link, .bouton-contact, .contact-submit, .home-inline-cta a, .site-footer a { transition:color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease; }
.bouton-contact, .contact-submit, .home-inline-cta a { min-height:48px; border-radius:6px; }
.bouton-contact:hover, .contact-submit:hover, .home-inline-cta a:hover { transform:none; }
:is(.main-nav,.site-footer,.mobile-action-bar) :is(a,button):focus-visible, .bouton-contact:focus-visible, .contact-submit:focus-visible, .home-inline-cta a:focus-visible, .filter-btn:focus-visible { outline:3px solid #ff994f; outline-offset:4px; }
.site-footer { padding:3.5rem max(1rem,4vw) 2rem; }
.footer-content { grid-template-columns:1.15fr 1fr 1fr 1fr; gap:clamp(1.5rem,3vw,2.75rem); }
.footer-section { min-width:0; }
.footer-section h3 { margin-bottom:1rem; }
.site-footer .footer-section a, .footer-legal-links a { min-height:44px; display:flex; align-items:center; gap:.4rem; padding:.45rem .5rem; border-radius:6px; overflow-wrap:anywhere; line-height:1.5; }
.footer-section a:hover, .footer-legal-links a:hover, .footer-section a[aria-current="page"] { background:#15334c; color:#fff; }
.site-footer .footer-contact-secondary { color:#c3d0dd !important; font-size:.95rem; }
.footer-section p { font-size:.95rem; }
.footer-legal-links { flex-wrap:wrap; gap:.25rem; }
.footer-legal-links a { font-size:.9rem; }
.footer-legal-links a + a::before { content:none; }
.footer-bottom-copy { color:#aebfd0; line-height:1.6; }
@media(min-width:901px) { .nav-group:hover .nav-dropdown { display:none; } .nav-group.desktop-open .nav-dropdown { display:block; } }
@media(max-width:1100px) { .footer-content { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .main-nav .nav-menu { top:100%; max-height:calc(100dvh - 64px); background:#001b3a; } .main-nav .nav-link { width:100%; } .main-nav .nav-services-btn { padding:.65rem .9rem; } }
@media(max-width:600px) { .footer-content { grid-template-columns:minmax(0,1fr); gap:1.75rem; } .footer-section + .footer-section { padding-top:1.5rem; border-top:1px solid #294158; } .footer-bottom { align-items:flex-start; gap:1rem; } .footer-legal-links { flex-direction:column; align-items:flex-start; width:100%; } }
@media(prefers-reduced-motion:reduce) { .main-nav *, .site-footer *, .bouton-contact, .contact-submit, .home-inline-cta a, .service-compact-card, .proof-card, .service-icon, .mobile-action-bar { transition:none !important; animation:none !important; } .scroll-animate { opacity:1 !important; transform:none !important; } .service-compact-card:hover, .proof-card:hover, .service-compact-card:hover .service-icon { transform:none; } }
.nav-logo a { min-height:44px; }
.about-stat-item strong { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:clamp(1.65rem,5vw,2rem); }
.main-nav a.nav-link.nav-cta { min-height:44px; border-radius:6px; }
