@charset "UTF-8";
/* ══════════════════════════════════════════════════════════════════
   Schriften — lokal ausgeliefert, keine Verbindung zu Google.
   Neun Dateien nach assets/fonts/, exakt so benannt:

     jost-200.woff2   jost-300.woff2   jost-400.woff2   jost-500.woff2
     manrope-300.woff2  manrope-400.woff2  manrope-500.woff2
     dm-mono-400.woff2
     exo-300.woff2     ← nur für Minutenzahlen und Preise

   Bezug: https://gwfh.mranftl.com/fonts  (Zeichensatz latin, woff2)
   ══════════════════════════════════════════════════════════════════ */
@font-face{font-family:"Jost";font-style:normal;font-weight:200;font-display:swap;
  src:url("fonts/jost-200.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;
  src:url("fonts/jost-300.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/jost-400.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/jost-500.woff2") format("woff2")}

@font-face{font-family:"Manrope";font-style:normal;font-weight:300;font-display:swap;
  src:url("fonts/manrope-300.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/manrope-400.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/manrope-500.woff2") format("woff2")}

@font-face{font-family:"DM Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/dm-mono-400.woff2") format("woff2")}

@font-face{font-family:"Exo";font-style:normal;font-weight:300;font-display:swap;
  src:url("fonts/exo-300.woff2") format("woff2")}

:root{
  --bg:#FFFFFF; --bg-alt:#EDF1EA; --surface:#FFFFFF;
  --ink:#3D4739; --muted:#74806F; --line:rgba(143,160,137,.30);
  --acc:#FFB200; --acc-2:#986A00; --acc-soft:#FFF6E4;
  --brand:#8FA089; --brand-2:#5F6E5A;
  --r:14px; --r-s:9px; --btn-r:999px;
  --shadow:0 1px 2px rgba(61,71,57,.05),0 12px 34px -14px rgba(61,71,57,.22);
  --lbl-ls:.22em; --lbl-tt:uppercase; --h-weight:300; --body-weight:300;
  --max:1140px; --pad:clamp(1.15rem,4.5vw,3rem);
  --f-display:"Sora",sans-serif; --f-body:"Inter",sans-serif; --f-mono:"DM Mono",monospace;
  --h-weight:200; --marke-w:400;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);
  font-weight:var(--body-weight,300);line-height:1.78;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--f-display);font-weight:var(--h-weight);line-height:1.14}

.sprung{position:absolute;left:-9999px;top:0;background:var(--acc);color:#fff;
  padding:.8rem 1.4rem;z-index:200;border-radius:0 0 var(--r-s) 0}
.sprung:focus{left:0}

.sek{padding-block:clamp(3rem,6.5vw,5.2rem)}
.sek--alt{background:var(--bg-alt)}
.sek--soft{background:var(--acc-soft)}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}

.kopf{position:sticky;top:0;z-index:60;background:var(--kopf-bg,var(--bg));
  border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.kopf .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:var(--kopf-h,78px)}
.marke{text-decoration:none;line-height:1.08;display:block;flex:none}
.marke b{display:block;font-family:var(--f-display);font-weight:var(--marke-w,400);
  font-size:var(--marke-s,1.08rem);letter-spacing:var(--marke-ls,.14em);
  text-transform:uppercase;color:var(--brand-2)}
.marke i{display:block;font-style:normal;font-family:var(--f-mono);font-size:.63rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--acc-2);margin-top:.28rem}
.menue{display:flex;align-items:center;gap:1.35rem}
.menue a{font-size:.88rem;text-decoration:none;padding-bottom:3px;
  border-bottom:2px solid transparent;transition:border-color .2s,color .2s;white-space:nowrap}
.menue a:hover{border-color:var(--acc);color:var(--brand-2)}
.menue a.is-hier{border-color:var(--acc);color:var(--brand-2);font-weight:600}
.menue .sg-btn{padding:.6rem 1.2rem;font-size:.85rem;border-bottom:0}
.menue .sg-btn.is-hier{border-bottom:0}

.hero{position:relative;overflow:hidden}
.hero .wrap{padding-block:clamp(3rem,7vw,6rem)}
.hero h1{font-size:var(--h1,clamp(2.4rem,5.8vw,4.2rem));color:var(--brand-2);letter-spacing:-.015em}
.hero .claim{color:var(--muted);max-width:40ch;margin:1.4rem 0 2rem;font-size:1.05rem}
.hero .tasten{display:flex;flex-wrap:wrap;gap:.75rem}
.hero .meta{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);
  font-family:var(--f-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

.fuss{background:var(--fuss-bg,var(--brand-2));color:var(--fuss-ink,#DDE3D9);
  padding-block:clamp(2.6rem,5vw,3.5rem) 1.8rem;font-size:.9rem}
.fuss-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.4rem;
  padding-bottom:2.2rem;border-bottom:1px solid rgba(255,255,255,.16)}
@media(max-width:760px){.fuss-grid{grid-template-columns:1fr}}
.fuss h4{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--acc);margin:0 0 1rem;font-weight:400}
.fuss ul{list-style:none;margin:0;padding:0}
.fuss li{margin-bottom:.5rem}
.fuss a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.fuss a:hover{border-color:var(--acc)}
.fuss address{font-style:normal;line-height:1.85}
.fuss address strong{color:#fff;font-weight:600}
.fuss-copy{padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;opacity:.65}

/* ══════════════════════════════════════════════════════════════════
   Komponenten aller 15 Vorlagen — ausschließlich über Tokens gesteuert.
   Jede Vorlage definiert ihre Tokens in :root, diese Datei bleibt gleich.

   Erwartete Tokens:
     --bg --bg-alt --surface --ink --muted --line
     --acc --acc-2 --acc-soft   (Akzent = Amber)
     --brand --brand-2          (Marke  = Sage)
     --f-display --f-body --f-mono
     --r --r-s --btn-r --shadow
     --lbl-ls --lbl-tt          (Labels: letter-spacing / text-transform)
     --h-weight                 (Schriftschnitt der Überschriften)
   ══════════════════════════════════════════════════════════════════ */

/* ───────────── Grundgerüst ───────────── */
.sg-in{max-width:var(--max,1140px);margin:0 auto;padding-inline:var(--pad,clamp(1.1rem,4vw,3rem))}
.sg-head{max-width:58ch;margin-bottom:clamp(2rem,4vw,3rem)}
.sg-head--mitte{margin-inline:auto;text-align:center}
.sg-head--mitte .sg-lead{margin-inline:auto}

.sg-eyebrow{
  font-family:var(--f-mono);font-size:.7rem;font-weight:400;
  letter-spacing:var(--lbl-ls,.22em);text-transform:var(--lbl-tt,uppercase);
  color:var(--acc-2);margin:0 0 1rem;
}
.sg-h2{
  font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:clamp(1.8rem,3.8vw,2.8rem);line-height:1.14;color:var(--brand-2);margin:0 0 .9rem;
}
.sg-h3{
  font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.2;color:var(--brand-2);
  margin:clamp(2.5rem,5vw,4rem) 0 1.5rem;
}
.sg-lead{color:var(--muted);max-width:58ch;margin:0 0 1rem}
.sg-lead:last-child{margin-bottom:0}

.sg-rev{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.sg-rev.is-in{opacity:1;transform:none}

/* ───────────── Buttons ───────────── */
.sg-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--f-body);font-size:.92rem;font-weight:600;letter-spacing:.02em;
  text-decoration:none;padding:.88rem 1.8rem;border-radius:var(--btn-r,999px);
  border:1.5px solid transparent;cursor:pointer;
  transition:background .22s,color .22s,border-color .22s,transform .16s;
}
.sg-btn:active{transform:translateY(1px)}
.sg-btn--acc{background:var(--acc);color:#fff}
.sg-btn--acc:hover{background:var(--acc-2)}
.sg-btn--brand{background:var(--brand-2);color:#fff}
.sg-btn--brand:hover{background:var(--acc-2)}
.sg-btn--line{background:transparent;border-color:var(--line);color:var(--ink)}
.sg-btn--line:hover{border-color:var(--acc);background:var(--acc-soft)}
.sg-btn[disabled]{opacity:.38;pointer-events:none}
:is(a,button,input,textarea,summary):focus-visible{outline:2.5px solid var(--acc);outline-offset:3px}

/* ───────────── Foto-Platzhalter ───────────── */
.sg-foto{
  position:relative;border-radius:var(--r,14px);overflow:hidden;
  background:linear-gradient(150deg,var(--acc-soft),var(--bg-alt) 55%,var(--line));
  border:1px solid var(--line);display:flex;align-items:flex-end;padding:1.1rem;
  aspect-ratio:3/2;
}
.sg-foto--hoch{aspect-ratio:4/5}
.sg-foto::after{
  content:attr(data-label);font-family:var(--f-mono);font-size:.66rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}

/* ══════════════════════════════════════════════════════════════════
   Dauer-Skala
   ══════════════════════════════════════════════════════════════════ */
.sg-scale{
  display:flex;flex-wrap:wrap;gap:.35rem;
  border-top:1px solid var(--line);padding-top:1.1rem;margin-top:1.4rem;
}
.sg-tick{
  background:none;border:0;cursor:pointer;position:relative;
  font-family:var(--f-mono);font-size:1rem;color:var(--muted);
  padding:.4rem .85rem .45rem;transition:color .2s;
}
.sg-tick::before{
  content:"";position:absolute;top:-1.2rem;left:50%;width:1px;height:.5rem;
  background:var(--line);transition:height .25s,background .25s,width .25s;
}
.sg-tick small{display:block;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;opacity:.6}
.sg-tick:hover{color:var(--ink)}
.sg-tick[aria-pressed="true"]{color:var(--acc-2);font-weight:600}
.sg-tick[aria-pressed="true"]::before{height:1.15rem;top:-1.85rem;background:var(--acc);width:2px}
.sg-tick--all{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.sg-scale-out{
  margin:1.7rem 0 2rem;font-family:var(--f-mono);font-size:.74rem;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
}

/* ══════════════════════════════════════════════════════════════════
   Massagen-Accordion
   ══════════════════════════════════════════════════════════════════ */
.sg-m{border-top:1px solid var(--line);transition:opacity .35s}
.sg-m:last-child{border-bottom:1px solid var(--line)}
.sg-m.is-dim{opacity:.26}
.sg-m-head{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;color:inherit;
  display:grid;grid-template-columns:1fr auto auto;gap:1rem 1.8rem;align-items:center;padding:1.5rem 0;
}
.sg-m-tag{
  display:block;font-family:var(--f-mono);font-size:.63rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brand);margin-bottom:.35rem;
}
.sg-m-name{
  font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:clamp(1.25rem,2.2vw,1.6rem);color:var(--brand-2);transition:color .2s;
}
.sg-m-head:hover .sg-m-name{color:var(--acc-2)}
.sg-m-range{font-family:var(--f-mono);font-size:.85rem;color:var(--muted);white-space:nowrap}
.sg-m-plus{
  width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);
  display:grid;place-items:center;color:var(--brand-2);flex:none;transition:.25s;
}
.sg-m-head[aria-expanded="true"] .sg-m-plus{
  background:var(--acc);border-color:var(--acc);color:#fff;transform:rotate(45deg);
}
.sg-m-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s ease}
.sg-m.is-open .sg-m-body{grid-template-rows:1fr}
.sg-m-body>div{overflow:hidden}
.sg-m-inner{padding:0 0 1.9rem;display:grid;grid-template-columns:1.35fr 1fr;gap:2.5rem}
.sg-m-desc{color:var(--muted);font-size:.97rem;margin:0}

