/* ============ RW Fahrzeugveredelung — monochrome Luxus-Basis ============ */
@font-face{font-family:'Playfair Display';src:url('../fonts/playfair-display-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('../fonts/playfair-display-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}

:root{
  --black:#0a0a0a; --ink:#141414; --white:#fafafa; --paper:#f4f4f4;
  --silver:#c0c0c0; --silver-dim:#8a8a8a; --line:rgba(192,192,192,.25);
  --display:'Playfair Display',Georgia,serif;
  --body:'Inter',system-ui,-apple-system,sans-serif;
  --wrap:1180px; --pad:clamp(1.25rem,4vw,2.5rem);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{font-family:var(--body);font-weight:400;font-size:1.0625rem;line-height:1.7;color:var(--ink);background:var(--white)}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.skip-link{position:absolute;left:-999px;top:0;background:var(--black);color:var(--white);padding:.6rem 1rem;z-index:100}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--silver);outline-offset:3px}

h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.12;letter-spacing:.01em}
h2{font-size:clamp(1.9rem,4.2vw,3rem);margin-bottom:1rem}
h3{font-size:1.15rem;font-weight:500;margin-bottom:.4rem}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--silver-dim);margin-bottom:.9rem}
.section-intro{max-width:46ch;margin-bottom:2.2rem;color:inherit;opacity:.85}
section{padding-block:clamp(4rem,9vw,7.5rem)}
.section--dark{background:var(--black);color:var(--white)}
.section--dark .eyebrow{color:var(--silver)}

/* Buttons */
.btn{display:inline-block;font-weight:600;font-size:.95rem;letter-spacing:.04em;text-decoration:none;padding:.85rem 1.7rem;border:1px solid transparent;position:relative;overflow:hidden;transition:color .3s,border-color .3s,background .3s;cursor:pointer}
.btn--primary{background:var(--white);color:var(--black);border-color:var(--white)}
.btn--primary:hover{background:var(--silver)}
.btn--ghost{border-color:var(--silver-dim);color:inherit;background:transparent}
.btn--ghost:hover{border-color:var(--silver)}
.btn--big{padding:1.05rem 2rem;font-size:1.02rem}
section:not(.section--dark) .btn--primary{background:var(--black);color:var(--white);border-color:var(--black)}
section:not(.section--dark) .btn--primary:hover{background:#2c2c2c}
/* Chrom-Schimmer */
.btn--primary::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-110%);transition:transform .6s}
.btn--primary:hover::after{transform:translateX(110%)}

/* ============ Nav ============ */
.nav{position:fixed;inset-inline:0;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:.9rem var(--pad);background:linear-gradient(rgba(10,10,10,.92),rgba(10,10,10,.75));backdrop-filter:blur(8px);border-bottom:1px solid var(--line);color:var(--white)}
.nav__brand{display:flex;align-items:baseline;gap:.6rem;text-decoration:none}
.nav__initials{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:.06em}
.nav__sub{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--silver)}
.nav__list{display:flex;gap:1.8rem;list-style:none;align-items:center}
.nav__list a{text-decoration:none;font-size:.9rem;font-weight:600;letter-spacing:.05em;opacity:.85;transition:opacity .25s}
.nav__list a:hover{opacity:1}
.nav__cta{border:1px solid var(--silver-dim);padding:.5rem 1.1rem;transition:border-color .25s}
.nav__cta:hover{border-color:var(--silver)}
.nav__burger{display:none;background:none;border:0;width:2.75rem;height:2.75rem;position:relative;cursor:pointer;margin-right:-.4rem}
.nav__burger span{position:absolute;left:0;right:0;height:2px;background:var(--white);transition:transform .3s,top .3s}
.nav__burger span:first-child{top:1.05rem;left:.4rem;right:.4rem}
.nav__burger span:last-child{top:1.65rem;left:.4rem;right:.4rem}
.nav__burger[aria-expanded="true"] span:first-child{top:1.35rem;transform:rotate(45deg)}
.nav__burger[aria-expanded="true"] span:last-child{top:1.35rem;transform:rotate(-45deg)}
.mobilemenu{position:fixed;inset:0;z-index:60;background:rgba(8,8,8,.98);backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;gap:.35rem;padding:5.5rem var(--pad) var(--pad);overflow-y:auto;animation:mm-in .32s ease both}
@keyframes mm-in{from{opacity:0}to{opacity:1}}
.mobilemenu a{color:var(--white);text-decoration:none;font-family:var(--display);font-size:1.55rem;padding:.72rem 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(10px);animation:mm-item .38s ease forwards}
.mobilemenu a:last-of-type{border-bottom:0}
.mobilemenu a:nth-child(1){animation-delay:.06s}
.mobilemenu a:nth-child(2){animation-delay:.11s}
.mobilemenu a:nth-child(3){animation-delay:.16s}
.mobilemenu a:nth-child(4){animation-delay:.21s}
.mobilemenu a:nth-child(5){animation-delay:.26s}
.mobilemenu a:nth-child(6){animation-delay:.31s}
@keyframes mm-item{to{opacity:1;transform:none}}
.mobilemenu__foot{margin-top:1.8rem;font-size:.9rem;color:var(--silver);line-height:1.9}
.mobilemenu__foot a{font-family:var(--body);font-size:.95rem;border:0;padding:0;animation:none;opacity:1;transform:none;color:var(--silver)}


