/* ==========================================================================
   Aesthetics by Nadine Schad – Stylesheet
   Kein Framework, kein Build. Farben aus dem Original-Branding (Navy #2B3F66).
   ========================================================================== */

/* Lokale Markenschriften: Dateien in assets/fonts/ ablegen und Block aktivieren.
   (TAN Pearl = Überschriften im Branding, Glacial Indifference = Fließtext)
@font-face{font-family:"TAN Pearl";src:url("assets/fonts/tan-pearl.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Glacial Indifference";src:url("assets/fonts/glacial-indifference-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Glacial Indifference";src:url("assets/fonts/glacial-indifference-bold.woff2") format("woff2");font-weight:700;font-display:swap}
*/

:root{
  /* Farben */
  --navy:#2B3F66;
  --navy-deep:#223352;
  --navy-ink:#1A2740;
  --paper:#F7F8FA;
  --white:#FFFFFF;
  --ice:#DCE4EF;
  --ice-soft:#EAF0F6;
  --mist:#AABBD1;
  --text:#1A2740;
  --text-muted:#4A5A73;
  --text-on-navy:#E4EAF3;
  --line:rgba(43,63,102,.16);
  --line-strong:rgba(43,63,102,.3);
  --line-on-navy:rgba(220,228,239,.25);
  --focus:#F2B84B;
  --sos:#8A3B2E;
  --sos-bg:#FBEFEA;

  /* Schriften */
  --font-serif:"TAN Pearl","Cormorant Garamond","Hoefler Text","Didot","Bodoni 72",Georgia,"Times New Roman",serif;
  --font-sans:"Glacial Indifference","Avenir Next","Avenir","Montserrat","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;

  /* Schriftgrößen */
  --fs-xs:.75rem;
  --fs-sm:.875rem;
  --fs-base:1rem;
  --fs-md:1.125rem;
  --fs-lg:clamp(1.25rem,1.1rem + .6vw,1.5rem);
  --fs-xl:clamp(1.6rem,1.3rem + 1.2vw,2.1rem);
  --fs-2xl:clamp(2rem,1.5rem + 2.2vw,3.1rem);
  --fs-hero:clamp(2.4rem,1.6rem + 3.6vw,4.3rem);

  /* Abstände */
  --sp-1:.25rem;
  --sp-2:.5rem;
  --sp-3:.75rem;
  --sp-4:1rem;
  --sp-5:1.5rem;
  --sp-6:2rem;
  --sp-7:3rem;
  --sp-8:4rem;
  --section-y:clamp(4rem,3rem + 5vw,8rem);
  --gutter:clamp(1rem,.5rem + 2.5vw,3rem);

  --radius:18px;
  --radius-sm:10px;
  --maxw:1200px;
  --header-h:72px;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 20px 50px rgba(26,39,64,.12);
}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
picture{display:block}
figure{margin:0}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.15}
p{margin:0 0 var(--sp-4)}
p:last-child{margin-bottom:0}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
ul{padding:0;margin:0}
address{font-style:normal}
[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--sp-4);top:-100px;z-index:100;background:var(--navy-ink);color:#fff;padding:.7rem 1rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:700}
.skip-link:focus{top:var(--sp-4)}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- Typo-Bausteine ---------- */
.eyebrow{
  display:flex;align-items:center;gap:.9rem;margin:0 0 var(--sp-4);
  font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--navy);
}
.eyebrow::before{content:"";width:2rem;height:1px;background:currentColor;flex:none}
.eyebrow--light{color:var(--ice)}
.section-title{font-family:var(--font-serif);font-size:var(--fs-2xl);color:var(--navy);letter-spacing:-.005em}
.section-title em,.hero__title em{font-style:italic}
.section-title--light{color:#fff}
.section-title--light em{color:var(--ice)}
.section-head{max-width:40rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3.5rem)}
.section-lead{margin-top:var(--sp-4);font-size:var(--fs-md);color:var(--text-muted)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:.8rem 1.6rem;border-radius:999px;border:1px solid transparent;
  font:inherit;font-size:var(--fs-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;text-align:center;cursor:pointer;
  transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn--solid{background:var(--navy);color:#fff}
.btn--solid:hover{background:var(--navy-ink);box-shadow:0 12px 26px rgba(43,63,102,.28)}
.btn--ghost{border-color:var(--navy);color:var(--navy);background:transparent}
.btn--ghost:hover{background:var(--navy);color:#fff}
.btn--light{background:#fff;color:var(--navy)}
.btn--light:hover{background:var(--ice)}
.btn--ghost-light{border-color:rgba(255,255,255,.7);color:#fff;background:transparent}
.btn--ghost-light:hover{background:#fff;color:var(--navy)}
.btn--small{min-height:44px;padding:.6rem 1.1rem;font-size:var(--fs-xs)}
.btn__meta{font-weight:400;text-transform:none;letter-spacing:0}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-3)}

.text-link{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:var(--sp-5);
  font-size:var(--fs-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);
  text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:.2rem;
}
.text-link::after{content:"→";transition:transform .3s var(--ease)}
.text-link:hover::after{transform:translateX(4px)}
.text-link:hover{border-color:var(--navy)}

/* ---------- Header / Navigation ---------- */
.site-header{
  position:sticky;top:0;z-index:50;height:var(--header-h);
  background:rgba(247,248,250,.94);border-bottom:1px solid var(--line);
}
@supports (backdrop-filter:blur(10px)){.site-header{background:rgba(247,248,250,.85);backdrop-filter:blur(12px)}}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--sp-4)}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--navy);flex:none}
.brand__mark{width:44px;height:44px;flex:none}
.brand__n{font-family:var(--font-serif)}
.brand__name{font-family:var(--font-serif);font-size:1.25rem;line-height:1.05}
.brand__name small{display:block;font-family:var(--font-sans);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);margin-top:.2rem}

