/* ================================================================
   schmuckstück24 · styles.css
   Farbpalette, Basis-Typografie, Sections, Responsive
   ================================================================ */

:root{
  /* Basis */
  --bg:#ffffff;
  --cream:#f6f2ea;
  --cream-2:#efe8dc;
  --rose:#f5e1dd;          /* Creme-Rosa */
  --creme-white:#fbf6ef;   /* warmes Creme-Weiß */
  --white:#f8f5ef;

  /* Text */
  --ink:#1a1613;
  --ink-2:#3a332d;
  --muted:#7a7168;
  --muted-light:rgba(248,245,239,.66);

  /* Linien */
  --line:#e6dfd3;
  --line-dark:rgba(255,255,255,.14);

  /* Gold */
  --gold:#b8905a;
  --gold-2:#a07a45;
  --gold-light:#e3c28c;

  /* Dunkel */
  --dark:#161311;
  --dark-2:#0f0d0b;
  --dark-3:#090706;

  /* Fonts */
  --serif:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --sans:'Inter','DM Sans','Helvetica Neue',Arial,sans-serif;
  --display:'Manrope','Inter',sans-serif;
  --accent:'Playfair Display',Georgia,serif;

  /* Motion */
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.kicker{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:500;
  margin-bottom:18px;
}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--ink);line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(38px,5.4vw,72px)}
h2{font-size:clamp(30px,3.8vw,52px)}
h3{font-size:clamp(20px,1.6vw,26px)}
em,.gold-italic{font-style:italic;color:var(--gold);font-weight:500}
p{color:var(--ink-2);font-size:15px;line-height:1.75}
.lead{font-size:16px;color:var(--ink-2)}

.btn{
  display:inline-block;
  padding:14px 26px;
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
  cursor:pointer;
  border:1px solid transparent;
  transition:all .2s ease;
}
.btn-gold{background:var(--gold);color:#fff}

.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink)}

.btn-outline-white{background:transparent;border-color:#fff;color:#fff}

.btn-light{background:#fff;color:var(--ink)}

/* ================================================================
   SITE-HEADER (fixed, transparent → cream beim Scrollen)
   ================================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;
  z-index:100;
  padding:18px 0;
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
}
.site-header__inner{
  width:min(94%,1560px);
  margin:auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:32px;
}
.site-logo{
  display:flex;align-items:center;
  height:52px;
}
.site-logo img{
  height:100%;width:auto;display:block;
  /* Über dunklem Hero: weiß */
  filter:brightness(0) invert(1) brightness(1.05);
  transition:filter .35s ease;
}
.site-nav{
  display:flex;gap:34px;
  font-family:var(--sans);
  font-size:11px;font-weight:500;
  text-transform:uppercase;letter-spacing:.20em;
}
.site-nav a{
  color:rgba(255,255,255,.86);
  transition:color .3s ease;
  position:relative;
  white-space:nowrap;
}
.site-nav a::after{
  content:"";position:absolute;
  left:0;right:0;bottom:-6px;
  height:1px;
  background:var(--gold-light);
  transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease);
}


.site-header__cta{font-size:10px;padding:11px 22px;letter-spacing:.24em}

/* Scrolled-State: cream Hintergrund, dunkles Logo/Nav */
.site-header.is-scrolled{
  padding:calc(12px + env(safe-area-inset-top)) 0 12px;
  background:rgba(251,246,239,.94);
  backdrop-filter:blur(14px);
  box-shadow:0 6px 24px rgba(58,38,24,.06);
}
.site-header.is-scrolled .site-logo img{
  filter:brightness(0) invert(.15);
}
.site-header.is-scrolled .site-nav a{color:var(--ink)}

/* Diamond-Pill im Header immer mit Gold-Kontrast */
.site-header .btn-gold{
  color:var(--gold-light);
  border-color:var(--gold-light);
}
.site-header.is-scrolled .btn-gold{
  color:var(--gold-2);
  border-color:var(--gold-2);
}


/* Mobile Burger */
.site-nav__toggle{
  display:none;
  width:36px;height:32px;
  flex-direction:column;justify-content:center;gap:5px;
  background:transparent;border:none;
  cursor:pointer;
}
.site-nav__toggle span{
  display:block;
  width:22px;height:1.5px;
  background:#fff;
  transition:transform .35s ease, opacity .3s ease, background .3s ease;
  margin:0 auto;
}
.site-header.is-scrolled .site-nav__toggle span{background:var(--ink)}
.site-header.is-open .site-nav__toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.site-header.is-open .site-nav__toggle span:nth-child(2){opacity:0}
.site-header.is-open .site-nav__toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile-Menu Drawer */
.site-nav-mobile{
  display:none;
  flex-direction:column;
  gap:0;
  padding:20px 24px 30px;
  background:rgba(251,246,239,.98);
  backdrop-filter:blur(14px);
  border-top:1px solid rgba(184,144,90,.15);
  box-shadow:0 12px 30px rgba(58,38,24,.10);
}
.site-nav-mobile a{
  padding:16px 0;
  border-bottom:1px solid rgba(184,144,90,.14);
  font-family:var(--sans);
  font-size:12px;font-weight:500;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--ink);
}
.site-nav-mobile a:last-child{
  margin-top:14px;
  border:1px solid var(--gold-2);
  padding:14px 22px;
  align-self:flex-start;
}
.site-header.is-open .site-nav-mobile{display:flex}

@media (max-width:900px){
  .site-nav,
  .site-header__cta{display:none}
  .site-nav__toggle{display:flex}
}

/* ================================================================
   JEWELRY HERO
   ================================================================ */
.jewelry-hero{
  position:relative;
  width:100%;
  min-height:100svh;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  background:var(--dark-3);
  isolation:isolate;
}

/* Background image */
.hero-background{
  position:absolute;inset:0;z-index:-5;overflow:hidden;
}
.hero-background img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 58%;
  transform:scale(1.08);
  filter:brightness(.68) contrast(1.06) saturate(.86);
  animation:heroImageIntro 3s var(--ease) forwards;
}
@keyframes heroImageIntro{
  0%{transform:scale(1.14)}
  100%{transform:scale(1.08)}
}

/* Overlay */
.hero-overlay{
  position:absolute;inset:0;z-index:-4;
  background:
    radial-gradient(circle at 50% 52%,
      rgba(0,0,0,.18),
      rgba(0,0,0,.42) 55%,
      rgba(0,0,0,.70) 100%),
    linear-gradient(180deg,
      rgba(4,3,2,.38) 0%,
      rgba(4,3,2,.22) 35%,
      rgba(4,3,2,.48) 72%,
      rgba(4,3,2,.80) 100%);
}

/* Vignette */
.hero-vignette{
  position:absolute;inset:0;z-index:-3;
  pointer-events:none;
  box-shadow:inset 0 0 180px rgba(0,0,0,.38);
}

/* Warmer Gold-Lichtspot */
.hero-light{
  position:absolute;z-index:-2;
  width:780px;height:780px;
  left:50%;top:52%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(184,144,90,.15),
    transparent 66%);
  filter:blur(30px);
  pointer-events:none;
}

/* Content */
.hero-content{
  position:relative;z-index:5;
  width:min(92%,1100px);
  margin:auto;
  padding:90px 0 150px;
  text-align:center;
}

/* Split-Variante: Content links, Motiv rechts frei */
.jewelry-hero--split{
  justify-content:flex-start;
}
.jewelry-hero--split .hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.78) 0%,
      rgba(0,0,0,.62) 30%,
      rgba(0,0,0,.32) 55%,
      rgba(0,0,0,.10) 80%,
      rgba(0,0,0,0) 100%),
    linear-gradient(180deg,
      rgba(4,3,2,.38) 0%,
      rgba(4,3,2,.22) 40%,
      rgba(4,3,2,.55) 85%,
      rgba(4,3,2,.82) 100%);
}
.jewelry-hero--split .hero-content{
  width:min(92%,640px);
  margin:0;
  padding-left:clamp(28px,6vw,110px);
  padding-right:clamp(20px,3vw,40px);
  text-align:left;
}
.jewelry-hero--split .hero-title,
.jewelry-hero--split .hero-lead,
.jewelry-hero--split .hero-eyebrow{
  text-shadow:0 2px 18px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.4);
}
.jewelry-hero--split .hero-lead{
  color:#f5efe6;
}
.jewelry-hero--split .hero-eyebrow{
  justify-content:flex-start;
}
.jewelry-hero--split .hero-title,
.jewelry-hero--split .hero-title-line,
.jewelry-hero--split .hero-title-accent{
  text-align:left;
}
.jewelry-hero--split .hero-title{
  font-size:clamp(38px,3.6vw,62px);
  line-height:1.02;
  max-width:520px;
}
.jewelry-hero--split .hero-lead{
  font-size:clamp(15px,1.05vw,17px);
  max-width:480px;
}
.jewelry-hero--split .hero-lead,
.jewelry-hero--split .hero-intro{
  margin-left:0;
}
.jewelry-hero--split .hero-actions{
  justify-content:flex-start;
}
.jewelry-hero--split .hero-background img{
  object-position:68% center;
}
@media (max-width: 900px){
  .jewelry-hero--split{justify-content:center}
  .jewelry-hero--split .hero-content{
    width:min(92%,640px);
    margin:0 auto;
    padding-left:0;padding-right:0;
    text-align:center;
  }
  .jewelry-hero--split .hero-eyebrow,
  .jewelry-hero--split .hero-actions{
    justify-content:center;
  }
  .jewelry-hero--split .hero-title,
  .jewelry-hero--split .hero-title-line,
  .jewelry-hero--split .hero-title-accent{
    text-align:center;
  }
  .jewelry-hero--split .hero-background img{
    object-position:75% center;
  }
}

/* Eyebrow */
.hero-eyebrow{
  display:flex;align-items:center;justify-content:center;
  gap:13px;
  margin-bottom:28px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.20em;
  color:rgba(255,255,255,.62);
  opacity:0;filter:blur(12px);transform:translateY(16px);
  animation:heroReveal .95s .10s var(--ease) forwards;
}
.hero-eyebrow::before,
.hero-eyebrow::after{
  content:"";width:32px;height:1px;
  background:rgba(184,144,90,.6);
}

/* Section-Eyebrow (analog zum Hero-Eyebrow, für helle Sections) */
.section-eyebrow{
  display:flex;align-items:center;justify-content:center;
  gap:13px;
  margin:0 auto 26px;
  font-family:var(--sans);
  font-size:11px;font-weight:500;
  text-transform:uppercase;
  letter-spacing:.28em;
  color:var(--gold);
  text-align:center;
}
.section-eyebrow::before,
.section-eyebrow::after{
  content:"";width:38px;height:1px;
  background:var(--gold);
  opacity:.55;
}
.section-eyebrow--light{
  color:rgba(255,255,255,.72);
}
.section-eyebrow--light::before,
.section-eyebrow--light::after{
  background:rgba(184,144,90,.7);
  opacity:.85;
}

/* Vereinheitlichung: alle bestehenden Kicker-Klassen auf Section-Eyebrow-Look */
.emotion-kicker,
.welcome-kicker,
.services-kicker,
.craft-kicker,
.ring-promise-kicker,
.store-story__eyebrow,
.reviews-kicker{
  display:flex !important;align-items:center;justify-content:center;
  gap:13px;
  margin:0 auto 26px !important;
  padding:0 !important;
  font-family:var(--sans);
  font-size:11px !important;font-weight:500;
  text-transform:uppercase;
  letter-spacing:.28em !important;
  color:var(--gold) !important;
  background:transparent !important;
  border:0 !important;
  text-align:center;
  width:auto;
}
.emotion-kicker::before,
.emotion-kicker::after,
.welcome-kicker::before,
.welcome-kicker::after,
.services-kicker::before,
.services-kicker::after,
.craft-kicker::before,
.craft-kicker::after,
.ring-promise-kicker::before,
.ring-promise-kicker::after,
.store-story__eyebrow::before,
.store-story__eyebrow::after,
.reviews-kicker::before,
.reviews-kicker::after{
  content:"" !important;
  display:block !important;
  width:38px !important;height:1px !important;
  background:var(--gold) !important;
  opacity:.55 !important;
  margin:0 !important;
}
.emotion-kicker span,
.welcome-kicker span,
.services-kicker span,
.craft-kicker span,
.ring-promise-kicker span,
.store-story__eyebrow span,
.reviews-kicker span{
  display:none !important;
}

/* Headline */
.hero-title{
  margin:0 auto;
  max-width:980px;
  font-family:var(--display);
  font-size:clamp(50px,6.6vw,104px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.045em;
  text-align:center;
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.35);
}
.hero-title-line{
  display:block;
  opacity:0;filter:blur(26px);transform:translateY(55px);
  animation:headlineReveal 1.25s .22s var(--ease) forwards;
}
.hero-title-accent{
  display:block;
  margin-top:10px;
  font-family:var(--accent);
  font-weight:500;font-style:italic;
  letter-spacing:-.03em;
  color:var(--gold-light);
  opacity:0;filter:blur(26px);transform:translateY(60px);
  animation:headlineReveal 1.35s .38s var(--ease) forwards;
}
@keyframes headlineReveal{
  0%{opacity:0;filter:blur(26px);transform:translateY(55px)}
  55%{opacity:1}
  100%{opacity:1;filter:blur(0);transform:none}
}

/* Lead */
.hero-lead{
  max-width:700px;
  margin:34px auto 0;
  font-family:var(--sans);
  font-size:clamp(15px,1.25vw,19px);
  line-height:1.72;
  color:#ece5d8;
  text-shadow:0 1px 10px rgba(0,0,0,.5);
  opacity:0;filter:blur(12px);transform:translateY(22px);
  animation:heroReveal 1s .70s var(--ease) forwards;
}
.hero-lead strong{color:#fff;font-weight:500}

/* Buttons – „edel & fein" */
.hero-actions{
  margin-top:46px;
  display:flex;justify-content:center;align-items:center;
  flex-wrap:wrap;gap:22px;
  opacity:0;filter:blur(9px);transform:translateY(20px);
  animation:heroReveal 1s .88s var(--ease) forwards;
}

/* =========================================================
   DIAMOND-GLOW-BUTTON (Primary CTA – seitenweit)
   Gold-Pill mit sanftem Glow-Ring und Diamant-Blitz auf Hover
========================================================= */
.hero-primary,
.btn-gold{
  position:relative;
  display:inline-flex;
  align-items:center;justify-content:center;
  padding:20px 50px;
  background:transparent;
  color:var(--gold-light);
  border:1px solid var(--gold-light);
  border-radius:50px;
  font-family:var(--serif);
  font-size:14px;
  font-weight:500;
  letter-spacing:.32em;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  transition:all .55s cubic-bezier(.23,1,.32,1);
  box-shadow:0 0 15px rgba(227,194,140,.20);
}
/* alten Fill-Layer aus vorherigem Design deaktivieren */
.hero-primary::before,
.btn-gold::before{display:none}


/* Diamant-Blitz: heller Schweif wandert diagonal durch den Button */
.hero-primary::after,
.btn-gold::after{
  content:"";
  position:absolute;
  top:-50%;left:-150%;
  width:200%;height:200%;
  background:radial-gradient(
    circle,
    rgba(255,255,255,.55) 0%,
    transparent 60%);
  transform:rotate(35deg);
  transition:.9s cubic-bezier(.23,1,.32,1);
  pointer-events:none;
  z-index:0;
}


.hero-primary > *,
.btn-gold > *{position:relative;z-index:1}

/* Kleine Variante des Diamond-Glow-Pill */
.btn-gold.btn-sm,
.hero-primary.btn-sm{
  padding:14px 34px;
  font-size:11px;
  letter-spacing:.26em;
}

/* dunkler Kontext (Hero, Solution, Final-CTA): Text auf Weiß, Hover-Text auf Dunkel */
.jewelry-hero .hero-primary,
.s-solution .btn-gold,
.s-final .btn-gold{color:#fff}


/* helle Sections: Text in kräftigem Gold statt Gold-Light */
.s-trauringe .btn-gold,
.story-luxury-section .btn-gold,
.services-premium .btn-gold,
.craft-section .btn-gold,
.ring-promise-section .btn-gold,
.reviews-luxury-section .btn-gold,
.faq-luxury-section .btn-gold,
.contact-final .btn-gold,
.store-story .btn-gold{color:var(--gold-2);border-color:var(--gold-2)}


/* Secondary: nur Text + haarfeine Linie, die auf Hover „durchbricht" */
.hero-secondary{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:14px;
  height:60px;
  min-width:0;
  padding:0 4px;
  background:transparent;
  border:none;
  color:rgba(248,245,239,.82);
  font-family:var(--sans);
  font-size:10.5px;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  transition:color .35s ease;
}
.hero-secondary::after{
  content:"";
  position:absolute;
  left:4px;right:4px;bottom:16px;
  height:1px;
  background:rgba(255,255,255,.32);
  transform-origin:right center;
  transition:background .35s ease;
}


@keyframes lineSwap{
  0%  {transform:scaleX(1);transform-origin:right center}
  49% {transform:scaleX(0);transform-origin:right center}
  50% {transform:scaleX(0);transform-origin:left center}
  100%{transform:scaleX(1);transform-origin:left center}
}
.hero-secondary svg{
  width:13px;stroke-width:1.4;
  transition:transform .5s var(--ease);
}


/* Trust im Hero */
.hero-trust{
  position:absolute;z-index:8;
  left:50%;bottom:30px;
  transform:translateX(-50%);
  width:min(92%,1050px);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:22px;
  opacity:0;
  animation:trustReveal 1s 1.1s var(--ease) forwards;
}
@keyframes trustReveal{
  from{opacity:0;transform:translate(-50%,15px)}
  to{opacity:1;transform:translate(-50%,0)}
}
.trust-item{
  position:relative;text-align:center;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.13em;
  color:rgba(255,255,255,.82);
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}
.trust-item strong{color:#fff;font-weight:600}
.trust-item:not(:last-child)::after{
  content:"";position:absolute;
  right:0;top:50%;
  width:3px;height:3px;
  transform:translateY(-50%);
  border-radius:50%;
  background:rgba(184,144,90,.7);
}

/* Scroll-Indikator */
.hero-scroll{
  position:absolute;z-index:9;
  left:50%;bottom:90px;
  transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;
  gap:9px;opacity:.45;
}
.hero-scroll span{
  font-family:var(--sans);
  font-size:8px;
  text-transform:uppercase;letter-spacing:.16em;
  color:#fff;
}
.hero-scroll-line{
  width:1px;height:42px;overflow:hidden;
  background:rgba(255,255,255,.14);
}
.hero-scroll-line::after{
  content:"";display:block;
  width:1px;height:16px;
  background:var(--gold);
  animation:scrollMove 1.8s ease-in-out infinite;
}
@keyframes scrollMove{
  0%{transform:translateY(-16px)}
  100%{transform:translateY(45px)}
}

@keyframes heroReveal{
  from{opacity:0;filter:blur(12px);transform:translateY(22px)}
  to{opacity:1;filter:blur(0);transform:none}
}

/* ================================================================
   SECTIONS – BASIS
   ================================================================ */
section{padding:110px 0;position:relative}
section.tight{padding:90px 0}
.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}
.grid-2 .img-block{
  aspect-ratio:4/5;
  background:#d9d3c8 center/cover no-repeat;
  border-radius:2px;
}

/* ================================================================
   S2 · MOMENT (Editorial-Layout)
   ================================================================ */
.story-luxury-section{
  position:relative;
  width:100%;
  padding:clamp(120px,10vw,190px) 0 clamp(130px,11vw,200px);
  overflow:hidden;
  background:
    radial-gradient(circle at 75% 15%, rgba(255,255,255,.42), transparent 30%),
    linear-gradient(180deg, #f8ebe6, var(--rose));
  color:var(--ink);
}
.story-luxury-section::before{
  content:"";
  position:absolute;
  left:6%;right:6%;top:50%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(184,144,90,.20), transparent);
  pointer-events:none;
}

.story-luxury-inner{
  position:relative;
  width:min(90%,1540px);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(420px,.72fr) minmax(540px,1fr);
  gap:clamp(40px,5vw,90px);
  align-items:center;
}

/* --- Visual ---------------------------------------------------- */
.story-visual{
  position:relative;
  min-height:clamp(500px,46vw,640px);
  max-width:520px;
}
.story-image{
  position:absolute;
  left:0;bottom:0;
  width:min(92%,500px);height:88%;
  overflow:hidden;
  border-radius:2px 2px 100px 2px;
  background:#1c1815;
  box-shadow:0 42px 110px rgba(58,38,24,.14);
  z-index:2;
  cursor:pointer;
}
.story-image img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  transform:scale(1.02);
  filter:saturate(.85) contrast(1.04) brightness(.9);
  transition:transform 1.6s var(--ease), filter .9s ease;
  will-change:transform;
}

.story-image-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(10,8,6,.03),
    transparent 48%,
    rgba(10,8,6,.72) 100%);
  pointer-events:none;
}
.story-image-outline{
  position:absolute;
  top:4%;right:0;
  width:85%;height:86%;
  border:1px solid rgba(184,144,90,.48);
  border-radius:2px 2px 90px 2px;
  z-index:1;
}
.story-image-outline::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(184,144,90,.22);
  border-radius:2px 2px 78px 2px;
  pointer-events:none;
}
.story-image-index{
  position:absolute;
  left:28px;top:28px;
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(12px);
  color:#51483e;
  font-family:var(--sans);
  font-size:9.5px;letter-spacing:.12em;
  z-index:3;
}
.story-image-copy{
  position:absolute;
  left:32px;right:32px;bottom:30px;
  color:#fff;
  z-index:3;
}
.story-image-copy span{
  display:block;
  margin-bottom:6px;
  font-family:var(--sans);
  font-size:8.5px;
  text-transform:uppercase;letter-spacing:.18em;
  color:rgba(255,255,255,.55);
}
.story-image-copy strong{
  display:block;
  font-family:var(--serif);
  font-size:clamp(19px,1.6vw,24px);
  font-style:italic;font-weight:500;
  color:rgba(255,255,255,.9);
}

/* --- Content --------------------------------------------------- */
.story-content{
  position:relative;
  z-index:4;
  max-width:720px;
  margin-left:clamp(-90px,-5vw,-35px);
}

.story-kicker{
  display:flex;align-items:center;justify-content:center;gap:13px;
  margin-bottom:27px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);
}
.story-kicker span{
  width:34px;height:1px;background:var(--gold);
}

/* Headline zentriert */
.story-title{
  margin:0 auto;
  max-width:820px;
  font-family:var(--accent);
  font-weight:500;
  line-height:.92;
  letter-spacing:-.045em;
  text-align:center;
}
.story-title-main{
  display:block;
  font-size:clamp(42px,4.8vw,74px);
  color:var(--ink);
}
.story-title-accent{
  display:block;
  margin-top:8px;
  font-size:clamp(42px,4.8vw,74px);
  font-style:italic;
  color:var(--gold);
}