/* ============ Hero ============ */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--white);padding:0;overflow:hidden}
.hero__media{position:absolute;inset:0}
.hero__img,.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%}
.hero__video{opacity:0;transition:opacity .8s}
.hero__video.is-playing{opacity:1}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.15) 45%,rgba(10,10,10,.82) 100%)}
.hero__content{position:relative;z-index:2;padding:0 var(--pad) clamp(4rem,10vh,7rem);max-width:var(--wrap);margin-inline:auto;width:100%}
.hero__eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--silver);margin-bottom:1.1rem}
.hero__title{font-size:clamp(2.6rem,7.5vw,5.2rem);margin-bottom:1.1rem}
.hero__title .line{display:inline-block}
.hero__sub{max-width:44ch;font-size:clamp(1rem,1.4vw,1.15rem);opacity:.9;margin-bottom:2rem}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero__hint{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);width:1px;height:52px;background:var(--line);z-index:2}
.hero__hint span{position:absolute;top:0;left:-1px;width:3px;height:14px;background:var(--silver);animation:drop 2.2s ease-in-out infinite}
@keyframes drop{0%{top:0;opacity:0}25%{opacity:1}100%{top:40px;opacity:0}}

/* ============ Keramik (Signature: Liquid Coat) ============ */
.keramik__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.keramik h2{max-width:14ch}
.keramik__points{list-style:none;margin:1.6rem 0 2rem}
.keramik__points li{padding:.75rem 0 .75rem 1.6rem;border-bottom:1px solid var(--line);position:relative}
.keramik__points li::before{content:'';position:absolute;left:0;top:1.25rem;width:.65rem;height:1px;background:var(--silver)}
.coat{position:relative;overflow:hidden;aspect-ratio:3/4;background:#111}
.coat__base,.coat__gloss{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.coat__base{filter:brightness(.55) saturate(.75)}
.coat__gloss{filter:brightness(1.05) contrast(1.1) saturate(1.12);clip-path:inset(0 100% 0 0)}
.coat__edge{position:absolute;top:0;bottom:0;left:0;width:3px;background:linear-gradient(180deg,transparent,var(--silver),transparent);opacity:0;transform:translateX(0)}
.coat__drops{position:absolute;inset:0;pointer-events:none}
.coat__drops i{position:absolute;width:7px;height:10px;border-radius:50% 50% 55% 55%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.85),rgba(255,255,255,.12) 65%);opacity:0}
.keramik__caption{margin-top:.9rem;font-size:.85rem;color:var(--silver-dim)}