.nav-toggle{
  display:inline-flex;align-items:center;gap:.6rem;min-height:44px;padding:.5rem .9rem;
  border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--navy);
  font:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer;
}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display:block;width:18px;height:1.5px;background:currentColor;transition:transform .3s var(--ease),opacity .2s}
.nav-toggle__bars{position:relative}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0}
.nav-toggle__bars::before{top:-6px}
.nav-toggle__bars::after{top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}

.site-nav__list{list-style:none}
.site-nav__list a{text-decoration:none;color:var(--navy);font-weight:600}

/* Mobile Navigation (Standard) */
@media (max-width:959.98px){
  .site-nav{
    position:absolute;left:0;right:0;top:var(--header-h);
    background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);
    padding:var(--sp-4) var(--gutter) var(--sp-6);
  }
  .js .site-nav{display:none}
  .js .site-nav.is-open{display:block}
  .site-nav__list li+li{border-top:1px solid var(--line)}
  .site-nav__list a{display:block;padding:.95rem 0;font-size:var(--fs-md)}
  .site-nav__cta{width:100%;margin-top:var(--sp-4)}
  /* Ohne JS: Navigation als normale Liste unter dem Header */
  html:not(.js) .nav-toggle{display:none}
  html:not(.js) .site-header{height:auto;position:relative}
  html:not(.js) .site-header__inner{flex-wrap:wrap;padding-block:var(--sp-3)}
  html:not(.js) .site-nav{position:static;box-shadow:none;border:0;padding:0 0 var(--sp-3);width:100%}
}
@media (min-width:960px){
  .nav-toggle{display:none}
  .site-nav{display:flex;align-items:center;gap:var(--sp-6)}
  .site-nav__list{display:flex;gap:var(--sp-6)}
  .site-nav__list a{position:relative;font-size:var(--fs-sm);padding:.4rem 0}
  .site-nav__list a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
  .site-nav__list a:hover::after,.site-nav__list a:focus-visible::after{transform:scaleX(1)}
  .site-nav__cta{min-height:44px;padding:.6rem 1.3rem}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;isolation:isolate}