.story-text{
  max-width:610px;
  margin:42px 0 0 clamp(55px,5vw,100px);
}
.story-text p{
  margin:0;
  font-family:var(--sans);
  font-size:clamp(15px,1.15vw,17px);
  line-height:1.8;
  color:var(--muted);
}
.story-text p + p{margin-top:20px}
.story-text strong{color:var(--ink);font-weight:500}

/* --- Value-Cards (klein, edel) --------------------------------- */
.story-values{
  max-width:610px;
  margin:44px 0 0 clamp(55px,5vw,100px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.story-value{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 20px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(184,144,90,.20);
  border-radius:2px;
  backdrop-filter:blur(6px);
  transition:transform .5s var(--ease),
             background .4s ease,
             border-color .4s ease,
             box-shadow .5s var(--ease);
}

.story-value-icon{
  width:42px;height:42px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(184,144,90,.12);
  color:var(--gold);
  transition:background .4s ease, color .4s ease;
}

.story-value-icon svg{width:16px;stroke-width:1.4}
.story-value small{
  display:block;
  margin-bottom:3px;
  font-family:var(--sans);
  font-size:8.5px;
  text-transform:uppercase;letter-spacing:.16em;
  color:#9a8b80;
}
.story-value strong{
  display:block;
  font-family:var(--sans);
  font-size:12px;font-weight:500;
  color:var(--ink);
  letter-spacing:.005em;
}

/* --- Link/CTA -------------------------------------------------- */
.story-link{
  margin:34px 0 0 clamp(55px,5vw,100px);
  display:inline-flex;align-items:center;
  gap:15px;
  color:var(--ink);
  text-decoration:none;
}
.story-link-text{
  font-family:var(--sans);
  font-size:10.5px;
  text-transform:uppercase;letter-spacing:.22em;
  font-weight:500;
}
.story-link-arrow{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  transition:transform .5s var(--ease), background .4s ease;
}

.story-link-arrow svg{width:15px;stroke-width:1.5}

/* --- Reveal-Animationen --------------------------------------- */
.reveal-visual{
  opacity:0;
  transform:translateY(50px) scale(.975);
  transition:opacity 1s var(--ease), transform 1s var(--ease);
}
.reveal-copy{
  opacity:0;filter:blur(11px);
  transform:translateY(20px);
  transition:opacity .9s var(--ease), filter .9s var(--ease), transform .9s var(--ease);
}
.reveal-title{
  display:block;
  opacity:0;filter:blur(20px);
  transform:translateY(36px);
  transition:opacity 1s var(--ease), filter 1s var(--ease), transform 1s var(--ease);
}
.visible{opacity:1 !important;filter:blur(0) !important;transform:none !important}
.delay-1{transition-delay:.10s}
.delay-2{transition-delay:.20s}
.delay-3{transition-delay:.30s}
.delay-4{transition-delay:.38s}

@media (max-width:1100px){
  .story-luxury-inner{grid-template-columns:minmax(0,1fr);gap:60px}
  .story-visual{min-height:720px;max-width:800px}
  .story-content{margin-left:0;max-width:800px}
  .story-text,.story-values,.story-link{margin-left:0}
}
@media (max-width:700px){
  .story-luxury-section{padding:90px 0 105px}
  .story-luxury-inner{width:calc(100% - 28px)}
  .story-visual{min-height:520px}
  .story-image{width:95%;height:94%;border-radius:2px 2px 55px 2px}
  .story-image-outline{width:90%;height:90%}
  .story-values{grid-template-columns:minmax(0,1fr);gap:12px}
}

/* ================================================================
   S2.5 · PAIN (Editorial: Bild-links-Full-Height + Quote-Float + Cards-rechts)
   ================================================================ */
.emotion-section{
  position:relative;
  width:100%;
  padding:clamp(100px,9vw,160px) 0 clamp(80px,7vw,120px);
  /* overflow:clip statt hidden — clip bricht Sticky-Verhalten nicht */
  overflow:clip;
  background:
    radial-gradient(circle at 90% 8%, rgba(255,255,255,.6), transparent 40%),
    linear-gradient(180deg, var(--creme-white), #f5ebe3);
  color:var(--ink);
}
.emotion-inner{
  position:relative;
  z-index:2;
  width:min(94%,1560px);
  margin:auto;
}

/* Header — zentriert */
.emotion-head{
  max-width:820px;
  margin:0 auto clamp(60px,6vw,90px);
  text-align:center;
}
.emotion-head .emotion-title,
.emotion-head .emotion-intro{margin-left:auto;margin-right:auto}
.emotion-head .emotion-intro{max-width:680px}
.emotion-kicker{
  display:inline-flex;align-items:center;
  gap:12px;
  margin-bottom:22px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);
}
.emotion-kicker::before{
  content:"";width:32px;height:1px;background:rgba(184,144,90,.5);
}
.emotion-kicker::after{display:none}
.emotion-title{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(42px,4.8vw,74px);
  font-weight:500;
  line-height:.96;
  letter-spacing:-.045em;
}
.emotion-title span{display:block}
.emotion-title-accent{
  margin-top:7px;
  font-style:italic;
  color:var(--gold);
}
.emotion-intro{
  max-width:100%;margin:28px 0 0;
  font-family:var(--serif);
  font-size:clamp(17px,1.4vw,21px);
  font-style:italic;
  line-height:1.7;
  color:var(--muted);
}
.emotion-intro strong{color:var(--ink);font-weight:500}

/* --- Content zentriert: Header + Cards --------------------- */
.emotion-content{
  position:relative;
  z-index:2;
  max-width:1000px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(40px,4vw,68px);
}
/* Snippets — vertikaler Editorial-Rhythmus (siehe .emotion-quotes unten) */

/* --- Bild als volle Section-Breite, faded von rechts (opak) nach links --- */
.emotion-visual-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.emotion-visual-bg img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:70% center;
  filter:saturate(.9) contrast(1.02) brightness(1);
  opacity:.42;
  /* Klarer horizontaler Fade: opak rechts, komplett transparent links */
  mask-image:linear-gradient(90deg,
    transparent 0%,
    transparent 25%,
    rgba(0,0,0,.15) 40%,
    rgba(0,0,0,.5) 60%,
    rgba(0,0,0,.85) 80%,
    #000 100%);
  -webkit-mask-image:linear-gradient(90deg,
    transparent 0%,
    transparent 25%,
    rgba(0,0,0,.15) 40%,
    rgba(0,0,0,.5) 60%,
    rgba(0,0,0,.85) 80%,
    #000 100%);
}

/* Museumskatalog-Marker entfernt – renderte durch Encoding als Kauderwelsch */
.emotion-visual-bg::before{display:none}
/* Caption oben rechts unter dem Marker – im opaken Bildbereich */
.emotion-image-caption{
  position:absolute;
  right:32px;top:72px;
  display:flex;align-items:center;gap:14px;
  color:#fff;z-index:3;
  max-width:60%;
}
.emotion-image-caption span{
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.30);
  backdrop-filter:blur(10px);
  font-family:var(--sans);
  font-size:9.5px;letter-spacing:.1em;
}
.emotion-image-caption p{
  margin:0;
  font-family:var(--serif);
  font-size:15px;font-style:italic;
  color:rgba(255,255,255,.88);
}

/* --- Emotionales Zitat — LINKS-BÜNDIG (alleiniger Pull-Out) ------ */
.emotion-quote-floating{
  position:relative;
  z-index:2;
  max-width:min(52%,620px);
  margin:clamp(60px,6vw,100px) 0 0;
  padding:40px 0 0 clamp(28px,2.6vw,44px);
  text-align:left;
  color:var(--ink);
  opacity:0;
  transform:translateY(20px);
  transition:opacity 1.2s var(--ease), transform 1.2s var(--ease);
}
/* Haarfeine goldene Vertikallinie links als Anker */
.emotion-quote-floating::before{
  content:"";
  position:absolute;
  left:0;top:52px;bottom:20px;
  width:1px;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(184,144,90,.55) 15%,
    rgba(184,144,90,.55) 85%,
    transparent 100%);
}
.emotion-quote-floating.visible{
  opacity:1;
  transform:translateY(0);
}
/* Großes goldenes Anführungszeichen als Ornament */
.emotion-quote-mark{
  display:block;
  font-family:Georgia,serif;
  font-size:96px;
  line-height:.5;
  color:rgba(184,144,90,.4);
  margin:0 0 4px -2px;
}
.emotion-quote-floating > p{
  margin:0;
  max-width:100%;
  font-family:var(--accent);
  font-size:clamp(24px,2.4vw,38px);
  line-height:1.2;
  font-style:italic;
  color:var(--ink);
  letter-spacing:-.01em;
}
/* Trenner: kurze goldene Haarlinie zwischen Zitat und Nachsatz */
.emotion-quote-floating > span{
  display:block;
  margin:30px 0 0;
  padding-top:22px;
  max-width:480px;
  font-family:var(--sans);
  font-size:13.5px;
  line-height:1.75;
  color:var(--muted);
  position:relative;
}
.emotion-quote-floating > span::before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:42px;height:1px;
  background:rgba(184,144,90,.55);
}

/* Emotion-End rutscht ebenfalls in die linke Spalte, spannt aber schmaler */
.emotion-end{
  max-width:min(46%,640px);
  margin:clamp(40px,4vw,60px) 0 0;
  text-align:left;
  padding-top:0;
}

/* --- Basis-Card-Look (Editorial, kein Notizzettel) ------------ */
.emotion-card{
  position:relative;
  transition:transform .6s var(--ease),
             box-shadow .6s var(--ease),
             border-color .5s ease,
             background .5s ease;
}

/* (Alte Square-Image-Regeln entfernt – Bild ist jetzt full-height links) */

/* --- Snippets — STACKY CARDS (sticky-stack) ------------------- */
.emotion-quotes{
  display:flex;flex-direction:column;
  gap:clamp(70px,6vw,110px); /* Scroll-Runway zwischen den Cards */
  max-width:720px;
  margin:0 auto;
  padding:0 0 clamp(60px,6vw,100px);
}

.emotion-snippet{
  position:sticky;
  display:grid;
  grid-template-columns:60px minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding:clamp(30px,3vw,42px) clamp(32px,3.2vw,46px);
  background:#ffffff;
  border:1px solid rgba(184,144,90,.28);
  border-radius:22px;
  box-shadow:
    0 40px 80px -25px rgba(58,38,24,.30),
    0 18px 32px -14px rgba(58,38,24,.15),
    0 0 0 1px rgba(255,255,255,.6) inset;
  text-align:left;
  transition:box-shadow .5s ease, transform .5s ease;
  overflow:visible;
}

/* Sticky-Stack: jede Card bleibt bei einem eigenen Top-Offset kleben,
   so dass die darunter liegenden Cards oben rausschauen */
.emotion-snippet:nth-child(1){top:clamp(90px,11vh,130px);z-index:1}
.emotion-snippet:nth-child(2){top:calc(clamp(90px,11vh,130px) + 22px);z-index:2}
.emotion-snippet:nth-child(3){top:calc(clamp(90px,11vh,130px) + 44px);z-index:3}
.emotion-snippet:nth-child(4){top:calc(clamp(90px,11vh,130px) + 66px);z-index:4}

/* Alte hover-Regeln neutralisieren */

.emotion-snippet::before,
.emotion-snippet::after{display:none}

/* Icon-Kachel links (ersetzt die Nummer) */
.snippet-number{
  display:grid;
  place-items:center;
  width:52px;height:52px;
  border-radius:14px;
  background:rgba(184,144,90,.12);
  color:var(--gold);
  margin:0;
  transition:background .35s ease, color .35s ease, transform .45s var(--ease);
}
.snippet-number svg{
  width:22px;height:22px;
  stroke-width:1.4;
}


/* Container um Zitat + Nachsatz */
.emotion-snippet > div{
  max-width:100%;
  margin:0;
}

/* Zitat */
.emotion-snippet p{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(19px,1.75vw,25px);
  line-height:1.35;
  font-style:italic;
  color:var(--ink);
  letter-spacing:-.005em;
}

/* Nachsatz mit feiner Gold-Trennlinie darüber */
.emotion-snippet small{
  display:block;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(184,144,90,.24);
  font-family:var(--sans);
  font-size:12.5px;line-height:1.7;
  color:var(--muted);
  font-style:normal;
  max-width:none;
  position:relative;
}
.emotion-snippet small::before{display:none}

/* --- Schlussstatement — zurück in die Mitte ------ */
.emotion-end{
  position:relative;
  z-index:2;
  max-width:720px;
  margin:clamp(60px,6vw,100px) auto 0;
  padding-top:32px;
  text-align:center;
}
/* Feiner Doppel-Punkt oben als Trenner */
.emotion-end::before{
  content:"·  ·  ·";
  display:block;
  margin-bottom:20px;
  font-size:14px;
  letter-spacing:.6em;
  color:rgba(184,144,90,.55);
}
.emotion-end::after{display:none}
.emotion-end > span{
  font-size:10px;letter-spacing:.22em;
}
.emotion-end strong{
  font-size:clamp(22px,2vw,32px);
  margin-top:10px;
}
.emotion-end em{font-style:italic}
.emotion-end span{
  display:block;
  font-family:var(--sans);
  font-size:12px;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--muted);
}
.emotion-end strong{
  display:block;margin-top:12px;
  font-family:var(--accent);
  font-size:clamp(26px,2.4vw,40px);
  font-weight:500;color:var(--ink);
}
.emotion-end em{
  display:block;margin-top:8px;
  font-family:var(--accent);
  font-size:clamp(24px,2.3vw,38px);
  color:var(--gold);
}

/* --- Slide-Ins ------------------------------------------------ */
.slide-in-left{
  opacity:0;
  transform:translateX(-50px);
  transition:opacity 1s var(--ease), transform 1s var(--ease);
}
.slide-in-right{
  opacity:0;
  transform:translateX(50px);
  transition:opacity 1s var(--ease), transform 1s var(--ease);
}
.slide-in-left.visible,
.slide-in-right.visible{
  opacity:1;
  transform:translateX(0);
}

/* --- Responsive ----------------------------------------------- */
@media (max-width:1100px){
  .emotion-content{max-width:100%}
  .emotion-content .emotion-quotes{grid-template-columns:minmax(0,1fr);max-width:520px}
  .emotion-quote-floating{max-width:min(72%,560px)}
  /* Bild bleibt Full-Section-Background auch auf Tablet */
  .emotion-visual-bg{
    position:absolute;
    inset:0;
    width:auto;
    min-height:0;
    margin-top:0;
  }
  .emotion-visual-bg img{opacity:.30}
}
@media (max-width:700px){
  .emotion-section{padding:80px 0 100px}
  .emotion-inner{width:calc(100% - 28px)}
  .emotion-visual-bg{min-height:420px}
  .emotion-snippet{grid-template-columns:38px minmax(0,1fr);padding:22px 20px 22px 18px}
  .slide-in-left,.slide-in-right{transform:translateY(30px)}
  .slide-in-left.visible,.slide-in-right.visible{transform:translateY(0)}
}

/* ================================================================
   S2.6 · SOLUTION (Welcome — 3 Cards mit Bild-Fade, Icon, Label)
   ================================================================ */
.welcome-section{
  position:relative;
  width:100%;
  padding:clamp(120px,10vw,180px) 0 clamp(125px,11vw,190px);
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,255,255,.72), transparent 30%),
    radial-gradient(circle at 90% 30%, rgba(255,255,255,.30), transparent 28%),
    linear-gradient(180deg, #f8ebe7, var(--rose));
  color:var(--ink);
}
.welcome-inner{
  width:min(90%,1480px);
  margin:auto;
}

/* Header */
.welcome-head{
  max-width:960px;
  margin:0 auto clamp(48px,5vw,80px);
  text-align:center;
}
.welcome-kicker{
  display:flex;justify-content:center;align-items:center;
  gap:13px;
  margin-bottom:25px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);
}
.welcome-kicker span{
  width:34px;height:1px;background:rgba(184,144,90,.5);
}
.welcome-title{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(42px,4.8vw,74px);
  line-height:1;letter-spacing:-.04em;
  font-weight:500;
}
.title-line{display:block}
.welcome-title em{color:var(--gold);font-style:italic}

.welcome-intro{
  max-width:800px;margin:32px auto 0;
  font-family:var(--sans);
  font-size:clamp(15px,1.2vw,17px);
  line-height:1.75;
  color:var(--muted);
}
.welcome-question{
  margin:26px auto 0;
  max-width:700px;
  font-family:var(--accent);
  font-size:clamp(20px,2vw,30px);
  font-style:italic;
  line-height:1.45;
  color:var(--ink);
}

/* Cards Grid */
.welcome-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,1.5vw,22px);
}

/* Card */
.welcome-card{
  position:relative;
  min-height:460px;
  overflow:hidden;
  border-radius:28px;
  background:rgba(255,247,244,.90);
  border:1px solid rgba(184,144,90,.14);
  isolation:isolate;
  box-shadow:0 20px 55px rgba(75,48,38,.06);
  transition:transform .6s var(--ease),
             box-shadow .6s var(--ease),
             border-color .4s ease;
}


/* Card-Image im Hintergrund, faded von links */
.card-image{
  position:absolute;
  right:0;top:0;bottom:0;
  width:100%;
  z-index:-3;
  overflow:hidden;
}
.card-image img{
  width:100%;height:100%;
  object-fit:cover;
  transform:scale(1.05);
  filter:saturate(.78) contrast(1.02) brightness(.92);
  transition:transform 1.2s var(--ease), filter .8s ease;
  will-change:transform;
}

/* Papierfarbener Fade von links über das Bild — nur hinter dem Text, kurz & minimal */
.card-image::before{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(90deg,
    #fff7f4 0%,
    #fff7f4 38%,
    rgba(255,247,244,.40) 50%,
    transparent 62%);
}
.card-image::after{
  content:"";position:absolute;inset:0;z-index:3;
  background:linear-gradient(180deg,
    rgba(255,247,244,.05),
    transparent 50%,
    rgba(52,33,25,.12));
}

/* Card-Content */
.card-content{
  position:relative;z-index:4;
  width:70%;height:100%;
  padding:clamp(27px,2.5vw,36px);
  display:flex;flex-direction:column;
  gap:clamp(18px,1.6vw,26px);
}
.card-top{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
}
.card-number{
  font-family:var(--accent);
  font-size:18px;font-style:italic;
  color:rgba(184,144,90,.75);
}
.card-icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:15px;
  background:rgba(184,144,90,.12);
  color:var(--gold);
  transition:transform .45s var(--ease),
             background .35s ease,
             color .35s ease;
}
.card-icon svg{width:18px;stroke-width:1.4}


.card-label{
  display:none;                    /* Chip oberhalb der Headline entfernt */
  margin-top:auto;margin-bottom:10px;
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.18em;
  color:#9f8e86;
}
.card-content h3{
  margin:0;
  min-height:3.15em;              /* alle Card-Titel auf gleicher Höhe */
  font-family:var(--accent);
  font-size:clamp(28px,2.6vw,42px);
  font-weight:500;
  line-height:1.05;letter-spacing:-.04em;
  color:#0a0a0a;
  text-shadow:
    0 0 14px rgba(255,247,244,.85),
    0 0 6px rgba(255,247,244,.9),
    0 1px 2px rgba(255,247,244,.7);
}
.card-content p{
  margin:0;
  font-family:var(--sans);
  font-size:13.5px;line-height:1.7;
  font-weight:500;
  color:#111;
  text-shadow:
    0 0 10px rgba(255,247,244,.9),
    0 0 4px rgba(255,247,244,.95),
    0 1px 2px rgba(255,247,244,.8);
}
.card-foot{
  display:none;                    /* Foot-Chip unter dem Text entfernt */
  align-items:center;gap:8px;
  margin-top:22px;padding-top:17px;
  border-top:1px solid rgba(63,43,35,.10);
  color:var(--gold);
}
.card-foot svg{width:14px;stroke-width:1.4}
.card-foot span{
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.12em;
}

/* End-Statement — ohne Trennlinie, nur Fade */
.welcome-end{
  max-width:900px;
  margin:clamp(80px,8vw,120px) auto 0;
  padding-top:0;
  text-align:center;
}
.welcome-end > span{
  display:block;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.20em;
  color:#a28f85;
}
.welcome-end strong{
  display:block;
  margin-top:12px;
  font-family:var(--accent);
  font-size:clamp(28px,3vw,46px);
  line-height:1.18;
  font-weight:500;
  color:var(--ink);
}
.welcome-end em{
  color:var(--gold);
  font-style:italic;
}

/* Welcome-Reveal-Klasse (nur in dieser Section) */
.welcome-section .reveal{
  opacity:0;
  filter:blur(10px);
  transform:translateY(24px);
  transition:opacity .9s var(--ease),
             filter .9s var(--ease),
             transform .9s var(--ease);
}
.welcome-section .reveal.visible{
  opacity:1;filter:blur(0);transform:none;
}

/* Responsive Cards */
@media (max-width:1050px){
  .welcome-cards{grid-template-columns:minmax(0,1fr)}
  .welcome-card{min-height:440px}
  .card-content{width:62%}
  .card-image{width:52%}
}
@media (max-width:700px){
  .welcome-section{padding:90px 0 110px}
  .welcome-inner{width:calc(100% - 28px)}
  .welcome-card{min-height:620px}
  .card-content{width:100%;padding:24px 20px 240px}
  .card-image{
    left:0;right:0;top:auto;bottom:0;
    width:100%;height:48%;
  }
  .card-image::before{
    /* Mehr Stuetzstellen: der Sprung von .50 auf transparent zeichnete
       sich als Kante ab. Jetzt laeuft der Verlauf ueber die ganze Hoehe. */
    background:linear-gradient(180deg,
      #fff7f4               0%,
      rgba(255,247,244,.97) 10%,
      rgba(255,247,244,.88) 22%,
      rgba(255,247,244,.70) 36%,
      rgba(255,247,244,.46) 52%,
      rgba(255,247,244,.24) 68%,
      rgba(255,247,244,.08) 84%,
      rgba(255,247,244,0)  100%);
  }
}

/* ================================================================
   S3 · SORTIMENT (Services Premium — 3 große Cards, Mitte erhöht)
   ================================================================ */
.services-premium{
  position:relative;
  width:100%;
  padding:clamp(125px,10vw,185px) 0 clamp(130px,11vw,195px);
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.82), transparent 32%),
    radial-gradient(circle at 95% 70%, rgba(255,255,255,.28), transparent 28%),
    linear-gradient(180deg, #f8eae6, var(--rose));
  color:var(--ink);
}
.services-inner{
  width:min(90%,1520px);
  margin:auto;
}

/* Header */
.services-head{
  max-width:980px;
  margin:0 auto clamp(80px,8vw,120px);
  text-align:center;
}
.services-kicker{
  display:flex;align-items:center;justify-content:center;
  gap:13px;
  margin-bottom:25px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);
}
.services-kicker span{display:none} /* Trennlinien entfernt */
.services-title{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(42px,4.8vw,74px);
  font-weight:500;
  line-height:.96;letter-spacing:-.045em;
}
.services-title > span{display:block}
.services-title-accent{
  margin-top:7px;
  font-style:italic;
  color:var(--gold);
}
.services-intro{
  max-width:700px;
  margin:30px auto 0;
  font-family:var(--sans);
  font-size:clamp(15px,1.2vw,17px);
  line-height:1.75;
  color:var(--muted);
}

