/* =========================================================
   GELZ – Polstermanufaktur & Raumausstattung
   Onepager Stylesheet
   ========================================================= */

/* ---------- 1. Design Tokens ---------- */
:root{
  /* Farben */
  --sand-50:#FCFAF6;
  --sand-100:#F6F1E8;
  --sand-200:#EDE5D8;
  --sand-300:#DFD3C1;
  --line:#E2D8C8;

  --ink:#221D18;
  --coal:#191510;
  --walnut:#3C3128;
  --walnut-soft:#5A4B3E;
  --muted:#7A6E62;

  /* Gold – direkt aus dem Logo abgenommen */
  --gold:#C8A048;
  --gold-light:#E8C878;
  --gold-bright:#F0C868;
  --gold-deep:#8A6A22;

  --brass:var(--gold);
  --brass-dark:var(--gold-deep);
  --brass-soft:var(--gold-light);

  --sage:#6E7A63;

  /* E-Bike Bereich */
  --slate-900:#161A18;
  --slate-800:#1E2321;
  --slate-700:#2A312F;
  --mint:var(--gold-light);

  /* Typo */
  --font-display:"Fraunces","Georgia","Times New Roman",serif;
  --font-body:"Inter","Helvetica Neue",Arial,sans-serif;

  /* Maße */
  --wrap:1240px;
  --wrap-narrow:820px;
  --gutter:clamp(1.25rem,4vw,3rem);
  --radius:2px;
  --radius-lg:4px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --header-h:98px;
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;
  background:var(--ink);
  color:var(--walnut);
  font-family:var(--font-body);
  font-size:clamp(1rem,.96rem + .2vw,1.0625rem);
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,picture,svg,iframe{display:block;max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:500;color:var(--ink);line-height:1.12;letter-spacing:-.015em;}
p{margin:0 0 1.15em;}
p:last-child{margin-bottom:0;}
::selection{background:var(--gold);color:#1E1A14;}

/* ---------- 3. Hilfsklassen ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);}
.wrap--narrow{max-width:var(--wrap-narrow);}
.section{padding-block:clamp(4.5rem,10vw,8.5rem);position:relative;}
.visually-hidden{position:absolute;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;top:-100px;left:1rem;z-index:1000;background:var(--ink);color:#fff;padding:.75rem 1.25rem;border-radius:var(--radius);}
.skip-link:focus{top:1rem;}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}

/* ---------- 3b. Dunkle Abschnitte ---------- */
.is-dark{background:var(--ink);color:rgba(255,255,255,.76);}
.is-dark h1,.is-dark h2,.is-dark h3,.is-dark h4{color:#fff;}
.is-dark .lead{color:rgba(255,255,255,.76);}
.is-dark .muted{color:rgba(255,255,255,.6);}
.is-dark .kicker{color:var(--gold-light);}
.is-dark .tlink{color:var(--gold-light);}
.is-dark .btn--ghost{--btn-fg:#fff;--btn-bd:rgba(255,255,255,.34);}
.is-dark .btn--ghost:hover{--btn-bg:#fff;--btn-fg:var(--ink);--btn-bd:#fff;}
.is-dark--coal{background:var(--coal);}
.is-dark--slate{background:var(--slate-900);}

/* Eyebrow / Kicker */
.kicker{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass-dark);margin:0 0 1.4rem;
}
.kicker::before{content:"";width:34px;height:1px;background:currentColor;opacity:.55;}
.kicker--light{color:var(--brass-soft);}
.kicker--mint{color:var(--mint);}

/* Überschriften */
.h-xl{font-size:clamp(2.4rem,1.4rem + 4.4vw,4.6rem);}
.h-lg{font-size:clamp(2rem,1.4rem + 2.6vw,3.35rem);}
.h-md{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);}
.h-sm{font-size:clamp(1.15rem,1.05rem + .45vw,1.4rem);}

.lead{
  font-size:clamp(1.06rem,1rem + .38vw,1.28rem);
  color:var(--walnut-soft);line-height:1.7;max-width:60ch;
}
.muted{color:var(--muted);}

/* ---------- 4. Buttons ---------- */
.btn{
  --btn-bg:var(--ink);--btn-fg:#fff;--btn-bd:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1rem 1.85rem;border:1px solid var(--btn-bd);
  background:var(--btn-bg);color:var(--btn-fg);
  font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  border-radius:var(--radius);position:relative;overflow:hidden;
  transition:background .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),transform .3s var(--ease);
  will-change:transform;
}
.btn:hover{transform:translateY(-2px);}
.btn .arw{transition:transform .35s var(--ease);}
.btn:hover .arw{transform:translateX(4px);}

.btn--brass{--btn-bg:var(--gold);--btn-bd:var(--gold);--btn-fg:#1E1A14;}
.btn--brass:hover{--btn-bg:var(--gold-bright);--btn-bd:var(--gold-bright);--btn-fg:#1E1A14;}
.btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink);--btn-bd:var(--sand-300);}
.btn--ghost:hover{--btn-bg:var(--ink);--btn-fg:#fff;--btn-bd:var(--ink);}
.btn--light{--btn-bg:#fff;--btn-fg:var(--ink);--btn-bd:#fff;}
.btn--light:hover{--btn-bg:transparent;--btn-fg:#fff;--btn-bd:rgba(255,255,255,.6);}
.btn--outline-light{--btn-bg:transparent;--btn-fg:#fff;--btn-bd:rgba(255,255,255,.45);}
.btn--outline-light:hover{--btn-bg:#fff;--btn-fg:var(--ink);--btn-bd:#fff;}
.btn--mint{--btn-bg:var(--gold);--btn-fg:#1E1A14;--btn-bd:var(--gold);}
.btn--mint:hover{--btn-bg:var(--gold-bright);--btn-bd:var(--gold-bright);}

/* Textlink mit Unterstrich-Animation */
.tlink{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.82rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--brass-dark);padding-bottom:.3rem;position:relative;
}
.tlink::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(.28);transform-origin:left;transition:transform .5s var(--ease);}
.tlink:hover::after{transform:scaleX(1);}

/* ---------- 5. Header ---------- */
.header{
  position:fixed;inset:0 0 auto 0;z-index:900;
  height:var(--header-h);
  display:flex;align-items:center;
  transition:background .45s var(--ease),box-shadow .45s var(--ease),height .45s var(--ease),border-color .45s var(--ease);
  border-bottom:1px solid transparent;
}
.header__inner{display:flex;align-items:center;gap:2rem;width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);}

.brand{display:flex;flex-direction:column;align-items:flex-start;line-height:1;margin-right:auto;}
.brand__logo{
  display:block;width:auto;height:74px;align-self:flex-start;flex:0 0 auto;
  transition:height .45s var(--ease),filter .45s var(--ease);
}
.header.is-stuck .brand__logo{height:56px;filter:saturate(1.25) contrast(1.12) brightness(.74);}
.brand--footer{margin-right:0;}
.brand--footer .brand__logo{height:96px;}
@media (max-width:520px){.brand__logo{height:58px;}.header.is-stuck .brand__logo{height:50px;}}

.nav{display:flex;align-items:center;gap:2.1rem;}
.nav a{
  font-size:.78rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.86);position:relative;padding-block:.4rem;
  transition:color .3s var(--ease);
}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease);}
.nav a:hover::after,.nav a.is-active::after{transform:scaleX(1);transform-origin:left;}
.nav a:hover,.nav a.is-active{color:#fff;}

.header__cta{
  display:inline-flex;align-items:center;gap:.55rem;
  border:1px solid rgba(232,200,120,.55);color:var(--gold-light);
  padding:.62rem 1.1rem;border-radius:var(--radius);
  font-size:.78rem;font-weight:600;letter-spacing:.06em;
  transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);
}
.header__cta:hover{background:var(--gold);color:#1E1A14;border-color:var(--gold);}

/* Scrolled */
.header.is-stuck{background:rgba(252,250,246,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line);height:78px;}
.header.is-stuck .nav a{color:var(--walnut-soft);}
.header.is-stuck .nav a:hover,.header.is-stuck .nav a.is-active{color:var(--ink);}
.header.is-stuck .header__cta{border-color:rgba(138,106,34,.45);color:var(--gold-deep);}
.header.is-stuck .header__cta:hover{background:var(--gold-deep);color:#fff;border-color:var(--gold-deep);}
.header.is-stuck .burger span{background:var(--ink);}

/* Burger */
.burger{display:none;width:44px;height:44px;position:relative;flex:0 0 auto;}
.burger span{position:absolute;left:11px;width:22px;height:1.5px;background:#fff;transition:transform .4s var(--ease),opacity .25s var(--ease),background .45s var(--ease);}
.burger span:nth-child(1){top:16px;}
.burger span:nth-child(2){top:21.5px;}
.burger span:nth-child(3){top:27px;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}

/* Mobile Menü */
.mobile-nav{
  position:fixed;inset:0;z-index:880;
  background:var(--ink);
  display:flex;flex-direction:column;justify-content:center;
  padding:var(--header-h) var(--gutter) 3rem;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .45s var(--ease),transform .45s var(--ease),visibility .45s;
}
.mobile-nav.is-open{opacity:1;visibility:visible;transform:none;}
.mobile-nav a{
  font-family:var(--font-display);font-size:clamp(1.7rem,7vw,2.5rem);
  color:#fff;padding:.42rem 0;border-bottom:1px solid rgba(255,255,255,.1);
  display:flex;align-items:baseline;gap:1rem;
}
.mobile-nav a span{font-family:var(--font-body);font-size:.7rem;letter-spacing:.2em;color:var(--brass-soft);}
.mobile-nav__foot{margin-top:2.5rem;color:rgba(255,255,255,.7);font-size:.9rem;line-height:2;}
.mobile-nav__foot a{font-family:var(--font-body);font-size:1rem;border:0;padding:0;color:#fff;display:inline;}

/* ---------- 6. Hero ---------- */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:flex-end;
  color:#fff;overflow:hidden;background:var(--ink);
}
.hero__media{position:absolute;inset:0;}
.hero__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroZoom 22s var(--ease) forwards;}
@keyframes heroZoom{to{transform:scale(1);}}
@media (prefers-reduced-motion:reduce){.hero__media img{animation:none;transform:none;}}
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(20,16,13,.68) 0%,rgba(20,16,13,.34) 28%,rgba(20,16,13,.66) 62%,rgba(20,16,13,.92) 100%),
    radial-gradient(130% 90% at 18% 92%,rgba(20,16,13,.62),transparent 62%);
}
.hero__inner{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin-inline:auto;padding:calc(var(--header-h) + 3rem) var(--gutter) 3rem;}
.hero__title{font-size:clamp(1.95rem,1.15rem + 4.5vw,5.1rem);color:#fff;font-weight:400;letter-spacing:-.02em;max-width:16ch;overflow-wrap:break-word;}
.hero__title em{font-style:italic;color:var(--brass-soft);}
.hero__text{max-width:46ch;color:rgba(255,255,255,.85);font-size:clamp(1.02rem,.98rem + .3vw,1.2rem);margin-top:1.6rem;}
.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.4rem;}

.hero__facts{
  display:flex;flex-wrap:wrap;gap:0;margin-top:3.4rem;
  border-top:1px solid rgba(255,255,255,.18);padding-top:1.6rem;
}
.hero__facts li{
  flex:1 1 160px;padding-right:1.5rem;
}
.hero__facts b{display:block;font-family:var(--font-display);font-size:1.65rem;font-weight:500;color:#fff;line-height:1.1;}
.hero__facts span{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);}

/* ---------- 8. Section-Head ---------- */
.shead{max-width:64ch;margin-bottom:clamp(2.6rem,5vw,4rem);}
.shead .lead{margin-top:1.3rem;}
.shead--center{margin-inline:auto;text-align:center;}
.shead--center .kicker{justify-content:center;}
.shead--center .lead{margin-inline:auto;}
.shead--split{display:grid;gap:1.6rem;max-width:none;}
@media (min-width:900px){
  .shead--split{grid-template-columns:1fr 1fr;gap:4rem;align-items:end;}
  .shead--split .lead{margin-top:0;}
}

/* ---------- 9. Leistungen ---------- */
.services{background:var(--sand-50);}
.services__grid{display:grid;grid-template-columns:1fr;gap:1.6rem;}
@media (min-width:680px){.services__grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1040px){.services__grid{grid-template-columns:repeat(4,1fr);}}

.card{
  position:relative;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease);
}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -28px rgba(60,49,40,.42);border-color:var(--brass-soft);}
.card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--sand-200);}
.card__media img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);transition:transform 1.1s var(--ease);}
.card:hover .card__media img{transform:scale(1.06);}
.card__body{padding:1.7rem 1.7rem 1.9rem;display:flex;flex-direction:column;gap:.7rem;flex:1;}
.card__body p{color:var(--muted);font-size:.97rem;line-height:1.68;}