.hero__petals{position:absolute;z-index:-1;pointer-events:none;width:min(900px,62vw);right:-6%;top:-10%;transform:scaleX(-1);opacity:.95}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,1rem + 4vw,5rem);align-items:center;padding-block:clamp(4rem,3rem + 5vw,7.5rem)}
.hero__title{font-family:var(--font-serif);font-size:var(--fs-hero);line-height:1.06;margin-bottom:var(--sp-5)}
.hero__title em{color:var(--ice)}
.hero__lead{font-size:clamp(1.05rem,1rem + .35vw,1.25rem);color:var(--text-on-navy);max-width:34rem;margin-bottom:var(--sp-6)}
.hero__facts{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--line-on-navy);font-size:var(--fs-sm);color:var(--text-on-navy)}
.hero__facts li{display:flex;align-items:center;gap:.5rem}
.hero__facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mist)}
.hero__visual{position:relative;justify-self:end;width:100%;max-width:480px}
.hero__visual::before{content:"";position:absolute;inset:-14px;border:1px solid var(--line-on-navy);border-radius:999px 999px 28px 28px;pointer-events:none}
.hero__img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:999px 999px 20px 20px;box-shadow:0 30px 60px rgba(10,18,34,.35);background:var(--navy-deep)}

/* ---------- Sektionen ---------- */
.section{padding-block:var(--section-y);position:relative}
.section--navy{background:var(--navy);color:var(--text-on-navy);overflow:hidden;isolation:isolate}
.section--ice{background:var(--ice)}

/* ---------- Bildplätze ---------- */
.placeholder{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;
  text-align:center;padding:var(--sp-5);overflow:hidden;border-radius:var(--radius);
  border:1px dashed rgba(43,63,102,.35);color:var(--navy);
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.7),transparent 55%),linear-gradient(160deg,#EEF2F8,#DCE4EF);
}
.placeholder::before,.placeholder::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(43,63,102,.18);left:50%;top:50%;transform:translate(-50%,-50%)}
.placeholder::before{width:84px;height:84px}
.placeholder::after{width:120px;height:120px;border-color:rgba(43,63,102,.09)}
.placeholder__tag{position:absolute;top:.8rem;left:.8rem;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;background:rgba(247,248,250,.9);border:1px solid var(--line);border-radius:999px;padding:.25rem .7rem}
.placeholder__label{position:relative;z-index:1;font-size:var(--fs-sm);font-weight:700;max-width:22ch;margin-top:120px}
.placeholder--treatment{aspect-ratio:3/4}

/* ---------- Behandlungen ---------- */
.treatments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,.5rem + 2vw,2.5rem)}
.treatment{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);padding:var(--sp-3);box-shadow:0 1px 0 rgba(26,39,64,.03)}
.treatment__media{position:relative}
.treatment__media img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);background:var(--ice-soft)}
.media-badge{position:absolute;top:.8rem;left:.8rem;background:rgba(247,248,250,.92);border:1px solid var(--line);border-radius:999px;padding:.3rem .75rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--navy)}
.treatment__hint{margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted);line-height:1.6}
.treatment__body{padding:var(--sp-5) var(--sp-4) var(--sp-4);display:flex;flex-direction:column;flex:1}
.treatment__num{font-family:var(--font-serif);font-style:italic;color:var(--text-muted);font-size:var(--fs-md)}
.treatment h3{font-family:var(--font-serif);font-size:var(--fs-xl);color:var(--navy);margin:.2rem 0 var(--sp-3)}
.treatment p{color:var(--text-muted)}
.tick-list{list-style:none;margin-top:var(--sp-3)}
.tick-list li{display:flex;gap:.7rem;padding:.55rem 0;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--navy-ink)}
.tick-list li::before{content:"";flex:none;width:6px;height:6px;margin-top:.55em;border-radius:50%;background:var(--mist)}
.treatment .text-link{margin-top:auto;padding-top:var(--sp-5);align-self:flex-start;border-bottom:0}

/* ---------- Über Nadine ---------- */
.about__petals,.contact__petals{position:absolute;z-index:-1;pointer-events:none;opacity:.9}
.about__petals{width:min(620px,70vw);right:-8%;bottom:-18%;transform:rotate(180deg)}
.about__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,1rem + 5vw,6rem);align-items:center}
.about__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:999px 999px 20px 20px;background:var(--navy-deep)}
.about__text p{font-size:var(--fs-md);max-width:34rem}
.about__text .section-title{margin-bottom:var(--sp-5)}
.about__note{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line-on-navy);font-size:var(--fs-sm)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.about .btn{margin-top:var(--sp-4)}