/* Optionen (auch im Buchungsschritt 1) */
.sg-opts{display:flex;flex-direction:column;gap:.5rem}
.sg-opts--wahl{max-height:none}
.sg-opt{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;
  background:var(--bg-alt);border:1.5px solid transparent;border-radius:var(--r-s,10px);
  padding:.75rem 1rem;cursor:pointer;color:var(--ink);text-align:left;transition:.2s;
}
.sg-opt:hover{border-color:var(--acc);background:var(--acc-soft)}
.sg-opt.is-hit{border-color:var(--acc);background:var(--acc-soft)}
.sg-opt-l b{font-family:var(--f-mono);font-weight:600;font-size:.92rem;display:block}
.sg-opt-l small{color:var(--muted);font-size:.8rem}
.sg-opt-r{text-align:right;white-space:nowrap}
.sg-opt-r b{font-family:var(--f-mono);font-weight:600;font-size:.92rem}
.sg-opt-go{
  display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--acc-2);opacity:0;transition:opacity .2s;
}
.sg-opt:hover .sg-opt-go{opacity:1}

@media(max-width:760px){
  .sg-m-head{grid-template-columns:1fr auto}
  .sg-m-range{grid-column:1/-1;order:3}
  .sg-m-inner{grid-template-columns:1fr;gap:1.5rem}
}

/* ══════════════════════════════════════════════════════════════════
   Buchung
   ══════════════════════════════════════════════════════════════════ */
.sg-steps{
  list-style:none;margin:0 0 2.2rem;padding:0;
  display:flex;justify-content:center;flex-wrap:wrap;
}
.sg-step{
  display:flex;align-items:center;gap:.55rem;padding:0 .9rem;
  font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);
}
.sg-step i{
  width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);
  display:grid;place-items:center;font-style:normal;font-size:.72rem;flex:none;transition:.25s;
}
.sg-step.is-done i{background:var(--brand);border-color:var(--brand);color:#fff}
.sg-step.is-active{color:var(--acc-2)}
.sg-step.is-active i{background:var(--acc);border-color:var(--acc);color:#fff}
@media(max-width:700px){.sg-step span{display:none}.sg-step{padding:0 .5rem}}

.sg-panel{
  background:var(--surface);border-radius:var(--r,14px);box-shadow:var(--shadow,none);
  border:1px solid var(--line);
  padding:clamp(1.3rem,3vw,2.4rem);
  display:grid;grid-template-columns:1fr 320px;gap:clamp(1.4rem,3vw,2.5rem);
}
.sg-panel.is-fertig{grid-template-columns:1fr}
@media(max-width:920px){.sg-panel{grid-template-columns:1fr}}
.sg-panel-title{
  font-family:var(--f-body);font-size:.78rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brand-2);margin:0 0 1.1rem;
}
.sg-panel-title:empty{display:none}

/* Kalender */
.sg-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.sg-cal-month{font-family:var(--f-display);font-size:1.25rem;font-weight:var(--h-weight,300);color:var(--ink)}
.sg-cal-nav{display:flex;gap:.4rem}
.sg-cal-nav button{
  width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);
  background:none;cursor:pointer;color:var(--brand-2);display:grid;place-items:center;transition:.2s;
}
.sg-cal-nav button:hover:not([disabled]){background:var(--bg-alt);border-color:var(--brand)}
.sg-cal-nav button[disabled]{opacity:.3;cursor:default}

.sg-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.sg-dow{
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);text-align:center;padding:.4rem 0 .55rem;
}
.sg-day{
  aspect-ratio:1;border:0;background:none;border-radius:var(--r-s,10px);cursor:pointer;position:relative;
  font-family:var(--f-mono);font-size:.88rem;color:var(--ink);transition:.18s;display:grid;place-items:center;
}
.sg-day:hover:not(:disabled){background:var(--acc-soft)}
.sg-day::after{
  content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--brand);
}
.sg-day:disabled{color:var(--line);cursor:default}
.sg-day:disabled::after{display:none}
.sg-day.is-sel{background:var(--acc);color:#fff;font-weight:600}
.sg-day.is-sel::after{background:#fff}
.sg-day.is-today{box-shadow:inset 0 0 0 1.5px var(--line)}
.sg-cal-legend{
  margin-top:.9rem;font-family:var(--f-mono);font-size:.67rem;letter-spacing:.08em;
  color:var(--muted);display:flex;align-items:center;gap:.45rem;
}
.sg-cal-legend i{width:5px;height:5px;border-radius:50%;background:var(--brand);display:block}

/* Uhrzeiten */
.sg-hint{font-size:.9rem;color:var(--muted);margin:0 0 1rem;font-style:italic}
.sg-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.45rem}
.sg-slot{
  border:1.5px solid var(--line);background:none;border-radius:var(--r-s,9px);padding:.6rem .3rem;
  font-family:var(--f-mono);font-size:.84rem;color:var(--ink);cursor:pointer;transition:.18s;
}
.sg-slot:hover:not(:disabled){border-color:var(--acc);background:var(--acc-soft)}
.sg-slot:disabled{color:var(--line);cursor:default;text-decoration:line-through}
.sg-slot.is-sel{background:var(--acc);border-color:var(--acc);color:#fff}
.sg-zurueck{margin:1.3rem 0 0}

/* Zusammenfassung */
.sg-sum{
  background:var(--acc-soft);border-radius:var(--r,14px);padding:1.4rem;
  align-self:start;position:sticky;top:1.5rem;
}
.sg-sum-list{margin:0}
.sg-sum-list div{
  display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;
  border-bottom:1px dashed var(--line);font-size:.9rem;
}
.sg-sum-list div:last-child{border-bottom:0}
.sg-sum-list dt{
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);padding-top:.2rem;
}
.sg-sum-list dd{margin:0;text-align:right;font-weight:600;color:var(--ink)}
.sg-sum-list dd.is-leer{font-weight:400;opacity:.4}
.sg-sum-total{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-top:1rem;padding-top:1rem;border-top:1.5px solid var(--line);
}
.sg-sum-total span{
  font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
.sg-sum-total b{
  font-family:var(--f-display);font-size:1.7rem;font-weight:var(--h-weight,300);color:var(--brand-2);
}
.sg-sum .sg-btn{width:100%;margin-top:1.2rem}
.sg-sum-call{display:block;text-align:center;margin:.9rem 0 0;font-size:.84rem;color:var(--muted)}
.sg-sum-call a{color:var(--acc-2)}

/* Formular */
.sg-form{display:grid;gap:.8rem}
.sg-form-2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media(max-width:560px){.sg-form-2{grid-template-columns:1fr}}
.sg-field{display:block}
.sg-field>span{
  display:block;font-family:var(--f-mono);font-size:.65rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;
}
.sg-field input,.sg-field textarea{
  width:100%;border:1.5px solid var(--line);border-radius:var(--r-s,9px);
  padding:.72rem .9rem;font-family:var(--f-body);font-size:.95rem;color:var(--ink);
  background:var(--surface);transition:border-color .2s;
}
.sg-field input:focus,.sg-field textarea:focus{border-color:var(--acc);outline:none}
.sg-field textarea{resize:vertical;min-height:80px}
.sg-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--muted);margin-top:.3rem}
.sg-check input{margin-top:.3rem;accent-color:var(--acc);flex:none}

/* Bestätigung */
.sg-done{text-align:center;padding:2.2rem 1rem}
.sg-done-ok{
  width:56px;height:56px;border-radius:50%;background:var(--brand);color:#fff;
  display:grid;place-items:center;margin:0 auto 1.2rem;font-size:1.5rem;
}
.sg-done h3{
  font-family:var(--f-display);font-weight:var(--h-weight,300);font-size:1.6rem;
  color:var(--brand-2);margin:0 0 .7rem;
}
.sg-done p{color:var(--muted);max-width:46ch;margin:0 auto 1rem}
.sg-done-daten{
  font-family:var(--f-mono);font-size:.85rem;color:var(--brand-2)!important;
  margin-top:1.3rem!important;
}

/* ══════════════════════════════════════════════════════════════════
   Ablauf-Timeline
   ══════════════════════════════════════════════════════════════════ */
.sg-tl{list-style:none;margin:0;padding:0 0 0 3.1rem;position:relative}
.sg-tl::before{content:"";position:absolute;left:11px;top:.7rem;bottom:.7rem;width:1px;background:var(--line)}
.sg-tl-i{position:relative;padding-bottom:2.4rem}
.sg-tl-i:last-child{padding-bottom:0}
.sg-tl-i::before{
  content:"";position:absolute;left:-3.1rem;top:.5rem;width:23px;height:23px;border-radius:50%;
  background:var(--surface);border:1.5px solid var(--line);
}
.sg-tl-i::after{
  content:"";position:absolute;left:calc(-3.1rem + 8px);top:calc(.5rem + 8px);
  width:7px;height:7px;border-radius:50%;background:var(--acc);
}
.sg-tl-zeit{
  font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brand);
}
.sg-tl-titel{
  font-family:var(--f-display);font-weight:var(--h-weight,300);font-size:1.3rem;
  color:var(--brand-2);margin:.25rem 0 .45rem;
}
.sg-tl-i p{color:var(--muted);max-width:58ch;margin:0}
@media(max-width:600px){
  .sg-tl{padding-left:2.5rem}
  .sg-tl-i::before{left:-2.5rem}
  .sg-tl-i::after{left:calc(-2.5rem + 8px)}
}