/* ============ Leistungen ============ */
.services{background:var(--paper)}
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.card{background:var(--paper);padding:1.9rem 1.6rem;position:relative;overflow:visible;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.card p{font-size:.95rem;opacity:.8}
.card a{color:inherit}

/* ============ Vorher/Nachher ============ */
.ba{position:relative;max-width:560px;margin-inline:auto;aspect-ratio:3/4;overflow:hidden;user-select:none}
.ba__after,.ba__before{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba__beforewrap{position:absolute;inset:0;overflow:hidden;width:50%}
.ba__before{width:calc(100% * var(--ba-inv,2))}
.ba__handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--silver);pointer-events:none}
.ba__handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2.6rem;height:2.6rem;border:1px solid var(--silver);border-radius:50%;background:rgba(10,10,10,.55);backdrop-filter:blur(3px)}
.ba__handle span::before,.ba__handle span::after{content:'';position:absolute;top:50%;width:.5rem;height:.5rem;border-top:1px solid var(--silver);border-left:1px solid var(--silver)}
.ba__handle span::before{left:.5rem;transform:translateY(-50%) rotate(-45deg)}
.ba__handle span::after{right:.5rem;transform:translateY(-50%) rotate(135deg)}
.ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.ba__label{position:absolute;bottom:.9rem;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .7rem;background:rgba(10,10,10,.6);color:var(--white)}
.ba__label--before{left:.9rem}
.ba__label--after{right:.9rem}
.results__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
.results__gallery figure{position:relative;overflow:hidden}
.results__gallery img{aspect-ratio:3/4;object-fit:cover;transition:transform .6s}
.results__gallery figure:hover img{transform:scale(1.04)}
.results__gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:.7rem .9rem;font-size:.8rem;background:linear-gradient(transparent,rgba(10,10,10,.8));color:var(--white)}

/* ============ Über ============ */
.about__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.about__portrait img{aspect-ratio:3/4;object-fit:cover}
.about__quote{font-family:var(--display);font-weight:500;font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.45;margin:1.4rem 0;padding-left:1.2rem;border-left:2px solid var(--silver)}
.about__stats{display:flex;gap:3rem;margin-top:2.2rem}
.stat{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.15rem}
.stat__num,.stat__plus{font-family:var(--display);font-weight:700;font-size:2.6rem;line-height:1}
.stat__label{grid-column:1/-1;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-dim);margin-top:.4rem}

/* ============ Ablauf ============ */
.process{position:relative}
.process__steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.step{counter-increment:step;border-top:1px solid var(--line);padding-top:1.4rem;position:relative}
.step::before{content:counter(step,decimal-leading-zero);font-family:var(--display);font-weight:500;font-size:1rem;color:var(--silver);display:block;margin-bottom:.8rem;letter-spacing:.1em}
.step h3{color:var(--white)}
.step p{opacity:.82;font-size:.97rem}

/* ============ Zielgruppe ============ */
.audience__grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:clamp(1.4rem,3vw,2.5rem);align-items:center}
.audience__img img{aspect-ratio:3/4;object-fit:cover}
.audience__text{text-align:center;padding-inline:.5rem}
.audience__text .eyebrow{margin-inline:auto}

/* ============ Kontakt ============ */
.contact__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.contact__actions{display:flex;flex-direction:column;gap:.9rem;max-width:22rem;margin-bottom:2rem}
.contact__actions .btn{text-align:center}
.contact__address{font-style:normal;color:var(--silver);line-height:1.9}
.map{aspect-ratio:4/3;background:#141414;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.map iframe{width:100%;height:100%;border:0}
.map__placeholder{text-align:center;padding:2rem;max-width:34ch}
.map__note{font-size:.82rem;color:var(--silver-dim);margin:.7rem 0 1.2rem}
.map__note a{color:var(--silver)}

/* ============ Footer ============ */
.footer{background:#060606;color:var(--silver);border-top:1px solid var(--line);padding-block:2.2rem;font-size:.88rem}
.footer__grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
.footer__brand{font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--white)}
.footer__brand span{font-family:var(--body);font-weight:400;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--silver-dim)}
.footer a{color:var(--silver)}

