/* ==========================================================================
   Herbst Transporte – Mobile First
   Breakpoints: 768px (Tablet) · 900px (Hero/Reihen) · 1100px (Desktop-Navigation)
   ========================================================================== */

/* ---------- Schriften (selbst gehostet, SIL OFL) ----------
   Big Shoulders Display (Überschriften) und Public Sans (Fließtext). */
@font-face{font-family:"Big Shoulders Display";font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/big-shoulders-display-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/big-shoulders-display-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:800;font-style:normal;font-display:swap;src:url("../fonts/big-shoulders-display-latin-800-normal.woff2") format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:900;font-style:normal;font-display:swap;src:url("../fonts/big-shoulders-display-latin-900-normal.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/public-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/public-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/public-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/public-sans-latin-700-normal.woff2") format("woff2")}

/* ---------- Tokens ---------- */
:root{
  --navy:#0b2745;
  --navy-deep:#071b31;
  --navy-soft:#123a63;
  --orange:#f47b06;
  --orange-strong:#e36b00; /* Hintergrund für weißen Text (Kontrast ≥ 3:1 bei großer Schrift) */
  --paper:#f4f6f9;
  --line:#dde3ea;
  --line-dark:rgba(255,255,255,.2);
  --numeral:#d3d9e1;
  --muted:#5d6b7d;

  --font-display:"Big Shoulders Display","Oswald","Arial Narrow",Impact,sans-serif;
  --font-body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;

  --gutter:1rem;
  --header-h:4rem;
  --toolbar-h:2.75rem;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (min-width:768px){:root{--gutter:1.5rem}}
@media (min-width:1100px){:root{--gutter:2rem;--header-h:5rem;--toolbar-h:2.25rem}}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
body{margin:0;font-family:var(--font-body);font-size:1rem;line-height:1.55;color:var(--navy);background:#fff;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,p,address{margin:0;font-style:normal}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:0;z-index:1000;background:var(--navy);color:#fff;padding:.75rem 1rem}
.skip-link:focus{left:0}

.container{width:min(100% - 2 * var(--gutter),80rem);margin-inline:auto}
.container-wide{width:min(100% - 2 * var(--gutter),96rem);margin-inline:auto}

.icon{width:1.1em;height:1.1em;flex:none}

/* Medien füllen ihren Container */
.fill{position:relative;overflow:hidden}
.fill>img,.fill>.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph{display:block;background:repeating-linear-gradient(135deg,#123a63 0 14px,#0f3159 14px 28px)}

/* ---------- Typografie ---------- */
.display{font-family:var(--font-display);font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:.005em;overflow-wrap:break-word;hyphens:auto}
.eyebrow{font-family:var(--font-body);font-weight:600;font-size:.72rem;line-height:1.6;letter-spacing:.24em;text-transform:uppercase}
.t-accent{color:var(--orange)}
.t-outline{color:transparent;-webkit-text-stroke:1.5px var(--orange);paint-order:stroke fill}
@media (min-width:768px){.t-outline{-webkit-text-stroke:2px var(--orange)}}

/* ---------- Buttons / Links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3rem;padding:.7rem 1.4rem;font-family:var(--font-display);font-weight:700;font-size:1.2rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s}
.btn--primary{background:var(--orange-strong);color:#fff}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--navy-deep)}
.btn--sm{min-height:2.75rem;padding:.55rem 1.1rem;font-size:1.05rem}
.btn--outline-dark{border-color:var(--navy);color:var(--navy)}
.btn--outline-dark:hover,.btn--outline-dark:focus-visible{background:var(--navy);color:#fff}

.link-arrow{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-body);font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.link-arrow::before{content:"";width:2rem;height:1px;background:currentColor;transition:width .2s}
.link-arrow:hover::before,.link-arrow:focus-visible::before{width:3rem}

.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem}
.icon-btn:hover{color:var(--orange-strong)}

/* Pfeil-Markierung für Menüpunkte ("has-arrow" / target=_blank) */
.has-arrow>a::after,.footer-list a[target="_blank"]::after{content:"";display:inline-block;width:.8em;height:.8em;margin-left:.5em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat}
.footer-list a[target="_blank"]{display:inline-flex;align-items:center}
.footer-list .has-arrow>a{display:inline-flex;align-items:center}

/* ---------- Top Tool Bar ---------- */
.toolbar{background:var(--navy);color:#fff;font-size:.8125rem}
.toolbar__list{display:flex;align-items:center;justify-content:space-between;min-height:var(--toolbar-h)}
.toolbar__link{display:inline-flex;align-items:center;gap:.5rem;min-height:var(--toolbar-h);padding:0 .35rem;text-decoration:none}
.toolbar__link .icon{color:var(--orange)}
.toolbar__link:hover{color:var(--orange)}
/* mobil: nur Icons, die Telefonnummer bleibt lesbar */
.toolbar__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.toolbar__item--phone .toolbar__label{position:static;width:auto;height:auto;overflow:visible;clip:auto;font-weight:600}
@media (min-width:768px){
  .toolbar__list{justify-content:flex-end;gap:2rem}
  .toolbar__label{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:#fff;transition:box-shadow .2s}
.site-header.is-stuck{box-shadow:0 2px 14px rgba(7,27,49,.12)}
.site-header__bar{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-h)}

.site-logo{display:inline-flex;align-items:center;text-decoration:none}
.site-logo__img{height:2.25rem;width:auto}
.site-logo__text{position:relative;display:inline-block;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:2rem;line-height:1;letter-spacing:-.01em;padding-bottom:.4rem;color:var(--navy)}
.site-logo__text::after{content:"";position:absolute;left:0;right:-.1em;bottom:0;height:.2em;background:currentColor;clip-path:polygon(0 0,100% 0,93% 100%,0 100%)}
.site-logo__text--light{color:#fff}
@media (min-width:1100px){.site-logo__img{height:3rem}.site-logo__text{font-size:2.4rem}}

/* Burger */
.nav-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-right:-.5rem}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";display:block;width:1.6rem;height:2px;background:var(--navy);transition:transform .25s var(--ease),background .2s}
.nav-toggle__bars{position:relative}
.nav-toggle__bars::before{position:absolute;top:-.5rem}
.nav-toggle__bars::after{position:absolute;top:.5rem}
.nav-open .nav-toggle__bars{background:transparent}
.nav-open .nav-toggle__bars::before{transform:translateY(.5rem) rotate(45deg)}
.nav-open .nav-toggle__bars::after{transform:translateY(-.5rem) rotate(-45deg)}

/* Off-Canvas-Panel (mobil) */
.site-nav-wrap{position:fixed;inset:var(--nav-top,calc(var(--toolbar-h) + var(--header-h))) 0 0 0;z-index:99;background:#fff;overflow-y:auto;overscroll-behavior:contain;padding:.5rem var(--gutter) 2.5rem;visibility:hidden;opacity:0;transform:translateY(-.5rem);transition:opacity .2s,transform .25s var(--ease),visibility 0s .25s}
.nav-open .site-nav-wrap{visibility:visible;opacity:1;transform:none;transition-delay:0s}

.primary-nav__list{display:flex;flex-direction:column}
.primary-nav__item{border-bottom:1px solid var(--line)}
.primary-nav__row{display:flex;align-items:stretch}
.primary-nav__link{flex:1;padding:.95rem 0;font-family:var(--font-display);font-weight:700;font-size:1.6rem;line-height:1.1;letter-spacing:.02em;text-transform:uppercase;text-decoration:none}
.primary-nav__toggle{display:inline-flex;align-items:center;justify-content:center;width:3rem}
.primary-nav__toggle .icon{width:1.4rem;height:1.4rem;transition:transform .2s}
.primary-nav__item.is-open>.primary-nav__row .primary-nav__toggle .icon{transform:rotate(180deg)}
.primary-nav__item.is-open>.primary-nav__row .primary-nav__link,
.primary-nav__item.is-current>.primary-nav__row .primary-nav__link{color:var(--orange-strong)}

.subnav,.mega{display:none}
.is-open>.subnav,.is-open>.mega{display:block}
.subnav{padding:0 0 1rem 1rem}
.subnav__link{display:block;padding:.55rem 0;text-decoration:none}
.subnav__list--nested{padding-left:1rem}

/* Aktionen im Panel (mobil: Kontakt-Button zuerst) */
.site-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1.5rem}
.site-header__actions .btn{order:-1;flex:1 1 100%}

.lang{position:relative}
.lang__btn{display:inline-flex;align-items:center;gap:.3rem;min-height:2.75rem;padding:0 .5rem;font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:.06em}
.lang__list{position:absolute;left:0;top:100%;z-index:5;display:none;min-width:9rem;background:#fff;box-shadow:0 10px 28px rgba(7,27,49,.2)}
.lang.is-open .lang__list{display:block}
.lang__list a{display:block;padding:.7rem 1rem;text-decoration:none}
.lang__list a:hover{background:var(--paper)}
.lang__list .is-active a{color:var(--orange-strong);font-weight:600}

/* Direktzugänge im mobilen Panel */
.nav-tools{display:grid;gap:.5rem;margin-top:1.5rem}
.nav-tools a{display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:.5rem 1rem;background:var(--paper);font-family:var(--font-display);font-weight:600;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.nav-tools .icon{color:var(--orange-strong)}

/* Suche */
.search-panel{background:var(--paper);border-top:1px solid var(--line);padding:1rem 0}
.search-panel[hidden]{display:none}
.search-form{display:flex;gap:.5rem}
.search-form label{flex:1}
.search-field{width:100%;min-height:3rem;padding:0 1rem;font:inherit;border:2px solid var(--navy);background:#fff}
.search-submit{min-height:3rem;padding:0 1.25rem;background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:0;cursor:pointer}

/* ---------- Mega-Menü: mobil (Akkordeon im Panel) ---------- */
.mega{background:var(--navy);color:#fff;margin-bottom:1rem}
.mega__main{padding:1.25rem var(--gutter) 1.5rem;border-left:.5rem solid var(--orange)}
.mega__close,.mega__label{display:none}
.mega__cols{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.mega__head{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:.9rem}
.mega__num{font-family:var(--font-display);font-weight:700;font-size:4.25rem;line-height:.8;color:transparent;-webkit-text-stroke:1.5px #2f6098}
.mega__eyebrow{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.mega__title{font-size:2.1rem}
.mega__title a{text-decoration:none}
.mega__list{margin-top:1rem}
.mega__link a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.9rem;padding:.55rem 0;border-bottom:1px solid var(--line-dark);text-decoration:none}
.mega__link a:hover{color:var(--orange)}
.mega__link--free a{justify-content:flex-start;gap:.5rem;border-bottom:0}
.mega__link--free .icon{order:2}
.mega__promo{display:block;background:var(--orange);color:var(--navy);text-decoration:none}
.mega__promo-text{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem var(--gutter);font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1;text-transform:uppercase}
.mega__promo-img,.mega__tools{display:none}

/* ---------- Hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1fr);background:var(--navy);color:#fff}
.hero__content{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:2.25rem var(--gutter) 2.5rem}
.hero__eyebrow{color:rgba(255,255,255,.85)}
.hero__title{font-size:clamp(3.25rem,17vw,5.75rem);hyphens:manual}
.hero__sub{font-size:1.25rem;font-weight:500}
.hero__note{display:flex;align-items:flex-start;gap:.75rem;margin-top:.5rem;font-size:.65rem;color:rgba(255,255,255,.7)}
.hero__note::before{content:"";flex:none;width:2rem;height:1px;margin-top:.7em;background:currentColor}
.hero__media{min-height:16rem;aspect-ratio:4/3}
.hero__media::after,.service__media::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(to top,rgba(7,27,49,.55),transparent);pointer-events:none}
.hero__caption{position:absolute;right:var(--gutter);bottom:1rem;z-index:1;max-width:12rem;text-align:right;font-size:.65rem;color:#fff}
.hero__side{display:flex;align-items:center;padding:.7rem var(--gutter);background:var(--orange);color:var(--navy);font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.25em;text-transform:uppercase}
@media (min-width:900px){
  .hero{grid-template-columns:minmax(24rem,36%) 1fr 3.5rem;min-height:min(44rem,calc(100vh - var(--header-h) - var(--toolbar-h)))}
  .hero__content{justify-content:center;padding:3rem 2.5rem 3rem var(--gutter)}
  .hero__media{aspect-ratio:auto;min-height:0}
  .hero__side{justify-content:center;padding:1.5rem 0;writing-mode:vertical-rl}
}

/* ---------- Kennzahlen ---------- */
.stats{background:#fff;border-bottom:1px solid var(--line)}
.stats__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.stats__item{display:flex;flex-direction:column;gap:.35rem;padding:1.5rem 1rem 1.5rem 0}
.stats__item:nth-child(even){padding-left:1rem;border-left:1px solid var(--line)}
.stats__item:nth-child(n+3){border-top:1px solid var(--line)}
.stats__value{font-size:clamp(2.25rem,9vw,3.5rem);line-height:1}
.stats__label{font-size:.62rem;color:var(--muted)}
@media (min-width:900px){
  .stats__list{grid-template-columns:repeat(4,1fr)}
  .stats__item,.stats__item:nth-child(even){padding:2rem 1.5rem;border-top:0;border-left:1px solid var(--line)}
  .stats__item:first-child{padding-left:0;border-left:0}
}

/* ---------- Leistungen ---------- */
.service{display:grid;grid-template-columns:minmax(0,1fr);border-bottom:1px solid var(--line)}
.service__text{display:flex;align-items:flex-start;gap:1rem;padding:2rem var(--gutter)}
.service__num{flex:none;font-size:clamp(3.5rem,18vw,7.5rem);line-height:.8;color:var(--numeral)}
.service__body{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;min-width:0}
.service__title{font-size:clamp(1.9rem,7.5vw,2.6rem);line-height:1}
.service__body p{max-width:30rem;color:#27415f}
.service__media{min-height:14rem;aspect-ratio:16/9}
.service__caption{position:absolute;right:var(--gutter);bottom:1rem;z-index:1;text-align:right;font-size:.62rem;color:#fff}
@media (min-width:900px){
  .service{grid-template-columns:2fr 3fr;min-height:16rem}
  .service--rev{grid-template-columns:3fr 2fr}
  .service--rev .service__media{order:-1}
  .service__text{align-items:center;padding:2rem 2.5rem 2rem max(var(--gutter),2rem)}
  .service__media{aspect-ratio:auto;min-height:0}
  .service--rev .service__caption{right:auto;left:2rem;text-align:left}
}

/* ---------- Familie ---------- */
.family{display:grid;grid-template-columns:minmax(0,1fr);background:var(--navy-deep);color:#fff}
.family__media{min-height:18rem;aspect-ratio:4/3}
.family__media>img{filter:grayscale(1)}
.family__label{position:absolute;left:var(--gutter);bottom:1rem;z-index:1;font-size:.62rem}
.family__body{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:2rem var(--gutter) 2.5rem}
.family__title{font-size:clamp(2.1rem,9vw,3.4rem);line-height:.98}
.family__body p{max-width:32rem;color:rgba(255,255,255,.85)}
@media (min-width:900px){
  .family{grid-template-columns:1.25fr 1fr}
  .family__media{aspect-ratio:auto;min-height:24rem}
  .family__body{justify-content:center;padding:3rem 3rem 3rem 2.5rem}
}

/* ---------- Karriere-Band ---------- */
.career{background:var(--orange);color:var(--navy)}
.career__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:2rem 0}
.career__title{font-size:clamp(2.4rem,11vw,3.4rem);line-height:.95}
.career__text{max-width:24rem}
.career .btn{justify-self:start}
@media (min-width:900px){
  .career__inner{grid-template-columns:auto auto minmax(14rem,1fr) auto;align-items:center;gap:2rem;padding:1.5rem 0}
  .career__label{display:flex;align-items:center;gap:1rem}
  .career__label::after{content:"";width:3rem;height:1px;background:currentColor}
}

/* ---------- CTA-Band vor dem Footer ---------- */
.cta{position:relative;isolation:isolate;background:var(--navy-deep);color:#fff}
.cta__bg{position:absolute;inset:0;z-index:-1}
.cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,49,.92) 25%,rgba(7,27,49,.55))}
.cta__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:1.75rem;padding:3rem 0}
.cta__eyebrow{color:var(--orange)}
.cta__main{display:flex;flex-direction:column;gap:1rem}
.cta__title{font-size:clamp(2.6rem,12vw,5.5rem)}
.cta__side{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;max-width:22rem}
.cta__contact{display:grid;gap:.6rem}
.cta__contact li{display:flex;align-items:center;gap:.75rem}
.cta__contact .icon{color:var(--orange)}
.cta__contact a{text-decoration:none}
.cta__contact a:hover{text-decoration:underline}
@media (min-width:900px){
  .cta__inner{grid-template-columns:1fr auto;align-items:center;gap:3rem;padding:4.5rem 0}
}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:#fff}
.footer-main{display:grid;grid-template-columns:minmax(0,1fr)}
.footer-main__inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 1.5rem;padding:2.75rem 0}
.footer-brand{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.footer-brand .site-logo__text{font-size:2.8rem}
.footer-brand__claim{font-weight:500;letter-spacing:.14em}
.footer-brand__address{line-height:1.6;color:rgba(255,255,255,.85)}
.footer-col__title{margin-bottom:1rem;color:var(--orange)}
.footer-list{display:grid;gap:.55rem}
.footer-list a{display:inline-block;padding:.2rem 0;font-size:1.05rem;text-decoration:none}
.footer-list a:hover,.footer-list a:focus-visible{color:var(--orange)}
.footer-strip{display:flex;align-items:center;justify-content:center;padding:.8rem var(--gutter);background:var(--orange);color:var(--navy);font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:.2em;text-transform:uppercase}
@media (min-width:768px){
  .footer-main__inner{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1100px){
  .footer-main{grid-template-columns:1fr 4.5rem}
  .footer-main__inner{grid-template-columns:1.3fr repeat(3,1fr);gap:0;padding:3rem 0;margin-inline:0;width:auto;padding-left:max(var(--gutter),calc((100vw - 96rem) / 2));padding-right:0}
  .footer-brand{grid-column:auto;padding-right:2.5rem}
  .footer-col{padding:0 2rem;border-left:1px solid var(--line-dark)}
  .footer-strip{writing-mode:vertical-rl;transform:rotate(180deg);padding:2rem 0;font-size:1.5rem}
}

/* ---------- Subfooter ---------- */
.subfooter{background:var(--navy-deep);color:rgba(255,255,255,.8);border-top:1px solid var(--line-dark);font-size:.78rem}
.subfooter__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.5rem 0}
.subfooter__list{display:flex;flex-wrap:wrap;gap:.25rem 0}
.subfooter__list li:not(:last-child)::after{content:"";display:inline-block;width:1px;height:.9em;margin:0 .9rem;background:var(--line-dark);vertical-align:middle}
.subfooter__list a{display:inline-block;padding:.35rem 0;text-decoration:none}
.subfooter__list a:hover{color:var(--orange)}
.subfooter__tagline{font-size:.62rem;letter-spacing:.2em;color:rgba(255,255,255,.65)}
.subfooter__top{display:inline-flex;align-items:center;gap:.6rem;justify-self:start;min-height:2.75rem;font-size:.62rem;color:#fff}
.subfooter__top:hover{color:var(--orange)}
@media (min-width:1100px){
  .subfooter__inner{grid-template-columns:auto 1fr auto auto;align-items:center;gap:2rem;padding:1.4rem 0}
  .subfooter__tagline{padding-left:2rem;border-left:1px solid var(--line-dark)}
  .subfooter__top{padding-left:2rem;border-left:1px solid var(--line-dark)}
}

/* ---------- Standard-Seite ---------- */
.page{padding:3rem 0 4rem}
.entry__title{font-size:clamp(2.5rem,9vw,4rem);margin-bottom:1.5rem}
.entry__content{max-width:48rem}

/* ==========================================================================
   Desktop-Navigation + Mega-Menü (≥ 1100 px)
   ========================================================================== */
@media (min-width:1100px){
  .nav-toggle,.nav-tools{display:none}

  .site-nav-wrap{position:static;flex:1;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-left:2.5rem;padding:0;overflow:visible;background:none;visibility:visible;opacity:1;transform:none}

  .primary-nav__list{flex-direction:row;gap:.25rem}
  .primary-nav__item{position:static;border:0}
  .primary-nav__row{align-items:center}
  .primary-nav__link{display:inline-flex;align-items:center;min-height:var(--header-h);padding:0 .75rem;font-size:1.25rem;font-weight:700;letter-spacing:.04em}
  .primary-nav__link:hover{color:var(--orange-strong)}
  .primary-nav__item.is-current>.primary-nav__row .primary-nav__link{box-shadow:inset 0 -3px 0 var(--orange)}
  .primary-nav__toggle{width:1.6rem;margin-left:-.7rem}
  .primary-nav__toggle .icon{width:1.1rem;height:1.1rem}

  .site-header__actions{margin:0;flex-wrap:nowrap;gap:.25rem}
  .site-header__actions .btn{order:0;flex:0 0 auto;margin-left:.75rem}
  .lang{margin-left:.25rem;padding-left:.75rem;border-left:1px solid var(--line)}
  .lang__list{left:auto;right:0}

  .search-panel{position:absolute;left:0;right:0;top:100%;box-shadow:0 12px 24px rgba(7,27,49,.12)}

  /* einfaches Dropdown */
  .primary-nav__item.has-sub:not(.has-mega){position:relative}
  .subnav{position:absolute;left:0;top:100%;z-index:5;display:block;min-width:17rem;padding:.5rem 0;background:#fff;border-top:3px solid var(--orange);box-shadow:0 14px 30px rgba(7,27,49,.18);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s var(--ease),visibility 0s .2s}
  .is-open>.subnav{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  .subnav__link{padding:.65rem 1.25rem}
  .subnav__link:hover{background:var(--paper);color:var(--orange-strong)}
  .subnav__list--nested{padding-left:1rem}

  /* Mega-Panel über die volle Breite, direkt unter dem Header */
  .mega{position:absolute;left:0;right:0;top:100%;display:block;margin:0;max-height:calc(100vh - var(--hdr-bottom,5rem));overflow-y:auto;box-shadow:0 22px 44px rgba(7,27,49,.28);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .25s var(--ease),visibility 0s .25s}
  .is-open>.mega{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  html:not(.js) .primary-nav__item:hover>.mega,
  html:not(.js) .primary-nav__item:focus-within>.mega{visibility:visible;opacity:1;transform:none;transition-delay:0s}

  .mega__main{position:relative;margin-left:2.25rem;padding:2.5rem 0 2.75rem;border-left:0}
  .mega__main::before{content:"";position:absolute;top:0;bottom:0;left:-2.25rem;width:2.25rem;background:var(--orange)}
  .mega__inner{position:relative;width:min(100% - 4rem,84rem);margin-inline:auto;padding-top:1.25rem}
  .mega__close{position:absolute;top:-1.25rem;right:-.5rem;display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem}
  .mega__close .icon{width:2rem;height:2rem}
  .mega__close:hover{color:var(--orange)}
  .mega__label{position:absolute;top:-1rem;left:0;display:block;font-size:.66rem;font-weight:600;line-height:1.5;letter-spacing:.2em;text-transform:uppercase}

  .mega__cols{grid-template-columns:repeat(var(--cols,3),1fr);gap:0}
  .mega__col{padding:0 2.5rem}
  .mega__col:first-child{padding-left:0}
  .mega__col+.mega__col{border-left:1px solid var(--line-dark)}
  .mega__head{display:block}
  .mega__num{display:block;font-size:clamp(5.5rem,9vw,9.5rem);line-height:.82;-webkit-text-stroke-width:2px}
  .mega__eyebrow{margin-top:1.25rem}
  .mega__title{font-size:clamp(2.4rem,3.8vw,3.6rem);margin-top:.15rem}
  .mega__title a:hover{color:var(--orange)}
  .mega__list{margin-top:1.5rem}
  .mega__link a{min-height:3.1rem}

  .mega__promo{display:grid;grid-template-columns:minmax(18rem,30%) 1fr;min-height:11rem}
  .mega__promo-text{padding:1.5rem 2rem 1.5rem calc(2.25rem + 2rem);font-size:2rem}
  .mega__promo-img{display:block;min-height:11rem}
  .mega__promo:hover .mega__promo-text .icon{transform:translate(3px,-3px)}
  .mega__promo-text .icon{transition:transform .2s}

  .mega__tools{display:grid;grid-template-columns:repeat(var(--n,3),1fr);background:#fff;border-top:1px solid var(--line)}
  .mega__tools li+li{border-left:1px solid var(--line)}
  .mega__tools a{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 1rem;color:var(--navy);font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
  .mega__tools a:hover{color:var(--orange-strong)}
  .mega__tools .icon:first-child{color:var(--orange-strong);width:1.5rem;height:1.5rem}
}

/* ---------- No-JS-Fallbacks (mobil) ---------- */
html:not(.js) .site-nav-wrap{position:static;visibility:visible;opacity:1;transform:none;padding-top:1rem}
html:not(.js) .nav-toggle{display:none}
html:not(.js) .mega,html:not(.js) .subnav{display:block}
@media (min-width:1100px){
  html:not(.js) .subnav{display:block}
}

/* ==========================================================
   Team-Seite
   ========================================================== */

/* Seiten-Hero (navy, Text oben, Bild darunter) */
.page-hero{display:grid;grid-template-columns:minmax(0,1fr);background:var(--navy);color:#fff}
.page-hero__content{padding:2.5rem var(--gutter) 2rem}
.page-hero__eyebrow{color:var(--orange);margin:0 0 1rem}
.page-hero__title{font-size:clamp(2.6rem,13vw,5.5rem);line-height:.92;margin:0 0 1.25rem;hyphens:manual;overflow-wrap:normal}
.page-hero__text{max-width:30rem;margin:0;color:rgba(255,255,255,.85);font-size:1.05rem}
.page-hero__media{min-height:14rem;aspect-ratio:16/9}
@media (min-width:900px){
  .page-hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:30rem}
  .page-hero__title{font-size:clamp(2.75rem,5vw,5rem)}
  .page-hero__content{display:flex;flex-direction:column;justify-content:center;padding:4rem var(--gutter) 4rem max(var(--gutter),calc((100vw - 96rem) / 2 + var(--gutter)))}
  .page-hero__media{aspect-ratio:auto;min-height:100%}
}

/* Intro mit Gruppenfoto */
.team-intro{background:#fff;padding:2.5rem 0}
.team-intro__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.team-intro__label{color:var(--orange-strong);margin:0 0 1rem}
.team-intro__title{font-size:clamp(2.2rem,10vw,3.75rem);line-height:.95;margin:0 0 1.25rem;color:var(--navy)}
.team-intro__text p{margin:0 0 1rem;max-width:36rem;color:var(--muted)}
.team-intro__media{margin:0}
.team-intro__media .fill{aspect-ratio:4/5}
.team-intro__media figcaption{margin-top:.75rem;color:var(--muted)}
@media (min-width:900px){
  .team-intro{padding:5rem 0}
  .team-intro__inner{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:4rem;align-items:center}
  .team-intro__media .fill{aspect-ratio:1/1.05}
}

/* Abschnittsköpfe */
.section-head{margin:0 0 2rem}
.section-head .eyebrow{color:var(--orange-strong);margin:0 0 .75rem}
.section-head__title{font-size:clamp(2.2rem,10vw,3.75rem);line-height:.95;margin:0;color:var(--navy)}
.section-head--light .eyebrow{color:var(--orange)}
.section-head--light .section-head__title{color:#fff}

/* Porträt-Raster */
.people{background:var(--paper);padding:2.5rem 0 3rem}
.people__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}
.person__photo{aspect-ratio:4/5;background:var(--navy-deep)}
.person__photo img{object-position:50% 25%;filter:grayscale(1);transition:filter .3s}
.person:hover .person__photo img{filter:none}
.person__name{font-size:1.35rem;line-height:1.05;margin:.75rem 0 .25rem;color:var(--navy);overflow-wrap:break-word}
.person__role{margin:0;color:var(--muted);font-size:.66rem}
.person__mail,.person__phone{display:block;margin-top:.35rem;font-size:.9rem;color:var(--navy);overflow-wrap:anywhere}
@media (min-width:768px){
  .people{padding:4rem 0 5rem}
  .people__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.25rem 1.5rem}
  .person__name{font-size:1.6rem}
}
@media (min-width:1100px){.people__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Zeitstrahl: mobil senkrecht links, ab 900px abwechselnd links/rechts */
.history{background:var(--navy-deep);color:#fff;padding:3rem 0 3.5rem}
.timeline{list-style:none;margin:0;padding:0 0 0 1.25rem;position:relative;border-left:2px solid rgba(255,255,255,.2)}
.timeline__item{position:relative;padding:0 0 1.75rem 1.25rem}
.timeline__item::before{content:"";position:absolute;left:calc(-1.25rem - 7px);top:.55rem;width:12px;height:12px;background:var(--navy-deep);border:2px solid #fff;border-radius:50%}
.timeline__item.is-gen::before{background:var(--orange);border-color:var(--orange)}
.timeline__year{display:block;font-size:2.4rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55)}
.timeline__item.is-gen .timeline__year{-webkit-text-stroke-color:var(--orange)}
.timeline__body{margin-top:.35rem}
.timeline__gen{margin:0;color:var(--orange)}
.timeline__person{margin:.1rem 0 0;font-weight:600;color:var(--orange)}
.timeline__title{margin:.15rem 0 0;font-family:var(--font-body);font-weight:600;font-size:1.05rem;line-height:1.3}
.timeline__text{margin:.15rem 0 0;color:rgba(255,255,255,.7);font-size:.95rem}
.history__claim{margin:1.5rem 0 0;font-size:clamp(1.75rem,8vw,2.6rem);color:var(--orange);font-style:italic}
@media (min-width:900px){
  .history{padding:5rem 0 5rem}
  .timeline{padding:0;border-left:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0}
  .timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.2);transform:translateX(-50%)}
  .timeline__item{padding:0 3rem 2rem 0;text-align:right;grid-column:1}
  .timeline__item:nth-child(even){grid-column:2;padding:2rem 0 0 3rem;text-align:left;margin-top:-1rem}
  .timeline__item::before{left:auto;right:-7px}
  .timeline__item:nth-child(even)::before{right:auto;left:-7px;top:2.55rem}
  .timeline__year{font-size:3.25rem}
}

.team-strip{height:12rem}
.team-strip img{object-position:50% 35%}
@media (min-width:768px){.team-strip{height:22rem}}