/* ---------- 10. Ausstellung ---------- */
.showroom{background:var(--coal);}
.showroom__grid{display:grid;grid-template-columns:1fr;gap:2rem;}
@media (min-width:980px){
  .showroom__grid{grid-template-columns:1.25fr .85fr;gap:3rem;align-items:start;}
}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
.gallery__item{
  position:relative;overflow:hidden;border-radius:var(--radius-lg);
  background:var(--sand-200);display:block;width:100%;
}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.gallery__item:hover img{transform:scale(1.05);}
.gallery__item--tall{grid-row:span 2;aspect-ratio:auto;min-height:100%;}
.gallery__item--sq{aspect-ratio:1/1;}

/* Infokarten auf dunklem Grund */
.is-dark .infocard{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12);}
.is-dark .infocard .muted{color:rgba(255,255,255,.66);}
.is-dark .hours{border-top-color:rgba(255,255,255,.14);}
.is-dark .hours li{border-bottom-color:rgba(255,255,255,.1);}
.is-dark .hours li b{color:#fff;}
.is-dark .hours li span{color:rgba(255,255,255,.66);}
.is-dark .hours li.is-note{color:var(--gold-light);}
.is-dark .gallery__item{background:rgba(255,255,255,.07);}

.infocard{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(1.7rem,3vw,2.4rem);
}
.infocard + .infocard{margin-top:1.2rem;}
.infocard h3{margin-bottom:1.1rem;}
.hours{border-top:1px solid var(--line);}
.hours li{display:flex;justify-content:space-between;gap:1rem;padding:.72rem 0;border-bottom:1px solid var(--line);font-size:.95rem;}
.hours li b{font-weight:500;color:var(--ink);}
.hours li span{color:var(--muted);}
.hours li.is-note{color:var(--brass-dark);font-size:.87rem;display:block;border-bottom:0;}

/* ---------- 12. E-Bikes ---------- */
.ebikes{background:var(--slate-900);color:rgba(255,255,255,.76);position:relative;overflow:hidden;}
.ebikes h2,.ebikes h3{color:#fff;}
.ebikes .lead{color:rgba(255,255,255,.74);}
.ebikes::before{
  content:"";position:absolute;inset:auto -10% -30% auto;width:60vw;height:60vw;max-width:820px;max-height:820px;
  background:radial-gradient(circle,rgba(200,160,72,.16),transparent 62%);pointer-events:none;
}
.ebikes__hero{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:21/9;margin-bottom:clamp(2.2rem,4vw,3.4rem);background:var(--slate-800);
}
.ebikes__hero img{width:100%;height:100%;object-fit:cover;}
.ebikes__hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,18,17,.82),rgba(15,18,17,.15) 62%);}
.ebikes__heroText{position:absolute;z-index:2;left:clamp(1.4rem,4vw,3.2rem);bottom:clamp(1.4rem,4vw,3rem);right:clamp(1.4rem,4vw,3.2rem);}
.ebikes__heroText h2{font-size:clamp(1.8rem,1.2rem + 2.6vw,3.2rem);font-weight:400;}
.ebikes__heroText p{color:rgba(255,255,255,.8);max-width:44ch;margin-top:.8rem;}

