/* Mon Coiffeur — Champagner/Bordeaux Beauty-Editorial */

@font-face{font-family:'Schibsted Grotesk';src:url('fonts/schibsted.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Schibsted Grotesk';src:url('fonts/schibsted-ext.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:'Instrument Sans';src:url('fonts/instrument.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Instrument Sans';src:url('fonts/instrument-ext.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --bordeaux:#40101F;
  --bordeaux-tief:#2A0A15;
  --champagner:#FAF7F2;
  --champagner-2:#F0E7DF;
  --altrosa:#B4826F;
  --altrosa-ink:#96604A;
  --wein:#6E1A31;
  --ink:#141110;
  --ink-2:#5A4E4A;
  --hell:#F7F1EC;
  --muted-hell:#C6ADA5;
  --line:#E2D6CC;
  --display:'Schibsted Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --sans:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --wrap:1240px;
  --pad:clamp(1.25rem,5vw,3.5rem);
}

*,*::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{animation-duration:.001ms !important;transition-duration:.001ms !important;}}
body{
  margin:0;background:var(--champagner);color:var(--ink);
  font-family:var(--sans);font-weight:400;font-size:clamp(1rem,.96rem + .2vw,1.0625rem);
  line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;margin:0;line-height:1.08;letter-spacing:-.025em;text-wrap:balance;}
p{margin:0 0 1.15em;}
p:last-child{margin-bottom:0;}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad);}
.wrap-wide{width:100%;max-width:1520px;margin-inline:auto;padding-inline:var(--pad);}

/* ---------- Typo-Bausteine ---------- */
.eyebrow{
  font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--wein);margin:0 0 1.4rem;display:flex;
  align-items:center;gap:.75rem;
}
.eyebrow::after{content:"";flex:0 0 46px;height:1px;background:var(--altrosa);}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before{content:"";flex:0 0 46px;height:1px;background:var(--altrosa);}
.on-dark .eyebrow,.stage .eyebrow,.eyebrow.light{color:var(--altrosa);}
.on-dark .eyebrow::after,.on-dark .eyebrow::before,
.stage .eyebrow::after,.stage .eyebrow::before{background:rgba(180,130,111,.55);}

h1,.h1{font-size:clamp(2.35rem,1.3rem + 3.5vw,3.95rem);}
h2,.h2{font-size:clamp(1.95rem,1.3rem + 2.5vw,3.15rem);}
h3,.h3{font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);line-height:1.16;}
.lead{font-size:clamp(1.06rem,1rem + .35vw,1.22rem);color:var(--ink-2);line-height:1.7;max-width:56ch;}
.on-dark .lead,.stage .lead{color:var(--muted-hell);}
.prose{max-width:64ch;color:var(--ink-2);}
.prose p+p{margin-top:0;}

section{padding-block:clamp(3.75rem,8vw,7rem);}
.sec-head{max-width:62ch;margin-bottom:clamp(2.25rem,4vw,3.25rem);}
.sec-head.center{margin-inline:auto;text-align:center;}
.sec-head h2+.lead{margin-top:1.35rem;}

.stage{background:var(--bordeaux);color:var(--hell);}
.stage h1,.stage h2,.stage h3{color:var(--hell);}
.tint{background:var(--champagner-2);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--sans);font-weight:500;font-size:.83rem;letter-spacing:.13em;
  text-transform:uppercase;text-decoration:none;padding:1.05rem 1.9rem;
  min-height:52px;border:1px solid var(--bordeaux);background:var(--bordeaux);
  color:var(--hell);transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.btn:hover{background:var(--wein);border-color:var(--wein);}
.btn-ghost{background:transparent;color:var(--bordeaux);}
.btn-ghost:hover{background:var(--bordeaux);color:var(--hell);}
.on-dark .btn,.stage .btn{background:var(--hell);border-color:var(--hell);color:var(--bordeaux);}
.on-dark .btn:hover,.stage .btn:hover{background:var(--altrosa);border-color:var(--altrosa);color:#2A0A15;}
.on-dark .btn-ghost,.stage .btn-ghost{background:transparent;color:var(--hell);border-color:rgba(247,241,236,.45);}
.on-dark .btn-ghost:hover,.stage .btn-ghost:hover{background:var(--hell);color:var(--bordeaux);border-color:var(--hell);}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;}