/* ══════════════════════════════════════════════════════════════════
   FAQ
   ══════════════════════════════════════════════════════════════════ */
.sg-faq-i{border-top:1px solid var(--line)}
.sg-faq-i:last-child{border-bottom:1px solid var(--line)}
.sg-faq-q{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;color:inherit;
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  padding:1.2rem 0;font-family:var(--f-body);font-size:1.02rem;font-weight:600;
  transition:color .2s;
}
.sg-faq-q:hover{color:var(--acc-2)}
.sg-faq-plus{
  width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);
  display:grid;place-items:center;flex:none;font-size:.9rem;color:var(--brand-2);transition:.25s;
}
.sg-faq-i.is-open .sg-faq-plus{
  background:var(--acc);border-color:var(--acc);color:#fff;transform:rotate(45deg);
}
.sg-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.sg-faq-i.is-open .sg-faq-a{grid-template-rows:1fr}
.sg-faq-a>div{overflow:hidden}
.sg-faq-a p{margin:0;padding:0 3rem 1.5rem 0;color:var(--muted);max-width:70ch}

/* ══════════════════════════════════════════════════════════════════
   Gutschein
   ══════════════════════════════════════════════════════════════════ */
.sg-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
@media(max-width:860px){.sg-g{grid-template-columns:1fr}}
.sg-g-label{
  display:block;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin:1.6rem 0 .6rem;
}
.sg-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.sg-chip{
  border:1.5px solid var(--line);background:var(--surface);border-radius:999px;
  padding:.55rem 1.1rem;font-family:var(--f-mono);font-size:.83rem;color:var(--ink);
  cursor:pointer;transition:.2s;
}
.sg-chip:hover{border-color:var(--acc)}
.sg-chip.is-sel{background:var(--acc);border-color:var(--acc);color:#fff}
.sg-g-name{max-width:340px;margin-top:1.6rem}
.sg-g-cta{margin:1.8rem 0 0}

.sg-g-card{
  background:var(--surface);border-radius:var(--r,14px);box-shadow:var(--shadow,none);
  padding:2rem;border:1px solid var(--line);position:relative;overflow:hidden;
}
.sg-g-card::before{
  content:"";position:absolute;inset:10px;border:1px solid var(--line);
  border-radius:calc(var(--r,14px) - 6px);pointer-events:none;
}
.sg-g-card>*{position:relative}
.sg-g-marke{display:block;line-height:1.1;margin-bottom:1.6rem}
.sg-g-marke b{
  display:block;font-family:var(--f-display);font-weight:400;font-size:1rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--brand-2);
}
.sg-g-marke i{display:block;font-style:normal;font-family:var(--f-mono);font-size:.66rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--acc-2);margin-top:.3rem}
.sg-g-wert{
  font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:clamp(2.3rem,5vw,3.2rem);color:var(--brand-2);line-height:1.05;margin:.4rem 0;
}
.sg-g-wert.is-text{font-size:clamp(1.3rem,3vw,1.9rem)}
.sg-g-fuer-l{
  font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin:.9rem 0 .2rem;
}
.sg-g-fuer{font-family:var(--f-display);font-size:1.4rem;color:var(--acc-2);min-height:1.5em}
.sg-g-foot{
  margin-top:1.8rem;padding-top:1rem;border-top:1px dashed var(--line);
  font-family:var(--f-mono);font-size:.63rem;letter-spacing:.09em;color:var(--muted);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}

/* ══════════════════════════════════════════════════════════════════
   Über mich · Kontakt
   ══════════════════════════════════════════════════════════════════ */
.sg-ueber{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);
  gap:clamp(1.6rem,4vw,3.2rem);align-items:start}
/* Portrait bewusst klein — der Text trägt die Seite, nicht das Bild */
.sg-ueber>.sg-foto{max-width:260px;align-self:start;position:sticky;top:6rem}
@media(max-width:860px){
  .sg-ueber{grid-template-columns:1fr}
  .sg-ueber>.sg-foto{max-width:200px;position:static}
}
.sg-zitat{
  font-family:var(--f-display);font-style:italic;font-weight:var(--h-weight,300);
  font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.45;color:var(--acc-2);
  margin:2rem 0 0;padding-left:1.4rem;border-left:2px solid var(--acc);
}

.sg-kontakt{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem)}
@media(max-width:860px){.sg-kontakt{grid-template-columns:1fr}}
.sg-tel{
  display:inline-block;font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:clamp(2rem,4.6vw,2.9rem);text-decoration:none;color:var(--acc-2);
  border-bottom:2px solid var(--acc);margin:.6rem 0 1.5rem;
}
.sg-dl{margin:0;font-size:.94rem}
.sg-dl div{display:flex;gap:1.4rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.sg-dl div:first-child{border-top:1px solid var(--line)}
.sg-dl dt{
  flex:0 0 7.5rem;font-family:var(--f-mono);font-size:.67rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);padding-top:.25rem;
}
.sg-dl dd{margin:0}
.sg-disclaimer{
  margin-top:1.8rem;padding:1.1rem 1.3rem;background:var(--bg-alt);
  border-left:3px solid var(--brand);border-radius:0 var(--r-s,8px) var(--r-s,8px) 0;
  font-size:.87rem;color:var(--muted);
}

/* ───────────── Reduzierte Bewegung ───────────── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .sg-rev{opacity:1;transform:none}
}

/* ══════════════════════════════════════════════════════════════════
   Ergänzungen für die mehrseitige Fassung
   ══════════════════════════════════════════════════════════════════ */

.sg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sg-klein{font-size:.84rem;opacity:.8}
.sg-m-hinweis{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--brand);margin:.8rem 0 0}

/* ───────────── Seitenkopf der Unterseiten ───────────── */
.seitenkopf{background:var(--acc-soft);border-bottom:1px solid var(--line)}
.seitenkopf .wrap{padding-block:clamp(2.2rem,5vw,3.8rem)}
.seitenkopf h1{font-size:clamp(2rem,4.6vw,3.4rem);color:var(--brand-2);margin:.6rem 0 .8rem}
.seitenkopf p{color:var(--muted);max-width:56ch;margin:0}
.brotkrumen{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted)}
.brotkrumen a{text-decoration:none;border-bottom:1px solid transparent}
.brotkrumen a:hover{border-color:var(--acc)}
.brotkrumen span{opacity:.5;padding:0 .45rem}

/* ───────────── Teaser-Raster (Startseite) ───────────── */
.sg-teaser{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.sg-teaser-i{display:block;text-decoration:none;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;transition:.22s}
.sg-teaser-i:hover{border-color:var(--acc);transform:translateY(-3px);box-shadow:var(--shadow)}
.sg-teaser-tag{display:block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brand);margin-bottom:.5rem}
.sg-teaser-i h3{font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:1.2rem;color:var(--brand-2);margin:0 0 .5rem}
.sg-teaser-i:hover h3{color:var(--acc-2)}
.sg-teaser-i p{color:var(--muted);font-size:.9rem;margin:0 0 1rem}
.sg-teaser-p{font-family:var(--f-mono);font-size:.8rem;color:var(--acc-2)}

/* ───────────── Schritte (Startseite) ───────────── */
.sg-schritte{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.6rem}
.sg-schritte li{border-top:2px solid var(--line);padding-top:1rem}
.sg-schritt-nr{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.14em;color:var(--acc-2)}
.sg-schritte h3{font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:1.12rem;color:var(--brand-2);margin:.4rem 0 .5rem}
.sg-schritte p{color:var(--muted);font-size:.88rem;margin:0}

/* ───────────── CTA-Zeilen und -Block ───────────── */
.sg-cta-zeile{margin:2.2rem 0 0;display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;color:var(--muted)}
.sg-cta-zeile a:not(.sg-btn){color:var(--acc-2)}
.sg-cta-block{display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center}
.sg-cta-block-r{text-align:right}
.sg-cta-block-r .sg-tel{margin-top:0}
@media(max-width:760px){.sg-cta-block{grid-template-columns:1fr}.sg-cta-block-r{text-align:left}}

/* ───────────── Preistabelle ───────────── */
.sg-preise{width:100%;border-collapse:collapse;font-size:.96rem}
.sg-preise thead th{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);font-weight:400;text-align:left;
  padding:0 .5rem .7rem;border-bottom:1px solid var(--line)}
.sg-preise thead th:last-child{text-align:right}
.sg-preise-kopf th{text-align:left;padding:1.7rem .5rem .5rem;border-bottom:1px solid var(--line)}
.sg-preise-kopf a{font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:clamp(1.1rem,2vw,1.35rem);color:var(--brand-2);text-decoration:none}
.sg-preise-kopf a:hover{color:var(--acc-2)}
.sg-preise-kopf span{display:block;font-family:var(--f-mono);font-size:.66rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-top:.3rem}
.sg-preise tbody td{padding:.7rem .5rem;border-bottom:1px solid var(--line);color:var(--muted)}
.sg-preise-d{font-family:var(--f-mono);white-space:nowrap}
.sg-preise-p{font-family:var(--f-mono);text-align:right;color:var(--ink);white-space:nowrap}

.sg-karten{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.5rem}
@media(max-width:700px){.sg-karten{grid-template-columns:1fr}}
.sg-karte{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.7rem}
.sg-karte h3{font-family:var(--f-display);font-weight:var(--h-weight,300);font-size:1.25rem;
  color:var(--brand-2);margin:0 0 .6rem}
.sg-karte p{color:var(--muted);font-size:.92rem;margin:0 0 1.2rem}

/* ───────────── Kontaktkarte ───────────── */
.sg-karte-foto{aspect-ratio:16/9;margin-top:2rem}

/* ───────────── Rechtstexte ───────────── */
.sg-recht{max-width:78ch}
.sg-recht h3{font-family:var(--f-display);font-weight:var(--h-weight,300);font-size:1.2rem;
  color:var(--brand-2);margin:2.2rem 0 .7rem}
