.site-header { position:relative; z-index:100; background:#fff; color:var(--site-text); font-family:var(--ff-body); }
.site-header__bar { position:relative; display:flex; align-items:center; gap:clamp(24px,3vw,56px); min-height:135px; max-width:1920px; margin-inline:auto; padding:25px clamp(24px,2.7vw,52px); }
.site-header__logo { flex:0 0 clamp(240px,20vw,310px); width:clamp(240px,20vw,310px); color:var(--site-dark); }
.site-header__logo-image { display:block; width:100%; height:auto; max-height:90px; object-fit:contain; object-position:left center; }
.site-header__wordmark { display:block; width:fit-content; }
.site-header__logo-text { display:block; font-family:var(--ff-body); font-weight:800; font-size:clamp(34px,3.15vw,49px); line-height:1.05; letter-spacing:-.055em; white-space:nowrap; }
.site-header__logo-text > span { color:var(--site-accent); }
.site-header__tagline { display:block; padding-top:3px; font-size:clamp(10px,1vw,15px); font-weight:500; line-height:1.3; letter-spacing:.31em; text-transform:uppercase; white-space:nowrap; color:var(--site-text); opacity:.72; }
.site-header__navigation { flex:1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:30px; padding-top:26px; min-width:0; }
.site-header__side { justify-self:center; }
.site-menu,.site-menu .sub-menu { padding:0; margin:0; list-style:none; }
.site-menu { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px clamp(20px,3.7vw,58px); }
.site-menu li { position:relative; }
.site-menu a { display:block; padding:8px 0; font-size:15px; font-weight:500; line-height:1.5; text-transform:uppercase; text-decoration:none; color:inherit; }
.site-menu a:hover,.site-menu a:focus-visible,.site-menu .current-menu-item > a { color:var(--site-accent); }
.site-header__actions { display:flex; flex-direction:column; align-items:flex-end; gap:23px; }
.site-header__languages { position:absolute; top:22px; right:clamp(24px,2.7vw,52px); display:flex; flex-wrap:wrap; gap:12px; }
.site-header__languages a { font-size:11px; font-weight:500; letter-spacing:.18em; line-height:1.5; }
.site-header__languages a:hover { color:var(--site-accent); }
.site-header__request { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:34px; padding:10px 25px; background:var(--site-text); color:#fff; font-size:10px; font-weight:600; line-height:1.3; letter-spacing:.16em; text-transform:uppercase; text-align:center; transition:opacity .2s ease; }
.site-header__request > span { font-size:13px; line-height:1; }
.site-header__toggle { display:none; }
.site-header :focus-visible { outline:2px solid var(--site-accent); outline-offset:5px; }
.site-menu .sub-menu { position:absolute; top:100%; left:-18px; z-index:10; min-width:240px; max-width:min(320px,85vw); padding:12px 18px; background:#fff; color:var(--site-text); border-top:2px solid var(--site-accent); box-shadow:0 12px 28px rgb(0 0 0 / .1); opacity:0; visibility:hidden; pointer-events:none; }
.site-menu .sub-menu a { font-size:15px; text-transform:none; overflow-wrap:anywhere; }
.site-menu .sub-menu .sub-menu { top:0; left:100%; }
.site-menu li:hover > .sub-menu,.site-menu li:focus-within > .sub-menu,.site-menu li.is-submenu-open > .sub-menu { opacity:1; visibility:visible; pointer-events:auto; }
.has-submenu-controls .site-menu li:not(.is-submenu-open) > .sub-menu { opacity:0; visibility:hidden; pointer-events:none; }
.site-menu .menu-item-has-children > a { padding-right:24px; }
.site-submenu-toggle { position:absolute; top:4px; right:0; display:grid; place-items:center; width:24px; height:28px; border:0; padding:0; background:transparent; color:var(--site-accent); cursor:pointer; }
.site-submenu-toggle::before { content:''; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.site-submenu-toggle[aria-expanded=true]::before { transform:translateY(2px) rotate(225deg); }
.site-menu .sub-menu.site-submenu-align-right { left:auto; right:0; }
.site-menu .sub-menu .sub-menu.site-submenu-opens-left { left:auto; right:100%; }
@media(max-width:1279px) {
    .site-header__bar { flex-wrap:wrap; justify-content:space-between; gap:0; min-height:100px; padding:24px; }
    .site-header__logo { flex-basis:250px; width:250px; max-width:calc(100% - 60px); }
    .site-header__logo-text { font-size:38px; }
    .site-header__tagline { font-size:12px; }
    .site-header__logo-image { max-height:65px; }
    .site-header__toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; width:44px; height:44px; border:0; padding:8px; background:transparent; color:var(--site-text); cursor:pointer; }
    .site-header__toggle > span:not(.screen-reader-text) { width:26px; height:2px; background:currentColor; transition:transform .2s; }
    .is-menu-open .site-header__toggle > span:nth-child(2) { transform:translateY(4.5px) rotate(45deg); }
    .is-menu-open .site-header__toggle > span:nth-child(3) { transform:translateY(-4.5px) rotate(-45deg); }
    .site-header__navigation { display:none; flex-basis:100%; width:100%; padding-top:28px; }
    .is-menu-open .site-header__navigation { display:block; }
    .site-header__side { justify-self:stretch; width:100%; }
    .site-menu { display:block; }
    .site-menu > li { border-bottom:1px solid color-mix(in srgb,var(--site-text) 12%,transparent); }
    .site-menu a { padding:16px 40px 16px 0; font-size:15px; }
    .site-header__actions { align-items:flex-start; gap:20px; padding-top:24px; }
    .site-header__languages { position:static; }
    .site-header__request { min-height:44px; padding:12px 25px; }
    .site-submenu-toggle { top:8px; width:40px; height:36px; }
    .site-menu .sub-menu,.site-menu .sub-menu .sub-menu { position:static; display:none; min-width:0; max-width:none; padding:0 0 8px 20px; border:0; box-shadow:none; }
    .site-menu li.is-submenu-open > .sub-menu { display:block; }
    .site-menu .sub-menu a { padding-block:12px; }
}
@media(max-width:380px) {
    .site-header__bar { padding:20px 16px; }
    .site-header__logo { flex-basis:220px; }
    .site-header__logo-text { font-size:32px; }
    .site-header__tagline { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .site-header * { transition:none !important; } }

.site-header__actions { grid-column:2; }
@media(max-width:1279px) { .site-header__toggle { margin-left:auto; } }