/* ============ Rechtsseiten ============ */
.legal{max-width:760px;margin-inline:auto;padding:9rem var(--pad) 5rem}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:2rem}
.legal h2{font-size:1.3rem;margin:2.2rem 0 .6rem}
.legal p,.legal li{margin-bottom:.8rem}
.legal ul{padding-left:1.2rem}
.legal .todo{background:#fff3cd;border:1px solid #e0c76a;padding:.7rem 1rem;font-size:.9rem}

/* ============ Responsive ============ */
@media (max-width:960px){
  .keramik__grid,.about__grid,.contact__grid{grid-template-columns:1fr}
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .audience__grid{grid-template-columns:1fr 1fr}
  .audience__text{grid-column:1/-1;order:-1}
  .process__steps{grid-template-columns:1fr;gap:1.6rem}
}
@media (max-width:680px){
  .nav__list{display:none}
  .nav__burger{display:block}
  .services__grid{grid-template-columns:1fr}
  .audience__grid{grid-template-columns:1fr}
  .results__gallery{grid-template-columns:1fr}
  .about__stats{gap:2rem}
}
@media (min-width:681px){.mobilemenu{display:none!important}}

/* Reduced Motion: Endzustände direkt */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mobilemenu,.mobilemenu a{animation:none!important;opacity:1!important;transform:none!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .coat__gloss{clip-path:inset(0 0 0 0)!important}
  .hero__video{display:none}
}

/* Inline-Video-Loops in der Galerie */
.loopvid{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;background:#111}

/* ============ Unterseiten (Leistungen) ============ */
.subpage main{padding-top:0}
.detail{padding-top:9rem;padding-bottom:3.5rem}
.detail h1{font-family:var(--display);font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;margin-bottom:1rem;max-width:18ch}
.detail__claim{font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--silver);max-width:50ch}
.breadcrumb{font-size:.82rem;color:var(--silver-dim);margin-bottom:2rem}
.breadcrumb a{color:var(--silver-dim);text-decoration:none}
.breadcrumb a:hover{color:var(--silver)}
.detail__body{background:var(--white);padding-block:clamp(3rem,6vw,5rem)}
.detail__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.detail__text h2{font-size:1.5rem;margin-top:2.2rem}
.detail__text .keramik__points li{border-color:rgba(20,20,20,.14)}
.detail__hint{margin-top:2rem;padding:1.1rem 1.3rem;border-left:2px solid var(--silver-dim);background:var(--paper);font-size:.95rem}
.detail__cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem}
.detail__media{display:grid;gap:1.4rem;position:sticky;top:6rem}
.detail__fig{position:relative;overflow:hidden}
.detail__fig img,.detail__fig video{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .6s}
.detail__fig:hover img{transform:scale(1.03)}
.detail__fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:.65rem .9rem;font-size:.78rem;background:linear-gradient(transparent,rgba(10,10,10,.8));color:var(--white)}
.detail__prevnext{display:flex;justify-content:space-between;gap:1rem;margin-top:3.5rem;padding-top:1.6rem;border-top:1px solid rgba(20,20,20,.14);font-weight:600;font-size:.92rem}
.detail__prevnext a{text-decoration:none;color:var(--ink);opacity:.75;transition:opacity .25s}
.detail__prevnext a:hover{opacity:1}
@media (max-width:960px){.detail__grid{grid-template-columns:1fr}.detail__media{position:static;grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.detail__media{grid-template-columns:1fr}}

/* ============ Karten: Basis für Leistungs-Effekte ============ */
a.card{text-decoration:none;color:inherit;display:flex;flex-direction:column;min-height:15.5rem}
.card h3{margin-bottom:.5rem}
.card p{flex:1}
.card__fx{position:absolute;left:6%;right:6%;top:-74px;height:74px;pointer-events:none;z-index:3}
.card__more{display:inline-block;margin-top:1rem;font-size:.82rem;font-weight:600;letter-spacing:.08em;color:var(--silver-dim);transition:color .3s,transform .3s}
.card:hover .card__more{color:var(--ink);transform:translateX(4px)}
.card{transition:background .35s ease}
.card:hover{background:#ececec;z-index:2}

/* ============ Einheitlicher Schaum-Effekt: Karten schäumen über ============ */
.fx-bubble{position:absolute;bottom:0;border-radius:50%;background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.95),rgba(225,225,225,.3) 68%);border:1px solid rgba(255,255,255,.5);box-shadow:0 0 6px rgba(255,255,255,.25);animation:bubble-rise var(--dur,1.8s) ease-in forwards;opacity:0}
@keyframes bubble-rise{0%{transform:translateY(0) scale(.55);opacity:0}14%{opacity:.95}80%{opacity:.85}100%{transform:translateY(-72px) scale(1.08);opacity:0}}

