/* ==========================================================================
   Büschelberger Agrar- & Forstservice
   Gestaltungssystem: harte Kanten, Versalien-Displaytypografie,
   Wechsel aus dunklen und hellen Flächen, Gelb nur für die Hauptaktion.
   ========================================================================== */

/* ---------- Schriften (lokal eingebunden, kein externer Aufruf) ---------- */
@font-face{font-family:'Barlow Condensed';src:url('../fonts/barlow-condensed-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('../fonts/barlow-condensed-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow';src:url('../fonts/barlow-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow';src:url('../fonts/barlow-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --schwarz:#000000;
  --anthrazit:#202020;
  --tief:#181818;
  --weiss:#ffffff;
  --offweiss:#f5f5f5;
  --gelb:#ffc000;
  --gelb-dunkel:#917300;
  --gelb-text:#7d6300;      /* gelber Akzent fuer kleine Textgroessen */
  --linie-dunkel:#494949;
  --linie-hell:#969696;
  --stahl:#6b6b6b;          /* gedaempfter Text auf hellen Flaechen (Kontrast >= 4.5:1) */
  --stahl-hell:#8f8f8f;     /* gedaempfter Text auf dunklen Flaechen */
  --grau-text:#3d3d3d;
  --grau-text-dunkel:#c2c2c2;

  --display:'Barlow Condensed',Impact,'Haettenschweiler','Arial Narrow',sans-serif;
  --text:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --track:0.023em;

  --wrap:1440px;
  --pad:clamp(20px,5vw,80px);
  --sec:clamp(64px,9vw,120px);
  --nav-h:80px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
img,picture,video{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}

html{scroll-behavior:smooth}
body{
  margin:0;background:var(--weiss);color:var(--anthrazit);
  font-family:var(--text);font-size:17px;line-height:1.62;
  letter-spacing:0.01em;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

[hidden]{display:none !important}
.visually-hidden,.skip-link:not(:focus){
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0
}
.skip-link{
  position:fixed;top:8px;left:8px;z-index:200;background:var(--gelb);color:var(--schwarz);
  padding:12px 20px;font-family:var(--display);text-transform:uppercase;letter-spacing:var(--track);
  font-weight:600;text-decoration:none
}

:focus-visible{outline:3px solid var(--gelb);outline-offset:3px}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}

section[id],main{scroll-margin-top:calc(var(--nav-h) + 8px)}
#hero{scroll-margin-top:0}

/* ---------- Typografie ---------- */
.h-section{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);line-height:1.02;
  font-size:clamp(32px,4.6vw,64px);margin:0 0 24px;
  text-wrap:balance;
}
.eyebrow{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:0.16em;font-size:13px;line-height:1.4;
  color:var(--grau-text);margin:0 0 16px;
  display:flex;align-items:center;gap:12px;
}
.eyebrow--light{color:#d6d6d6}
.num{
  font-family:var(--display);font-size:13px;letter-spacing:0.16em;
  color:var(--gelb-text);
}
.eyebrow--light .num{color:var(--gelb)}
.lead{font-size:clamp(17px,1.35vw,20px);max-width:56ch;margin:0 0 16px}
.meta{
  font-family:var(--display);text-transform:uppercase;letter-spacing:var(--track);
  font-size:15px;color:var(--stahl);margin:0 0 32px;
}
.feature--dark .meta,.forst .meta{color:var(--linie-hell)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  min-height:52px;padding:14px 28px;border:1px solid transparent;border-radius:0;
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:0.1em;font-size:15px;line-height:1;text-decoration:none;
  cursor:pointer;background:none;transition:background-color .18s linear,color .18s linear,border-color .18s linear;
}
.btn::after{content:"→";font-family:var(--text);font-size:16px;line-height:1;transform:translateY(-1px)}
.btn--primary{background:var(--gelb);color:var(--schwarz);border-color:var(--gelb)}
.btn--primary:hover{background:var(--gelb-dunkel);border-color:var(--gelb-dunkel);color:var(--weiss)}
.btn--light{background:var(--weiss);color:var(--schwarz);border-color:var(--weiss)}
.btn--light:hover{background:transparent;color:var(--weiss)}
.btn--outline{border-color:var(--anthrazit);color:var(--anthrazit)}
.btn--outline:hover{background:var(--anthrazit);color:var(--weiss)}
.btn--outline-light{border-color:var(--linie-hell);color:var(--weiss)}
.btn--outline-light:hover{background:var(--weiss);color:var(--schwarz);border-color:var(--weiss)}
.btn--ghost-light{border-color:transparent;color:var(--weiss);padding-inline:0}
.btn--ghost-light::after{content:"↗"}
.btn--ghost-light:hover{color:var(--gelb)}

/* Nav-CTA tritt zurück, sobald das Anfrageformular sichtbar ist:
   so bleibt pro Bildschirm nur eine gelbe Hauptaktion. */
.nav__cta.is-quiet{background:transparent;color:var(--weiss);border-color:var(--linie-hell)}
.nav__cta.is-quiet:hover{background:var(--weiss);color:var(--schwarz)}

/* ---------- Navigation ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;background:var(--tief);
  border-bottom:1px solid transparent;transition:background-color .2s linear;
}
.nav__inner{
  max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad);
  height:var(--nav-h);display:flex;align-items:center;gap:32px;
  transition:height .2s ease;
}
.nav.is-scrolled{border-bottom-color:var(--linie-dunkel)}
.nav.is-scrolled .nav__inner{height:60px}

.signet{
  display:flex;flex-direction:column;justify-content:center;text-decoration:none;color:var(--weiss);
  margin-right:auto;line-height:1;
}
.signet__name{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:0.07em;font-size:clamp(19px,2.3vw,24px);
}
.signet__sub{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.2em;
  font-size:10px;color:var(--linie-hell);margin-top:5px;white-space:nowrap;
}
.nav.is-scrolled .signet__sub{display:none}

.nav__links ul{display:flex;gap:28px}
.nav__links a{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:0.1em;font-size:14px;color:#d6d6d6;text-decoration:none;
  padding:8px 0;display:block;position:relative;
}
.nav__links a:hover{color:var(--weiss)}
.nav__links a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--weiss);
  transform:scaleX(0);transform-origin:left;transition:transform .18s ease;
}
.nav__links a.is-active{color:var(--weiss)}
.nav__links a.is-active::after{transform:scaleX(1)}
.nav__cta{min-height:44px;padding:11px 22px;font-size:13px}

.nav__toggle{
  display:none;align-items:center;gap:12px;border:1px solid var(--linie-dunkel);
  background:none;color:var(--weiss);min-height:48px;padding:10px 16px;cursor:pointer;
  font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:0.12em;font-size:13px;
}
.nav__toggle-icon{display:block;width:20px}
.nav__toggle-icon i{display:block;height:2px;background:var(--weiss);transition:transform .2s ease,opacity .2s ease}
.nav__toggle-icon i+i{margin-top:6px}
.nav__toggle[aria-expanded="true"] .nav__toggle-icon i:first-child{transform:translateY(4px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] .nav__toggle-icon i+i{transform:translateY(-4px) rotate(-45deg)}

/* ---------- Mobile Menü ---------- */
.mobilmenu{
  position:fixed;inset:0;z-index:99;background:var(--tief);
  padding:calc(var(--nav-h) + 24px) var(--pad) 32px;overflow-y:auto;
}
.mobilmenu__inner{display:flex;flex-direction:column;min-height:100%;gap:40px}
.mobilmenu ul{border-top:1px solid var(--linie-dunkel)}
.mobilmenu li{border-bottom:1px solid var(--linie-dunkel)}
.mobilmenu a{
  display:flex;align-items:baseline;gap:16px;padding:18px 0;text-decoration:none;color:var(--weiss);
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);font-size:clamp(26px,7vw,34px);line-height:1;
}
.mobilmenu .idx{font-size:12px;letter-spacing:0.16em;color:var(--stahl-hell)}
.mobilmenu__foot{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:auto}
.mobilmenu__foot .btn{width:100%;justify-content:space-between}
.linkline{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.1em;
  font-size:15px;color:var(--linie-hell);text-decoration:none;
}
.linkline:hover{color:var(--weiss)}
body.menu-offen{overflow:hidden}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;
  justify-content:flex-end;background:var(--schwarz);color:var(--weiss);
  padding:calc(var(--nav-h) + 40px) var(--pad) 24px;overflow:hidden;
}
.hero__media{position:absolute;inset:0}
.hero__video{
  width:100%;height:100%;object-fit:cover;object-position:50% 45%;
  background:#1a1512 url('../media/video/hero-poster.jpg') center/cover no-repeat;
}
.hero__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(to right,rgba(0,0,0,.72) 0%,rgba(0,0,0,.55) 42%,rgba(0,0,0,.25) 75%,rgba(0,0,0,.35) 100%),
    linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,0) 40%);
}
.hero__content{position:relative;max-width:min(900px,68%);margin-bottom:auto;padding-top:clamp(24px,7vh,72px)}
.hero__title{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);line-height:0.94;
  font-size:clamp(44px,min(8.4vw,12vh),112px);margin:0 0 24px;
}
.hero__lead{font-size:clamp(17px,1.5vw,21px);max-width:48ch;color:#ededed;margin:0 0 clamp(24px,4vh,40px)}
.hero__actions{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center}
.hero__bar{
  position:relative;display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;border-top:1px solid rgba(255,255,255,.28);padding-top:16px;
}
.scrollhint{
  display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--weiss);
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.18em;font-size:12px;
  min-height:44px;
}
.scrollhint__line{display:block;width:48px;height:1px;background:var(--weiss);transform-origin:left}
@media (prefers-reduced-motion:no-preference){
  .scrollhint__line{animation:zieh 2.4s ease-in-out infinite}
  @keyframes zieh{0%,100%{transform:scaleX(.35)}50%{transform:scaleX(1)}}
}
.videobtn{
  display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.5);
  background:none;color:var(--weiss);padding:10px 16px;min-height:44px;cursor:pointer;
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.14em;font-size:12px;
}
.videobtn:hover{border-color:var(--weiss);background:rgba(255,255,255,.1)}
.videobtn__icon{width:12px;height:12px;border-left:3px solid var(--weiss);border-right:3px solid var(--weiss)}
.videobtn[aria-pressed="true"] .videobtn__icon{
  width:0;height:0;border:0;border-left:11px solid var(--weiss);
  border-top:7px solid transparent;border-bottom:7px solid transparent;
}

