
/* The language picker is available independently of the mobile navigation. */
.site-header{gap:20px}.site-header nav{margin-left:auto;gap:24px}
.language-switch{position:relative;flex:0 0 auto;font-family:Arial,Helvetica,sans-serif}
.language-switch summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid #c4ccc5;border-radius:6px;font-size:14px;font-weight:600;color:#163947;background:#fbf8f2;white-space:nowrap}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary>span:first-child{font-size:21px;line-height:1}
.language-options{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;padding:6px;background:#fbf8f2;border:1px solid #c4ccc5;border-radius:8px;box-shadow:0 8px 28px #122e3926;z-index:25}
.language-options a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 13px;min-height:44px;font-size:16px;color:#163947;border-radius:4px}
.language-options a:hover,.language-options a[aria-current]{background:#e8eee6}
.language-suggestion{position:fixed;bottom:96px;left:24px;width:360px;max-width:calc(100vw - 48px);z-index:20;background:#fbf8f2;color:#163947;padding:18px 45px 18px 20px;border:1px solid #c4ccc5;border-radius:9px;box-shadow:0 6px 30px #122e3926}
.language-suggestion p{font-size:14px;line-height:1.5;margin:0 0 10px;color:#25383e}
.language-suggestion a{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:5px 0}
.dismiss-language{position:absolute;right:3px;top:3px;width:38px;height:38px;background:transparent;color:#163947;border:0;font-size:25px}
html:not([lang="es"]) .editorial-hero h1{font-size:clamp(41px,4vw,60px)}
html:not([lang="es"]) .hero-contact .button{gap:8px}
html:not([lang="es"]) .hero-contact .call-copy strong{font-size:18px}
@media(min-width:901px) and (max-width:1200px){.site-header{gap:14px;padding-left:4%;padding-right:4%}.site-header nav{gap:17px;font-size:15px}.site-header nav .button{display:none}.brand-name{font-size:25px}}
@media(min-width:701px) and (max-width:900px){.site-header .menu-toggle{margin-left:auto}.site-header nav{margin-left:0}.language-switch{order:3}}
@media(max-width:700px){
 .site-header{gap:10px;padding-left:18px;padding-right:18px;flex-wrap:wrap;align-content:center;height:116px}
 .site-header>.brand{flex:1 1 calc(100% - 75px)}.site-header .brand-name{font-size:24px}
 .site-header .menu-toggle{order:1;font-size:15px}.language-switch{order:2;margin-left:auto;margin-top:2px}
 .language-switch summary{font-size:13px;min-height:34px;padding:3px 9px;gap:7px}
 .language-switch summary>span:first-child{font-size:18px}
 .site-header nav{top:116px;margin:0;gap:10px}
 .language-options{min-width:175px}
 html{scroll-padding-top:124px}
 .language-suggestion{left:12px;bottom:76px;max-width:calc(100vw - 24px);padding:15px 43px 15px 17px}
 .home-page .language-suggestion{bottom:12px}
 html:not([lang="es"]) .home-page .editorial-hero h1{font-size:38px}
 html:not([lang="es"]) .hero-contact .call-copy strong{font-size:16px;letter-spacing:0}
 html:not([lang="es"]) .hero-contact .call-cta svg{display:none}
}
@media(max-width:360px){
 .site-header{padding-left:16px;padding-right:16px}.site-header .brand-name{font-size:22px}
 html:not([lang="es"]) .home-page .editorial-hero h1{font-size:34px}
 html:not([lang="es"]) .hero-contact .call-copy strong{font-size:14px}
 html:not([lang="es"]) .hero-contact .contact-label strong{font-size:16px}
 .hero-contact .button{padding-left:7px;padding-right:7px}
}

/* Long translated headings must not force grid columns wider than the screen. */
.faq>div,.contact-section>div,.contact-section>form{min-width:0}.faq h2{overflow-wrap:break-word}.faq h2 br{display:initial}
