/* ============================================================
   R-COACHING - Rehman Akhtar
   Stylesheet | Double H Media
   ============================================================ */

/* ---------- Schriften (lokal, keine Google-Fonts-Requests) ---------- */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;
  src:url('../schriften/anton-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;
  src:url('../schriften/anton-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 800;font-display:swap;
  src:url('../schriften/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 800;font-display:swap;
  src:url('../schriften/inter-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ---------- Grundwerte ---------- */
:root{
  --schwarz:#08080A;
  --flaeche:#0E0E11;
  --karte:#141418;
  --karte-hell:#1B1B20;
  --linie:rgba(255,255,255,.10);
  --linie-stark:rgba(255,255,255,.22);
  --weiss:#FFFFFF;
  --grau:#9A9AA4;
  --grau-hell:#C9C9D1;
  --platin:#E9E4DA;
  --spur:1240px;
  --radius:18px;
  --radius-gross:26px;
  --uebergang:.45s cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--schwarz);color:var(--weiss);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.7;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.02;letter-spacing:.01em;}
p{margin:0 0 1.1em;}
p:last-child{margin-bottom:0;}
ul{margin:0;padding:0;list-style:none;}
figure,blockquote,dl,dd{margin:0;}
button{font-family:inherit;}

.spur{width:100%;max-width:var(--spur);margin:0 auto;padding:0 28px;}
.abschnitt{padding:120px 0;position:relative;}
section[id]{scroll-margin-top:88px;}
.abschnitt--eng{padding:90px 0;}
.flaeche{background:var(--flaeche);}

/* ---------- Typografie ---------- */
.display{font-family:'Anton',Impact,'Arial Narrow Bold',sans-serif;text-transform:uppercase;letter-spacing:.005em;line-height:.94;}
.titel-xl{font-size:clamp(44px,7.2vw,92px);}
.titel-l{font-size:clamp(34px,4.6vw,60px);}
.eyebrow{
  font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--grau);margin:0 0 22px;display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--linie-stark);flex:none;}
.eyebrow--zentriert{justify-content:center;}
.lead{font-size:clamp(17px,1.35vw,19px);color:var(--grau-hell);line-height:1.75;max-width:62ch;}
.display + .lead,.display + p{margin-top:26px;}
.kopf .display{margin-bottom:0;}
.text-grau{color:var(--grau);}
.mitte{text-align:center;}
.mitte .eyebrow{justify-content:center;}
.mitte .lead{margin-left:auto;margin-right:auto;}
.kopf{max-width:760px;margin:0 0 64px;}
.kopf.mitte{margin-left:auto;margin-right:auto;}

/* ---------- Knoepfe (pill) ---------- */
.knopf{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 34px;border-radius:999px;border:1px solid transparent;
  font-size:14px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;transition:var(--uebergang);white-space:nowrap;
}
.knopf--voll{background:var(--weiss);color:#0A0A0C;}
.knopf--voll:hover{background:var(--platin);transform:translateY(-2px);box-shadow:0 14px 34px rgba(255,255,255,.14);}
.knopf--linie{background:transparent;color:var(--weiss);border-color:var(--linie-stark);}
.knopf--linie:hover{border-color:var(--weiss);background:rgba(255,255,255,.06);transform:translateY(-2px);}
.knopf--kopf{padding:14px 30px;font-size:12.5px;}
.knopf--gross{padding:18px 36px;font-size:14.5px;}
.knopf-reihe{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px;}
.knopf-reihe.mitte{justify-content:center;}

/* ---------- Kopfbereich ---------- */
.kopfbereich{
  position:fixed;inset:0 0 auto 0;z-index:100;
  padding:20px 0;transition:background .35s ease,padding .35s ease,border-color .35s ease,backdrop-filter .35s ease;
  border-bottom:1px solid transparent;
}
.kopfbereich.geklebt{
  background:rgba(8,8,10,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom-color:var(--linie);padding:12px 0;
}
.kopf-innen{display:flex;align-items:center;justify-content:space-between;gap:28px;}
.marke{display:inline-flex;align-items:center;text-decoration:none;flex:none;}
.marke img{
  width:auto;height:66px;display:block;transition:var(--uebergang);
  filter:drop-shadow(0 0 0 rgba(255,255,255,0));
}
.marke:hover img{transform:scale(1.04);filter:drop-shadow(0 0 18px rgba(255,255,255,.28));}
.kopfbereich.geklebt .marke img{height:52px;}
.marke--fuss img{height:96px;}
.nav{display:flex;align-items:center;gap:34px;}
.nav a:not(.knopf){
  text-decoration:none;font-size:14px;font-weight:500;color:var(--grau-hell);
  letter-spacing:.03em;position:relative;padding:4px 0;transition:color .3s ease;
}
.nav a:not(.knopf)::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--weiss);transition:width .35s ease;
}
.nav a:not(.knopf):hover{color:var(--weiss);}
.nav a:not(.knopf):hover::after{width:100%;}
.menue-schalter{
  display:none;width:44px;height:44px;border-radius:12px;background:transparent;
  border:1px solid var(--linie-stark);cursor:pointer;padding:0;place-items:center;
}
.menue-schalter span{display:block;width:19px;height:1.5px;background:var(--weiss);position:relative;transition:var(--uebergang);}
.menue-schalter span::before,.menue-schalter span::after{content:"";position:absolute;left:0;width:19px;height:1.5px;background:var(--weiss);transition:var(--uebergang);}
.menue-schalter span::before{top:-6px;}
.menue-schalter span::after{top:6px;}
.menue-offen .menue-schalter span{background:transparent;}
.menue-offen .menue-schalter span::before{top:0;transform:rotate(45deg);}
.menue-offen .menue-schalter span::after{top:0;transform:rotate(-45deg);}

/* ---------- Hero ---------- */
.hero{position:relative;padding:150px 0 90px;overflow:hidden;}
.hero::before{
  content:"";position:absolute;top:-20%;left:-10%;width:70%;height:90%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.055),transparent 65%);
  pointer-events:none;
}
.hero-raster{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;position:relative;}
.hero-text h1{margin-bottom:26px;}
.hero-text h1 .zeile-hell{color:var(--grau);}
.hero-marken{
  display:flex;flex-wrap:wrap;gap:10px 26px;margin:34px 0 0;padding-top:28px;border-top:1px solid var(--linie);
}
.hero-marken li{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grau);display:flex;align-items:center;gap:9px;}
.hero-marken li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--platin);flex:none;}
.hero-bild{position:relative;border-radius:var(--radius-gross);overflow:hidden;aspect-ratio:4/5;background:#0A0A0C;}
.hero-bild img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;transition:transform 1.4s cubic-bezier(.22,.61,.36,1);}
.hero-bild:hover img{transform:scale(1.04);}
.hero-bild::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(8,8,10,.82) 0%,rgba(8,8,10,.12) 42%,transparent 70%);
}
.bild-plakette{
  position:absolute;left:24px;bottom:24px;z-index:2;
  background:rgba(10,10,12,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--linie-stark);border-radius:14px;padding:14px 20px;
}
.bild-plakette .oben{font-family:'Anton',sans-serif;font-size:26px;line-height:1;text-transform:uppercase;}
.bild-plakette .unten{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--grau);margin-top:6px;}