/* Gallery — Grid mit erhöhter Mitte */
.services-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.4vw,21px);
  align-items:stretch;
}

/* Service-Card */
.service-card{
  position:relative;
  min-height:clamp(600px,47vw,730px);
  overflow:hidden;
  border-radius:30px;
  color:#fff;
  text-decoration:none;
  isolation:isolate;
  box-shadow:0 24px 70px rgba(67,42,30,.08);
  transition:transform .65s var(--ease),
             box-shadow .65s var(--ease);
}
.service-card--featured{transform:translateY(-26px)}



/* Image */
.service-image{
  position:absolute;inset:0;
  z-index:-4;overflow:hidden;
}
.service-image img{
  width:100%;height:100%;
  object-fit:cover;
  transform:scale(1.04);
  filter:saturate(.85) brightness(.78) contrast(1.04);
  transition:transform 1.25s var(--ease), filter .8s ease;
}


/* Shading — kräftiger für bessere Lesbarkeit */
.service-shade{
  position:absolute;inset:0;z-index:-3;
  background:linear-gradient(180deg,
    rgba(13,10,8,.15) 0%,
    rgba(13,10,8,.28) 34%,
    rgba(13,10,8,.55) 56%,
    rgba(13,10,8,.94) 100%);
}

/* Top-Row: Nummer + Icon */
.service-top{
  position:absolute;
  top:24px;left:24px;right:24px;
  z-index:5;
  display:flex;align-items:center;justify-content:space-between;
}
.service-number{
  width:43px;height:43px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(12px);
  color:#2a211b;
  font-family:var(--sans);
  font-size:10px;letter-spacing:.05em;
}
.service-icon{
  width:47px;height:47px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(23,18,14,.35);
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(14px);
  color:#fff;
  transition:transform .5s var(--ease),
             background .4s ease,
             color .4s ease;
}

.service-icon svg{width:18px;stroke-width:1.45}

/* Content */
.service-content{
  position:absolute;
  left:clamp(25px,2.8vw,40px);
  right:clamp(25px,2.8vw,40px);
  bottom:clamp(26px,3vw,40px);
  z-index:5;
  min-height:clamp(220px,20vw,290px);   /* alle Content-Blöcke gleich hoch */
}
.service-eyebrow{
  display:none;                          /* Chip über der Headline entfernt */
  margin-bottom:12px;
  font-family:var(--sans);
  font-size:10px;font-weight:500;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold-light);
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}
.service-content h3{
  margin:0 auto;
  min-height:2.2em;                     /* Headlines starten auf gleicher Höhe */
  max-width:520px;
  font-family:var(--accent);
  font-size:clamp(32px,3vw,50px);
  font-weight:500;
  line-height:1.0;letter-spacing:-.045em;
  color:#fff;
  text-align:center;
  text-shadow:0 2px 20px rgba(0,0,0,.35);
}
.service-content h3 em{
  color:var(--gold-light);
  font-style:italic;
}
.service-content p{
  max-width:500px;
  margin:16px auto 0;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.7;
  color:rgba(255,255,255,.92);
  text-align:center;
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}

/* Meta-Tags */
.service-meta{
  display:none;                          /* Chip-Tags unter dem Text entfernt */
  flex-wrap:wrap;gap:7px;
  margin-top:20px;
}

/* Team-Section: Card-Content zentriert */
#team .service-content{
  text-align:center;
}
#team .service-content h3{
  margin-left:auto;margin-right:auto;
}
#team .service-content p{
  margin-left:auto;margin-right:auto;
}
#team .service-meta{
  justify-content:center;
}
.service-meta span{
  display:flex;align-items:center;gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.08em;
  color:rgba(255,255,255,.75);
}
.service-meta svg{
  width:12px;stroke-width:1.4;
  color:var(--gold-light);
}

/* Card-Link */
.service-link{
  margin-top:24px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
}
.service-link > span:first-child{
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.16em;
  color:#fff;
}
.service-arrow{
  width:42px;height:42px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  transition:transform .5s var(--ease),
             background .35s ease,
             color .35s ease;
}

.service-arrow svg{width:15px;stroke-width:1.5}

/* Bottom-Zeile */
.services-bottom{
  margin-top:clamp(60px,7vw,95px);
  padding-top:30px;
  border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;
  gap:40px;
}
/* Zentrierte Variante (Punkt 13) */
.services-bottom.services-bottom--center{
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:26px;
}
.services-bottom--center .services-bottom-copy > span,
.services-bottom--center .services-bottom-copy strong{text-align:center}
.services-bottom--center .services-bottom-copy strong{max-width:640px;margin:0 auto}
.services-bottom-copy > span{
  display:block;
  margin-bottom:7px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--muted);
}
.services-bottom-copy strong{
  display:block;
  max-width:760px;
  font-family:var(--accent);
  font-size:clamp(26px,2.6vw,42px);
  line-height:1.18;
  font-weight:500;
  color:var(--ink);
}
.services-bottom-copy em{
  color:var(--gold);
  font-style:italic;
}
.services-bottom-cta{
  display:flex;align-items:center;gap:17px;
  flex:0 0 auto;
  text-decoration:none;
  color:var(--ink);
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.16em;
}
.services-bottom-cta > span{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  transition:transform .45s var(--ease),
             background .35s ease;
}

.services-bottom-cta svg{width:15px;stroke-width:1.5}

/* Section-Scoped Reveal */
.services-premium .reveal{
  opacity:0;filter:blur(10px);
  transform:translateY(26px);
  transition:opacity .9s var(--ease),
             filter .9s var(--ease),
             transform .9s var(--ease);
}
.services-premium .reveal.visible{
  opacity:1;filter:blur(0);transform:none;
}

/* Responsive */
@media (max-width:1050px){
  .services-gallery{grid-template-columns:minmax(0,1fr)}
  .service-card,
  .service-card--featured{min-height:600px;transform:none}
  .service-card:hover,
  .service-card--featured:hover{transform:translateY(-8px)}
  .services-bottom{align-items:flex-start;flex-direction:column}
}
@media (max-width:700px){
  .services-premium{padding:90px 0 110px}
  .services-inner{width:calc(100% - 28px)}
  .service-card{min-height:570px;border-radius:23px}
  .service-content h3{font-size:36px}
  .service-content{left:22px;right:22px;bottom:24px}
  .service-meta{display:none}
  .services-bottom-cta{width:100%;justify-content:space-between}
}

/* ================================================================
   S4 · HANDWERK (Craft — Editorial mit Goldrahmen und Detail-Card)
   ================================================================ */
.craft-section{
  position:relative;
  width:100%;
  padding:clamp(125px,10vw,190px) 0 clamp(135px,11vw,205px);
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 12%, rgba(255,255,255,.72), transparent 30%),
    radial-gradient(circle at 10% 85%, rgba(184,144,90,.05), transparent 30%),
    linear-gradient(180deg, #faf7f1, var(--creme-white));
  color:var(--ink);
}
.craft-inner{
  width:min(90%,1540px);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(540px,.86fr) minmax(560px,1fr);
  gap:clamp(70px,8vw,140px);
  align-items:start; /* Punkt 15: Text-Spalte oben-bündig zum Bild */
}

/* --- LEFT: Text-Spalte --------------------------------------- */
.craft-copy{max-width:690px}
/* Kleiner Ausgleich: Headline auf Höhe des Goldrahmen-Anfangs (~0-4%) */
.craft-copy > .craft-title{margin-top:0}
/* Zentrierter CTA (Punkt 18) */
.craft-cta-center{
  display:inline-flex;
  margin-top:38px;
  margin-left:auto;margin-right:auto;
  align-self:center;
}
/* Container für zentrierten Button */
.craft-copy .btn-gold.craft-cta-center{
  display:flex;
  width:fit-content;
}
.craft-kicker{
  display:flex;align-items:center;gap:12px;
  margin-bottom:27px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);
}
.craft-kicker span{
  width:35px;height:1px;background:var(--gold);
}
.craft-title{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(42px,4.8vw,74px);
  font-weight:500;
  line-height:.96;letter-spacing:-.045em;
}
.craft-title-line{display:block}
.craft-title em{font-style:italic;color:var(--gold)}

.craft-intro{max-width:630px;margin-top:38px}
.craft-intro p{
  margin:0;
  font-family:var(--sans);
  font-size:clamp(15px,1.15vw,17px);
  line-height:1.78;
  color:var(--muted);
}
.craft-intro p + p{margin-top:19px}

/* Details-Grid */
.craft-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:42px;
}
.craft-detail{
  min-height:105px;
  padding:17px 16px;
  display:flex;align-items:center;gap:13px;
  border-radius:16px;
  border:1px solid rgba(184,144,90,.14);
  background:rgba(255,250,245,.6);
  transition:transform .45s var(--ease),
             background .35s ease,
             border-color .35s ease;
}

.craft-detail-icon{
  width:43px;height:43px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border-radius:14px;
  background:rgba(184,144,90,.12);
  color:var(--gold);
  transition:transform .4s var(--ease), background .35s ease, color .35s ease;
}

.craft-detail-icon svg{width:17px;stroke-width:1.45}
.craft-detail span{
  display:block;
  margin-bottom:4px;
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--muted);
}
.craft-detail strong{
  display:block;
  font-family:var(--sans);
  font-size:11.5px;line-height:1.45;font-weight:500;
  color:var(--ink);
}

/* CTA-Button (Ink-Round mit Text) */
.craft-cta{
  display:inline-flex;align-items:center;gap:17px;
  margin-top:34px;
  text-decoration:none;
  color:var(--ink);
  font-family:var(--sans);
  font-size:10px;font-weight:500;
  text-transform:uppercase;letter-spacing:.18em;
}
.craft-cta > span{
  width:47px;height:47px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  transition:transform .45s var(--ease), background .35s ease;
}

.craft-cta svg{width:15px;stroke-width:1.5}

/* --- RIGHT: Visual ------------------------------------------ */
.craft-visual{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:clamp(28px,2.6vw,42px);
}

/* Image-Wrap = Bild + Goldrahmen + Material-Chip */
.craft-image-wrap{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  min-height:520px;
}

/* Goldrahmen dahinter (offsetiert wie in S2 Moment) */
.craft-image-outline{
  position:absolute;
  top:0;right:0;
  width:88%;height:90%;
  border:1px solid rgba(184,144,90,.48);
  border-radius:3px 80px 3px 80px;
  pointer-events:none;
  z-index:1;
}
.craft-image-outline::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(184,144,90,.22);
  border-radius:3px 68px 3px 68px;
  pointer-events:none;
}

/* Main-Image versetzt nach unten-links */
.craft-main-image{
  position:absolute;
  left:0;bottom:0;
  width:92%;height:90%;
  overflow:hidden;
  border-radius:3px 80px 3px 80px;
  background:#261c15;
  box-shadow:0 45px 120px rgba(63,42,28,.15);
  z-index:2;
  cursor:pointer;
}
.craft-main-image img{
  width:100%;height:100%;
  object-fit:cover;
  transform:scale(1.04);
  filter:saturate(.78) brightness(.86) contrast(1.04);
  transition:transform 1.3s var(--ease), filter .8s ease;
  will-change:transform;
}

.craft-main-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(12,9,7,.04), transparent 48%, rgba(12,9,7,.67) 100%),
    linear-gradient(90deg, rgba(16,11,8,.07), transparent 55%);
  pointer-events:none;
}
.craft-image-top{
  position:absolute;
  left:25px;right:25px;top:24px;
  display:flex;justify-content:space-between;align-items:center;
  z-index:3;
}
.craft-image-label{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(20,15,11,.32);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(12px);
  color:rgba(255,255,255,.78);
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.16em;
}
.craft-image-number{
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.82);
  color:#43372e;
  font-family:var(--sans);
  font-size:9.5px;letter-spacing:.05em;
}
.craft-image-bottom{
  position:absolute;
  left:30px;right:30px;bottom:28px;
  color:#fff;z-index:3;
}
.craft-image-bottom span{
  display:block;
  margin-bottom:6px;
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.18em;
  color:rgba(255,255,255,.5);
}
.craft-image-bottom strong{
  display:block;
  font-family:var(--accent);
  font-size:clamp(22px,2.3vw,36px);
  font-style:italic;font-weight:500;
}

/* Material-Chip (klein, oben rechts über der Bildecke) */
.craft-material{
  position:absolute;
  top:4%;left:-2%;
  z-index:6;
  display:flex;align-items:center;gap:11px;
  padding:11px 16px 11px 12px;
  border-radius:999px;
  background:rgba(255,250,245,.90);
  border:1px solid rgba(184,144,90,.22);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 35px rgba(55,39,28,.08);
}
.craft-material-icon{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(184,144,90,.14);
  color:var(--gold);
}
.craft-material-icon svg{width:14px;stroke-width:1.5}
.craft-material small{
  display:block;
  margin-bottom:2px;
  font-family:var(--sans);
  font-size:8px;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--muted);
}
.craft-material strong{
  display:block;
  font-family:var(--sans);
  font-size:10px;font-weight:500;
  color:var(--ink);
}

/* Detail-Card „Jeder Millimeter zählt" – UNTER dem Bild, nicht mehr überlappend */
.craft-floating-card{
  position:relative;
  width:100%;
  padding:26px 28px 22px;
  border-radius:22px;
  background:rgba(255,250,245,.9);
  border:1px solid rgba(184,144,90,.20);
  backdrop-filter:blur(18px);
  box-shadow:0 24px 60px rgba(54,37,26,.08);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  transition:transform .55s var(--ease), box-shadow .55s var(--ease), border-color .4s ease;
}

.craft-floating-card .floating-top{
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.floating-icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:14px;
  background:rgba(184,144,90,.14);
  color:var(--gold);
}
.floating-icon svg{width:18px;stroke-width:1.45}
.floating-index{
  font-family:var(--sans);
  font-size:8.5px;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--muted);
}
.craft-floating-card > div:nth-child(2){display:flex;flex-direction:column;gap:6px}
.craft-floating-card h3{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(22px,1.9vw,28px);
  font-weight:500;line-height:1.1;letter-spacing:-.02em;
  color:var(--ink);
}
.craft-floating-card p{
  margin:0;
  font-family:var(--sans);
  font-size:12.5px;line-height:1.65;
  color:var(--muted);
}
.floating-line{display:none}
.floating-foot{
  display:block;
  align-self:center;
  padding:10px 16px;
  border-left:1px solid rgba(184,144,90,.22);
  font-family:var(--sans);
  font-size:8.5px;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--gold);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  text-align:center;
}

/* Section-Scoped Reveal (nutzt bereits vorhandene reveal-Klassen) */
.craft-section .reveal{
  opacity:0;filter:blur(10px);transform:translateY(24px);
  transition:opacity .9s var(--ease), filter .9s var(--ease), transform .9s var(--ease);
}
.craft-section .reveal.visible{opacity:1;filter:blur(0);transform:none}
.delay-4{transition-delay:.36s}

/* Responsive */
@media (max-width:1100px){
  .craft-inner{grid-template-columns:minmax(0,1fr);gap:80px}
  .craft-copy{max-width:800px}
  .craft-image-wrap{aspect-ratio:5/4;min-height:520px}
}
@media (max-width:700px){
  .craft-section{padding:90px 0 110px}
  .craft-inner{width:calc(100% - 28px)}
  .craft-title{font-size:46px}
  .craft-details{grid-template-columns:minmax(0,1fr)}
  .craft-image-wrap{aspect-ratio:1/1;min-height:440px}
  .craft-main-image{width:95%;height:88%;border-radius:3px 50px 3px 50px}
  .craft-image-outline{width:88%;height:88%;border-radius:3px 50px 3px 50px}
  .craft-material{left:0}
  .craft-floating-card{
    grid-template-columns:minmax(0,1fr);
    gap:14px;text-align:left;
  }
  .craft-floating-card .floating-top{flex-direction:row}
  .floating-foot{
    border-left:none;
    border-top:1px solid rgba(184,144,90,.22);
    padding:12px 0 0;
    writing-mode:horizontal-tb;transform:none;
    text-align:left;
  }
}

/* ================================================================
   S5 · TRAURINGE (Ring-Promise — Bento-Grid mit 7 Cards)
   ================================================================ */
.ring-promise-section{
  position:relative;
  width:100%;
  padding:clamp(120px,10vw,180px) 0 clamp(130px,11vw,195px);
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.82), transparent 32%),
    radial-gradient(circle at 92% 82%, rgba(255,255,255,.25), transparent 28%),
    linear-gradient(180deg, #f8ebe7, var(--rose));
  color:var(--ink);
}
.ring-promise-inner{
  width:min(90%,1500px);
  margin:auto;
}

/* Header */
.ring-promise-head{
  max-width:940px;
  margin:0 auto clamp(80px,8vw,120px);
  text-align:center;
}
.ring-promise-kicker{
  display:flex;align-items:center;justify-content:center;
  gap:13px;
  margin-bottom:24px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);
}
.ring-promise-kicker span{
  width:34px;height:1px;background:rgba(184,144,90,.5);
}
.ring-promise-title{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(42px,4.8vw,74px);
  font-weight:500;
  line-height:.96;letter-spacing:-.045em;
}
.ring-promise-title > span{display:block}
.ring-promise-accent{
  margin-top:7px;
  font-style:italic;
  color:var(--gold);
}
.ring-promise-intro{
  max-width:760px;margin:30px auto 0;
  font-family:var(--sans);
  font-size:clamp(15px,1.2vw,17px);
  line-height:1.75;
  color:var(--muted);
}

/* Bento-Grid */
.ring-promise-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

/* Card Basis */
.promise-card{
  position:relative;
  min-height:310px;
  overflow:hidden;
  padding:clamp(24px,2.6vw,36px);
  display:flex;flex-direction:column;
  border-radius:24px;
  border:1px solid rgba(184,144,90,.14);
  background:rgba(255,248,245,.85);
  isolation:isolate;
  box-shadow:0 16px 50px rgba(71,45,35,.03);
  transition:transform .55s var(--ease),
             box-shadow .55s var(--ease),
             border-color .35s ease,
             background .35s ease;
}


/* Große Karte spannt 2 Spalten */
.promise-card--large{
  grid-column:span 2;
  min-height:350px;
}

/* Volle Karte spannt die komplette Zeile */
.promise-card--full{
  grid-column:1 / -1;
  min-height:280px;
}

/* Warmer Goldschimmer im Hintergrund */
.promise-card-glow{
  position:absolute;
  width:350px;height:350px;
  right:-120px;bottom:-150px;
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(184,144,90,.14), transparent 68%);
  pointer-events:none;
  z-index:0;
}

/* Top-Row: Icon + Index */
.promise-card-top{
  display:flex;justify-content:space-between;align-items:center;
  gap:20px;
  position:relative;z-index:2;
}
.promise-card-icon{
  width:47px;height:47px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border-radius:15px;
  background:rgba(184,144,90,.12);
  color:var(--gold);
  transition:background .35s ease, color .35s ease, transform .45s var(--ease);
}

.promise-card-icon svg{width:18px;stroke-width:1.4}
.promise-card-index{
  display:none;                    /* Ziffern 01-07 entfernt */
  font-family:var(--accent);
  font-size:17px;font-style:italic;
  color:rgba(184,144,90,.65);
}

/* Copy */
.promise-card-copy{
  position:relative;z-index:2;
  max-width:580px;
  margin-top:clamp(28px,3vw,44px);   /* fester Abstand zum Icon statt bottom-anchored */
}
.promise-card-label{
  display:none;                    /* Chip über der Headline entfernt */
  margin-bottom:9px;
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--muted);
}
.promise-card h3{
  margin:0;
  min-height:2.15em;               /* Headlines starten auf gleicher Höhe */
  font-family:var(--accent);
  font-size:clamp(24px,2.1vw,32px);
  font-weight:500;
  line-height:1.15;letter-spacing:-.03em;
  color:var(--ink);
}
.promise-card p{
  margin:14px 0 0;
  max-width:560px;
  min-height:5em;                  /* Text-Blöcke auf gleicher Grundhöhe */
  font-family:var(--sans);
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
}

/* Foot */
.promise-card-foot{
  display:none;                    /* Chip unter dem Text entfernt */
  position:relative;z-index:2;
  align-items:center;gap:8px;
  margin-top:22px;padding-top:17px;
  border-top:1px solid rgba(184,144,90,.16);
  color:var(--gold);
}
.promise-card-foot svg{width:14px;stroke-width:1.4}
.promise-card-foot span{
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.14em;
}

/* Aftercare-Variante */
.promise-card--aftercare{
  background:
    radial-gradient(circle at 100% 100%, rgba(184,144,90,.10), transparent 45%),
    rgba(255,248,245,.86);
}

/* Note-Card (handgeschriebene Karte) */
.promise-card--note{
  background:linear-gradient(145deg, #fff9f5, #f8e4dd);
}
.promise-card-signature{
  display:none;                    /* "Für euren Moment"-Signatur entfernt */
  position:absolute;
  right:32px;bottom:28px;
  font-family:var(--accent);
  font-size:clamp(18px,1.7vw,24px);
  font-style:italic;
  color:rgba(184,144,90,.75);
}

/* CTA-Bereich — zentriert, keine Trennlinie */
.ring-promise-cta-wrap{
  margin-top:clamp(65px,7vw,100px);
  padding-top:0;
  border-top:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:26px;text-align:center;
}
.ring-promise-cta-copy{text-align:center}
.ring-promise-cta-copy strong{max-width:640px;margin:0 auto}
.ring-promise-cta-copy > span{
  display:block;
  margin-bottom:8px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--muted);
}
.ring-promise-cta-copy strong{
  display:block;
  font-family:var(--accent);
  font-size:clamp(26px,2.6vw,42px);
  font-weight:500;line-height:1.18;
  color:var(--ink);
}
.ring-promise-cta-copy em{
  color:var(--gold);
  font-style:italic;
}
.ring-promise-cta{
  display:flex;align-items:center;gap:18px;
  flex:0 0 auto;
  color:var(--ink);
  text-decoration:none;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.18em;
  font-weight:500;
}
.ring-promise-cta > span{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  transition:transform .45s var(--ease), background .35s ease;
}

.ring-promise-cta svg{width:15px;stroke-width:1.5}

/* Section-Scoped Reveals */
.ring-promise-section .reveal-soft{
  opacity:0;filter:blur(10px);
  transform:translateY(24px);
  transition:opacity .9s var(--ease),
             filter .9s var(--ease),
             transform .9s var(--ease);
}
.ring-promise-section .reveal-soft.visible{
  opacity:1;filter:blur(0);transform:none;
}

/* Responsive */
@media (max-width:1050px){
  .ring-promise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .promise-card--large{grid-column:span 2}
}
@media (max-width:700px){
  .ring-promise-section{padding:90px 0 110px}
  .ring-promise-inner{width:calc(100% - 28px)}
  .ring-promise-grid{grid-template-columns:minmax(0,1fr)}
  .promise-card,
  .promise-card--large{grid-column:auto;min-height:280px}
  .promise-card-signature{position:static;margin-top:20px}
  .ring-promise-cta-wrap{flex-direction:column;align-items:flex-start}
  .ring-promise-cta{width:100%;justify-content:space-between}
}