/* Seiten-Übergang */
body{animation:page-in .55s ease both}
@keyframes page-in{from{opacity:0}to{opacity:1}}
body.page-out{animation:page-out .3s ease both}
@keyframes page-out{to{opacity:0}}
@media (prefers-reduced-motion:reduce){body,body.page-out{animation:none}}

/* ================= NAVIGATION: Mega-Submenü ================= */
.nav__list .has-sub{position:relative}
.submenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);opacity:0;visibility:hidden;padding-top:1.1rem;transition:opacity .3s,transform .3s,visibility .3s}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.submenu__inner{background:rgba(12,12,12,.97);backdrop-filter:blur(14px);border:1px solid var(--line);padding:.55rem;display:grid;grid-template-columns:1fr 1fr;gap:1px;min-width:32rem;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.submenu__inner a{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;font-size:.88rem;font-weight:400;opacity:.8;transition:background .25s,opacity .25s,padding-left .25s;white-space:nowrap}
.submenu__inner a:hover{background:rgba(192,192,192,.08);opacity:1;padding-left:1.2rem}
.submenu__num{font-family:var(--display);font-size:.72rem;color:var(--silver-dim);letter-spacing:.08em}

/* ================= Seiten-Header (Unterseiten) ================= */
.phead{padding-top:9.5rem;padding-bottom:clamp(3rem,7vw,5.5rem)}
.phead h1{font-size:clamp(2.3rem,6vw,4.4rem);line-height:1.06;margin-bottom:1.3rem}
.phead__lead{max-width:58ch;font-size:clamp(1rem,1.4vw,1.16rem);color:var(--silver);line-height:1.75}
.breadcrumb{font-size:.8rem;color:var(--silver-dim);margin-bottom:2.2rem;letter-spacing:.02em}
.breadcrumb a{color:var(--silver-dim);text-decoration:none;transition:color .25s}
.breadcrumb a:hover{color:var(--silver)}
.breadcrumb span{opacity:.5;margin:0 .2rem}

/* ================= Leistungs-Hero mit Video ================= */
.shero{position:relative;min-height:78svh;display:flex;align-items:flex-end;padding:9rem 0 clamp(3rem,7vw,5rem);color:var(--white);overflow:hidden;background:var(--black)}
.shero__media{position:absolute;inset:0}
.shero__img,.shero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.shero__img{opacity:.42;filter:saturate(.85)}
.shero__video{opacity:0;transition:opacity 1s}
.shero__video.is-playing{opacity:.5}
.shero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.55) 40%,rgba(10,10,10,.95) 100%)}
.shero__content{position:relative;z-index:2}
.shero__num{font-family:var(--display);font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--silver-dim);margin-bottom:1rem}
.shero h1{font-size:clamp(2.4rem,6.5vw,4.8rem);line-height:1.05;margin-bottom:1.2rem}
.shero__claim{max-width:52ch;font-size:clamp(1.02rem,1.5vw,1.22rem);color:var(--silver);margin-bottom:2rem}
.shero__actions{display:flex;gap:1rem;flex-wrap:wrap}