.sg-recht p{color:var(--muted);margin:0 0 1rem}
.sg-muster{background:var(--acc-soft);border-left:3px solid var(--acc);
  border-radius:0 var(--r-s) var(--r-s) 0;padding:1.1rem 1.3rem;
  font-size:.9rem;color:var(--ink)!important;margin-bottom:2.5rem!important}

/* ───────────── Mobiles Menü ───────────── */
.menue-auf{display:none;background:none;border:1.5px solid var(--line);border-radius:var(--btn-r);
  padding:.55rem .9rem;cursor:pointer;color:var(--ink);font-family:var(--f-mono);
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:1040px){
  .menue-auf{display:block}
  .kopf .wrap{flex-wrap:wrap}
  .menue{display:none;width:100%;flex-direction:column;align-items:flex-start;
    gap:0;padding-bottom:1rem}
  .menue.is-offen{display:flex}
  .menue a{width:100%;padding:.75rem 0;border-bottom:1px solid var(--line)}
  .menue .sg-btn{margin-top:.8rem;width:auto;border-bottom:0}
}

/* ───────────── Cal.com-Einbettung ───────────── */
.sg-cal-embed{width:100%;min-height:620px;overflow:auto;border-radius:var(--r-s);margin-top:.4rem}
@media(max-width:600px){.sg-cal-embed{min-height:760px}}
.sg-feldhinweis{display:block;margin-top:.45rem;font-size:.78rem;color:var(--muted);line-height:1.5}

/* ══════════════════════════════════════════════════════════════════
   Neues Angebotsmodell — Zeitfenster statt Einzelmassagen
   ══════════════════════════════════════════════════════════════════ */

/* Drei Zeitfenster */
.sg-zeiten{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}
@media(max-width:900px){.sg-zeiten{grid-template-columns:1fr}}
.sg-zeit{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.4rem,2.4vw,2rem);display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.sg-zeit:hover{border-color:var(--acc);transform:translateY(-3px)}
.sg-zeit-min{display:block;font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;color:var(--brand-2)}
.sg-zeit-min small{display:block;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-top:.5rem}
.sg-zeit-text{color:var(--muted);font-size:.95rem;margin:1.2rem 0 0;flex:1}
.sg-zeit-fuss{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}
.sg-zeit-preis{font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:1.5rem;color:var(--acc-2)}

/* Wobei ich begleiten kann */
.sg-wofuer{list-style:none;margin:0 0 1rem;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem 1.6rem}
.sg-wofuer li{position:relative;padding-left:1.5rem;color:var(--muted)}
.sg-wofuer li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;
  border-radius:50%;background:var(--acc)}

.sg-m-inner--breit{grid-template-columns:1fr}
.sg-m-range{white-space:normal;max-width:34ch}

.sg-wichtig{margin-top:clamp(2rem,4vw,3rem);padding:clamp(1.4rem,2.4vw,2rem);
  background:var(--bg-alt);border-left:3px solid var(--brand);border-radius:0 var(--r-s) var(--r-s) 0}
.sg-wichtig h3{font-family:var(--f-display);font-weight:var(--h-weight,300);font-size:1.3rem;
  color:var(--brand-2);margin:0 0 .9rem}
.sg-wichtig p{color:var(--muted);font-size:.92rem;margin:0 0 .8rem}
.sg-wichtig p:last-child{margin-bottom:0}

/* Buchungswege */
.sg-wege{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;
  max-width:720px;margin:0 auto 1.6rem}
@media(max-width:700px){.sg-wege{grid-template-columns:1fr}}
.sg-weg{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-s);
  padding:.9rem 1rem;cursor:pointer;text-align:center;color:var(--ink);transition:.22s}
.sg-weg:hover{border-color:var(--acc)}
.sg-weg.is-aktiv{border-color:var(--acc);background:var(--acc-soft)}
.sg-weg b{display:block;font-family:var(--f-body);font-weight:600;font-size:.98rem}
.sg-weg small{display:block;font-size:.8rem;color:var(--muted);margin-top:.15rem}

.sg-panel--einzel{grid-template-columns:1fr}
.sg-telefon{text-align:center;padding:1.5rem 0}
.sg-telefon .sg-lead{margin-inline:auto}
.sg-telefon .sg-tel{margin:1.2rem 0 .6rem}

.sg-field select{width:100%;border:1.5px solid var(--line);border-radius:var(--r-s,9px);
  padding:.72rem .9rem;font-family:var(--f-body);font-size:.95rem;color:var(--ink);background:var(--surface)}
.sg-field select:focus{border-color:var(--acc);outline:none}
.sg-form .sg-btn{margin-top:.4rem}

/* FAQ-Gruppen */
.sg-faq-gruppe{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--acc-2);margin:2rem 0 .4rem}
.sg-faq-gruppe:first-child{margin-top:0}

/* Qualifikation */
.sg-quali{margin:0}
.sg-quali div{padding:.9rem 0;border-bottom:1px solid var(--line)}
.sg-quali div:first-child{border-top:1px solid var(--line)}
.sg-quali dt{font-weight:600;color:var(--brand-2);margin-bottom:.3rem}
.sg-quali dd{margin:0;color:var(--muted);font-size:.92rem}

/* Gutscheinkarte */
.sg-g-unter{font-family:var(--f-mono);font-size:.95rem;color:var(--acc-2);margin-top:.2rem}

/* ───────────── Eingesetzte Bilder ───────────── */
.sg-foto.has-bild{padding:0;border:0}
.sg-foto.has-bild::after{display:none}
.sg-foto img{width:100%;height:100%;object-fit:cover;display:block}
.marke--bild img{height:clamp(38px,4vw,54px);width:auto;object-fit:contain}

/* ───────────── Bilder in Methoden und Gutschein ───────────── */
.sg-m-inner--bild{grid-template-columns:1.4fr 1fr;align-items:start}
@media(max-width:760px){.sg-m-inner--bild{grid-template-columns:1fr}}
.sg-m-foto{aspect-ratio:3/2}
.sg-g-foto{aspect-ratio:604/278;margin-bottom:1.4rem}

/* ───────────── Zeitstrahl über den Zeitfenstern ───────────── */
.sg-zeit{transition:border-color .25s,transform .25s,opacity .3s,box-shadow .3s}
.sg-zeit.is-dim{opacity:.32}
.sg-zeit.is-hit{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.sg-h3--erste{margin-top:0}
.sg-karten--eine{grid-template-columns:1fr;max-width:34rem}

/* ───────────── Umsetzungshinweis in der Fußzeile ───────────── */
.fuss-credit{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;
  opacity:.7;transition:opacity .25s}
.fuss-credit:hover{opacity:1}
.fuss-credit img{height:18px;width:auto;display:block}

/* ───────────── Handzeichen aus dem Logo ───────────── */
.marke--zeichen{display:flex;align-items:center;gap:.7rem}
.marke-text{display:block;line-height:1.08}
.marke-zeichen{height:clamp(32px,3.4vw,42px);width:auto;flex:none}
.fuss-zeichen{height:34px;width:auto;margin-bottom:.9rem;opacity:.9}

/* ───────────── Auszeit zusammenstellen ───────────── */
.sg-bauen{background:var(--bg-alt);border-radius:var(--r);padding:clamp(1.3rem,2.6vw,2rem);margin-bottom:2rem}
.sg-bauen-label{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--acc-2);margin:0 0 .7rem}
.sg-bauen-label span{text-transform:none;letter-spacing:.02em;color:var(--muted);font-size:.72rem}
.sg-bauen .sg-scale{margin-top:1.3rem;margin-bottom:1.6rem;border-top-color:var(--line)}
.sg-mchips{display:flex;flex-wrap:wrap;gap:.45rem}
.sg-mchip{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;
  padding:.5rem 1.05rem;font-family:var(--f-body);font-size:.87rem;color:var(--ink);
  cursor:pointer;transition:.2s;text-align:left}
.sg-mchip:hover{border-color:var(--acc)}
.sg-mchip.is-sel{background:var(--acc);border-color:var(--acc);color:#fff}
.sg-bauen .sg-scale-out{margin:1.5rem 0 0;text-transform:none;letter-spacing:.01em;
  font-family:var(--f-body);font-size:1rem;color:var(--ink)}
.sg-bauen .sg-scale-out b{font-weight:600;color:var(--acc-2)}
.sg-bauen-cta{margin:1.3rem 0 0}
.sg-wunsch{background:var(--acc-soft);border-left:3px solid var(--acc);border-radius:0 var(--r-s) var(--r-s) 0;
  padding:.9rem 1.1rem;font-size:.9rem;color:var(--ink);margin:0 0 1.2rem}

/* ───────────── Methoden, die in der Zeit nicht möglich sind ───────────── */
.sg-mchip.is-aus{opacity:.45}
.sg-mchip.is-aus:hover{border-color:var(--line)}
.sg-out-aus{display:block;margin-top:.4rem;font-size:.85rem;color:var(--muted)}
.sg-m-dauer{display:block;margin-top:.3rem;font-family:var(--f-mono);font-size:.75rem;
  font-weight:400;letter-spacing:.06em;color:var(--acc-2)}
.sg-tick.is-aus{opacity:.4}
.sg-tick.is-aus::before{background:transparent}

/* ───────────── Gutschein: Betrag und Untermenü ───────────── */
.sg-g-betrag{display:flex;align-items:center;gap:.5rem;max-width:200px}
.sg-g-betrag input{width:100%;border:1.5px solid var(--line);border-radius:var(--r-s);
  padding:.7rem .9rem;font-family:var(--f-mono);font-size:1rem;color:var(--ink);background:var(--surface)}
.sg-g-betrag input:focus{border-color:var(--acc);outline:none}
.sg-g-betrag span{font-family:var(--f-mono);font-size:1.1rem;color:var(--muted)}
.sg-chip small{display:block;font-size:.68rem;opacity:.75;margin-top:.1rem;font-family:var(--f-body)}
.sg-g-unterzeit{margin-top:.4rem;padding-left:1rem;border-left:2px solid var(--acc)}
.fuss-zeichen--voll{height:auto;width:min(190px,60%);margin-bottom:1.1rem;
  background:rgba(255,255,255,.92);border-radius:10px;padding:.55rem .7rem}

/* ───────────── Hinweis „ausschließlich für Frauen" ───────────── */
.sg-nurfrauen{margin:1rem 0 0;padding:.75rem 1rem;background:var(--acc-soft);
  border-left:3px solid var(--acc);border-radius:0 var(--r-s) var(--r-s) 0;
  font-size:.9rem;font-weight:600;color:var(--ink)}
.sg-mchip small{display:block;font-size:.7rem;opacity:.75;margin-top:.1rem}
.sg-wunsch b{font-weight:600}

/* ───────────── Methodentexte mit Claim und Schlusszeile ───────────── */
.sg-m-claim{font-family:var(--f-display);font-weight:600;font-size:1.05rem;
  color:var(--brand-2);margin:0 0 .9rem;letter-spacing:-.005em}
.sg-m-schluss{margin:1.1rem 0 0;padding-top:.9rem;border-top:1px solid var(--line);
  font-weight:600;color:var(--acc-2);font-size:.95rem}
.sg-wofuer li b{color:var(--brand-2);font-weight:600}
.sg-wofuer{gap:.75rem 1.6rem}

/* ── Theme ── */

.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.h1-2{display:block}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}
 .hero-grid .sg-foto{aspect-ratio:3/2;order:-1}}