/* ================================================================
   S6 · BILDTRENNER (Jewel-Breaker mit Hintergrundbild + Ambient-Glow)
   ================================================================ */
.jewel-breaker{
  position:relative;
  width:100%;
  min-height:clamp(480px,48vw,700px);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:#241b19;
  isolation:isolate;
}

/* Hintergrundbild */
.jewel-breaker__bg{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(.55) contrast(1.06) saturate(.88);
  z-index:-2;
}

/* Dunkler Vignetten-Overlay – Text bleibt lesbar */
.jewel-breaker::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 50% 45%,
      rgba(20,15,13,.30) 0%,
      rgba(20,15,13,.55) 55%,
      rgba(12,8,7,.78) 100%);
  pointer-events:none;
  z-index:0;
}

/* Feine Filmkorn-Struktur */
.jewel-breaker::after{
  content:"";
  position:absolute;inset:0;
  opacity:.12;
  background-image:radial-gradient(
    rgba(255,255,255,.12) .5px,
    transparent .5px);
  background-size:5px 5px;
  mix-blend-mode:soft-light;
  pointer-events:none;
  z-index:1;
}

/* Warmer Goldschein in der Mitte, atmet leicht */
.jewel-breaker__ambient{
  position:absolute;
  width:min(75vw,1000px);
  aspect-ratio:1;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(227,194,140,.14) 0%,
    rgba(227,194,140,.05) 38%,
    transparent 68%);
  filter:blur(30px);
  pointer-events:none;
  z-index:0;
  animation:jewelAmbient 8s ease-in-out infinite;
}

@keyframes jewelAmbient{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.75}
  50%    {transform:translate(-50%,-50%) scale(1.08);opacity:1}
}

/* Content */
.jewel-breaker__content{
  position:relative;
  z-index:2;
  width:min(94%,1500px);
  text-align:center;
}
.jewel-breaker__headline{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(34px,3.6vw,56px);
  font-weight:400;
  line-height:1.15;letter-spacing:-.025em;
  color:#f8f3ed;
  text-wrap:balance;
}
.jewel-breaker__line{
  display:block;
  opacity:0;
  filter:blur(20px);
  transform:translateY(38px) scale(.985);
  transition:opacity 1.15s var(--ease),
             filter 1.15s var(--ease),
             transform 1.15s var(--ease);
  text-wrap:balance;
}
.jewel-breaker__line--accent{
  margin-top:8px;
  font-style:italic;
  color:var(--gold-light);
  transition-delay:.13s;
}
.jewel-breaker.is-visible .jewel-breaker__line{
  opacity:1;filter:blur(0);
  transform:translateY(0) scale(1);
}

@media (max-width:760px){
  .jewel-breaker{
    min-height:460px;
    padding:80px 22px;
  }
  .jewel-breaker__content{width:100%}
  .jewel-breaker__headline{
    font-size:clamp(40px,11vw,60px);
    line-height:1.04;
  }
}
@media (prefers-reduced-motion:reduce){
  .jewel-breaker__ambient{animation:none}
  .jewel-breaker__line{
    opacity:1;filter:none;transform:none;transition:none;
  }
}

/* Stats-Bar — luxuriös mit Count-up */
.stats{
  background:var(--creme-white);
  padding:clamp(70px,7vw,110px) 0;
  border-top:1px solid rgba(184,144,90,.18);
  border-bottom:1px solid rgba(184,144,90,.18);
}
.stats .wrap{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  text-align:center;
  max-width:1200px;
}
.stats .wrap > div{
  position:relative;
  padding:0 10px;
}
/* Feine Trennlinien zwischen den Stats */
.stats .wrap > div:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;top:20%;bottom:20%;
  width:1px;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(184,144,90,.35) 30%,
    rgba(184,144,90,.35) 70%,
    transparent 100%);
}
.stats .num{
  font-family:var(--accent);
  font-size:clamp(44px,4.6vw,68px);
  font-weight:500;
  color:var(--ink);
  line-height:1;
  letter-spacing:-.02em;
}
.stats .num sup{
  font-family:var(--sans);
  font-size:.5em;
  vertical-align:top;
  margin-left:.05em;
  color:var(--gold);
}
.stats .num .star{color:var(--gold);margin-left:.1em}
.stats .lbl{
  display:block;
  margin-top:14px;
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
}
/* Kleine Gold-Linie unter jedem Wert */
.stats .num::after{
  content:"";
  display:block;
  width:26px;height:1px;
  margin:16px auto 0;
  background:rgba(184,144,90,.5);
}

/* ================================================================
   S7 · TESTIMONIALS (Reviews Luxury — Bento + Google Summary)
   Bugfixes: inline-block Verify-Dot, font-sizes Index/Avatar/Namen,
             Layout-Loch in kleinen Cards behoben
   ================================================================ */
.reviews-luxury-section{
  width:100%;
  padding:clamp(110px,10vw,150px) 0 clamp(120px,10vw,160px);
  background:linear-gradient(180deg, #f7e9e5, var(--rose));
  color:var(--ink);
}
.reviews-luxury-inner{
  width:min(90%,1500px);
  margin:auto;
}

/* Header — Copy links, Google-Summary rechts */
.reviews-badge,
.faq-luxury-badge{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin:0 auto clamp(40px,4.5vw,72px);
  padding:0;
  width:100%;
  font-family:var(--sans);
  font-size:11px;font-weight:500;
  text-transform:uppercase;letter-spacing:.28em;
  color:var(--gold);
  background:transparent;
  text-align:center;
}
.reviews-badge::before,
.reviews-badge::after,
.faq-luxury-badge::before,
.faq-luxury-badge::after{
  content:"";
  display:block;
  width:44px;height:1px;
  background:var(--gold);
  opacity:.55;
}
.reviews-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:80px;
  align-items:end;
  margin-bottom:70px;
}
.reviews-header-copy{max-width:850px}

/* Zentrierte Variante (Ladengeschäft) */
.reviews-luxury-section--centered .reviews-header{
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  text-align:center;
}
.reviews-luxury-section--centered .reviews-header-copy{
  max-width:820px;
  margin:0 auto;
}
.reviews-luxury-section--centered .reviews-title,
.reviews-luxury-section--centered .reviews-intro{
  text-align:center;
}
.reviews-luxury-section--centered .reviews-intro{
  margin-left:auto;margin-right:auto;
}
.reviews-kicker{
  display:flex;align-items:center;gap:12px;
  margin-bottom:22px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);
}
.reviews-kicker span{
  width:34px;height:1px;background:var(--gold);
}
.reviews-title{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(42px,4.8vw,74px);
  line-height:.96;letter-spacing:-.045em;
  font-weight:500;
}
.reviews-title > span{display:block}
.reviews-title-accent{
  margin-top:6px;
  color:var(--gold);
  font-style:italic;
}
.reviews-intro{
  max-width:720px;margin-top:26px;
  font-family:var(--sans);
  font-size:clamp(15px,1.15vw,17px);
  line-height:1.7;
  color:var(--muted);
}

/* Google-Summary — luxuriöse Card */
.google-summary{
  position:relative;
  padding:28px 30px;
  border-radius:22px;
  background:linear-gradient(145deg,
    rgba(255,250,246,.98),
    rgba(247,231,225,.92));
  border:1px solid rgba(184,144,90,.24);
  box-shadow:0 24px 60px rgba(70,44,34,.07);
  overflow:hidden;
  isolation:isolate;
}
.google-summary::after{
  content:"";
  position:absolute;
  width:280px;height:280px;
  right:-120px;bottom:-140px;
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(184,144,90,.12), transparent 68%);
  pointer-events:none;
}
.google-summary-top{
  position:relative;z-index:2;
  display:flex;align-items:center;gap:12px;
}
.google-logo{width:32px;height:32px}
.google-logo svg{width:100%;height:100%;display:block}
.google-summary-top > span{
  font-family:var(--sans);
  font-size:10px;font-weight:500;
  text-transform:uppercase;letter-spacing:.20em;
  color:var(--ink);
}
.google-score{
  position:relative;z-index:2;
  display:flex;align-items:flex-end;gap:18px;
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(184,144,90,.18);
}
.google-score > strong{
  font-family:var(--accent);
  font-size:64px;line-height:.9;font-weight:500;
  color:var(--ink);
  letter-spacing:-.02em;
}
.google-stars{
  color:var(--gold);
  letter-spacing:4px;
  font-size:18px;
  line-height:1;
}
.google-score div{padding-bottom:6px}
.google-score div > span{
  display:block;margin-top:8px;
  font-family:var(--sans);
  font-size:10px;letter-spacing:.14em;
  color:var(--muted);
}

/* Layout */
.reviews-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);
  gap:16px;
  align-items:stretch;
}
.reviews-side{
  display:flex;flex-direction:column;gap:16px;
}

/* Card Basis */
.review-card{
  position:relative;
  overflow:hidden;
  padding:clamp(28px,3vw,42px);
  border-radius:26px;
  background:rgba(255,249,245,.9);
  border:1px solid rgba(184,144,90,.18);
  transition:transform .5s var(--ease),
             box-shadow .5s var(--ease),
             border-color .4s ease;
}


/* Featured (links, groß) — Bugfix: Layout ohne margin-top:auto-Loch */
.review-card--featured{
  min-height:680px;
  display:flex;flex-direction:column;
  gap:22px;
  background:linear-gradient(145deg, #fffaf6, #f8e4dc);
}
.review-card-glow{
  position:absolute;
  width:420px;height:420px;
  right:-160px;bottom:-160px;
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(184,144,90,.14), transparent 68%);
  pointer-events:none;
}

/* Small cards — Bugfix: Zitat nicht mehr schwebend in der Mitte */
.review-card--small{
  flex:1;
  min-height:332px;
  display:flex;flex-direction:column;
  gap:16px;
}

/* Top-Row */
.review-card-top{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
  position:relative;z-index:2;
}
.review-source{
  display:flex;align-items:center;gap:8px;
}
.mini-google-logo{width:22px;height:22px}
.mini-google-logo svg{display:block;width:100%;height:100%}
.review-source > span{
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--muted);
}
/* Bugfix: font-size ergänzt */
.review-index{
  font-family:var(--accent);
  font-size:18px;
  font-style:italic;
  color:rgba(184,144,90,.65);
}

/* Stars */
.review-featured-stars,
.review-stars{
  color:var(--gold);
  letter-spacing:3px;
}
.review-featured-stars{
  font-size:18px;
  margin-top:6px;
}
.review-stars{font-size:14px}

/* Quotes */
.review-card blockquote{
  margin:0;
  font-family:var(--accent);
  font-size:20px;
  line-height:1.5;
  font-style:italic;
  color:var(--ink);
}
.review-featured-quote{
  max-width:700px;
  font-size:clamp(28px,2.7vw,42px) !important;
  line-height:1.24 !important;
}
.review-card blockquote em{
  color:var(--gold);
}

/* Author — Bugfix: font-size hochgesetzt, Layout ohne auto-Loch */
.review-author{
  display:flex;align-items:center;gap:12px;
  margin-top:auto;
  position:relative;z-index:2;
}
.review-avatar{
  width:44px;height:44px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(184,144,90,.14);
  color:var(--gold);
  font-family:var(--accent);
  font-size:19px;font-style:italic;font-weight:500;
}
.review-author strong{
  display:block;
  font-family:var(--sans);
  font-size:13.5px;font-weight:500;
  color:var(--ink);
}
.review-author span{
  display:block;
  margin-top:4px;
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);
}

/* Verified — Bugfix: inline-block, damit der grüne Punkt sichtbar wird */
.review-verified{
  margin-top:20px;padding-top:17px;
  border-top:1px solid rgba(184,144,90,.16);
  display:flex;align-items:center;gap:8px;
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);
  position:relative;z-index:2;
}
.review-verified > span{
  display:inline-block;
  width:7px;height:7px;
  border-radius:50%;
  background:#67a66f;
  box-shadow:0 0 0 3px rgba(103,166,111,.15);
}

/* Foot — zentriert, keine Trennlinie */
.reviews-footer{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:26px;
  margin-top:70px;padding-top:0;
  border-top:none;
  text-align:center;
}
.reviews-footer-copy{text-align:center}
.reviews-footer-copy strong{max-width:640px;margin:0 auto}
.reviews-footer-copy > span{
  display:block;
  margin-bottom:7px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--muted);
}
.reviews-footer-copy strong{
  display:block;
  font-family:var(--accent);
  font-size:clamp(26px,2.5vw,40px);
  font-weight:500;line-height:1.18;
  color:var(--ink);
}
.reviews-footer-copy em{
  color:var(--gold);
  font-style:italic;
}
.reviews-google-link{
  min-height:60px;
  display:flex;align-items:center;gap:12px;
  padding:7px 8px 7px 18px;
  border-radius:999px;
  border:1px solid rgba(184,144,90,.24);
  background:rgba(255,249,245,.75);
  color:var(--ink);
  text-decoration:none;
  transition:background .35s ease, border-color .35s ease, transform .45s var(--ease);
}

.reviews-google-button-logo{width:24px;height:24px}
.reviews-google-button-logo svg{width:100%;height:100%;display:block}
.reviews-google-link > span:nth-child(2){
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.16em;
  font-weight:500;
}
.reviews-google-arrow{
  width:42px;height:42px;
  margin-left:6px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  font-size:16px;
  transition:transform .45s var(--ease), background .35s ease;
}


/* Reveal (section-scoped) */
.reviews-luxury-section .reveal,
.reviews-luxury-section .reveal-title{
  opacity:0;filter:blur(10px);
  transform:translateY(22px);
  transition:opacity .9s var(--ease),
             filter .9s var(--ease),
             transform .9s var(--ease);
}
.reviews-luxury-section .reveal-title{filter:blur(18px)}
.reviews-luxury-section .reveal.visible,
.reviews-luxury-section .reveal-title.visible{
  opacity:1;filter:blur(0);transform:none;
}

/* Responsive */
@media (max-width:1000px){
  .reviews-header{grid-template-columns:minmax(0,1fr);gap:36px;align-items:start}
  .google-summary{max-width:340px}
  .reviews-layout{grid-template-columns:minmax(0,1fr)}
  .review-card--featured{min-height:520px}
  .reviews-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .review-card--small{min-height:300px}
}
@media (max-width:700px){
  .reviews-luxury-section{padding:90px 0 110px}
  .reviews-luxury-inner{width:calc(100% - 28px)}
  .reviews-title{font-size:48px}
  .reviews-side{grid-template-columns:minmax(0,1fr)}
  .review-card--featured{min-height:auto;padding:30px 26px}
  .review-card--small{min-height:auto}
  .reviews-footer{flex-direction:column;align-items:flex-start}
  .reviews-google-link{width:100%}
  .reviews-google-arrow{margin-left:auto}
}

/* ================================================================
   S8 · LADEN (Store-Story — Scroll-driven Sticky-Slider mit 4 Slides)
   Bugfixes: Selector-Duplicate gemerged, Farben auf unser System
   ================================================================ */
.store-story{
  position:relative;
  width:100%;
  background:linear-gradient(180deg, #fbf7f0, var(--creme-white));
  color:var(--ink);
  padding-bottom:clamp(80px,7vw,130px);
  overflow:visible;
}

/* Slider-Container – normal im Fluss, kein Sticky */
.store-story__slider{
  padding:clamp(20px,2vw,40px) 0 0;
  width:min(92%,1540px);
  margin:auto;
  display:flex;
  flex-direction:column;
  gap:clamp(30px,3vw,50px);
}

/* Header — außerhalb des Sticky, scrollt natürlich davor */
.store-story__header{
  display:block;
  max-width:820px;
  margin:0 auto;
  padding:clamp(80px,7vw,120px) clamp(28px,3vw,48px) clamp(50px,5vw,80px);
  text-align:center;
  position:relative;
  z-index:2;
}
.store-story__eyebrow{
  display:flex;align-items:center;gap:12px;
  padding-top:12px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);
}
.store-story__eyebrow span{
  width:32px;height:1px;background:var(--gold);
}
.store-story__heading{max-width:820px;margin:0 auto;text-align:center}
.store-story__heading h2{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(50px,5.4vw,84px);
  line-height:.96;letter-spacing:-.05em;
  font-weight:500;
}
.store-story__heading h2 em{
  display:block;
  color:var(--gold);
  font-style:italic;
}
.store-story__heading p{
  max-width:660px;
  margin:22px auto 0;
  font-family:var(--sans);
  font-size:clamp(15px,1.15vw,17px);
  line-height:1.7;
  color:var(--muted);
  text-align:center;
}

/* Stage */
.store-story__stage{
  display:grid;
  grid-template-columns:minmax(300px,.65fr) minmax(600px,1.35fr);
  gap:clamp(45px,6vw,100px);
  align-items:center;
}

/* Info-Column (links) */
.store-story__info{
  display:flex;flex-direction:column;
  min-height:520px;
}
.store-story__counter{
  display:flex;align-items:baseline;gap:4px;
}
.store-story__counter span{
  font-family:var(--accent);
  font-size:52px;
  color:var(--gold);
  font-weight:500;
}
.store-story__counter small{
  font-family:var(--sans);
  font-size:11px;
  color:var(--muted);
  letter-spacing:.1em;
}
.store-story__info-content{
  margin-top:auto;
  max-width:420px;
}
.store-story__label{
  display:block;
  margin-bottom:12px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--gold);
}
.store-story__info h3{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(28px,2.6vw,42px);
  line-height:1.06;letter-spacing:-.04em;
  font-weight:500;
  color:var(--ink);
  transition:opacity .3s ease, transform .35s var(--ease);
}
.store-story__info p{
  margin-top:18px;
  font-family:var(--sans);
  font-size:14px;line-height:1.7;
  color:var(--muted);
  transition:opacity .3s ease, transform .35s var(--ease);
}

/* Progress-Bar — edler mit dickerer, weicherer Linie */
/* Nav: Dots + Arrows (statt Scroll-Progress) */
.store-story__nav{
  display:flex;flex-direction:column;
  gap:26px;
  margin-top:auto;
  padding-top:clamp(30px,3vw,50px);
}
.store-story__dots{
  display:flex;align-items:center;gap:14px;
}
.store-dot{
  width:34px;height:2px;
  background:rgba(58,45,36,.16);
  border:none;padding:0;cursor:pointer;
  transition:background .35s ease, transform .35s ease;
  border-radius:2px;
}

.store-dot.is-active{
  background:var(--gold);
  transform:scaleX(1.4);
  transform-origin:left center;
}
.store-story__arrows{
  display:flex;align-items:center;gap:14px;
}
.store-arrow{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius:50%;
  background:transparent;
  border:1px solid rgba(58,45,36,.22);
  color:var(--ink);
  cursor:pointer;
  transition:background .35s ease, border-color .35s ease, color .35s ease, transform .35s ease;
}

.store-arrow:active{transform:scale(.96)}
.store-arrow svg{width:16px;height:16px;stroke-width:1.6}

/* verbleibende Legacy-Progress (falls sonst genutzt) */
.store-story__progress-legacy{
  margin-top:auto;padding-top:35px;
}
.store-story__progress-track{
  position:relative;
  width:100%;height:2px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(184,144,90,.20) 8%,
    rgba(184,144,90,.20) 92%,
    transparent 100%);
  overflow:visible;
  border-radius:2px;
}
.store-story__progress-track span{
  display:block;
  width:25%;height:2px;
  background:linear-gradient(90deg,
    var(--gold-light) 0%,
    var(--gold) 100%);
  border-radius:2px;
  box-shadow:0 0 12px rgba(184,144,90,.35);
  transition:width .7s var(--ease);
}
.store-story__progress-labels{
  display:flex;justify-content:space-between;
  margin-top:16px;
  font-family:var(--accent);
  font-size:14px;font-style:italic;
  color:var(--muted);
  padding:0 4px;
}
.store-story__progress-labels span{
  transition:color .35s ease;
}

/* Slide-Stack */
.store-story__stack{
  position:relative;
  height:clamp(460px,46vw,640px);
  perspective:1200px;
}
.store-slide{
  position:absolute;inset:0;
  overflow:hidden;
  border-radius:32px;
  opacity:0;
  transform:translateX(120px) scale(.94) rotateY(-5deg);
  pointer-events:none;
  box-shadow:0 25px 80px rgba(44,28,21,.10);
  transition:opacity .75s var(--ease),
             transform .85s var(--ease),
             filter .6s ease;
}
.store-slide.is-active{
  opacity:1;
  transform:translateX(0) scale(1) rotateY(0);
  z-index:4;
  pointer-events:auto;
}
.store-slide.is-before{
  opacity:.28;
  transform:translateX(-55px) translateY(18px) scale(.92) rotateY(4deg);
  z-index:2;
}
.store-slide.is-after{
  opacity:.14;
  transform:translateX(55px) translateY(28px) scale(.89) rotateY(-4deg);
  z-index:1;
}
.store-slide img{
  width:100%;height:100%;
  object-fit:cover;
  transform:scale(1.03);
  filter:saturate(.85) brightness(.88) contrast(1.03);
  transition:transform 1.4s var(--ease);
}

.store-slide__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(10,8,6,.04),
    transparent 45%,
    rgba(10,8,6,.72) 100%);
  pointer-events:none;
}
.store-slide__top{display:none}
.store-slide__top > span:first-child{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.85);
  color:#2c241e;
  font-family:var(--sans);
  font-size:10px;letter-spacing:.05em;
  backdrop-filter:blur(12px);
}
.store-slide__icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(22,17,13,.34);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(12px);
}
.store-slide__icon svg{width:17px;stroke-width:1.4}
.store-slide__caption{
  position:absolute;
  left:clamp(28px,3vw,42px);
  bottom:clamp(28px,3vw,42px);
  color:#fff;z-index:2;
}
.store-slide__caption small{
  display:block;margin-bottom:8px;
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.18em;
  color:rgba(255,255,255,.55);
}
.store-slide__caption strong{
  display:block;
  max-width:600px;
  font-family:var(--accent);
  font-size:clamp(24px,2.7vw,40px);
  line-height:1.1;font-weight:500;
}

/* Bottom-Zeile — zentriert, ohne Trennlinie */
.store-story__bottom{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:22px;
  margin-top:clamp(35px,4vw,55px);
  padding-top:0;
  border-top:none;
  text-align:center;
}
.store-story__bottom-copy{
  max-width:640px;
  margin:0 auto;
}
.store-story__bottom > div > span{
  display:block;
  margin-bottom:8px;
  font-family:var(--sans);
  font-size:11px;font-weight:500;
  text-transform:uppercase;letter-spacing:.20em;
  color:var(--gold);
}
.store-story__bottom strong{
  display:block;
  font-family:var(--accent);
  font-size:clamp(22px,2vw,34px);
  font-weight:500;line-height:1.2;
  color:var(--ink);
}
.store-story__bottom em{
  color:var(--gold);
  font-style:italic;
}
.store-story__cta{
  display:flex;align-items:center;gap:17px;
  text-decoration:none;
  color:var(--ink);
  font-family:var(--sans);
  font-size:10px;font-weight:500;
  text-transform:uppercase;letter-spacing:.18em;
}
.store-story__cta > span{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  transition:transform .45s var(--ease), background .35s ease;
}