.ebikes__note{
  margin-top:2.4rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;
  border-top:1px solid rgba(255,255,255,.11);padding-top:2rem;
}
.ebikes__note p{margin:0;font-size:.97rem;color:rgba(255,255,255,.66);max-width:52ch;}

/* ---------- 14. Kontakt ---------- */
.contact{background:var(--sand-50);}
.contact__grid{display:grid;grid-template-columns:1fr;gap:2.4rem;}
@media (min-width:980px){.contact__grid{grid-template-columns:.9fr 1.1fr;gap:3.4rem;align-items:start;}}
.contact__list{border-top:1px solid var(--line);margin-top:2rem;}
.contact__list li{display:grid;grid-template-columns:minmax(0,158px) 1fr;gap:1.2rem;padding:1.05rem 0;border-bottom:1px solid var(--line);align-items:baseline;}
.contact__list dt,.contact__list .lbl{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);line-height:1.5;}
.contact__list .val{font-size:1.02rem;color:var(--ink);}
.contact__list .val a:hover{color:var(--brass-dark);}
.contact__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.2rem;}

.map{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:4/3;background:var(--sand-200);border:1px solid var(--line);
}
@media (min-width:980px){.map{aspect-ratio:auto;height:100%;min-height:480px;}}
.map iframe{width:100%;height:100%;border:0;}
.map__consent{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;gap:1rem;
  padding:2rem;background:var(--sand-200);
}
.map__consent p{max-width:38ch;font-size:.93rem;color:var(--muted);margin:0;}

