
@font-face{
  font-family:'Archivo';
  src:url('archivo-latin.woff2') format('woff2');
  font-weight:400 800; font-stretch:62% 125%; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Archivo';
  src:url('archivo-latin-ext.woff2') format('woff2');
  font-weight:400 800; font-stretch:62% 125%; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root{
  --navy-950: oklch(0.125 0.034 258);
  --navy-900: oklch(0.155 0.038 258);
  --navy-800: oklch(0.205 0.045 258);
  --navy-700: oklch(0.262 0.048 258);
  --navy-600: oklch(0.335 0.048 258);

  --ink:      oklch(0.968 0.006 258);
  --ink-soft: oklch(0.845 0.018 258);
  --ink-mute: oklch(0.715 0.024 258);

  --paper:    oklch(0.982 0.004 258);
  --paper-2:  oklch(0.945 0.008 258);
  --on-paper: oklch(0.215 0.035 258);
  --on-paper-soft: oklch(0.415 0.028 258);
  --on-paper-mute: oklch(0.520 0.024 258);

  --akzent:      oklch(0.878 0.196 122);
  --akzent-tief: oklch(0.760 0.175 124);
  --akzent-hell: oklch(0.435 0.115 130);
  --auf-akzent:  oklch(0.175 0.040 258);

  --warn: oklch(0.720 0.170 40);

  --rand: color-mix(in oklch, var(--ink) 14%, transparent);
  --rand-stark: color-mix(in oklch, var(--ink) 26%, transparent);
  --rand-papier: color-mix(in oklch, var(--on-paper) 14%, transparent);

  --sp-1:.5rem; --sp-2:.875rem; --sp-3:1.375rem; --sp-4:2.25rem;
  --sp-5:3.5rem; --sp-6:5.5rem; --sp-7:8rem;

  --breit: 1180px;
  --radius: 14px;
  --schatten: 0 1px 2px oklch(0.12 0.04 258 / .30), 0 8px 24px -8px oklch(0.12 0.04 258 / .38);
  --schatten-hoch: 0 2px 4px oklch(0.12 0.04 258 / .28), 0 22px 48px -14px oklch(0.12 0.04 258 / .52);
  --schatten-papier: 0 1px 2px oklch(0.30 0.03 258 / .08), 0 14px 34px -16px oklch(0.30 0.03 258 / .28);

  --federn: cubic-bezier(.16,1,.3,1);

  --z-sticky:100; --z-menue:300;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:90px; }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }

body{
  margin:0;
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-variation-settings:'wdth' 100;
  background:var(--navy-900);
  color:var(--ink-soft);
  font-size:clamp(1.02rem,.98rem + .22vw,1.135rem);
  line-height:1.62;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{ color:var(--ink); line-height:1.04; margin:0; text-wrap:balance; font-weight:700; }
h1{ font-size:clamp(2.6rem,1.5rem + 5.1vw,5.4rem); font-variation-settings:'wdth' 88; letter-spacing:-.035em; line-height:1.0; }
h2{ font-size:clamp(1.95rem,1.3rem + 2.7vw,3.3rem); font-variation-settings:'wdth' 92; letter-spacing:-.028em; }
h3{ font-size:clamp(1.18rem,1.05rem + .5vw,1.42rem); letter-spacing:-.012em; line-height:1.18; }
p{ margin:0; text-wrap:pretty; }
a{ color:inherit; }
img{ max-width:100%; }
.akz{ color:var(--akzent); }
.nowrap{ white-space:nowrap; }
.sr{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.sprung{ position:absolute; left:1rem; top:-3rem; z-index:999; background:var(--akzent); color:var(--auf-akzent); padding:.5rem 1rem; border-radius:100px; font-weight:600; text-decoration:none; }
.sprung:focus{ top:1rem; }

.wrap{ width:min(100% - 2.5rem, var(--breit)); margin-inline:auto; }
@media (max-width:600px){ .wrap{ width:calc(100% - 2rem); } }
.eng{ max-width:760px; }

section{ padding-block:clamp(var(--sp-5),9vw,var(--sp-7)); position:relative; }
.hell{ background:var(--paper); color:var(--on-paper-soft); }
.hell h1,.hell h2,.hell h3,.hell h4{ color:var(--on-paper); }
.hell-2{ background:var(--paper-2); }
.tief{ background:var(--navy-950); }

.zeichen{
  display:inline-flex; align-items:center; gap:.6rem; margin-bottom:var(--sp-2);
  font-size:.74rem; font-weight:650; letter-spacing:.16em; text-transform:uppercase;
  font-variation-settings:'wdth' 108; color:var(--akzent);
}
.zeichen::before{ content:''; width:1.6rem; height:2px; background:currentColor; border-radius:2px; }
.hell .zeichen{ color:var(--akzent-hell); }
.einleitung{ margin-top:var(--sp-2); max-width:54ch; font-size:clamp(1.05rem,1rem + .3vw,1.2rem); color:var(--ink-mute); }
.hell .einleitung{ color:var(--on-paper-soft); }

.kopf{
  position:sticky; top:0; z-index:var(--z-sticky);
  border-bottom:1px solid var(--rand);
  isolation:isolate;
}
.kopf::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:color-mix(in oklch, var(--navy-900) 86%, transparent);
  backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px) saturate(1.2);
}
body:has(.menue[open]) .anrufleiste, body:has(.menue[open]) .check-mini{ display:none; }
.kopf-in{ display:flex; align-items:center; gap:var(--sp-3); height:70px; }
.marke{ display:flex; align-items:center; gap:.55rem; text-decoration:none; margin-right:auto; }
.marke svg{ width:30px; height:30px; flex:none; }
.marke b{ font-size:1.42rem; font-weight:800; color:var(--ink); font-variation-settings:'wdth' 84; letter-spacing:-.04em; line-height:1; }
.marke i{ font-style:normal; font-size:.68rem; font-weight:600; color:var(--akzent); font-variation-settings:'wdth' 108; letter-spacing:.1em; text-transform:uppercase; transform:translateY(.2rem); }
.nav{ display:flex; gap:clamp(.9rem,1.8vw,1.6rem); }
.nav a{
  text-decoration:none; font-size:.94rem; font-weight:500; color:var(--ink-soft);
  padding-block:.4rem; position:relative; transition:color .28s var(--federn);
}
.nav a::after{ content:''; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--akzent); transition:right .38s var(--federn); }
.nav a:hover,.nav a[aria-current="page"]{ color:var(--ink); }
.nav a:hover::after,.nav a[aria-current="page"]::after{ right:0; }
.kopf-tel{ display:none; }

.menue{ display:none; position:relative; }
.menue summary{
  list-style:none; cursor:pointer; width:44px; height:44px; border-radius:12px;
  display:grid; place-items:center; border:1px solid var(--rand-stark); color:var(--ink);
}
.menue summary::-webkit-details-marker{ display:none; }
.menue summary span, .menue summary span::before, .menue summary span::after{
  display:block; width:18px; height:2px; background:currentColor; border-radius:2px; position:relative; transition:transform .35s var(--federn), background-color .2s;
}
.menue summary span::before, .menue summary span::after{ content:''; position:absolute; left:0; }
.menue summary span::before{ top:-6px; } .menue summary span::after{ top:6px; }
.menue[open] summary span{ background:transparent; }
.menue[open] summary span::before{ transform:translateY(6px) rotate(45deg); }
.menue[open] summary span::after{ transform:translateY(-6px) rotate(-45deg); }
.menue-flaeche{
  position:fixed; left:0; right:0; top:70px; bottom:0; z-index:var(--z-menue);
  background:var(--navy-900); padding:var(--sp-4) 1.25rem var(--sp-5); overflow:auto;
  display:flex; flex-direction:column; gap:.2rem;
  animation:menue-auf .4s var(--federn);
}
@keyframes menue-auf{ from{ opacity:0; transform:translateY(-8px); } to{ opacity:1; transform:none; } }
.menue-flaeche a.m-link{
  text-decoration:none; color:var(--ink); font-size:1.9rem; font-weight:700; letter-spacing:-.03em;
  font-variation-settings:'wdth' 88; padding:.55rem 0; border-bottom:1px solid var(--rand);
  display:flex; justify-content:space-between; align-items:center;
}
.menue-flaeche a.m-link::after{ content:'→'; color:var(--akzent); font-weight:500; }
.menue-flaeche a[aria-current="page"]{ color:var(--akzent); }
.menue-unten{ margin-top:var(--sp-4); display:grid; gap:.7rem; }
@media (max-width:980px){
  .nav{ display:none; }
  .menue{ display:block; }
  .kopf .kopf-cta{ display:none; }
}
@media (prefers-reduced-motion:reduce){ .menue-flaeche{ animation:none; } }