.store-story__cta svg{width:15px;stroke-width:1.5}

/* Responsive */
@media (max-width:1050px){
  .store-story__slider{
    padding:20px 0 0;
    gap:40px;
  }
  .store-story__stage{grid-template-columns:minmax(0,1fr);gap:35px}
  .store-story__info{min-height:auto}
  .store-story__info-content{margin-top:20px}
  .store-story__stack{height:420px}
  .store-slide{opacity:0}
  .store-slide.is-active{opacity:1;transform:translateX(0) scale(1) rotateY(0)}
  .store-slide.is-before,
  .store-slide.is-after{opacity:0}
  .store-story__nav{flex-direction:row;justify-content:space-between;align-items:center;gap:20px}
}
@media (max-width:700px){
  .store-story__slider{
    width:calc(100% - 28px);
  }
  .store-story__heading h2{font-size:48px}
  .store-story__stack{height:360px}
  .store-slide{border-radius:24px}
  .store-story__bottom{flex-direction:column;align-items:center}
}

/* ================================================================
   LADEN-DETAIL · Slider mit Impressionen
   ================================================================ */
.laden-detail{
  position:relative;
  width:100%;
  padding:clamp(90px,8vw,140px) 0 clamp(90px,8vw,140px);
  background:
    radial-gradient(circle at 12% 18%, rgba(184,144,90,.05), transparent 44%),
    radial-gradient(circle at 88% 82%, rgba(255,245,238,.6), transparent 46%),
    #fdf7f2;
  overflow:hidden;
}
.laden-detail__inner{
  width:min(91%,1200px);
  margin:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(40px,4vw,64px);
}
.laden-detail__head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(14px,1.3vw,20px);
  text-align:center;
}
.laden-detail__head .section-eyebrow{justify-content:center}
.laden-detail__title{
  margin:0;
  font-family:var(--accent);
  font-weight:500;
  font-size:clamp(34px,3.6vw,58px);
  line-height:1.02;
  letter-spacing:-.03em;
  color:var(--ink);
}
.laden-detail__title em{
  font-style:italic;
  color:var(--gold);
}

/* Stage = Frame + Dots */
.laden-detail__stage{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(24px,2.4vw,36px);
}

/* Frame im Werkstatt-Stil */
.laden-detail__frame{
  position:relative;
  width:100%;
  max-width:1000px;
  aspect-ratio:3/2;
}
.laden-detail__frame-outline{
  position:absolute;
  top:0;right:0;
  width:92%;height:92%;
  border:1px solid rgba(184,144,90,.48);
  border-radius:3px 80px 3px 80px;
  pointer-events:none;
  z-index:1;
}
.laden-detail__frame-outline::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(184,144,90,.22);
  border-radius:3px 68px 3px 68px;
  pointer-events:none;
}
.laden-detail__frame-main{
  position:absolute;
  left:0;bottom:0;
  width:94%;height:94%;
  overflow:hidden;
  border-radius:3px 80px 3px 80px;
  background:#1a1210;
  box-shadow:0 45px 120px rgba(63,42,28,.15);
  z-index:2;
}

/* Slide-Track */
.laden-detail__track{
  position:relative;
  width:100%;height:100%;
}
.laden-detail__slide{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1s var(--ease);
  pointer-events:none;
}
.laden-detail__slide.is-active{
  opacity:1;
  pointer-events:auto;
}

/* Arrows */
.laden-detail__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:52px;height:52px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(20,15,11,.32);
  backdrop-filter:blur(14px);
  color:rgba(255,255,255,.92);
  cursor:pointer;
  transition:background .35s ease, border-color .35s ease, transform .35s var(--ease);
  z-index:3;
}
.laden-detail__arrow svg{width:22px;stroke-width:1.6}

.laden-detail__arrow--prev{left:22px}
.laden-detail__arrow--next{right:22px}

/* Counter */
.laden-detail__counter{
  position:absolute;
  right:24px;bottom:22px;
  padding:8px 16px;
  border-radius:999px;
  background:rgba(20,15,11,.42);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.20);
  color:rgba(255,255,255,.88);
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.18em;
  z-index:3;
  display:flex;gap:6px;align-items:baseline;
}
.laden-detail__counter-sep{color:rgba(255,255,255,.4)}

/* Dots */
.laden-detail__dots{
  display:flex;
  gap:12px;
  align-items:center;
}
.laden-detail__dot{
  width:9px;height:9px;
  border-radius:50%;
  border:0;
  background:rgba(184,144,90,.35);
  cursor:pointer;
  transition:background .35s ease, transform .35s var(--ease), width .35s ease;
  padding:0;
}

.laden-detail__dot.is-active{
  background:var(--gold);
  width:28px;
  border-radius:6px;
}

/* Reveal-Support */
.laden-detail .reveal-copy,
.laden-detail .reveal-visual{
  opacity:0;
  transform:translateY(24px);
  filter:blur(4px);
  transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease);
}
.laden-detail .reveal-copy.visible,
.laden-detail .reveal-visual.visible{
  opacity:1;
  transform:none;
  filter:blur(0);
}

/* Mobile */
@media (max-width:700px){
  .laden-detail__frame{aspect-ratio:4/3}
  .laden-detail__frame-outline{border-radius:3px 44px 3px 44px}
  .laden-detail__frame-outline::before{border-radius:3px 34px 3px 34px}
  .laden-detail__frame-main{border-radius:3px 44px 3px 44px}
  .laden-detail__arrow{width:42px;height:42px}
  .laden-detail__arrow svg{width:18px}
  .laden-detail__arrow--prev{left:10px}
  .laden-detail__arrow--next{right:10px}
  .laden-detail__counter{right:14px;bottom:14px;padding:6px 12px;font-size:10px}
}

/* ================================================================
   SUSANN · Persönliches Wort (Video-Section vor dem Kontakt)
   ================================================================ */
.susann-note{
  position:relative;
  width:100%;
  padding:clamp(105px,9.5vw,160px) 0 clamp(95px,8.5vw,140px);
  background:
    radial-gradient(circle at 15% 25%, rgba(184,144,90,.06), transparent 42%),
    radial-gradient(circle at 85% 75%, rgba(255,245,238,.55), transparent 46%),
    #fdf7f2;
  overflow:hidden;
}
.susann-note__inner{
  width:min(91%,1300px);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(320px,.85fr);
  gap:clamp(50px,6vw,110px);
  align-items:center;
}
.susann-note__copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(18px,1.8vw,26px);
  max-width:560px;
  text-align:center;
}
.susann-note__copy .section-eyebrow{justify-content:center}
.susann-note__title{
  margin:0;
  font-family:var(--accent);
  font-weight:500;
  font-size:clamp(34px,3.5vw,56px);
  line-height:1.05;
  letter-spacing:-.03em;
  color:var(--ink);
}
.susann-note__title span{display:block}
.susann-note__title em{
  font-style:italic;
  color:var(--gold);
}
.susann-note__text{
  margin:0;
  font-family:var(--sans);
  font-size:clamp(15px,1.05vw,17px);
  line-height:1.75;
  color:var(--muted);
  max-width:520px;
}

/* ============ IG-STACK (Fake Instagram Posts) ============ */
.susann-note__inner--split{
  grid-template-columns:minmax(320px,1fr) minmax(320px,.9fr);
  align-items:center;
}
.susann-note__copy--left{
  align-items:flex-start;
  text-align:left;
  max-width:540px;
  margin:0;
}
.susann-note__copy--left .section-eyebrow{justify-content:flex-start}
.susann-note__copy--left .susann-note__title{text-align:left}
.ig-stack{
  position:relative;
  width:100%;
  max-width:380px;
  margin:0 auto;
  aspect-ratio:1 / 1.42;
  perspective:1200px;
  justify-self:center;
}
.ig-post{
  position:absolute;
  inset:0;
  background:#fff;
  border-radius:14px;
  box-shadow:0 24px 60px -12px rgba(58,38,24,.28), 0 2px 6px rgba(0,0,0,.06);
  overflow:hidden;
  transform-origin:center top;
  transition:transform .55s cubic-bezier(.22,.9,.3,1), opacity .4s ease, box-shadow .4s ease;
  cursor:pointer;
  will-change:transform, opacity;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.ig-post:not(.is-active){
  pointer-events:auto;
}
.ig-post[data-pos="0"]{ transform:translate(0,0) scale(1); z-index:3; }
.ig-post[data-pos="1"]{ transform:translate(14px,20px) scale(.95); z-index:2; opacity:.72; }
.ig-post[data-pos="2"]{ transform:translate(28px,40px) scale(.90); z-index:1; opacity:.42; }

.ig-post__link{
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none;
  color:#262626;
}
.ig-post__header{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 14px 10px;
  border-bottom:1px solid #efefef;
}
.ig-post__avatar{
  position:relative;
  width:34px;height:34px;
  border-radius:50%;
  background:conic-gradient(from 225deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5, #feda75);
  padding:2px;
  box-sizing:border-box;
  flex-shrink:0;
}
.ig-post__avatar svg{
  width:100%;height:100%;
  border-radius:50%;
  background:#fff;
  border:1.5px solid #fff;
  box-sizing:border-box;
  display:block;
  padding:2px;
}
.ig-post__meta{
  flex:1;
  display:flex;flex-direction:column;
  line-height:1.15;
  min-width:0;
}
.ig-post__meta strong{
  font-size:13px;font-weight:600;color:#262626;
}
.ig-post__meta small{
  font-size:11px;color:#737373;
}
.ig-post__more{
  background:none;border:0;padding:4px;color:#262626;cursor:pointer;
}
.ig-post__media{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  background:#000;
  overflow:hidden;
}
.ig-post__media img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.ig-post__actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 14px 4px;
  color:#262626;
}
.ig-post__actions-left{
  display:flex;align-items:center;gap:13px;
}
.ig-post__actions svg{display:block}
.ig-post__likes{
  padding:3px 14px 2px;
  font-size:13px;font-weight:600;color:#262626;
}
.ig-post__likes strong{font-weight:600}
.ig-post__caption{
  padding:3px 14px 2px;
  font-size:13px;line-height:1.4;color:#262626;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ig-post__caption strong{font-weight:600;margin-right:4px}
.ig-post__time{
  display:block;
  padding:5px 14px 11px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#8e8e8e;
}
.ig-stack__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;
  border:1px solid rgba(184,144,90,.24);
  border-radius:50%;
  color:#1a1a1a;
  cursor:pointer;
  box-shadow:0 10px 24px -6px rgba(58,38,24,.18);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
  z-index:15;
  padding:0;
}

.ig-stack__nav--prev{left:-56px}
.ig-stack__nav--next{right:-56px}
.ig-stack__nav svg{display:block}

.ig-stack__dots{
  position:absolute;
  left:50%;bottom:-32px;
  transform:translateX(-50%);
  display:flex;gap:8px;
  z-index:10;
}
.ig-stack__dots button{
  width:7px;height:7px;
  padding:0;border:0;border-radius:50%;
  background:rgba(26,26,26,.22);
  cursor:pointer;
  transition:background .25s ease, transform .25s ease;
}
.ig-stack__dots button.is-active{
  background:#B8894A;
  transform:scale(1.3);
}

@media (max-width:850px){
  .susann-note__inner--split{
    grid-template-columns:minmax(0,1fr);
    gap:60px;
  }
  .susann-note__copy--left{
    align-items:center;
    text-align:center;
    margin:0 auto;
  }
  .susann-note__copy--left .section-eyebrow{justify-content:center}
  .susann-note__copy--left .susann-note__title{text-align:center}
  .ig-stack{max-width:340px}
  .ig-stack__nav--prev{left:-24px}
  .ig-stack__nav--next{right:-24px}
  .ig-stack__nav{width:36px;height:36px}
}

/* Video-Frame im Werkstatt-Stil, aber im Hochformat */
.susann-note__visual{
  position:relative;
  display:flex;
  justify-content:center;
  width:100%;
}
.susann-note__frame{
  position:relative;
  width:min(100%,400px);
  aspect-ratio:9/16;
}
.susann-note__frame-outline{
  position:absolute;
  top:0;right:0;
  width:88%;height:90%;
  border:1px solid rgba(184,144,90,.48);
  border-radius:3px 60px 3px 60px;
  pointer-events:none;
  z-index:1;
}
.susann-note__frame-outline::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(184,144,90,.22);
  border-radius:3px 50px 3px 50px;
  pointer-events:none;
}
.susann-note__frame-main{
  position:absolute;
  left:0;bottom:0;
  width:92%;height:90%;
  overflow:hidden;
  border-radius:3px 60px 3px 60px;
  background:#1a1210;
  box-shadow:0 45px 120px rgba(63,42,28,.15);
  z-index:2;
}
.susann-note__video{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  background:#1a1210;
}
.susann-note__frame-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(12,9,7,.04), transparent 55%, rgba(12,9,7,.35) 100%);
  pointer-events:none;
}

/* Video-Controls sichtbar über Overlay */
.susann-note__video::-webkit-media-controls{z-index:3}

.susann-note__foot{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
  margin-top:14px;
  align-self:center;
}
.susann-note__signature{
  font-family:var(--accent);
  font-weight:500;
  font-size:clamp(22px,1.9vw,30px);
  color:var(--ink);
  line-height:1.1;
  text-align:center;
}
.susann-note__signature em{
  font-style:italic;
  color:var(--gold);
}

/* Reveal-Support */
.susann-note .reveal,
.susann-note .reveal-visual,
.susann-note .reveal-copy,
.susann-note .reveal-title{
  opacity:0;
  transform:translateY(24px);
  filter:blur(4px);
  transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease);
}
.susann-note .reveal.visible,
.susann-note .reveal-visual.visible,
.susann-note .reveal-copy.visible,
.susann-note .reveal-title.visible{
  opacity:1;
  transform:none;
  filter:blur(0);
}

/* Mobile */
@media (max-width:900px){
  .susann-note__inner{
    grid-template-columns:minmax(0,1fr);
    gap:44px;
  }
  .susann-note__copy{
    max-width:none;
    align-items:center;
    text-align:center;
  }
  .susann-note__copy .section-eyebrow{justify-content:center !important}
  .susann-note__foot{align-items:center}
  .susann-note__signature{align-items:center}
}
@media (max-width:700px){
  .susann-note__frame{width:min(100%,300px)}
  .susann-note__frame-outline{border-radius:3px 44px 3px 44px}
  .susann-note__frame-outline::before{border-radius:3px 36px 3px 36px}
  .susann-note__frame-main{border-radius:3px 44px 3px 44px}
}

/* S9 · Final CTA */
/* ================================================================
   S9 · FINAL CTA (Contact Wizard — Abschluss)
   ================================================================ */
.contact-final{
  position:relative;
  min-height:100vh;      /* Rueckfall fuer aeltere Browser */
  min-height:100svh;     /* §3: ohne Adressleiste gerechnet, springt nicht */
  display:flex;align-items:center;
  padding:clamp(90px,8vw,150px) 0;
  overflow:hidden;
  isolation:isolate;
  background:var(--rose);
}
.contact-final__background{
  position:absolute;inset:0;z-index:-4;
  background-image:url("assets/hero.jpg");
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  filter:saturate(.85) brightness(1.02) contrast(1);
}
.contact-final__overlay{
  position:absolute;inset:0;z-index:-3;
  background:
    radial-gradient(circle at 22% 55%, rgba(255,250,246,.35), transparent 45%),
    linear-gradient(95deg,
      rgba(245,235,227,.94) 0%,
      rgba(245,235,227,.85) 32%,
      rgba(245,235,227,.55) 65%,
      rgba(245,235,227,.40) 100%);
}
.contact-final__inner{
  width:min(91%,1500px);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(370px,.82fr) minmax(600px,1fr);
  gap:clamp(65px,8vw,135px);
  align-items:center;
}

/* Stacked-Variante: Titel oben mittig, Wizard darunter mittig */
.contact-final--stacked .contact-final__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(50px,6vw,90px);
}
.contact-final--stacked .contact-copy{
  max-width:900px;
  text-align:center;
}
.contact-final--stacked .contact-title{
  text-align:center;
}
.contact-final--stacked .contact-intro{
  margin:32px auto 0;              /* Text unter der Headline mittig */
}
.contact-final--stacked .contact-trust{
  justify-content:center;
}
.contact-final--stacked .wizard{
  width:100%;
  max-width:820px;
}

/* Left Copy */
.contact-copy{
  max-width:650px;
  color:var(--ink);
}
.contact-kicker{
  display:flex;align-items:center;gap:13px;
  margin-bottom:25px;
  color:var(--gold);
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
}
.contact-kicker::before{
  content:"";width:36px;height:1px;background:var(--gold);
}
.contact-title{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(42px,4.8vw,74px);
  line-height:.96;letter-spacing:-.045em;
  font-weight:500;
  color:var(--ink);
}
.contact-title span{display:block}
.contact-title em{
  display:block;
  margin-top:8px;
  color:var(--gold);
  font-style:italic;
}
.contact-intro{
  max-width:590px;
  margin:32px 0 0;
  color:var(--muted);
  font-family:var(--sans);
  font-size:clamp(15px,1.15vw,17px);
  line-height:1.75;
}

/* Trust Pills */
.contact-trust{
  display:flex;flex-wrap:wrap;gap:9px;
  margin-top:38px;
}
.contact-trust__item{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;
  border:1px solid rgba(184,144,90,.24);
  background:rgba(255,250,246,.85);
  backdrop-filter:blur(10px);
  color:var(--ink);
  font-family:var(--sans);
  font-size:10px;font-weight:500;
  text-transform:uppercase;letter-spacing:.12em;
}
.contact-trust__item svg{
  width:14px;height:14px;
  color:var(--gold);
  stroke-width:1.5;
}

/* Wizard — RECHTECKIG statt gerundet */
.wizard{
  position:relative;
  min-height:720px;
  padding:clamp(30px,3vw,44px);
  display:flex;flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(184,144,90,.24);
  background:rgba(255,250,246,.96);
  box-shadow:
    0 45px 130px rgba(0,0,0,.14),
    0 12px 32px rgba(0,0,0,.06);
  backdrop-filter:blur(22px);
}
.wizard::after{
  content:"";
  position:absolute;
  width:430px;height:430px;
  right:-210px;bottom:-230px;
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(184,144,90,.15), transparent 67%);
  pointer-events:none;
}

/* Wizard Header */
.wizard-head{
  position:relative;z-index:2;
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:30px;
}
.wizard-eyebrow{
  display:block;
  margin-bottom:10px;
  color:var(--muted);
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.18em;
}
.wizard-head h3{
  max-width:470px;margin:0;
  font-family:var(--accent);
  font-size:clamp(30px,2.8vw,44px);
  line-height:1.05;letter-spacing:-.04em;
  font-weight:500;
  color:var(--ink);
}
.wizard-counter{
  display:flex;align-items:baseline;gap:4px;
}
.wizard-counter strong{
  color:var(--gold);
  font-family:var(--accent);
  font-size:30px;font-style:italic;font-weight:500;
}
.wizard-counter span{
  color:var(--muted);
  font-family:var(--sans);
  font-size:10px;
}

/* Progress-Track */
.wizard-progress{
  position:relative;z-index:2;
  height:1px;
  margin:28px 0 32px;
  overflow:hidden;
  background:rgba(184,144,90,.20);
}
.wizard-progress span{
  display:block;
  width:33.333%;height:100%;
  background:linear-gradient(90deg, var(--gold-light), var(--gold));
  transition:width .6s var(--ease);
}

/* Form */
#wizardForm{
  position:relative;z-index:2;
  flex:1;
  display:flex;flex-direction:column;
}

/* Steps */
.wizard-page{display:none}
.wizard-page.is-active{
  display:block;
  animation:wizardPageIn .55s var(--ease) both;
}
@keyframes wizardPageIn{
  from{opacity:0;filter:blur(7px);transform:translateY(18px)}
  to{opacity:1;filter:blur(0);transform:none}
}
.wizard-page-label{
  margin-bottom:22px;
  color:var(--muted);
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.18em;
}

/* Interest-Grid — LANGE Cards, 1 Spalte, flach & breit */
.interest-grid{
  display:flex;flex-direction:column;
  gap:10px;
}
.interest-card{
  position:relative;
  min-height:78px;
  padding:16px 22px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 24px;
  gap:18px;
  align-items:center;
  border:1px solid rgba(184,144,90,.22);
  background:rgba(255,255,255,.65);
  cursor:pointer;
  transition:transform .4s var(--ease),
             border-color .3s ease,
             background .3s ease,
             box-shadow .4s ease;
}

.interest-card.is-selected{
  border-color:var(--gold);
  background:rgba(184,144,90,.08);
}
.interest-card input{
  position:absolute;opacity:0;pointer-events:none;
}
.interest-icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  color:var(--gold);
  background:rgba(184,144,90,.14);
}
.interest-icon svg{width:18px;stroke-width:1.4}
.interest-copy{
  display:flex;align-items:baseline;gap:14px;
  min-width:0;
}
.interest-copy strong{
  flex:0 0 auto;
  font-family:var(--accent);
  font-size:19px;font-weight:500;
  color:var(--ink);
}
.interest-copy small{
  flex:1;min-width:0;
  color:var(--muted);
  font-family:var(--sans);
  font-size:11px;line-height:1.5;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.interest-check{
  width:26px;height:26px;
  display:grid;place-items:center;
  border:1px solid rgba(45,32,25,.15);
  color:#fff;
  transition:background .3s ease, border-color .3s ease;
}
.interest-check svg{width:13px;opacity:0}
.interest-card.is-selected .interest-check{
  background:var(--gold);
  border-color:var(--gold);
}
.interest-card.is-selected .interest-check svg{opacity:1}

/* Input-Cards — LANGE Cards, 1 Spalte, flach & breit */
.contact-fields-grid{
  display:flex;flex-direction:column;
  gap:10px;
}
.field-card{
  position:relative;
  min-height:82px;
  padding:14px 22px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  border:1px solid rgba(184,144,90,.22);
  background:rgba(255,255,255,.65);
  transition:transform .4s var(--ease),
             border-color .3s ease,
             background .3s ease,
             box-shadow .4s ease;
}
.field-card:focus-within{
  transform:translateY(-3px);
  border-color:var(--gold);
  background:#fffdfa;
  box-shadow:0 18px 40px rgba(54,37,28,.06);
}
.field-card--wide{grid-column:auto}
.field-icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  color:var(--gold);
  background:rgba(184,144,90,.14);
  transition:background .3s ease, color .3s ease, transform .4s var(--ease);
}
.field-card:focus-within .field-icon{
  transform:rotate(-5deg);
  color:#fff;
  background:var(--gold);
}
.field-icon svg{width:18px;stroke-width:1.4}
.field-content{min-width:0;display:flex;flex-direction:column;gap:4px}
.field-label{
  display:block;
  color:var(--muted);
  font-family:var(--sans);
  font-size:9px;font-weight:500;
  text-transform:uppercase;letter-spacing:.18em;
}
.field-label small{
  margin-left:6px;opacity:.55;
  text-transform:none;letter-spacing:0;
  font-weight:400;
}
.field-card input{
  display:block;width:100%;
  padding:0;border:0;outline:none;
  background:transparent;
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  letter-spacing:.005em;
}
.field-card input::placeholder{
  color:rgba(55,42,34,.32);
  font-family:var(--sans);
  font-size:14.5px;
}
.field-index{
  align-self:start;
  color:rgba(184,144,90,.65);
  font-family:var(--accent);
  font-size:14px;font-style:italic;
}