/* ---------- 15. Footer ---------- */
.footer{background:var(--coal);color:rgba(255,255,255,.6);padding-block:clamp(3rem,6vw,4.5rem) 2rem;}
.footer__grid{display:grid;grid-template-columns:1fr;gap:2.2rem;padding-bottom:2.6rem;border-bottom:1px solid rgba(255,255,255,.11);}
@media (min-width:760px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr;gap:3rem;}}
.footer h4{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);font-family:var(--font-body);font-weight:600;margin-bottom:1.1rem;}
.footer li{padding:.28rem 0;font-size:.95rem;}
.footer a:hover{color:#fff;}
.footer__bottom{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;padding-top:1.8rem;font-size:.85rem;}
.footer__bottom nav{display:flex;gap:1.6rem;}
.footer__intro{max-width:38ch;font-size:.95rem;line-height:1.75;margin-top:1.4rem;}

/* ---------- 16. Cookie-Banner ---------- */
.cookie{
  position:fixed;left:var(--gutter);right:var(--gutter);bottom:1.25rem;z-index:950;
  max-width:520px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:0 30px 60px -30px rgba(34,29,24,.45);
  padding:1.5rem 1.6rem;
  transform:translateY(140%);transition:transform .6s var(--ease);
}
.cookie.is-visible{transform:none;}
body.nav-is-open .cookie{opacity:0;pointer-events:none;transform:translateY(140%);}
.cookie h4{font-family:var(--font-display);font-size:1.08rem;color:var(--ink);margin:0 0 .5rem;}
.cookie p{font-size:.9rem;color:var(--muted);margin-bottom:1.1rem;}
.cookie__actions{display:flex;flex-wrap:wrap;gap:.6rem;}
.cookie .btn{padding:.72rem 1.25rem;font-size:.74rem;}

/* ---------- 18. Scroll-Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.is-in{opacity:1;transform:none;}
.reveal[data-delay="1"]{transition-delay:.09s;}
.reveal[data-delay="2"]{transition-delay:.18s;}
.reveal[data-delay="3"]{transition-delay:.27s;}
.reveal[data-delay="4"]{transition-delay:.36s;}
.reveal[data-delay="5"]{transition-delay:.45s;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- 19. Rechtsseiten ---------- */
.page-head{
  background:var(--ink);color:#fff;
  padding:calc(var(--header-h) + clamp(3.5rem,8vw,6rem)) 0 clamp(3rem,6vw,4.5rem);
}
.page-head h1{color:#fff;font-weight:400;}
.page-head .kicker{color:var(--brass-soft);}
.legal{background:var(--sand-50);padding-block:clamp(3.5rem,7vw,6rem);}
.legal h2{font-size:clamp(1.35rem,1.15rem + .8vw,1.75rem);margin:2.6rem 0 .9rem;}
.legal h2:first-child{margin-top:0;}
.legal h3{font-size:1.08rem;margin:1.8rem 0 .5rem;}
.legal p,.legal li{color:var(--walnut-soft);}
.legal ul{list-style:disc;padding-left:1.3rem;margin:0 0 1.2rem;}
.legal li{padding:.2rem 0;}
.legal a{color:var(--brass-dark);text-decoration:underline;text-underline-offset:3px;}

/* ---------- 20. Responsive ---------- */
@media (max-width:1000px){
  .nav,.header__cta{display:none;}
  .burger{display:block;}
}
@media (max-width:860px){
  /* E-Bike-Bild und Text untereinander statt übereinander */
  .ebikes__hero{aspect-ratio:auto;background:transparent;}
  .ebikes__hero img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-lg);}
  .ebikes__hero::after{display:none;}
  .ebikes__heroText{position:static;padding:1.5rem 0 0;}
  .ebikes__note{flex-direction:column;align-items:flex-start;}
  .ebikes__note .btn{margin-left:0!important;}
}
@media (max-width:820px){
  .gallery{grid-template-columns:repeat(2,1fr);}
  .gallery__item--tall{grid-row:span 1;aspect-ratio:1/1;}
  .contact__list li{grid-template-columns:1fr;gap:.15rem;}
}
@media (max-width:520px){
  .hero__actions .btn{width:100%;}
  .cookie{left:.9rem;right:.9rem;}
}