.txtlink{
  display:inline-flex;align-items:center;gap:.5rem;font-weight:500;font-size:.82rem;
  letter-spacing:.13em;text-transform:uppercase;text-decoration:none;color:var(--wein);
  border-bottom:1px solid var(--altrosa);padding-bottom:.35rem;transition:color .2s,border-color .2s;
}
.txtlink:hover{color:var(--bordeaux);border-color:var(--bordeaux);}
.on-dark .txtlink,.stage .txtlink{color:var(--hell);border-color:rgba(180,130,111,.7);}
.on-dark .txtlink:hover,.stage .txtlink:hover{color:var(--altrosa);border-color:var(--altrosa);}

a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--wein);outline-offset:3px;
}
.stage a:focus-visible,.on-dark a:focus-visible,.site-foot a:focus-visible{outline-color:var(--altrosa);}

/* ---------- Header ---------- */
.site-head{
  position:sticky;top:0;z-index:60;background:rgba(250,247,242,.94);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);
}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:76px;}
.brand{display:flex;align-items:center;flex:0 0 auto;}
.brand img{width:132px;height:55px;object-fit:contain;}
.nav{display:flex;align-items:center;gap:1.75rem;}
.nav a{
  text-decoration:none;font-size:.79rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);padding:.35rem 0;position:relative;
}
.nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--wein);transform:scaleX(0);transform-origin:left;transition:transform .28s ease;
}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1);}
.nav a[aria-current="page"]{color:var(--wein);}
.head-cta{display:inline-flex;padding:.85rem 1.4rem;min-height:46px;font-size:.76rem;}
.nav .btn{display:none;}
.navtoggle{display:none;}

@media (max-width:1080px){
  .nav{gap:1.15rem;}
  .nav a{font-size:.73rem;letter-spacing:.1em;}
  .head-cta{padding:.8rem 1.05rem;font-size:.71rem;}
}
@media (max-width:900px){
  .navtoggle{
    display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
    background:transparent;border:1px solid var(--line);color:var(--ink);
    font-family:var(--sans);font-weight:500;font-size:.74rem;letter-spacing:.14em;
    text-transform:uppercase;padding:.7rem 1rem;min-height:46px;cursor:pointer;
  }
  .navtoggle .bars{display:inline-flex;flex-direction:column;gap:3px;}
  .navtoggle .bars span{display:block;width:18px;height:1.5px;background:var(--ink);}
  .head-cta{display:none;}
  .nav{
    position:fixed;inset:76px 0 auto;flex-direction:column;align-items:stretch;gap:0;
    background:var(--champagner);border-bottom:1px solid var(--line);padding:.5rem var(--pad) 2rem;
    max-height:calc(100dvh - 76px);overflow-y:auto;display:none;
  }
  .nav.open{display:flex;}
  .nav a{
    font-size:.95rem;letter-spacing:.1em;padding:1.05rem 0;min-height:52px;
    display:flex;align-items:center;border-bottom:1px solid var(--line);
  }
  .nav a::after{display:none;}
  .nav .btn{display:inline-flex;margin-top:1.35rem;}
}

/* ---------- Hero (Overlap-Editorial) ---------- */
.hero{padding-block:clamp(2.75rem,6vw,5.5rem) 0;position:relative;}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.hero-copy{position:relative;z-index:2;}
.hero h1{margin-bottom:1.6rem;}
.hero h1 em{font-style:normal;font-weight:400;color:var(--wein);}
.hero .lead{max-width:46ch;}
.hero .btn-row{margin-top:2.25rem;}
.hero-meta{
  margin-top:2.5rem;padding-top:1.6rem;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:.6rem 2.25rem;font-size:.85rem;color:var(--ink-2);
}
.hero-meta b{font-weight:500;color:var(--ink);letter-spacing:.02em;}

