/* ================================================================
   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-gold:hover{background:var(--gold-2)}
.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-outline-white{background:transparent;border-color:#fff;color:#fff}
.btn-outline-white:hover{background:#fff;color:var(--ink)}
.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:34px;
}
.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;
}
.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-nav a:hover{color:#fff}
.site-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.site-header__cta{font-size:10px;padding:11px 22px;letter-spacing:.24em}

/* Scrolled-State: cream Hintergrund, dunkles Logo/Nav */
.site-header.is-scrolled{
  padding:12px 0;
  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);
}
.site-header .btn-gold:hover,
.site-header.is-scrolled .btn-gold:hover{color:var(--dark-3);border-color:var(--gold)}

/* 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,.08),
      rgba(0,0,0,.28) 50%,
      rgba(0,0,0,.58) 100%),
    linear-gradient(180deg,
      rgba(4,3,2,.22) 0%,
      rgba(4,3,2,.12) 35%,
      rgba(4,3,2,.34) 72%,
      rgba(4,3,2,.70) 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;
}

/* 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);
}

/* Headline */
.hero-title{
  margin:0 auto;
  max-width:980px;
  font-family:var(--display);
  font-size:clamp(56px,7.6vw,124px);
  font-weight:400;
  line-height:.92;
  letter-spacing:-.045em;
  text-align:center;
  color:#fff;
}
.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:var(--muted-light);
  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;
  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}

.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);
}

/* 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:hover::after,
.btn-gold:hover::after{left:150%}

.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}
.jewelry-hero .hero-primary:hover,
.s-solution .btn-gold:hover,
.s-final .btn-gold:hover{color:var(--dark-3)}

/* 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)}
.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)}

/* 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;
}
.hero-secondary:hover{color:#fff}
.hero-secondary:hover::after{
  background:var(--gold-light);
  animation:lineSwap .75s var(--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);
}
.hero-secondary:hover svg{transform:translateX(5px)}

/* 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,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:9px;
  text-transform:uppercase;letter-spacing:.13em;
  color:rgba(255,255,255,.52);
}
.trust-item strong{color:#fff;font-weight:500}
.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:1fr 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(520px,.95fr) minmax(540px,.85fr);
  gap:clamp(40px,5vw,90px);
  align-items:center;
}

/* --- Visual ---------------------------------------------------- */
.story-visual{
  position:relative;
  min-height:clamp(690px,64vw,900px);
}
.story-image{
  position:absolute;
  left:0;bottom:0;
  width:92%;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:hover img{
  transform:scale(1.14);
  filter:saturate(1) brightness(.96);
}
.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(58px,6.2vw,98px);
  color:var(--ink);
}
.story-title-accent{
  display:block;
  margin-top:8px;
  font-size:clamp(60px,6.6vw,108px);
  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,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: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-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:hover .story-value-icon{
  background:var(--gold);
  color:#fff;
}
.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:hover .story-link-arrow{
  transform:rotate(45deg);
  background:var(--gold);
}
.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: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-title-main{font-size:54px}
  .story-title-accent{font-size:60px}
  .story-values{grid-template-columns: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%);
}
.emotion-visual-bg:hover img{
  transform:scale(1.09);
  filter:saturate(1) brightness(1.02);
}
/* 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 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:hover{transform:none}
.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;
}
.emotion-snippet:hover .snippet-number{
  background:var(--gold);
  color:#fff;
  transform:rotate(-4deg) scale(1.04);
}

/* 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: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:720px){
  .emotion-section{padding:80px 0 100px}
  .emotion-inner{width:calc(100% - 28px)}
  .emotion-title{font-size:40px}
  .emotion-visual-bg{min-height:420px}
  .emotion-snippet{grid-template-columns:38px 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(80px,8vw,120px);
  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(56px,6.6vw,102px);
  line-height:.92;letter-spacing:-.055em;
  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,1fr);
  gap:clamp(16px,1.5vw,22px);
}

/* Card */
.welcome-card{
  position:relative;
  min-height:540px;
  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;
}
.welcome-card:hover{
  transform:translateY(-10px);
  border-color:rgba(184,144,90,.32);
  box-shadow:0 40px 90px rgba(75,48,38,.12);
}

/* Card-Image im Hintergrund, faded von links */
.card-image{
  position:absolute;
  right:0;top:0;bottom:0;
  width:58%;
  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;
}
.welcome-card:hover .card-image img{
  transform:scale(1.10);
  filter:saturate(.95) brightness(.97);
}
/* Papierfarbener Fade von links über das Bild */
.card-image::before{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(90deg,
    #fff7f4 0%,
    rgba(255,247,244,.98) 15%,
    rgba(255,247,244,.90) 30%,
    rgba(255,247,244,.64) 47%,
    rgba(255,247,244,.22) 68%,
    transparent 100%);
}
.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;
}
.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}
.welcome-card:hover .card-icon{
  transform:rotate(-6deg) scale(1.06);
  background:var(--gold);
  color:#fff;
}