.knopf{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font:inherit; font-size:.985rem; font-weight:620; text-decoration:none; line-height:1.2;
  padding:.8rem 1.4rem; border-radius:100px; border:1px solid transparent;
  cursor:pointer; white-space:nowrap;
  transition:transform .3s var(--federn), box-shadow .3s var(--federn), background-color .25s ease, color .25s ease, border-color .25s ease;
}
.knopf svg{ width:1.1em; height:1.1em; flex:none; }
.knopf-voll{ background:var(--akzent); color:var(--auf-akzent); box-shadow:0 2px 0 var(--akzent-tief); }
.knopf-voll:hover{ transform:translateY(-2px); box-shadow:0 4px 0 var(--akzent-tief), 0 12px 26px -10px var(--akzent); }
.knopf-voll:active{ transform:translateY(0); box-shadow:0 1px 0 var(--akzent-tief); }
.knopf-linie{ border-color:var(--rand-stark); color:var(--ink); background:transparent; }
.knopf-linie:hover{ border-color:var(--akzent); color:var(--akzent); transform:translateY(-2px); }
.hell .knopf-linie{ border-color:color-mix(in oklch,var(--on-paper) 24%,transparent); color:var(--on-paper); }
.hell .knopf-linie:hover{ border-color:var(--on-paper); color:var(--on-paper); }
.knopf-dunkel{ background:var(--on-paper); color:var(--paper); }
.knopf-dunkel:hover{ transform:translateY(-2px); box-shadow:0 12px 26px -12px oklch(0.2 0.04 258 / .6); }
.knopf-gross{ font-size:1.06rem; padding:1rem 1.7rem; }
.knopf .pfeil{ transition:transform .35s var(--federn); }
.knopf:hover .pfeil{ transform:translateX(3px); }
@media (prefers-reduced-motion:reduce){ .knopf:hover{ transform:none!important; } }

.textlink{
  color:var(--ink); font-weight:620; text-decoration:none;
  background-image:linear-gradient(var(--akzent),var(--akzent)); background-repeat:no-repeat;
  background-position:0 100%; background-size:100% 2px; padding-bottom:2px;
  transition:background-size .4s var(--federn), color .2s;
}
.textlink:hover{ color:var(--akzent); }
.hell .textlink{ color:var(--on-paper); background-image:linear-gradient(var(--akzent-tief),var(--akzent-tief)); }
.hell .textlink:hover{ color:var(--akzent-hell); }

:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{
  outline:3px solid var(--akzent); outline-offset:3px; border-radius:6px;
}
.hell :where(a,button,input,textarea,select,summary):focus-visible{ outline-color:var(--akzent-hell); }

.hero{ padding-block:clamp(3.2rem,7vw,6.5rem) clamp(4.5rem,9vw,8rem); overflow:hidden; }
.hero::before{
  content:''; position:absolute; inset:-20% -10% auto auto; width:min(900px,90vw); aspect-ratio:1;
  background:radial-gradient(closest-side, color-mix(in oklch,var(--akzent) 13%,transparent), transparent 70%);
  pointer-events:none; z-index:0;
}
.hero-gitter{ display:grid; grid-template-columns:1fr; gap:var(--sp-4); position:relative; z-index:2; }
@media (min-width:960px){ .hero-gitter{ grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:end; gap:var(--sp-5); } }
.hero h1 span{ display:block; }
.hero h1 .wort{
  display:inline-block; position:relative; color:var(--akzent);
}
.hero-sub{ margin-top:var(--sp-3); max-width:40ch; font-size:clamp(1.09rem,1rem + .4vw,1.3rem); color:var(--ink-soft); }
.hero-tat{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:var(--sp-4); }
.hero-vertrauen{ display:flex; flex-wrap:wrap; gap:.4rem 1.3rem; margin-top:var(--sp-3); font-size:.9rem; color:var(--ink-mute); list-style:none; padding:0; }
.hero-vertrauen li{ display:flex; align-items:center; gap:.45rem; }
.hero-vertrauen svg{ width:16px; height:16px; color:var(--akzent); flex:none; }
.hero-bild{ display:block; margin-bottom:var(--sp-3); }
.hero-bild img{ display:block; width:100%; height:auto; }
@media (max-width:959px){ .hero-bild{ max-width:500px; } }
.hero-notiz{ border-top:1px solid var(--rand); padding-top:var(--sp-3); font-size:.95rem; color:var(--ink-soft); max-width:34ch; }
.hero-notiz b{ color:var(--ink); font-weight:620; display:block; margin-bottom:.3rem; }

@media (prefers-reduced-motion:no-preference){
  .hero h1 span{ animation:hochkommen .9s var(--federn) both; }
  .hero h1 span:nth-child(2){ animation-delay:.08s; }
  .hero h1 span:nth-child(3){ animation-delay:.16s; }
  .hero-sub,.hero-tat,.hero-vertrauen{ animation:hochkommen .9s var(--federn) .26s both; }
  .hero-bild{ animation:schweben-ein 1.2s var(--federn) .2s both; }
}
@keyframes hochkommen{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:none; } }
@keyframes schweben-ein{ from{ opacity:0; transform:translateY(30px) scale(.96); } to{ opacity:1; transform:none; } }

.fluss{ position:absolute; inset:auto 0 0 0; width:100%; height:auto; z-index:1; pointer-events:none; opacity:.55; }
.fluss path{ fill:none; stroke:var(--akzent); stroke-width:1.4; vector-effect:non-scaling-stroke; }
.fluss .f2{ stroke:var(--ink); opacity:.16; }
.fluss .f1{ stroke-dasharray:var(--len); animation:ziehen 2.6s var(--federn) .15s both; }
@keyframes ziehen{ from{ stroke-dashoffset:var(--len); } to{ stroke-dashoffset:0; } }
@media (prefers-reduced-motion:reduce){ .fluss .f1{ animation:none; stroke-dashoffset:0; } }

.orte{ border-block:1px solid var(--rand); background:var(--navy-950); overflow:hidden; padding-block:.95rem; }
.orte-spur{ display:flex; width:max-content; gap:0; animation:treiben 60s linear infinite; }
.orte-spur ul{ display:flex; gap:0; margin:0; padding:0; list-style:none; }
.orte li{
  display:flex; align-items:center; white-space:nowrap; font-size:1.05rem; font-weight:600; color:var(--ink-mute);
  font-variation-settings:'wdth' 96; letter-spacing:-.01em; padding-inline:1.1rem;
}
.orte li::after{ content:''; width:18px; height:8px; margin-left:2.2rem; flex:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 8'%3E%3Cpath d='M1 5c3-4 5 2 8-1s5-2 8-2' fill='none' stroke='%23c3e85b' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.orte:hover .orte-spur{ animation-play-state:paused; }
@keyframes treiben{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .orte-spur{ animation:none; flex-wrap:wrap; width:auto; } .orte-spur ul[aria-hidden]{ display:none; } }

.seitenkopf{ padding-block:clamp(3rem,7vw,6rem) clamp(3.5rem,8vw,6.5rem); overflow:hidden; }
.seitenkopf h1{ font-size:clamp(2.4rem,1.4rem + 4.4vw,4.8rem); max-width:16ch; }
.seitenkopf .einleitung{ font-size:clamp(1.1rem,1rem + .45vw,1.32rem); color:var(--ink-soft); max-width:50ch; margin-top:var(--sp-3); }
.seitenkopf .wrap{ position:relative; z-index:2; }
.seitenkopf-gitter{ display:grid; gap:var(--sp-5); align-items:center; }
@media (min-width:1000px){ .seitenkopf-gitter{ grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); } }