.hero-art{position:relative;padding-bottom:clamp(2rem,5vw,4rem);}
.hero-art .a{position:relative;width:78%;margin-left:auto;}
.hero-art .a img{width:100%;aspect-ratio:3/4;object-fit:cover;}
.hero-art .b{
  position:absolute;left:0;bottom:0;width:46%;box-shadow:0 24px 60px -30px rgba(20,17,16,.5);
  border:8px solid var(--champagner);
}
.hero-art .b img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 30%;}
.seal{
  position:absolute;right:6%;bottom:14%;width:clamp(78px,8vw,108px);aspect-ratio:1;
  border-radius:50%;background:var(--bordeaux);display:grid;place-items:center;
  box-shadow:0 12px 34px -12px rgba(42,10,21,.6);
}
.seal img{width:70%;height:70%;object-fit:contain;}

@media (max-width:900px){
  .hero{padding-top:2.25rem;}
  .hero-grid{grid-template-columns:1fr;gap:2.25rem;}
  .hero-copy{order:1;}
  .hero-art{order:2;padding-bottom:1rem;}
  .hero .lead{max-width:none;}
  .hero-art .a{width:82%;margin-left:auto;margin-right:0;}
  .hero-art .b{width:44%;}
  .seal{right:2%;bottom:8%;}
}

/* ---------- Fakten ---------- */
.facts{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--line);border-block:1px solid var(--line);
}
.fact{background:var(--champagner);padding:clamp(1.5rem,3vw,2.25rem) clamp(1rem,2vw,1.75rem);}
.fact b{display:block;font-family:var(--display);font-size:clamp(1.7rem,1.2rem + 1.5vw,2.5rem);line-height:1;color:var(--bordeaux);margin-bottom:.55rem;}
.fact span{font-size:.79rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-2);line-height:1.5;display:block;}
@media (max-width:760px){.facts{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ---------- Split ---------- */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.split.narrow{gap:clamp(2rem,4vw,3.5rem);}
.split-img img{width:100%;object-fit:cover;}
.split-img.tall img{aspect-ratio:3/4;}
.split-img.wide img{aspect-ratio:4/3;}
@media (max-width:860px){
  .split{grid-template-columns:1fr;gap:2.25rem;}
  .split.flip .split-img{order:-1;}
}

/* ---------- Bereiche (drei Türen) ---------- */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem);}
.door{
  position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:var(--champagner);border:1px solid var(--line);transition:border-color .3s ease,transform .3s ease;
}
.door:hover{border-color:var(--altrosa);transform:translateY(-4px);}
.door-img{overflow:hidden;}
.door-img img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s ease;}
.door:hover .door-img img{transform:scale(1.045);}
.door-body{padding:clamp(1.5rem,3vw,2.1rem);display:flex;flex-direction:column;gap:.85rem;flex:1;}
.door-body h3{color:var(--bordeaux);}
.door-body p{font-size:.97rem;color:var(--ink-2);margin:0;}
.door-body .more{
  margin-top:auto;padding-top:.6rem;font-size:.76rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--wein);display:inline-flex;align-items:center;gap:.5rem;
}
.door:hover .more{color:var(--bordeaux);}
@media (max-width:900px){.doors{grid-template-columns:1fr;}}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2.25rem);}
.member figure{margin:0;}
.member img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%;background:var(--champagner-2);}
.member h3{margin-top:1.15rem;color:var(--bordeaux);font-size:clamp(1.2rem,1.05rem + .5vw,1.45rem);}
.member .role{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--altrosa-ink);margin-top:.5rem;}
.member p.bio{margin-top:.9rem;font-size:.95rem;color:var(--ink-2);}
@media (max-width:900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.team-grid{grid-template-columns:1fr;max-width:26rem;}}

.team-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;}
.team-strip img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%;}
@media (max-width:760px){.team-strip{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* ---------- Galerie ---------- */
/* Gleich hohe Kacheln statt CSS-Masonry: der Spaltenausgleich von `columns` ist
   browserabhaengig und lief bis zu 562px auseinander. Rest der letzten Reihe
   wird zentriert, damit kein Loch entsteht. */
.gal{--gal-gap:.85rem;--gal-cols:4;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gal-gap);}
.gal img{width:calc((100% - (var(--gal-cols) - 1) * var(--gal-gap)) / var(--gal-cols));height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;display:block;}
/* 52 Bilder gehen glatt durch 4 und durch 2 auf. Eine 3-Spalten-Stufe wuerde eine
   angebrochene letzte Reihe erzeugen, deshalb springt das Raster direkt auf 2. */
@media (max-width:1080px){.gal{--gal-gap:.7rem;}}
@media (max-width:760px){.gal{--gal-gap:.6rem;--gal-cols:2;}}

.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;}
@media (max-width:760px){.strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;}}

