@font-face{font-family:"Inter";src:url("/fonts/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --schwarz:#08090b;--kohle:#111318;--kohle-2:#181b21;--kohle-3:#272c35;
  --linie:rgba(236,240,246,.09);--linie-2:rgba(236,240,246,.17);
  --creme:#eef1f6;--grau:#a3a9b5;--grau-2:#727987;--glas:#cfe0ff;
  --blau:#3f6cc4;--blau-hell:#8fb0f0;--blau-tief:#23468f;
  --r:12px;--shell:min(1280px,calc(100vw - 2.5rem));
  --eo:cubic-bezier(.23,1,.32,1);
  --s-1:clamp(.82rem,.8rem + .12vw,.9rem);--s0:clamp(1rem,.96rem + .2vw,1.1rem);--s1:clamp(1.18rem,1.08rem + .5vw,1.42rem);
  --s2:clamp(1.9rem,1.4rem + 2vw,3.2rem);--s3:clamp(2.5rem,1.5rem + 4.2vw,5.4rem);
  color-scheme:dark
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem;scrollbar-color:var(--kohle-3) var(--schwarz)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--schwarz);color:var(--creme);font:400 var(--s0)/1.6 "Inter",system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.2em;text-decoration-color:rgba(63,108,196,.6)}
button,input,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}
p{margin:0}
::selection{background:var(--blau);color:#fff}
:focus-visible{outline:2px solid var(--blau-hell);outline-offset:3px;border-radius:6px}
.shell{width:var(--shell);margin-inline:auto}
.sprung{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--creme);color:var(--schwarz);padding:.6rem 1rem;border-radius:8px;font-weight:600;text-decoration:none}
.sprung:focus{top:1rem}
.kicker{font-size:.74rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:var(--blau-hell);margin-bottom:1.1rem;display:flex;align-items:center;gap:.7rem}
.kicker::before{content:"";width:1.8rem;height:2px;background:var(--blau);transform-origin:left;transition:transform 900ms var(--eo) 200ms}
.kicker.zeigt:not(.da)::before{transform:scaleX(0)}