/* Print */
@media print{
  .header,.mobile-nav,.cookie,.map{display:none!important;}
  body{background:#fff;color:#000;}
}

/* ---------- 21. Unterseiten: Platzhalter-Bausteine (Mockup) ---------- */
.ph{display:block;width:100%;height:100%;background:#E6E2DB;}
.ph svg{width:100%;height:100%;display:block;}
.ph--ratio-43{aspect-ratio:4/3;}
.ph--ratio-34{aspect-ratio:3/4;}
.ph--ratio-11{aspect-ratio:1/1;}
.ph--ratio-169{aspect-ratio:16/9;}
.ph--ratio-219{aspect-ratio:21/9;}
.ph--round{border-radius:var(--radius-lg);overflow:hidden;}
.is-dark .ph{background:#2B2620;}

/* Zweispaltiger Text-/Bild-Block */
.split{display:grid;grid-template-columns:1fr;gap:2.4rem;align-items:center;}
@media (min-width:900px){
  .split{grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);}
  .split--reverse .split__media{order:2;}
}
.split__media{border-radius:var(--radius-lg);overflow:hidden;}

/* Zahlenreihe */
.figures{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem 1rem;margin-top:clamp(2.4rem,4vw,3.4rem);border-top:1px solid var(--line);padding-top:2rem;}
@media (min-width:760px){.figures{grid-template-columns:repeat(4,1fr);}}
.is-dark .figures{border-top-color:rgba(255,255,255,.16);}
.figures b{display:block;font-family:var(--font-display);font-size:clamp(1.5rem,1.2rem + .9vw,2rem);font-weight:500;color:var(--ink);line-height:1.1;}
.is-dark .figures b{color:#fff;}
.figures span{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.is-dark .figures span{color:rgba(255,255,255,.6);}

/* Aufzählung mit Linien */
.linelist{border-top:1px solid var(--line);margin-top:1.8rem;}
.is-dark .linelist{border-top-color:rgba(255,255,255,.16);}
.linelist li{padding:.95rem 0;border-bottom:1px solid var(--line);display:flex;gap:1rem;align-items:baseline;}
.is-dark .linelist li{border-bottom-color:rgba(255,255,255,.1);}
.linelist i{font-style:normal;font-size:.72rem;letter-spacing:.16em;color:var(--brass-dark);min-width:2.2rem;}
.is-dark .linelist i{color:var(--gold-light);}

/* Formular */
.form{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:2rem;}
@media (min-width:680px){
  .form{grid-template-columns:1fr 1fr;}
  .form__row--full{grid-column:1 / -1;}
}
.field{display:flex;flex-direction:column;gap:.45rem;}
.field label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.field input,.field textarea,.field select{
  font:inherit;font-size:.98rem;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:.85rem 1rem;transition:border-color .3s var(--ease);
}
.field textarea{min-height:150px;resize:vertical;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);}
.field--check{flex-direction:row;align-items:flex-start;gap:.7rem;}
.field--check input{width:auto;margin-top:.25rem;}
.field--check label{text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--walnut-soft);line-height:1.6;}

/* Kartenfläche auf der Kontaktseite */
.gmap-container{
  border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);
  aspect-ratio:16/9;background:#E6E2DB;
}

/* Agentur-Branding im Footer */
.agency-branding{border-top:1px solid rgba(255,255,255,.11);margin-top:2.2rem;}
.agency-branding p{margin:0;font-size:.82rem;color:rgba(255,255,255,.5);}
.agency-branding a{text-decoration:underline;text-underline-offset:3px;}
.agency-branding a:hover{color:#fff;}

/* Platzhalter-Raster auf Unterseiten */
.phgrid{display:grid;grid-template-columns:1fr;gap:1rem;}
@media (min-width:620px){.phgrid{grid-template-columns:repeat(3,1fr);}}

/* Abstands-Hilfsklassen */
.mt-s{margin-top:1rem;}
.mt-m{margin-top:1.3rem;}
.mt-l{margin-top:1.4rem;}
.fs-s{font-size:.9rem;}

/* ---------- 22. Partnerleiste ---------- */
.partners{background:var(--sand-100);border-top:1px solid var(--line);padding-block:clamp(3rem,6vw,4.5rem);}
.partners__list{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem 2.6rem;margin-top:1.6rem;}
.partners__list li{
  font-family:var(--font-display);font-size:clamp(1rem,.9rem + .5vw,1.32rem);
  color:#A2907A;letter-spacing:.04em;transition:color .45s var(--ease);
}
.partners__list li:hover{color:var(--gold-deep);}
.kicker--center{display:flex;justify-content:center;}

.contact__actions--center{justify-content:center;}
.kicker--flush{margin:0;}
.mt-xl{margin-top:2.5rem;}

/* ---------- 23. Einzugsgebiet ---------- */
.section--sand{background:var(--sand-100);}
.radius{display:block;width:100%;max-width:520px;margin-inline:auto;height:auto;}
.radius .ring{fill:none;stroke:var(--sand-300);stroke-width:1.5;}
.radius .ring--outer{stroke:var(--gold);stroke-dasharray:6 6;}
.radius .fillzone{fill:var(--gold);opacity:.07;}
.radius .ringlabel{fill:var(--muted);font-family:var(--font-body);font-size:15px;letter-spacing:.08em;}
.radius .city{fill:var(--walnut-soft);font-family:var(--font-body);font-size:16px;}
.radius .dot{fill:var(--walnut-soft);}
.radius .home{fill:var(--gold);}
.radius .homelabel{fill:var(--ink);font-family:var(--font-display);font-size:19px;font-weight:600;}
/* Honigtopf gegen Formular-Spam – für Menschen unsichtbar */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* Einzugsgebiet auf dunklem Grund */
.is-dark .radius .ring{stroke:rgba(255,255,255,.16);}
.is-dark .radius .ring--outer{stroke:var(--gold);}
.is-dark .radius .fillzone{fill:var(--gold);opacity:.10;}
.is-dark .radius .ringlabel{fill:rgba(255,255,255,.55);}
.is-dark .radius .city{fill:rgba(255,255,255,.8);}
.is-dark .radius .dot{fill:rgba(255,255,255,.7);}
.is-dark .radius .homelabel{fill:#fff;}

/* Breites Bild über einem Abschnitt */
.wideimg{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:clamp(2rem,4vw,3.2rem);}
.wideimg img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block;}
@media (max-width:700px){.wideimg img{aspect-ratio:16/10;}}

/* ---------- 24. Slideshow ---------- */
.slides{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:16/9;background:var(--slate-800);
  margin-bottom:clamp(2rem,4vw,3.2rem);
}
.slides__item{
  position:absolute;inset:0;margin:0;
  opacity:0;transition:opacity 1.1s var(--ease);
  pointer-events:none;
}
.slides__item.is-current{opacity:1;}
.slides__item img{width:100%;height:100%;object-fit:cover;display:block;}
.slides__dots{
  position:absolute;left:0;right:0;bottom:clamp(.9rem,2vw,1.4rem);
  display:flex;justify-content:center;gap:.6rem;z-index:2;
}
.slides__dot{
  width:34px;height:3px;border-radius:2px;padding:0;
  background:rgba(255,255,255,.35);
  transition:background .4s var(--ease);
}
.slides__dot[aria-current="true"]{background:var(--gold);}
.slides__dot:hover{background:rgba(255,255,255,.65);}
@media (max-width:700px){
  .slides{aspect-ratio:4/3;}
  .slides__dot{width:26px;}
}
@media (prefers-reduced-motion:reduce){
  .slides__item{transition:none;}
}