/* ---------- Studio ---------- */
.studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,.5rem + 1.5vw,1.75rem)}
.studio-grid__main{grid-column:1/-1}
.studio-grid__main img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);background:var(--ice-soft)}
.studio-grid__side img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);background:var(--ice-soft)}
.studio-grid figcaption{margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted)}

/* ---------- Preise ---------- */
.chip-nav{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1rem;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--navy);text-decoration:none;font-size:var(--fs-sm);font-weight:700;transition:background-color .25s,color .25s}
.chip:hover{background:var(--navy);color:#fff}
.legend{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-6)}

.tag{display:inline-block;vertical-align:middle;font-size:.64rem;line-height:1;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:.35rem .55rem;border-radius:999px;white-space:nowrap}
.tag--base{background:var(--navy);color:#fff}
.tag--addon{background:#fff;color:var(--navy);border:1px solid var(--line-strong)}
.tag--cure{background:var(--ice-soft);color:var(--navy-ink);border:1px solid var(--navy)}

.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,.5rem + 1.5vw,1.75rem)}
.price-card{background:#fff;border-radius:calc(var(--radius) + 4px);padding:clamp(1.25rem,.9rem + 1.5vw,2.25rem);box-shadow:0 1px 0 rgba(26,39,64,.04)}
.price-card--wide{grid-column:1/-1}
.price-card__title{font-family:var(--font-serif);font-size:var(--fs-xl);color:var(--navy);padding-bottom:var(--sp-3);margin-bottom:var(--sp-2);border-bottom:1px solid var(--line-strong)}
.price-card__cols{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(1.5rem,1rem + 3vw,3.5rem)}

.price-table{width:100%;border-collapse:collapse;margin-top:var(--sp-5)}
.price-table caption{text-align:left;caption-side:top;padding-bottom:var(--sp-2);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--text-muted)}
.price-table th,.price-table td{padding:.8rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.price-table th{text-align:left;font-weight:600;color:var(--navy-ink);padding-right:var(--sp-4)}
.price-table th .tag{display:block;width:fit-content;margin-bottom:.45rem;line-height:1.2;padding:.3rem .6rem}
.amount{font-family:var(--font-sans);font-weight:700;white-space:nowrap;letter-spacing:0}
.price-table td{text-align:right;white-space:nowrap;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.price-table td.price-ask{white-space:normal;font-weight:600;font-size:var(--fs-sm);color:var(--text-muted);font-style:italic;min-width:7.5rem}
.price-desc{display:block;font-weight:400;font-size:var(--fs-sm);color:var(--text-muted);margin-top:.15rem}
.price-desc strong{color:var(--navy-ink)}

.sos{display:flex;gap:var(--sp-5);align-items:flex-start;margin-top:clamp(1.5rem,1rem + 2vw,2.5rem);padding:clamp(1.25rem,1rem + 1vw,2rem);border-radius:calc(var(--radius) + 4px);background:var(--sos-bg);border:1px solid rgba(138,59,46,.25);color:var(--navy-ink)}
.sos__badge{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--sos);color:#fff;font-weight:700;letter-spacing:.08em}
.sos__title{font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--sos);margin-bottom:var(--sp-2)}
.sos p{margin-bottom:var(--sp-2)}
.sos__list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.5rem}
.sos__list li{display:flex;gap:.5rem;align-items:baseline}
.sos__list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sos);flex:none;transform:translateY(-2px)}

.price-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-6)}
.price-foot p{margin:0;color:var(--text-muted);max-width:32rem}

/* ---------- Terminregeln & FAQ ---------- */
.rules{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,.5rem + 1vw,1.5rem);margin-bottom:clamp(3rem,2rem + 3vw,5rem)}
.rule{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5)}
.rule__title{font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--navy);margin-bottom:var(--sp-3)}
.rule p{font-size:var(--fs-sm);color:var(--text-muted)}
.rule--sos{background:var(--sos-bg);border-color:rgba(138,59,46,.25)}
.rule--sos .rule__title{color:var(--sos)}