.beleg{
  margin:0; background:var(--paper); color:var(--on-paper-soft); border-radius:6px; padding:1.4rem 1.4rem 1.2rem;
  font-size:.9rem; box-shadow:var(--schatten-hoch); position:relative; max-width:400px; justify-self:center;
  transform:rotate(2.2deg); transition:transform .6s var(--federn);
  -webkit-mask:radial-gradient(circle 7px at 50% 100%, #0000 98%, #000) 50% 100% / 18px 100% repeat-x;
          mask:radial-gradient(circle 7px at 50% 100%, #0000 98%, #000) 50% 100% / 18px 100% repeat-x;
  padding-bottom:1.9rem;
}
.beleg:hover{ transform:rotate(0) translateY(-4px); }
@media (prefers-reduced-motion:reduce){ .beleg,.beleg:hover{ transform:none; } }
@media (max-width:999px){ .beleg{ transform:none; justify-self:stretch; max-width:none; } }
.beleg-kopf{ display:flex; justify-content:space-between; align-items:baseline; padding-bottom:.7rem; border-bottom:2px solid var(--on-paper); margin-bottom:.4rem; }
.beleg-kopf b{ color:var(--on-paper); font-weight:800; font-size:1.2rem; font-variation-settings:'wdth' 84; letter-spacing:-.03em; }
.beleg-kopf span{ font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; font-variation-settings:'wdth' 108; color:var(--on-paper-mute); }
.beleg dl{ margin:0; }
.beleg dl div{ display:flex; justify-content:space-between; gap:1rem; padding:.42rem 0; border-bottom:1px dashed var(--rand-papier); }
.beleg dt{ color:var(--on-paper-soft); }
.beleg dd{ margin:0; color:var(--on-paper); font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.beleg .beleg-rabatt dt,.beleg .beleg-rabatt dd{ color:var(--on-paper-mute); font-weight:500; }
.beleg .beleg-steuer dt{ color:var(--on-paper); font-weight:650; }
.beleg-summe{ display:flex; justify-content:space-between; align-items:baseline; margin-top:.7rem; padding-top:.6rem; border-top:2px solid var(--on-paper); }
.beleg-summe span{ font-weight:650; color:var(--on-paper); }
.beleg-summe b{ font-size:1.7rem; color:var(--on-paper); font-weight:800; font-variation-settings:'wdth' 86; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.beleg figcaption{ margin-top:.8rem; font-size:.76rem; line-height:1.45; color:var(--on-paper-mute); }

.profil-karte{ margin:0; justify-self:center; width:min(100%,380px); transform:rotate(1.8deg); transition:transform .6s var(--federn); }
.profil-karte:hover{ transform:rotate(0) translateY(-4px); }
.profil-karte > div{ background:#fff; }
.pk-bild{ border-radius:16px 16px 0 0; overflow:hidden; height:130px; box-shadow:var(--schatten-hoch); }
.pk-bild svg{ display:block; width:100%; height:100%; }
.pk-inhalt{ border-radius:0 0 16px 16px; padding:1rem 1.2rem 1.1rem; color:#3c4043; font-size:.9rem; line-height:1.45; box-shadow:var(--schatten-hoch); }
.pk-name{ display:block; color:#202124; font-size:1.3rem; font-weight:600; letter-spacing:-.01em; }
.pk-bewertung{ margin-top:.2rem; display:flex; align-items:center; gap:.35rem; }
.pk-sterne{ color:#fbbc04; letter-spacing:.05em; }
.pk-zahl{ color:#1a73e8; }
.pk-art{ color:#70757a; }
.pk-offen b{ color:#188038; font-weight:600; }
.pk-knoepfe{ list-style:none; margin:.9rem 0 0; padding:.8rem 0 0; border-top:1px solid #e8eaed; display:flex; justify-content:space-around; }
.pk-knoepfe li{ display:grid; justify-items:center; gap:.3rem; font-size:.78rem; color:#1a73e8; font-weight:600; }
.pk-knoepfe span{ width:38px; height:38px; border-radius:50%; display:grid; place-items:center; border:1px solid #dadce0; font-size:1rem; }
.pk-knoepfe li:first-child span{ background:#1a73e8; color:#fff; border-color:#1a73e8; }
.profil-karte figcaption{ margin-top:.9rem; font-size:.84rem; color:var(--ink-mute); text-align:center; }
@media (prefers-reduced-motion:reduce){ .profil-karte,.profil-karte:hover{ transform:none; } }
@media (max-width:999px){ .profil-karte{ transform:none; } }

.zeitstrahl{ list-style:none; margin:0; padding:0 0 0 1.6rem; position:relative; max-width:420px; justify-self:center; width:100%; }
.zeitstrahl::before{ content:''; position:absolute; left:.42rem; top:.6rem; bottom:.6rem; width:2px; background:linear-gradient(var(--rand-stark), var(--akzent)); border-radius:2px; }
.zeitstrahl li{ position:relative; padding:.55rem 0 .55rem .9rem; display:grid; grid-template-columns:1fr auto; gap:0 1rem; border-bottom:1px solid var(--rand); }
.zeitstrahl li:last-child{ border-bottom:0; }
.zeitstrahl li::before{ content:''; position:absolute; left:-1.52rem; top:1.05rem; width:12px; height:12px; border-radius:50%; background:var(--navy-900); border:2px solid var(--ink-mute); }
.zeitstrahl li.ziel::before{ background:var(--akzent); border-color:var(--akzent); box-shadow:0 0 0 5px color-mix(in oklch,var(--akzent) 22%,transparent); }
.zeitstrahl span{ grid-column:1/-1; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--akzent); font-variation-settings:'wdth' 106; }
.zeitstrahl b{ color:var(--ink); font-weight:620; }
.zeitstrahl small{ color:var(--ink-mute); font-size:.85rem; align-self:end; white-space:nowrap; }
@media (prefers-reduced-motion:no-preference){
  .zeitstrahl li{ animation:hochkommen .8s var(--federn) both; }
  .zeitstrahl li:nth-child(2){ animation-delay:.08s; } .zeitstrahl li:nth-child(3){ animation-delay:.16s; }
  .zeitstrahl li:nth-child(4){ animation-delay:.24s; } .zeitstrahl li:nth-child(5){ animation-delay:.32s; }
}

.visitenkarte{
  position:relative; overflow:hidden; justify-self:center; width:min(100%,400px); aspect-ratio:1.62;
  background:linear-gradient(145deg,var(--navy-700),var(--navy-800)); border:1px solid var(--rand-stark); border-radius:16px;
  padding:1.5rem 1.6rem; box-shadow:var(--schatten-hoch); display:flex; flex-direction:column; transform:rotate(-2.5deg);
  transition:transform .6s var(--federn);
}
.visitenkarte:hover{ transform:rotate(0) translateY(-4px); }
.vk-oben{ display:flex; gap:.9rem; align-items:center; }
.vk-oben .monogramm{ width:52px; height:52px; font-size:1.1rem; }
.vk-oben b{ display:block; color:var(--ink); font-size:1.2rem; letter-spacing:-.02em; }
.vk-oben small{ color:var(--ink-mute); font-size:.85rem; }
.visitenkarte ul{ list-style:none; margin:auto 0 0; padding:0; display:grid; gap:.35rem; }
.visitenkarte ul a{ display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--ink); font-weight:600; }
.visitenkarte ul a:hover{ color:var(--akzent); }
.visitenkarte ul svg{ width:17px; height:17px; color:var(--akzent); flex:none; }
.vk-ort{ margin-top:.7rem; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mute); font-variation-settings:'wdth' 106; }
.vk-fluss{ position:absolute; left:0; right:0; bottom:-14px; width:100%; height:34px; color:var(--akzent); opacity:.4; }
.vk-ort{ position:relative; z-index:1; margin-bottom:.4rem; }
@media (prefers-reduced-motion:reduce){ .visitenkarte,.visitenkarte:hover{ transform:none; } }
@media (max-width:999px){ .visitenkarte{ display:none; } .zeitstrahl{ justify-self:stretch; max-width:none; } }

.krume{ display:flex; gap:.5rem; font-size:.85rem; color:var(--ink-mute); margin-bottom:var(--sp-3); list-style:none; padding:0; }
.krume a{ text-decoration:none; } .krume a:hover{ color:var(--akzent); }
.krume li+li::before{ content:'/'; margin-right:.5rem; opacity:.5; }

.satz{
  font-size:clamp(1.4rem,1.05rem + 1.4vw,2.25rem);
  line-height:1.3; letter-spacing:-.022em; font-weight:520;
  color:var(--on-paper); max-width:24ch; text-wrap:balance;
}
.satz em,.marker{
  font-style:normal; padding-inline:.12em;
  background:linear-gradient(transparent 70%, var(--akzent) 70%);
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
}
.zwei{ display:grid; gap:var(--sp-4); }
@media (min-width:900px){ .zwei{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--sp-5); align-items:start; } }
.fliess{ max-width:62ch; }
.fliess p + p{ margin-top:var(--sp-2); }
.fliess h3{ margin-top:var(--sp-4); margin-bottom:.5rem; }
.fliess ul{ padding-left:1.1rem; margin:.6rem 0 0; }
.fliess li+li{ margin-top:.35rem; }

.suche-gitter{ display:grid; gap:var(--sp-5); align-items:center; }
@media (min-width:920px){ .suche-gitter{ grid-template-columns:minmax(0,1fr) minmax(0,.9fr); } }
.handy{
  width:min(100%,360px); margin-inline:auto; border-radius:44px; padding:12px;
  background:linear-gradient(160deg,var(--navy-600),var(--navy-800)); box-shadow:var(--schatten-hoch), inset 0 0 0 1px var(--rand-stark);
}
.handy-schirm{ border-radius:34px; overflow:hidden; background:#fff; color:#202124; min-height:560px; position:relative; font-size:13px; line-height:1.4; }
.handy-leiste{ height:34px; display:flex; justify-content:space-between; align-items:center; padding:0 22px; font-size:12px; font-weight:600; }
.handy-insel{ width:92px; height:24px; background:#000; border-radius:20px; }
.suchfeld{ margin:6px 14px 10px; border-radius:24px; background:#f1f3f4; display:flex; align-items:center; gap:8px; padding:10px 14px; font-size:14px; }
.suchfeld svg{ width:16px; height:16px; color:#5f6368; flex:none; }
.tippen{ border-right:2px solid #1a73e8; padding-right:1px; white-space:nowrap; overflow:hidden; }
.karte-mini{ height:110px; margin:0 14px; border-radius:12px; overflow:hidden; background:#e8eef3; position:relative; }
.karte-mini svg{ position:absolute; inset:0; width:100%; height:100%; }
.treffer{ list-style:none; margin:8px 14px 0; padding:0; display:grid; }
.treffer li{ padding:10px 2px; border-bottom:1px solid #ebebeb; display:grid; grid-template-columns:1fr auto; gap:2px 10px; align-items:center; }
.treffer b{ font-size:14px; color:#1a0dab; font-weight:500; }
.treffer small{ color:#70757a; font-size:12px; grid-column:1; }
.treffer .sterne{ color:#e37400; }
.treffer .t-knopf{ grid-row:1/3; grid-column:2; border:1px solid #dadce0; border-radius:16px; padding:4px 10px; font-size:11px; color:#1a73e8; }
.treffer li.ihr{ background:color-mix(in oklch,var(--akzent) 26%,#fff); margin-inline:-8px; padding-inline:10px; border-radius:10px; border-bottom-color:transparent; box-shadow:0 0 0 2px var(--akzent-tief); }
.treffer li.ihr b{ color:#0b1a33; font-weight:700; }
.treffer li.leer b{ color:#70757a; }
.such-legende{ margin-top:var(--sp-2); font-size:.85rem; color:var(--ink-mute); text-align:center; }
.umschalt{ display:inline-flex; padding:4px; gap:2px; border-radius:100px; background:var(--navy-800); border:1px solid var(--rand); }
.umschalt button{
  font:inherit; font-size:.92rem; font-weight:620; color:var(--ink-mute); background:none; border:0; cursor:pointer;
  padding:.55rem 1.1rem; border-radius:100px; transition:color .25s ease, background-color .3s var(--federn);
}
.umschalt button[aria-pressed="true"]{ background:var(--akzent); color:var(--auf-akzent); }
.umschalt button:hover:not([aria-pressed="true"]){ color:var(--ink); }
.hell .umschalt{ background:var(--paper-2); border-color:var(--rand-papier); }
.hell .umschalt button{ color:var(--on-paper-soft); }
.hell .umschalt button:hover:not([aria-pressed="true"]){ color:var(--on-paper); }
.treffer li{ transition:transform .7s var(--federn), opacity .4s ease; }
.js .treffer[data-zustand="ohne"] li.ihr{ display:none; }
.js .treffer[data-zustand="mit"] li.leer-hinweis{ display:none; }
.leer-hinweis{ display:block!important; text-align:center; color:#70757a; font-size:12px; padding:14px 6px!important; border-bottom:0!important; }
html:not(.js) .leer-hinweis{ display:none!important; }

.demo-kopf{ display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:var(--sp-3); margin-bottom:var(--sp-4); }
.fenster{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--rand); box-shadow:var(--schatten-hoch); background:var(--navy-800); }
.fenster-leiste{ display:flex; align-items:center; gap:.5rem; padding:.7rem .95rem; background:var(--navy-700); border-bottom:1px solid var(--rand); }
.punkt{ width:11px; height:11px; border-radius:50%; background:var(--navy-600); flex:none; }
.adresse{ flex:1; margin-left:.5rem; font-size:.8rem; color:var(--ink-mute); background:var(--navy-800); border-radius:100px; padding:.28rem .8rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.buehne{ position:relative; height:clamp(400px,40vw,450px); background:#fff; overflow:hidden; touch-action:pan-y; }
.blatt{ position:absolute; inset:0; padding:clamp(1.1rem,3vw,2.1rem); overflow:hidden; }
.blatt.neu{ clip-path:inset(0 0 0 var(--teil,0%)); }
.js .buehne .blatt.neu{ transition:clip-path .7s var(--federn); }
.js .buehne.ziehen .blatt.neu{ transition:none; }
.griff{
  position:absolute; top:0; bottom:0; left:var(--teil,0%); width:0; z-index:5; display:none;
  transition:left .7s var(--federn);
}
.js .griff{ display:block; }
.js .buehne.ziehen .griff{ transition:none; }
.griff::before{ content:''; position:absolute; top:0; bottom:0; left:-1px; width:2px; background:var(--akzent); box-shadow:0 0 0 1px oklch(0.15 0.04 258 / .25); }
.griff span{
  position:absolute; top:50%; left:0; translate:-50% -50%; width:46px; height:46px; border-radius:50%;
  background:var(--akzent); color:var(--auf-akzent); display:grid; place-items:center; box-shadow:var(--schatten-hoch); cursor:ew-resize;
}
.griff svg{ width:22px; height:22px; }
.buehne input[type=range]{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; margin:0; z-index:6; display:none; }
.js .buehne input[type=range]{ display:block; }
.buehne input[type=range]:focus-visible + .griff span{ outline:3px solid var(--auf-akzent); outline-offset:2px; }
.etikett{ position:absolute; bottom:2.6rem; z-index:4; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.3rem .6rem; border-radius:100px; pointer-events:none; }
.etikett-alt{ left:.8rem; background:#20489b; color:#fff; }
.etikett-neu{ right:.8rem; background:var(--auf-akzent); color:var(--akzent); }
html:not(.js) .etikett-alt{ display:none; }

.alt{ background:#f2f0e9; font-family:'Times New Roman',Times,serif; color:#1a1a1a; padding:0!important; }
.alt .a-kopf{ background:#20489b; color:#fff; padding:.7rem 1rem; font-size:1.5rem; font-weight:700; border-bottom:4px solid #c9202a; }
.alt .a-nav{ background:#dcdad2; padding:.42rem 1rem; font-size:.82rem; border-bottom:1px solid #b6b3a8; }
.alt .a-nav span{ margin-right:1.1rem; color:#20489b; text-decoration:underline; }
.alt .a-leib{ display:flex; gap:1.1rem; padding:1.1rem 1rem; }
.alt h4{ margin:0 0 .5rem; font-size:1.22rem; color:#20489b; font-family:inherit; font-weight:700; line-height:1.2; }
.alt p{ font-size:.85rem; line-height:1.5; margin:0 0 .6rem; max-width:46ch; }
.alt .a-kasten{ border:2px inset #b6b3a8; background:#fff; padding:.6rem; font-size:.76rem; width:170px; flex:none; }
.alt .a-zaehler{ margin-top:.7rem; background:#111; color:#39ff5e; font-family:monospace; font-size:.7rem; padding:.28rem .45rem; text-align:center; letter-spacing:.1em; }
.alt .a-fuss{ position:absolute; left:0; right:0; bottom:0; background:#dcdad2; padding:.45rem 1rem; font-size:.72rem; color:#555; border-top:1px solid #b6b3a8; }
.alt .a-blink{ color:#c9202a; font-weight:700; }
@media (max-width:560px){ .alt .a-kasten{ display:none; } }

.neu{ background:#fff; color:#22304a; }
.neu .n-kopf{ display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding-bottom:1rem; border-bottom:1px solid #e4e8ef; }
.neu .n-marke{ font-weight:800; font-size:1.06rem; color:#16233c; font-variation-settings:'wdth' 88; letter-spacing:-.03em; }
.neu .n-nav{ display:flex; gap:1rem; font-size:.78rem; color:#5c6b85; }
@media (max-width:640px){ .neu .n-nav{ display:none; } }
.neu .n-tel{ background:#16233c; color:#fff; font-size:.76rem; font-weight:700; padding:.4rem .85rem; border-radius:100px; white-space:nowrap; }
.neu .n-leib{ padding-top:clamp(1rem,3vw,1.9rem); display:grid; gap:1.3rem; }
@media (min-width:720px){ .neu .n-leib{ grid-template-columns:1.2fr .8fr; align-items:center; } }
.neu h4{ margin:0 0 .55rem; font-size:clamp(1.35rem,1rem + 1.5vw,2.05rem); line-height:1.05; color:#101d33; letter-spacing:-.03em; font-variation-settings:'wdth' 90; }
.neu .n-sub{ font-size:.87rem; color:#5c6b85; line-height:1.55; max-width:40ch; }
.neu .n-tat{ display:flex; gap:.55rem; margin-top:1rem; flex-wrap:wrap; }
.neu .n-b1{ background:#c2410c; color:#fff; font-size:.78rem; font-weight:600; padding:.5rem 1rem; border-radius:100px; }
.neu .n-b2{ border:1px solid #ccd4e0; font-size:.78rem; font-weight:600; padding:.5rem 1rem; border-radius:100px; color:#22304a; }
.neu .n-bild{ aspect-ratio:4/3; border-radius:10px; overflow:hidden; background:#dfe6ee; }
.neu .n-bild svg{ width:100%; height:100%; display:block; }
@media (max-width:719px){ .neu .n-bild{ display:none; } }
.neu .n-fuss{ margin-top:1.3rem; padding-top:.8rem; border-top:1px solid #e4e8ef; display:flex; gap:1rem; font-size:.72rem; color:#7b88a0; flex-wrap:wrap; }
.bild-bel{ margin-top:var(--sp-2); font-size:.87rem; color:var(--ink-mute); max-width:64ch; }

.branchen{ display:grid; gap:0; margin-top:var(--sp-4); border-top:1px solid var(--rand); }
@media (min-width:760px){ .branchen{ grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--sp-5); } }
.branche{ padding-block:var(--sp-3); border-bottom:1px solid var(--rand); display:grid; grid-template-columns:auto 1fr; gap:.2rem 1.1rem; align-items:start; }
.branche .nr{ grid-row:1/3; font-size:.8rem; font-weight:700; color:var(--akzent); font-variation-settings:'wdth' 108; padding-top:.35rem; letter-spacing:.05em; }
.branche h3{ font-size:1.25rem; }
.branche p{ font-size:.98rem; color:var(--ink-mute); }
.hinweis-klein{ margin-top:var(--sp-3); font-size:.9rem; color:var(--ink-mute); }

.liste{ border-top:1px solid var(--rand-papier); margin-top:var(--sp-4); }
.zeile{ display:grid; gap:.4rem var(--sp-4); padding-block:var(--sp-3); border-bottom:1px solid var(--rand-papier); transition:transform .4s var(--federn); }
@media (min-width:820px){
  .zeile{ grid-template-columns:minmax(0,.42fr) minmax(0,.58fr); align-items:baseline; }
  .zeile:hover{ transform:translateX(.8rem); }
}
.zeile h3{ color:var(--on-paper); }
.zeile p{ color:var(--on-paper-soft); font-size:1rem; }
.zeile .preis-klein{ display:inline-block; margin-top:.4rem; font-size:.85rem; font-weight:650; color:var(--akzent-hell); }
.zeile-mark{ font-weight:600; color:var(--on-paper); background:linear-gradient(transparent 70%, color-mix(in oklch,var(--akzent) 65%,transparent) 70%); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
@media (prefers-reduced-motion:reduce){ .zeile:hover{ transform:none; } }

.schritte{ list-style:none; margin:var(--sp-5) 0 0; padding:0; display:grid; gap:var(--sp-4); counter-reset:schritt; position:relative; }
@media (min-width:1000px){ .schritte{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--sp-4); } }
.schritt{ position:relative; padding-left:3.6rem; counter-increment:schritt; }
@media (min-width:1000px){ .schritt{ padding-left:0; padding-top:4.3rem; } }
.schritt::before{
  content:counter(schritt); position:absolute; left:0; top:0; width:2.6rem; height:2.6rem; border-radius:50%;
  display:grid; place-items:center; font-weight:800; font-size:1.05rem; font-variation-settings:'wdth' 90;
  background:var(--navy-900); color:var(--akzent); border:2px solid var(--akzent); z-index:2;
}
.hell .schritt::before{ background:var(--paper); color:var(--on-paper); border-color:var(--akzent-tief); }
.schritt:first-child::before{ background:var(--akzent); color:var(--auf-akzent); }
.schritte::before{ content:''; position:absolute; left:1.3rem; top:1.3rem; bottom:1.3rem; width:2px; background:repeating-linear-gradient(to bottom, var(--rand-stark) 0 6px, transparent 6px 12px); }
.hell .schritte::before{ background:repeating-linear-gradient(to bottom, var(--rand-papier) 0 6px, transparent 6px 12px); }
@media (min-width:1000px){ .schritte::before{ left:1.3rem; right:1.3rem; top:1.3rem; bottom:auto; height:2px; width:auto; background:repeating-linear-gradient(to right, var(--rand-stark) 0 6px, transparent 6px 12px); } .hell .schritte::before{ background:repeating-linear-gradient(to right, var(--rand-papier) 0 6px, transparent 6px 12px); } }
.schritt .dauer{ display:inline-block; font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--akzent); margin-bottom:.35rem; font-variation-settings:'wdth' 106; }
.hell .schritt .dauer{ color:var(--akzent-hell); }
.schritt h3{ margin-bottom:.45rem; }
.schritt p{ font-size:.98rem; }
.schritt ul{ margin:.6rem 0 0; padding-left:1rem; font-size:.94rem; }

.pakete{ display:grid; gap:var(--sp-3); margin-top:var(--sp-4); align-items:stretch; }
@media (min-width:900px){ .pakete{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.paket{
  border:1px solid var(--rand); border-radius:var(--radius); padding:clamp(1.4rem,2.6vw,2rem);
  background:color-mix(in oklch,var(--navy-800) 60%,transparent); display:flex; flex-direction:column; position:relative;
}
.paket.empfohlen{ background:var(--navy-800); border-color:color-mix(in oklch,var(--akzent) 70%,transparent); box-shadow:0 0 0 1px color-mix(in oklch,var(--akzent) 50%,transparent), var(--schatten-hoch); }
@media (min-width:900px){ .paket.empfohlen{ transform:translateY(-12px); } }
.paket-band{ position:absolute; top:-.8rem; left:clamp(1.4rem,2.6vw,2rem); background:var(--akzent); color:var(--auf-akzent); font-size:.72rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; padding:.28rem .7rem; border-radius:100px; }
.paket h3{ font-size:1.35rem; }
.paket .fuer{ margin-top:.3rem; font-size:.94rem; color:var(--ink-mute); min-height:3em; }
.paket .betrag{ margin-top:var(--sp-3); font-size:clamp(2.4rem,2rem + 1.6vw,3.2rem); font-weight:800; color:var(--ink); font-variation-settings:'wdth' 84; letter-spacing:-.04em; line-height:1; }
.paket .betrag small{ display:block; margin-top:.4rem; font-size:.82rem; font-weight:500; color:var(--ink-mute); letter-spacing:0; font-variation-settings:'wdth' 100; }
.haken{ list-style:none; margin:var(--sp-3) 0 0; padding:0; display:grid; gap:.5rem; }
.haken li{ display:flex; gap:.6rem; align-items:flex-start; font-size:.97rem; line-height:1.45; }
.haken li::before{
  content:''; flex:none; width:18px; height:18px; margin-top:.15rem; border-radius:50%;
  background:color-mix(in oklch,var(--akzent) 22%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23c3e85b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat;
}
.haken li.plus{ color:var(--ink); font-weight:600; }
.hell .haken li::before{ background:color-mix(in oklch,var(--akzent) 45%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23233a10' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat; }
.paket .knopf{ margin-top:auto; }
.paket .haken{ margin-bottom:var(--sp-4); }

.betreuung{
  margin-top:var(--sp-4); border-radius:var(--radius); padding:clamp(1.4rem,3vw,2.2rem);
  display:grid; gap:var(--sp-3); background:var(--navy-950); border:1px dashed var(--rand-stark);
}
@media (min-width:860px){ .betreuung{ grid-template-columns:auto 1fr; gap:var(--sp-5); align-items:center; } }
.betreuung .betrag{ font-size:clamp(2.2rem,1.8rem + 1.5vw,3rem); font-weight:800; color:var(--akzent); font-variation-settings:'wdth' 84; letter-spacing:-.04em; line-height:1; white-space:nowrap; }
.betreuung .betrag small{ font-size:.34em; color:var(--ink-mute); font-weight:600; letter-spacing:0; margin-left:.3rem; }

.notiz-k{ border:1px solid var(--rand); border-radius:var(--radius); padding:1.25rem 1.35rem; background:color-mix(in oklch,var(--navy-800) 55%,transparent); }
.notiz-k h3{ margin-bottom:.4rem; }
.notiz-k p{ font-size:.97rem; color:var(--ink-mute); }
.hell .notiz-k{ background:#fff; border-color:var(--rand-papier); box-shadow:var(--schatten-papier); }
.hell .notiz-k p{ color:var(--on-paper-soft); }
.notizen{ display:grid; gap:var(--sp-3); margin-top:var(--sp-4); }
@media (min-width:860px){ .notizen{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.notizen.zwei-spaltig{ }
@media (min-width:860px){ .notizen.zwei-spaltig{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

.rechner{ display:grid; gap:var(--sp-4); margin-top:var(--sp-4); }
@media (min-width:920px){ .rechner{ grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); align-items:start; } }
.rechner fieldset{ border:0; margin:0; padding:0; }
.rechner legend{ font-weight:700; color:var(--on-paper); font-size:1.1rem; margin-bottom:.6rem; padding:0; }
.modul{
  display:grid; grid-template-columns:auto 1fr auto; gap:.2rem 1rem; align-items:center; cursor:pointer;
  padding:1rem 1.1rem; border:1px solid var(--rand-papier); border-radius:12px; background:#fff; margin-bottom:.55rem;
  transition:border-color .25s ease, box-shadow .3s var(--federn), transform .3s var(--federn);
}
.modul:hover{ border-color:color-mix(in oklch,var(--on-paper) 30%,transparent); }
.modul:has(input:checked){ border-color:var(--akzent-tief); box-shadow:0 0 0 1px var(--akzent-tief), var(--schatten-papier); }
.modul:has(input:disabled){ cursor:default; background:var(--paper-2); }
.modul input{ width:22px; height:22px; accent-color:var(--akzent-hell); margin:0; grid-row:1/3; }
.modul b{ color:var(--on-paper); font-weight:650; }
.modul small{ grid-column:2; color:var(--on-paper-mute); font-size:.88rem; line-height:1.4; }
.modul .m-preis{ grid-row:1/3; grid-column:3; font-weight:750; color:var(--on-paper); font-variation-settings:'wdth' 92; white-space:nowrap; }
.summe{
  position:sticky; top:90px; background:var(--navy-900); color:var(--ink-soft); border-radius:var(--radius); padding:clamp(1.3rem,2.6vw,1.9rem);
  box-shadow:var(--schatten-hoch);
}
.summe h3{ color:var(--ink); font-size:1rem; font-weight:600; }
.summe output{ display:block; margin-top:.4rem; font-size:clamp(2.6rem,2rem + 2vw,3.6rem); font-weight:800; color:var(--ink); font-variation-settings:'wdth' 84; letter-spacing:-.04em; line-height:1; }
.summe .monat{ margin-top:.6rem; font-size:1rem; }
.summe .monat b{ color:var(--akzent); }
.summe .klein{ margin-top:var(--sp-2); padding-top:var(--sp-2); border-top:1px solid var(--rand); font-size:.88rem; color:var(--ink-mute); }
.summe .paket-tipp{ margin-top:var(--sp-2); font-size:.92rem; background:color-mix(in oklch,var(--akzent) 12%,transparent); border:1px solid color-mix(in oklch,var(--akzent) 35%,transparent); color:var(--ink); padding:.7rem .85rem; border-radius:10px; }
.summe .paket-tipp:empty{ display:none; }
.summe .knopf{ width:100%; margin-top:var(--sp-3); }
html:not(.js) .summe output, html:not(.js) .summe .paket-tipp{ display:none; }
.ohne-js{ display:none; }
html:not(.js) .ohne-js{ display:block; }

.waehrung{ display:grid; gap:var(--sp-3); margin-top:var(--sp-4); }
@media (min-width:800px){ .waehrung{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.waehrung div{ border-top:2px solid var(--akzent); padding-top:var(--sp-2); }
.waehrung b{ display:block; font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem); color:var(--ink); font-weight:800; font-variation-settings:'wdth' 86; letter-spacing:-.03em; line-height:1.1; }
.waehrung span{ display:block; margin-top:.35rem; color:var(--ink-mute); font-size:.97rem; }

.faq{ margin-top:var(--sp-4); border-top:1px solid var(--rand); }
.hell .faq{ border-color:var(--rand-papier); }
.faq details{ border-bottom:1px solid var(--rand); }
.hell .faq details{ border-color:var(--rand-papier); }
.faq summary{
  list-style:none; cursor:pointer; padding:1.25rem 3rem 1.25rem 0; position:relative;
  font-size:clamp(1.08rem,1rem + .35vw,1.28rem); font-weight:650; color:var(--ink); letter-spacing:-.01em; line-height:1.3;
}
.hell .faq summary{ color:var(--on-paper); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:''; position:absolute; right:.2rem; top:50%; width:28px; height:28px; margin-top:-14px; border-radius:50%;
  border:1px solid var(--rand-stark);
  background:linear-gradient(currentColor,currentColor) center/12px 2px no-repeat, linear-gradient(currentColor,currentColor) center/2px 12px no-repeat;
  transition:transform .4s var(--federn), background-color .25s;
}
.faq details[open] summary::after{ transform:rotate(45deg); background-color:var(--akzent); color:var(--auf-akzent); border-color:var(--akzent); }
.faq summary:hover{ color:var(--akzent); }
.hell .faq summary:hover{ color:var(--akzent-hell); }
.faq .antwort{ padding:0 0 1.4rem; max-width:68ch; }
.faq .antwort p + p{ margin-top:.6rem; }
@media (prefers-reduced-motion:no-preference){ .faq details[open] .antwort{ animation:hochkommen .5s var(--federn); } }

.ref{ display:grid; gap:var(--sp-4); margin-top:var(--sp-4); }
@media (min-width:900px){ .ref{ grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:var(--sp-5); align-items:center; } }
.ref-bild{
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--rand-papier);
  box-shadow:var(--schatten-hoch); display:block; line-height:0;
  transform:perspective(1400px) rotateY(-3.2deg) rotateX(1.4deg); transition:transform .65s var(--federn);
}
.ref-bild:hover{ transform:perspective(1400px) rotateY(0) rotateX(0) translateY(-5px); }
@media (prefers-reduced-motion:reduce){ .ref-bild,.ref-bild:hover{ transform:none; transition:none; } }
.ref-bild img{ width:100%; height:auto; display:block; }
.zitat{ font-size:clamp(1.15rem,1rem + .7vw,1.5rem); line-height:1.42; color:var(--on-paper); letter-spacing:-.015em; }
.quelle{ margin-top:var(--sp-2); font-size:.97rem; color:var(--on-paper-soft); }

.fakten{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:var(--sp-3) 0 0; border-top:1px solid var(--rand-papier); }
.fakten div{ padding:.9rem 0; border-bottom:1px solid var(--rand-papier); }
.fakten div:nth-child(odd){ padding-right:1rem; }
.fakten dt{ font-size:.8rem; color:var(--on-paper-mute); }
.fakten dd{ margin:0; font-weight:650; color:var(--on-paper); font-size:1.02rem; }
.tief .fakten, .fakten.dunkel{ border-color:var(--rand); }
.fakten.dunkel div{ border-color:var(--rand); }
.fakten.dunkel dt{ color:var(--ink-mute); }
.fakten.dunkel dd{ color:var(--ink); }

.fall-galerie{ display:grid; gap:var(--sp-3); margin-top:var(--sp-4); grid-template-columns:repeat(12,minmax(0,1fr)); align-items:start; }
.fall-galerie figure{ margin:0; }
.fall-galerie .gross{ grid-column:1/-1; }
.fall-galerie .mobil{ grid-column:span 4; }
@media (min-width:900px){ .fall-galerie .gross{ grid-column:1/9; } .fall-galerie .mobil{ grid-column:span 2; } }
.fall-galerie img{ display:block; width:100%; height:auto; border-radius:12px; border:1px solid var(--rand); box-shadow:var(--schatten-hoch); }
.fall-galerie .mobil img{ border-radius:18px; }
.fall-galerie figcaption{ margin-top:.6rem; font-size:.84rem; color:var(--ink-mute); }
.kapitel{ display:grid; gap:var(--sp-3); padding-block:var(--sp-4); border-top:1px solid var(--rand-papier); }
@media (min-width:880px){ .kapitel{ grid-template-columns:minmax(0,.38fr) minmax(0,.62fr); gap:var(--sp-5); } }
.kapitel h3{ font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem); }
.kapitel .nr{ display:block; font-size:.78rem; font-weight:700; letter-spacing:.12em; color:var(--akzent-hell); margin-bottom:.4rem; font-variation-settings:'wdth' 108; }

.platzhalter-ref{
  border:2px dashed var(--rand-stark); border-radius:var(--radius); padding:clamp(1.6rem,4vw,2.8rem);
  display:grid; gap:var(--sp-3); align-items:center;
}
@media (min-width:820px){ .platzhalter-ref{ grid-template-columns:1fr auto; } }

.person{ display:grid; gap:var(--sp-4); }
@media (min-width:880px){ .person{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:var(--sp-5); } }
.person-karte{
  margin-top:var(--sp-4); display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:center;
  padding:1rem 1.2rem; border:1px solid var(--rand); border-radius:var(--radius); max-width:380px;
}
.monogramm{ width:60px; height:60px; border-radius:50%; display:grid; place-items:center; background:var(--akzent); color:var(--auf-akzent); font-weight:800; font-size:1.3rem; font-variation-settings:'wdth' 86; letter-spacing:-.03em; }
.person-karte b{ color:var(--ink); display:block; }
.person-karte small{ color:var(--ink-mute); font-size:.88rem; }
.versprechen{ list-style:none; padding:0; margin:var(--sp-3) 0 0; display:grid; gap:.8rem; }
.versprechen li{ padding-left:1.8rem; position:relative; }
.versprechen li::before{ content:'→'; position:absolute; left:0; color:var(--akzent); font-weight:700; }
.versprechen b{ color:var(--ink); font-weight:620; }

.kontakt-k{
  background:var(--akzent); color:var(--auf-akzent);
  border-radius:calc(var(--radius) + 6px); padding:clamp(1.6rem,4.5vw,3.4rem);
  display:grid; gap:var(--sp-4); position:relative; overflow:hidden; isolation:isolate;
}
.kontakt-k::after{
  content:''; position:absolute; right:-10%; bottom:-30%; width:70%; aspect-ratio:2; z-index:-1; opacity:.18;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 200'%3E%3Cg fill='none' stroke='%23101a2e' stroke-width='3'%3E%3Cpath d='M0 120C60 60 110 150 180 100S300 60 400 40'/%3E%3Cpath d='M0 150C60 90 110 180 180 130S300 90 400 70'/%3E%3Cpath d='M0 180C60 120 110 210 180 160S300 120 400 100'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}
@media (min-width:820px){ .kontakt-k{ grid-template-columns:1.2fr .8fr; align-items:center; gap:var(--sp-5); } }
.kontakt-k h2{ color:var(--auf-akzent); }
.kontakt-k p{ color:color-mix(in oklch,var(--auf-akzent) 84%,transparent); }
.kontakt-tat{ display:flex; flex-direction:column; gap:.7rem; }
.k-btn{
  display:flex; align-items:center; gap:.75rem; text-decoration:none;
  background:var(--auf-akzent); color:var(--akzent); padding:.95rem 1.35rem; border-radius:100px; font-weight:620;
  transition:transform .3s var(--federn), box-shadow .3s var(--federn), background-color .25s;
}
.k-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 26px -12px oklch(0.12 0.04 258 / .6); }
.k-btn.hohl{ background:transparent; color:var(--auf-akzent); box-shadow:inset 0 0 0 2px var(--auf-akzent); }
.k-btn svg{ width:19px; height:19px; flex:none; }
.k-btn .pfeil{ margin-left:auto; }
.kontakt-k :focus-visible{ outline-color:var(--auf-akzent); }

.formular-gitter{ display:grid; gap:var(--sp-5); }
@media (min-width:960px){ .formular-gitter{ grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:start; } }
.formular{ background:#fff; border-radius:calc(var(--radius) + 4px); padding:clamp(1.3rem,3.5vw,2.6rem); box-shadow:var(--schatten-papier); border:1px solid var(--rand-papier); }
.anliegen{ display:grid; gap:.6rem; border:0; padding:0; margin:0 0 var(--sp-4); }
@media (min-width:640px){ .anliegen{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.anliegen legend{ font-weight:700; color:var(--on-paper); margin-bottom:.7rem; font-size:1.05rem; padding:0; }
.anliegen label{
  position:relative; display:block; cursor:pointer; padding:1rem 1rem 1rem 1rem; border-radius:12px;
  border:1px solid var(--rand-papier); background:var(--paper); transition:border-color .2s, box-shadow .3s var(--federn), background-color .2s;
}
.anliegen input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.anliegen b{ display:block; color:var(--on-paper); font-weight:680; }
.anliegen small{ display:block; color:var(--on-paper-mute); font-size:.85rem; line-height:1.4; margin-top:.2rem; }
.anliegen label:has(input:checked){ border-color:var(--akzent-tief); background:color-mix(in oklch,var(--akzent) 16%,#fff); box-shadow:0 0 0 1px var(--akzent-tief); }
.anliegen label:has(input:focus-visible){ outline:3px solid var(--akzent-hell); outline-offset:2px; }
.felder{ display:grid; gap:1rem 1.1rem; }
@media (min-width:640px){ .felder{ grid-template-columns:repeat(2,minmax(0,1fr)); } .feld.voll{ grid-column:1/-1; } }
.feld label{ display:block; font-weight:620; color:var(--on-paper); font-size:.94rem; margin-bottom:.35rem; }
.feld label small{ font-weight:450; color:var(--on-paper-mute); }
.feld input,.feld select,.feld textarea{
  width:100%; font:inherit; font-size:1rem; color:var(--on-paper); background:var(--paper);
  border:1px solid color-mix(in oklch,var(--on-paper) 20%,transparent); border-radius:10px; padding:.78rem .9rem;
  transition:border-color .2s, box-shadow .25s var(--federn), background-color .2s;
}
.feld textarea{ min-height:130px; resize:vertical; line-height:1.5; }
.feld input:hover,.feld select:hover,.feld textarea:hover{ border-color:color-mix(in oklch,var(--on-paper) 38%,transparent); }
.feld input:focus,.feld select:focus,.feld textarea:focus{ outline:none; background:#fff; border-color:var(--akzent-hell); box-shadow:0 0 0 4px color-mix(in oklch,var(--akzent) 45%,transparent); }
.feld .hilfe{ font-size:.83rem; color:var(--on-paper-mute); margin-top:.3rem; }
.feld .fehler-text{ font-size:.86rem; color:oklch(0.50 0.19 30); margin-top:.3rem; font-weight:600; display:none; }
.feld.fehler input,.feld.fehler textarea{ border-color:oklch(0.55 0.19 30); box-shadow:0 0 0 3px oklch(0.55 0.19 30 / .15); }
.feld.fehler .fehler-text{ display:block; }
.honig{ position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden; }
.einwilligung{ margin-top:var(--sp-3); font-size:.92rem; color:var(--on-paper-soft); max-width:60ch; }
.einwilligung a{ color:var(--on-paper); }
.einwilligung input{ width:20px; height:20px; margin-top:.15rem; accent-color:var(--akzent-hell); flex:none; }
.formular .absenden{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:var(--sp-3); }
.formular .absenden small{ color:var(--on-paper-mute); font-size:.86rem; }
.meldung{ margin-top:var(--sp-3); padding:1rem 1.1rem; border-radius:12px; font-weight:560; display:none; }
.meldung.zeigen{ display:block; }
.nojs-fehler{ display:none; margin:0 0 var(--sp-3); padding:1rem 1.1rem; border-radius:12px; font-weight:560; background:#fde8e4; color:#7a1f10; }
.nojs-fehler:target{ display:block; }
.js .nojs-fehler:target{ display:none; }
.meldung.gut{ background:color-mix(in oklch,var(--akzent) 30%,#fff); color:var(--on-paper); }
.meldung.schlecht{ background:oklch(0.95 0.04 30); color:oklch(0.40 0.14 30); }
.formular button[disabled]{ opacity:.6; cursor:progress; }
.rueckruf-nur{ display:none; }
.formular:has(input[value="rueckruf"]:checked) .rueckruf-nur{ display:block; }
.formular:has(input[value="rueckruf"]:checked) .nicht-rueckruf{ display:none; }
.formular:has(input[value="frage"]:checked) .nur-entwurf{ display:none; }

.seitenleiste{ display:grid; gap:var(--sp-3); }
.direkt{ background:var(--navy-900); color:var(--ink-soft); border-radius:var(--radius); padding:clamp(1.3rem,2.6vw,1.8rem); }
.direkt h3{ color:var(--ink); margin-bottom:.8rem; }
.direkt a.zeile-k{ display:flex; gap:.8rem; align-items:center; padding:.8rem 0; border-top:1px solid var(--rand); text-decoration:none; color:var(--ink); font-weight:600; }
.direkt a.zeile-k:hover{ color:var(--akzent); }
.direkt a.zeile-k svg{ width:20px; height:20px; color:var(--akzent); flex:none; }
.direkt a.zeile-k small{ display:block; font-weight:450; color:var(--ink-mute); font-size:.84rem; }

.check{ display:grid; gap:var(--sp-5); margin-top:var(--sp-4); }
@media (min-width:980px){ .check{ grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:start; } }
.frage{ border:0; margin:0 0 .8rem; padding:1.15rem 1.2rem; background:#fff; border-radius:12px; border:1px solid var(--rand-papier); transition:border-color .25s, box-shadow .3s var(--federn); }
.frage:has(input:checked){ border-color:color-mix(in oklch,var(--on-paper) 26%,transparent); }
.frage legend{ float:left; width:100%; padding:0; font-weight:650; color:var(--on-paper); line-height:1.35; }
.frage legend span{ color:var(--akzent-hell); font-variation-settings:'wdth' 108; font-size:.8rem; margin-right:.5rem; font-weight:750; }
.frage p{ clear:both; font-size:.9rem; color:var(--on-paper-mute); padding-top:.3rem; }
.frage .optionen{ clear:both; display:flex; flex-wrap:wrap; gap:.45rem; padding-top:.75rem; }
.frage .optionen label{ position:relative; cursor:pointer; }
.frage .optionen input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.frage .optionen span{ display:inline-block; padding:.45rem 1rem; border-radius:100px; border:1px solid color-mix(in oklch,var(--on-paper) 20%,transparent); font-size:.92rem; font-weight:600; color:var(--on-paper-soft); transition:all .25s var(--federn); }
.frage .optionen label:hover span{ border-color:var(--on-paper); color:var(--on-paper); }
.frage .optionen input:checked + span{ background:var(--on-paper); color:var(--paper); border-color:var(--on-paper); }
.frage .optionen input[value="ja"]:checked + span{ background:var(--akzent); color:var(--auf-akzent); border-color:var(--akzent-tief); }
.frage .optionen input:focus-visible + span{ outline:3px solid var(--akzent-hell); outline-offset:2px; }
.ergebnis{ position:sticky; top:90px; background:var(--navy-900); border-radius:calc(var(--radius) + 4px); padding:clamp(1.4rem,3vw,2.2rem); color:var(--ink-soft); box-shadow:var(--schatten-hoch); }
.ergebnis h3{ color:var(--ink); }
.ring{ position:relative; width:170px; height:170px; margin:var(--sp-3) auto; }
.ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.ring circle{ fill:none; stroke-width:12; }
.ring .spur{ stroke:var(--navy-700); }
.ring .wert{ stroke:var(--akzent); stroke-linecap:round; stroke-dasharray:452.4; stroke-dashoffset:452.4; transition:stroke-dashoffset 1s var(--federn), stroke .4s; }
.ring output{ position:absolute; inset:0; display:grid; place-content:center; text-align:center; font-size:2.6rem; font-weight:800; color:var(--ink); font-variation-settings:'wdth' 84; letter-spacing:-.04em; line-height:1; }
.ring output small{ display:block; font-size:.8rem; font-weight:500; color:var(--ink-mute); letter-spacing:0; margin-top:.3rem; font-variation-settings:'wdth' 100; }
.urteil{ text-align:center; font-weight:650; color:var(--ink); font-size:1.12rem; }
.urteil-text{ text-align:center; font-size:.95rem; color:var(--ink-mute); margin-top:.3rem; }
.baustellen{ list-style:none; margin:var(--sp-3) 0 0; padding:var(--sp-3) 0 0; border-top:1px solid var(--rand); display:grid; gap:.7rem; font-size:.93rem; }
.baustellen:empty{ display:none; }
.baustellen li{ display:grid; grid-template-columns:auto 1fr; gap:.6rem; }
.baustellen li::before{ content:'!'; width:20px; height:20px; border-radius:50%; background:color-mix(in oklch,var(--warn) 30%,transparent); color:var(--warn); display:grid; place-items:center; font-weight:800; font-size:.75rem; margin-top:.15rem; }
.baustellen b{ color:var(--ink); font-weight:620; }
.ergebnis .knopf{ width:100%; margin-top:var(--sp-3); }
.ergebnis .datenschutz-klein{ margin-top:.8rem; font-size:.8rem; color:var(--ink-mute); text-align:center; }

.check-mini{ display:none; }
@media (max-width:979px){
  .js .check-mini{
    display:grid; grid-template-columns:auto 1fr auto; gap:.8rem; align-items:center; text-decoration:none;
    position:fixed; left:.6rem; right:.6rem; bottom:calc(.6rem + env(safe-area-inset-bottom)); z-index:var(--z-sticky);
    padding:.5rem .6rem .5rem .5rem; border-radius:100px; color:var(--ink-soft);
    background:color-mix(in oklch,var(--navy-950) 92%,transparent); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
    border:1px solid var(--rand-stark); box-shadow:var(--schatten-hoch);
    transition:transform .45s var(--federn), opacity .3s;
  }
  .js .check-mini.versteckt{ transform:translateY(140%); opacity:0; pointer-events:none; }
  .check-mini-zahl{ width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--akzent); color:var(--auf-akzent); font-weight:800; font-variation-settings:'wdth' 86; letter-spacing:-.03em; }
  .check-mini-text b{ display:block; color:var(--ink); font-size:.92rem; font-weight:650; line-height:1.2; }
  .check-mini-text small{ display:block; font-size:.8rem; color:var(--ink-mute); }
  .check-mini-pfeil{ font-size:.85rem; font-weight:650; color:var(--akzent); padding-right:.5rem; }
  body:has(.check-mini){ padding-bottom:5rem; }
}

.recht{ padding-block:clamp(2.5rem,6vw,4.5rem) var(--sp-6); }
.recht h2{ font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem); margin:var(--sp-4) 0 .6rem; }
.recht h3{ font-size:1.1rem; margin:var(--sp-3) 0 .4rem; }
.recht p,.recht li{ max-width:70ch; }
.recht p + p{ margin-top:.7rem; }
.recht ul{ padding-left:1.2rem; }
.recht a{ color:var(--on-paper); }
.recht address{ font-style:normal; }

.mitte{ min-height:calc(100dvh - 70px - 200px); display:grid; align-items:center; overflow:hidden; }
.mitte .wrap{ position:relative; z-index:2; }
.mitte h1{ max-width:14ch; }
.gross-zahl{ font-size:clamp(6rem,4rem + 12vw,14rem); font-weight:800; color:transparent; -webkit-text-stroke:2px var(--akzent); font-variation-settings:'wdth' 70; letter-spacing:-.05em; line-height:.85; }

.fuss{ background:var(--navy-950); border-top:1px solid var(--rand); padding-block:var(--sp-5) var(--sp-4); font-size:.94rem; color:var(--ink-mute); }
.fuss-gitter{ display:grid; gap:var(--sp-4); }
@media (min-width:860px){ .fuss-gitter{ grid-template-columns:1.4fr .8fr .8fr 1fr; gap:var(--sp-4); } }
.fuss h4{ font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); margin-bottom:.8rem; font-variation-settings:'wdth' 108; font-weight:650; }
.fuss ul{ list-style:none; margin:0; padding:0; display:grid; gap:.45rem; }
.fuss a{ text-decoration:none; transition:color .2s; }
.fuss a:hover{ color:var(--akzent); }
.fuss .marke{ margin-bottom:.8rem; }
.fuss-satz{ max-width:34ch; }
.fuss-unten{ margin-top:var(--sp-5); padding-top:var(--sp-3); border-top:1px solid var(--rand); display:flex; flex-wrap:wrap; gap:.6rem var(--sp-3); justify-content:space-between; font-size:.86rem; }
.gewicht{ display:inline-flex; align-items:center; gap:.5rem; }
.gewicht::before{ content:''; width:8px; height:8px; border-radius:50%; background:var(--akzent); box-shadow:0 0 0 4px color-mix(in oklch,var(--akzent) 20%,transparent); }

.anrufleiste{ display:none; }
@media (max-width:700px){
  .anrufleiste{
    display:grid; grid-template-columns:1fr 1fr; gap:.5rem; position:fixed; left:.6rem; right:.6rem; bottom:calc(.6rem + env(safe-area-inset-bottom)); z-index:var(--z-sticky);
    padding:.45rem; border-radius:100px; background:color-mix(in oklch,var(--navy-950) 90%,transparent); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
    border:1px solid var(--rand-stark); box-shadow:var(--schatten-hoch);
    transition:transform .45s var(--federn), opacity .3s;
  }
  .anrufleiste .knopf{ padding:.7rem .8rem; font-size:.93rem; }
  .js .anrufleiste.versteckt{ transform:translateY(140%); opacity:0; }
  body{ padding-bottom:5rem; }
}

@media (prefers-reduced-motion:no-preference){
  .auf{ animation:auf .85s var(--federn) both; animation-timeline:view(); animation-range:entry 0% cover 22%; }
  @keyframes auf{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
}

.kapitel h2{ font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem); letter-spacing:-.012em; line-height:1.18; font-variation-settings:'wdth' 100; }
.wie-h3{ font-size:clamp(1.18rem,1.05rem + .5vw,1.42rem); letter-spacing:-.012em; line-height:1.18; font-variation-settings:'wdth' 100; }
.direkt h2{ color:var(--ink); margin-bottom:.8rem; }
.notiz-k h2{ margin-bottom:.4rem; }
.fuss .fuss-titel{ font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); margin:0 0 .8rem; font-variation-settings:'wdth' 108; font-weight:650; }
.fuss ul{ gap:.1rem; }
.fuss ul a{ display:inline-block; padding-block:.35rem; }

.frage .optionen span{ min-height:44px; display:inline-flex; align-items:center; padding:.55rem 1.15rem; }

.etikett{ bottom:.6rem; }
@media (max-width:719px){ .etikett{ display:none; } }

.paket .paket-link{ display:block; width:max-content; margin:.9rem auto 0; font-size:.92rem; font-weight:560; }

.mehr-angeben{ grid-column:1/-1; border-top:1px solid var(--rand-papier); border-bottom:1px solid var(--rand-papier); padding:.2rem 0; }
.mehr-angeben summary{ list-style:none; cursor:pointer; padding:.75rem 0; font-weight:620; color:var(--on-paper); font-size:.95rem; display:flex; align-items:center; gap:.6rem; }
.mehr-angeben summary::-webkit-details-marker{ display:none; }
.mehr-angeben summary::before{ content:'+'; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:color-mix(in oklch,var(--akzent) 45%,transparent); color:var(--on-paper); font-weight:700; transition:transform .35s var(--federn); }
.mehr-angeben[open] summary::before{ transform:rotate(45deg); }
.mehr-angeben summary small{ font-weight:450; color:var(--on-paper-mute); }
.mehr-angeben > .felder{ padding:.3rem 0 1rem; }

.summe-mini{ display:none; }
@media (max-width:919px){
  .js .summe-mini{
    display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; column-gap:1rem; align-items:center; text-decoration:none;
    position:fixed; left:.6rem; right:.6rem; bottom:calc(.6rem + env(safe-area-inset-bottom)); z-index:var(--z-sticky);
    padding:.6rem 1.2rem; border-radius:18px; color:var(--ink-soft);
    background:color-mix(in oklch,var(--navy-950) 94%,transparent); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
    border:1px solid color-mix(in oklch,var(--akzent) 45%,transparent); box-shadow:var(--schatten-hoch);
    transform:translateY(140%); opacity:0; pointer-events:none; transition:transform .45s var(--federn), opacity .3s;
  }
  .js .summe-mini.sichtbar{ transform:none; opacity:1; pointer-events:auto; }
  .summe-mini span{ font-size:.8rem; color:var(--ink-mute); }
  .summe-mini b{ grid-row:1/3; grid-column:2; font-size:1.7rem; font-weight:800; color:var(--ink); font-variation-settings:'wdth' 84; letter-spacing:-.03em; }
  .summe-mini small{ font-size:.82rem; color:var(--akzent); font-weight:600; }
  .rechner-aktiv .anrufleiste{ transform:translateY(140%); opacity:0; pointer-events:none; }
}

@media print{
  .kopf,.anrufleiste,.fluss,.orte,.menue{ display:none!important; }
  body{ background:#fff; color:#000; }
}
