:root{
  --app-blush-100:#fcedf5;
  --app-blush-200:#f8e7f4;
  --app-blush-300:#f6d7e8;
  --app-blush-deep:#ecbeda;
  --app-lav:#f5effb;
  --app-lav-alt:#ebe1f1;

  --app-sheet:#fffffd;
  --app-sheet-soft:#fcedf5;
  --app-sheet-alt:#f8e7f4;

  --app-primary:#d10482;
  --app-primary-dark:#af026d;
  --app-flush:#d10482;
  --app-flush-alt:#af026d;
  --app-sun:#d10482;
  --app-sun-alt:#af026d;
  --app-heart:#d10482;
  --app-cornflower:#c6cef2;
  --app-promo-dark:linear-gradient(95deg,#af026d,#af026d 55%,#af026d);

  --app-copy:#292730;
  --app-copy-soft:#6d6574;
  --app-faint:#9b94a2;
  --app-line:#efdae8;

  --app-inverse:#fffffd;
  --app-base:#fffffd;
  --app-success:#90c6ab;
  --app-line-soft:rgba(255,255,253,.89);
  --app-sheet-surface:rgba(255,255,253,.93);
  --app-backdrop:rgba(41,39,48,.49);
  --app-footer-surface:#292730;
  --app-footer:#d7d1dd;
  --app-footer-alt:#fffffd;
  --app-footer-soft:#ab9db0;
  --app-footer-border:rgba(255,255,253,.09);

  --app-ro-sm:14px;
  --app-ro-md:20px;
  --app-ro-lg:28px;
  --app-ro-xl:36px;
  --app-ro-pill:999px;

  --app-shade-sm:0 6px 16px -8px rgba(209,4,130,.31);
  --app-shade-md:0 18px 38px -18px rgba(209,4,130,.33);
  --app-shade-lg:0 30px 60px -24px rgba(209,4,130,.38);

  --app-display:"Trebuchet MS","Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  --app-ff:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;

  --app-wrap:1200px;
  --app-pad:24px;
  --app-vgap:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(1200px 700px at 85% -8%, var(--app-blush-300) 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 8%, var(--app-lav) 0%, transparent 55%),
    linear-gradient(180deg, var(--app-blush-100) 0%, var(--app-sheet-soft) 40%, var(--app-blush-100) 100%);margin:0;line-height:1.6;font-family:var(--app-ff);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;color:var(--app-copy);
}
img{max-width:100%;display:block}
.page-leiste{margin-left:auto;display:flex;gap:8px;align-items:center}
.intro-head{max-width:640px;margin:0 auto 44px;text-align:center}
.intro-head .druck{margin-top:24px}

.site-head{top:0;background:var(--app-sheet);border-bottom:1px solid var(--app-line);z-index:60;position:sticky}
.site-head-inner{padding-block:12px;justify-content:space-between;min-height:74px;align-items:center;display:flex;gap:20px}

.druck{
  white-space:nowrap;border:1.5px solid transparent;justify-content:center;display:inline-flex;
  text-align:center;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;font-size:1rem;
  cursor:pointer;align-items:center;padding:14px 26px;gap:9px;
  border-radius:var(--app-ro-pill);
}
.druck svg{height:18px;width:18px}
.druck-mini{padding:10px 18px;font-size:.9rem}
.druck-block{width:100%}
.druck-primary{background:linear-gradient(95deg,var(--app-sun),var(--app-flush) 55%,var(--app-primary));box-shadow:0 14px 26px -12px rgba(249,76,99,.73);color:var(--app-inverse)}
.druck-primary:hover{box-shadow:0 20px 34px -12px rgba(249,76,99,.84);transform:translateY(-2px);background:var(--app-promo-dark);color:var(--app-inverse)}
.druck-light{background:var(--app-sheet);color:var(--app-primary);border-color:var(--app-line)}
.druck-light:hover{transform:translateY(-2px);color:var(--app-primary-dark);background:var(--app-sheet-alt)}
.druck-plain{color:var(--app-primary-dark);background:var(--app-base)}
.druck-plain:hover{box-shadow:var(--app-shade-md);color:var(--app-primary-dark);transform:translateY(-2px)}
.topline{color:var(--app-primary);margin-bottom:10px;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.kontakt-card{background:var(--app-sheet);border-radius:var(--app-ro-lg);cursor:pointer;border:1px solid var(--app-line-soft);overflow:hidden;position:relative;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease}
.kontakt-card:hover{box-shadow:var(--app-shade-lg);transform:translateY(-8px) scale(1.02);z-index:3}
.kontakt-avatar{overflow:hidden;display:block;position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,var(--app-blush-200),var(--app-lav-alt))}
.kontakt-avatar img{transition:transform .5s ease,filter .3s ease;height:100%;object-fit:cover;width:100%;display:block}
.kontakt-card:hover .kontakt-avatar img{filter:brightness(.7);transform:scale(1.1)}
.kontakt-label{color:#ecf2ff;font-weight:800;box-shadow:0 2px 8px rgba(2,0,0,.17);padding:5px 9px;top:10px;background:linear-gradient(135deg,#102a48,#0c1e35);border:1px solid #599cd8;border-radius:var(--app-ro-pill);align-items:center;position:absolute;gap:6px;right:10px;z-index:3;display:inline-flex;font-size:.68rem;letter-spacing:.05em}
.kontakt-label .bullet{width:8px;box-shadow:0 0 6px rgba(144,198,171,.72);position:relative;background:var(--app-success);height:8px;border-radius:50%;color:transparent;font-size:0}
.kontakt-label .bullet::after{content:"";border-radius:50%;inset:0;background:var(--app-success);animation:undulate 1.8s ease-out infinite;position:absolute}
.kontakt-inner{z-index:2;left:0;background:linear-gradient(to top,rgba(2,0,0,.97),rgba(2,0,0,.72) 55%,rgba(2,0,0,.01));padding:20px 15px 15px;right:0;bottom:0;position:absolute;text-align:left;transition:opacity .3s ease}
.kontakt-card:hover .kontakt-inner{opacity:0}
.kontakt-untertitel{margin-bottom:8px;padding:4px 9px;font-size:.68rem;display:inline-flex;border-radius:var(--app-ro-pill);color:#edfcf8;font-weight:700;box-shadow:0 2px 8px rgba(2,0,0,.17);border:1px solid rgba(73,117,107,.89);letter-spacing:.02em;align-items:center;background:rgba(21,44,42,.93);gap:5px}
.kontakt-untertitel svg{height:14px;color:#a8e7d0;width:14px}
.kontakt-title{font-family:var(--app-display);line-height:1.2;font-weight:800;font-size:1.32rem;color:#fffffd}
.kontakt-title span{font-weight:600;color:rgba(255,255,253,.83);font-size:.86rem}
.kontakt-addr{margin-top:3px;gap:6px;color:rgba(255,255,253,.89);display:flex;font-size:.82rem;align-items:center}
.kontakt-addr .needle svg{width:14px;height:14px;color:#fffffd}
.kontakt-screen{transition:opacity .3s ease,visibility .3s ease;inset:0;align-items:flex-end;justify-content:center;position:absolute;background:linear-gradient(to bottom,rgba(2,0,0,.09),rgba(2,0,0,.89));display:flex;visibility:hidden;z-index:4;padding:20px;opacity:0}
.kontakt-card:hover .kontakt-screen{opacity:1;visibility:visible}
.kontakt-box{width:100%;text-align:center;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);transform:translateY(20px)}
.kontakt-card:hover .kontakt-box{transform:translateY(0)}
.kontakt-copy{line-height:1.4;color:#fffffd;display:-webkit-box;text-shadow:0 2px 4px rgba(2,0,0,.8);font-size:.85rem;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0 0 12px}
.kontakt-verlauf{display:inline-flex;width:50px;box-shadow:0 4px 15px rgba(2,0,0,.3);background:linear-gradient(135deg,var(--app-primary),var(--app-flush));transition:transform .3s ease,box-shadow .3s ease;border-radius:50%;height:50px;align-items:center;color:var(--app-inverse);justify-content:center}
.kontakt-verlauf svg{width:22px;height:22px}
.kontakt-verlauf:hover{transform:scale(1.1);box-shadow:var(--app-shade-md)}
.kontakt-stern{color:#fffffd;z-index:6;top:10px;height:34px;cursor:pointer;display:grid;border-radius:50%;left:10px;transition:transform .2s ease,background .2s ease,color .2s ease;box-shadow:0 2px 8px rgba(2,0,0,.28);position:absolute;border:none;place-items:center;background:rgba(2,0,0,.4);width:34px}
.kontakt-stern svg{height:18px;width:18px}
.kontakt-stern:hover{background:rgba(2,0,0,.59);transform:scale(1.1)}
.kontakt-stern.full{color:var(--app-inverse);background:var(--app-flush)}
.kontakt-stern.full svg{fill:currentColor}

.toggle{flex-direction:column;background:none;gap:5px;border:none;cursor:pointer;z-index:1105;padding:6px;display:none}
.toggle span{border-radius:2px;background:var(--app-copy);display:block;width:26px;height:3px;transition:transform .3s ease,opacity .3s ease}
.toggle.shown span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.toggle.shown span:nth-child(2){opacity:0}
.toggle.shown span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.name,.leiste-link,.aside-mob a,.druck,.breadcrumb a,.site-grund a,.umkreis-menu a,.kontakt-verlauf{text-decoration:none}
.title-2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
figure{margin:0}
.aside-mob{top:0;z-index:1100;box-shadow:-6px 0 30px rgba(41,39,48,.22);right:-100%;height:100vh;transition:right .3s ease;background:var(--app-sheet);overflow-y:auto;position:fixed;width:80%;padding:84px 22px 22px;max-width:320px;height:100dvh}
.aside-mob.shown{right:0}
.aside-mob nav{flex-direction:column;display:flex}
.aside-mob a:not(.druck){font-weight:600;color:var(--app-copy);font-size:15px;padding:14px 2px;border-bottom:1px solid var(--app-line)}
.aside-mob a:not(.druck):hover{color:var(--app-primary-dark)}
.aside-mob a.druck{margin-top:22px}
.em{background:linear-gradient(92deg,var(--app-primary),var(--app-flush) 60%,var(--app-sun));-webkit-background-clip:text;background-clip:text;color:transparent}
button{font-family:inherit}
svg{display:block}
.lead{color:var(--app-copy-soft);font-size:1.06rem;margin-top:14px}
.pic-full svg{stroke:none;fill:currentColor}
p{margin:0}
h1,h2,h3,h4{font-family:var(--app-display);letter-spacing:-.01em;line-height:1.12;color:var(--app-copy);margin:0}



.kontakte-layout{gap:5px;display:grid;grid-template-columns:repeat(4,1fr)}
::selection{background:rgba(238,79,149,.24)}
ul{margin:0;padding:0;list-style:none}
.leiste-screen{transition:opacity .3s ease;z-index:1090;inset:0;visibility:hidden;position:fixed;opacity:0;background:var(--app-backdrop)}
.leiste-screen.shown{visibility:visible;opacity:1}

.label-pill{display:inline-flex;border:1px solid var(--app-line);gap:8px;box-shadow:var(--app-shade-sm);align-items:center;background:var(--app-sheet);padding:8px 16px;letter-spacing:.06em;border-radius:var(--app-ro-pill);color:var(--app-primary);font-weight:700;font-size:.82rem}
.label-pill svg{height:16px;width:16px;color:var(--app-flush)}
.leiste-link{font-weight:600;padding:9px 14px;border-radius:var(--app-ro-pill);color:var(--app-copy);transition:background .18s,color .18s;font-size:.96rem}
.leiste-link:hover{background:var(--app-sheet-alt);color:var(--app-primary-dark)}
.leiste-stern{font-weight:600;align-items:center;transition:background .18s ease,color .18s ease;color:var(--app-copy);padding:9px 12px;position:relative;font-size:.96rem;background:none;gap:7px;display:inline-flex;cursor:pointer;text-decoration:none;border:none;border-radius:var(--app-ro-pill)}
.leiste-stern:hover{color:var(--app-primary-dark);background:var(--app-sheet-alt)}
.leiste-stern svg{color:var(--app-primary);width:20px;height:20px}
.leiste-stern:hover svg{color:var(--app-primary-dark)}
.leiste-stern-copy{white-space:nowrap}
.leiste-stern .verlauf-label{position:static;top:auto;right:auto}
.leiste-stern-mob{border:none;font-weight:600;font-size:15px;display:flex;color:var(--app-copy);background:none;text-align:left;width:100%;text-decoration:none;padding:14px 2px;align-items:center;gap:9px;border-bottom:1px solid var(--app-line);cursor:pointer}
.leiste-stern-mob:hover{color:var(--app-primary-dark)}
.leiste-stern-mob svg{height:18px;width:18px;color:var(--app-primary)}
:focus-visible{outline:3px solid var(--app-primary);border-radius:6px;outline-offset:2px}
.breadcrumb a:hover{color:var(--app-primary-dark)}
.name{font-family:var(--app-display);gap:11px;display:flex;letter-spacing:-.02em;color:var(--app-copy);align-items:center;font-weight:800;font-size:1.28rem}
.name:hover{color:var(--app-copy)}
.name-logo{flex-shrink:0;border-radius:14px;color:var(--app-inverse);width:42px;box-shadow:0 8px 18px -8px rgba(238,79,149,.8);display:inline-flex;align-items:center;background:linear-gradient(135deg,var(--app-primary),var(--app-flush) 55%,var(--app-sun));height:42px;justify-content:center}
.name-logo svg{height:22px;width:22px}

.rahmen{margin-inline:auto;padding-inline:var(--app-pad);max-width:var(--app-wrap)}
.section{padding-block:var(--app-vgap)}
.section-inv{background:var(--app-sheet-alt)}
@media(max-width:768px){.kontakt-screen{opacity:1;visibility:visible;inset:auto 7px 8px auto;width:auto;height:auto;padding:0;background:none}.kontakt-box{width:auto;transform:none}.kontakt-copy{display:none}.kontakt-verlauf{width:34px;height:34px}.kontakt-verlauf svg{width:16px;height:16px}.kontakt-stern{top:8px;left:8px;width:30px;height:30px}.kontakt-stern svg{width:16px;height:16px}.kontakt-label{top:8px;right:8px;gap:4px;padding:3px 7px;font-size:9.5px;letter-spacing:.03em}.kontakt-label .bullet{width:6px;height:6px}.kontakt-card .kontakt-inner{padding:10px 9px 9px}.kontakt-untertitel{gap:3px;margin-bottom:5px;padding:3px 6px;font-size:9.5px}.kontakt-untertitel svg{width:12px;height:12px}.kontakt-title{font-size:.92rem;line-height:1.2;padding-right:40px}.kontakt-title span{font-size:.72rem;white-space:nowrap}.kontakt-addr{font-size:.72rem;gap:4px;margin-top:2px;padding-right:40px}.kontakt-addr .needle svg{width:12px;height:12px}}
@keyframes undulate{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
.kontakt-streifen-run{background:rgba(2,0,0,.49);z-index:3;transition:transform .15s ease,background .15s ease;transform:translate(-50%,-50%);padding-left:6px;place-items:center;top:50%;left:50%;line-height:1;height:78px;cursor:pointer;font-size:1.9rem;border-radius:50%;box-shadow:var(--app-shade-md);position:absolute;color:#fffffd;border:none;width:78px;display:grid}
.kontakt-streifen-run:hover{transform:translate(-50%,-50%) scale(1.07);background:rgba(2,0,0,.72)}
.kontakt-aside{top:96px;position:sticky}
.kontakt-header{flex-wrap:wrap;align-items:center;display:flex;gap:12px;margin-top:14px}
.kontakt-header .label-pill{flex:none}
.kontakt-lead{font-family:var(--app-display);font-weight:800;line-height:1.1;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.kontakt-lead span{color:var(--app-faint);font-weight:600;font-size:.62em}
.kontakt-hinweis{color:var(--app-copy-soft);gap:7px;align-items:center;font-size:1.02rem;margin-top:10px;display:flex}
.kontakt-hinweis .needle svg{color:var(--app-primary);width:18px;height:18px}
.kontakt-hinweis a{font-weight:600;text-decoration:none;transition:border-color .15s ease;color:var(--app-primary-dark);border-bottom:1px solid transparent}
.kontakt-hinweis a:hover{border-bottom-color:currentColor}
.kontakt-stats{display:flex;margin-top:16px;gap:8px;flex-wrap:wrap}
.kontakt-aside .lead{margin-top:18px}
.kontakt-set{margin-top:24px;flex-wrap:wrap;gap:12px;display:flex}


.deal-panel{border-radius:var(--app-ro-xl);box-shadow:var(--app-shade-lg);justify-content:space-between;align-items:center;padding:clamp(38px,5vw,64px);color:var(--app-inverse);overflow:hidden;display:flex;gap:30px;flex-wrap:wrap;background:linear-gradient(100deg,var(--app-primary-dark),var(--app-flush) 60%,var(--app-sun));position:relative}
.deal-glob{border-radius:50%;height:320px;right:-90px;width:320px;top:-120px;position:absolute;background:rgba(255,255,253,.13)}
.deal-copy{position:relative;z-index:2}
.deal-copy h2{max-width:16ch;color:var(--app-inverse)}
.deal-copy p{margin-top:10px;max-width:46ch;color:rgba(255,255,253,.93)}
.deal-panel .druck{z-index:2;position:relative}

.site-grund{background:var(--app-footer-surface);color:var(--app-footer)}
.site-grund .rahmen{padding-block:56px 22px}
.site-grund a{color:var(--app-footer)}
.site-grund a:hover{color:var(--app-footer-alt)}

.verlauf-label{box-shadow:var(--app-shade-sm);color:var(--app-inverse);min-width:22px;padding:0 6px;border-radius:var(--app-ro-pill);position:absolute;line-height:1;border:2px solid var(--app-sheet);top:-3px;font-size:.72rem;font-weight:800;right:-3px;display:grid;background:var(--app-heart);place-items:center;height:22px}
.verlauf-label[hidden]{display:none}
.textbox-entry{grid-template-columns:1fr 1fr;gap:18px;display:grid}
.textbox{border-radius:var(--app-ro-sm);width:100%;background:var(--app-sheet-soft);border:1.5px solid var(--app-line);transition:border-color .16s,box-shadow .16s;color:var(--app-copy);font-family:inherit;font-size:1rem;padding:13px 16px}
.textbox:focus{border-color:var(--app-primary);box-shadow:0 0 0 3px rgba(238,79,149,.15);outline:none}
textarea.textbox{min-height:140px;resize:vertical}

.schnell-opener{right:22px;display:flex;justify-content:center;cursor:pointer;box-shadow:var(--app-shade-lg);align-items:center;border-radius:50%;z-index:80;bottom:22px;border:none;width:60px;position:fixed;text-decoration:none;color:var(--app-inverse);background:linear-gradient(135deg,var(--app-primary),var(--app-flush));height:60px}
.schnell-opener svg{height:26px;width:26px;fill:currentColor;stroke:none}
.schnell-opener-copy{gap:9px;max-width:calc(100vw - 44px);font-family:var(--app-display);height:auto;width:auto;font-weight:800;border-radius:var(--app-ro-pill);padding:13px 20px;font-size:.95rem}
.schnell-opener-copy svg{height:20px;width:20px}
.schnell-copy{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.angaben-cityhall{box-shadow:var(--app-shade-md);border-radius:var(--app-ro-lg);padding:24px;background:var(--app-sheet);border:1px solid var(--app-line-soft)}
.ratgeber-section .breadcrumb{display:flex}.ratgeber-section .breadcrumb li{padding-left:0}.ratgeber-section .breadcrumb li::before{display:none}
.breadcrumb{gap:6px;display:flex;flex-wrap:wrap;justify-content:flex-start;font-size:.86rem;color:var(--app-faint);margin-bottom:14px}
.streifen-frame{background:#020000;display:block;object-fit:cover;width:100%;pointer-events:none;height:100%}
.streifen-bullet{height:28px;line-height:1;position:absolute;place-items:center;width:28px;transform:translate(-50%,-50%);display:grid;box-shadow:var(--app-shade-sm);pointer-events:none;top:50%;color:#fffffd;background:rgba(2,0,0,.55);font-size:.64rem;left:50%;padding-left:2px;border-radius:50%}
.streifen-label{font-weight:700;align-items:center;box-shadow:var(--app-shade-sm);bottom:12px;letter-spacing:.02em;color:#fffffd;display:inline-flex;gap:4px;z-index:2;background:rgba(2,0,0,.64);left:12px;border-radius:var(--app-ro-pill);font-size:.7rem;position:absolute;padding:5px 9px}
.grund-layout{grid-template-columns:1.6fr 1fr 1fr;display:grid;gap:40px}
.grund-name{display:flex;font-family:var(--app-display);align-items:center;font-weight:800;color:var(--app-footer-alt);margin-bottom:12px;gap:10px;font-size:1.2rem}
.grund-col>p:not(.grund-title){color:var(--app-footer-soft);max-width:34ch;font-size:.94rem}
.grund-title{margin-bottom:14px;font-size:1rem;font-weight:800;color:var(--app-footer-alt)}
.grund-menu{font-size:.94rem;gap:10px;display:grid}
.stat{padding:14px 16px;display:flex;border-radius:var(--app-ro-md);gap:12px;background:var(--app-sheet);box-shadow:var(--app-shade-sm);align-items:center;border:1px solid var(--app-line-soft)}
.stat-pic{color:var(--app-primary);border-radius:12px;height:40px;width:40px;display:grid;flex:none;place-items:center;background:var(--app-sheet-alt)}
.stat-pic svg{height:18px;width:18px}
.stat-copy dt{color:var(--app-faint);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
.stat-copy dd{font-family:var(--app-display);font-weight:800;margin:2px 0 0;font-size:.98rem}

.ratgeber-section h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.ratgeber-section h2{color:var(--app-primary-dark);font-size:1.35rem;margin-top:34px;font-weight:800}
.ratgeber-section p{margin-top:14px;color:var(--app-copy-soft);font-size:1.04rem}
.ratgeber-section p a{font-weight:600}
.ratgeber-section ul{gap:10px;display:grid;margin-top:14px}
.ratgeber-section li{position:relative;padding-left:24px;color:var(--app-copy-soft)}
.ratgeber-section li::before{content:"";border-radius:50%;position:absolute;left:0;top:.5em;width:10px;height:10px;background:var(--app-flush)}

.bullet{line-height:1;font-size:.6rem;color:var(--app-success)}

.ratgeber{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr 1fr;align-items:center}
.ratgeber-copy>p:not(.topline){margin-top:16px;color:var(--app-copy-soft);font-size:1.04rem}
.ratgeber-untertitel{font-family:var(--app-display);font-size:1.1rem;color:var(--app-primary-dark);margin-top:22px;font-weight:800}

.eingabe-box{max-width:640px}
.eingabe-skeleton{height:1px;position:absolute;width:1px;left:-9999px;overflow:hidden}
.ratgeber-section .breadcrumb,.breadcrumb:has(+ .intro-head){justify-content:center}
.breadcrumb li:not(:last-child)::after{content:"\00203a";color:var(--app-faint);margin-left:6px}
.breadcrumb a{color:var(--app-copy-soft)}

.doc-aufmacher{padding-block:clamp(40px,6vw,80px) 20px}
.doc-aufmacher h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.doc-aufmacher p{color:var(--app-copy-soft);font-size:1.08rem;margin:16px auto 0}
.kontakt-frame-stern{top:14px;width:46px;height:46px;right:14px}
.kontakt-frame-stern svg{width:21px;height:21px}
.kontakt-layout{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:22px;gap:clamp(24px,4vw,52px)}
.kontakt-col{min-width:0}
.kontakt-frame{background:linear-gradient(160deg,var(--app-blush-200),var(--app-lav-alt));box-shadow:var(--app-shade-md);margin:0;position:relative;border-radius:var(--app-ro-lg);overflow:hidden}
.kontakt-frame img{display:block;height:auto;aspect-ratio:4/5;width:100%;object-fit:cover}
.kontakt-nav{transform:translateY(-50%);width:44px;top:50%;cursor:pointer;box-shadow:var(--app-shade-md);border-radius:50%;z-index:2;place-items:center;background:var(--app-sheet-surface);position:absolute;color:var(--app-primary-dark);border:none;display:grid;transition:transform .15s ease,background .15s ease;height:44px}
.kontakt-nav:hover{transform:translateY(-50%) scale(1.07);background:var(--app-sheet-surface)}
.kontakt-nav svg{width:22px;height:22px}
.kontakt-back{left:12px}
.kontakt-right{right:12px}
.kontakt-strip{margin-top:12px;flex-wrap:wrap;display:flex;gap:10px}
.kontakt-block{transition:transform .15s ease,border-color .15s ease;box-shadow:var(--app-shade-sm);cursor:pointer;border:2px solid transparent;padding:0;overflow:hidden;aspect-ratio:3/4;flex:0 0 auto;border-radius:var(--app-ro-sm);width:72px;background:var(--app-sheet-alt)}
.kontakt-block img{display:block;height:100%;width:100%;object-fit:cover}
.kontakt-block:hover{transform:translateY(-2px)}
.kontakt-block.full{border-color:var(--app-primary)}
.kontakt-col [hidden]{display:none!important}
.kontakt-streifen{background:#020000;max-height:70vh;width:100%;height:auto;object-fit:contain;display:block}
.kontakt-block-streifen{position:relative}
.eingabe-hinweis{font-weight:700}
.eingabe-hinweis-full{color:var(--app-success)}
.eingabe-hinweis-off{color:var(--app-primary-dark)}
.credits{padding-top:22px;color:var(--app-footer-soft);margin-top:34px;font-size:.86rem;border-top:1px solid var(--app-footer-border)}

.skeleton{padding-block:clamp(60px,10vw,140px);text-align:center}
.skeleton-rank{line-height:.9;font-family:var(--app-display);font-weight:800;font-size:clamp(6rem,20vw,13rem)}
.skeleton-part{margin-top:30px;gap:14px;display:flex;justify-content:center;flex-wrap:wrap}
.cityhall-title{font-family:var(--app-display);font-weight:800;margin-bottom:14px}
.cityhall-entry{color:var(--app-copy-soft);gap:10px;font-size:.94rem;margin-top:10px;align-items:flex-start;display:flex}
.cityhall-entry .needle{flex:none;color:var(--app-primary)}
.cityhall-entry .needle svg{width:16px;height:16px}

.eingabe{padding:clamp(24px,3vw,40px);border-radius:var(--app-ro-lg);background:var(--app-sheet);border:1px solid var(--app-line-soft);box-shadow:var(--app-shade-md)}
.eingabe-block{display:grid;margin-bottom:18px;gap:7px}
.eingabe-block label{font-weight:700;font-size:.92rem}

.angaben{grid-template-columns:1.2fr 1fr;align-items:start;gap:clamp(28px,4vw,48px);display:grid}
.angaben-stats{grid-template-columns:1fr 1fr;display:grid;gap:16px}

.umkreis{display:flex;gap:32px;flex-direction:column}
.umkreis-part h2{margin-bottom:16px;font-size:1.15rem;color:var(--app-copy);font-weight:800}
.umkreis-menu{gap:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.umkreis-menu a{display:flex;box-shadow:var(--app-shade-sm);font-size:.92rem;background:var(--app-sheet);padding:13px 16px;align-items:center;gap:10px;border:1px solid var(--app-line);font-weight:600;justify-content:space-between;transition:transform .14s,box-shadow .14s,color .14s;border-radius:var(--app-ro-md);color:var(--app-copy)}
.umkreis-menu a:hover{color:var(--app-primary-dark);transform:translateY(-3px);box-shadow:var(--app-shade-md)}
.umkreis-menu a .needle{flex:none;place-items:center;display:grid;color:var(--app-primary)}
.umkreis-menu a .needle svg{height:16px;width:16px}
.slot{color:var(--app-copy-soft);gap:12px;display:flex;font-size:.9rem;justify-content:space-between}
.ratgeber-copy .druck{margin-top:26px}
.times{gap:4px;display:grid;margin-top:10px}

.stoebern-eingabe{background:var(--app-sheet);margin:0 auto;border-radius:var(--app-ro-pill);display:flex;gap:12px;padding:12px;box-shadow:var(--app-shade-md);border:1px solid var(--app-line-soft)}
.stoebern-eingabe .textbox{background:transparent;border:none;box-shadow:none;font-size:1.06rem}
.stoebern-eingabe .textbox:focus{box-shadow:none}
.stoebern-eingabe+.umkreis{margin-top:40px}
.gebiet-card{position:relative;background:var(--app-lav);box-shadow:var(--app-shade-md);border-radius:var(--app-ro-lg);aspect-ratio:4/3;border:1px solid var(--app-line-soft);overflow:hidden}
.gebiet-card.gebiet-async{cursor:pointer}
.gebiet-skeleton{text-align:center;inset:0;place-items:center;display:grid;gap:10px;padding:20px;position:absolute;background:linear-gradient(160deg,var(--app-lav-alt),var(--app-sheet-alt))}
.gebiet-skeleton p{font-weight:700;color:var(--app-copy)}
.gebiet-needle{color:var(--app-flush);filter:drop-shadow(0 10px 12px rgba(249,76,99,.49))}
.gebiet-needle svg{height:40px;width:40px;fill:currentColor;stroke:none}
.gebiet-card iframe{position:absolute;width:100%;height:100%;border:0;inset:0}
.gebiet-card.loaded .gebiet-skeleton{display:none}
.vorzuege-set{gap:10px;margin-top:14px;display:grid}
.vorzuege-set li{color:var(--app-copy);position:relative;padding-left:24px}
.vorzuege-set li::before{content:"";background:var(--app-flush);position:absolute;left:0;top:.5em;border-radius:50%;width:10px;height:10px}

@media (max-width:980px){
  .kontakte-layout{grid-template-columns:repeat(3,1fr)}
  .kontakt-layout{grid-template-columns:1fr}
  .kontakt-frame{width:100%;max-width:380px;justify-self:start}
  .kontakt-aside{position:static}
  .ratgeber,.angaben{grid-template-columns:1fr}
  .grund-layout{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .page-leiste{display:none}
  .toggle{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .aside-mob,.leiste-screen{display:none}
}
@media (max-width:600px){
  :root{--app-vgap:clamp(30px,7vw,48px);--app-pad:8px}
  .grund-layout,.textbox-entry{grid-template-columns:1fr}
  .kontakte-layout{grid-template-columns:repeat(2,1fr);gap:5px}
  .kontakt-card{border-radius:var(--app-ro-sm)}
  .kontakt-inner{padding:16px 10px}
  .deal-panel{flex-direction:column;align-items:stretch;padding:32px 24px}
  .deal-panel .druck{width:100%;white-space:normal}
  .stoebern-eingabe{flex-direction:column;border-radius:var(--app-ro-lg)}
  .stoebern-eingabe .druck{width:100%}
  .section-kontakt{padding-top:0}
  .kontakt-frame img{aspect-ratio:1/1;max-height:46vh}
  .kontakt-layout{margin-top:0}
  .kontakt-aside{display:flex;flex-direction:column;margin-top:14px}
  .kontakt-header{order:1;margin-top:0}
  .kontakt-hinweis{order:2}
  .kontakt-set{order:3;margin-top:16px;gap:10px}
  .kontakt-set .druck{flex:1 1 auto}
  .kontakt-strip{display:none}
  .kontakt-stats{order:4}
  .kontakt-aside .lead{order:5}
  .angaben-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .stat{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .stat-pic{width:34px;height:34px}
  .stat-copy{min-width:0}
  .stat-copy dd{font-size:.92rem;overflow-wrap:anywhere}
}