/* Message-Grid */
.message-grid{
  display:grid;
  grid-template-columns:minmax(0,1.32fr) minmax(215px,.68fr);
  gap:11px;
}
.message-card{
  min-height:345px;
  padding:22px;
  display:flex;flex-direction:column;
  border:1px solid rgba(184,144,90,.20);
  background:rgba(255,255,255,.60);
  transition:transform .4s var(--ease),
             border-color .3s ease,
             background .3s ease;
}
.message-card:focus-within{
  transform:translateY(-3px);
  border-color:var(--gold);
  background:#fffdfa;
}
.message-card-top{
  display:flex;align-items:center;justify-content:space-between;
  gap:15px;
}
.message-icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  background:rgba(184,144,90,.14);
  color:var(--gold);
}
.message-icon svg{width:18px;stroke-width:1.4}
.message-card-top span:last-child{
  color:var(--muted);
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.16em;
}
.message-card textarea{
  flex:1;width:100%;
  min-height:160px;margin-top:20px;
  padding:0;border:0;outline:none;resize:none;
  background:transparent;
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.65;
}
.message-card textarea::placeholder{
  color:rgba(55,42,34,.34);
  font-family:var(--sans);
  font-size:14.5px;
  line-height:1.6;
}
.message-hint{
  display:flex;align-items:center;gap:8px;
  margin-top:15px;padding-top:15px;
  border-top:1px solid rgba(184,144,90,.20);
  color:var(--muted);
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.10em;
}
.message-hint svg{width:14px;color:var(--gold)}

/* Confirm-Card */
.confirm-card{
  min-height:345px;
  padding:24px;
  display:flex;flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(184,144,90,.24);
  background:
    radial-gradient(circle at 100% 0%, rgba(184,144,90,.20), transparent 43%),
    linear-gradient(145deg, #fff5ee, #f0dbd4);
}
.confirm-top{
  display:flex;align-items:center;gap:10px;
  color:var(--muted);
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.14em;
}
.confirm-icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  background:rgba(184,144,90,.18);
  color:var(--gold);
}
.confirm-icon svg{width:17px;stroke-width:1.4}
.confirm-card h4{
  margin:auto 0 0;
  font-family:var(--accent);
  font-size:clamp(24px,2vw,32px);
  line-height:1.06;letter-spacing:-.035em;
  font-weight:500;
  color:var(--ink);
}
.confirm-card h4 em{
  display:block;
  color:var(--gold);
  font-style:italic;
}
.confirm-card > p{
  margin:13px 0 0;
  color:var(--muted);
  font-family:var(--sans);
  font-size:12px;line-height:1.65;
}

/* Privacy */
.privacy-card{
  position:relative;
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin-top:18px;padding-top:17px;
  border-top:1px solid rgba(184,144,90,.22);
  cursor:pointer;
}
.privacy-card input{position:absolute;opacity:0}
.privacy-check{
  width:25px;height:25px;
  display:grid;place-items:center;
  border:1px solid rgba(50,36,28,.22);
  color:#fff;
  transition:background .3s ease, border-color .3s ease, transform .3s var(--ease);
}
.privacy-check svg{width:13px;opacity:0}
.privacy-card.is-selected .privacy-check{
  transform:scale(1.05);
  background:var(--gold);
  border-color:var(--gold);
}
.privacy-card.is-selected .privacy-check svg{opacity:1}
.privacy-copy{
  color:var(--muted);
  font-family:var(--sans);
  font-size:11px;line-height:1.55;
}

/* Wizard-Actions */
.wizard-actions{
  margin-top:auto;padding-top:32px;
  display:flex;align-items:center;gap:15px;
}
.wizard-back{
  display:flex;align-items:center;gap:8px;
  border:0;background:transparent;
  color:var(--muted);
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.14em;
  cursor:pointer;
  visibility:hidden;opacity:0;
  transition:opacity .3s ease;
}
.wizard-back.is-visible{visibility:visible;opacity:1}
.wizard-back svg{width:14px}

/* Wizard-Next-Button ist jetzt der Diamond-Pill */
.wizard-next-btn{
  margin-left:auto;
  border:1px solid var(--gold-2);
  color:var(--gold-2);
  font-weight:500;
  cursor:pointer;
}


/* Error */
.wizard-error{
  min-height:18px;margin-top:14px;
  color:#a05f54;
  font-family:var(--sans);
  font-size:10.5px;
  opacity:0;
  transition:opacity .3s ease;
}
.wizard-error.is-visible{opacity:1}

/* Foot */
.wizard-foot{
  display:flex;align-items:center;gap:8px;
  margin-top:16px;padding-top:16px;
  border-top:1px solid rgba(184,144,90,.20);
  color:var(--muted);
  font-family:var(--sans);
  font-size:9.5px;
  text-transform:uppercase;letter-spacing:.14em;
}
.wizard-foot::before{
  content:"";
  display:inline-block;
  width:7px;height:7px;
  border-radius:50%;
  background:#699d70;
  box-shadow:0 0 0 3px rgba(105,157,112,.15);
}

/* Success */
.wizard-success{
  display:none;flex:1;
  align-items:center;justify-content:center;
  text-align:center;
}
.wizard-success.is-visible{display:flex}
.wizard-success-inner{max-width:470px}
.success-icon{
  width:62px;height:62px;
  margin:0 auto 22px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(184,144,90,.14);
  color:var(--gold);
}
.success-icon svg{width:26px;stroke-width:1.6}
.wizard-success h4{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(32px,3vw,46px);
  line-height:1.06;font-weight:500;
  color:var(--ink);
}
.wizard-success p{
  margin:16px 0 0;
  color:var(--muted);
  font-family:var(--sans);
  font-size:13.5px;line-height:1.7;
}

/* Responsive */
@media (max-width:1050px){
  .contact-final__inner{grid-template-columns:minmax(0,1fr);gap:60px}
  .contact-copy{max-width:780px}
  .wizard{max-width:850px}
}
@media (max-width:700px){
  .contact-final{min-height:auto;padding:80px 0}
  .contact-final__inner{width:calc(100% - 28px);gap:50px}
  .wizard{min-height:auto;padding:22px}
  .interest-grid,
  .contact-fields-grid,
  .message-grid{grid-template-columns:minmax(0,1fr)}
  .field-card--wide{grid-column:auto}
  .interest-card{min-height:auto}
  .field-card{min-height:auto}
  .message-card,
  .confirm-card{min-height:auto}
  .wizard-head h3{font-size:26px}
}

/* ================================================================
   FAQ (Luxury) — Contact-Card + Accordion, sitzt VOR dem Final-CTA
   Bugfixes: inline-block auf Status-Punkt, JS in IIFE
   ================================================================ */
.faq-luxury-section{
  position:relative;
  width:100%;
  padding:clamp(120px,10vw,180px) 0 clamp(130px,11vw,190px);
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.78), transparent 32%),
    linear-gradient(180deg, #f7e9e5, var(--rose));
  color:var(--ink);
}
.faq-luxury-inner{
  width:min(90%,1500px);
  margin:auto;
}

/* Header */
.faq-luxury-head{
  max-width:900px;
  margin:0 auto clamp(80px,7vw,110px);
  text-align:center;
}
.faq-luxury-kicker{
  display:flex;align-items:center;justify-content:center;
  gap:12px;
  margin-bottom:24px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);
}
.faq-luxury-kicker span{
  width:34px;height:1px;background:var(--gold);
}
.faq-luxury-title{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(42px,4.8vw,74px);
  line-height:.96;letter-spacing:-.045em;
  font-weight:500;
}
.faq-luxury-title span{display:block}
.faq-luxury-accent{
  margin-top:7px;
  color:var(--gold);
  font-style:italic;
}
.faq-luxury-intro{
  max-width:700px;margin:28px auto 0;
  font-family:var(--sans);
  font-size:clamp(15px,1.15vw,17px);
  line-height:1.72;
  color:var(--muted);
}

/* Layout: Contact-Card links, Accordion rechts */
.faq-luxury-layout{
  display:grid;
  grid-template-columns:minmax(330px,.72fr) minmax(620px,1.28fr);
  gap:clamp(30px,4vw,60px);
  align-items:stretch;
}

/* Contact-Card */
.faq-contact-card{
  position:relative;
  height:100%;min-height:0;
  padding:clamp(28px,3vw,40px);
  display:flex;flex-direction:column;
  border-radius:28px;
  border:1px solid rgba(184,144,90,.18);
  background:linear-gradient(145deg,
    rgba(255,250,246,.97),
    rgba(247,231,225,.94));
  box-shadow:0 28px 80px rgba(64,43,34,.06);
  overflow:hidden;
  isolation:isolate;
}
.faq-contact-card::after{
  content:"";
  position:absolute;
  width:390px;height:390px;
  right:-170px;bottom:-180px;
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(184,144,90,.15), transparent 67%);
  pointer-events:none;
}

.faq-contact-top{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:space-between;
}
.faq-contact-icon{
  width:50px;height:50px;
  display:grid;place-items:center;
  border-radius:16px;
  background:rgba(184,144,90,.12);
  color:var(--gold);
}
.faq-contact-icon svg{width:19px;stroke-width:1.4}
.faq-contact-number{
  font-family:var(--accent);
  font-size:18px;font-style:italic;
  color:rgba(184,144,90,.65);
}

.faq-contact-content{
  position:relative;z-index:2;
  max-width:390px;
  margin-top:clamp(70px,7vw,115px);
}
.faq-contact-eyebrow{
  display:block;
  margin-bottom:10px;
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--muted);
}
.faq-contact-content h3{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(26px,2.3vw,36px);
  line-height:1.08;letter-spacing:-.03em;
  font-weight:500;
  color:var(--ink);
}
.faq-contact-content h3 em{
  display:block;
  color:var(--gold);
  font-style:italic;
}
.faq-contact-content p{
  margin-top:17px;
  font-family:var(--sans);
  font-size:13.5px;line-height:1.7;
  color:var(--muted);
}

.faq-contact-bottom{
  position:relative;z-index:2;
  margin-top:auto;
}
.faq-wa-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:fit-content;
  margin:14px auto 0;
}
.faq-wa-cta .btn-wa-icon{
  display:inline-block;
  width:18px;height:18px;
  background-color:var(--gold);
  -webkit-mask:url(assets/whatsapp.svg) center/contain no-repeat;
          mask:url(assets/whatsapp.svg) center/contain no-repeat;
}
.faq-contact-options{
  margin-top:35px;
  border-top:1px solid rgba(184,144,90,.18);
}
.faq-contact-row{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 18px;
  gap:12px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid rgba(184,144,90,.18);
  color:var(--ink);
  text-decoration:none;
  transition:transform .35s var(--ease);
}

.faq-contact-row-icon{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(184,144,90,.12);
  color:var(--gold);
}
.faq-contact-row-icon svg{width:14px;stroke-width:1.4}
.faq-contact-row-icon--whatsapp img{
  width:16px;height:16px;
  filter:brightness(0) saturate(100%) invert(60%) sepia(28%) saturate(820%) hue-rotate(2deg) brightness(89%) contrast(85%);
}
.faq-contact-row small{
  display:block;margin-bottom:3px;
  font-family:var(--sans);
  font-size:8.5px;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);
}
.faq-contact-row strong{
  display:block;
  font-family:var(--sans);
  font-size:11px;font-weight:500;
  color:var(--ink);
}
.faq-contact-row > svg{width:14px;color:var(--gold)}

.faq-contact-cta{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;margin-top:25px;min-height:58px;
  padding:6px 7px 6px 22px;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  text-decoration:none;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;letter-spacing:.18em;
  transition:background .35s ease;
}

.faq-contact-cta > span{
  width:45px;height:45px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  transition:transform .45s var(--ease), background .35s ease;
}

.faq-contact-cta svg{width:15px;stroke-width:1.5}

/* Footer der Contact-Card — Bugfix: inline-block auf Status-Punkt */
.faq-contact-foot{
  display:flex;align-items:center;gap:8px;
  margin-top:18px;
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);
}
.faq-contact-foot span{
  display:inline-block;
  width:7px;height:7px;
  border-radius:50%;
  background:#6b9f71;
  box-shadow:0 0 0 3px rgba(107,159,113,.15);
}

/* Accordion */
.faq-accordion{
  height:100%;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(184,144,90,.18);
  background:rgba(255,249,245,.9);
  display:flex;flex-direction:column;
}
.faq-item{
  flex:1 0 auto;
  border-bottom:1px solid rgba(184,144,90,.14);
}
.faq-item:last-child{border-bottom:0}

.faq-question{
  width:100%;min-height:108px;
  padding:0 clamp(24px,3vw,38px);
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 50px;
  gap:18px;
  align-items:center;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  font-family:inherit;
  transition:background .35s ease;
}

.faq-question-index{
  font-family:var(--accent);
  font-size:16px;font-style:italic;
  color:rgba(184,144,90,.65);
}
.faq-question-text{
  font-family:var(--accent);
  font-size:clamp(18px,1.55vw,23px);
  line-height:1.35;
  color:var(--ink);
}
.faq-plus{
  width:42px;height:42px;
  display:grid;place-items:center;justify-self:end;
  border-radius:50%;
  background:rgba(184,144,90,.10);
  color:var(--gold);
  transition:transform .45s var(--ease),
             background .35s ease,
             color .35s ease;
}
.faq-plus svg{width:17px;stroke-width:1.5}
.faq-item.is-open .faq-plus{
  transform:rotate(45deg);
  background:var(--gold);
  color:#fff;
}

/* Answer mit Grid-Row-Trick für smooth Height-Animation */
.faq-answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .55s var(--ease);
}
.faq-answer-inner{
  overflow:hidden;
  max-width:760px;
  padding:0 clamp(24px,3vw,38px) 0 calc(clamp(24px,3vw,38px) + 60px);
  font-family:var(--sans);
  font-size:14px;line-height:1.72;
  color:var(--muted);
  opacity:0;
  transform:translateY(-6px);
  transition:padding .45s var(--ease),
             opacity .35s ease,
             transform .45s var(--ease);
}
.faq-item.is-open .faq-answer{grid-template-rows:1fr}
.faq-item.is-open .faq-answer-inner{
  padding-bottom:30px;
  opacity:1;
  transform:none;
}

/* Section-Scoped Reveals */
.faq-luxury-section .reveal-soft{
  opacity:0;filter:blur(10px);
  transform:translateY(24px);
  transition:opacity .9s var(--ease),
             filter .9s var(--ease),
             transform .9s var(--ease);
}
.faq-luxury-section .reveal-soft.visible{
  opacity:1;filter:blur(0);transform:none;
}

/* Responsive */
@media (max-width:1050px){
  .faq-luxury-layout{
    grid-template-columns:minmax(290px,.7fr) minmax(0,1.3fr);
    gap:28px;
  }
  .faq-contact-content{margin-top:60px}
}
@media (max-width:820px){
  .faq-luxury-section{padding:90px 0 110px}
  .faq-luxury-inner{width:calc(100% - 28px)}
  .faq-luxury-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .faq-contact-card{height:auto;min-height:520px}
  .faq-contact-content{margin-top:55px}
  .faq-question{
    min-height:96px;
    grid-template-columns:30px minmax(0,1fr) 40px;
    gap:10px;padding:0 18px;
  }
  .faq-question-text{font-size:18px}
  .faq-plus{width:38px;height:38px}
  .faq-answer-inner{padding-left:58px;padding-right:18px}
  .faq-item.is-open .faq-answer-inner{padding-bottom:24px}
}

/* ================================================================
   FOOTER
   ================================================================ */
.site-footer{
  background:var(--dark-2);
  color:#c9bfae;
  padding:clamp(80px,7vw,120px) 0 30px;
  font-family:var(--sans);
  font-size:13px;
}
.site-footer__inner{
  width:min(94%,1560px);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,2fr);
  gap:clamp(60px,7vw,120px);
  align-items:start;
}
.site-footer__brand{max-width:420px}
.site-footer__logo{
  display:block;
  height:44px;width:auto;
  margin-bottom:24px;
  filter:brightness(0) invert(1) brightness(.95);
}
.site-footer__brand p{
  color:#9a9084;line-height:1.85;
  font-size:13.5px;
  margin:0 0 26px;
}
.site-footer__social{
  display:flex;gap:12px;
}
.site-footer__social a{
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  color:#c9bfae;
  transition:background .3s ease, color .3s ease, border-color .3s ease, transform .35s var(--ease);
}

.site-footer__social svg{width:16px;stroke-width:1.5}
.site-footer__social-wa img{
  width:16px;height:16px;
  display:block;
  filter:brightness(0) invert(1);
  opacity:.72;
  transition:opacity .3s ease;
}


.site-footer__cols{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(30px,4vw,60px);
}
.site-footer h5{
  font-family:var(--sans);
  font-size:10px;letter-spacing:.24em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 20px;
  font-weight:500;
}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{
  color:#9a9084;
  line-height:2;
  font-size:13px;
}
.site-footer li a{
  color:#9a9084;
  transition:color .25s ease;
}


.site-footer__bottom{
  width:min(94%,1560px);
  margin:60px auto 0;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-size:12px;color:#6a6258;letter-spacing:.04em;
}
.site-footer__bottom a{
  margin-left:22px;
  color:#6a6258;
  transition:color .25s ease;
}


@media (max-width:900px){
  .site-footer__inner{grid-template-columns:minmax(0,1fr);gap:50px}
  .site-footer__cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .site-footer__bottom{flex-direction:column;text-align:center}
  .site-footer__bottom a{margin:0 12px}
}

/* ================================================================
   COOKIE-BANNER
   ================================================================ */
.cookie-banner{
  position:fixed;
  left:20px;right:20px;bottom:20px;
  z-index:200;
  max-width:640px;
  padding:0;
  background:rgba(251,246,239,.98);
  border:1px solid rgba(184,144,90,.24);
  box-shadow:0 32px 80px rgba(58,38,24,.20);
  backdrop-filter:blur(18px);
  transform:translateY(160%);
  opacity:0;
  transition:transform .5s var(--ease), opacity .4s ease;
  pointer-events:none;
}
.cookie-banner.is-visible{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.cookie-banner__inner{
  padding:22px 26px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
}
.cookie-banner__icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(184,144,90,.14);
  color:var(--gold);
}
.cookie-banner__icon svg{width:18px;stroke-width:1.4}
.cookie-banner__copy strong{
  display:block;
  font-family:var(--accent);
  font-size:17px;font-weight:500;
  color:var(--ink);
  margin-bottom:4px;
}
.cookie-banner__copy p{
  margin:0;
  font-family:var(--sans);
  font-size:12px;line-height:1.55;
  color:var(--muted);
}
.cookie-banner__copy a{
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:2px;
}
.cookie-banner__actions{
  display:flex;gap:10px;align-items:center;
}
.cookie-btn{
  padding:10px 18px;
  background:transparent;
  border:1px solid rgba(184,144,90,.30);
  color:var(--muted);
  font-family:var(--sans);
  font-size:10px;font-weight:500;
  text-transform:uppercase;letter-spacing:.20em;
  cursor:pointer;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}

.cookie-banner .btn-gold.btn-sm{
  padding:10px 22px;
  font-size:10px;
  letter-spacing:.20em;
  color:var(--gold-2);
  border-color:var(--gold-2);
}


@media (max-width:700px){
  .cookie-banner{
    left:12px;right:12px;bottom:12px;
    max-width:none;
  }
  .cookie-banner__inner{
    grid-template-columns:minmax(0,1fr);
    gap:14px;padding:20px;
  }
  .cookie-banner__icon{display:none}
  .cookie-banner__actions{
    justify-content:flex-end;
  }
}

/* Annotation-Labels sind nur im webframe.html aktiv */
.anno{display:none}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width:900px){
  .grid-2{grid-template-columns:minmax(0,1fr);gap:40px}
  .cards-3,.test-grid{grid-template-columns:minmax(0,1fr)}
  .icons-grid{grid-template-columns:minmax(0,1fr)}
  .icons-grid .ig{border-right:none}
  .promise-grid{grid-template-columns:minmax(0,1fr)}
  .stats .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  footer .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .menu{display:none}
  section{padding:70px 0}
}

@media (max-width:760px){
  .jewelry-hero{min-height:860px}
  .hero-content{
    width:calc(100% - 32px);
    padding:110px 0 190px;
  }
  .hero-title{font-size:58px;line-height:.94}
  .hero-title-accent{margin-top:6px}
  .hero-lead{margin-top:27px;font-size:15px}
  .hero-actions{flex-direction:column;width:100%}
  .hero-primary,
  .hero-secondary{width:100%;max-width:370px}
  .hero-trust{
    bottom:22px;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:15px;padding-top:18px;
  }
  .trust-item::after{display:none}
  .hero-scroll{display:none}
  .hero-background img{object-position:63% center}
}

/* ================================================================
   LEGAL-PAGES · Impressum, Datenschutz, AGB
   ================================================================ */
.legal-page{
  max-width:820px;
  margin:0 auto;
  padding:clamp(120px,10vw,180px) clamp(20px,3vw,40px) clamp(80px,8vw,140px);
  font-family:var(--sans);
  color:var(--ink);
  line-height:1.75;
}
.legal-page h1{
  margin:0 0 clamp(36px,4vw,60px);
  font-family:var(--accent);
  font-size:clamp(38px,4vw,64px);
  font-weight:500;
  line-height:.98;letter-spacing:-.035em;
}
.legal-page h2{
  margin:clamp(40px,4vw,60px) 0 clamp(14px,1.4vw,20px);
  font-family:var(--accent);
  font-size:clamp(22px,2.2vw,32px);
  font-weight:500;
  line-height:1.15;
  color:var(--gold);
}
.legal-page h3{
  margin:clamp(28px,2.6vw,36px) 0 10px;
  font-family:var(--sans);
  font-size:16px;
  font-weight:600;
  color:var(--ink);
}
.legal-page p{
  margin:0 0 14px;
  font-size:14.5px;
  color:var(--muted);
}
.legal-page strong{color:var(--ink);font-weight:600}
.legal-page a{
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:2px;
  word-break:break-word;
}

