
:root{--pink:#b20a75;--ink:#22212a;--muted:#4d5261;--light:#e4e8f1;--line:#d5dae4;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:18px/1.65 Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(38px,4.5vw,67px)}h2{font-size:clamp(34px,3.5vw,50px)}h3{font-size:26px;font-weight:500}.small{font-size:16px}.muted{color:var(--muted)}.pink{color:var(--pink)}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.header{background:white;position:relative;z-index:2}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:150px}.brand{width:clamp(270px,30vw,460px);flex-shrink:1}.brand img{width:100%;height:auto}.nav{display:flex;align-items:center;gap:clamp(15px,2vw,32px);flex-wrap:wrap}.nav a{color:var(--pink);font-size:19px;font-weight:600;white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px}.menu-toggle{display:none;background:white;color:var(--pink);border:1px solid var(--line);padding:8px 14px;cursor:pointer}.hero{position:relative;background:#bdc7d8}.hero img{width:100%;height:auto}.hero-copy{position:absolute;top:50%;left:max(5%,calc((100vw - 1220px)/2));transform:translateY(-50%);width:min(39%,570px);z-index:1}.hero h1{font-size:clamp(34px,4.1vw,65px);margin:0 0 18px}.hero p{font-size:clamp(17px,1.3vw,20px);line-height:1.5;max-width:470px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--pink);color:white;padding:15px 24px;font-size:17px;font-weight:600;margin-top:10px;border:0;cursor:pointer}.button:hover{background:#8c085c}.textlink{color:var(--pink);font-weight:700;text-decoration:underline;text-underline-offset:5px}.section{padding:85px 0}.section.soft{background:#e7eaf2}.section-head{max-width:720px;margin-bottom:32px}.eyebrow{font-size:16px;letter-spacing:.13em;text-transform:uppercase;color:var(--pink);font-weight:700;margin-bottom:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split.reverse .visual{order:2}.visual{background:linear-gradient(#b6bfd1,#e3e8f3);min-height:350px;display:flex;align-items:center;justify-content:center}.visual img{width:100%;height:auto;object-fit:contain}.placeholder{padding:50px 30px;text-align:center;background:#e0e5ef;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center}.placeholder span{color:var(--pink);font-size:17px;font-weight:bold}.about-copy{max-width:680px}.cta{text-align:center}.cta p{max-width:640px;margin:0 auto 20px}.footer{background:#2d3039;color:#fff;padding:42px 0;font-size:16px}.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer a{margin-right:18px}.notice{background:#f6f6f7;color:#555;text-align:center;padding:10px;font-size:13px}.subhero{background:#e7eaf2;padding:70px 0}.subhero p{max-width:750px}.gallery-feature{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:16px;align-items:center;max-width:820px;margin:35px auto}.gallery-feature img{width:100%;max-height:640px;object-fit:contain;background:linear-gradient(#abb4c7,#e2e6f0)}.slider-controls{display:flex;flex-direction:column;gap:12px}.slider-controls button{border:1px solid var(--line);background:white;color:var(--pink);padding:12px;cursor:pointer}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.step{text-align:center;padding:18px}.step-icon{width:74px;height:74px;border:2px solid var(--pink);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--pink);font-size:32px}.step h3{font-size:21px}.step p{font-size:16px}.collections{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.collection{background:#e5e9f1;padding:32px;min-height:210px}.collection h3{margin-top:18px}.back{display:inline-block;margin:24px 0;color:var(--pink)}
@media(max-width:1050px){.header-inner{min-height:120px;flex-wrap:wrap;justify-content:center;padding:15px 0}.brand{width:370px}.nav{justify-content:center;width:100%;gap:22px}.hero-copy{width:43%;left:4%}.hero h1{font-size:clamp(30px,4vw,47px)}.hero p{font-size:16px}}
@media(max-width:700px){body{font-size:17px}.container{width:calc(100% - 36px)}.header-inner{justify-content:space-between;min-height:100px}.brand{width:min(72%,330px)}.menu-toggle{display:block}.nav{display:none;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:5px 0 16px}.nav.open{display:flex}.nav a{font-size:19px;padding:9px 0}.hero{display:flex;flex-direction:column}.hero img{width:100%;height:auto}.hero-copy{position:static;transform:none;width:100%;padding:26px 20px 40px;background:#e7eaf2}.hero h1{font-size:39px}.hero p{font-size:17px}.section{padding:55px 0}.split{grid-template-columns:1fr;gap:24px}.split.reverse .visual{order:0}.visual{min-height:220px}.placeholder{min-height:240px}.steps{grid-template-columns:repeat(2,1fr);gap:8px}.collections{grid-template-columns:1fr}.gallery-feature{grid-template-columns:1fr}.slider-controls{flex-direction:row;justify-content:center}.subhero{padding:46px 0}.footer-inner{flex-direction:column}}
/* Gemeinsame Banner: an der freigegebenen Startseite orientiert.
   Die bewusste Spezifitaet begrenzt diese Regeln auf die fuenf Banner
   und hat Vorrang vor den erhaltenen historischen Seitenregeln. */
.site-hero.site-hero .banner-copy {
  width:30%;
  max-width:440px;
  min-width:0;
  margin:0;
  padding:12px 0;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:400;
}
.site-hero.site-hero .banner-copy h1 {
  max-width:none;
  margin:0 0 18px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(30px,3.25vw,53px);
  font-weight:400;
  line-height:1.14;
  letter-spacing:.02em;
}
.site-hero.site-hero .banner-copy p {
  max-width:380px;
  margin:0 0 18px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(15px,1.15vw,18px);
  font-weight:400;
  line-height:1.45;
  letter-spacing:normal;
}
.site-hero.site-hero .banner-heart {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:auto;
  height:72px;
  margin:0 0 6px;
}
.site-hero.site-hero .banner-heart img {
  display:block;
  width:68px;
  height:68px;
  object-fit:contain;
}
/* Bild und Text teilen eine flexible Zeile. Lange Texte vergroessern
   nur den Banner; das Originalbild wird weder beschnitten noch verzerrt. */
.site-hero.site-hero.banner-with-image {
  display:grid;
  grid-template-columns:minmax(0,1fr);
}
.site-hero.site-hero.banner-with-image > img,
.site-hero.site-hero.banner-with-image > picture {
  grid-area:1 / 1;
  align-self:center;
}
.site-hero.site-hero.banner-with-image .banner-copy {
  grid-area:1 / 1;
  align-self:center;
  justify-self:start;
  position:relative;
  top:auto;
  left:max(3%,calc((100vw - 1350px)/2));
  transform:none;
}
.site-hero.site-hero.banner-text-only {
  padding:0;
}
.site-hero.site-hero.banner-text-only .banner-copy {
  position:relative;
  left:max(3%,calc((100vw - 1350px)/2));
  padding:70px 0;
}
@media(max-width:1100px) {
  .site-hero.site-hero .banner-copy {width:33%;}
  .site-hero.site-hero .banner-copy h1 {font-size:clamp(27px,3vw,42px);}
  .site-hero.site-hero .banner-copy p {font-size:15px;}
}
@media(max-width:850px) {
  .site-hero.site-hero.banner-with-image {display:flex;flex-direction:column;}
  .site-hero.site-hero .banner-copy,
  .site-hero.site-hero.banner-with-image .banner-copy,
  .site-hero.site-hero.banner-text-only .banner-copy {
    position:static;
    top:auto;
    left:auto;
    transform:none;
    width:100%;
    max-width:none;
    padding:26px max(18px,5vw) 35px;
  }
  .site-hero.site-hero .banner-copy h1 {font-size:clamp(34px,6vw,48px);}
  .site-hero.site-hero .banner-copy p {font-size:17px;}
}

/* Dezente Preis- und Rechtshinweise sowie vorbereitete Rechtsseiten. */
.legal-note{font-size:16px;line-height:1.65;color:var(--muted);margin:24px 0 0}.cooperation-note{margin-top:40px;max-width:850px}.cooperation-note h3{font-size:24px}.cooperation-note .legal-note{margin-top:16px}.legal-copy{max-width:1000px;overflow-wrap:anywhere}.legal-copy h2{font-size:clamp(25px,3vw,34px);margin-top:36px}.legal-copy address{font-style:normal}.legal-review{color:var(--muted);margin-bottom:36px}.legal-copy li+li{margin-top:10px}.footer a:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Kategoriezeilen der beiden Angebotsbanner. */
.site-hero .banner-category{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:600;line-height:1.4;letter-spacing:.16em;color:var(--muted);margin:0 0 12px}

/* Original-Markenherz als dekoratives Inline-Icon in Texten. */
img.brand-heart{display:inline-block;width:.9em;height:.9em;max-width:none;object-fit:contain;vertical-align:baseline}