/* ---------- Statement ---------- */
.statement{background:var(--weiss);padding-block:var(--sec)}
.statement__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,80px);align-items:start}
.statement__head{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);line-height:1.0;
  font-size:clamp(30px,4.2vw,58px);margin:0;color:var(--tief);
}
.statement__body{font-size:clamp(17px,1.3vw,19px);color:var(--grau-text);padding-top:8px}
.marks{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--linie-hell);
}
.marks li{padding:24px 24px 0 0;border-right:1px solid var(--linie-hell)}
.marks li:last-child{border-right:0}
.marks li+li{padding-left:24px}
.marks__k{
  display:block;font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);font-size:clamp(20px,2vw,27px);line-height:1.1;
}
.marks__v{display:block;font-size:15px;color:var(--stahl);margin-top:6px}

/* ---------- Feature (Brennholz / Rundballen) ---------- */
.feature{display:grid;grid-template-columns:56% 44%;align-items:center}
.feature--light{background:var(--offweiss);color:var(--anthrazit)}
.feature--dark{background:var(--anthrazit);color:var(--weiss)}
.feature--dark .h-section{color:var(--weiss)}
.feature--reverse{grid-template-columns:44% 56%}
.feature--reverse .feature__media{order:2}
.feature__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.feature__text{padding:clamp(40px,6vw,96px) clamp(24px,5vw,88px)}
.feature__text .lead{color:inherit}
.feature--light .lead{color:var(--grau-text)}
.feature--dark .lead{color:#dcdcdc}

/* ---------- Lohndrusch ---------- */
.drusch{background:var(--weiss);padding-top:var(--sec)}
.drusch__head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:end;padding-bottom:clamp(40px,5vw,64px)}
.drusch__aside .lead{color:var(--grau-text)}
.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.triptych img{width:100%;aspect-ratio:3/4;object-fit:cover}
.triptych figcaption{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.14em;font-size:12px;
  color:var(--stahl);padding:12px 16px 0;
}
.triptych figure{padding-bottom:clamp(40px,5vw,64px)}