/* Tasten */
.taste{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3.1rem;padding:.8rem 1.4rem;border-radius:8px;font-weight:650;font-size:var(--s0);letter-spacing:-.01em;text-decoration:none;white-space:nowrap;transition:transform 160ms var(--eo),background-color 220ms ease,border-color 220ms ease,color 220ms ease,box-shadow 220ms ease}
.taste svg{width:18px;height:18px;flex:none}
.taste:active{transform:scale(.97)}
.taste-hell{background:var(--creme);color:var(--schwarz)}
.taste-blau{background:var(--blau);color:#fff}
.taste-glas{background:rgba(236,240,246,.07);border:1px solid rgba(236,240,246,.26);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.taste-rand{border:1px solid var(--linie-2)}
.taste-klein{min-height:2.6rem;padding:.5rem 1rem;font-size:var(--s-1)}
.taste-breit{width:100%}
@media (hover:hover) and (pointer:fine){
  .taste svg{transition:transform 200ms var(--eo)}
  .taste-hell:hover{background:#fff;box-shadow:0 0 0 1px var(--blau),0 10px 30px -12px rgba(63,108,196,.6)}
  .taste-blau:hover{background:var(--blau-hell);box-shadow:0 10px 30px -12px rgba(63,108,196,.8)}
  .taste-hell:hover svg,.taste-blau:hover svg{transform:translateX(2px)}
  .taste-glas:hover,.taste-rand:hover{border-color:var(--blau);background:rgba(63,108,196,.08)}
}

/* Kopf */
.kopf{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid transparent;transition:background-color 300ms ease,border-color 300ms ease}
.kopf.fest{background:rgba(8,9,11,.8);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-color:var(--linie)}
.kopf-in{width:var(--shell);margin-inline:auto;height:4.4rem;display:flex;align-items:center;gap:2rem}
.marke{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--creme)}
.marke-zeichen{width:36px;height:36px;color:var(--creme);flex:none;overflow:visible}
.marke-text{display:flex;flex-direction:column;line-height:1.05}
.marke-text b{font-size:1.3rem;font-weight:800;letter-spacing:-.045em}
.marke-text i{font-style:normal;font-size:.7rem;color:var(--grau);letter-spacing:.02em}
.kopf-nav{display:flex;gap:1.6rem;margin-left:auto;font-size:var(--s-1)}
.kopf-nav a{text-decoration:none;color:#d3d8e0;transition:color 200ms ease}
.kopf-nav a:hover{color:var(--blau-hell)}
@media (max-width:1060px){.kopf-nav{display:none}.kopf .taste{margin-left:auto}}
@media (max-width:440px){.kopf .taste span{display:none}.kopf .taste{padding:.5rem .8rem}}

/* Bühne */
.buehne{position:relative;height:100svh;background:var(--schwarz)}
.buehne-fix{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
.film{position:absolute;inset:-4% 0;z-index:0;will-change:transform}
.film img,.film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.film-loop{opacity:0;transition:opacity 800ms ease}
.film-loop.laeuft{opacity:1}
.film-weg{opacity:0}
.schleier{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,9,11,.9) 0%,rgba(8,9,11,.55) 32%,rgba(8,9,11,.05) 60%),linear-gradient(180deg,rgba(8,9,11,.55) 0%,rgba(8,9,11,0) 18%,rgba(8,9,11,0) 58%,rgba(8,9,11,.92) 100%)}
.buehne-text{position:absolute;z-index:4;left:0;right:0;bottom:0;width:var(--shell);margin-inline:auto;padding-bottom:clamp(4.5rem,11vh,8rem);will-change:transform,opacity}
.buehne-ober{font-size:.78rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--blau-hell);margin-bottom:1.3rem}
.buehne h1{font-size:min(var(--s3),11vh);font-weight:800;letter-spacing:-.055em;line-height:.96;max-width:12ch}
.buehne-unter{margin-top:1.4rem;font-size:var(--s1);line-height:1.45;color:#d3d8e0;max-width:40ch;letter-spacing:-.01em}
.tasten{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.1rem}
.sterne-zeile{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.6rem;font-size:var(--s-1);color:#d3d8e0;text-decoration:none}
.sterne{color:#f3b23c;letter-spacing:.08em;font-size:.95rem}
.sterne-zeile b{color:var(--creme)}
.buehne-text>*{animation:rein 1.1s var(--eo) both}
.buehne-text>h1{animation-delay:.06s}.buehne-text>.buehne-unter{animation-delay:.14s}.buehne-text>.tasten{animation-delay:.22s}.buehne-text>.sterne-zeile{animation-delay:.3s}
@keyframes rein{from{opacity:0;transform:translateY(22px);filter:blur(6px)}}

/* Ablauf */
.ablauf{position:absolute;z-index:4;left:0;right:0;bottom:clamp(4.5rem,11vh,8rem);width:var(--shell);margin:0 auto;padding:0;list-style:none;display:grid;gap:1.1rem;opacity:0;pointer-events:none}
.ablauf li{display:grid;grid-template-columns:3rem 1fr;max-width:32rem;opacity:.28;transition:opacity 400ms ease}
.ablauf li::before{content:attr(data-nr);font-size:.8rem;font-weight:650;color:var(--blau-hell);font-variant-numeric:tabular-nums;padding-top:.45rem}
.ablauf b{display:block;font-size:clamp(1.5rem,1.1rem + 1.5vw,2.5rem);font-weight:750;letter-spacing:-.05em;line-height:1}
.ablauf span{grid-column:2;display:block;max-height:0;overflow:hidden;color:#d3d8e0;font-size:var(--s0);max-width:38ch;transition:max-height 500ms var(--eo),margin 500ms var(--eo)}
.ablauf li.jetzt{opacity:1}
.ablauf li.jetzt span{max-height:6rem;margin-top:.55rem}
.buehne-ende{position:absolute;z-index:4;left:0;right:0;bottom:clamp(4.5rem,11vh,8rem);width:var(--shell);margin:0 auto;opacity:0;pointer-events:none}
.buehne-ende-titel{font-size:var(--s3);font-weight:800;letter-spacing:-.055em;line-height:.98;max-width:12ch;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.buehne-ende-titel::before{content:"„";color:var(--blau-hell)}
.buehne-ende-titel::after{content:"“";color:var(--blau-hell)}
.buehne-ende-wer{margin:1rem 0 1.9rem;color:#d3d8e0;font-size:var(--s-1)}
.buehne-ende-wer .sterne{margin-right:.4rem}
.buehne-ende.an{pointer-events:auto}
.ki-hinweis{font-size:.68rem;color:rgba(236,240,246,.62);letter-spacing:.01em}
.ki-buehne{position:absolute;z-index:5;right:clamp(1rem,2.5vw,2.2rem);bottom:.9rem;padding:.25rem .6rem;border-radius:99px;background:rgba(8,9,11,.55);border:1px solid var(--linie)}
.ki-fliess{margin-top:1.5rem;color:var(--grau-2)}
@media (max-width:760px){
  .schleier{background:linear-gradient(180deg,rgba(8,9,11,.62) 0%,rgba(8,9,11,.1) 24%,rgba(8,9,11,.2) 44%,rgba(8,9,11,.9) 66%,var(--schwarz) 100%)}
  .film img,.film video{object-position:var(--mobil-x,60%) 50%}
  .aufbau{perspective:1000px;perspective-origin:50% 30%}
  .dach3d{left:50%;top:33%}
  .buehne h1{font-size:clamp(2.4rem,11.5vw,3.3rem);max-width:none}
  .buehne-unter{font-size:1.04rem}
  .buehne-text{padding-bottom:5.6rem}
  .ablauf{bottom:5.6rem}
  .ablauf li{display:none;grid-template-columns:2.4rem 1fr}
  .ablauf li.jetzt{display:grid}
  .buehne-ende{bottom:5.6rem}
  .ki-buehne{right:auto;left:1rem;bottom:.6rem}
}

/* Abschnitte */
.sek{padding:clamp(5.5rem,11vw,9.5rem) 0;position:relative}
.sek+.sek::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(63,108,196,0) 10%,rgba(63,108,196,.55) 50%,rgba(63,108,196,0) 90%,transparent);opacity:.5}
.titel{font-size:var(--s2);max-width:18ch}
.einleitung{margin-top:1.1rem;color:var(--grau);max-width:58ch}

/* Leistungen */
.anliegen{margin-top:clamp(2.2rem,4vw,3.5rem)}
.anliegen-wahl{display:flex;flex-wrap:wrap;gap:.5rem}
.anliegen-wahl button{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1.1rem;border-radius:8px;border:1px solid var(--linie-2);font-weight:560;font-size:var(--s-1);color:#d3d8e0;transition:background-color 220ms ease,border-color 220ms ease,color 220ms ease}
.anliegen-wahl button i{width:7px;height:7px;border-radius:50%;background:var(--grau-2);transition:background-color 220ms ease,box-shadow 220ms ease}
.anliegen-wahl button[aria-selected=true]{background:var(--creme);border-color:var(--creme);color:var(--schwarz)}
.anliegen-wahl button[aria-selected=true] i{background:var(--blau-tief)}
.anliegen-wahl button.gemerkt i{background:var(--blau);box-shadow:0 0 8px var(--blau)}
@media (hover:hover) and (pointer:fine){.anliegen-wahl button:hover{border-color:var(--blau)}}
.anliegen-flaeche{margin-top:1.6rem;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.anliegen-bild{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--kohle)}
.anliegen-bild img{width:100%;height:100%;object-fit:cover;transition:opacity 360ms ease,transform 1.2s var(--eo),filter 360ms ease}
.anliegen-bild img.wechsel{opacity:0;transform:scale(1.03);filter:blur(6px)}
.beleg{position:absolute;left:1rem;bottom:1rem;display:none;align-items:center;gap:.5rem;padding:.45rem .8rem;border-radius:99px;background:rgba(8,9,11,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(243,178,60,.45);font-size:.78rem;font-weight:560}
.beleg.an{display:inline-flex}
.anliegen-text h3{font-size:var(--s2)}
.anliegen-text>p[data-a-satz]{margin-top:1rem;color:#d3d8e0;max-width:44ch}
.mitbringen-titel{margin-top:1.6rem;font-size:.74rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--grau)}
.mitbringen{list-style:none;margin:.7rem 0 1.7rem;padding:0;display:grid;gap:.45rem}
.mitbringen li{display:grid;grid-template-columns:1.3rem 1fr;gap:.5rem;font-size:var(--s-1);color:#d3d8e0}
.mitbringen svg{width:18px;height:18px;color:var(--blau-hell);margin-top:.12rem}
.anliegen-text .taste.gemerkt{border-color:var(--blau);color:var(--blau-hell)}
.hinweis-klein{margin-top:1.5rem;font-size:var(--s-1);color:var(--grau-2);max-width:60ch}
@media (max-width:900px){.anliegen-flaeche{grid-template-columns:minmax(0,1fr)}}

/* Bewertungen */
.bewertungen{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}
.note{margin-top:1.6rem;font-size:clamp(4.5rem,3rem + 6vw,8.5rem);font-weight:800;letter-spacing:-.06em;line-height:.9}
.note-sterne{font-size:1.4rem;color:#f3b23c;letter-spacing:.1em;margin-top:.6rem}
.note-text{margin-top:.6rem;color:var(--grau);font-size:var(--s-1)}
.karten{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1rem}
.karte{padding:clamp(1.4rem,2.5vw,2rem);border-radius:var(--r);border:1px solid var(--linie-2);background:var(--kohle);display:flex;flex-direction:column;gap:1rem}
.karte blockquote{margin:0;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.6rem);font-weight:700;letter-spacing:-.045em;line-height:1.05}
.karte blockquote::before{content:"„";color:var(--blau-hell)}
.karte blockquote::after{content:"“";color:var(--blau-hell)}
.karte-wer{display:flex;align-items:center;gap:.7rem;margin-top:auto}
.karte-wer i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--kohle-3);font-style:normal;font-weight:700}
.karte-wer b{display:block;font-size:var(--s-1)}
.karte-wer small{color:var(--grau);font-size:.75rem}
.karte .sterne{font-size:1rem}
.karte dl{margin:0;display:grid;gap:.7rem}
.karte dt{font-size:.72rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--grau)}
.karte dd{margin:.2rem 0 0;color:#d3d8e0}
.karte-leer{color:var(--grau);font-size:var(--s-1)}
.bewertung-link{margin-top:1.6rem}
@media (max-width:900px){.bewertungen,.karten{grid-template-columns:minmax(0,1fr)}}

/* Fragen */
.fragen-raster{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}
.fragen{border-top:1px solid var(--linie-2)}
.fragen details{border-bottom:1px solid var(--linie-2)}
.fragen summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 0;font-size:var(--s1);font-weight:650;letter-spacing:-.02em}
.fragen summary::-webkit-details-marker{display:none}
.fragen summary::after{content:"";flex:none;width:12px;height:12px;border-right:1.6px solid var(--blau-hell);border-bottom:1.6px solid var(--blau-hell);transform:rotate(45deg) translate(-3px,-3px);transition:transform 300ms var(--eo)}
.fragen details[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.fragen details p{padding:0 0 1.4rem;color:#d3d8e0;max-width:60ch}
.fragen details a{color:var(--blau-hell)}
@media (max-width:900px){.fragen-raster{grid-template-columns:minmax(0,1fr)}}

/* Formular */
.feld{display:flex;flex-direction:column;gap:.4rem;font-size:var(--s-1);font-weight:500;color:var(--grau)}
.feld-weit,.notiz-felder .frage{grid-column:1 / -1}
.feld input,.feld textarea{padding:.85rem 1rem;border-radius:8px;border:1px solid var(--linie-2);background:var(--kohle);color:var(--creme);font-weight:400;resize:vertical;transition:border-color 200ms ease,box-shadow 200ms ease;width:100%}
.feld input::placeholder,.feld textarea::placeholder{color:var(--grau-2)}
.feld input:focus,.feld textarea:focus{outline:none;border-color:var(--blau);box-shadow:0 0 0 3px rgba(63,108,196,.18)}
.frage{border:0;margin:0;padding:0;min-width:0}
.frage legend{font-size:var(--s-1);font-weight:500;color:var(--grau);margin-bottom:.5rem;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips label{position:relative}
.chips input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0;width:100%;height:100%}
.chips span{display:inline-block;padding:.55rem .95rem;border-radius:8px;border:1px solid var(--linie-2);font-size:var(--s-1);font-weight:500;cursor:pointer;transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease}
.chips input:checked+span{background:var(--creme);border-color:var(--creme);color:var(--schwarz)}
.chips input:focus-visible+span{outline:2px solid var(--blau-hell);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.chips span:hover{border-color:var(--blau)}}

/* Anrufzettel */
.notiz-raster{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.notiz-felder{margin-top:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.notiz-spalte{position:sticky;top:6rem;display:flex;flex-direction:column;gap:.75rem}
.notiz{position:relative;background:#f3f5f8;color:#12151b;border-radius:6px;padding:1.5rem 1.4rem 1.3rem;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);background-image:linear-gradient(rgba(18,21,27,.05) 1px,transparent 1px);background-size:100% 1.9rem;background-position:0 3.4rem}
.notiz::after{content:"";position:absolute;left:1.4rem;right:1.4rem;top:4.15rem;height:2px;background:var(--blau);opacity:.85}
.notiz.tick{animation:tick 380ms var(--eo)}
@keyframes tick{50%{transform:translateY(-3px)}}
.notiz-kopf{display:flex;align-items:baseline;gap:.55rem;padding-bottom:1.1rem;font-weight:750;letter-spacing:-.02em}
.notiz-kopf svg{width:24px;height:24px;color:#12151b;align-self:center}
.notiz-kopf small{margin-left:auto;font-weight:500;font-size:.75rem;color:#687080}
.notiz-werte{margin:0;display:grid}
.notiz-werte div{display:grid;grid-template-columns:6.6rem 1fr;gap:.8rem;padding:.55rem 0;border-bottom:1px dashed rgba(18,21,27,.2);font-size:.92rem}
.notiz-werte dt{color:#687080}
.notiz-werte dd{margin:0;font-weight:560;overflow-wrap:anywhere}
.notiz-werte dd.leer{color:#a5abb6;font-weight:400}
.notiz-fuss{margin-top:1rem;font-size:.78rem;color:#687080}
.notiz-fuss b{color:#12151b}
.senden{display:grid;gap:.6rem}
.senden-reihe{display:flex;gap:.6rem}
.senden-reihe .taste{flex:1;padding-inline:.8rem}
@media (max-width:900px){.notiz-raster{grid-template-columns:minmax(0,1fr)}.notiz-spalte{position:static}}
@media (max-width:520px){.notiz-felder{grid-template-columns:1fr}.senden-reihe{flex-wrap:wrap}.senden-reihe .taste{flex:1 1 40%}}

/* Über */
.ueber-raster{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(1.5rem,5vw,5rem);align-items:center}
.ueber-bilder{position:relative;padding-bottom:14%}
.ueber-bild{border-radius:var(--r);overflow:hidden}
.ueber-bild img{width:100%;height:118%;margin-top:-9%;object-fit:cover}
.ueber-bild.gross{aspect-ratio:4/5;width:76%}
.ueber-bild.klein{position:absolute;right:0;bottom:0;width:44%;aspect-ratio:4/5;border:6px solid var(--schwarz)}
.ueber-text p:not(.kicker){margin-top:1.2rem;color:#d3d8e0;max-width:48ch}
.fakten{margin:2rem 0 0;display:grid;border-top:1px solid var(--linie-2)}
.fakten div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--linie-2)}
.fakten dt{font-weight:650}
.fakten dd{margin:0;color:var(--grau)}
.fakten a{color:var(--blau-hell)}
@media (max-width:900px){.ueber-raster{grid-template-columns:minmax(0,1fr)}}

/* Ort */
.ort{position:relative;padding:clamp(11rem,24vw,19rem) 0 clamp(5rem,9vw,8rem);overflow:hidden;isolation:isolate}
.ort-bild{position:absolute;inset:0;z-index:-1}
.ort-bild img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover;object-position:50% 45%}
.ort-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--schwarz) 0%,rgba(8,9,11,.1) 28%,rgba(8,9,11,.6) 60%,var(--schwarz) 100%)}
.ort-bild .ki-hinweis{position:absolute;right:clamp(1rem,2.5vw,2.2rem);top:clamp(5rem,9vw,7rem);z-index:2}
.wege{margin-top:2.4rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.weg{display:flex;gap:.9rem;align-items:flex-start;padding:1.25rem 1.3rem;border-radius:var(--r);background:rgba(8,9,11,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--linie-2);text-decoration:none;transition:border-color 220ms ease,transform 300ms var(--eo)}
.weg svg{width:21px;height:21px;color:var(--blau-hell);flex:none;margin-top:.15rem}
.weg span{display:flex;flex-direction:column;font-weight:650;overflow-wrap:anywhere;line-height:1.35}
.weg small{font-size:.74rem;font-weight:500;color:var(--grau);margin-bottom:.15rem}
@media (hover:hover) and (pointer:fine){.weg:hover{border-color:var(--blau);transform:translateY(-2px)}}
@media (max-width:900px){.wege{grid-template-columns:1fr}}

/* Fuß */
.fuss{padding:3.5rem 0 7rem;border-top:1px solid var(--linie)}
.fuss-oben{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;align-items:center}
.fuss-nav{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:var(--s-1)}
.fuss-nav a{color:var(--grau);text-decoration:none}
.fuss-nav a:hover{color:var(--creme)}
.fuss-recht{margin-top:2rem;font-size:var(--s-1);color:var(--grau-2)}
.fuss-ki{margin-top:.6rem;font-size:.75rem;color:var(--grau-2)}
@media (min-width:861px){.fuss{padding-bottom:3.5rem}}

/* Daumenleiste */
.daumen{position:fixed;z-index:40;left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom));display:none;grid-template-columns:1fr 1.4fr 1fr;gap:.4rem;padding:.4rem;border-radius:14px;background:rgba(16,18,22,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--linie-2);transform:translateY(140%);transition:transform 420ms var(--eo)}
.daumen.zeigen{transform:none}
.daumen a{white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.9rem;border-radius:10px;text-decoration:none;font-weight:650;font-size:.86rem}
.daumen svg{width:17px;height:17px}
.daumen-haupt{background:var(--blau);color:#fff}
@media (max-width:860px){.daumen{display:grid}}

/* Einblenden */
.zeigt{opacity:0;transform:translateY(22px);transition:opacity 800ms var(--eo),transform 900ms var(--eo)}
.zeigt.da{opacity:1;transform:none}
.kicker.zeigt{transform:none;opacity:1}

/* Ruhige Darstellung */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .zeigt{opacity:1;transform:none}
}
.ruhig .buehne{height:auto!important}
.ruhig .buehne-fix{position:relative;height:auto;overflow:visible}
.ruhig .film,.ruhig .schleier{inset:0 0 auto;height:100svh}
.ruhig .buehne-text{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding-top:6rem}
.ruhig .aufbau,.ruhig .film-weg,.ruhig .buehne-ende{display:none}
.ruhig .ablauf{position:relative;bottom:auto;opacity:1;padding:3rem 0 1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:2rem}
.ruhig .ablauf li{display:grid;opacity:1}
.ruhig .ablauf span{max-height:none;margin-top:.55rem}
.ruhig .ablauf b{font-size:var(--s1)}

/* Drucken: nur der Anrufzettel */
@media print{
  body{background:#fff}
  body *{visibility:hidden}
  .notiz,.notiz *{visibility:visible}
  .notiz{position:absolute;left:0;top:0;width:100%;box-shadow:none;animation:none}
  .kopf,.daumen{display:none}
}

/* Gewebe als Motiv */
.finder-sek,.zeiten-sek{background-image:linear-gradient(180deg,var(--schwarz),rgba(8,9,11,0) 18%,rgba(8,9,11,0) 82%,var(--schwarz)),repeating-linear-gradient(0deg,rgba(143,176,240,.035) 0 1px,transparent 1px 6px),repeating-linear-gradient(90deg,rgba(143,176,240,.035) 0 1px,transparent 1px 6px)}
.buehne-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;margin-top:1.6rem}
.buehne-zeile .sterne-zeile{margin-top:0}
.status{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--s-1);color:#d3d8e0;padding:.3rem .7rem;border-radius:99px;border:1px solid var(--linie-2);background:rgba(8,9,11,.5);white-space:nowrap}
.status i{width:8px;height:8px;border-radius:50%;background:#7b8291;flex:none}
.status.offen i{background:#5fd38a;box-shadow:0 0 0 0 rgba(95,211,138,.6);animation:puls 2s infinite}
@keyframes puls{70%{box-shadow:0 0 0 7px rgba(95,211,138,0)}100%{box-shadow:0 0 0 0 rgba(95,211,138,0)}}

/* 3D Insektenschutzgitter */
.aufbau{position:absolute;inset:0;z-index:3;perspective:1500px;perspective-origin:30% 40%;pointer-events:none;opacity:0}
.gitter3d{position:absolute;left:27%;top:37%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.gitter3d>div{position:absolute;left:0;top:0;transform-style:preserve-3d;backface-visibility:visible}
.g-wand{background:linear-gradient(180deg,#e9ecf1,#c9ced8);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.g-laibung{background:linear-gradient(90deg,#b9bfca,#d9dde4)}
.g-fenster{background:#f4f5f7;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.g-glas{background:linear-gradient(160deg,rgba(255,214,150,.75),rgba(255,170,90,.45) 55%,rgba(40,60,110,.5));box-shadow:inset 0 0 30px rgba(255,190,110,.35)}
.g-profil{background:linear-gradient(90deg,#3b4048,#5a616c 50%,#353a42);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.g-profil-seite{background:#2a2e35}
.g-ecke{background:var(--blau-hell);box-shadow:0 0 14px rgba(143,176,240,.9)}
.g-gewebe{background:repeating-linear-gradient(0deg,rgba(10,12,16,.82) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(10,12,16,.82) 0 1px,transparent 1px 3px),rgba(30,35,45,.18);box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.g-griff{background:linear-gradient(180deg,#6b7280,#3a3f47);border-radius:2px}
.g-sprosse{background:linear-gradient(180deg,#4b515b,#30353c)}
.g-tritt{background:linear-gradient(180deg,#454a53,#2b2f36);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.g-buerste{background:repeating-linear-gradient(90deg,#1b1e24 0 1px,#3a3f48 1px 2px)}
.g-muecke{width:5px!important;height:3px!important;border-radius:50%;background:#1a1d22;box-shadow:0 0 0 1px rgba(255,220,160,.25)}
.aufbau-namen{position:absolute;left:0;top:0;margin:0;padding:0;list-style:none}
.aufbau-namen li{position:absolute;white-space:nowrap;font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:.25rem .6rem;border-radius:4px;background:rgba(8,9,11,.72);border:1px solid rgba(143,176,240,.6);opacity:0;transition:opacity 300ms ease}
@media (max-width:760px){.aufbau{perspective:1000px;perspective-origin:50% 30%}.gitter3d{left:50%;top:34%}}

/* Systeme */
.anliegen-fuer{font-size:.74rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--blau-hell);margin-bottom:.7rem}
.anliegen-text .taste{margin-top:.4rem}

/* Gitter-Finder */
.finder{margin-top:clamp(2.2rem,4vw,3.5rem);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.finder-bild{position:sticky;top:6rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;align-items:center;padding:clamp(1.2rem,2.5vw,2rem);border-radius:var(--r);border:1px solid var(--linie);background:radial-gradient(80% 60% at 40% 30%,rgba(63,108,196,.16),transparent 70%),linear-gradient(180deg,#12151b,#0b0d11)}
.finder-svg{width:100%;height:auto;max-height:340px;overflow:visible}
.finder-svg text{fill:var(--grau);font:600 12px Inter,sans-serif}
.empfehlung-ober{font-size:.72rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--blau-hell)}
.empfehlung h3{font-size:clamp(1.5rem,1.1rem + 1.3vw,2.3rem);margin:.4rem 0 .7rem}
.empfehlung [data-f-grund]{color:#c9cfd9;font-size:var(--s-1)}
.empfehlung .gewebe-info{margin-top:.8rem;font-size:.8rem;color:var(--grau)}
.finder-felder{display:grid;gap:1.3rem}
.frage[hidden]{display:none}
.chips-farbe span{display:inline-flex;align-items:center;gap:.5rem;padding-left:.55rem!important}
.chips-farbe i{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.finder-reihe{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.zaehler{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem;border-radius:10px;border:1px solid var(--linie-2)}
.zaehler>span{font-size:var(--s-1);color:var(--grau);padding:0 .5rem}
.zaehler button{width:2.4rem;height:2.4rem;border-radius:8px;background:var(--kohle-3);font-size:1.2rem;font-weight:600}
.zaehler output{min-width:2rem;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.finder-felder .taste.gemerkt{background:var(--blau);color:#fff}
.liste-box{margin-top:2rem;padding:clamp(1.2rem,2.5vw,1.8rem);border-radius:var(--r);border:1px dashed rgba(143,176,240,.35);background:rgba(8,9,11,.6);display:grid;gap:1rem}
.liste-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.liste-kopf h3{font-size:var(--s1);letter-spacing:-.02em}
.liste-kopf span{color:var(--grau);font-size:var(--s-1)}
.liste{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.liste:empty{display:none}
.liste li{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;padding:.75rem .9rem;border-radius:10px;background:var(--kohle);border:1px solid var(--linie);animation:rein .5s var(--eo) both}
.liste li i{width:26px;height:26px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.liste li b{display:block;font-size:var(--s-1)}
.liste li small{color:var(--grau);font-size:.78rem}
.liste li button{width:2.2rem;height:2.2rem;border-radius:8px;display:grid;place-items:center;color:var(--grau)}
.liste li button svg{width:16px;height:16px}
.liste li button:hover{color:#fff;background:var(--kohle-3)}
.liste-box>.taste{justify-self:start}
@media (max-width:1000px){.finder{grid-template-columns:minmax(0,1fr)}.finder-bild{position:sticky;top:4.6rem;z-index:3;grid-template-columns:110px minmax(0,1fr);padding:.7rem;gap:.8rem;box-shadow:0 18px 40px -12px rgba(0,0,0,.9)}.finder-svg{max-height:150px}.empfehlung h3{font-size:1.15rem;margin:.2rem 0 .3rem}.empfehlung [data-f-grund]{display:none}.empfehlung .gewebe-info{margin-top:0;font-size:.74rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}

/* Qualität */
.qualitaet{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1.5rem,5vw,5rem);align-items:center}
.qualitaet-bilder{position:relative;padding-bottom:16%}
.q-bild{border-radius:var(--r);overflow:hidden}
.q-bild img{width:100%;height:118%;margin-top:-9%;object-fit:cover}
.q-bild.gross{aspect-ratio:4/5;width:78%}
.q-bild.klein{position:absolute;right:0;bottom:0;width:44%;aspect-ratio:4/5;border:6px solid var(--schwarz)}
.fakten-liste{margin:1.8rem 0 0;display:grid;border-top:1px solid var(--linie-2)}
.fakten-liste div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--linie-2)}
.fakten-liste dt{font-weight:650;color:var(--blau-hell)}
.fakten-liste dd{margin:0;color:#c9cfd9}
@media (max-width:900px){.qualitaet{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.fakten-liste div{grid-template-columns:1fr;gap:.3rem}}

/* Bewertungen, drei Karten */
.karten{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.karte blockquote{font-size:clamp(1.1rem,.95rem + .55vw,1.4rem)!important;line-height:1.2!important;letter-spacing:-.03em!important}
@media (min-width:901px){.bewertungen{grid-template-columns:minmax(0,3fr) minmax(0,9fr)}}
.karte-mehr{color:var(--grau);font-size:var(--s-1)}
.themen{list-style:none;margin:1.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.themen li{padding:.45rem .85rem;border-radius:99px;border:1px solid var(--linie-2);font-size:var(--s-1)}
.themen b{color:var(--blau-hell);margin-left:.25rem}
.note-text.klein{font-size:.75rem;color:var(--grau-2)}
@media (max-width:1100px){.karten{grid-template-columns:minmax(0,1fr)!important}}

/* Zeiten */
.zeiten{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}
.zeiten-karten{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}
.zeit-karte{padding:clamp(1.3rem,2.5vw,1.8rem);border-radius:var(--r);border:1px solid var(--linie-2);background:var(--kohle);display:grid;gap:1rem}
.zeit-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem}
.zeit-kopf h3{font-size:var(--s1);letter-spacing:-.02em}
.zeit-tabelle{width:100%;border-collapse:collapse;font-size:var(--s-1)}
.zeit-tabelle th{text-align:left;font-weight:500;color:var(--grau);padding:.55rem 0;width:7.5rem}
.zeit-tabelle td{padding:.55rem 0;text-align:right;font-variant-numeric:tabular-nums}
.zeit-tabelle tr{border-bottom:1px solid var(--linie)}
.zeit-tabelle tr.heute th,.zeit-tabelle tr.heute td{color:#fff;font-weight:650}
.zeit-tabelle tr.heute th::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blau-hell);margin-right:.5rem;vertical-align:middle}
.zeit-fein{font-size:.75rem;color:var(--grau-2)}
@media (max-width:1100px){.zeiten{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.zeiten-karten{grid-template-columns:minmax(0,1fr)}}

/* Über */
.partner-taste{margin-top:1.8rem;white-space:normal;text-align:left}
.zeit-tabelle th{width:6.4rem}
.zeit-tabelle td{white-space:nowrap}
@media (min-width:1101px){.zeiten{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}
@media (min-width:1101px) and (max-width:1280px){.zeiten-karten{grid-template-columns:minmax(0,1fr)}}
@media (max-width:380px){.zeit-tabelle td{white-space:normal}}