/* ================= Intro + Faktenbox ================= */
.sintro{padding-block:clamp(3.5rem,7vw,6rem)}
.sintro__grid{display:grid;grid-template-columns:1.5fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.sintro__text p{margin-bottom:1.15rem;font-size:1.06rem;line-height:1.8}
.sintro__text p:first-child{font-size:1.18rem;line-height:1.72}
.sintro__side{position:sticky;top:6.5rem}
.factbox{background:var(--black);color:var(--white);padding:1.9rem 1.7rem}
.factbox__h{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--silver-dim);margin-bottom:1.2rem}
.factbox dl{margin-bottom:1.6rem}
.factbox dt{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-dim);margin-top:1rem}
.factbox dd{font-size:.97rem;margin-top:.15rem}
.btn--full{display:block;width:100%;text-align:center}

/* ================= Hintergrund-Sektion ================= */
.swhy{padding-block:clamp(3.5rem,7vw,6rem)}
.swhy__inner{max-width:66ch}
.swhy__text{font-size:clamp(1.02rem,1.4vw,1.13rem);line-height:1.85;color:rgba(250,250,250,.86)}

/* ================= Prozess-Schritte ================= */
.process2{padding-block:clamp(3.5rem,7vw,6rem);background:var(--paper)}
.psteps{list-style:none;counter-reset:ps;margin-top:2.6rem;max-width:60rem}
.pstep{display:grid;grid-template-columns:5.5rem 1fr;gap:1.6rem;padding:1.7rem 0;border-top:1px solid rgba(20,20,20,.13);position:relative}
.pstep:last-child{border-bottom:1px solid rgba(20,20,20,.13)}
.pstep__num{font-family:var(--display);font-size:1.7rem;font-weight:500;color:var(--silver-dim);line-height:1;transition:color .35s,transform .35s}
.pstep:hover .pstep__num{color:var(--ink);transform:translateX(4px)}
.pstep__body h3{font-size:1.22rem;margin-bottom:.45rem}
.pstep__body p{font-size:1rem;line-height:1.75;opacity:.85;max-width:62ch}
.section--dark .psteps .pstep{border-color:var(--line)}

/* ================= Leistungsumfang ================= */
.sincl{padding-block:clamp(3.5rem,7vw,6rem)}
.sincl__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.sincl__fig img{aspect-ratio:4/5;object-fit:cover;width:100%}

/* ================= FAQ / Accordion ================= */
.sfaq{padding-block:clamp(3.5rem,7vw,6rem)}
.sfaq__inner{max-width:52rem}
.faqs{margin-top:2rem}
.faq{border-top:1px solid rgba(20,20,20,.14)}
.faq:last-child{border-bottom:1px solid rgba(20,20,20,.14)}
.section--dark .faq,.section--dark .faq:last-child{border-color:var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.25rem 2.6rem 1.25rem 0;font-family:var(--display);font-size:1.1rem;font-weight:500;position:relative;transition:padding-left .3s,color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{padding-left:.5rem}
.faq summary::after{content:'';position:absolute;right:.4rem;top:1.75rem;width:.62rem;height:.62rem;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .35s;opacity:.6}
.faq[open] summary::after{transform:rotate(-135deg)}
.faq[open] summary{color:var(--ink)}
.faq__a{overflow:hidden;animation:faq-open .4s ease}
.faq__a p{padding:0 2.6rem 1.4rem 0;line-height:1.8;opacity:.86;max-width:60ch}
@keyframes faq-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.sfaq__more{margin-top:2rem;font-size:.95rem;opacity:.75}
.faqpage{padding-block:clamp(3rem,6vw,5rem)}
.faqpage__inner{max-width:54rem}
.faqpage h2{font-size:1.6rem;margin-bottom:.5rem}
.faqpage__h2{margin-top:4rem}
.faqgroup{margin-top:2.6rem}
.faqgroup h3{font-size:1.15rem;display:flex;align-items:baseline;gap:.7rem;margin-bottom:.4rem}
.faqgroup h3 a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s}
.faqgroup h3 a:hover{border-color:var(--silver-dim)}
.faqgroup__num{font-size:.8rem;color:var(--silver-dim)}