/* ---------- Faktenband (in der Spur, als Karten) ---------- */
.fakten{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.fakt{
  background:var(--karte);border:1px solid var(--linie);border-radius:var(--radius);
  padding:34px 26px;text-align:center;transition:var(--uebergang);
}
.fakt:hover{background:var(--karte-hell);border-color:var(--linie-stark);transform:translateY(-4px);}
.fakt-zahl{font-family:'Anton',sans-serif;font-size:clamp(32px,3.4vw,46px);line-height:1;text-transform:uppercase;}
.fakt-text{font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--grau);margin-top:12px;line-height:1.5;}

/* ---------- Ueber mich ---------- */
.ueber-raster{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;}
.ueber-bild{position:relative;border-radius:var(--radius-gross);overflow:hidden;aspect-ratio:4/5;}
.ueber-bild img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
.ueber-text p{color:var(--grau-hell);}
.ueber-text p.stark{color:var(--weiss);font-size:19px;font-weight:500;}
.signatur{
  margin-top:34px;padding-top:26px;border-top:1px solid var(--linie);
  display:flex;align-items:center;gap:16px;
}
.signatur-name{font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase;line-height:1;}
.signatur-rolle{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--grau);}

/* ---------- Zitatband ---------- */
.zitat-band{position:relative;padding:150px 0;overflow:hidden;text-align:center;
  background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.07),transparent 62%),var(--schwarz);
  border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);}
