:root { --header-height: 112px; }
.site-header { font-size: var(--type-description-md); position: fixed; inset: 0 0 auto; background: transparent; transition: background .35s, box-shadow .35s; }
.header-main { border-bottom: 0; gap: 30px; }
.brand-mark { width: 90px; height: 83px; }
.brand-mark img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;filter:none}
.header-descriptor { display: none; }
.main-navigation { flex: 1; justify-content: flex-end; gap: 42px; }
.nav-link { color: #fff; font-size: 1em; font-weight: 500; padding-block: 14px; }
.nav-link.is-active { color: #fff; }
.nav-link::after { display: none; }
.nav-roll { position: relative; display: block; height: 1.3em; overflow: hidden; line-height: 1.3; }
.nav-roll > span { display: block; transition: transform .4s cubic-bezier(.22,1,.36,1); }
.nav-roll > span:last-child { position: absolute; top: 100%; left: 0; white-space: nowrap; color: #e5c793; }
.nav-link:hover .nav-roll > span, .dropdown-toggle[aria-expanded='true'] .nav-roll > span { transform: translateY(-100%); }
.nav-contact { margin-left: clamp(30px, 6vw, 110px); background: #f3eee4; border-radius: 5px; color: #2e2f30; padding: 13px 21px; gap: 24px; font-size: 14px; transition: background .25s; }
.nav-contact span { color: #84632f; font-size: 19px; transition: transform .25s; }
.nav-contact:hover { background: #e5c793; }
.nav-contact:hover span { transform: translate(2px,-2px); }
.site-header.is-scrolled, .site-header.menu-is-open { background: #292a2cf2; backdrop-filter: blur(16px); box-shadow: 0 4px 24px #1a1a1b18; }
.dropdown-panel { background: #f6f3eb; color: #2e2f30; border: 0; border-radius: 6px; box-shadow: 0 20px 40px #1a1a1b25; top: calc(100% + 12px); }
.dropdown-panel a { font-size: 1em; font-weight: 500; transition: color .2s, padding .2s; }
.dropdown-panel a:hover { padding-left: 5px; }
.welcome-immersive { height: 100svh; min-height: 620px; }
.immersive-content { padding-top: calc(var(--header-height) + 35px); padding-bottom: 110px; }
.welcome-immersive .hero-image::after { background: linear-gradient(90deg, #161718b8, #16171850 50%, #16171810), linear-gradient(180deg, #16171866, transparent 30%), linear-gradient(0deg, #16171899, transparent 45%); }
@media (max-width: 1100px) {
    :root { --header-height: 100px; }
    .brand-mark { width: 84px; height: 77px; }
    .menu-toggle { color: #fff; }
    .menu-toggle-lines { width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid #ffffff60; border-radius: 50%; }
    .menu-toggle-lines span { background: #fff; width: 20px; }
    .main-navigation { background: #292a2c; justify-content: flex-start; gap: 0; }
    .main-navigation > .nav-link, .nav-dropdown { border-color: #ffffff20; }
    .nav-link { color: #fff; }
    .nav-contact { width: 100%; margin: 24px 0 0; padding: 18px 22px; font-size: 18px; color: #2e2f30; border-bottom: 0 !important; }
    .dropdown-panel { background: transparent; color: #fff; box-shadow: none; border-radius: 0; }
    .dropdown-panel a + a { border-color: #ffffff20; }
    .dropdown-panel a:hover { color: #e5c793; }
}
@media (max-width: 600px) {
    :root { --header-height: 94px; }
    .brand-mark { width: 76px; height: 70px; }
    .header-main { gap: 18px; }
    .immersive-content { padding-top: 120px; padding-bottom: 150px; }
    .welcome-immersive { min-height: 660px; }
}
@media (prefers-reduced-motion: reduce) { .nav-roll > span { transition: none; } }
/* Keep the pointer path continuous between the heading and submenu. */
@media (min-width:1101px) {
    .main-navigation { gap:clamp(25px,2.3vw,42px); }
    .dropdown-panel::before { content:''; position:absolute; inset:-14px 0 auto; height:14px; }
    .dropdown-panel:not([hidden]) { animation:header-submenu-open .3s cubic-bezier(.2,.7,.2,1) both; }
}
@keyframes header-submenu-open { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .dropdown-panel:not([hidden]) { animation:none; } }

.site-header .nav-contact.home-button { font-size: 1em; font-weight: 500; }
.site-header .menu-toggle-text { font-size: 1em; font-weight: 500; }

.header-language{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;min-height:44px;padding:8px 10px;border:1px solid #ffffff40;border-radius:4px;background:transparent;color:#fff;font:inherit;font-weight:500;line-height:1;text-decoration:none;letter-spacing:.03em;transition:color .2s,border-color .2s,background .2s}
a.header-language:focus-visible{outline:2px solid #e5c793;outline-offset:4px}
@media(max-width:1100px){.header-language{order:2;margin-left:auto}.menu-toggle{order:3;margin-left:0;padding-left:0;gap:12px}.main-navigation{order:4}}
@media(min-width:1101px) and (max-width:1280px){.header-main{gap:20px}.main-navigation{gap:24px}.nav-contact{margin-left:24px}}

/* Compact header actions share one height. */
.site-header .nav-contact.home-button{height:50px;min-height:50px;min-width:140px;padding:10px 20px}
.header-language{position:relative;isolation:isolate;overflow:hidden;width:50px;height:50px;min-width:50px;min-height:50px;padding:10px;border-radius:0;cursor:pointer;transition:color .3s,border-color .3s,transform .3s,box-shadow .3s}
.header-language::before{content:"";position:absolute;inset:0;z-index:-1;background:#d7b97f;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.header-language:is(:hover,:focus-visible){color:#2e2f30;border-color:#d7b97f;background:transparent;transform:translateY(-2px);box-shadow:0 6px 18px #1a1a1b18}
.header-language:is(:hover,:focus-visible)::before{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.header-language,.header-language::before{transition:none}.header-language:is(:hover,:focus-visible){transform:none}}

.no-script-navigation{display:none}
@media(max-width:1100px){.no-script-navigation{display:flex;flex-wrap:wrap;gap:12px;padding:16px;background:#2b2c2e;color:#f4f1e8}.no-script-navigation a{text-decoration:none}}

/* Original supplied brand artwork, without color adjustments. */
.site-header .brand{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none}
.site-header .brand-mark{width:90px;height:93px}
@media(max-width:1100px){.site-header .brand-mark{width:80px;height:83px}}
@media(max-width:600px){.site-header .brand-mark{width:74px;height:76px}}

.site-header .nav-collaboration{white-space:nowrap}
@media(min-width:1101px) and (max-width:1400px){.main-navigation{gap:20px}.nav-contact{margin-left:12px}.header-main{gap:20px}}