/* ================= CTA-Band ================= */
.ctaband{background:var(--black);color:var(--white);padding-block:clamp(3.5rem,7vw,5.5rem);position:relative;overflow:hidden}
.ctaband::before{content:'';position:absolute;inset:0;background:radial-gradient(80% 120% at 50% 0%,rgba(192,192,192,.09),transparent 60%)}
.ctaband__inner{position:relative;text-align:center;max-width:44rem;margin-inline:auto}
.ctaband h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.8rem}
.ctaband p{color:var(--silver);margin-bottom:2rem}
.ctaband__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ================= Cross-Links ================= */
.xsect{padding-block:clamp(3.5rem,7vw,5.5rem)}
.xgrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(20,20,20,.14);border-left:1px solid rgba(20,20,20,.14);margin-top:2rem}
.xcard{background:var(--white);padding:1.6rem 1.4rem;text-decoration:none;display:flex;flex-direction:column;gap:.5rem;border-right:1px solid rgba(20,20,20,.14);border-bottom:1px solid rgba(20,20,20,.14);transition:background .3s}
.xcard:hover{background:var(--paper)}
.xcard__num{font-family:var(--display);font-size:.78rem;color:var(--silver-dim);letter-spacing:.1em}
.xcard__t{font-family:var(--display);font-size:1.08rem;font-weight:500;line-height:1.3}
.xcard__go{font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--silver-dim);margin-top:auto;transition:color .3s,transform .3s}
.xcard:hover .xcard__go{color:var(--ink);transform:translateX(3px)}

/* ================= Leistungsübersicht ================= */
.oview{padding-block:clamp(3rem,6vw,5rem);background:var(--paper)}
.ogrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.ocard{background:var(--paper);padding:2.1rem 1.7rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;min-height:17rem;position:relative;overflow:visible;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:background .35s}
.ocard:hover{background:#ececec;z-index:2}
.ocard__num{font-family:var(--display);font-size:.8rem;color:var(--silver-dim);letter-spacing:.12em;margin-bottom:.9rem}
.ocard h3{font-size:1.22rem;margin-bottom:.55rem}
.ocard p{font-size:.95rem;opacity:.8;flex:1}

/* ================= Über uns ================= */
.about2{padding-block:clamp(3.5rem,7vw,6rem)}
.about2__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.about2__portrait{position:sticky;top:6.5rem}
.about2__portrait img{aspect-ratio:3/4;object-fit:cover;width:100%}
.about2__portrait figcaption{margin-top:.7rem;font-size:.85rem;color:var(--silver-dim);letter-spacing:.06em}
.about2__text p{margin-bottom:1.15rem;line-height:1.8}
.about2__text .lead{font-size:1.2rem;line-height:1.72}
.about2__quote{font-family:var(--display);font-weight:500;font-size:clamp(1.2rem,2.2vw,1.55rem);line-height:1.45;margin:2rem 0;padding-left:1.3rem;border-left:2px solid var(--silver)}
.values{padding-block:clamp(3.5rem,7vw,6rem)}
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:2.4rem}
.vcard{background:var(--black);padding:1.9rem 1.5rem;position:relative;overflow:visible;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.vcard:hover{background:#141414;z-index:2}
.vcard__n{font-family:var(--display);font-size:.8rem;color:var(--silver-dim);letter-spacing:.12em;display:block;margin-bottom:.9rem}
.vcard h3{color:var(--white);font-size:1.08rem;margin-bottom:.5rem}
.vcard p{font-size:.93rem;opacity:.82;line-height:1.7}
.halle{padding-block:clamp(3.5rem,7vw,6rem)}
.halle__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.halle__grid p{margin-bottom:1.1rem;line-height:1.8}
.halle__grid .btn{margin-top:.8rem}
.halle__fig img{aspect-ratio:4/5;object-fit:cover;width:100%}

/* ================= Ablauf / Preise ================= */
.pricing{padding-block:clamp(3.5rem,7vw,6rem)}
.pricing__inner{max-width:62rem}
.pricing__inner p{margin-bottom:1.15rem;line-height:1.82;color:rgba(250,250,250,.86);max-width:70ch}
.pricing__grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:2.6rem}
.pcard{background:var(--black);padding:1.9rem 1.6rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.pcard h3{color:var(--white);font-size:1.1rem;margin-bottom:1rem}
.pcard ul{list-style:none}
.pcard li{padding:.62rem 0 .62rem 1.5rem;border-bottom:1px solid var(--line);position:relative;font-size:.95rem;opacity:.85}
.pcard li:last-child{border-bottom:0}
.pcard li::before{content:'';position:absolute;left:0;top:1.15rem;width:.6rem;height:1px;background:var(--silver)}

/* ================= Footer erweitert ================= */
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem;align-items:start;text-align:left}
.footer__col{min-width:0}
.footer__addr{font-style:normal;line-height:1.9;margin:.9rem 0 .7rem}
.footer__note{font-size:.8rem;color:var(--silver-dim)}
.footer__h{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white);margin-bottom:.9rem}
.footer__h--2{margin-top:1.6rem}
.footer__list{list-style:none}
.footer__list li{margin-bottom:.42rem}
.footer__list a{text-decoration:none;opacity:.8;transition:opacity .25s,padding-left .25s;display:inline-block}
.footer__list a:hover{opacity:1;padding-left:.25rem}
.footer__region{font-size:.8rem;color:var(--silver-dim);line-height:1.8}
.footer__bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.2rem;padding-top:1.3rem;border-top:1px solid var(--line);font-size:.82rem}