.zitat-inhalt{position:relative;z-index:1;max-width:900px;margin:0 auto;}
.zitat-inhalt blockquote{margin:0;font-family:'Anton',sans-serif;text-transform:uppercase;
  font-size:clamp(26px,4vw,52px);line-height:1.06;}
.zitat-quelle{margin-top:24px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--grau);}

/* ---------- Erfolge / Galerie ---------- */
.galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.galerie-feld{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:3/4;background:#0A0A0C;}
.galerie-feld img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;transition:transform 1s cubic-bezier(.22,.61,.36,1),filter .6s ease;filter:grayscale(1) contrast(1.04);}
.galerie-feld:hover img{transform:scale(1.06);filter:grayscale(0);}

/* ---------- Leistungen ---------- */
.leistungen{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.leistungen-zwei{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px;}
.leistungen-zwei .leistung-bild{aspect-ratio:16/10;}
.leistung{
  position:relative;border-radius:var(--radius-gross);overflow:hidden;
  background:var(--karte);border:1px solid var(--linie);
  display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:var(--uebergang);
}
.leistung:hover{border-color:var(--linie-stark);transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,0,0,.5);}
.leistung-bild{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0A0A0C;}
.leistung-bild img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.1s cubic-bezier(.22,.61,.36,1),filter .6s ease;filter:grayscale(.55) brightness(1.06);}
.leistung:hover .leistung-bild img{transform:scale(1.07);filter:grayscale(0) brightness(1.06);}
.leistung-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,20,24,.9) 0%,rgba(20,20,24,.35) 34%,rgba(20,20,24,0) 62%);}
.leistung-inhalt{padding:28px 28px 32px;flex:1;display:flex;flex-direction:column;}
.leistung-inhalt h3{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:23px;line-height:1.05;margin-bottom:12px;}
.leistung-inhalt p{font-size:15.5px;color:var(--grau);line-height:1.65;margin:0;}
.leistung-pfeil{
  margin-top:22px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--grau-hell);display:inline-flex;align-items:center;gap:9px;transition:var(--uebergang);
}
.leistung:hover .leistung-pfeil{color:var(--weiss);gap:15px;}

/* ---------- Bildausschnitte je Motiv (gemessen, nicht geschaetzt) ---------- */
.bp-oben img{object-position:50% 18% !important;}
.bp-kopf img{object-position:50% 24% !important;}

/* ---------- Warum ---------- */
.warum-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.warum-karte{background:var(--karte);border:1px solid var(--linie);border-radius:var(--radius);padding:36px 30px;transition:var(--uebergang);}
.warum-karte:hover{background:var(--karte-hell);border-color:var(--linie-stark);transform:translateY(-4px);}
.warum-nr{font-family:'Anton',sans-serif;font-size:15px;letter-spacing:.1em;color:var(--grau);display:block;margin-bottom:20px;}
.warum-karte h3{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:21px;line-height:1.1;margin-bottom:12px;}
.warum-karte p{font-size:15.5px;color:var(--grau);line-height:1.65;margin:0;}
.claim-zeile{
  margin-top:56px;text-align:center;font-family:'Anton',sans-serif;text-transform:uppercase;
  font-size:clamp(22px,3.2vw,40px);line-height:1.1;letter-spacing:.02em;
}
.claim-zeile span{color:var(--grau);}

