/* Shared identity. Selected emblem: armillary sphere with the Portuguese shield. */
.brand{--brand-ground:#082d25;display:inline-flex;align-items:center;gap:16px;min-width:0;flex-shrink:0}
.brand-signature{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.brand-emblem{display:block;width:44px;height:44px;flex:none;color:#c7ac79}
.brand .wordmark{font:42px/1 var(--serif);letter-spacing:-.035em}
.brand .brand-name{display:block;border-left:1px solid #c7ac796b;padding-left:16px;font:12px/1.27 var(--serif);letter-spacing:.005em;white-space:nowrap}
.header-inner{max-width:1600px;padding-inline:32px;gap:24px}
.main-nav{gap:20px}
.header-actions{gap:12px;flex-shrink:0}
.mobile-nav-language{display:none}
.nav-trigger,.nav-direct{font-size:13px}
.footer-brand{--brand-ground:#f8f6ef;display:grid;grid-template-columns:max-content max-content;justify-content:start;gap:17px 18px;margin-bottom:24px}
.footer-brand .brand-signature{grid-column:1/-1;gap:12px}
.footer-brand .brand-emblem{width:42px;height:42px;color:#987742}
.footer-brand .wordmark{font-size:40px}
.footer-brand .brand-name{font-size:12px;line-height:1.4;white-space:nowrap;border-color:#b29a7173;padding-left:18px}
.footer-brand .brand-name-en{border-left:0;padding-left:0}
@media(min-width:1201px) and (max-width:1399px){
 .header-inner{padding-inline:26px;gap:18px}
 .header-inner>.brand{gap:12px}
 .header-inner>.brand .brand-signature{gap:10px}
 .header-inner>.brand .brand-emblem{width:40px;height:40px}
 .header-inner>.brand .wordmark{font-size:38px}
 .header-inner>.brand .brand-name{display:block;font-size:11.5px;padding-left:12px}
 .main-nav{gap:18px}
}
@media(min-width:1201px) and (max-width:1279px){.header-cta{display:none}}
@media(max-width:1200px){
 :root{--header:82px}
 .header-inner{justify-content:space-between;padding-inline:24px;gap:18px}
 .header-inner>.brand .brand-name{display:block;font-size:12px;padding-left:16px}
 .header-actions{gap:17px}
 .header-actions>.language-switch{display:none}
 .mobile-menu-toggle{display:flex;align-items:center;gap:9px;color:var(--ivory);background:none;border:0;padding:10px 0;min-height:44px;font-size:12px}
 .menu-bars{display:block;width:18px;height:11px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
 .main-nav{position:fixed;inset:var(--header) 0 0;overflow-y:auto;background:var(--ivory);color:var(--ink);display:none;padding:20px 28px 80px;margin:0}
 .main-nav.mobile-open{display:block}
 .mobile-nav-language{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 10px;margin-bottom:5px;border-bottom:1px solid var(--rule)}
 .mobile-language-label{font:10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
 .mobile-nav-language .language-switch{font-size:16px;gap:10px}
 .mobile-nav-language .language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;opacity:1}
 .mobile-nav-language .language-switch a.selected{color:var(--green);font-weight:600;text-decoration-thickness:1px;text-underline-offset:6px}
 .nav-trigger,.nav-direct{font-family:var(--serif);font-size:24px;color:var(--ink);width:100%;padding:17px 0;justify-content:space-between;border-bottom:1px solid var(--rule);white-space:normal}
 .nav-trigger:after,.nav-direct:after{display:none}
 .chevron{width:7px;height:7px;margin-right:5px}
 .nav-trigger[aria-expanded=true] .chevron{transform:rotate(225deg)}
 .mega-menu{position:static;display:block;padding:21px 0 16px;box-shadow:none;border:0;background:var(--ivory)}
 .mega-intro{display:none}
 .mega-column{margin-bottom:20px}
 .mega-column h3{font-size:10px}
 .mega-column a{font-size:17px;padding:10px 2px;min-height:44px}
 .menu-scrim{display:none}
 .mobile-nav-extras{display:block;margin-top:25px}
 .mobile-nav-extras>.button{background:var(--green);color:var(--ivory);width:100%}
}
@media(max-width:900px){.header-cta{display:none}.header-inner>.brand{gap:14px}.header-inner>.brand .brand-name{padding-left:14px;font-size:11.5px}.header-inner>.brand .wordmark{font-size:38px}.header-inner>.brand .brand-emblem{width:40px;height:40px}}
@media(max-width:600px){
 :root{--header:74px}
 .header-inner{padding-inline:18px;gap:10px}
 .header-inner>.brand{gap:12px}
 .header-inner>.brand .brand-signature{gap:8px}
 .header-inner>.brand .brand-emblem{width:34px;height:34px}
 .header-inner>.brand .wordmark{font-size:34px}
 .header-inner>.brand .brand-name{font-size:9.5px;line-height:1.3;padding-left:12px;max-width:none}
 .header-inner>.brand .brand-name-pt{display:none}
 html[lang="pt-PT"] .header-inner>.brand .brand-name-en{display:none}
 html[lang="pt-PT"] .header-inner>.brand .brand-name-pt{display:block}
 .header-actions{gap:7px}
 .mobile-menu-toggle{font-size:11px;gap:7px}
 .main-nav{padding-inline:23px}
 .footer-brand{gap:18px 20px}
 .footer-brand .brand-name{font-size:13px;padding-left:20px}
 .footer-brand .brand-name-en{padding-left:0}
 .footer-brand .brand-emblem{width:43px;height:43px}
 .footer-brand .wordmark{font-size:41px}
}
@media(max-width:370px){.header-inner>.brand .brand-name,html[lang="pt-PT"] .header-inner>.brand .brand-name-pt{display:none}.footer-brand .brand-name{font-size:12px}}