/* ---------- Forst ---------- */
.forst{background:var(--tief);color:var(--weiss);padding-block:var(--sec)}
.forst .h-section{color:var(--weiss)}
.forst__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:start}
.forst__body .lead{color:#dcdcdc}
.forst__list{
  margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--linie-dunkel);
  display:grid;grid-template-columns:repeat(4,1fr);
}
.forst__list li{
  padding:24px 24px 0 0;border-right:1px solid var(--linie-dunkel);
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);font-size:clamp(17px,1.6vw,22px);line-height:1.15;
}
.forst__list li:last-child{border-right:0}
.forst__list li+li{padding-left:24px}

/* ---------- Sektionskopf ---------- */
.sechead{
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,64px);
  align-items:end;padding-bottom:clamp(32px,4vw,56px);
}
.sechead__side{color:var(--grau-text);max-width:52ch}
.sechead--dark .h-section{color:var(--weiss)}
.sechead--dark .sechead__side{color:var(--grau-text-dunkel)}

/* ---------- Weitere Leistungen ---------- */
.weitere{background:var(--weiss);padding-top:var(--sec)}
.lister{border-top:1px solid var(--linie-hell)}
.lister li{
  display:grid;grid-template-columns:72px minmax(220px,1fr) 1.1fr;gap:24px;align-items:baseline;
  padding:22px 0;border-bottom:1px solid var(--linie-hell);
}
.lister__n{font-family:var(--display);font-size:13px;letter-spacing:0.16em;color:var(--gelb-text)}
.lister__t{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);font-size:clamp(20px,2.1vw,28px);line-height:1.1;
}
.lister__d{color:var(--stahl);font-size:16px}
.strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,6vw,80px)}
.strip img{width:100%;aspect-ratio:4/3;object-fit:cover}
.strip figcaption{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.14em;font-size:12px;
  color:var(--stahl);padding:12px 16px 0;
}
.strip figure{padding-bottom:clamp(48px,6vw,80px)}

