/* JAES v35: scoped styles; retain cascade order. */

[hidden]{display:none!important;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:fixed;top:8px;left:8px;z-index:9999;padding:12px 20px;background:white;color:#1d3961;transform:translateY(-200%);}
.skip-link:focus{transform:translateY(0);}
:focus-visible{outline:3px solid #0288d1;outline-offset:4px;}
main:focus{outline:none;}
summary{list-style:none;}
summary::-webkit-details-marker{display:none;}
.faq-question,.faq-question-service{gap:16px;}
.faq-answer,.faq-answer-service{overflow:visible;}
.logo-img{width:auto;}
.footer-col img{width:auto;height:auto;}
.breadcrumbs{margin-bottom:18px;font-size:13px;}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;list-style:none;gap:10px;}
.breadcrumbs a{color:#fff;}
.breadcrumbs li+li::before{content:"/";margin-inline-end:10px;color:#94a3b8;}
.language-label{font-size:11.5px;color:#64748b;font-weight:600;}
.language-switcher .language-dropdown-menu{display:none;opacity:1;visibility:visible;transform:none;}
.language-switcher[open] .language-dropdown-menu{display:block;}
.lang-dropdown-container:hover .language-switcher:not([open]) .language-dropdown-menu{display:none;}
.language-switcher summary{cursor:pointer;}
.top-bar-languages{max-width:100%;flex-wrap:wrap;justify-content:center;}
.lang-list{flex-wrap:wrap;justify-content:center;}
.language-flags{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;}
.lang-link .language-flag,.lang-dropdown-item .language-flag,.lang-dropdown-btn .language-flag{width:16px;height:12px;object-fit:fill;border-radius:2px;flex-shrink:0;}
.current-language-indicator,.change-language-label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;}
.current-language-indicator{padding-inline-end:6px;border-inline-end:1px solid rgba(255,255,255,.35);}
.lang-link.language-unavailable,.lang-dropdown-item.language-unavailable{color:#64748b;background:transparent;cursor:default;}
.lang-link.language-unavailable{border-color:#cbd5e1;}
.language-unavailable .language-flag{opacity:.55;}
.language-availability-note{font-size:12px;line-height:1.5;color:#64748b;margin:0 0 10px;}
.catalog-fallback{flex:1;padding:16px;}
.quote-intro{margin-bottom:20px;}
.quote-intro h2{font-size:22px;text-transform:uppercase;padding-inline-end:28px;}
.quote-intro p{font-size:14px;color:var(--text-muted);}
.quote-submit{width:100%;margin-top:10px;}
.modal-overlay:not([hidden]){display:flex;}
.legal-link{color:#94a3b8;}
body.overlay-open{overflow:hidden;}
.mobile-menu-toggle{display:none;}
.footer-legal-text{color:#94a3b8;}
.header-cta-btn,.btn{cursor:pointer;}
@media(max-width:1024px){
html:not(.js) nav.main-nav{display:block;width:100%;}
html:not(.js) .header-inner{flex-wrap:wrap;}
html:not(.js) nav.main-nav ul{flex-wrap:wrap;justify-content:center;gap:12px;}
.js .mobile-menu-toggle{display:flex;}
.js nav.main-nav{display:none;}}
@media(max-width:640px){
.top-bar-info{justify-content:center;flex-wrap:wrap;gap:6px;}
.top-bar-info strong{font-size:10px;text-align:center;}
.hero-inner,.service-section-header{overflow-wrap:anywhere;}
.modal-card{padding:28px 20px;}
.language-dropdown-menu{width:min(90vw,700px);max-height:65vh;overflow:auto;}
.language-columns-grid{grid-template-columns:1fr;}
.top-bar-languages{position:relative;width:100%;}
.lang-dropdown-container{position:static;}
.language-dropdown-menu{left:0;right:auto;width:100%;}}
[dir="rtl"] .hero,[dir="rtl"] .hero-inner,[dir="rtl"] .hero h1,[dir="rtl"] .hero-subtitle,[dir="rtl"] .hero-text,[dir="rtl"] .hero-tagline-box{text-align:right;}
[dir="rtl"] .hero-tagline-box{border-left:0;border-right:4px solid #38bdf8;}
[dir="rtl"] .mobile-nav-drawer{left:auto;right:0;transform:translateX(100%);}
[dir="rtl"] .mobile-nav-drawer.active{transform:translateX(0);}
[dir="rtl"] .language-dropdown-menu{left:0;right:auto;}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}