.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,1rem + 4vw,5rem);align-items:start}
.faq-aside__title{font-family:var(--font-serif);font-size:var(--fs-xl);color:var(--navy);margin-bottom:var(--sp-3)}
.faq-aside p{color:var(--text-muted)}
.faq-aside .btn{margin-top:var(--sp-2)}
.download-list{list-style:none;margin-top:var(--sp-6);border-top:1px solid var(--line)}
.download-list li{border-bottom:1px solid var(--line)}
.download-list a{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;text-decoration:none;color:var(--navy);font-weight:600;font-size:var(--fs-sm)}
.download-list a::after{content:"↓"}
.download-list li:first-child a::after{content:"→"}
.download-list a:hover{text-decoration:underline}

.faq{border-top:1px solid var(--line-strong)}
.faq__item{border-bottom:1px solid var(--line-strong)}
.faq__item summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);
  padding:1.2rem .25rem;font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--navy);
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line-strong);font-family:var(--font-sans);font-size:1.2rem;line-height:1;transition:transform .3s var(--ease)}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__answer{padding:0 .25rem 1.4rem;color:var(--text-muted);max-width:40rem}
.faq__answer a{color:var(--navy);font-weight:600}

/* ---------- Kontakt ---------- */
.contact__petals{width:min(560px,70vw);left:-8%;top:-12%}
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,1rem + 4vw,5rem);align-items:start}
.contact__info{padding-top:clamp(3rem,2rem + 4vw,6rem)}
.contact__lead{font-size:var(--fs-md);max-width:30rem;margin-top:var(--sp-4)}
.contact-list{list-style:none;margin-top:var(--sp-6);border-top:1px solid var(--line-on-navy)}
.contact-list li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;padding:.9rem 0;border-bottom:1px solid var(--line-on-navy)}
.contact-list__label{font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--mist)}
.contact-list__link{color:#fff;font-size:var(--fs-md);text-decoration:none;overflow-wrap:anywhere}
.contact-list__link:hover{text-decoration:underline}
.address-block{margin-top:var(--sp-6)}
.address-block address{margin:var(--sp-2) 0 var(--sp-4);color:#fff;font-size:var(--fs-md)}
.route-links{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.contact__region{margin:var(--sp-5) 0 0;font-size:var(--fs-sm);color:var(--text-on-navy);max-width:34rem}
.facts{margin:var(--sp-5) 0 0;display:grid;gap:var(--sp-3);font-size:var(--fs-sm)}
.facts div{display:grid;grid-template-columns:7rem 1fr;gap:var(--sp-3)}
.facts dt{color:var(--mist);font-weight:700}
.facts dd{margin:0}

.request__card{background:#fff;color:var(--text);border-radius:calc(var(--radius) + 6px);padding:clamp(1.25rem,1rem + 1.5vw,2.25rem);box-shadow:0 30px 70px rgba(8,15,30,.35)}
.request__title{font-family:var(--font-serif);font-size:var(--fs-xl);color:var(--navy);margin-bottom:var(--sp-2)}
.request__intro{color:var(--text-muted);font-size:var(--fs-sm)}
.js .request__nojs{display:none}
.request__form{margin-top:var(--sp-5);display:grid;gap:var(--sp-4)}
.field{margin:0;padding:0;border:0;min-width:0;display:grid;gap:.35rem}
.field__label{font-size:var(--fs-sm);font-weight:700;color:var(--navy-ink);padding:0}
.field__hint{font-weight:400;color:var(--text-muted)}
.field__help{font-size:var(--fs-xs);color:var(--text-muted);margin:0}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.input{width:100%;min-height:46px;padding:.65rem .8rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--text);font:inherit;font-size:1rem}
textarea.input{resize:vertical;min-height:90px}
.input:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--navy)}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2);margin-top:.25rem}
.choice{position:relative;display:block;cursor:pointer}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice span{display:flex;align-items:center;gap:.55rem;min-height:44px;padding:.5rem .75rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--paper);transition:background-color .2s,border-color .2s}
.choice span::before{content:"";flex:none;width:16px;height:16px;border:1.5px solid var(--navy);border-radius:4px;background:#fff}
.choice input:checked+span{background:var(--ice);border-color:var(--navy);font-weight:700}
.choice input:checked+span::before{background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat}
.choice input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.sos-hint:empty,.request__error:empty,.request__status:empty{display:none}
.sos-hint{margin:0;padding:.75rem .9rem;border-radius:var(--radius-sm);background:var(--sos-bg);color:var(--sos);font-size:var(--fs-sm);border:1px solid rgba(138,59,46,.25)}
.request__error{margin:0;color:var(--sos);font-weight:700;font-size:var(--fs-sm)}
.request__status{margin:0;color:var(--navy);font-size:var(--fs-sm);font-weight:700}
.request__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.request__actions .btn--solid{flex:1 1 12rem}
.request__legal{font-size:var(--fs-xs);color:var(--text-muted);margin:0}
.request__legal a{color:var(--navy)}
.request__alt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-muted)}
.request__alt a{color:var(--navy);font-weight:700}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-ink);color:var(--mist);padding-block:clamp(3rem,2rem + 3vw,4.5rem) var(--sp-6);font-size:var(--fs-sm)}
.site-footer__top{display:grid;grid-template-columns:1fr 2fr;gap:var(--sp-7);align-items:start}
.site-footer__logo{width:128px;height:128px;border-radius:var(--radius-sm);margin-bottom:var(--sp-4)}
.site-footer__brand p{color:var(--text-on-navy)}
.site-footer__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.site-footer__nav ul{list-style:none;display:grid;gap:.15rem;align-content:start}
.site-footer__nav a{display:inline-block;padding:.35rem 0;color:var(--text-on-navy);text-decoration:none;overflow-wrap:anywhere}
.site-footer__nav a:hover{color:#fff;text-decoration:underline}
.site-footer__fine{margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:1px solid rgba(220,228,239,.14);font-size:var(--fs-xs);color:var(--mist)}

/* ---------- Mobile CTA ---------- */
.sticky-cta{display:none}
@media (max-width:767.98px){
  .sticky-cta{
    display:flex;align-items:center;justify-content:center;position:fixed;z-index:40;
    left:var(--sp-4);right:var(--sp-4);bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0px));
    min-height:50px;border-radius:999px;background:var(--navy);color:#fff;text-decoration:none;
    font-size:var(--fs-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    box-shadow:0 10px 30px rgba(10,18,34,.35);border:1px solid rgba(255,255,255,.25);
    transition:transform .35s var(--ease),opacity .35s var(--ease);
  }
  .sticky-cta.is-hidden{transform:translateY(140%);opacity:0;pointer-events:none}
  /* Platz schaffen, damit der Button nie Footer-Inhalte verdeckt */
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .site-footer{margin-bottom:calc(-76px - env(safe-area-inset-bottom,0px));padding-bottom:calc(var(--sp-6) + 76px + env(safe-area-inset-bottom,0px))}
}