.legal-page ul{
  margin:12px 0 20px;
  padding-left:22px;
  color:var(--muted);
  font-size:14.5px;
}
.legal-page ul li{margin-bottom:6px}
.legal-page hr{
  border:none;height:1px;
  background:rgba(184,144,90,.2);
  margin:clamp(40px,4vw,60px) 0;
}
.legal-page .contact-block{
  margin:20px 0 32px;
  padding:24px 26px;
  border:1px solid rgba(184,144,90,.22);
  border-radius:14px;
  background:rgba(255,251,247,.7);
}
.legal-page .contact-block p{margin:0 0 6px}


/* ================================================================
   BOOKING · Sticky Floating-Button + Modal-Wizard
   ================================================================ */

/* ---------- Sticky Floating Action Button ---------- */
.booking-fab{
  position:fixed;
  right:calc(clamp(16px,2vw,28px) + env(safe-area-inset-right));   /* §9 */
  bottom:calc(clamp(16px,2vw,28px) + env(safe-area-inset-bottom));
  width:60px;height:60px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.4);
  background:linear-gradient(135deg, var(--gold) 0%, #c9a46d 100%);
  color:#fff;
  cursor:pointer;
  z-index:900;
  box-shadow:
    0 12px 32px rgba(184,144,90,.42),
    0 4px 12px rgba(71,45,35,.18);
  transition:transform .35s var(--ease), box-shadow .35s ease;
  animation:bookingFabPulse 2.4s ease-in-out infinite;
}

.booking-fab svg{width:26px;height:26px;stroke-width:1.6}
.booking-fab__label{
  position:absolute;
  right:72px;
  background:#fff;
  color:var(--ink);
  padding:8px 14px;
  border-radius:999px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:.02em;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transform:translateX(8px);
  transition:opacity .3s ease, transform .3s var(--ease);
  box-shadow:0 6px 20px rgba(71,45,35,.14);
  border:1px solid rgba(184,144,90,.2);
}

@keyframes bookingFabPulse{
  0%,100%{box-shadow:0 12px 32px rgba(184,144,90,.42), 0 4px 12px rgba(71,45,35,.18), 0 0 0 0 rgba(184,144,90,.5)}
  50%{box-shadow:0 12px 32px rgba(184,144,90,.42), 0 4px 12px rgba(71,45,35,.18), 0 0 0 14px rgba(184,144,90,0)}
}

/* ---------- Modal Overlay ---------- */
.booking-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:clamp(12px,2vw,28px);
}
.booking-modal.is-open{display:flex;animation:bookingFadeIn .35s ease}
@keyframes bookingFadeIn{from{opacity:0}to{opacity:1}}
.booking-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(26,18,16,.72);
  backdrop-filter:blur(10px);
  cursor:pointer;
}
.booking-modal__dialog{
  position:relative;
  width:min(100%,780px);
  max-height:90vh;
  max-height:90dvh;      /* §3: Dialog folgt der Adressleiste */
  background:#fdf7f2;
  border-radius:28px;
  border:1px solid rgba(184,144,90,.22);
  box-shadow:0 60px 140px rgba(26,18,16,.42);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  animation:bookingDialogIn .5s var(--ease);
}
@keyframes bookingDialogIn{
  from{opacity:0;transform:translateY(28px) scale(.98)}
  to{opacity:1;transform:none}
}
.booking-modal__close{
  position:absolute;
  top:16px;right:16px;
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(184,144,90,.25);
  background:rgba(255,255,255,.7);
  color:var(--ink);
  cursor:pointer;
  z-index:5;
  transition:background .3s ease, transform .3s var(--ease);
}

.booking-modal__close svg{width:18px;stroke-width:1.6}

/* ---------- Wizard Progress ---------- */
.booking-wizard__progress{
  display:flex;
  gap:6px;
  padding:28px 32px 0;
}
.booking-wizard__step-bar{
  flex:1;
  height:3px;
  border-radius:3px;
  background:rgba(184,144,90,.2);
  transition:background .5s ease;
}
.booking-wizard__step-bar.is-done,
.booking-wizard__step-bar.is-active{background:var(--gold)}

/* ---------- Wizard Header ---------- */
.booking-wizard__head{
  padding:24px 32px 20px;
  text-align:center;
}
.booking-wizard__head .section-eyebrow{justify-content:center;margin-bottom:12px}
.booking-wizard__title{
  margin:0 0 6px;
  font-family:var(--accent);
  font-weight:500;
  font-style:italic;
  font-size:clamp(26px,2.6vw,38px);
  line-height:1.1;
  color:var(--ink);
}
.booking-wizard__subtitle{
  margin:0;
  font-family:var(--sans);
  font-size:13px;
  color:var(--muted);
}

/* ---------- Wizard Body ---------- */
.booking-wizard__body{
  padding:20px 32px 28px;
  overflow-y:auto;
  flex:1;
  min-height:0;
}
.booking-wizard__page{display:none}
.booking-wizard__page.is-active{display:block;animation:bookingPageIn .5s var(--ease)}
@keyframes bookingPageIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}

/* ---------- Kalender ---------- */
.booking-calendar{display:flex;flex-direction:column;gap:14px}
.booking-calendar__nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.booking-calendar__month{
  font-family:var(--accent);
  font-size:20px;
  font-weight:500;
  color:var(--ink);
  text-transform:capitalize;
}
.booking-calendar__nav-btn{
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(184,144,90,.3);
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  transition:background .3s ease, border-color .3s ease;
}

.booking-calendar__nav-btn:disabled{opacity:.35;cursor:not-allowed}
.booking-calendar__nav-btn svg{width:18px;stroke-width:1.6}

.booking-calendar__weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#a28f85;
  text-align:center;
}
.booking-calendar__grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
}
.booking-calendar__day{
  aspect-ratio:1;
  display:grid;place-items:center;
  border:1px solid transparent;
  background:transparent;
  border-radius:12px;
  font-family:var(--sans);
  font-size:14px;
  font-weight:500;
  color:var(--ink);
  cursor:pointer;
  transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s var(--ease);
}
.booking-calendar__day.is-empty{cursor:default;pointer-events:none}
.booking-calendar__day.is-past,
.booking-calendar__day.is-closed{
  color:#c7b7ac;
  cursor:not-allowed;
  pointer-events:none;
}
.booking-calendar__day.is-free{
  background:rgba(184,144,90,.1);
  border-color:rgba(184,144,90,.3);
}

.booking-calendar__day.is-full{
  color:#c7b7ac;
  background:transparent;
  text-decoration:line-through;
  cursor:not-allowed;
  pointer-events:none;
}
.booking-calendar__day.is-selected{
  background:var(--gold);
  color:#fff;
  border-color:var(--gold);
}
.booking-calendar__day.is-today::after{
  content:"";
  width:4px;height:4px;
  border-radius:50%;
  background:currentColor;
  margin-top:2px;
}

/* ---------- Topic Cards ---------- */
.booking-topics{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:12px;
}
.booking-topic{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  padding:20px;
  border-radius:18px;
  border:1px solid rgba(184,144,90,.2);
  background:#fff;
  cursor:pointer;
  text-align:left;
  transition:border-color .3s ease, transform .3s var(--ease), box-shadow .3s ease;
}

.booking-topic.is-selected{
  border-color:var(--gold);
  background:linear-gradient(135deg, rgba(184,144,90,.08), #fff);
  box-shadow:0 14px 30px rgba(184,144,90,.14);
}
.booking-topic__icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:12px;
  background:rgba(184,144,90,.12);
  color:var(--gold);
}
.booking-topic__icon svg{width:20px;stroke-width:1.4}
.booking-topic.is-selected .booking-topic__icon{
  background:var(--gold);
  color:#fff;
}
.booking-topic__name{
  margin:0;
  font-family:var(--accent);
  font-weight:500;
  font-size:18px;
  color:var(--ink);
}
.booking-topic__duration{
  margin:0;
  font-family:var(--sans);
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.12em;
}

/* ---------- Slots ---------- */
.booking-slots{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(100px,1fr));
  gap:10px;
}
.booking-slot{
  padding:14px 10px;
  border-radius:12px;
  border:1px solid rgba(184,144,90,.22);
  background:#fff;
  color:var(--ink);
  font-family:var(--sans);
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s var(--ease);
}

.booking-slot.is-selected{
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
}
.booking-slots__empty{
  grid-column:1/-1;
  text-align:center;
  padding:28px;
  font-family:var(--sans);
  color:var(--muted);
  background:rgba(184,144,90,.05);
  border-radius:14px;
  border:1px dashed rgba(184,144,90,.25);
}

/* ---------- Form ---------- */
.booking-form{display:flex;flex-direction:column;gap:14px}
.booking-form__field{display:flex;flex-direction:column;gap:6px}
.booking-form__field label{
  font-family:var(--sans);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#a28f85;
}
.booking-form__field input,
.booking-form__field textarea{
  padding:14px 16px;
  border:1px solid rgba(184,144,90,.22);
  border-radius:12px;
  background:#fff;
  font-family:var(--sans);
  font-size:14px;
  color:var(--ink);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.booking-form__field input:focus,
.booking-form__field textarea:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(184,144,90,.15);
}
.booking-form__field textarea{resize:vertical;min-height:90px}
.booking-form__honeypot{
  position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;
}

/* ---------- Wizard Footer ---------- */
.booking-wizard__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 32px 28px;
  border-top:1px solid rgba(184,144,90,.14);
  background:rgba(255,251,247,.6);
}
.booking-wizard__summary{
  flex:1;
  font-family:var(--sans);
  font-size:12px;
  color:var(--muted);
  text-align:center;
  line-height:1.5;
}
.booking-wizard__summary strong{color:var(--ink);font-weight:500}
.booking-wizard__btn{
  padding:12px 24px;
  border-radius:999px;
  border:1px solid rgba(184,144,90,.3);
  background:#fff;
  color:var(--ink);
  font-family:var(--sans);
  font-size:13px;
  font-weight:500;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s var(--ease);
  display:inline-flex;align-items:center;gap:6px;
}

.booking-wizard__btn--primary{
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
}

.booking-wizard__btn:disabled{opacity:.4;cursor:not-allowed}
.booking-wizard__btn svg{width:16px;stroke-width:1.6}

/* ---------- Success State ---------- */
.booking-wizard__success{
  text-align:center;
  padding:48px 24px;
}
.booking-wizard__success-icon{
  width:72px;height:72px;
  margin:0 auto 20px;
  display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), #c9a46d);
  color:#fff;
}
.booking-wizard__success-icon svg{width:36px;stroke-width:1.6}
.booking-wizard__success h3{
  margin:0 0 10px;
  font-family:var(--accent);
  font-weight:500;
  font-style:italic;
  font-size:28px;
  color:var(--ink);
}
.booking-wizard__success p{
  margin:0 auto;
  max-width:420px;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
}

/* ---------- Mobile ---------- */
@media (max-width:600px){
  .booking-fab{width:54px;height:54px;right:14px;bottom:14px}
  .booking-fab svg{width:22px;height:22px}
  .booking-fab__label{display:none}
  .booking-modal{padding:0;align-items:flex-end}
  .booking-modal__dialog{
    width:100%;
    max-height:95vh;
    max-height:95dvh;
    border-radius:24px 24px 0 0;
  }
  .booking-wizard__progress{padding:22px 20px 0}
  .booking-wizard__head{padding:18px 20px 16px}
  .booking-wizard__body{padding:16px 20px 20px}
  .booking-wizard__foot{padding:14px 20px 22px;flex-wrap:wrap}
  .booking-wizard__summary{flex-basis:100%;order:-1;margin-bottom:4px}
  .booking-topics{grid-template-columns:minmax(0,1fr)}
  .booking-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* ================================================================
   GLOBALE BILD-AUFHELLUNG (Hero + Section-Bilder)
   ================================================================ */
.hero-background img,
.jewel-breaker__bg,
.story-image img,
.craft-main-image img,
.service-image img,
.card-image img{
  filter:brightness(1.08) saturate(.92) contrast(.98);
}


/* ================================================================
   PROMISE-CARD · Gutschein-Highlight (eigene Kachel)
   ================================================================ */
.promise-card--voucher{
  background:
    linear-gradient(135deg, rgba(184,144,90,.14) 0%, rgba(255,245,230,.6) 65%, rgba(255,255,255,.9) 100%);
  border-color:rgba(184,144,90,.42);
  box-shadow:0 24px 60px rgba(184,144,90,.14);
}
.promise-card--voucher .promise-card-icon{
  background:var(--gold);
  color:#fff;
  box-shadow:0 10px 24px rgba(184,144,90,.3);
}
.promise-card--voucher h3 em{
  color:var(--gold);
  font-style:italic;
}
.promise-card--voucher .promise-card-glow{
  background:radial-gradient(circle, rgba(184,144,90,.3), transparent 70%);
}


/* ================================================================
   BRAND-STRIP · Markenlogos Endlos-Slider
   ================================================================ */
.brand-strip{
  position:relative;
  width:min(96%,1600px);
  margin:clamp(50px,5vw,80px) auto 0;
  padding:clamp(28px,3vw,44px) 0 clamp(10px,1.5vw,20px);
  overflow:hidden;
  border-top:1px solid rgba(184,144,90,.14);
  /* Weiche Fade-Kanten links/rechts, damit Logos sanft rein- und raus-scrollen */
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}
.brand-strip__caption{
  margin:0 0 clamp(26px,2.4vw,38px);
  text-align:center;
  font-family:var(--accent);
  font-weight:500;
  font-size:clamp(22px,2vw,32px);
  line-height:1.15;
  letter-spacing:-.015em;
  color:var(--ink);
}
.brand-strip__caption em{
  font-style:italic;
  color:var(--gold);
}

.brand-strip__track{
  display:flex;
  gap:clamp(56px,6vw,96px);
  width:fit-content;
  align-items:center;
  animation:brandScroll 36s linear infinite;
}
.brand-strip__row{
  display:flex;
  gap:clamp(56px,6vw,96px);
  flex-shrink:0;
  align-items:center;
}
.brand-strip__logo{
  flex-shrink:0;
  height:clamp(48px,5vw,62px);          /* gemeinsame Zeilenhoehe, Logo sitzt mittig darin */
  display:flex;align-items:center;justify-content:center;
  opacity:.62;
  transition:opacity .3s ease, transform .3s var(--ease);
}

/* Logos optisch gleich gross halten: Hoehe und Breite richten sich nach dem
   Seitenverhaeltnis. Sonst erschlaegt ein quadratisches Zeichen jeden Schriftzug
   daneben. Voraussetzung: alle Dateien sind auf die Tinte beschnitten. */
.brand-strip__logo img{
  max-height:var(--logo-h);
  max-width:var(--logo-mw);
  width:auto;height:auto;
  object-fit:contain;
  filter:grayscale(1);
  transition:filter .3s ease;
  display:block;
}


.brand-strip__logo--hoch   {--logo-h:clamp(42px,4.6vw,52px); --logo-mw:clamp(54px,5.8vw,72px)}   /* Verh. < 1    */
.brand-strip__logo--kompakt{--logo-h:clamp(33px,3.6vw,41px); --logo-mw:clamp(72px,7.6vw,94px)}   /* 1   – 1,7    */
.brand-strip__logo--block  {--logo-h:clamp(26px,2.8vw,32px); --logo-mw:clamp(86px,9vw,112px)}    /* 1,7 – 2,9    */
.brand-strip__logo--breit  {--logo-h:clamp(20px,2.2vw,25px); --logo-mw:clamp(104px,11vw,136px)}  /* 2,9 – 5      */
.brand-strip__logo--band   {--logo-h:clamp(15px,1.7vw,19px); --logo-mw:clamp(120px,12.8vw,158px)}/* > 5          */

/* ----------------------------------------------------------------
   Markenreihe als Abschluss des Beratungs-Abschnitts.
   Bewusst keine eigene Section und keine zweite Serifen-Ueberschrift:
   die Reihe gehoert zum Abschnitt darueber, nicht daneben.
---------------------------------------------------------------- */
.brand-band{
  margin:clamp(52px,4.8vw,78px) auto 0;
  width:min(100%,880px);
  text-align:center;
}
.brand-band__rule{
  display:block;
  width:58px;height:1px;
  margin:0 auto clamp(18px,1.8vw,24px);
  background:var(--gold);
  opacity:.55;
}
.brand-band__label{
  display:block;
  font-family:var(--sans);
  font-size:clamp(12px,1.05vw,13px);
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--muted);
}
.brand-band__list{
  list-style:none;
  margin:clamp(26px,2.6vw,38px) 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:clamp(28px,3vw,42px) clamp(40px,5.2vw,78px);
}
/* im Band etwas groesser als im Laufband der Startseite - hier tragen sie den Block */
.brand-band__list .brand-strip__logo{height:auto;min-height:clamp(42px,4.4vw,54px)}
.brand-band__list .brand-strip__logo--block  {--logo-h:clamp(30px,3.2vw,38px); --logo-mw:clamp(98px,10.4vw,132px)}
.brand-band__list .brand-strip__logo--kompakt{--logo-h:clamp(38px,4.2vw,50px); --logo-mw:clamp(82px,8.6vw,110px)}



@keyframes brandScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(calc(-50% - clamp(28px,3vw,48px)))}
}
@media (max-width:700px){
  .brand-strip{margin-top:36px;padding-top:22px}
  .brand-strip__logo{height:44px}
}


/* ================================================================
   NEW ARRIVALS · "Neu bei uns" Produkt-Slider
   ================================================================ */