.hero{background:linear-gradient(165deg,var(--acc-soft),var(--bg-alt) 60%,#DDE4D8)}
/* Zweite Zeile der Hauptüberschrift — wie in Version 11: gleiche Schrift,
   nur farblich abgesetzt statt in Handschrift. */
.h1-2{display:block;color:var(--acc-2)}
.seitenkopf{background:linear-gradient(165deg,var(--acc-soft),var(--bg-alt))}
/* ───────────── Einwilligung vor dem Laden des Kalenders ───────────── */
.sg-consent{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.4rem,3vw,2.2rem);text-align:center;max-width:44rem;margin:0 auto}
.sg-consent h4{font-family:var(--f-display);font-weight:var(--h-weight,300);
  font-size:1.25rem;color:var(--brand-2);margin:0 0 .8rem}
.sg-consent p{color:var(--muted);font-size:.94rem;margin:0 0 1.1rem;max-width:52ch;margin-inline:auto}
.sg-consent a{color:var(--acc-2)}
.sg-consent-alt{font-size:.88rem;margin-bottom:0}

/* ══════════════════════════════════════════════════════════════════
   WÄRMERE FASSUNG — überschreibt die Grundeinstellungen weiter oben.
   Drei Eingriffe: Roboto überall, wärmere Farben, keine gesperrten
   Versalien mehr. Der Aufbau bleibt unverändert.
   ══════════════════════════════════════════════════════════════════ */
:root{
  /* Schrift — eine Familie für alles, wie auf ihrer alten Seite */
  --f-display:"Exo",Arial,sans-serif;
  --f-body:"Exo",Arial,sans-serif;
  --f-mono:"Exo",Arial,sans-serif;
  --f-hand:"Mathilde","Exo",cursive;
  --h-weight:300;            /* Light — wie auf ihren Drucksachen */
  --body-weight:400;
  --marke-w:400;
  --marke-ls:.02em;

  /* Beschriftungen: keine Versalien, kaum Sperrung */
  --lbl-ls:.04em;
  --lbl-tt:none;

  /* Akzentfarbe — exakt das Orange aus dem Handzeichen im Logo (#FFB200).
     Für Text auf hellem Grund abgedunkelt, sonst nur 1,75:1 Kontrast
     und damit unlesbar. Die abgedunkelte Fassung erreicht 4,63:1. */
  --acc:#FFB200;
  --acc-2:#986A00;

  /* Wärmere Grundflächen */
  --bg:#FFFBF4;              /* warmes Cremeweiß statt Reinweiß */
  --bg-alt:#FDF0D6;          /* aus dem Logo-Orange aufgehellt */
  --surface:#FFFFFF;
  --acc-soft:#FFF6E4;

  /* Wärmere Textfarben — leicht ins Bräunliche statt ins Graue */
  --ink:#463F35;
  --muted:#7E7365;
  --line:rgba(152,106,0,.22);

  /* Grün bleibt, wird aber wärmer abgestimmt */
  --brand:#8FA089;
  --brand-2:#63735E;
}

/* ── Keine gesperrten Großbuchstaben mehr ── */
.sg-eyebrow,.marke b,.marke i,.fuss h4,.fuss-copy,.sg-tl-zeit,.sg-m-tag,
.sg-g-label,.sg-dl dt,.sg-field>span,.sg-step,.sg-bauen-label,.brotkrumen,
.sg-teaser-tag,.sg-schritt-nr,.sg-preise thead th,.sg-preise-kopf span,
.sg-cal-legend,.sg-dow,.hero .meta,.sg-scale-out,.sg-g-marke b,.sg-g-marke i,
.sg-g-foot,.sg-g-fuer-l,.sg-m-hinweis,.sg-faq-gruppe,.menue-auf,.sg-tick--all,
.sg-zeit-min small,.sg-sum-list dt,.sg-sum-total span,.sg-panel-title,
.sg-out-aus,.sg-m-dauer,.sg-tick small,.sg-foto::after{
  text-transform:none;
  letter-spacing:.01em;
}

/* Etwas größer, weil gemischte Schreibweise kleiner wirkt als Versalien */
.sg-eyebrow{font-size:.82rem;font-weight:600;color:var(--acc-2)}
.marke i{font-size:.78rem;font-weight:400}
.fuss h4{font-size:.82rem;font-weight:600}
.sg-g-label,.sg-field>span,.sg-dl dt,.sg-tl-zeit,.sg-teaser-tag,.sg-m-tag{font-size:.8rem}
.sg-bauen-label{font-size:.86rem;font-weight:600}
.sg-scale-out{font-size:1rem}

/* ── Wärmere Flächen: mehr Amber, weniger Weiß ── */
.hero{background:linear-gradient(160deg,#FFF6E4 0%,#FDF0D6 55%,#FAE6C4 100%)}
.seitenkopf{background:linear-gradient(160deg,#FFF6E4,#FDF0D6)}
.sek--alt{background:var(--bg-alt)}
.sek--soft{background:#FFF9EE}
.kopf{--kopf-bg:rgba(255,251,244,.92)}

/* Überschriften dürfen Amber tragen, nicht nur Grün */
.sg-h2,.seitenkopf h1{color:var(--brand-2)}
.sg-h3{color:var(--acc-2)}
.hero h1{color:var(--brand-2);font-weight:300}
.h1-2{color:var(--acc-2);font-weight:300}

/* Karten und Kästen wärmer absetzen */
.sg-zeit,.sg-karte,.sg-teaser-i,.sg-panel{background:var(--surface);border-color:var(--line)}
.sg-zeit:hover,.sg-teaser-i:hover{border-color:var(--acc);box-shadow:0 10px 30px -18px rgba(152,106,0,.5)}
.sg-wichtig{background:#FFF6E4;border-left-color:var(--acc)}
.sg-disclaimer{background:#FFF6E4;border-left-color:var(--acc)}
.sg-bauen{background:#FFF6E4}

/* Fußzeile wärmer */
.fuss{--fuss-bg:#5C6B57;--fuss-ink:#E8E2D5}

/* Trennlinien der Aufklapper weicher */
.sg-m,.sg-faq-i{border-top-color:var(--line)}
.sg-m:last-child,.sg-faq-i:last-child{border-bottom-color:var(--line)}

/* Zahlen in den Zeitfenstern in Amber statt Grün */
.sg-zeit-min{color:var(--acc-2);font-weight:300}
.sg-tel{font-weight:300}

/* ── Mathilde: handschriftlicher Akzent unter dem Namen ── */
.marke i{
  font-family:var(--f-hand);
  font-size:clamp(1.15rem,1.5vw,1.45rem);
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:#FFB200;          /* exakt das Orange aus dem Handzeichen */
  margin-top:.1rem;
  line-height:1.05;
}
/* Auf der Gutscheinkarte derselbe Akzent */
.sg-g-marke i{
  font-family:var(--f-hand);
  font-size:1.35rem;
  letter-spacing:0;
  text-transform:none;
  color:var(--acc-2);
  margin-top:.15rem;
}

/* ── Seitenkopf mit Bild — wie auf ihrer bisherigen Website ── */
.seitenkopf--bild{
  position:relative;border-bottom:0;
  min-height:clamp(320px,44vh,460px);
  display:grid;align-items:end;
  background-size:cover;background-position:center;
}
/* Die Abdunklung setzt das Skript beim Einsetzen des Bildes. */
.seitenkopf--bild .wrap{position:relative;padding-block:clamp(2.5rem,6vw,4rem)}
.seitenkopf--bild h1,
.seitenkopf--bild .seitenkopf-claim,
.seitenkopf--bild .brotkrumen,
.seitenkopf--bild .brotkrumen a{color:#fff}
.seitenkopf--bild .brotkrumen{opacity:.85}
/* Über einem Foto keine Handschrift — zu dünn, zu unruhig.
   Mathilde bleibt der Markenzeile vorbehalten, dort steht sie
   auf ruhigem Untergrund. */
.seitenkopf-claim{
  font-family:var(--f-body);
  font-weight:300;
  font-size:clamp(1.05rem,1.7vw,1.35rem);
  letter-spacing:.01em;
  margin:.35rem 0 0;
  max-width:34ch;
}
/* Lesbarkeit über wechselnden Bildbereichen */
.seitenkopf--bild h1{text-shadow:0 2px 18px rgba(50,44,36,.45)}
.seitenkopf--bild .seitenkopf-claim{text-shadow:0 1px 12px rgba(50,44,36,.55)}
.seitenkopf--bild .brotkrumen{text-shadow:0 1px 10px rgba(50,44,36,.5)}
/* Solange kein Bild geladen ist, bleibt der warme Verlauf sichtbar */
.seitenkopf--bild:not(.has-bg){background:linear-gradient(160deg,#FFF6E4,#FDF0D6)}
.seitenkopf--bild:not(.has-bg)::before{display:none}
.seitenkopf--bild:not(.has-bg) h1,
.seitenkopf--bild:not(.has-bg) .seitenkopf-claim{color:var(--brand-2)}
.seitenkopf--bild:not(.has-bg) .brotkrumen,
.seitenkopf--bild:not(.has-bg) .brotkrumen a{color:var(--muted)}

/* Text auf Bildköpfen — auch der längere Einleitungssatz */
.seitenkopf--bild p{color:#fff;text-shadow:0 1px 12px rgba(50,44,36,.55);max-width:44ch}

/* ── Markenzeile: der Zusatz darf nie breiter werden als der Name ──
   Spalte mit linksbündiger Ausrichtung, damit beide Zeilen auf ihre
   tatsächliche Textbreite schrumpfen. Als Blockelemente füllten sie
   den Container aus und wären nicht messbar gewesen. */
.marke-text{display:flex;flex-direction:column;align-items:flex-start}
.marke-text b{white-space:nowrap}
.marke-text i{white-space:nowrap}

/* ══════════════════════════════════════════════════════════════════
   ÜBERSCHRIFTEN IN MATHILDE

   Mathilde hat nur einen Schnitt und sehr dünne Striche. Sie trägt
   bei großen, kurzen Zeilen — deshalb bekommen sie hier mehr Größe
   und volle Farbstärke. Der Schnitt bleibt bei 400, alles andere
   würde der Browser künstlich verzerren.

   Bewusst NICHT umgestellt (siehe Anmerkung unten im Block):
   Methodennamen, Zahlen, Telefonnummer, Gutscheinwert.
   ══════════════════════════════════════════════════════════════════ */
.hero h1,
.seitenkopf h1,
.sg-h2,
.sg-h3,
.sg-tl-titel,
.sg-karte h3,
.sg-teaser-i h3,
.sg-wichtig h3,
.sg-done h3,
.sg-consent h4,
.sg-schritte h3{
  font-family:var(--f-hand);
  font-weight:400;
  letter-spacing:.005em;
}

/* Handschrift baut kleiner auf als Exo — Größe und Zeilenabstand nach */
.hero h1{font-size:clamp(3rem,7.5vw,5.4rem);line-height:1.02}
.seitenkopf h1{font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.05}
.sg-h2{font-size:clamp(2.3rem,4.8vw,3.5rem);line-height:1.12}
.sg-h3{font-size:clamp(1.8rem,3.5vw,2.5rem);line-height:1.15}
.sg-tl-titel{font-size:1.7rem}
.sg-karte h3,.sg-teaser-i h3,.sg-wichtig h3,.sg-schritte h3{font-size:1.55rem}
.sg-done h3{font-size:2rem}
.sg-consent h4{font-size:1.6rem}

/* Bei Handschrift wirkt reines Grün blass — etwas mehr Tiefe */
.sg-h2,.seitenkopf h1,.hero h1{color:#57664F}

/* ── Diese bleiben bei Exo ──
   Methodennamen: enthalten ®, Klammern und Fachbegriffe wie
     „Neurobiologische Regulation nach Henkel (NBR)®" — in Handschrift
     kaum entzifferbar.
   Zahlen und Preise: Ziffern sind in Schreibschriften die schwächste
     Stelle, 70 und 90 lassen sich leicht verwechseln.
   Telefonnummer: dieselbe Begründung, hier wiegt sie am schwersten. */
.sg-m-name,
.sg-zeit-min,
.sg-g-wert,
.sg-tel,
.sg-cal-month,
.sg-sum-total b{
  font-family:var(--f-display);
  font-weight:300;
  letter-spacing:0;
}

/* ══════════════════════════════════════════════════════════════════
   KORREKTUREN NACH DER ERSTEN ANSICHT
   ══════════════════════════════════════════════════════════════════ */

/* ── Zeitfenster-Karten: Zahlen wieder in Exo ──
   „70 Minuten" war in Handschrift kaum zu entziffern — genau der
   Grund, aus dem die großen Minutenzahlen schon vorher bei Exo
   geblieben sind. Die Teaser-Karten hatte ich übersehen. */
.sg-teaser-i h3{
  font-family:var(--f-display);
  font-weight:300;
  font-size:1.45rem;
  letter-spacing:0;
}

/* ── Ablaufschritte: normale Schrift ──
   Ankommen · Individuell abgestimmte Massage · Zeit zum Nachspüren */
.sg-tl-titel{
  font-family:var(--f-display);
  font-weight:400;
  font-size:1.35rem;
  letter-spacing:0;
}

/* ── Zitat in Mathilde ── */
.sg-zitat{
  font-family:var(--f-hand);
  font-style:normal;
  font-weight:400;
  font-size:clamp(1.7rem,3.4vw,2.4rem);
  line-height:1.35;
}

/* ── Größer: Wichtiges im Überblick und die Karten ── */
.sg-wichtig h3{font-size:clamp(1.9rem,3.4vw,2.4rem);margin-bottom:1.2rem}
.sg-karte h3{font-size:clamp(1.8rem,3.2vw,2.2rem);margin-bottom:.9rem}

/* ── Überschriften auf Bildern: weiß ──
   Meine Grünregel weiter oben hat die weiße Farbe überschrieben,
   weil sie später im Stylesheet steht. Hier wird sie zurückgeholt —
   mit kräftigerem Schatten, weil Handschrift dünner ist als Exo
   und sich über einem Foto sonst nicht durchsetzt. */
.seitenkopf--bild h1,
.seitenkopf--bild .seitenkopf-claim,
.seitenkopf--bild p,
.seitenkopf--bild .brotkrumen,
.seitenkopf--bild .brotkrumen a{
  color:#fff;
}
.seitenkopf--bild h1{text-shadow:0 2px 26px rgba(40,34,26,.75),0 1px 4px rgba(40,34,26,.45)}
.seitenkopf--bild .seitenkopf-claim,
.seitenkopf--bild p{text-shadow:0 1px 16px rgba(40,34,26,.7)}
.seitenkopf--bild .brotkrumen{text-shadow:0 1px 12px rgba(40,34,26,.7)}

/* ── Ablaufschritte auf der Startseite: größer ── */
.sg-schritte h3{
  font-size:2.55rem;
  line-height:1.12;
  margin:.5rem 0 .7rem;
}

/* ══════════════════════════════════════════════════════════════════
   ÜBERSCHRIFTEN ZURÜCK AUF EXO

   Mathilde ist für Überschriften zu fein — sie bleibt der Markenzeile
   und dem Zitat vorbehalten, wo sie groß und kurz steht.

   Sobald eine andere Schreibschrift feststeht: oben bei @font-face
   den Dateinamen tauschen, --f-hand zeigt dann automatisch darauf.
   Um Überschriften wieder auf Handschrift zu stellen, genügt es,
   diesen ganzen Block zu löschen.
   ══════════════════════════════════════════════════════════════════ */
.hero h1,
.seitenkopf h1,
.sg-h2,
.sg-h3,
.sg-karte h3,
.sg-teaser-i h3,
.sg-wichtig h3,
.sg-done h3,
.sg-consent h4,
.sg-schritte h3{
  font-family:var(--f-display);
  font-weight:var(--h-weight,300);
  letter-spacing:-.005em;
}

/* Exo baut größer auf als Mathilde — Größen wieder zurücknehmen */
.hero h1{font-size:clamp(2.4rem,5.8vw,4.2rem);line-height:1.08}
.seitenkopf h1{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.1}
.sg-h2{font-size:clamp(1.8rem,3.8vw,2.8rem);line-height:1.14}
.sg-h3{font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.2}
.sg-wichtig h3{font-size:clamp(1.5rem,2.6vw,1.9rem)}
.sg-karte h3{font-size:clamp(1.4rem,2.4vw,1.75rem)}
.sg-teaser-i h3{font-size:1.35rem}
.sg-schritte h3{font-size:1.75rem;line-height:1.2}
.sg-done h3{font-size:1.7rem}
.sg-consent h4{font-size:1.35rem}

/* Grünton wieder wie zuvor — die Aufhellung war nur für die dünnen
   Striche der Handschrift nötig */
.sg-h2,.hero h1{color:var(--brand-2)}

/* ── Zitat unter dem Terminkalender ── */
.sg-zitatblock{text-align:center;max-width:42rem}
.sg-zitatblock blockquote{margin:0;padding:0}
.sg-zitatblock p{
  font-family:var(--f-hand);
  font-size:clamp(1.6rem,3.2vw,2.3rem);
  line-height:1.4;
  color:var(--acc-2);
  margin:0 0 1.1rem;
}
.sg-zitatblock cite{
  font-family:var(--f-body);
  font-style:normal;
  font-size:.9rem;
  color:var(--muted);
}
.sg-zitatblock cite::before{content:"— "}

/* ══════════════════════════════════════════════════════════════════
   SCHRIFTEN ZURÜCK AUF DIE FASSUNG 02
   Sora, Inter und DM Mono wie ursprünglich entworfen.
   Ausnahmen: Minutenzahlen und Preise in Exo, der Zusatz unter dem
   Namen in Mathilde.
   ══════════════════════════════════════════════════════════════════ */
:root{
  --f-display:"Sora",sans-serif;
  --f-body:"Inter",sans-serif;
  --f-mono:"DM Mono",monospace;
  --f-zahl:"Exo","Sora",sans-serif;
  --f-hand:"Mathilde","Sora",cursive;
  --h-weight:200;
  --lbl-ls:.18em;
  --lbl-tt:uppercase;
}

/* Beschriftungen wieder in DM Mono und Versalien wie im Entwurf 02 */
.sg-eyebrow,.marke b,.fuss h4,.fuss-copy,.sg-tl-zeit,.sg-m-tag,
.sg-g-label,.sg-dl dt,.sg-field>span,.sg-step,.sg-bauen-label,.brotkrumen,
.sg-teaser-tag,.sg-schritt-nr,.sg-preise thead th,.sg-preise-kopf span,
.sg-cal-legend,.sg-dow,.hero .meta,.sg-scale-out,.sg-g-foot,.sg-g-fuer-l,
.sg-m-hinweis,.sg-faq-gruppe,.menue-auf,.sg-tick--all,.sg-sum-list dt,
.sg-sum-total span,.sg-panel-title,.sg-out-aus{
  font-family:var(--f-mono);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.7rem;
}

/* Überschriften wieder in Sora */
.hero h1,.seitenkopf h1,.sg-h2,.sg-h3,.sg-karte h3,.sg-teaser-i h3,
.sg-wichtig h3,.sg-done h3,.sg-consent h4,.sg-schritte h3,.sg-tl-titel{
  font-family:var(--f-display);
  font-weight:var(--h-weight);
  letter-spacing:-.01em;
}
.hero h1{font-size:clamp(2.4rem,5.8vw,4.2rem);line-height:1.08;font-weight:200}
.seitenkopf h1{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.1}
.sg-h2{font-size:clamp(1.8rem,3.8vw,2.8rem);line-height:1.14}
.sg-h3{font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.2;font-weight:300}
.sg-wichtig h3{font-size:clamp(1.5rem,2.6vw,1.9rem);font-weight:300}
.sg-karte h3{font-size:clamp(1.4rem,2.4vw,1.75rem);font-weight:300}
.sg-teaser-i h3,.sg-tl-titel{font-size:1.4rem;font-weight:300}
.sg-schritte h3{font-size:1.75rem;font-weight:300;line-height:1.2}
.sg-done h3{font-size:1.7rem;font-weight:300}
.sg-consent h4{font-size:1.35rem;font-weight:300}

/* ── Ausnahme: Zahlen in ihrer eigenen Schrift ── */
.sg-zeit-min,.sg-zeit-preis,.sg-preise td,.sg-g-wert,.sg-sum-total b,.sg-tel{
  font-family:var(--f-zahl);
  font-weight:300;
  letter-spacing:0;
  text-transform:none;
}

/* Zitat und Markenzeile bleiben bei Mathilde */
.sg-zitat,.sg-zitatblock p{font-family:var(--f-hand)}
.marke i{font-family:var(--f-hand);color:#FFB200;text-transform:none;letter-spacing:0}

/* Körperbereiche der TouchLife-Massage */
.sg-m-bereiche{list-style:none;margin:1.2rem 0;padding:0;display:grid;gap:.55rem}
.sg-m-bereiche li{color:var(--muted);font-size:.96rem;padding-left:1.1rem;position:relative}
.sg-m-bereiche li::before{content:"";position:absolute;left:0;top:.62em;
  width:5px;height:5px;border-radius:50%;background:var(--acc)}
.sg-m-bereiche b{color:var(--ink);font-weight:500}
@media(min-width:40rem){.sg-m-bereiche{grid-template-columns:1fr 1fr;gap:.55rem 1.8rem}}

/* ══════════════════════════════════════════════════════════════════
   ZURÜCK AUF DIE URSPRUNGSFASSUNG 02
   Farben und Schriften wie im ersten Entwurf. Einzige Ergänzung:
   Exo für Minutenzahlen und Preise — auf ihren Wunsch.
   Dieser Block überschreibt alle Anpassungen darüber.
   ══════════════════════════════════════════════════════════════════ */
:root{
  --bg:#FFFFFF; --bg-alt:#EDF1EA; --surface:#FFFFFF;
  --ink:#3D4739; --muted:#74806F; --line:rgba(143,160,137,.30);
  --acc:#EFA83C; --acc-2:#C9821F; --acc-soft:#FDF5E4;
  --brand:#8FA089; --brand-2:#5F6E5A;
  --shadow:0 1px 2px rgba(61,71,57,.05),0 12px 34px -14px rgba(61,71,57,.22);
  --lbl-ls:.22em; --lbl-tt:uppercase;
  --h-weight:200; --body-weight:300; --marke-w:400;
  --f-display:"Jost",sans-serif;
  --f-body:"Manrope",sans-serif;
  --f-mono:"DM Mono",monospace;
  --f-zahl:"Exo","Jost",sans-serif;
}

/* Flächen und Verläufe zurück auf den Ursprung */
.hero{background:linear-gradient(165deg,var(--acc-soft),var(--bg-alt) 60%,#DDE4D8)}
.seitenkopf{background:linear-gradient(165deg,var(--acc-soft),var(--bg-alt))}
.sek--alt{background:var(--bg-alt)}
.sek--soft{background:var(--acc-soft)}
.kopf{--kopf-bg:var(--bg)}
.fuss{--fuss-bg:var(--brand-2);--fuss-ink:#DDE3D9}
.sg-wichtig{background:var(--bg-alt);border-left-color:var(--brand)}
.sg-disclaimer{background:var(--bg-alt);border-left-color:var(--brand)}
.sg-bauen{background:var(--bg-alt)}
.sg-zeit:hover,.sg-teaser-i:hover{border-color:var(--acc);box-shadow:var(--shadow)}

/* Beschriftungen wie im Ursprung: DM Mono, Versalien, weit gesperrt */
.sg-eyebrow,.marke b,.marke i,.fuss h4,.fuss-copy,.sg-tl-zeit,.sg-m-tag,
.sg-g-label,.sg-dl dt,.sg-field>span,.sg-step,.sg-bauen-label,
.sg-teaser-tag,.sg-schritt-nr,.sg-preise thead th,.sg-preise-kopf span,
.sg-cal-legend,.sg-dow,.hero .meta,.sg-scale-out,.sg-g-foot,.sg-g-fuer-l,
.sg-m-hinweis,.sg-faq-gruppe,.menue-auf,.sg-tick--all,.sg-sum-list dt,
.sg-sum-total span,.sg-panel-title,.sg-out-aus,.sg-foto::after{
  font-family:var(--f-mono);
  text-transform:uppercase;
  letter-spacing:.22em;
}
.sg-eyebrow{font-size:.7rem;font-weight:400;color:var(--acc-2)}
.marke i{font-size:.63rem;color:var(--acc-2);letter-spacing:.22em;margin-top:.28rem}

/* Überschriften in Jost */
.hero h1,.seitenkopf h1,.sg-h2,.sg-h3,.sg-karte h3,.sg-teaser-i h3,
.sg-wichtig h3,.sg-done h3,.sg-consent h4,.sg-schritte h3,.sg-tl-titel,
.sg-m-name,.sg-cal-month,.sg-g-wert,.sg-zitat{
  font-family:var(--f-display);
  font-weight:var(--h-weight,200);
  letter-spacing:-.01em;
}
.hero h1{font-size:clamp(2.4rem,5.8vw,4.2rem);line-height:1.14;color:var(--brand-2)}
.seitenkopf h1{font-size:clamp(2rem,4.6vw,3.4rem);color:var(--brand-2)}
.sg-h2{font-size:clamp(1.8rem,3.8vw,2.8rem);color:var(--brand-2)}
.sg-h3{font-size:clamp(1.4rem,2.8vw,2rem);color:var(--brand-2);font-weight:300}
.sg-wichtig h3,.sg-karte h3{font-size:1.3rem;font-weight:300}
.sg-teaser-i h3,.sg-tl-titel{font-size:1.2rem;font-weight:300}
.sg-schritte h3{font-size:1.12rem;font-weight:300}
.sg-done h3{font-size:1.6rem;font-weight:300}
.sg-consent h4{font-size:1.25rem;font-weight:300}
.sg-zitat{font-style:italic;color:var(--acc-2)}

/* Fließtext in Manrope */
body,.sg-lead,.sg-m-desc,.sg-faq-a p,.sg-btn{font-family:var(--f-body)}

/* Ausnahme: Zahlen in ihrer Schrift */
.sg-zeit-min,.sg-zeit-preis,.sg-preise-d,.sg-preise-p,.sg-tel,
.sg-sum-total b,.sg-slot,.sg-day{
  font-family:var(--f-zahl);
  letter-spacing:0;
  text-transform:none;
}
.sg-zeit-min{font-weight:300;color:var(--brand-2)}
.sg-zeit-min small{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.16em}
.sg-zeit-preis{font-weight:300;color:var(--acc-2)}

/* ══════════════════════════════════════════════════════════════════
   GRÖSSERE BILDER AUF RECHNER UND NOTEBOOK
   Auf dem Handy bleibt alles wie bisher — dort ist die Breite
   ohnehin ausgereizt. Erst ab Tablet greifen die neuen Maße.
   ══════════════════════════════════════════════════════════════════ */
@media(min-width:56rem){
  /* Startseite: Titelbild deutlich größer */
  .hero-grid{grid-template-columns:.94fr 1.06fr;gap:clamp(2.2rem,4.5vw,4rem)}
  .hero-grid .sg-foto{aspect-ratio:4/5}

  /* Porträt auf „Über mich" — war bewusst klein, jetzt großzügiger */
  .sg-ueber{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .sg-ueber>.sg-foto{max-width:none}

  /* Fotos in den Methoden */
  .sg-m-inner--bild{grid-template-columns:1.1fr 1fr}
  .sg-m-foto{aspect-ratio:4/5}

  /* Behandlungsraum auf der Kontaktseite */
  .sg-karte-foto{aspect-ratio:4/3}

  /* Gutscheinkarte */
  .sg-g-foto{aspect-ratio:16/10}
}

@media(min-width:75rem){
  .hero-grid .sg-foto{aspect-ratio:1/1}
  .sg-m-foto{aspect-ratio:1/1}
}

/* ── Willkommenstext auf der Startseite ── */
.sg-willkommen{max-width:62rem}
.sg-willkommen .sg-head{max-width:46ch;margin-bottom:1.8rem}
.sg-willkommen-unter{font-size:1.1rem;color:var(--acc-2)}
.sg-willkommen .sg-lead{max-width:66ch}

.sg-zeitliste{list-style:none;margin:1.8rem 0;padding:0;display:grid;gap:.85rem}
.sg-zeitliste li{position:relative;padding-left:1.7rem;color:var(--muted);max-width:60ch}
.sg-zeitliste li::before{content:"";position:absolute;left:0;top:.68em;
  width:8px;height:8px;border-radius:50%;background:var(--acc)}
.sg-zeitliste b{color:var(--brand-2);font-weight:600}
@media(min-width:56rem){
  .sg-zeitliste{grid-template-columns:1fr 1fr;gap:1rem 2.4rem}
  .sg-zeitliste li{max-width:none}
}

.sg-willkommen-claim{
  font-family:var(--f-display);
  font-weight:var(--h-weight,200);
  font-size:clamp(1.4rem,2.8vw,2rem);
  line-height:1.3;
  color:var(--acc-2);
  margin:2.2rem 0 0;
  padding-left:1.4rem;
  border-left:2px solid var(--acc);
  max-width:34ch;
}

/* ══════════════════════════════════════════════════════════════════
   BILDKÖPFE — muss ganz am Ende stehen

   Der Rücksetz-Block weiter oben färbt alle Seitenüberschriften grün.
   Auf einem Foto muss die Schrift aber weiß bleiben, sonst verschwindet
   sie. Diese Regeln stehen deshalb bewusst zuletzt.
   ══════════════════════════════════════════════════════════════════ */
.seitenkopf--bild h1,
.seitenkopf--bild .seitenkopf-claim,
.seitenkopf--bild p{
  color:#fff !important;
}
.seitenkopf--bild h1{
  text-shadow:0 2px 28px rgba(35,30,24,.8), 0 1px 5px rgba(35,30,24,.5);
  font-weight:300;
}
.seitenkopf--bild .seitenkopf-claim,
.seitenkopf--bild p{
  text-shadow:0 1px 18px rgba(35,30,24,.75);
}

/* ── Kopfbilder größer auf Rechner und Notebook ── */
.seitenkopf--bild{min-height:clamp(300px,42vh,420px)}
@media(min-width:56rem){
  .seitenkopf--bild{min-height:clamp(420px,54vh,580px)}
  .seitenkopf--bild h1{font-size:clamp(2.8rem,5.2vw,4.2rem)}
  .seitenkopf--bild .seitenkopf-claim{font-size:clamp(1.15rem,1.9vw,1.5rem)}
}
@media(min-width:90rem){
  .seitenkopf--bild{min-height:640px}
}

/* ── „Eine Massage kann Ihnen guttun, wenn …" ── */
.sg-guttun{list-style:none;margin:1.4rem 0 1.8rem;padding:0;display:grid;gap:.7rem;max-width:62ch}
.sg-guttun li{color:var(--muted);padding-left:.2rem;line-height:1.7}
.sg-willkommen .sg-h3{margin-top:clamp(2.4rem,4.5vw,3.4rem)}
.sg-willkommen .sg-lead b{color:var(--brand-2);font-weight:600}

/* ── Auswahlpunkte bei der Terminbuchung ── */
.sg-opt--radio{justify-content:flex-start;gap:.9rem;padding:1rem 1.15rem}
.sg-radio{
  width:20px;height:20px;border-radius:50%;flex:none;
  border:2px solid var(--line);background:var(--surface);
  position:relative;transition:border-color .2s;
}
.sg-opt--radio:hover .sg-radio{border-color:var(--acc)}
.sg-opt--radio.is-sel .sg-radio{border-color:var(--acc)}
.sg-opt--radio.is-sel .sg-radio::after{
  content:"";position:absolute;inset:3px;border-radius:50%;background:var(--acc);
}
.sg-opt--radio .sg-opt-l small{display:block;margin-top:.15rem}

/* Erläuterung unter „Was spricht Sie an?" — normale Schreibweise,
   damit sie sich von der Beschriftung darüber absetzt */
.sg-bauen-lead{
  font-family:var(--f-body);
  font-size:.94rem;
  line-height:1.65;
  color:var(--muted);
  text-transform:none;
  letter-spacing:0;
  max-width:58ch;
  margin:0 0 1rem;
}

/* ── Keine Schreibmaschinenschrift bei Fließtext und Zahlen ──
   DM Mono setzt die Null mit Querstrich. Das gehört in ein Terminal,
   nicht auf eine Massage-Website. */
.sg-m-range{
  font-family:var(--f-body);
  font-size:.95rem;
  letter-spacing:0;
  text-transform:none;
  line-height:1.6;
}
.sg-m-dauer,
.sg-g-foot,
.sg-cal-legend,
.fuss-copy,
.sg-opt-l b,.sg-opt-r b,
.sg-teaser-p,
.sg-tl-zeit,
.sg-schritt-nr{
  font-family:var(--f-zahl);
  letter-spacing:.02em;
  text-transform:none;
}
.sg-m-dauer{font-size:.9rem;margin-top:.45rem}

/* ══════════════════════════════════════════════════════════════════
   CI-FARBEN AUS DER DRUCKDATEI

   Gemessen aus der Visitenkarte stg26_visitenkarte-wohlbefinden.pdf:
     #FFFCF7  Cremeweiß, Grundfläche
     #FEF5DF  Creme, Handmuster im Hintergrund
     #A1B2A9  Salbeigrün, Balken
     #FDB912  Amber, Handzeichen und Schriftzug

   Für Text sind Grün und Amber zu hell — auf Creme nur 2,17:1 und
   1,69:1. Die abgedunkelten Fassungen erreichen 4,56:1 und 4,51:1
   bei identischem Farbton.
   ══════════════════════════════════════════════════════════════════ */
:root{
  --bg:#FFFCF7;              /* Grundfläche wie auf der Karte */
  --bg-alt:#FEF5DF;          /* Creme des Handmusters */
  --surface:#FFFFFF;
  --acc-soft:#FEF9EC;

  --acc:#FDB912;             /* Amber im Original — Flächen und Knöpfe */
  --acc-2:#976E0A;           /* Amber abgedunkelt — Text und Links */

  --brand:#A1B2A9;           /* Salbeigrün im Original — Linien, Punkte */
  --brand-2:#6B7771;         /* Salbeigrün abgedunkelt — Überschriften */

  --ink:#3F463F;
  --muted:#6E7770;
  --line:rgba(161,178,169,.42);
  --shadow:0 1px 2px rgba(63,70,63,.05),0 12px 34px -14px rgba(63,70,63,.20);
}

/* Flächen und Verläufe aus denselben Werten */
.hero{background:linear-gradient(165deg,#FEF9EC 0%,#FEF5DF 60%,#F7EFDA 100%)}
.seitenkopf{background:linear-gradient(165deg,#FEF9EC,#FEF5DF)}
.seitenkopf--bild:not(.has-bg){background:linear-gradient(165deg,#FEF9EC,#FEF5DF)}
.sek--alt{background:var(--bg-alt)}
.sek--soft{background:#FEF9EC}
.kopf{--kopf-bg:rgba(255,252,247,.94)}

/* Der Balken der Drucksachen: Salbeigrün mit weißer Schrift */
.fuss{--fuss-bg:#8B9A92;--fuss-ink:#F2F5F1}
.fuss h4{color:var(--acc)}

.sg-wichtig,.sg-disclaimer{background:#FEF9EC;border-left-color:var(--brand)}
.sg-bauen{background:#FEF9EC}
.sg-zeit:hover,.sg-teaser-i:hover{border-color:var(--acc);box-shadow:var(--shadow)}

/* ── Gutscheinanfrage ── */
.sg-g-anfrage{max-width:44rem;margin-top:clamp(2.5rem,5vw,4rem);
  padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line)}
.sg-g-anfrage .sg-lead{margin-bottom:1.6rem}
.sg-g-anfrage input[readonly]{background:var(--bg-alt);color:var(--brand-2);font-weight:500}

.sg-versand{border:0;margin:0;padding:0}
.sg-versand label{display:flex;gap:.6rem;align-items:flex-start;
  font-size:.94rem;color:var(--ink);margin-bottom:.5rem;cursor:pointer;
  font-family:var(--f-body);text-transform:none;letter-spacing:0}
.sg-versand input{margin-top:.25rem;accent-color:var(--acc);flex:none}

/* Botfalle — für Besucher unsichtbar, für Bots erreichbar */
.sg-falle{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── Radio- und Ankreuzfelder von der Vollbreite ausnehmen ──
   .sg-field input{width:100%} weiter oben trifft sonst auch die
   Punkte selbst — sie werden seitenbreit und quetschen den Text
   in eine wenige Pixel schmale Spalte. */
.sg-field input[type="radio"],
.sg-field input[type="checkbox"]{
  width:auto;
  min-width:0;
  flex:none;
}

.sg-versand{border:0;margin:0;padding:0;min-width:0}
.sg-versand>span{margin-bottom:.6rem}
.sg-versand label{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  width:100%;
  padding:.5rem .7rem;
  border:1.5px solid var(--line);
  border-radius:var(--r-s);
  background:var(--surface);
  font-family:var(--f-body);
  font-size:.94rem;
  line-height:1.5;
  color:var(--ink);
  text-transform:none;
  letter-spacing:0;
  cursor:pointer;
  transition:border-color .2s,background .2s;
  margin-bottom:.45rem;
}
.sg-versand label:hover{border-color:var(--acc);background:var(--acc-soft)}
.sg-versand label:last-child{margin-bottom:0}
.sg-versand input[type="radio"]{margin-top:.28rem;accent-color:var(--acc)}

/* Nicht mögliche Dauern treten zurück, statt zu verschwinden */
.sg-chip.is-aus{opacity:.35;cursor:default}
.sg-chip.is-aus:hover{border-color:var(--line);background:var(--surface)}

/* ══════════════════════════════════════════════════════════════════
   GUTSCHEIN — geführtes Formular
   ══════════════════════════════════════════════════════════════════ */
.sg-g-bild{aspect-ratio:604/278;margin:0 0 clamp(2rem,4vw,3rem);max-width:44rem}
@media(min-width:56rem){.sg-g-bild{aspect-ratio:2/1;max-width:52rem}}

.sg-g-weg{max-width:44rem}
.sg-g-weg .sg-panel{margin-top:0}
.sg-g-weg .sg-opt{padding:1rem 1.15rem}
.sg-g-weg .sg-weiter{margin-top:1.2rem}
.sg-g-weg .sg-hint{font-style:normal;margin:.8rem 0 0}

.sg-g-pruef{margin-bottom:1.6rem}
.sg-g-pruef div{align-items:flex-start}
.sg-g-pruef dd{text-align:right;max-width:28ch;margin-left:auto}

.sg-g-senden{padding-top:1.2rem;border-top:1px solid var(--line)}
.sg-g-senden .sg-check{margin-bottom:.8rem}
.sg-g-senden .sg-absenden{margin-top:.6rem;width:100%}

/* ── Rechtstexte der IT-Recht Kanzlei ── */
.sg-itk{color:var(--ink);line-height:1.8;max-width:62ch}
.sg-itk-stand{margin-top:3rem;font-size:.8rem;color:var(--muted);text-align:right;max-width:62ch}

/* Gutscheinbild im exakten Format der Druckdatei (2482 × 1158),
   damit nichts vom Motiv abgeschnitten wird */
.sg-g-bild{aspect-ratio:2482/1158}
@media(min-width:56rem){.sg-g-bild{aspect-ratio:2482/1158}}
.sg-g-bild img{object-fit:contain;background:#FFFCF7}