/* ---------- Datenschutz-Hinweis ---------- */
.privacy-note{
  position:fixed;z-index:60;left:var(--sp-4);right:var(--sp-4);
  bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px));
  max-width:44rem;margin-inline:auto;
  background:var(--navy);color:var(--text-on-navy);
  border:1px solid rgba(220,228,239,.25);border-radius:var(--radius);
  box-shadow:0 24px 60px rgba(10,18,34,.45);
  padding:clamp(1rem,.8rem + 1vw,1.4rem);
  opacity:0;transform:translateY(16px);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.privacy-note.is-in{opacity:1;transform:none}
.privacy-note__inner{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
.privacy-note__text{margin:0;flex:1 1 20rem;font-size:var(--fs-sm);line-height:1.6}
.privacy-note__text strong{color:#fff}
.privacy-note__text a{color:#fff;font-weight:700}
.privacy-note__close{flex:0 0 auto}
/* Mobiler Termin-Button weicht dem Hinweis aus */
@media (max-width:767.98px){
  .has-privacy-note .sticky-cta{transform:translateY(140%);opacity:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){
  .privacy-note{opacity:1;transform:none}
}

/* ---------- Einblendungen (nur mit JS) ---------- */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .js .reveal{opacity:1;transform:none}
  .btn:hover{transform:none}
}

/* ---------- Unterseiten (AGB, Impressum, Datenschutz) ---------- */
.page-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;isolation:isolate;padding-block:clamp(3.5rem,2.5rem + 4vw,6rem)}
.page-hero .hero__petals{width:min(640px,80vw);opacity:.85}
.page-hero h1{font-family:var(--font-serif);font-size:var(--fs-2xl);margin-top:var(--sp-2)}
.page-hero p{color:var(--text-on-navy);max-width:40rem;margin-top:var(--sp-4)}
.legal{padding-block:clamp(3rem,2rem + 3vw,5rem)}
.legal__body{max-width:48rem}
.legal__body h2{font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--navy);margin:var(--sp-7) 0 var(--sp-3)}
.legal__body h2:first-child{margin-top:0}
.legal__body p,.legal__body li{color:var(--text)}
.legal__body ul{padding-left:1.25rem;margin:0 0 var(--sp-4)}
.legal__body li{margin-bottom:.35rem}
.legal__body .highlight{font-weight:700;color:var(--sos)}
.legal__meta{margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:1px solid var(--line);color:var(--text-muted);font-size:var(--fs-sm)}
.draft-banner{background:var(--sos-bg);color:var(--sos);border-bottom:1px solid rgba(138,59,46,.3);font-size:var(--fs-sm);font-weight:700;text-align:center;padding:.75rem var(--gutter)}
.todo{background:#FFF4D6;color:#5C4200;padding:.05rem .35rem;border-radius:4px;font-weight:700}
.back-link{display:inline-block;margin-bottom:var(--sp-5);color:var(--navy);font-weight:700;text-decoration:none}
.back-link:hover{text-decoration:underline}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1099.98px){
  .rules{grid-template-columns:repeat(2,1fr)}
  .treatments{grid-template-columns:repeat(2,minmax(0,1fr))}
  .treatments .treatment:last-child{grid-column:1/-1}
}
@media (max-width:899.98px){
  .hero__grid{grid-template-columns:1fr;padding-block:3rem 3.5rem}
  .hero__visual{justify-self:center;max-width:420px;margin-top:var(--sp-4)}
  .hero__petals{width:130vw;right:-40%;top:auto;bottom:-6%;opacity:.55}
  .about__grid,.contact__grid,.faq-layout{grid-template-columns:1fr}
  .about__photo{max-width:420px}
  .price-card__cols{grid-template-columns:1fr}
  .price-grid{grid-template-columns:1fr}
  .contact__info{padding-top:0}
  .site-footer__top{grid-template-columns:1fr}
}
@media (max-width:699.98px){
  .treatments{grid-template-columns:minmax(0,1fr)}
  .rules{grid-template-columns:1fr}
  .site-footer__nav{grid-template-columns:1fr 1fr}
  .sos{flex-direction:column;gap:var(--sp-3)}
  .sos__badge{width:52px;height:52px;font-size:var(--fs-sm)}
  .sos__list{flex-direction:column}
  .price-foot .btn-row,.price-foot .btn{width:100%}
}
@media (max-width:479.98px){
  .brand__name{font-size:1.1rem}
  .brand__mark{width:38px;height:38px}
  .nav-toggle__label{display:none}
  .nav-toggle{padding:.5rem .8rem;min-width:44px;justify-content:center}
  .hero .btn-row .btn{width:100%}
  .field-row{grid-template-columns:1fr}
  .choice-grid{grid-template-columns:1fr 1fr}
  .studio-grid{grid-template-columns:1fr}
  .facts div{grid-template-columns:1fr;gap:0}
  .site-footer__nav{grid-template-columns:1fr}
  .price-table th{padding-right:var(--sp-3)}
  .price-table td.price-ask{min-width:6rem}
}
@media (max-width:374.98px){
  .choice-grid{grid-template-columns:1fr}
}

@media print{
  .site-header,.sticky-cta,.hero__petals,.about__petals,.contact__petals,.request{display:none!important}
  .js .reveal{opacity:1;transform:none}
  body{background:#fff}
}
