/* One header model for pointer, keyboard and touch. */
:root { --header-height:74px; }
html { scroll-padding-top:calc(var(--header-height) + 16px); scrollbar-gutter:stable; }
.campaign-header { position:fixed; inset:0 0 auto; z-index:100; background:var(--linen); }
.campaign-header__bar { height:var(--header-height); background:var(--linen); position:relative; z-index:2; }
.campaign-header__left,.campaign-header__right { min-width:0; }
.campaign-header__right { gap:18px; }
.campaign-header__nav { gap:16px; padding-left:18px; }
.campaign-header .explore-trigger,.campaign-header a,.site-language button { touch-action:manipulation; }
.campaign-header .explore-trigger,.site-language button { min-height:44px; }
.campaign-header :focus-visible { outline:2px solid var(--forest); outline-offset:4px; }
.campaign-header__drawer[hidden] { display:none!important; }
.campaign-header.is-open .campaign-header__drawer { position:relative; inset:auto; display:block; max-height:calc(100dvh - var(--header-height)); overflow-y:auto; overscroll-behavior:contain; background:var(--linen); box-shadow:none; transition:none; }
.campaign-header.is-open .campaign-header__drawer-inner { display:flex; min-height:0; overflow:visible; }
.campaign-header.is-open .explore-menu__links { opacity:1; transform:none; transition:none; }
.campaign-header .explore-menu__links a { min-height:48px; }
.campaign-header .explore-menu__links a:hover { background:rgba(36,62,53,.045); }
.header-scrim { position:fixed; inset:var(--header-height) 0 0; z-index:90; background:rgba(20,35,29,.3); touch-action:none; }
.header-scrim[hidden] { display:none; }
@media(max-width:1280px) { .campaign-header__nav { display:none; } }
@media(max-width:768px) {
 :root { --header-height:60px; }
 .campaign-header__bar { padding-inline:14px; }
 .campaign-header__right { gap:6px; }
 .campaign-header.is-open .campaign-header__drawer { position:relative; inset:auto; height:calc(100dvh - var(--header-height)); max-height:none; }
 .campaign-header.is-open .campaign-header__drawer-inner { min-height:100%; }
 .campaign-header .explore-menu__links { padding:12px 20px; }
 .campaign-header .explore-menu__links a { font-size:22px; padding:12px 0; }
 .campaign-header .explore-menu__bottom { height:auto; min-height:60px; padding:16px 20px; gap:16px; }
}
@media(prefers-reduced-motion:no-preference) { .campaign-header.is-open .campaign-header__drawer { animation:header-appear 160ms ease-out; } @keyframes header-appear { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } } }
/* Real image elements also work when index.html is opened directly from disk. */
.header-logo { background:none; mask:none; -webkit-mask:none; }
.header-logo img { display:block; width:100%; height:100%; object-fit:contain; }
.campaign-header .header-logo img { filter:brightness(0) saturate(100%) invert(20%) sepia(15%) saturate(1000%) hue-rotate(105deg); }
.phone-footer .header-logo img { filter:none; }