/* ---------- Ablauf ---------- */
.ablauf{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:schritt;}
.schritt{position:relative;padding:38px 30px;background:var(--karte);border:1px solid var(--linie);border-radius:var(--radius);transition:var(--uebergang);}
.schritt:hover{border-color:var(--linie-stark);transform:translateY(-4px);}
.schritt-nr{
  font-family:'Anton',sans-serif;font-size:52px;line-height:1;color:rgba(255,255,255,.14);display:block;margin-bottom:16px;
}
.schritt h3{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:20px;margin-bottom:11px;line-height:1.1;}
.schritt p{font-size:15.5px;color:var(--grau);margin:0;line-height:1.65;}

/* ---------- Preise ---------- */
.preis-gruppe{margin-bottom:54px;}
.preis-gruppe:last-of-type{margin-bottom:0;}
.preis-gruppen-titel{
  display:flex;align-items:center;gap:18px;margin-bottom:28px;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--grau);
}
.preis-gruppen-titel::after{content:"";flex:1;height:1px;background:var(--linie);}
.preise-drei{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.preis{
  background:var(--karte);border:1px solid var(--linie);border-radius:var(--radius-gross);
  padding:34px 30px 32px;display:flex;flex-direction:column;position:relative;transition:var(--uebergang);
}
.preis:hover{background:var(--karte-hell);border-color:var(--linie-stark);transform:translateY(-5px);}
.preis--hervor{border-color:rgba(255,255,255,.4);background:var(--karte-hell);}
.preis-marke{
  position:absolute;top:-11px;left:30px;background:var(--weiss);color:#0A0A0C;
  font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 14px;border-radius:999px;
}
.preis h3{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:22px;line-height:1.08;margin-bottom:8px;}
.preis-unter{font-size:14.5px;color:var(--grau);margin-bottom:24px;line-height:1.6;min-height:3.2em;}
.preis-betrag{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.preis-alt{font-size:19px;color:var(--grau);text-decoration:line-through;text-decoration-thickness:1.5px;}
.preis-neu{font-family:'Anton',sans-serif;font-size:44px;line-height:1;}
.preis-takt{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--grau);margin-bottom:22px;}
.preis-liste{margin:0 0 26px;padding-top:22px;border-top:1px solid var(--linie);}
.preis-liste li{position:relative;padding-left:26px;font-size:15px;color:var(--grau-hell);margin-bottom:11px;line-height:1.55;}
.preis-liste li:last-child{margin-bottom:0;}
.preis-liste li::before{
  content:"";position:absolute;left:0;top:9px;width:11px;height:6px;
  border-left:1.5px solid var(--weiss);border-bottom:1.5px solid var(--weiss);transform:rotate(-45deg);
}
.preis-fuss{margin-top:auto;}
.preis .knopf{width:100%;}
.preis-laufzeit{font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--grau);margin-top:14px;text-align:center;}
.preis-hinweis{
  margin-top:34px;padding:22px 26px;border:1px solid var(--linie);border-radius:var(--radius);
  background:rgba(255,255,255,.03);font-size:14px;color:var(--grau);text-align:center;
}
.preis-hinweis strong{color:var(--weiss);font-weight:600;}

/* ---------- CTA-Band ---------- */
.cta-band{position:relative;overflow:hidden;padding:140px 0;text-align:center;}
.cta-bg{position:absolute;inset:0;z-index:0;}
.cta-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;filter:grayscale(1) brightness(1.15);}
.cta-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.9) 0%,rgba(8,8,10,.66) 45%,rgba(8,8,10,.92) 100%);}
.cta-inhalt{position:relative;z-index:1;max-width:820px;margin:0 auto;}