/* ---------- Bildband (Brennholz-Lieferformen) ---------- */
.band{display:grid;grid-template-columns:repeat(3,1fr);background:var(--offweiss)}
.band img{width:100%;aspect-ratio:4/3;object-fit:cover}
.band figcaption{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.14em;font-size:12px;
  color:var(--stahl);padding:12px 16px 32px;
}

/* ---------- Maschinen ---------- */
.maschinen{background:var(--schwarz);color:var(--weiss);padding-block:var(--sec)}
.mrow{
  display:grid;grid-template-columns:88px 1fr minmax(280px,400px);gap:clamp(24px,4vw,56px);
  align-items:center;border-top:1px solid var(--linie-dunkel);padding:clamp(24px,3vw,40px) 0;
}
.mrow:last-child{border-bottom:1px solid var(--linie-dunkel)}
.mrow__idx{font-family:var(--display);font-size:13px;letter-spacing:0.16em;color:var(--gelb)}
.mrow__name{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);font-size:clamp(24px,3.2vw,44px);line-height:1.05;margin:0;
}
.mrow__role{color:var(--grau-text-dunkel);margin-top:8px;font-size:16px}
.mrow__media img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* ---------- Über mich ---------- */
.ueber{background:var(--offweiss);padding-block:var(--sec)}
.ueber__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center}
.ueber__text p{margin-bottom:16px;color:var(--grau-text);max-width:56ch}
.ueber__sign{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.14em;
  font-size:14px;color:var(--stahl);margin-top:24px !important;
}
.ueber__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.bigquote{
  margin-top:clamp(48px,6vw,88px);border-top:1px solid var(--linie-hell);padding-top:clamp(32px,4vw,56px);
}
.bigquote p{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);line-height:1.0;color:var(--tief);
  font-size:clamp(28px,4.4vw,64px);max-width:22ch;
}