/* ================= Responsive Ergänzungen ================= */
@media (max-width:1024px){
  .vgrid{grid-template-columns:repeat(2,1fr)}
  .ogrid,.xgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .sintro__grid,.sincl__grid,.about2__grid,.halle__grid,.pricing__grid{grid-template-columns:1fr}
  .sintro__side,.about2__portrait{position:static}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .ogrid,.xgrid,.vgrid{grid-template-columns:1fr}
  .pstep{grid-template-columns:1fr;gap:.5rem}
  .pstep__num{font-size:1.15rem}
  .footer__grid{grid-template-columns:1fr}
  .shero{min-height:66svh}
}

.services__all{margin-top:2.2rem}
.inline-link{font-weight:600;font-size:.95rem;text-decoration:none;border-bottom:1px solid var(--silver-dim);padding-bottom:2px;transition:border-color .25s}
.inline-link:hover{border-color:currentColor}


/* ================= Reveal-System (CSS statt Inline-Transforms) ================= */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.reveal--x{transform:translateX(-26px)}
.reveal.is-in{opacity:1;transform:none}
/* Rasterkarten nur einblenden, nie verschieben — sonst blitzt der Rahmen durch */
.card.reveal,.ocard.reveal,.vcard.reveal,.xcard.reveal,.pcard.reveal{transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal--x{opacity:1!important;transform:none!important;transition:none!important}
}

/* ================= Instagram / Social ================= */
.social{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;text-decoration:none;color:var(--silver);font-size:.88rem;transition:color .25s}
.social:hover{color:var(--white)}
.ig-icon{width:1.25rem;height:1.25rem;flex:0 0 auto}
.social--mm{margin-top:.9rem;font-family:var(--body)}
.btn--ig{display:inline-flex;align-items:center;justify-content:center;gap:.55rem}
.btn--ig .ig-icon{width:1.1rem;height:1.1rem}

.legal .fineprint{font-size:.92rem;opacity:.82;line-height:1.75}