.card-label{
  display:block;
  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;
  font-family:var(--accent);
  font-size:clamp(28px,2.6vw,42px);
  font-weight:500;
  line-height:1.05;letter-spacing:-.04em;
  color:var(--ink);
}
.card-content p{
  margin-top:17px;
  font-family:var(--sans);
  font-size:13.5px;line-height:1.7;
  color:var(--muted);
}
.card-foot{
  display:flex;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: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-title{font-size:50px}
  .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{
    background:linear-gradient(180deg,
      #fff7f4 0%,
      rgba(255,247,244,.92) 18%,
      rgba(255,247,244,.50) 45%,
      transparent 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(56px,6.6vw,102px);
  font-weight:500;
  line-height:.92;letter-spacing:-.055em;
}
.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:.92fr 1.15fr .92fr;
  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)}
.service-card:hover{
  transform:translateY(-12px);
  box-shadow:0 42px 100px rgba(67,42,30,.16);
}
.service-card--featured:hover{transform:translateY(-38px)}

/* 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;
}
.service-card:hover .service-image img{
  transform:scale(1.10);
  filter:saturate(.98) brightness(.85);
}

/* 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-card:hover .service-icon{
  transform:rotate(-6deg) scale(1.07);
  background:var(--gold);
  color:#18110c;
}
.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;
}
.service-eyebrow{
  display:block;
  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;
  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-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-top:16px;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.7;
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}

/* Meta-Tags */
.service-meta{
  display:flex;flex-wrap:wrap;gap:7px;
  margin-top:20px;
}
.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-card:hover .service-arrow{
  transform:rotate(45deg);
  background:var(--gold);
  color:#18110c;
}
.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:hover > span{
  transform:rotate(45deg);
  background:var(--gold);
}
.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: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)}
  .services-title{font-size:50px}
  .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(52px,5.4vw,86px);
  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,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:hover{
  transform:translateY(-4px);
  background:rgba(255,252,248,.9);
  border-color:rgba(184,144,90,.32);
}
.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:hover .craft-detail-icon{
  transform:rotate(-5deg);
  background:var(--gold);
  color:#fff;
}
.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:hover > span{
  transform:rotate(45deg);
  background:var(--gold);
}
.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-image:hover img{
  transform:scale(1.09);
  filter:saturate(.92) brightness(.93);
}
.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 1fr auto;
  gap:22px;
  align-items:center;
  transition:transform .55s var(--ease), box-shadow .55s var(--ease), border-color .4s ease;
}
.craft-floating-card:hover{
  transform:translateY(-6px);
  box-shadow:0 34px 80px rgba(54,37,26,.13);
  border-color:rgba(184,144,90,.4);
}
.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:1fr;gap:80px}
  .craft-copy{max-width:800px}
  .craft-image-wrap{aspect-ratio:5/4;min-height:520px}
}
@media (max-width:720px){
  .craft-section{padding:90px 0 110px}
  .craft-inner{width:calc(100% - 28px)}
  .craft-title{font-size:46px}
  .craft-details{grid-template-columns: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: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(56px,6.6vw,102px);
  font-weight:500;
  line-height:.92;letter-spacing:-.055em;
}
.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;
}
.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);
}

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

/* 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:hover .promise-card-icon{
  transform:rotate(-6deg) scale(1.06);
  background:var(--gold);
  color:#fff;
}
.promise-card-icon svg{width:18px;stroke-width:1.4}
.promise-card-index{
  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:auto;
}
.promise-card-label{
  display:block;
  margin-bottom:9px;
  font-family:var(--sans);
  font-size:9px;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--muted);
}
.promise-card h3{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(26px,2.5vw,40px);
  font-weight:500;
  line-height:1.06;letter-spacing:-.035em;
  color:var(--ink);
}
.promise-card p{
  margin-top:14px;
  max-width:560px;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.7;
  color:var(--muted);
}

/* Foot */
.promise-card-foot{
  position:relative;z-index:2;
  display:flex;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{
  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:hover > span{
  transform:rotate(45deg);
  background:var(--gold);
}
.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-title{font-size:50px}
  .ring-promise-grid{grid-template-columns: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(90%,1100px);
  text-align:center;
}
.jewel-breaker__headline{
  margin:0;
  font-family:var(--accent);
  font-size:clamp(50px,6vw,94px);
  font-weight:400;
  line-height:.98;letter-spacing:-.045em;
  color:#f8f3ed;
}
.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);
}
.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:768px){
  .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,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-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:80px;
  align-items:end;
  margin-bottom:70px;
}
.reviews-header-copy{max-width:850px}
.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(52px,5.6vw,92px);
  line-height:.94;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;
}
.review-card:hover{
  transform:translateY(-6px);
  border-color:rgba(184,144,90,.36);
  box-shadow:0 30px 78px rgba(70,44,34,.09);
}