/* ---------- Preise ---------- */
.pricecard{
  background:var(--champagner);border:1px solid var(--line);
  padding:clamp(1.6rem,3.2vw,2.6rem);
}
.stage .pricecard{background:rgba(247,241,236,.06);border-color:rgba(198,173,165,.28);}
.pricecard+.pricecard{margin-top:clamp(1.25rem,2.5vw,2rem);}
.pricecard h3{color:var(--bordeaux);padding-bottom:1.1rem;border-bottom:1px solid var(--line);margin-bottom:.35rem;}
.stage .pricecard h3{color:var(--hell);border-color:rgba(198,173,165,.28);}
.pricecard .note{font-size:.85rem;color:var(--ink-2);margin-top:1.15rem;line-height:1.6;}
.stage .pricecard .note{color:var(--muted-hell);}

.plist{list-style:none;margin:0;padding:0;}
.plist li{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1.25rem;
  align-items:baseline;padding:.95rem 0;border-bottom:1px solid var(--line);
}
.stage .plist li{border-color:rgba(198,173,165,.22);}
.plist li:last-child{border-bottom:0;}
.plist .name{font-size:1rem;color:var(--ink);}
.stage .plist .name{color:var(--hell);}
.plist .name small{display:block;font-size:.83rem;color:var(--ink-2);margin-top:.25rem;line-height:1.5;}
.stage .plist .name small{color:var(--muted-hell);}
.plist .cols{
  display:grid;grid-template-columns:repeat(3,4.6rem);gap:.5rem;text-align:right;
  font-family:var(--display);font-size:1.05rem;color:var(--bordeaux);white-space:nowrap;
}
.stage .plist .cols{color:var(--altrosa);}
.plist .one{font-family:var(--display);font-size:1.05rem;color:var(--bordeaux);white-space:nowrap;}
.stage .plist .one{color:var(--altrosa);}
.plist .cols span{display:block;}
.plist .cols .na{color:var(--line);}
.stage .plist .cols .na{color:rgba(198,173,165,.35);}
.phead{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:baseline;
  padding:1.1rem 0 .65rem;
}
.phead .cols{
  display:grid;grid-template-columns:repeat(3,4.6rem);gap:.5rem;text-align:right;
  font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.13em;
  text-transform:uppercase;color:var(--altrosa-ink);
}
.stage .phead .cols,.on-dark .phead .cols{color:var(--altrosa);}
@media (max-width:620px){
  .plist li,.phead{grid-template-columns:1fr;}
  .plist .cols,.phead .cols{grid-template-columns:repeat(3,minmax(0,1fr));text-align:left;max-width:15rem;}
  .plist .one{text-align:left;}
}

.svc-list{list-style:none;margin:0;padding:0;display:grid;gap:.1rem;}
.svc-list li{
  padding:.95rem 0 .95rem 1.6rem;border-bottom:1px solid var(--line);position:relative;
  color:var(--ink-2);font-size:1rem;
}
.svc-list li::before{
  content:"";position:absolute;left:0;top:1.45rem;width:7px;height:7px;
  border:1px solid var(--altrosa);transform:rotate(45deg);
}
.stage .svc-list li{border-color:rgba(198,173,165,.22);color:var(--muted-hell);}

/* ---------- Zwei Spalten ---------- */
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.25rem);align-items:start;}
@media (max-width:860px){.cols2{grid-template-columns:1fr;}}

/* ---------- Partner ---------- */
.brandlist{
  margin-top:clamp(2rem,4vw,3rem);margin-inline:auto;max-width:52rem;text-align:center;
  font-size:clamp(.86rem,.8rem + .3vw,1rem);letter-spacing:.15em;
  text-transform:uppercase;color:var(--text-hell,var(--hell));line-height:2.2;
}

