/* Globaler Header – eine Quelle und identische Darstellung auf allen Seiten. */
.site-header {
    position: sticky;
    z-index: 1000;
    top: 0;
    min-height: var(--header-height);
    border-bottom: 1px solid rgba(101,179,55,.22);
    background: rgba(247,250,242,.94);
    box-shadow: 0 .35rem 2rem rgba(33,50,18,.04);
    backdrop-filter: blur(1.25rem);
    transition: border-color var(--transition), box-shadow var(--transition), background-color var(--transition);
}
.site-header.is-scrolled { border-bottom-color: rgba(95,125,39,.32); background:rgba(247,250,242,.98); box-shadow:0 .55rem 2.2rem rgba(33,50,18,.09); }
.header-inner { display:flex; min-height:var(--header-height); align-items:center; justify-content:space-between; gap:2rem; }
.brand { display:inline-flex; flex:0 0 auto; }
.brand img { width:min(13.75rem,54vw); }
.main-navigation { display:flex; align-items:center; gap:1.8rem; }
.main-navigation__panel { display:flex; align-items:center; gap:1.8rem; }
.main-navigation__eyebrow { display:none; }
.main-navigation__legal { display:none; }
.main-navigation ul { display:flex; margin:0; padding:0; gap:.85rem; align-items:center; list-style:none; }
.main-navigation ul a { display:block; position:relative; padding:.75rem .3rem; color:#4f594a; font-family:var(--font-interface); font-size:.66rem; font-weight:400; letter-spacing:.055em; text-decoration:none; }
.main-navigation ul a::after { position:absolute; right:.3rem; bottom:.45rem; left:.3rem; height:2px; background:var(--color-accent); content:""; transform:scaleX(0); transform-origin:left; transition:transform var(--transition); }
.main-navigation ul a:hover::after,.main-navigation ul a[aria-current="page"]::after,.main-navigation ul a.is-active::after { transform:scaleX(1); }
.menu-toggle { display:none; width:3rem; height:3rem; padding:0; border:1px solid rgba(101,179,55,.32); border-radius:0; background:rgba(255,255,255,.7); cursor:pointer; }
.menu-toggle-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.menu-toggle-icon { display:grid; width:1.25rem; margin:auto; gap:.25rem; }
.menu-toggle-icon span { display:block; height:2px; border-radius:2px; background:var(--color-accent-dark); transition:transform var(--transition),opacity var(--transition); }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

/* Breakpoint 1: Widescreen */
@media (min-width:2400px) { .brand img { width:15rem; } .main-navigation,.main-navigation__panel { gap:2.4rem; } }
/* Breakpoint 2: Laptop */
@media (max-width:1366px) { .main-navigation,.main-navigation__panel { gap:1.25rem; } .main-navigation ul { gap:.5rem; } }
/* Breakpoint 3: Tablet Landscape */
@media (max-width:1200px) { .main-navigation ul { gap:.25rem; } .main-navigation ul a { font-size:.61rem; } }
/* Breakpoint 4: Tablet Portrait / Fullscreen-Navigation */
@media (max-width:1024px) {
    .site-header { backdrop-filter:none; }
    .header-inner { flex-wrap:wrap; }
    .main-navigation { width:100%; padding:1.25rem 0 1.75rem; align-items:stretch; }
    .main-navigation__panel { width:100%; align-items:stretch; flex-direction:column; }
    .main-navigation ul { display:grid; width:100%; gap:0; }
    .main-navigation ul a { padding:.9rem 0; border-bottom:1px solid rgba(101,179,55,.22); font-family:var(--font-interface); font-size:.72rem; }
    .main-navigation ul a::after { display:none; }
    .main-navigation .button { margin-top:1rem; align-self:flex-start; }
    .js .header-inner { flex-wrap:nowrap; }
    .js .menu-toggle { display:inline-grid; position:relative; z-index:3001; place-items:center; }
    .js .menu-toggle[aria-expanded="true"] {
        position:fixed;
        top:calc((var(--header-height) - 3rem) / 2);
        right:max(1.25rem,calc((100vw - var(--container)) / 2));
        color:var(--color-text-strong);
        border-color:var(--color-accent);
        background:var(--color-surface);
    }
    .js .main-navigation {
        display:block;
        position:fixed;
        z-index:3000;
        inset:0;
        visibility:hidden;
        width:100%;
        min-height:100dvh;
        padding:0;
        overflow-x:hidden;
        overflow-y:auto;
        color:var(--color-text-strong);
        background:rgba(255,255,255,.985);
        opacity:0;
        transform:translateY(-1.25rem);
        transition:visibility var(--transition-slow),opacity var(--transition-slow),transform var(--transition-slow);
        overscroll-behavior:contain;
    }
    .js .main-navigation.is-open { visibility:visible; opacity:1; transform:translateY(0); }
    .js .main-navigation__panel {
        display:grid;
        width:min(calc(100% - 3rem),72rem);
        min-height:100dvh;
        margin-inline:auto;
        padding:clamp(7.5rem,16vh,10rem) 0 clamp(3rem,8vh,5rem);
        align-content:center;
        gap:clamp(1.5rem,4vh,3rem);
    }
    .js .main-navigation__eyebrow {
        display:block;
        margin:0;
        color:var(--color-muted);
        font-family:var(--font-copy);
        font-size:var(--type-small);
        font-weight:700;
        letter-spacing:.18em;
        text-transform:uppercase;
    }
    .js .main-navigation__primary { counter-reset:mobile-menu; }
    .js .main-navigation__primary > li {
        display:grid;
        border-bottom:1px solid var(--color-line);
        align-items:center;
        grid-template-columns:2.4rem minmax(0,1fr);
        counter-increment:mobile-menu;
    }
    .js .main-navigation__primary > li::before {
        align-self:center;
        color:var(--color-accent-dark);
        content:counter(mobile-menu,decimal-leading-zero);
        font-family:var(--font-copy);
        font-size:var(--type-small);
        font-weight:700;
        letter-spacing:.08em;
    }
    .js .main-navigation__primary a {
        padding:clamp(.75rem,2vh,1.15rem) 0;
        border:0;
        color:var(--color-text-strong);
        font-family:var(--font-display);
        font-size:clamp(2.35rem,7vw,5rem);
        font-weight:700;
        letter-spacing:-.04em;
        line-height:.95;
        text-transform:uppercase;
        transition:color var(--transition),transform var(--transition);
    }
    .js .main-navigation__primary a:hover,
    .js .main-navigation__primary a:focus-visible,
    .js .main-navigation__primary a[aria-current="page"],
    .js .main-navigation__primary a.is-active { color:var(--color-accent-dark); transform:translateX(.3rem); }
    .js .main-navigation .button { margin-top:0; justify-self:start; }
    .js .main-navigation__legal {
        display:flex;
        width:100%;
        margin:0;
        padding:clamp(1.1rem,2.8vh,1.65rem) 0 0;
        border-top:1px solid var(--color-line);
        flex-wrap:wrap;
        gap:.55rem 1.15rem;
        list-style:none;
    }
    .js .main-navigation__legal > li { display:block; border:0; }
    .js .main-navigation__legal > li::before { display:none; content:none; }
    .js .main-navigation__legal a {
        display:inline-flex;
        padding:.2rem 0;
        border:0;
        color:var(--color-muted);
        font-family:var(--font-copy);
        font-size:var(--type-small);
        font-weight:600;
        letter-spacing:.015em;
        line-height:1.35;
        text-transform:none;
        transform:none;
    }
    .js .main-navigation__legal a:hover,
    .js .main-navigation__legal a:focus-visible,
    .js .main-navigation__legal a[aria-current="page"] { color:var(--color-accent-dark); transform:none; }
    .menu-open .nt-ticker { visibility:hidden; }
}
/* Breakpoint 5: Mobile Landscape */
@media (max-width:880px) { .main-navigation { padding-inline:1.25rem; } .js .main-navigation { padding-inline:0; } }
/* Breakpoint 6: Mobile Portrait */
@media (max-width:767px) {
    .brand img { width:10rem; }
    .js .main-navigation__panel { width:min(calc(100% - 2.5rem),44rem); padding-top:clamp(6.5rem,14vh,8rem); }
    .js .main-navigation__primary > li { grid-template-columns:2rem minmax(0,1fr); }
    .js .main-navigation__primary a { font-size:clamp(2rem,10vw,3.8rem); }
    .js .main-navigation__legal { gap:.45rem 1rem; }
}
/* Breakpoint 7: Small Mobile */
@media (max-width:480px) {
    .menu-toggle { width:2.75rem; height:2.75rem; }
    .brand img { width:8.8rem; }
    .js .menu-toggle[aria-expanded="true"] { top:calc((var(--header-height) - 2.75rem) / 2); right:1.05rem; }
    .js .main-navigation__panel { width:calc(100% - 2.1rem); }
}
@media (prefers-reduced-motion:reduce) { .site-header,.main-navigation,.menu-toggle-icon span,.main-navigation ul a { transition:none!important; } }
@media (forced-colors:active) { .site-header,.menu-toggle,.nt-header-section__cta { border:1px solid ButtonText; } }