/* ---------- Kontakt ---------- */
.kontakt-raster{display:grid;grid-template-columns:1fr .82fr;gap:60px;align-items:start;}
.formular{background:var(--karte);border:1px solid var(--linie);border-radius:var(--radius-gross);padding:38px 34px;}
.feld{margin-bottom:20px;}
.feld-paar{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.feld label{display:block;font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--grau);margin-bottom:9px;}
.feld input,.feld select,.feld textarea{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--linie);border-radius:12px;
  padding:14px 16px;color:var(--weiss);font-family:inherit;font-size:15.5px;transition:var(--uebergang);
}
.feld textarea{resize:vertical;min-height:130px;line-height:1.6;}
.feld input:focus,.feld select:focus,.feld textarea:focus{
  outline:none;border-color:var(--linie-stark);background:rgba(255,255,255,.07);
}
.feld input::placeholder,.feld textarea::placeholder{color:#6A6A74;}
.feld select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--grau) 50%),linear-gradient(135deg,var(--grau) 50%,transparent 50%);
  background-position:calc(100% - 21px) 22px,calc(100% - 15px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
.feld select option{background:#141418;color:var(--weiss);}
.zustimmung{display:flex;gap:13px;align-items:flex-start;margin:24px 0 26px;}
.zustimmung input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:#FFFFFF;cursor:pointer;}
.zustimmung label{font-size:13.5px;color:var(--grau);letter-spacing:0;text-transform:none;margin:0;line-height:1.6;}
.zustimmung a{color:var(--grau-hell);text-underline-offset:3px;}
.zustimmung a:hover{color:var(--weiss);}
.formular .knopf{width:100%;}
.formular-fuss{font-size:12.5px;color:var(--grau);margin-top:16px;text-align:center;}
.honig{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.kontakt-block{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--linie);}
.kontakt-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.kontakt-label{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--grau);margin-bottom:10px;}
.kontakt-wert{font-size:19px;font-weight:500;text-decoration:none;display:inline-block;transition:var(--uebergang);}
a.kontakt-wert:hover{color:var(--platin);}
.kontakt-notiz{font-size:14px;color:var(--grau);margin-top:8px;}

/* ---------- Fussbereich ---------- */
.fussbereich{border-top:1px solid var(--linie);padding:64px 0 34px;background:var(--flaeche);}
.fuss-oben{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;margin-bottom:50px;}
.fuss-text{font-size:14.5px;color:var(--grau);max-width:38ch;margin-top:18px;line-height:1.7;}
.fuss-titel{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--grau);margin-bottom:18px;}
.fuss-liste li{margin-bottom:11px;}
.fuss-liste a{font-size:15px;color:var(--grau-hell);text-decoration:none;transition:color .3s ease;}
.fuss-liste a:hover{color:var(--weiss);}
.fuss-unten{
  border-top:1px solid var(--linie);padding-top:26px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  font-size:13px;color:var(--grau);
}
.fuss-unten a{color:var(--grau);text-decoration:none;}
.fuss-unten a:hover{color:var(--weiss);}

/* ---------- Rechtstexte ---------- */
.rechtstext{padding:170px 0 110px;}
.rechtstext .spur{max-width:860px;}
.rechtstext h1{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(34px,5vw,58px);margin-bottom:14px;}
.rechtstext .stand{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--grau);margin-bottom:52px;}
.rechtstext h2{
  font-family:'Anton',sans-serif;text-transform:uppercase;font-size:22px;
  margin:48px 0 16px;padding-top:26px;border-top:1px solid var(--linie);line-height:1.2;
}
.rechtstext h3{font-size:16.5px;font-weight:600;margin:28px 0 10px;}
.rechtstext p,.rechtstext li{font-size:15.5px;color:var(--grau-hell);line-height:1.75;}
.rechtstext ul.punkte{margin:0 0 18px;padding-left:0;}
.rechtstext ul.punkte li{position:relative;padding-left:20px;margin-bottom:8px;}
.rechtstext ul.punkte li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:var(--grau);}
.rechtstext a{color:var(--weiss);text-underline-offset:3px;}
.rechtstext .kasten{background:var(--karte);border:1px solid var(--linie);border-radius:var(--radius);padding:24px 28px;margin:22px 0;}
.rechtstext .kasten p{margin-bottom:.5em;}
.zurueck{display:inline-flex;align-items:center;gap:9px;margin-top:54px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--grau);text-decoration:none;transition:var(--uebergang);}
.zurueck:hover{color:var(--weiss);gap:15px;}