/* ---------- Kontakt ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);}
.infolist{list-style:none;margin:0;padding:0;}
.infolist li{padding:1.1rem 0;border-bottom:1px solid var(--line);}
.stage .infolist li,.on-dark .infolist li{border-color:rgba(198,173,165,.24);}
.infolist .k{
  display:block;font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--altrosa-ink);margin-bottom:.45rem;
}
.stage .infolist .k,.on-dark .infolist .k{color:var(--altrosa);}
.infolist .v{font-size:1.05rem;color:var(--ink);}
.stage .infolist .v,.on-dark .infolist .v{color:var(--hell);}
.infolist a{text-decoration:none;border-bottom:1px solid var(--altrosa);padding-bottom:2px;}
.infolist a:hover{color:var(--wein);}
.stage .infolist a:hover,.on-dark .infolist a:hover{color:var(--altrosa);}
.hours{list-style:none;margin:0;padding:0;}
.hours li{display:flex;justify-content:space-between;gap:1.5rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:1rem;}
.stage .hours li,.on-dark .hours li{border-color:rgba(198,173,165,.24);color:var(--muted-hell);}
.hours li:last-child{border-bottom:0;}
.hours b{font-weight:500;}
.stage .hours b,.on-dark .hours b{color:var(--hell);}
.hours .closed{color:var(--ink-2);}
.stage .hours .closed,.on-dark .hours .closed{color:rgba(198,173,165,.7);}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}

/* ---------- CTA-Band ---------- */
.cta-band{background:var(--bordeaux-tief);color:var(--hell);text-align:center;}
.cta-band h2{color:var(--hell);margin-bottom:1.35rem;}
.cta-band .lead{margin-inline:auto;color:var(--muted-hell);}
.cta-band .btn-row{justify-content:center;margin-top:2.35rem;}

/* ---------- Footer ---------- */
.site-foot{background:var(--bordeaux);color:var(--muted-hell);padding-block:clamp(3rem,6vw,4.5rem) 2rem;font-size:.93rem;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(1.75rem,4vw,3rem);}
.site-foot img.flogo{width:150px;height:63px;object-fit:contain;margin-bottom:1.35rem;}
.site-foot h4{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:var(--altrosa);margin-bottom:1.15rem;}
.site-foot ul{list-style:none;margin:0;padding:0;}
.site-foot li{margin-bottom:.65rem;line-height:1.6;}
.site-foot a{text-decoration:none;transition:color .2s;}
.site-foot a:hover{color:var(--hell);}
.foot-bottom{
  margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:1.75rem;border-top:1px solid rgba(198,173,165,.2);
  display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;justify-content:space-between;font-size:.83rem;
}
@media (max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr;}}

/* ---------- Rechtstexte ---------- */
.legal{max-width:74ch;}
.legal h2{font-size:clamp(1.4rem,1.2rem + .8vw,1.85rem);margin-top:2.75rem;margin-bottom:1rem;color:var(--bordeaux);}
.legal h2:first-of-type{margin-top:0;}
.legal h3{font-size:1.12rem;margin-top:1.85rem;margin-bottom:.7rem;}
.legal p,.legal li{color:var(--ink-2);font-size:1rem;}
.legal ul{padding-left:1.15rem;margin:0 0 1.15em;}
.legal li{margin-bottom:.5rem;}
.legal a{color:var(--wein);}

/* ---------- Seitenkopf Unterseiten ---------- */
.pagehead{padding-block:clamp(3rem,6vw,5rem) clamp(2.25rem,4vw,3.25rem);border-bottom:1px solid var(--line);}
.pagehead h1{max-width:20ch;}
.pagehead .lead{margin-top:1.5rem;}
.stage.pagehead{border-bottom:0;}

.note-box{
  border-left:2px solid var(--altrosa);padding:.35rem 0 .35rem 1.4rem;
  font-size:.95rem;color:var(--ink-2);
}
.stage .note-box{color:var(--muted-hell);}

/* ---------- Partner-Videos ---------- */
.videos{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.25rem,2.5vw,2rem);margin-top:clamp(2.5rem,5vw,3.5rem);
}
.videos figure{margin:0;}
.videos video{
  width:100%;height:auto;aspect-ratio:16/9;display:block;background:#000;
  border:1px solid rgba(198,173,165,.3);
}
.videos figcaption{
  margin-top:.9rem;font-size:.72rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--altrosa-ink);
}
.stage .videos figcaption,.on-dark .videos figcaption{color:var(--altrosa);}
@media (max-width:760px){.videos{grid-template-columns:1fr;}}