/* ---------- Einsatzgebiet ---------- */
.gebiet{background:var(--anthrazit);color:var(--weiss);padding-block:var(--sec)}
.radien{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linie-dunkel)}
.radien>div{padding:24px 24px 0 0;border-right:1px solid var(--linie-dunkel)}
.radien>div:last-child{border-right:0}
.radien>div+div{padding-left:24px}
.radien dt{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.16em;
  font-size:12px;color:var(--linie-hell);margin-bottom:12px;
}
.radien dd{margin:0;display:flex;align-items:baseline;gap:8px}
.radien__n{
  font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:var(--track);
  font-size:clamp(30px,4.2vw,56px);line-height:1;
}
.radien__u{font-family:var(--display);text-transform:uppercase;letter-spacing:0.16em;font-size:14px;color:var(--linie-hell)}
.gebiet__foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
  margin-top:clamp(40px,5vw,64px);
}
.gebiet__foot p{max-width:52ch;color:var(--grau-text-dunkel)}

/* ---------- Anfrage ---------- */
.anfrage{background:var(--weiss);padding-block:var(--sec)}
.anfrage__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,72px);align-items:start}
.anfrage .lead{color:var(--grau-text);margin-bottom:40px}

.form{border-top:1px solid var(--linie-hell);padding-top:32px}
.field{margin-bottom:24px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field label{
  display:block;font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:0.1em;font-size:14px;margin-bottom:8px;
}
.req{color:var(--gelb-text)}
.opt{font-weight:400;color:var(--stahl);letter-spacing:0.1em}
.field input,.field select,.field textarea{
  width:100%;border:1px solid var(--linie-hell);border-radius:0;background:var(--weiss);
  padding:14px 16px;min-height:52px;font-family:var(--text);font-size:17px;
  transition:border-color .15s linear;
}
.field textarea{min-height:150px;resize:vertical}
.field select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--anthrazit) 50%),linear-gradient(135deg,var(--anthrazit) 50%,transparent 50%);
  background-position:calc(100% - 22px) 24px,calc(100% - 16px) 24px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:48px;
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--anthrazit)}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{
  border-color:#a4241a;border-width:2px;
}
.field__err{color:#a4241a;font-size:15px;margin-top:8px;font-weight:500}
.field__hint{color:var(--stahl);font-size:15px;margin-top:8px}
.field--check{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;margin-top:8px}
.field--check input{width:24px;height:24px;min-height:24px;margin:2px 0 0;accent-color:var(--gelb-text)}
.field--check label{
  font-family:var(--text);font-weight:400;text-transform:none;letter-spacing:0.01em;
  font-size:16px;line-height:1.5;margin:0;
}
.field--check .field__err{grid-column:1 / -1}
.form__note{font-size:15px;color:var(--stahl);border-left:2px solid var(--linie-hell);padding-left:16px;margin:32px 0}
.form__actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}
.form__status{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.08em;font-size:16px;
  border-left:3px solid var(--gelb);padding:12px 16px;background:var(--offweiss);
}
.form__status--fehler{border-left-color:#a4241a}
.form__fallback{margin-top:24px;border-top:1px solid var(--linie-hell);padding-top:24px}
.form__copy{
  width:100%;border:1px solid var(--linie-hell);padding:16px;font-family:var(--text);
  font-size:15px;margin:16px 0;resize:vertical;background:var(--offweiss);
}

.anfrage__side{position:sticky;top:calc(var(--nav-h) + 24px);display:grid;gap:0}
.preisbox{background:var(--tief);color:var(--weiss);padding:clamp(24px,3vw,40px)}
.preisbox__head{
  font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:var(--track);
  font-size:clamp(24px,2.4vw,32px);line-height:1.05;margin:0 0 16px;
}
.preisbox p{color:var(--grau-text-dunkel);font-size:16px}
.kontaktbox{background:var(--offweiss);padding:clamp(24px,3vw,40px)}
.kontaktbox__k{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.16em;
  font-size:12px;color:var(--stahl);margin-top:20px;
}
.kontaktbox__k:first-child{margin-top:0}
.kontaktbox__v{
  font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:var(--track);
  font-size:clamp(18px,1.7vw,22px);line-height:1.2;word-break:break-word;
}
.kontaktbox__v a{text-decoration:none;border-bottom:1px solid var(--linie-hell);padding-bottom:2px}
.kontaktbox__v a:hover{border-bottom-color:var(--anthrazit)}
.kontaktbox__v--plain{font-weight:400;letter-spacing:0.06em;font-size:17px}

/* ---------- Footer ---------- */
.footer{background:var(--tief);color:var(--weiss);padding-top:clamp(48px,6vw,80px)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(24px,4vw,48px);padding-bottom:clamp(40px,5vw,64px)}
.signet--footer{display:flex;flex-direction:column;line-height:1}
.footer__claim{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.14em;
  font-size:14px;color:var(--linie-hell);margin-top:20px;
}
.footer__k{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.16em;
  font-size:12px;color:var(--stahl-hell);margin-bottom:12px;
}
.footer__adr{font-style:normal;font-size:16px;color:#e2e2e2}
.footer__adr a{text-decoration:none;color:#e2e2e2;display:inline-block;padding:3px 0}
.footer__adr a:hover{color:var(--gelb)}
.footer__bar{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;
  border-top:1px solid var(--linie-dunkel);padding:24px 0;
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.12em;font-size:12px;color:var(--stahl-hell);
}

/* ---------- Rechtsseiten ---------- */
.legal{padding-block:calc(var(--nav-h) + 48px) var(--sec);background:var(--weiss)}
.legal__inner{max-width:760px}
.legal h1{
  font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:var(--track);
  font-size:clamp(34px,5vw,64px);line-height:1;margin-bottom:32px;
}
.legal h2{
  font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:var(--track);
  font-size:clamp(20px,2.2vw,28px);line-height:1.1;margin:40px 0 12px;
}
.legal p,.legal li{color:var(--grau-text);margin-bottom:12px}
.legal ul{list-style:none;padding-left:0}
.legal ul li{position:relative;padding-left:20px}
.legal ul li::before{content:"";position:absolute;left:0;top:12px;width:8px;height:1px;background:var(--gelb-dunkel)}
.legal a{color:var(--anthrazit)}
.legal__back{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:32px;text-decoration:none;
  font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:0.12em;font-size:14px;
  min-height:44px;
}
.legal__back::before{content:"←"}

/* ---------- Reveal ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
  .js .reveal.is-sichtbar{opacity:1;transform:none}
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1100px){
  .nav__links{display:none}
  .nav__cta{display:none}
  .nav__toggle{display:inline-flex}
  .mrow{grid-template-columns:72px 1fr 220px;gap:24px}
  .footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width:900px){
  :root{--nav-h:68px}
  .hero__content{max-width:100%}
  .statement__grid,.drusch__head,.forst__grid,.sechead,.ueber__grid,.anfrage__grid{grid-template-columns:1fr}
  .anfrage__side{position:static;margin-top:16px}
  .feature{grid-template-columns:1fr}
  .feature--reverse .feature__media{order:0}
  .feature__media img{aspect-ratio:16/9}
  .marks{grid-template-columns:1fr}
  .marks li{border-right:0;border-bottom:1px solid var(--linie-hell);padding:20px 0}
  .marks li:last-child{border-bottom:0}
  .marks li+li{padding-left:0}
  .forst__list{grid-template-columns:1fr 1fr}
  .forst__list li{border-right:0;border-bottom:1px solid var(--linie-dunkel);padding:16px 0}
  .forst__list li+li{padding-left:0}
  .forst__list li:nth-child(odd){padding-right:16px;border-right:1px solid var(--linie-dunkel)}
  .radien{grid-template-columns:1fr 1fr}
  .radien>div{border-right:0;border-bottom:1px solid var(--linie-dunkel);padding:20px 0}
  .radien>div+div{padding-left:0}
  .radien>div:nth-child(odd){padding-right:16px;border-right:1px solid var(--linie-dunkel)}
  .lister li{grid-template-columns:48px 1fr;gap:12px}
  .lister__d{grid-column:2}
  .mrow{grid-template-columns:56px 1fr;gap:8px 20px}
  .mrow__media{grid-column:1 / -1;margin-top:20px}
  .mrow__media img{aspect-ratio:16/9}
  .footer__grid{grid-template-columns:1fr}
}

@media (max-width:640px){
  body{font-size:16px}
  .hero{min-height:92svh;padding-bottom:16px}
  .hero__actions{gap:12px 24px}
  .hero__actions .btn{width:100%;justify-content:space-between}
  .hero__actions .btn--ghost-light{width:auto;justify-content:flex-start}
  .hero__bar{align-items:center}
  .scrollhint span:not(.scrollhint__line){display:none}
  .scrollhint__line{width:32px}
  .triptych{grid-template-columns:1fr}
  .triptych figure{padding-bottom:24px}
  .triptych figure:last-child{padding-bottom:clamp(40px,5vw,64px)}
  .strip,.band{grid-template-columns:1fr}
  .strip figure{padding-bottom:24px}
  .strip figure:last-child{padding-bottom:48px}
  .field-row{grid-template-columns:1fr;gap:0}
  .form__actions .btn{width:100%;justify-content:space-between}
  .gebiet__foot .btn{width:100%;justify-content:space-between}
  .feature__text .btn,.drusch__aside .btn,.forst__body .btn{width:100%;justify-content:space-between}
}

@media (max-width:480px){
  .forst__list,.radien{grid-template-columns:1fr}
  .forst__list li:nth-child(odd),.radien>div:nth-child(odd){padding-right:0;border-right:0}
  .forst__list li:last-child,.radien>div:last-child{border-bottom:0}
}

@media (max-width:360px){
  :root{--pad:16px}
  .nav__toggle-label{display:none}
}

/* ---------- Bewegungsreduktion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}

/* ---------- Druck ---------- */
@media print{
  .nav,.mobilmenu,.hero__media,.videobtn,.scrollhint,.form__actions{display:none}
  body{color:#000;background:#fff}
  .hero{min-height:auto;color:#000}
  .feature--dark,.forst,.maschinen,.gebiet,.footer,.preisbox{background:#fff;color:#000}
}

/* ==========================================================================
   Erweiterte Leistungssektionen
   (ausfuehrliche Leistungstexte, Kennwerte-Zeilen, Blockraster,
   Produktband Hackschnitzel, regionale Angaben im Einsatzgebiet)
   ========================================================================== */

/* ---------- Keyword-Zeile innerhalb der Sektionsueberschrift ---------- */
.h-sub{
  display:block;margin-top:14px;
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  letter-spacing:0.1em;font-size:clamp(14px,1.15vw,17px);line-height:1.35;
  color:var(--stahl);max-width:34ch;
}
.feature--dark .h-sub,.forst .h-sub,.produkt .h-sub,.sechead--dark .h-sub{color:var(--linie-hell)}

/* ---------- Mehrabsaetziger Einleitungstext ---------- */
.statement__body p+p{margin-top:16px}

/* ---------- Kennwerte-Zeile unter dem Fliesstext ---------- */
.facts{
  display:flex;flex-wrap:wrap;gap:8px 0;margin:24px 0 32px;
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.1em;
  font-size:14px;line-height:1.3;color:var(--stahl);
}
.facts li{position:relative;padding-right:20px;margin-right:20px}
.facts li::after{
  content:"";position:absolute;right:0;top:50%;width:1px;height:14px;
  background:var(--linie-hell);transform:translateY(-50%);
}
.facts li:last-child{padding-right:0;margin-right:0}
.facts li:last-child::after{display:none}
.feature--dark .facts,.forst .facts,.produkt .facts{color:var(--linie-hell)}
.feature--dark .facts li::after,.forst .facts li::after,.produkt .facts li::after{background:var(--linie-dunkel)}

/* ---------- Mehrere Absaetze in den Leistungstexten ---------- */
.feature__text p+p,.drusch__aside p+p,.forst__body p+p{margin-top:16px}
.feature__text .lead+p,.drusch__aside .lead+p,.forst__body .lead+p{margin-top:20px}
.feature--light .feature__text p,.drusch__aside p{color:var(--grau-text)}
.feature--dark .feature__text p,.forst__body p{color:#dcdcdc}
.feature__text .lead,.drusch__aside .lead,.forst__body .lead{
  font-family:var(--display);text-transform:uppercase;letter-spacing:var(--track);
  font-size:clamp(18px,1.7vw,23px);line-height:1.25;max-width:34ch;
}
.feature--light .feature__text .lead,.drusch__aside .lead{color:var(--anthrazit)}
.feature--dark .feature__text .lead,.forst__body .lead{color:var(--weiss)}

/* ---------- Bildspalte fuellt die volle Sektionshoehe ----------
   Die Leistungstexte sind laenger als in Version 1, deshalb darf das Bild
   nicht mehr mittig zentriert stehen, sondern muss die Zeile ausfuellen. */
.feature{align-items:stretch}
.feature__media{display:flex}
.feature__media picture{display:flex;flex:1;min-height:0}
.feature__media img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;min-height:320px}

/* Kopfzeile des Lohndrusch-Blocks oben ausrichten, da die rechte Spalte
   deutlich mehr Text traegt als in Version 1. */
.drusch__head{align-items:start}

/* ---------- Raster der weiteren Leistungen ---------- */
.blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,3.5vw,56px)}
.blocks li{padding:28px 0 32px;border-top:1px solid var(--linie-hell)}
.blocks__n{
  display:block;font-family:var(--display);font-size:13px;letter-spacing:0.16em;
  color:var(--gelb-text);margin-bottom:10px;
}
.blocks__t{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--track);font-size:clamp(19px,1.9vw,25px);line-height:1.1;
  margin:0 0 12px;
}
.blocks li p{color:var(--grau-text);font-size:16px;max-width:42ch}

/* ---------- Produktband Hackschnitzel ---------- */
.produkt{background:var(--tief);color:var(--weiss);padding-block:clamp(48px,6vw,88px)}
.produkt__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,64px);align-items:start}
.produkt .h-section{color:var(--weiss);margin-bottom:0}
.produkt__body p{color:#dcdcdc}
.produkt__body p+p{margin-top:16px}
.produkt__body .facts{margin-top:24px;margin-bottom:24px}

/* ---------- Regionaler Hinweis im Einsatzgebiet ---------- */
.region{
  margin-top:clamp(32px,4vw,48px);border-top:1px solid var(--linie-dunkel);padding-top:24px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px clamp(24px,4vw,56px);
}
.region dt{
  font-family:var(--display);text-transform:uppercase;letter-spacing:0.16em;
  font-size:12px;color:var(--linie-hell);margin-bottom:6px;
}
.region dd{margin:0;color:var(--grau-text-dunkel);font-size:16px}

@media (max-width:900px){
  .feature__media img{aspect-ratio:16/9;height:auto;min-height:0}
  .blocks{grid-template-columns:repeat(2,1fr)}
  .produkt__grid{grid-template-columns:1fr}
  .region{grid-template-columns:1fr}
}
@media (max-width:640px){
  /* Gestapelte Kennwerte statt umbrechender Trennstriche */
  .facts{display:block}
  .facts li{padding:0 0 0 16px;margin:0 0 6px}
  .facts li::after{display:none}
  .facts li::before{
    content:"";position:absolute;left:0;top:9px;width:8px;height:1px;
    background:currentColor;opacity:.65;
  }
  .blocks{grid-template-columns:1fr}
  .h-sub{max-width:none}
}