/* ---------- Scroll-Animation ---------- */
.auf{opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
.auf.sichtbar{opacity:1;transform:none;}
.v1{transition-delay:.06s;}
.v2{transition-delay:.12s;}
.v3{transition-delay:.18s;}
.v4{transition-delay:.24s;}
.v5{transition-delay:.30s;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .auf{opacity:1;transform:none;transition:none;}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}

/* ---------- Reaktionsfaehigkeit ---------- */
@media (max-width:1080px){
  .hero-raster{grid-template-columns:1fr;gap:48px;}
  .hero-bild{aspect-ratio:16/13;max-height:520px;}
  .hero-bild img{object-position:50% 22%;}
  .ueber-raster{grid-template-columns:1fr;gap:44px;}
  .ueber-bild{aspect-ratio:16/12;max-height:460px;}
  .kontakt-raster{grid-template-columns:1fr;gap:44px;}
  .fakten{grid-template-columns:repeat(2,1fr);}
  .leistungen{grid-template-columns:repeat(2,1fr);}
  .leistungen-zwei{grid-template-columns:repeat(2,1fr);}
  .preise-drei{grid-template-columns:repeat(2,1fr);}
  .warum-raster{grid-template-columns:repeat(2,1fr);}
  .ablauf{grid-template-columns:1fr;}
  .fuss-oben{grid-template-columns:1fr 1fr;gap:36px;}
  .galerie{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:720px){
  .marke img{height:54px;}
  .kopfbereich.geklebt .marke img{height:46px;}
}

@media (max-width:860px){
  .menue-schalter{display:grid;}
  .nav{
    position:fixed;inset:0 0 0 auto;width:min(84vw,360px);
    background:rgba(10,10,12,.97);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
    flex-direction:column;align-items:flex-start;justify-content:center;gap:26px;
    padding:0 40px;transform:translateX(100%);transition:transform .5s cubic-bezier(.22,.61,.36,1);
    border-left:1px solid var(--linie);
  }
  .menue-offen .nav{transform:none;}

  /* Wichtig: Der Kopfbereich darf bei offenem Menue keinen backdrop-filter
     tragen. Ein Filter macht das Element zum Bezugsrahmen fuer die feste
     Positionierung seiner Kinder, wodurch das Menue auf Kopfhoehe
     zusammengequetscht und unbedienbar wird. */
  .menue-offen .kopfbereich.geklebt{
    backdrop-filter:none;-webkit-backdrop-filter:none;
    background:rgba(8,8,10,.97);
  }
  /* Seite hinter dem offenen Menue nicht mitscrollen lassen */
  .menue-offen{overflow:hidden;}
  .menue-offen .nav{height:100vh;height:100dvh;}
  .nav a:not(.knopf){font-size:22px;font-family:'Anton',sans-serif;text-transform:uppercase;color:var(--weiss);}
  .nav .knopf{margin-top:10px;}
  .kopf-innen{position:relative;z-index:110;}
  .menue-schalter{position:relative;z-index:110;}
}
@media (max-width:720px){
  body{font-size:16px;}
  .abschnitt{padding:82px 0;}
  .abschnitt--eng{padding:64px 0;}
  .spur{padding:0 20px;}
  .hero{padding:124px 0 66px;}
  .kopf{margin-bottom:44px;}
  .fakten{grid-template-columns:1fr;gap:14px;}
  .fakt{padding:26px 22px;}
  .leistungen,.leistungen-zwei,.preise-drei,.warum-raster{grid-template-columns:1fr;}
  .galerie{grid-template-columns:repeat(2,1fr);gap:12px;}
  .feld-paar{grid-template-columns:1fr;gap:0;}
  .feld-paar .feld{margin-bottom:20px;}
  .formular{padding:28px 22px;}
  .fuss-oben{grid-template-columns:1fr;gap:34px;}
  .knopf-reihe .knopf{width:100%;}
  .zitat-band,.cta-band{padding:92px 0;}
  .rechtstext{padding:132px 0 80px;}
  .hero-bild{aspect-ratio:3/4;max-height:none;}
  .hero-bild img{object-position:50% 34%;}
}
@media (max-width:420px){
  .marke img{height:50px;}
  .kopfbereich.geklebt .marke img{height:42px;}
  .marke--fuss img{height:78px;}
  .preis-neu{font-size:38px;}
}

/* ---------- Druck ---------- */
@media print{
  .kopfbereich,.menue-schalter,.cta-band,.zitat-band{display:none;}
  body{background:#fff;color:#000;}
  .auf{opacity:1;transform:none;}
}