.new-arrivals{
  position:relative;
  width:100%;
  padding:clamp(100px,9vw,150px) 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(184,144,90,.05), transparent 42%),
    #faf2ea;
  overflow:hidden;
}
.new-arrivals__inner{
  width:min(94%,1400px);
  margin:auto;
}
.new-arrivals__head{
  text-align:center;
  margin-bottom:clamp(40px,4vw,64px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.new-arrivals__head .section-eyebrow{justify-content:center}
.new-arrivals__title{
  margin:0;
  font-family:var(--accent);
  font-weight:500;
  font-size:clamp(34px,3.4vw,54px);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--ink);
}
.new-arrivals__title em{color:var(--gold);font-style:italic}
.new-arrivals__subtitle{
  margin:0;
  font-family:var(--sans);
  font-size:clamp(14px,1vw,16px);
  color:var(--muted);
  max-width:560px;
}

.new-arrivals__viewport{
  position:relative;
  display:flex;
  align-items:center;
  gap:16px;
}
.new-arrivals__arrow{
  flex-shrink:0;
  width:50px;height:50px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(184,144,90,.3);
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  transition:background .3s ease, border-color .3s ease, color .3s ease, transform .3s var(--ease);
  z-index:2;
}

.new-arrivals__arrow svg{width:20px;stroke-width:1.6}

.new-arrivals__track{
  display:flex;
  gap:clamp(16px,1.6vw,24px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:12px 4px 24px;
  flex:1;
  min-width:0;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.new-arrivals__track::-webkit-scrollbar{display:none}
.new-arrivals__card{
  flex:0 0 calc((100% - 2 * clamp(16px,1.6vw,24px)) / 3);
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px;
  background:#fff;
  border:1px solid rgba(184,144,90,.14);
  border-radius:20px;
  box-shadow:0 10px 30px rgba(71,45,35,.04);
  transition:transform .35s var(--ease), box-shadow .35s ease, border-color .35s ease;
}
@media (max-width:900px){
  .new-arrivals__card{flex:0 0 calc((100% - clamp(16px,1.6vw,24px)) / 2)}
}
@media (max-width:600px){
  .new-arrivals__card{flex:0 0 85%}
}

.new-arrivals__image{
  width:100%;
  aspect-ratio:1;
  border-radius:14px;
  background:
    linear-gradient(135deg, rgba(184,144,90,.12), rgba(255,245,235,.6)),
    #f5ece2;
  position:relative;
  overflow:hidden;
}
.new-arrivals__image::after{
  content:"Bild folgt";
  position:absolute;
  inset:0;
  display:grid;place-items:center;
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(184,144,90,.5);
}
.new-arrivals__image img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:2;
}
.new-arrivals__brand{
  font-family:var(--sans);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--gold);
}
.new-arrivals__name{
  margin:0;
  font-family:var(--accent);
  font-weight:500;
  font-size:19px;
  line-height:1.2;
  color:var(--ink);
}
/* Beschreibung unter der Bezeichnung. Zwei Zeilen, danach abgeschnitten,
   damit die Karten einer Reihe gleich hoch bleiben. */
.new-arrivals__text{
  margin:6px 0 0;
  font-family:var(--sans);
  font-size:13.5px;
  line-height:1.5;
  color:var(--muted);
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.new-arrivals__badge{
  margin-top:auto;
  align-self:flex-start;
  padding:5px 12px;
  border-radius:999px;
  background:rgba(184,144,90,.12);
  color:var(--gold);
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

@media (max-width:700px){
  .new-arrivals__arrow{display:none}
}


/* ================================================================
   EMOTION-Section · Light Chips (Variante 1)
   Headline + Fließtext IDENTISCH zu Story-Section (#about)
   ================================================================ */
.emotion-head--centered{
  text-align:center;
  max-width:820px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
}
.emotion-head--centered .section-eyebrow{
  justify-content:center;
  margin-bottom:24px;
}
/* Headline — identisch zu .story-title */
.emotion-head--centered .emotion-title{
  margin:0 auto;
  max-width:820px;
  font-family:var(--accent);
  font-weight:500;
  font-size:clamp(42px,4.8vw,74px);
  line-height:.92;
  letter-spacing:-.045em;
  text-align:center;
  color:var(--ink);
}
.emotion-head--centered .emotion-title span{display:block}
.emotion-head--centered .emotion-title-accent{
  margin-top:8px;
  font-style:italic;
  color:var(--gold);
}
/* Fließtext — identisch zu .story-text */
.emotion-lead{
  margin:42px auto 0;
  max-width:610px;
  font-family:var(--sans);
  font-size:clamp(15px,1.15vw,17px);
  line-height:1.8;
  color:var(--muted);
  text-align:center;
}
.emotion-lead strong{
  color:var(--ink);
  font-weight:500;
  font-style:italic;
  display:block;
  margin-top:20px;
}

/* Negativ-Zitate als kleine Flüster-Chips */
.emotion-whispers{
  margin:clamp(44px,4.5vw,70px) auto 0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 14px;
  max-width:900px;
}
.emotion-whisper{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px 10px 14px;
  border-radius:999px;
  background:rgba(26,18,16,.04);
  border:1px solid rgba(184,144,90,.14);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.3;
  color:rgba(26,18,16,.55);
  transition:background .3s ease, color .3s ease;
}

.emotion-whisper i,
.emotion-whisper svg{
  width:14px;
  height:14px;
  stroke-width:1.6;
  color:rgba(184,144,90,.6);
  flex-shrink:0;
}

/* Brücke zur nächsten Section */
.emotion-bridge{
  margin-top:clamp(40px,4vw,64px);
  text-align:center;
  font-family:var(--accent);
  font-style:italic;
  font-size:clamp(18px,1.4vw,22px);
  color:var(--gold);
}

@media (max-width:700px){
  .emotion-whispers{gap:8px}
  .emotion-whisper{font-size:12px;padding:8px 14px 8px 12px}
  .emotion-whisper i,
  .emotion-whisper svg{width:12px;height:12px}
}


/* ================================================================
   SERVICES-NEW-ARRIVALS · Produkt-Slider innerhalb Sortiment-Section
   ================================================================ */
.services-new-arrivals{
  margin-top:clamp(60px,6vw,100px);
  padding-top:clamp(50px,5vw,80px);
  border-top:1px solid rgba(184,144,90,.14);
}
.services-new-arrivals .new-arrivals__head{
  text-align:center;
  margin-bottom:clamp(32px,3.5vw,54px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.services-new-arrivals .new-arrivals__head .section-eyebrow{
  justify-content:center;
}
.services-new-arrivals .new-arrivals__title{
  margin:0;
  font-family:var(--accent);
  font-weight:500;
  font-size:clamp(28px,2.8vw,42px);
  line-height:1.1;
  color:var(--ink);
}
.services-new-arrivals .new-arrivals__title em{
  color:var(--gold);
  font-style:italic;
}
.services-new-arrivals .new-arrivals__subtitle{
  margin:0;
  max-width:560px;
  font-family:var(--sans);
  font-size:clamp(14px,1vw,16px);
  color:var(--muted);
}


/* ================================================================
   HOVER NUR MIT ECHTEM ZEIGER  ·  Mobile-Playbook §4
   Auf Touch bleibt jeder Hover-Zustand nach dem Antippen haengen:
   Karten klappen nicht zurueck, Menues bleiben offen, Farben kleben.
   Deshalb sind saemtliche Hover-Regeln hier gebuendelt und gelten
   nur, wo es einen Mauszeiger gibt.
   77 Regelbloecke, automatisch hierher verschoben.
================================================================ */
@media (hover: hover) and (pointer: fine) {

  .btn-gold:hover{background:var(--gold-2)}

  .btn-outline:hover{background:var(--ink);color:#fff}

  .btn-outline-white:hover{background:#fff;color:var(--ink)}

  .site-nav a:hover{color:#fff}

  .site-nav a:hover::after{transform:scaleX(1);transform-origin:left}

  .site-header .btn-gold:hover,
  .site-header.is-scrolled .btn-gold:hover{color:var(--dark-3);border-color:var(--gold)}

  .hero-primary:hover,
  .btn-gold:hover{
    background:var(--gold-light);
    color:var(--dark-3);
    box-shadow:
      0 0 30px var(--gold-light),
      0 0 60px rgba(227,194,140,.40);
    transform:translateY(-5px);
  }

  .hero-primary:hover::after,
  .btn-gold:hover::after{left:150%}

  .jewelry-hero .hero-primary:hover,
  .s-solution .btn-gold:hover,
  .s-final .btn-gold:hover{color:var(--dark-3)}

  .s-trauringe .btn-gold:hover,
  .story-luxury-section .btn-gold:hover,
  .services-premium .btn-gold:hover,
  .craft-section .btn-gold:hover,
  .ring-promise-section .btn-gold:hover,
  .reviews-luxury-section .btn-gold:hover,
  .faq-luxury-section .btn-gold:hover,
  .contact-final .btn-gold:hover,
  .store-story .btn-gold:hover{color:var(--dark-3);border-color:var(--gold)}

  .hero-secondary:hover{color:#fff}

  .hero-secondary:hover::after{
    background:var(--gold-light);
    animation:lineSwap .75s var(--ease);
  }

  .hero-secondary:hover svg{transform:translateX(5px)}

  .story-image:hover img{
    transform:scale(1.14);
    filter:saturate(1) brightness(.96);
  }

  .story-value:hover{
    transform:translateY(-3px);
    background:rgba(255,255,255,.85);
    border-color:rgba(184,144,90,.42);
    box-shadow:0 18px 40px rgba(58,38,24,.08);
  }

  .story-value:hover .story-value-icon{
    background:var(--gold);
    color:#fff;
  }

  .story-link:hover .story-link-arrow{
    transform:rotate(45deg);
    background:var(--gold);
  }

  .emotion-visual-bg:hover img{
    transform:scale(1.09);
    filter:saturate(1) brightness(1.02);
  }

  .emotion-snippet:hover{transform:none}

  .emotion-snippet:hover .snippet-number{
    background:var(--gold);
    color:#fff;
    transform:rotate(-4deg) scale(1.04);
  }

  .welcome-card:hover{
    transform:translateY(-10px);
    border-color:rgba(184,144,90,.32);
    box-shadow:0 40px 90px rgba(75,48,38,.12);
  }

  .welcome-card:hover .card-image img{
    transform:scale(1.10);
    filter:saturate(.95) brightness(.97);
  }

  .welcome-card:hover .card-icon{
    transform:rotate(-6deg) scale(1.06);
    background:var(--gold);
    color:#fff;
  }

  .service-card:hover{
    transform:translateY(-12px);
    box-shadow:0 42px 100px rgba(67,42,30,.16);
  }

  .service-card--featured:hover{transform:translateY(-38px)}

  .service-card:hover .service-image img{
    transform:scale(1.10);
    filter:saturate(.98) brightness(.85);
  }

  .service-card:hover .service-icon{
    transform:rotate(-6deg) scale(1.07);
    background:var(--gold);
    color:#18110c;
  }

  .service-card:hover .service-arrow{
    transform:rotate(45deg);
    background:var(--gold);
    color:#18110c;
  }

  .services-bottom-cta:hover > span{
    transform:rotate(45deg);
    background:var(--gold);
  }

  .craft-detail:hover{
    transform:translateY(-4px);
    background:rgba(255,252,248,.9);
    border-color:rgba(184,144,90,.32);
  }

  .craft-detail:hover .craft-detail-icon{
    transform:rotate(-5deg);
    background:var(--gold);
    color:#fff;
  }

  .craft-cta:hover > span{
    transform:rotate(45deg);
    background:var(--gold);
  }

  .craft-main-image:hover img{
    transform:scale(1.09);
    filter:saturate(.92) brightness(.93);
  }

  .craft-floating-card:hover{
    transform:translateY(-6px);
    box-shadow:0 34px 80px rgba(54,37,26,.13);
    border-color:rgba(184,144,90,.4);
  }

  .promise-card:hover{
    transform:translateY(-7px);
    background:rgba(255,251,248,.98);
    border-color:rgba(184,144,90,.34);
    box-shadow:0 32px 78px rgba(71,45,35,.10);
  }

  .promise-card:hover .promise-card-icon{
    transform:rotate(-6deg) scale(1.06);
    background:var(--gold);
    color:#fff;
  }

  .ring-promise-cta:hover > span{
    transform:rotate(45deg);
    background:var(--gold);
  }

  .review-card:hover{
    transform:translateY(-6px);
    border-color:rgba(184,144,90,.36);
    box-shadow:0 30px 78px rgba(70,44,34,.09);
  }

  .reviews-google-link:hover{
    background:rgba(255,251,248,.98);
    border-color:rgba(184,144,90,.5);
    transform:translateY(-2px);
  }

  .reviews-google-link:hover .reviews-google-arrow{
    transform:rotate(45deg);
    background:var(--gold);
  }

  .store-dot:hover{background:rgba(58,45,36,.32)}

  .store-arrow:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:#fff;
  }

  .store-slide.is-active:hover img{transform:scale(1.07)}

  .store-story__cta:hover > span{
    transform:rotate(45deg);
    background:var(--gold);
  }

  .laden-detail__arrow:hover{
    background:rgba(184,144,90,.72);
    border-color:rgba(255,255,255,.6);
    transform:translateY(-50%) scale(1.08);
  }

  .laden-detail__dot:hover{background:rgba(184,144,90,.65)}

  .ig-post[data-pos="1"]:hover,
  .ig-post[data-pos="2"]:hover{ opacity:.92 }

  .ig-stack__nav:hover{
    background:var(--gold);
    color:#fff;
    box-shadow:0 14px 30px -6px rgba(184,144,90,.4);
  }

  .interest-card:hover{
    transform:translateY(-4px);
    border-color:rgba(184,144,90,.42);
    background:#fffdfa;
    box-shadow:0 18px 40px rgba(54,37,28,.06);
  }

  .wizard-next-btn:hover{color:var(--dark-3)}

  .faq-contact-row:hover{transform:translateX(4px)}

  .faq-contact-cta:hover{background:var(--dark-2)}

  .faq-contact-cta:hover > span{
    transform:rotate(45deg);
    background:var(--gold);
  }

  .faq-question:hover{background:rgba(184,144,90,.035)}

  .site-footer__social a:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:#fff;
    transform:translateY(-2px);
  }

  .site-footer__social-wa:hover img{opacity:1}

  .site-footer li a:hover{color:var(--gold-light)}

  .site-footer__bottom a:hover{color:var(--gold-light)}

  .cookie-btn:hover{
    background:rgba(184,144,90,.08);
    color:var(--ink);
    border-color:rgba(184,144,90,.5);
  }

  .cookie-banner .btn-gold.btn-sm:hover{color:var(--dark-3);border-color:var(--gold)}

  .legal-page a:hover{color:var(--gold-2)}

  .booking-fab:hover{
    transform:scale(1.08) translateY(-2px);
    box-shadow:
      0 18px 44px rgba(184,144,90,.52),
      0 6px 16px rgba(71,45,35,.22);
  }

  .booking-fab:hover .booking-fab__label{
    opacity:1;
    transform:translateX(0);
  }

  .booking-modal__close:hover{
    background:#fff;
    transform:rotate(90deg);
  }

  .booking-calendar__nav-btn:hover{background:var(--gold);color:#fff;border-color:var(--gold)}

  .booking-calendar__day.is-free:hover{
    background:rgba(184,144,90,.22);
    transform:scale(1.05);
  }

  .booking-topic:hover{
    border-color:var(--gold);
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(71,45,35,.08);
  }

  .booking-slot:hover{
    background:rgba(184,144,90,.1);
    border-color:var(--gold);
    transform:translateY(-2px);
  }

  .booking-wizard__btn:hover:not(:disabled){
    background:rgba(184,144,90,.08);
    border-color:var(--gold);
  }

  .booking-wizard__btn--primary:hover:not(:disabled){
    background:#9f7f4d;
    border-color:#9f7f4d;
    color:#fff;
    transform:translateY(-1px);
  }

  .welcome-card:hover .card-image img,
  .craft-main-image:hover img{
    filter:brightness(1.12) saturate(1.02) contrast(1);
  }

  .brand-strip:hover .brand-strip__track{
    animation-play-state:paused;      /* sonst wandert das Logo unter dem Zeiger weg */
  }

  .brand-strip__logo:hover{
    opacity:1;
    transform:scale(1.06);
  }

  .brand-strip__logo:hover img{filter:none}

  .new-arrivals__arrow:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:scale(1.06)}

  .new-arrivals__card:hover{
    transform:translateY(-6px);
    border-color:rgba(184,144,90,.3);
    box-shadow:0 24px 60px rgba(71,45,35,.1);
  }

  .emotion-whisper:hover{
    background:rgba(26,18,16,.08);
    color:rgba(26,18,16,.78);
  }

}


/* ================================================================
   MOBILE-GRUNDREGELN  ·  Mobile-Playbook §4 §5 §6
================================================================ */

/* §4 Antippen soll nicht aussehen wie ein Fehler.
   Ohne eigenen aktiven Zustand wirkt die Seite beim Tippen tot,
   und das graue Standardkaestchen passt nicht zur Gestaltung. */
a, button, [role="button"], summary, label[for]{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;          /* nimmt die 300ms Verzoegerung */
}
a:active, button:active, [role="button"]:active{opacity:.72}

/* §5 iOS Safari zoomt in jedes Eingabefeld unter 16px hinein und laesst
   die Seite verschoben zurueck - bei jedem Feld erneut. Ueber
   pointer:coarse, damit der Desktop-Entwurf unveraendert bleibt. */
@media (pointer: coarse){
  /* !important ist hier bewusst gesetzt: Komponentenregeln wie
     .message-card textarea (0,1,1) schlagen jeden generischen Selektor.
     Die Regel soll aber auch Felder erfassen, die spaeter dazukommen,
     statt jede Klasse einzeln aufzuzaehlen. */
  input:not([type="checkbox"]):not([type="radio"]),
  textarea,
  select{ font-size:16px !important }
}

/* §6 Eine Fingerkuppe trifft rund 44x44 Pixel. Alles darunter ist Glueckssache. */
@media (pointer: coarse){
  .site-nav__toggle{min-width:44px;min-height:44px}
  .site-footer__social a{width:44px;height:44px}
  .site-footer__cols a{display:inline-block;padding-block:13px}
  .site-footer__bottom a{
    display:inline-block;
    padding-block:13px;
    min-width:44px;          /* kurze Links wie "AGB" sonst nur 26px breit */
    text-align:center;
  }
  .wizard-back{min-height:44px;padding-inline:16px}
  .btn-gold,
  .hero-primary,
  .hero-secondary{min-height:44px}
  /* Kleine Bedienelemente: Trefferflaeche unsichtbar vergroessern,
     ohne das Aussehen zu aendern (Playbook §6). Punkte sind 9px gross -
     das ist auf dem Telefon nicht zuverlaessig zu treffen. */
  .laden-detail__dot,
  .store-dot,
  .ig-stack__dots button,
  .store-story__dots button,
  .ig-post__more{position:relative}
  .laden-detail__dot::after,
  .store-dot::after,
  .ig-stack__dots button::after,
  .store-story__dots button::after,
  .ig-post__more::after{
    content:"";
    position:absolute;
    inset:-17px -9px;          /* ergibt rund 44px Hoehe bei 9px Punkt */
  }
  .laden-detail__arrow,
  .new-arrivals__arrow,
  .store-arrow,
  .reviews-google-arrow,
  .service-arrow,
  .ig-stack__nav--prev,
  .ig-stack__nav--next,
  .booking-calendar__nav-btn{min-width:44px;min-height:44px}

  /* Links im Fliesstext bleiben die Ausnahme (§6), dafuer klar erkennbar */
  .cookie-banner__copy a{text-decoration:underline;text-underline-offset:3px}
}


/* ================================================================
   ABSCHNITTS-UEBERSCHRIFTEN AUF DEM TELEFON
   Vorher hatte jede Section ihren eigenen Mobil-Wert (40/48/50/54/60px),
   mehrere davon groesser als die Basis clamp(42px,4.8vw,74px).
   Jetzt ein gemeinsamer Wert - die 40px der Schmuckkauf-Ueberschrift.
================================================================ */
@media (max-width:700px){
  .emotion-title,
  .emotion-title-accent,
  .emotion-head--centered .emotion-title,
  .emotion-head--centered .emotion-title-accent,
  .welcome-title,
  .services-title,
  .story-title,
  .story-title-main,
  .story-title-accent,
  .ring-promise-title,
  .reviews-title,
  .faq-luxury-title,
  .contact-title{
    font-size:40px;
    line-height:1.08;
  }
}


/* ================================================================
   KOPFZEILE AUF SCHMALEN BILDSCHIRMEN
   Der Termin-Knopf wurde vom Flex-Layout zusammengedrueckt: 135px
   Platz bei 185px Textbreite - sichtbar als "RMIN VEREINBAR".
   Schuld war nicht die Gesamtbreite, sondern flex-shrink.
================================================================ */
@media (max-width:520px){
  .site-header__inner{gap:14px}
  .site-header .btn-gold,
  .site-header__cta{
    flex-shrink:0;
    padding:11px 13px;
    font-size:9.5px;
    letter-spacing:.1em;
  }
}
@media (max-width:370px){
  /* Ganz schmale Geraete: Knopf weicht dem Menue, der Termin bleibt
     ueber das Menue und den Knopf unten rechts erreichbar. */
  .site-header .btn-gold,
  .site-header__cta{display:none}
}


/* ================================================================
   HERO AUF DEM TELEFON · gestapelt statt ueberlagert
   Im Hochformat beschneidet object-fit:cover ein Querformat so stark,
   dass Personen in der Bildmitte landen - also genau unter der Schrift.
   Senkrecht laesst sich nichts ausweichen, weil cover die Hoehe exakt
   fuellt. Deshalb liegt der Text hier nicht mehr auf dem Bild, sondern
   darunter: Motiv vollstaendig sichtbar, Schrift auf ruhigem Grund.
================================================================ */
@media (max-width:760px){
  .jewelry-hero{
    display:block;
    min-height:0;
    background:var(--creme-white);
    color:var(--ink);
    isolation:auto;
  }

  /* Bildband oben - 4:3 schneidet bei unseren 3:2-Fotos nur die
     aeusseren 5% je Seite ab, Personen bleiben komplett im Bild. */
  .hero-background{
    position:relative;
    inset:auto;
    z-index:0;
    width:100%;
    aspect-ratio:4/3;
    height:auto;
  }
  .hero-background img{
    position:relative;
    width:100%;height:100%;
    object-position:center 42%;
    transform:none;
    filter:none;
    animation:none;
  }
  .hero-overlay,
  .hero-vignette,
  .hero-light,
  .hero-scroll{display:none}

  /* Weicher Auslauf statt harter Kante zwischen Bild und Text */
  .hero-background::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:-1px;
    height:40%;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(180deg,
      rgba(251,246,239,0)    0%,
      rgba(251,246,239,.10) 30%,
      rgba(251,246,239,.30) 52%,
      rgba(251,246,239,.58) 70%,
      rgba(251,246,239,.84) 86%,
      var(--creme-white)   100%);
  }

  /* Textblock darunter */
  .hero-content{
    width:min(92%,640px);
    margin:0 auto;
    padding:clamp(30px,7vw,46px) 0 clamp(26px,6vw,38px);
    text-align:center;
  }
  .hero-eyebrow{color:var(--gold-2);margin-bottom:18px}
  /* Hero-Ueberschrift auf die Groesse der uebrigen Abschnitts-
     ueberschriften bringen (40px). Auf den Unterseiten stand sie
     bei 58px - gestapelt ergab das allein 388px Ueberschrift. */
  .hero-title,
  .hero-title-line,
  .hero-title-accent,
  .jewelry-hero--split .hero-title{
    font-size:40px;
    line-height:1.08;
    letter-spacing:-.02em;
  }
  .hero-title,
  .hero-title-line{color:var(--ink);text-shadow:none}
  .hero-title-accent{color:var(--gold-2);text-shadow:none}
  .hero-lead,
  .jewelry-hero .hero-lead,
  .jewelry-hero--split .hero-lead{color:var(--muted);text-shadow:none;margin-top:18px}
  .jewelry-hero--split .hero-title,
  .jewelry-hero--split .hero-eyebrow{text-shadow:none}

  /* Der Kopfbereich ist fuer dunkle Heros gebaut: weisses Logo,
     helle Navigation, transparenter Grund. Ueber dem hellen Bildband
     waere davon nichts zu sehen - deshalb hier von Anfang an die
     Darstellung, die sonst erst beim Scrollen greift. */
  .site-header{
    background:rgba(251,246,239,.94);
    backdrop-filter:blur(14px);
    box-shadow:0 6px 24px rgba(58,38,24,.06);
  }
  .site-header .site-logo img{filter:brightness(0) invert(.15)}
  .site-header .site-nav a{color:var(--ink)}
  .site-header .site-nav__toggle span{background:var(--ink)}
  .site-header .btn-gold{color:var(--gold-2);border-color:var(--gold-2)}
  .hero-actions{
    margin-top:30px;
    flex-direction:column;     /* sonst streckt Flex den Zweitlink auf volle Breite */
    align-items:center;
    gap:16px;
  }
  .hero-primary{width:100%;max-width:330px}
  .hero-secondary{
    width:auto;                /* Unterstrich soll den Text umfassen, nicht die Karte */
    flex:0 0 auto;
    height:auto;
    padding:8px 4px;
    font-size:11px;
    letter-spacing:.18em;
  }
  .hero-secondary::after{left:4px;right:4px;bottom:2px}
  /* Hervorhebung im Fliesstext und der Termin-Knopf waren fuer den
     dunklen Hero gefaerbt - auf hellem Grund unlesbar. */
  .hero-lead strong{color:var(--ink)}
  .hero-primary,
  .hero-primary .btn-text{color:var(--ink)}
  .hero-primary{border-color:var(--gold-2)}
  .hero-secondary{color:var(--ink)}
  .hero-secondary::after{background:rgba(26,22,19,.28)}
  .hero-secondary:hover{color:var(--gold-2)}

  /* Vertrauenszeile aus der absoluten Lage in den Fluss holen.
     Die Grundregel zentriert sie mit translateX(-50%) - und die
     trustReveal-Animation haelt diesen Wert als "forwards" fest.
     Eine Deklaration allein genuegt deshalb nicht, es braucht eine
     eigene Keyframe-Folge ohne waagerechten Versatz. */
  .hero-trust{
    position:static;
    animation-name:trustRevealFlach;
    width:min(92%,640px);
    margin:0 auto;
    padding:18px 0 clamp(30px,7vw,44px);
    border-top:1px solid var(--line);
    gap:14px 10px;
  }
  .trust-item{color:var(--muted)}
  .trust-item strong{color:var(--ink)}
}

@keyframes trustRevealFlach{
  from{opacity:0;transform:translateY(15px)}
  to{opacity:1;transform:translateY(0)}
}


/* Kartengrund auf dem Telefon deckend halten: der Verlauf im Bild
   startet mit #fff7f4, die Karte lag bei 90% Deckkraft - der
   Tonunterschied zeichnete sich als Linie ab. */
@media (max-width:700px){
  .welcome-card{background:#fff7f4}
  .card-image{height:56%}
}


/* ================================================================
   Stiller Zugang zum internen Bereich
   Sitzt in der Fusszeile hinter dem Copyright. Bewusst zurueckhaltend:
   Wer ihn nicht sucht, nimmt ihn nicht wahr. Ein echter Schutz ist das
   nicht und soll es auch nicht sein - der liegt beim Passwort.
================================================================ */
.footer-key{
  display:inline-flex;
  align-items:center;
  line-height:0;
  margin-left:10px;
  padding:3px 5px;
  border-radius:6px;
  opacity:.22;
  transition:opacity .35s ease, transform .35s var(--ease);
}
.footer-key img{
  height:11px;
  width:auto;
  display:block;
  filter:brightness(0) invert(1);
}
.footer-key:hover,
.footer-key:focus-visible{
  opacity:.85;
  transform:translateY(-1px);
}
.footer-key:focus-visible{
  outline:2px solid var(--gold-light);
  outline-offset:3px;
}


/* Der schwebende Terminknopf sass genau auf „Alle akzeptieren“.
   Solange der Banner offen ist, weicht er zur Seite. */
body:has(.cookie-banner.is-visible) .booking-fab{
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(.9);
  pointer-events: none;
}
.booking-fab{
  transition: opacity .3s var(--ease, ease), transform .3s var(--ease, ease),
              visibility .3s;
}

/* ===== Cookie-Einstellungen in der Fusszeile ===== */
/* Muss ein button sein, weil der Widerruf kein Seitenaufruf ist.
   Sieht aus wie die Links daneben. */
.footer-cookie{
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  opacity: .85;
  transition: opacity .25s ease, color .25s ease;
}
.footer-cookie:hover{ opacity: 1; color: var(--gold); }
.footer-cookie:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 3px;
}