/* 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-link:hover{
  background:rgba(255,251,248,.98);
  border-color:rgba(184,144,90,.5);
  transform:translateY(-2px);
}
.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;
}
.reviews-google-link:hover .reviews-google-arrow{
  transform:rotate(45deg);
  background:var(--gold);
}

/* 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:1fr;gap:36px;align-items:start}
  .google-summary{max-width:340px}
  .reviews-layout{grid-template-columns:1fr}
  .review-card--featured{min-height:520px}
  .reviews-side{display:grid;grid-template-columns:1fr 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: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:hover{background:rgba(58,45,36,.32)}
.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:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
}
.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.is-active:hover img{transform:scale(1.07)}
.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:hover > span{
  transform:rotate(45deg);
  background:var(--gold);
}
.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: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}
}

/* S9 · Final CTA */
/* ================================================================
   S9 · FINAL CTA (Contact Wizard — Abschluss)
   ================================================================ */
.contact-final{
  position:relative;
  min-height:100vh;
  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;
}

/* 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(52px,5.6vw,92px);
  line-height:.94;letter-spacing:-.05em;
  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:hover{
  transform:translateY(-4px);
  border-color:rgba(184,144,90,.42);
  background:#fffdfa;
  box-shadow:0 18px 40px rgba(54,37,28,.06);
}
.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 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;
}
.wizard-next-btn:hover{color:var(--dark-3)}

/* 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: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}
  .contact-title{font-size:48px}
  .wizard{min-height:auto;padding:22px}
  .interest-grid,
  .contact-fields-grid,
  .message-grid{grid-template-columns: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(52px,5.8vw,92px);
  line-height:.94;letter-spacing:-.05em;
  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(30px,2.9vw,44px);
  line-height:1.04;letter-spacing:-.04em;
  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-contact-options{
  margin-top:35px;
  border-top:1px solid rgba(184,144,90,.18);
}
.faq-contact-row{
  display:grid;
  grid-template-columns:38px 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:hover{transform:translateX(4px)}
.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 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:hover{background:var(--dark-2)}
.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:hover > span{
  transform:rotate(45deg);
  background:var(--gold);
}
.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 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:hover{background:rgba(184,144,90,.035)}
.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:780px){
  .faq-luxury-section{padding:90px 0 110px}
  .faq-luxury-inner{width:calc(100% - 28px)}
  .faq-luxury-title{font-size:50px}
  .faq-luxury-layout{grid-template-columns: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 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:1.4fr 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 a:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
  transform:translateY(-2px);
}
.site-footer__social svg{width:16px;stroke-width:1.5}

.site-footer__cols{
  display:grid;
  grid-template-columns:repeat(3,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 li a:hover{color:var(--gold-light)}

.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;
}
.site-footer__bottom a:hover{color:var(--gold-light)}

@media (max-width:900px){
  .site-footer__inner{grid-template-columns:1fr;gap:50px}
  .site-footer__cols{grid-template-columns:1fr 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 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-btn:hover{
  background:rgba(184,144,90,.08);
  color:var(--ink);
  border-color:rgba(184,144,90,.5);
}
.cookie-banner .btn-gold.btn-sm{
  padding:10px 22px;
  font-size:10px;
  letter-spacing:.20em;
  color:var(--gold-2);
  border-color:var(--gold-2);
}
.cookie-banner .btn-gold.btn-sm:hover{color:var(--dark-3);border-color:var(--gold)}

@media (max-width:720px){
  .cookie-banner{
    left:12px;right:12px;bottom:12px;
    max-width:none;
  }
  .cookie-banner__inner{
    grid-template-columns: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:1fr;gap:40px}
  .cards-3,.test-grid{grid-template-columns:1fr}
  .icons-grid{grid-template-columns:1fr}
  .icons-grid .ig{border-right:none}
  .promise-grid{grid-template-columns:1fr}
  .stats .wrap{grid-template-columns:repeat(2,1fr);gap:30px}
  .photo-grid{grid-template-columns:repeat(2,1fr)}
  footer .cols{grid-template-columns:1fr 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:1fr 1fr;
    gap:15px;padding-top:18px;
  }
  .trust-item::after{display:none}
  .hero-scroll{display:none}
  .hero-background img{object-position:63% center}
}
