/* Zinke Immobilienverwaltung – Gestaltung v9 (ruhig, gerahmt, Navy/Gold/Creme) */
[hidden]{display:none!important}
:root{--paper:#F6F1E7;--paper2:#EEE7D8;--white:#FFFDF8;--navy:#182B4A;--navy-d:#12213A;--navy-l:#1E3456;--gold:#C79D3A;--gold-l:#E3C078;--gold-d:#A07828;--gold-t:#7D5F1C;--text:#465063;--muted:#646C7C;--rule:rgba(24,43,74,.14);--rule-g:rgba(199,157,58,.55);--f:14px;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;--ease:cubic-bezier(.2,.7,.1,1);--veil:.05;--p:0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font:400 17px/1.75 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--navy);line-height:1.06;letter-spacing:-.01em;text-wrap:balance;overflow-wrap:break-word}
.it{font-style:italic;font-weight:500;color:var(--gold-d)}
.wrap{width:min(1180px,100% - 140px);margin-inline:auto}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip-link{position:absolute;left:-999px;top:20px;z-index:500;background:var(--navy);color:#F6F1E7;padding:12px 18px;font:500 .8rem/1 var(--sans)}
.skip-link:focus{left:24px}
.ext::after{content:"↗";margin-left:6px;font-size:.85em}

/* ---------- Einfassung, Lesebändchen ---------- */
.frame{position:fixed;inset:0;z-index:250;pointer-events:none;border:var(--f) solid var(--navy)}
.frame::before{content:"";position:absolute;inset:7px;border:1px solid var(--rule-g)}
.frame i{position:absolute;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.frame .d1{top:4px;left:4px}.frame .d2{top:4px;right:4px}.frame .d3{bottom:4px;left:4px}.frame .d4{bottom:4px;right:4px}
.ribbon{position:fixed;top:var(--f);right:38px;z-index:251;display:block;width:13px;height:calc(48px + var(--p) * 26vh);background:linear-gradient(90deg,#94701F,#E3C078 42%,#C79D3A 62%,#94701F);clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 8px),0 100%);filter:drop-shadow(0 4px 5px rgba(24,43,74,.28));transition:height .3s linear;border:0;padding:0;cursor:pointer}
.ribbon:hover{filter:drop-shadow(0 4px 8px rgba(160,120,40,.55))}

/* ---------- Kopf ---------- */
.top{position:fixed;top:var(--f);left:var(--f);right:var(--f);z-index:240;transition:background .5s,box-shadow .5s}
.top.scrolled,.top.solid{background:rgba(246,241,231,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--rule)}
.top .wrap{width:min(1180px,100% - 112px)}
.top-in{display:flex;align-items:center;justify-content:space-between;height:90px}
.logo{transition:opacity .6s,visibility .6s}
.logo img{height:54px;width:auto}
.top--home:not(.scrolled) .logo{opacity:0;visibility:hidden}
.nav{display:flex;align-items:center;gap:34px}
.nav .l{position:relative;font:500 .7rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--navy);padding:8px 0}
.nav .l::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav .l:hover::after,.nav .l[aria-current]::after{transform:scaleX(1)}
.nav .btn{height:44px;padding:0 22px}
.nav .l{white-space:nowrap}
.nav .btn+.btn{margin-left:-22px}
.btn .ic{width:15px;height:15px;flex:0 0 15px;margin-top:-2px}
.btn-portal{gap:10px}
.btn-portal .ic{color:var(--gold-d)}
.nav .btn-portal{background:rgba(255,253,248,.92)}
.nav .btn-portal:hover{background:var(--white)}
.menu .btn-portal .ic{color:var(--gold-l)}
.m-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.menu-btn{display:none;align-items:center;gap:12px;height:44px;padding:0 4px;background:none;border:0;cursor:pointer;font:500 .7rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--navy)}
.menu-btn i{display:grid;gap:5px;width:22px}
.menu-btn i::before,.menu-btn i::after{content:"";height:1px;background:var(--navy)}
.menu{position:fixed;inset:var(--f);z-index:245;background:var(--navy);color:#F6F1E7;display:flex;flex-direction:column;justify-content:center;padding:90px 34px 50px;opacity:0;transition:opacity .45s var(--ease)}
.menu.open{opacity:1}
.menu::before{content:"";position:absolute;inset:10px;border:1px solid rgba(227,192,120,.3);pointer-events:none}
.menu a.m{display:block;font:600 2.1rem/1.15 var(--serif);padding:10px 0;border-bottom:1px solid rgba(227,192,120,.16)}
.menu a.m[aria-current]{color:var(--gold-l)}
.menu .m-meta{margin-top:30px;font-size:.92rem;color:#AEB8C9;line-height:1.9}
.menu .m-meta a{color:var(--gold-l)}
.menu .m-close{position:absolute;top:24px;right:26px;background:none;border:0;color:#F6F1E7;font:500 .7rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;padding:14px 6px;cursor:pointer}
body.menu-open{overflow:hidden}

/* ---------- Schaltflächen, Beschriftungen ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;height:56px;padding:0 30px;border:0;border-radius:1px;font:500 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .45s,color .45s,box-shadow .45s}
.btn .ar{font-size:1rem;letter-spacing:0;transition:transform .45s var(--ease)}
.btn:hover .ar{transform:translateX(5px)}
.btn-p{background:var(--navy);color:#F6F1E7}
.btn-p:hover{background:var(--navy-d);box-shadow:inset 0 0 0 4px var(--navy-d),inset 0 0 0 5px var(--gold-l)}
.btn-s{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1px rgba(24,43,74,.4)}
.btn-s:hover{box-shadow:inset 0 0 0 1px var(--navy);background:rgba(255,253,248,.6)}
.btn-c{background:#F6F1E7;color:var(--navy)}
.btn-c:hover{box-shadow:inset 0 0 0 4px #F6F1E7,inset 0 0 0 5px var(--gold)}
.btn-o{background:transparent;color:#F6F1E7;box-shadow:inset 0 0 0 1px rgba(246,241,231,.4)}
.btn-o:hover{box-shadow:inset 0 0 0 1px #F6F1E7}
.lab{font:500 .72rem/1.7 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-t);margin:0}
.lab .no{display:inline-block;margin-right:16px;font:italic 500 1.3rem/1 var(--serif);letter-spacing:0;text-transform:none;color:var(--gold-d);vertical-align:-1px}
.lab-line{position:relative;padding-top:20px}
.lab-line::before{content:"";position:absolute;top:0;left:0;width:250px;max-width:100%;height:1px;background:var(--gold)}
.cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:42px}

/* ---------- Startseite: Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:150px 0 120px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% 40%;filter:brightness(1.06)}
.hero-bg div{position:absolute;inset:0}
.hero-bg .veil-r{background:var(--paper);opacity:var(--veil)}
.hero-bg .veil-l{background:linear-gradient(90deg,rgba(246,241,231,.97) 0%,rgba(246,241,231,.95) 42%,rgba(246,241,231,.8) 51%,rgba(246,241,231,.25) 60%,rgba(246,241,231,0) 68%)}
.hero-bg .veil-t{bottom:auto;height:130px;background:linear-gradient(rgba(246,241,231,.9),rgba(246,241,231,0))}
.hero-bg .veil-b{top:auto;height:170px;background:linear-gradient(rgba(246,241,231,0),var(--paper))}
.hero-grid{position:relative;z-index:2}
.hero-in{max-width:620px}
.hero-in>*{opacity:0;transform:translateY(16px);animation:up 1.3s var(--ease) forwards}
.hero-in>:nth-child(1){animation-delay:.1s}.hero-in>:nth-child(2){animation-delay:.3s}.hero-in>:nth-child(3){animation-delay:.45s}.hero-in>:nth-child(4){animation-delay:.6s}.hero-in>:nth-child(5){animation-delay:.75s}
@keyframes up{to{opacity:1;transform:none}}
.hero .lab{margin-bottom:26px;max-width:520px}
.hero h1{font-size:clamp(3rem,5.2vw,4.7rem);line-height:1.02}
.hero .lead{margin:30px 0 0;font-size:1.06rem;max-width:52ch}
.hero-ph-m{display:none}
.crest{width:128px;margin:0 0 30px -4px}
.crest svg{display:block;width:100%;height:auto;overflow:visible}
.crest .win-glow{opacity:0;transition:opacity 2.4s ease}
.crest.lit .win-glow{opacity:1}
.crest .i-w path{transition:fill 1.8s ease}
.crest.lit .i-w path{fill:#F2C25C}

/* ---------- Unterseiten: Kopfbereich ---------- */
.ph{position:relative;padding:170px 0 110px;overflow:hidden}
.ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rule)}
.ph-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:70px;align-items:center}
.crumbs{display:flex;gap:10px;font:500 .68rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:34px}
.crumbs a{color:var(--navy)}
.crumbs a:hover{color:var(--gold-d)}
.ph .lab{margin-bottom:22px}
.ph h1{font-size:clamp(2.6rem,4.6vw,4.1rem);line-height:1.04}
.ph .lead{margin:28px 0 0;font-size:1.06rem;max-width:56ch}
.ph-txt>*{opacity:0;transform:translateY(14px);animation:up 1.2s var(--ease) forwards}
.ph-txt>:nth-child(2){animation-delay:.12s}.ph-txt>:nth-child(3){animation-delay:.24s}.ph-txt>:nth-child(4){animation-delay:.36s}.ph-txt>:nth-child(5){animation-delay:.48s}
.ph-img{opacity:0;animation:up 1.4s .3s var(--ease) forwards}
.ph-img img{aspect-ratio:1672/941;object-fit:cover;width:100%;height:auto}
.ph--legal{padding-bottom:70px}
.ph--legal .ph-in{grid-template-columns:1fr}
.jump{display:flex;flex-wrap:wrap;gap:0;margin-top:40px;border-top:1px solid var(--rule)}
.jump a{flex:1 1 0;min-width:170px;padding:18px 18px 18px 0;border-bottom:1px solid var(--rule);font:600 1.15rem/1.3 var(--serif);color:var(--navy);display:flex;gap:12px;align-items:baseline;transition:color .3s}
.jump a+a{padding-left:18px;border-left:1px solid var(--rule)}
.jump a i{font:italic 500 1rem/1 var(--serif);color:var(--gold-d)}
.jump a:hover{color:var(--gold-d)}

/* ---------- Passepartout ---------- */
.mat{position:relative;margin:0;background:var(--white);padding:14px;box-shadow:0 0 0 1px var(--rule),0 40px 80px -50px rgba(24,43,74,.5)}
.mat::before{content:"";position:absolute;inset:6px;border:1px solid var(--rule-g);pointer-events:none}
.mat img{position:relative;width:100%;height:auto}
.curtain img{clip-path:inset(0 0 100% 0);transition:clip-path 1.8s var(--ease) .15s}
.curtain.in img{clip-path:inset(0)}
.cap{margin:16px 0 0;font:500 .7rem/1.6 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}

/* ---------- Abschnitte ---------- */
.usp{background:var(--navy)}
.usp .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.usp-i{padding:50px 34px 54px;border-left:1px solid rgba(227,192,120,.16)}
.usp-i:first-child{border-left:0;padding-left:0}
.usp-i h3{font-size:1.45rem;color:#F6F1E7;margin:20px 0 10px;line-height:1.2}
.usp-i p{margin:0;font-size:.93rem;color:#AEB8C9;line-height:1.65}
.dia{display:block;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.sec{padding:140px 0}
.sec.alt{background:var(--paper2)}
.sec.tight{padding-top:0}
.head{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;margin-bottom:76px}
.head .lab{position:relative;padding-top:20px}
.head .lab::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease) .2s}
.head.in .lab::before{transform:scaleX(1)}
.head h2{font-size:clamp(2.4rem,4.2vw,3.7rem);max-width:17ch}
.head p{margin:26px 0 0;max-width:60ch}
.grid4{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}
.cell{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 20px;padding:52px 48px 56px 0;border-bottom:1px solid var(--rule)}
.cell:nth-child(even){padding:52px 0 56px 48px;border-left:1px solid var(--rule)}
.cell .num{font:italic 500 1.5rem/1.2 var(--serif);color:var(--gold-d)}
.cell h3{font-size:1.85rem;margin:0 0 12px}
.cell p{margin:0}

/* Navy-Tafeln */
.panel{position:relative;background:var(--navy);color:#B8C1D1;padding:110px 72px 120px;text-align:center;overflow:hidden}
.panel::before{content:"";position:absolute;inset:14px;border:1px solid rgba(227,192,120,.32);pointer-events:none;z-index:3}
.k{position:absolute;z-index:3;width:7px;height:7px;background:var(--gold-l);transform:rotate(45deg)}
.k1{top:11px;left:11px}.k2{top:11px;right:11px}.k3{bottom:11px;left:11px}.k4{bottom:11px;right:11px}
.panel .lab,.panel .lab .no{color:var(--gold-l)}
.panel h2{color:#F6F1E7;font-size:clamp(2.3rem,4vw,3.5rem);margin:24px auto 20px;max-width:20ch}
.panel h2 .it{color:var(--gold-l)}
.panel p{max-width:56ch;margin:0 auto}
.digital{padding:0 0 140px}
.screen-wrap{perspective:1600px;margin-top:66px}
.screen{width:min(900px,100%);margin:0 auto;padding:7px;background:linear-gradient(160deg,rgba(227,192,120,.6),rgba(227,192,120,.18) 50%,rgba(227,192,120,.45));transform:rotateX(var(--rx,10deg));transform-origin:50% 0;box-shadow:0 50px 90px -45px rgba(0,0,0,.7)}
.screen img{width:100%;height:auto}

/* Leistungen (Startseite) */
.svc{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.svc a{position:relative;display:flex;flex-direction:column;min-height:360px;padding:40px 38px 44px;border-left:1px solid var(--rule);transition:background .6s var(--ease)}
.svc a:first-child{border-left:0}
.svc a:hover{background:var(--white)}
.svc .tag{font:500 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-t)}
.svc svg{position:absolute;right:30px;top:30px;width:120px;height:auto;opacity:.55;transition:opacity .6s}
.svc a:hover svg{opacity:1}
.line-art *{fill:none;stroke:var(--gold);stroke-width:1.4}
.svc h3{font-size:2rem;margin:auto 0 14px;padding-top:110px}
.svc p{margin:0 0 28px}
.more{position:relative;align-self:flex-start;font:500 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--navy);padding-bottom:8px}
.more::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform-origin:left;transform:scaleX(.3);transition:transform .6s var(--ease)}
.svc a:hover .more::after{transform:scaleX(1)}
.center{display:flex;justify-content:center;margin-top:60px}
#leistungen,#einzugsgebiet{scroll-margin-top:100px}

/* Über uns (Startseite) */
.quote{margin:120px auto;max-width:24ch;text-align:center;font:italic 500 clamp(2rem,3.6vw,3.1rem)/1.2 var(--serif);color:var(--navy)}
.quote .q{color:var(--gold)}
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:start}
.about h2{font-size:clamp(2.2rem,3.8vw,3.3rem);margin:22px 0 26px}
.checks{list-style:none;margin:30px 0 40px;padding:0;display:grid;gap:14px}
.checks li{position:relative;padding-left:28px;color:var(--navy)}
.checks li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.portrait{max-width:420px;margin-left:auto}
.portrait img{aspect-ratio:1;object-fit:cover}
.who{margin-top:20px}
.who b{display:block;font:600 1.6rem/1.2 var(--serif);color:var(--navy)}
.who span{font:500 .7rem/1.6 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t)}
.final{padding:140px 0}
.final .panel h2{max-width:16ch;font-size:clamp(2.4rem,4.6vw,4rem)}
.final .row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:40px}

/* ---------- Karte / Radar ---------- */
.k-wrap{position:relative;background:var(--navy);box-shadow:0 50px 100px -60px rgba(24,43,74,.8)}
.k-wrap::before{content:"";position:absolute;inset:14px;border:1px solid rgba(227,192,120,.32);pointer-events:none;z-index:6}
.k-map{position:relative;aspect-ratio:1126.7/874.5;overflow:hidden;--hx:50%;--hy:50%;--u:1;touch-action:pan-y}
.k-svg{position:absolute;inset:0;width:100%;height:100%;display:block;--u:1}
.k-gr{fill:none;stroke:rgba(246,241,231,.055);stroke-width:1;vector-effect:non-scaling-stroke}
.k-land{fill:var(--navy-l)}
#k-schraffur line{stroke:rgba(227,192,120,.16);stroke-width:1.1}
.k-fokus{fill:url(#k-schraffur);opacity:0;transition:opacity 1.6s ease 2.4s}
.k-scan .k-fokus,.k-done .k-fokus{opacity:1}
.k-kreis{fill:none;stroke:rgba(227,192,120,.34);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.k-fl path{fill:none;stroke:rgba(160,190,225,.36);stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.k-fl .saar{stroke:rgba(178,205,235,.66);stroke-width:2}
.k-umriss{fill:none;stroke:var(--gold-l);stroke-width:1.3;stroke-opacity:.85;vector-effect:non-scaling-stroke}
.k-radar circle{fill:none;stroke:rgba(227,192,120,.42);stroke-width:1;stroke-dasharray:2 5;vector-effect:non-scaling-stroke}
.k-kreuz{fill:none;stroke:rgba(227,192,120,.16);stroke-width:1;vector-effect:non-scaling-stroke}
.kd{transform-box:fill-box;transform-origin:center;stroke:transparent;stroke-width:12px;vector-effect:non-scaling-stroke;cursor:pointer;--o:1}
.kd.c1{r:calc(var(--u) * 5.2px);fill:var(--gold-l)}
.kd.c2{r:calc(var(--u) * 3.7px);fill:#F6F1E7}
.kd.c3{r:calc(var(--u) * 2.9px);fill:#F6F1E7;--o:.82}
.kd.c4{r:calc(var(--u) * 1.7px);fill:var(--gold-l);--o:.62;stroke-width:8px}
.kd.c5{r:calc(var(--u) * 1.5px);fill:var(--gold-l);--o:.5;stroke-width:8px}
.kd.c6{r:calc(var(--u) * 1.25px);fill:var(--gold-l);--o:.42;stroke-width:8px}
.kd{opacity:var(--o)}
.k-small:not(.k-l2) .kd.c5,.k-small:not(.k-l2) .kd.c6{display:none}
.k-small:not(.k-l2) .kd.c4{--o:.45}
.k-idle .kd{opacity:.16}
.k-scan .kd{animation:ping .9s ease-out var(--d,0s) both}
@keyframes ping{0%{opacity:.16;transform:scale(1)}22%{opacity:1;transform:scale(2.3)}100%{opacity:var(--o);transform:scale(1)}}
.kd.hl{fill:#FFF3D1;opacity:1!important;animation:none!important;transform:scale(1.6)}
.k-hub .halo{fill:rgba(227,192,120,.16);stroke:rgba(227,192,120,.5);stroke-width:1;vector-effect:non-scaling-stroke}
.k-hub .dmd{fill:var(--gold-l);stroke:#FFF3D1;stroke-width:1;vector-effect:non-scaling-stroke}
.k-hub{cursor:pointer}
.k-ver line{stroke:var(--gold-l);stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:kline .7s var(--ease) forwards}
@keyframes kline{to{stroke-dashoffset:0}}
.kl{display:none;paint-order:stroke;stroke:var(--navy-l);stroke-width:calc(var(--u) * 3.2px);stroke-linejoin:round;pointer-events:none;transition:opacity .35s}
.kl.on{display:block}
.k-moving .kl{opacity:0}
.kl.l0{font-family:var(--serif);font-weight:600;fill:var(--gold-l)}
.kl.l1{font-family:var(--serif);font-weight:600;fill:var(--gold-l)}
.kl.l2{font-family:var(--serif);font-weight:600;fill:#F6F1E7}
.kl.l3{font-family:var(--sans);fill:rgba(246,241,231,.82)}
.kl.l4,.kl.l5,.kl.l6{font-family:var(--sans);fill:rgba(233,212,160,.78)}
.kl.l5{font-style:normal;fill:rgba(233,212,160,.66)}
.kl.kr{font-family:var(--sans);font-weight:500;letter-spacing:.22em;fill:rgba(227,192,120,.42);stroke:none}
.kl.riv{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:.08em;fill:rgba(178,205,235,.9)}
.kl.nb{font-family:var(--sans);font-weight:500;letter-spacing:.32em;fill:rgba(246,241,231,.3);stroke:none}
.kl.ring{font-family:var(--sans);font-weight:500;letter-spacing:.06em;fill:rgba(227,192,120,.75)}
.kl.gr{font-family:var(--sans);letter-spacing:.04em;fill:rgba(246,241,231,.34);stroke:none}
.k-sweep{position:absolute;left:var(--hx);top:var(--hy);width:340%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,rgba(233,199,123,0) 0deg,rgba(233,199,123,0) 285deg,rgba(233,199,123,.07) 325deg,rgba(240,212,145,.3) 359.3deg,rgba(255,240,200,0) 360deg);pointer-events:none;opacity:0;z-index:2;mix-blend-mode:screen}
.k-scan .k-sweep{animation:sweep 3s linear both}
@keyframes sweep{0%{opacity:0;transform:translate(-50%,-50%) rotate(0deg)}5%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(360deg)}}
.k-tip{position:absolute;z-index:7;min-width:150px;max-width:240px;padding:12px 14px 11px;background:var(--white);color:var(--text);box-shadow:0 0 0 1px var(--rule-g),0 16px 30px -12px rgba(0,0,0,.5);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;font-size:.8rem;line-height:1.45}
.k-tip.on{opacity:1;transform:none}
.k-tip b{display:block;font:600 1.15rem/1.15 var(--serif);color:var(--navy);margin-bottom:4px}
.k-tip span{display:block;color:var(--muted)}
.k-tip em{display:block;margin-top:4px;font-style:normal;color:var(--gold-t);font-weight:500}
.k-box{position:absolute;z-index:5}
.k-tools{left:32px;top:30px;display:flex;align-items:stretch;background:rgba(18,33,58,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 0 0 1px rgba(227,192,120,.28)}
.k-tools button{background:none;border:0;color:#C9D1DF;font:500 .64rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:13px 15px;cursor:pointer;transition:color .3s,background .3s}
.k-tools button+button{box-shadow:-1px 0 0 rgba(227,192,120,.28)}
.k-tools button[aria-pressed="true"]{color:var(--navy);background:var(--gold-l)}
.k-tools button:hover{color:#fff}
.k-tools button[aria-pressed="true"]:hover{color:var(--navy)}
.k-strip{position:relative;z-index:5;display:grid;grid-template-columns:1fr 1.35fr .9fr;border-top:1px solid rgba(227,192,120,.24);color:#C9D1DF;font-size:.8rem;line-height:1.5}
.k-strip>div{padding:34px 40px 42px}
.k-strip>div+div{border-left:1px solid rgba(227,192,120,.14)}
.k-strip h4{font:500 .64rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-l);margin:0 0 16px}
.k-strip ul{list-style:none;margin:0;padding:0}
.k-legend ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
.k-legend li{display:flex;align-items:center;gap:12px;padding:3px 0}
.k-legend li i{flex:0 0 18px;height:12px;display:grid;place-items:center}
.k-legend li i::before{content:"";display:block;border-radius:50%}
.lg-h::before{width:9px!important;height:9px!important;border-radius:0!important;background:var(--gold-l);transform:rotate(45deg)}
.lg-f::before{width:10px;height:10px;background:var(--gold-l)}
.lg-s::before{width:7px;height:7px;background:#F6F1E7}
.lg-g::before{width:5px;height:5px;background:rgba(246,241,231,.82)}
.lg-o::before{width:3px;height:3px;background:var(--gold-l)}
.lg-r::before{width:16px!important;height:16px!important;border:1px dashed rgba(227,192,120,.7)}
.lg-x::before{width:16px!important;height:11px!important;border-radius:0!important;background:repeating-linear-gradient(45deg,rgba(227,192,120,.5) 0 1px,transparent 1px 4px);box-shadow:0 0 0 1px rgba(227,192,120,.34)}
.lg-w::before{width:16px!important;height:2px!important;border-radius:1px!important;background:rgba(178,205,235,.8)}
.k-focus li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(227,192,120,.14);cursor:default;outline-offset:2px}
.k-focus li:first-child{border-top:0;padding-top:0}
.k-focus li b{font:600 1.15rem/1.2 var(--serif);color:#F6F1E7;display:flex;align-items:center;gap:10px}
.k-focus li b::before{content:"";width:6px;height:6px;background:var(--gold-l);transform:rotate(45deg)}
.k-focus li span{font-size:.74rem;letter-spacing:.06em;color:var(--gold-l)}
.k-focus li:hover b,.k-focus li:focus b{color:var(--gold-l)}
.k-scale .row{display:flex;align-items:center;gap:18px}
.k-scale svg{width:52px;height:52px;flex:0 0 52px}
.k-scale .bar{display:grid;gap:7px;font-size:.66rem;letter-spacing:.14em;color:#C9D1DF;text-transform:uppercase}
.k-scale .bar i{display:block;height:6px;width:var(--sb,100px);border:1px solid rgba(227,192,120,.8);border-top:0;transition:width .4s}
.k-scale p{margin:18px 0 0;font-size:.74rem;color:#AEB8C9}
.k-src{margin:14px 0 0!important;font-size:.66rem!important;color:rgba(201,209,223,.62)!important}
.k-src a{text-decoration:underline;text-underline-offset:2px}
.reg{margin-top:34px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.reg summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:22px 0;font:600 1.35rem/1.2 var(--serif);color:var(--navy)}
.reg summary::-webkit-details-marker{display:none}
.reg summary span{font:500 .68rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t)}
.reg[open] summary span .plus{transform:rotate(45deg)}
.reg .plus{display:inline-block;margin-left:10px;font-size:1rem;transition:transform .4s}
.reg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:6px 0 30px}
.reg-grid>div{padding:18px 26px 18px 0}
.reg-grid h4{font:500 .66rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.reg-grid ul{list-style:none;margin:0;padding:0;columns:2;column-gap:20px;font-size:.92rem;line-height:1.9}
.reg-grid li.st{font-family:var(--serif);font-weight:600;font-size:1.06rem;color:var(--navy)}
.reg-grid li.fk{color:var(--gold-d)}
.reg-note{margin:0 0 26px;font-size:.84rem;color:var(--muted)}

/* ---------- Über uns: Zeitleiste ---------- */
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.tl::before{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 2.2s var(--ease) .1s}
.tl.in::before{transform:scaleX(1)}
.tl li{position:relative;padding:44px 40px 0 0}
.tl li::before{content:"";position:absolute;top:0;left:0;width:9px;height:9px;background:var(--paper2);border:1px solid var(--gold);transform:rotate(45deg)}
.tl li:last-child::before{background:var(--gold)}
.tl .tag{font:500 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-t)}
.tl h3{font-size:1.85rem;margin:14px 0 12px}
.tl p{margin:0}
.vision{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:start}
.vision h2{font-size:clamp(2.2rem,3.8vw,3.3rem);margin:22px 0 26px}

/* ---------- Leistungen: Detail ---------- */
.lv{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px}
.lv-side .num{display:block;font:italic 500 4.4rem/1 var(--serif);color:var(--gold-d);margin:18px 0 18px}
.lv-side svg{width:150px;height:auto;opacity:.8}
.lv h2{font-size:clamp(2.3rem,4vw,3.5rem);max-width:18ch}
.lv .intro{margin:24px 0 0;max-width:62ch}
.lists{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:50px;background:var(--white);box-shadow:0 0 0 1px var(--rule)}
.lists>div{padding:38px 40px 34px}
.lists>div+div{border-left:1px solid var(--rule)}
.lists h3{font-size:1.5rem;margin-bottom:18px}
.lists ul{list-style:none;margin:0;padding:0}
.lists li{position:relative;padding:11px 0 11px 26px;border-top:1px solid var(--rule)}
.lists li:first-child{border-top:0}
.lists li::before{content:"";position:absolute;left:2px;top:1.32em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.result{margin:44px 0 0;padding:28px 0 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:baseline}
.result b{font:500 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-t)}
.result span{font:italic 500 clamp(1.4rem,2.2vw,1.8rem)/1.3 var(--serif);color:var(--navy)}

/* ---------- Kontakt ---------- */
.kontakt{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.kontakt h2{font-size:clamp(2.2rem,3.8vw,3.2rem);margin:22px 0 22px}
.card-v{margin-top:36px;background:var(--white);padding:10px 34px;box-shadow:0 0 0 1px var(--rule)}
.card-v dl{margin:0}
.card-v div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--rule)}
.card-v div:first-child{border-top:0}
.card-v dt{font:500 .66rem/1.8 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t)}
.card-v dd{margin:0;color:var(--navy)}
.card-v dd a{border-bottom:1px solid var(--rule-g)}
.card-v dd a:hover{color:var(--gold-d)}
.k-links{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:26px}
.link-u{font:500 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--navy);padding-bottom:7px;border-bottom:1px solid var(--gold)}
.social{display:flex;gap:10px}
.social a{display:grid;place-items:center;width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--rule-g);color:var(--gold-d);transition:background .3s,color .3s}
.social a:hover{background:var(--navy);color:var(--gold-l)}
.social svg{width:17px;height:17px}
.form{position:relative;background:var(--white);padding:50px 48px 46px;box-shadow:0 0 0 1px var(--rule),0 40px 80px -50px rgba(24,43,74,.45)}
.form::before{content:"";position:absolute;inset:8px;border:1px solid var(--rule-g);pointer-events:none}
.form h2{font-size:clamp(2rem,3vw,2.6rem);margin:18px 0 10px}
.form .hint{font-size:.86rem;color:var(--muted);margin-bottom:26px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.field{position:relative;margin-bottom:20px}
.field label{display:block;font:500 .66rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.req{color:var(--gold-d)}
.field input,.field textarea{width:100%;font:400 1rem/1.5 var(--sans);color:var(--navy);background:transparent;border:0;border-bottom:1px solid rgba(24,43,74,.3);padding:10px 0;border-radius:0;transition:border-color .3s}
.field textarea{min-height:130px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#9AA0AC}
.field input:focus,.field textarea:focus{outline:0;border-bottom-color:var(--gold)}
.field.err input,.field.err textarea{border-bottom-color:#B3473F}
.field-error{display:none;margin-top:6px;font-size:.8rem;color:#B3473F}
.field.err .field-error{display:block}
.consent{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;margin:8px 0 26px;font-size:.88rem;line-height:1.6}
.consent input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--navy)}
.consent a{border-bottom:1px solid var(--rule-g)}
.consent.err label{color:#B3473F}
.form .btn{width:100%}
.form-status{margin:18px 0 0;font-size:.92rem;min-height:1.4em}
.form-status.success{color:#2F6B46;font-family:var(--serif);font-size:1.2rem;font-style:italic}
.form-status.error{color:#B3473F}
.form-status a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.form-status a[href^="tel:"]{white-space:nowrap}
.anfahrt{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;text-align:left;padding:0}
.anfahrt .txt{padding:70px 56px}
.anfahrt h3{color:#F6F1E7;font-size:clamp(1.9rem,3vw,2.5rem);margin:20px 0 16px}
.anfahrt p{margin:0 0 24px;max-width:46ch}
.anfahrt .note{font-size:.8rem;color:#8F9BB0;margin:18px 0 0}
.anfahrt .note a{color:var(--gold-l);border-bottom:1px solid rgba(227,192,120,.4)}
.map-embed{position:relative;min-height:420px;background:radial-gradient(circle at 60% 40%,#24406B,#162844);overflow:hidden}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.8)}
.map-embed .pin{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold-l)}
.map-embed .pin svg{width:120px;height:120px;opacity:.5}
.map-pin-label{position:absolute;left:18px;bottom:18px;z-index:2;background:var(--white);color:var(--navy);padding:10px 14px;font:600 1rem/1 var(--serif);box-shadow:0 0 0 1px var(--rule-g)}

/* ---------- Partner ---------- */
.net{position:relative;aspect-ratio:1672/941;background:radial-gradient(80% 95% at 50% 50%,#22395E 0%,var(--navy) 58%,var(--navy-d) 100%);overflow:hidden}
.net::before{content:"";position:absolute;inset:14px;border:1px solid rgba(227,192,120,.32);pointer-events:none;z-index:2}
.net svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.net .ax{stroke:rgba(227,192,120,.13);stroke-width:1;vector-effect:non-scaling-stroke}
.net .rg{fill:none;stroke:rgba(227,192,120,.42);stroke-width:1;stroke-dasharray:2 5;vector-effect:non-scaling-stroke;animation:net-fade 1.2s .3s ease both}
.net .rg.f{stroke:rgba(227,192,120,.2)}
.net .ch path{fill:none;stroke:rgba(227,192,120,.24);stroke-width:1;vector-effect:non-scaling-stroke}
.net .ch{animation:net-fade 1.2s 2.2s ease both}
.net .sp{fill:none;stroke:var(--gold-l);stroke-opacity:.72;stroke-width:1.1;vector-effect:non-scaling-stroke;transform-box:view-box;transform-origin:50% 50%;animation:net-grow 1s var(--d,0s) var(--ease) both}
.net .nd{transform-box:fill-box;transform-origin:center;animation:net-pop .7s calc(var(--d,0s) + .7s) var(--ease) both}
.net .nd .h{fill:rgba(227,192,120,.13);stroke:rgba(227,192,120,.45);stroke-width:1;vector-effect:non-scaling-stroke}
.net .nd .dm{fill:var(--gold-l)}
.net .nd.k3 .dm{fill:rgba(227,192,120,.7)}
.net .core{fill:var(--navy-d);stroke:var(--gold-l);stroke-width:1.2;vector-effect:non-scaling-stroke}
.net .core-h{fill:none;stroke:rgba(227,192,120,.4);stroke-width:1;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}
@keyframes net-fade{from{opacity:0}}
@keyframes net-grow{from{transform:scale(0)}}
@keyframes net-pop{from{opacity:0;transform:scale(.2)}}
.pt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.pt-tile{position:relative;display:grid;place-items:center;aspect-ratio:3/2;background:var(--white);box-shadow:0 0 0 1px var(--rule);transition:box-shadow .6s var(--ease)}
.pt-tile::before{content:"";position:absolute;inset:7px;border:1px solid var(--rule-g);opacity:.55;transition:opacity .6s;pointer-events:none}
.pt-tile img{position:relative;width:var(--w,60%);height:auto;max-height:50%;object-fit:contain}
.pt-tile:hover,.pt-tile:focus-visible{box-shadow:0 0 0 1px var(--gold),0 30px 56px -38px rgba(24,43,74,.55)}
.pt-tile:hover::before,.pt-tile:focus-visible::before{opacity:1}
@media (max-width:1000px){
  .net::before{inset:10px}
}

/* ---------- Rechtstexte ---------- */
.legal-wrap{display:grid;grid-template-columns:250px minmax(0,760px);gap:70px;justify-content:start}
.toc{position:sticky;top:130px;align-self:start;font-size:.86rem}
.toc h4{font:500 .66rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t);margin-bottom:14px;padding-top:18px;border-top:1px solid var(--gold)}
.toc ol{list-style:none;margin:0;padding:0}
.toc a{display:block;padding:6px 0;color:var(--navy);border-bottom:1px solid var(--rule);line-height:1.4}
.toc a:hover{color:var(--gold-d)}
.legal{color:var(--text);font-size:1rem;line-height:1.8}
.legal h2{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:56px 0 16px;scroll-margin-top:120px}
.legal h2:first-child{margin-top:0}
.legal h3{font-size:1.4rem;margin:34px 0 12px}
.legal h4{font:500 .72rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t);margin:28px 0 10px}
.legal a{color:var(--navy);border-bottom:1px solid var(--rule-g);word-break:break-word}
.legal a:hover{color:var(--gold-d)}
.legal ul,.legal ol{padding-left:22px}
.legal li{margin-bottom:6px}
.legal strong{color:var(--navy);font-weight:600}

/* ---------- Fuß ---------- */
.foot-w{background:var(--navy);color:#AEB8C9;font-size:.95rem;padding-bottom:var(--f)}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:56px;padding:96px 0 70px}
.f-logo{width:200px;margin-bottom:22px}
.f-brand p{font-size:.92rem;line-height:1.75;max-width:40ch}
.f-brand .social{margin-top:22px}
.f-brand .social a{box-shadow:inset 0 0 0 1px rgba(227,192,120,.35);color:var(--gold-l)}
.f-brand .social a:hover{background:var(--gold-l);color:var(--navy)}
.foot h4{font:500 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-l);margin-bottom:20px}
.foot ul{list-style:none;margin:0;padding:0;line-height:2.1}
.foot a:hover{color:var(--gold-l)}
.foot .addr{margin-bottom:16px;line-height:1.8}
.f-bar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 0 34px;border-top:1px solid rgba(227,192,120,.16);font-size:.82rem;letter-spacing:.04em}
.f-bar a:hover{color:var(--gold-l)}

/* ---------- Cookie-Hinweis ---------- */
.cookie{position:fixed;left:36px;bottom:36px;z-index:260;width:min(420px,calc(100% - 72px));background:var(--white);padding:22px 24px 20px;box-shadow:0 0 0 1px var(--rule-g),0 24px 50px -20px rgba(24,43,74,.45);opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.cookie.show{opacity:1;transform:none}
.cookie p{margin:0 0 16px;font-size:.88rem;line-height:1.6}
.cookie p a{border-bottom:1px solid var(--rule-g)}
.cookie .row{display:flex;gap:10px}
.cookie .btn{height:44px;padding:0 20px;flex:1}

/* ---------- Einblenden ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}

/* ---------- Intro: Die Tür öffnet sich ---------- */
#intro{display:none}
html.intro{overflow:hidden}
html.intro #intro{position:fixed;inset:0;z-index:400;display:grid;place-items:center;background:radial-gradient(1100px 700px at 50% 44%,#FFFDF8,#F1EADC 72%);animation:in-end .8s 3.25s cubic-bezier(.4,0,.2,1) both}
@keyframes in-end{to{opacity:0;visibility:hidden}}
html.intro .hero-in>*{animation-play-state:paused}
.in-scene{display:flex;flex-direction:column;align-items:center;--dw:clamp(140px,19vh,230px)}
.in-crest{width:calc(var(--dw) * .55);margin-bottom:18px;animation:in-away .4s 2.35s ease forwards}
.in-crest svg{display:block;width:100%;height:auto;overflow:visible}
#intro .i-b g{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);animation:igrow .7s var(--ease) forwards}
#intro .i-r{opacity:0;transform:translateY(-140px);animation:idrop .7s .75s cubic-bezier(.3,1.5,.5,1) forwards}
#intro .i-w{opacity:0;animation:in-fade .35s 1.15s forwards}
#intro .i-w path{animation:wlight .8s 1.55s ease forwards}
#intro .i-z{opacity:0;transform:scale(.85);transform-box:fill-box;transform-origin:center;animation:izoom .6s .95s var(--ease) forwards}
#intro .i-o{clip-path:inset(0 100% 0 0);animation:iring .9s 1.1s var(--ease) forwards}
@keyframes igrow{to{transform:scaleY(1)}}
@keyframes idrop{to{opacity:1;transform:none}}
@keyframes izoom{to{opacity:1;transform:none}}
@keyframes iring{to{clip-path:inset(0 0 0 0)}}
@keyframes wlight{to{fill:#F2C25C}}
.portal{position:relative;width:var(--dw);aspect-ratio:240/520;transform-origin:50% 61.5%;animation:in-zoom 1.15s 2.5s cubic-bezier(.6,0,.3,1) both}
.portal::before{content:"";position:absolute;left:-45%;right:-45%;top:0;bottom:-8%;background:radial-gradient(closest-side,rgba(233,199,123,.42),rgba(233,199,123,0));opacity:0;animation:in-fade 1.2s 1.35s ease both}
@keyframes in-zoom{to{transform:scale(10)}}
.portal svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pf .draw{fill:none;stroke:var(--gold-d);stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;animation:in-draw 1.15s .1s cubic-bezier(.6,.05,.3,1) both}
.pf .draw.thin{stroke-width:.8;stroke:var(--gold)}
@keyframes in-draw{to{stroke-dashoffset:0}}
.pf .glass{fill:#182B4A;opacity:0;animation:in-fade .6s .5s ease both}
.pf .glow{opacity:0;animation:in-fade .9s 1.15s ease both}
.pf .mull{fill:none;stroke:rgba(227,192,120,.95);stroke-width:1.1;opacity:0;animation:in-fade .5s .75s ease both}
.pf .key{fill:var(--gold);opacity:0;animation:in-fade .5s .95s ease both}
.doorway{position:absolute;left:12.5%;top:26.923%;width:75%;height:69.231%;perspective:520px}
.door-in{position:absolute;inset:0;background:radial-gradient(75% 52% at 50% 50%,#FFFCF4 0%,#FBF0D2 32%,#EED39A 58%,#D2AD5C 80%,#9C7A2C 100%);opacity:0;animation:in-fade .3s 1.7s ease both}
.doorway::after{content:"";position:absolute;left:50%;top:3%;bottom:3%;width:2px;margin-left:-1px;background:linear-gradient(rgba(255,231,174,0),#FFE7AE 30%,#FFE7AE 70%,rgba(255,231,174,0));box-shadow:0 0 12px 2px rgba(242,194,92,.7);opacity:0;animation:in-fade .5s 1.3s ease both,in-away .25s 1.9s ease forwards}
.leaf{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(180deg,#22395E,#182B4A 55%,#132440);box-shadow:inset 0 0 0 1px rgba(227,192,120,.4);opacity:0;animation:in-fade .7s .45s ease both,leaf-l 1.2s 1.8s cubic-bezier(.45,0,.2,1) both}
.leaf.l{left:0;transform-origin:0 50%}
.leaf.r{right:0;transform-origin:100% 50%;animation-name:in-fade,leaf-r}
@keyframes leaf-l{to{transform:rotateY(82deg)}}
@keyframes leaf-r{to{transform:rotateY(-82deg)}}
.leaf i{position:absolute;left:17%;right:17%;border:1px solid rgba(227,192,120,.5);box-shadow:inset 0 0 0 4px rgba(10,22,40,.32)}
.leaf .p1{top:7%;height:49%}.leaf .p2{top:62%;height:30%}
.leaf b{position:absolute;top:55%;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#F7DE9E,#A07828)}
.leaf.l b{right:8%}.leaf.r b{left:8%}
.in-wel{margin:26px 0 0;text-align:center;animation:in-up .9s .7s var(--ease) both,in-away .4s 2.3s ease forwards}
.in-wel span{display:block;font:500 .68rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold-t);margin-bottom:12px}
.in-wel strong{font:600 clamp(1.45rem,2.4vw,2.05rem)/1.1 var(--serif);color:var(--navy)}
@keyframes in-fade{from{opacity:0}to{opacity:1}}
@keyframes in-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes in-away{to{opacity:0}}
.in-skip{position:absolute;right:38px;bottom:34px;background:none;border:0;border-bottom:1px solid var(--rule);padding:10px 2px;font:500 .64rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.in-skip:hover{color:var(--navy);border-bottom-color:var(--gold)}
#intro.out{animation:in-end .45s both!important}

/* ---------- Anpassungen ---------- */
/* Startbild: Schriftzug an der Wand nie anschneiden (ab 1366 px unverändert wie freigegeben) */
@media (min-width:1251px) and (max-width:1365px){
  .nav{gap:24px}
  .nav .btn+.btn{margin-left:-12px}
  .hero-bg img{object-position:61% 40%}
  .hero-bg .veil-l{background:linear-gradient(90deg,rgba(246,241,231,.97) 0%,rgba(246,241,231,.95) 40%,rgba(246,241,231,.8) 49%,rgba(246,241,231,.25) 57%,rgba(246,241,231,0) 64%)}
}
@media (max-width:1250px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .hero-bg{display:none}
  .hero{min-height:0;padding:150px 0 90px}
  .hero-ph-m{display:block;margin-top:56px}
  .hero-ph-m img{aspect-ratio:16/9;object-fit:cover;object-position:95% 45%}
}
@media (max-width:1100px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .hero{padding:130px 0 80px}
  .hero-ph-m img{aspect-ratio:4/3;object-position:95% 50%}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:1000px){
  :root{--f:8px}
  .wrap{width:min(1180px,100% - 64px)}
  .top .wrap{width:min(1180px,100% - 48px)}
  .ribbon{right:12px;width:9px}
  .frame::before{inset:4px}
  .frame i{width:5px;height:5px}
  .frame .d1{top:2px;left:2px}.frame .d2{top:2px;right:2px}.frame .d3{bottom:2px;left:2px}.frame .d4{bottom:2px;right:2px}
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .top-in{height:72px}
  .logo img{height:42px}
  .sec,.final{padding:96px 0}
  .digital{padding-bottom:96px}
  .head,.lv{grid-template-columns:1fr;gap:22px;margin-bottom:48px}
  .lv-side .num{font-size:3rem;margin:10px 0 0}
  .lv-side svg{display:none}
  .usp .wrap{grid-template-columns:1fr 1fr}
  .usp-i{padding:38px 22px 40px}
  .usp-i:nth-child(odd){border-left:0;padding-left:0}
  .usp-i:nth-child(-n+2){border-bottom:1px solid rgba(227,192,120,.16)}
  .grid4{grid-template-columns:1fr}
  .cell,.cell:nth-child(even){padding:38px 0 40px;border-left:0}
  .svc{grid-template-columns:1fr}
  .svc a{border-left:0;border-top:1px solid var(--rule);min-height:0;padding:36px 0 40px}
  .svc a:first-child{border-top:0}
  .svc a:hover{background:transparent}
  .svc h3{padding-top:70px}
  .svc svg{right:0;top:30px;width:96px}
  .about,.vision,.kontakt,.ph-in{grid-template-columns:minmax(0,1fr);gap:50px}
  .ph{padding:130px 0 80px}
  .portrait{margin-left:0}
  .panel{padding:80px 26px 86px}
  .panel::before{inset:10px}
  .k1{top:7px;left:7px}.k2{top:7px;right:7px}.k3{bottom:7px;left:7px}.k4{bottom:7px;right:7px}
  .quote{margin:80px auto}
  .tl{grid-template-columns:1fr;padding-left:28px}
  .tl::before{left:4px;right:auto;top:0;bottom:0;width:1px;height:auto;transform:scaleY(0);transform-origin:top}
  .tl.in::before{transform:scaleY(1)}
  .tl li{padding:0 0 44px 10px}
  .tl li::before{left:-28px;top:6px}
  .lists{grid-template-columns:1fr}
  .lists>div+div{border-left:0;border-top:1px solid var(--rule)}
  .result{grid-template-columns:1fr;gap:12px}
  .anfahrt{grid-template-columns:1fr}
  .anfahrt .txt{padding:60px 30px 40px}
  .map-embed{min-height:340px}
  .legal-wrap{grid-template-columns:1fr;gap:40px}
  .toc{position:relative;top:0}
  .reg-grid{grid-template-columns:1fr 1fr}
  /* Karte: Werkzeuge über, Leiste unter der Karte */
  .k-wrap{display:flex;flex-direction:column}
  .k-wrap::before{inset:10px}
  .k-tools{position:relative;left:auto;top:auto;order:-1;margin:24px 22px 14px;align-self:flex-start}
  .k-strip{grid-template-columns:1fr}
  .k-strip>div{padding:26px 24px 28px}
  .k-strip>div+div{border-left:0;border-top:1px solid rgba(227,192,120,.14)}

}
@media (max-width:1000px){
  .pt-grid{gap:16px}
  .pt-tile img{width:min(86%,calc(var(--w,60%) * 1.15))}
}
@media (max-width:700px){
  .pt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .pt-tile::before{inset:5px}
  .pt-tile img{width:min(88%,calc(var(--w,60%) * 1.2))}
}
@media (max-width:560px){
  body{font-size:16px}
  .m-cta .btn{flex:1 1 100%}
  .hero h1{font-size:2.65rem}
  .ph h1{font-size:2.4rem}
  .crest{width:104px}
  .usp .wrap{grid-template-columns:1fr}
  .usp-i,.usp-i:nth-child(odd){border-left:0;padding:30px 0;border-bottom:1px solid rgba(227,192,120,.16)}
  .usp-i:last-child{border-bottom:0}
  .cta .btn,.final .btn{width:100%}
  .btn{padding:0 22px}
  .cell{grid-template-columns:48px minmax(0,1fr)}
  .lab-line::before{width:100%}
  .form{padding:40px 24px 34px}
  .f-row{grid-template-columns:1fr}
  .card-v{padding:6px 22px}
  .card-v div{grid-template-columns:1fr;gap:4px}
  .jump a,.jump a+a{flex:1 1 100%;padding-left:0;border-left:0}
  .reg-grid{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr;gap:40px;padding:70px 0 50px}
  .cookie{left:16px;right:16px;bottom:16px;width:auto}
  .k-legend ul{grid-template-columns:1fr}
  .k-scale svg{width:36px;height:36px}
  .in-skip{right:22px;bottom:22px}
  .k-tools{align-self:stretch}
  .k-tools button{flex:1 1 auto;padding:12px 6px;letter-spacing:.12em;white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-in>*,.ph-txt>*,.ph-img,.rv{opacity:1!important;transform:none!important}
  .curtain img{clip-path:none!important}
  .screen{--rx:0deg!important}
  .k-idle .kd{opacity:var(--o)!important}
  .k-fokus{opacity:1}
}

/* ---------- SEO-Phase 1: Leistungsseiten (Ausgangslage, Ablauf in 4 Schritten, Fragen, weitere Leistungen) ---------- */
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--rule)}
.duo>*{padding:46px 48px 50px 0;border-bottom:1px solid var(--rule)}
.duo>:nth-child(even){padding:46px 0 50px 48px;border-left:1px solid var(--rule)}
.duo h3{font-size:1.75rem;margin:0 0 12px}
.duo h3::before{content:"";display:block;width:34px;height:1px;background:var(--gold);margin-bottom:22px}
.duo p{margin:0}
.tl.t4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tl.t4 li{padding-right:32px}
.more{margin:34px 0 0}
.faq{border-top:1px solid var(--rule);max-width:900px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:24px;align-items:baseline;padding:26px 0;font:600 clamp(1.25rem,2vw,1.5rem)/1.3 var(--serif);color:var(--navy);transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";justify-self:end;font:400 1.7rem/1 var(--serif);color:var(--gold-d);transition:transform .4s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--gold-d)}
.faq summary:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.faq .a{padding:0 60px 28px 0;max-width:75ch}
.faq .a p{margin:0}
.mehr{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--rule)}
.mehr li{padding:24px 0;border-bottom:1px solid var(--rule)}
.mehr a{font:600 1.5rem/1.25 var(--serif);color:var(--navy);transition:color .3s}
.mehr a:hover{color:var(--gold-d)}
.mehr .ar{color:var(--gold-d)}
.mehr p{margin:6px 0 0;font-size:.95rem}
@media (max-width:1000px){
  .duo{grid-template-columns:minmax(0,1fr)}
  .duo>*,.duo>:nth-child(even){padding:36px 0 38px;border-left:0}
  .tl.t4{grid-template-columns:minmax(0,1fr)}
  .tl.t4 li{padding-right:0}
  .faq .a{padding-right:0}
}

/* ---------- Blog: Übersicht, Beitrag, Autor ---------- */
.kat{display:flex;flex-wrap:wrap;gap:10px 30px;margin:0 0 34px}
.kat button{background:none;border:0;border-bottom:1px solid transparent;padding:0 0 8px;cursor:pointer;font:500 .72rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color .3s,border-color .3s}
.kat button:hover{color:var(--navy)}
.kat button[aria-pressed="true"]{color:var(--navy);border-bottom-color:var(--gold)}
.posts{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.posts>li{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px;padding:46px 0;border-bottom:1px solid var(--rule)}
.posts .meta{display:flex;flex-direction:column;gap:6px;font:500 .68rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.posts .meta span:first-child{color:var(--gold-t)}
.posts .meta .entwurf,.ph--post .lab .entwurf{color:#B3473F}
.posts h2,.posts h3{font-size:clamp(1.7rem,2.6vw,2.25rem);margin:0 0 14px;max-width:30ch}
.posts h2 a,.posts h3 a{transition:color .3s}
.posts h2 a:hover,.posts h3 a:hover{color:var(--gold-d)}
.posts p{margin:0 0 18px;max-width:68ch}
.ph--post h1{font-size:clamp(2.3rem,4vw,3.5rem);max-width:24ch}
.post-meta{margin:26px 0 0;font:500 .68rem/1.9 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.post-meta a{color:var(--navy);border-bottom:1px solid var(--rule-g)}
.post{min-width:0;font-size:1.06rem;line-height:1.85;color:var(--text)}
.post h2{font-size:clamp(1.8rem,2.8vw,2.4rem);margin:64px 0 18px;scroll-margin-top:120px}
.post>h2:first-child{margin-top:0}
.post h3{font-size:1.5rem;margin:38px 0 12px}
.post p{margin:0 0 1.15em}
.post a{color:var(--navy);border-bottom:1px solid var(--rule-g);transition:color .3s}
.post a:hover{color:var(--gold-d)}
.post strong{color:var(--navy);font-weight:600}
.post ul,.post ol{margin:0 0 1.4em;padding-left:22px}
.post li{margin-bottom:8px}
.post ul{list-style:none;padding-left:0}
.post ul li{position:relative;padding-left:26px}
.post ul li::before{content:"";position:absolute;left:2px;top:.8em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.post blockquote{margin:40px 0;padding:4px 0 4px 28px;border-left:1px solid var(--gold);font:italic 500 clamp(1.35rem,2vw,1.6rem)/1.45 var(--serif);color:var(--navy)}
.post blockquote p{margin:0}
.post .tab{overflow-x:auto;margin:30px 0 36px}
.post table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.6;background:var(--white);box-shadow:inset 0 0 0 1px var(--rule)}
.post th,.post td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
.post th{font:500 .66rem/1.6 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-t)}
.post figure{margin:40px 0}
.post figcaption{margin-top:10px;font-size:.85rem;color:var(--muted)}
.post-box{margin:60px 0 0;padding:28px 34px 30px;background:var(--white);box-shadow:0 0 0 1px var(--rule);display:grid;gap:10px}
.post-box .lab{margin:0}
.post .post-box a{font:600 1.45rem/1.3 var(--serif);color:var(--navy);border:0}
.post .post-box a:hover{color:var(--gold-d)}
.autor{display:grid;grid-template-columns:104px minmax(0,1fr);gap:28px;align-items:start;margin:50px 0 0;padding:38px 0 0;border-top:1px solid var(--rule)}
.autor img{width:104px;height:104px;object-fit:cover;padding:5px;background:var(--white);box-shadow:0 0 0 1px var(--rule-g)}
.autor .lab{margin:0}
.autor b{display:block;font:600 1.5rem/1.2 var(--serif);color:var(--navy);margin:8px 0 8px}
.autor p:not(.lab){margin:0 0 16px;font-size:.98rem}
.post .autor .link-u{border-bottom:1px solid var(--gold);color:var(--navy)}
@media (max-width:1000px){
  .posts>li{grid-template-columns:minmax(0,1fr);gap:12px;padding:36px 0}
  .posts .meta{flex-direction:row;flex-wrap:wrap;gap:4px 18px}
  .autor{grid-template-columns:72px minmax(0,1fr);gap:18px}
  .autor img{width:72px;height:72px;padding:3px}
  .post-box{padding:24px 22px}
}

/* Kopfzeile mit 6 Menüpunkten (Blog): etwas engere Abstände, sonst berührt das Logo das Menü (gemessen 1251–1920 px) */
.nav--6{gap:26px}
.nav--6 .l{letter-spacing:.2em}
.nav--6 .btn+.btn{margin-left:-14px}
@media (min-width:1251px) and (max-width:1365px){
  .nav--6{gap:18px}
  .nav--6 .l{letter-spacing:.18em}
  .nav--6 .btn{padding:0 18px}
  .nav--6 .btn+.btn{margin-left:-6px}
}

/* Startseite: „Aus dem Blog“ */
.blog-k{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));border-top:1px solid var(--rule)}
.blog-k>li{display:flex;flex-direction:column;padding:38px 44px 42px 0}
.blog-k>li+li{padding-left:44px;border-left:1px solid var(--rule)}
.blog-k .meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:16px;font:500 .68rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.blog-k .meta span:first-child{color:var(--gold-t)}
.blog-k .meta .entwurf{color:#B3473F}
.blog-k h3{font-size:clamp(1.5rem,2.2vw,1.9rem);margin:0 0 14px;max-width:26ch}
.blog-k h3 a{transition:color .3s}
.blog-k h3 a:hover{color:var(--gold-d)}
.blog-k p{margin:0 0 22px;flex:1}
.blog-k .link-u{align-self:flex-start}
.blog-alle{margin:46px 0 0}
@media (max-width:1000px){
  .blog-k{grid-template-columns:minmax(0,1fr)}
  .blog-k>li,.blog-k>li+li{padding:32px 0 34px;border-left:0}
  .blog-k>li+li{border-top:1px solid var(--rule)}
}

/* Blog: lange Wörter (z. B. „Sondereigentumsverwaltung“) trennen statt über den Rand laufen */
.ph--post h1,.ph--post .lead,.post h2,.post h3,.post td,.posts h2,.posts h3,.blog-k h3{overflow-wrap:anywhere}
.ph--post .ph-txt{min-width:0}
@media (max-width:700px){
  .ph--post h1{font-size:clamp(1.9rem,8.4vw,2.4rem)}
  /* Tabellen am Handy: jede Zeile als Block mit Spaltenbeschriftung */
  .post .tab{overflow:visible}
  .post table,.post tbody,.post tr,.post td{display:block;width:100%}
  .post thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .post tr{padding:16px 20px;border-bottom:1px solid var(--rule)}
  .post tr:last-child{border-bottom:0}
  .post td{padding:3px 0;border:0}
  .post td::before{content:attr(data-label);display:block;font:500 .62rem/1.8 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-t)}
  .post td:first-child{font-weight:600;color:var(--navy)}
  .post td:first-child::before{display:none}
}
.ph--post .crumbs{flex-wrap:wrap;row-gap:6px}

/* Leistungsseiten mit gelieferten Texten (leistungstext.py): Fließtext in der Textspalte */
.head--t h2{font-size:clamp(2rem,3.3vw,2.9rem);max-width:26ch}
.head--t .prose{margin-top:34px;max-width:70ch}
.head--t .prose p{margin:0 0 1.15em;max-width:none}
.head--t .prose h3{margin:54px 0 14px;padding-top:34px;border-top:1px solid var(--rule);font-size:clamp(1.55rem,2.2vw,1.95rem)}
.head--t .prose h3:first-of-type{margin-top:46px}
.head--t .prose ul{columns:2;column-gap:44px;margin:0 0 1.5em}
.head--t .prose ul li{break-inside:avoid}
.lv .prose{min-width:0}
.faq .a p{margin:0 0 .8em}
.faq .a p:last-child{margin-bottom:0}
.final .panel--t h2{max-width:20ch;font-size:clamp(2rem,4.2vw,3.4rem)}
.final .panel p.fq{font:italic 500 clamp(1.3rem,2vw,1.6rem)/1.4 var(--serif);color:var(--gold-l,#E3C887);margin:0 auto 22px;max-width:44ch}
.final .panel--t .btn{white-space:normal;height:auto;min-height:52px;padding-top:14px;padding-bottom:14px;text-align:center}
.final .panel p+p{margin-top:14px}
.final .panel .sig{margin:34px auto 0;font:500 .7rem/1.8 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
@media (max-width:1000px){.head--t .prose ul{columns:1}}
.final .panel .sig{color:rgba(246,241,231,.62)}
.final .panel--t .btn{line-height:1.6}
/* Lange Knopftexte in der Kopfzeile der Leistungsseiten umbrechen statt abschneiden */
.ph .cta .btn{white-space:normal;height:auto;min-height:52px;padding-top:14px;padding-bottom:14px;line-height:1.55;text-align:center}
.ph .crumbs{flex-wrap:wrap;row-gap:6px;min-width:0}
.ph .crumbs span:last-child{overflow-wrap:anywhere;min-width:0}

/* ---------- Seite „Leistungen“: Auswahl (drei große Felder), Sprungleiste, Abschnitte ---------- */
.ls-tabs{padding:0 0 30px;margin-top:-30px;position:relative;z-index:2}
.ls-hinweis{margin:0 0 22px;font:600 .74rem/1.6 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-t);text-align:center}
.ls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ls-tab{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;row-gap:6px;align-items:baseline;padding:30px 34px 32px;background:var(--navy);color:var(--paper);box-shadow:0 20px 40px -26px rgba(18,33,58,.7);border-bottom:3px solid var(--gold);transition:transform .35s var(--ease),background .35s,box-shadow .35s}
.ls-tab:hover,.ls-tab:focus-visible{background:var(--navy-l);transform:translateY(-4px);box-shadow:0 28px 46px -24px rgba(18,33,58,.8)}
.ls-tab i{grid-row:1 / span 2;font:italic 500 2.6rem/1 var(--serif);color:var(--gold-l)}
.ls-tab b{font:600 clamp(1.45rem,2vw,1.85rem)/1.15 var(--serif);color:#fff;overflow-wrap:anywhere}
.ls-tab span{font:500 .72rem/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(246,241,231,.72)}
.ls-tab em{position:absolute;right:24px;top:22px;font:normal 1.3rem/1 var(--sans);color:var(--gold-l);transition:transform .35s var(--ease)}
.ls-tab:hover em{transform:translateY(5px)}
.ls-sec{scroll-margin-top:100px}
.ls-sec>.ph{padding-top:110px}
.ls-sec .ph h2.ls-title{font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.06}
.ls-sec+.ls-sec{border-top:1px solid var(--rule-g,var(--rule))}
#weg,#miete,#sev{scroll-margin-top:96px}
.ls-bar{position:fixed;z-index:230;left:var(--f);right:var(--f);top:calc(var(--f) + 90px);background:rgba(246,241,231,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--rule),0 12px 24px -20px rgba(18,33,58,.5);transform:translateY(-130%);opacity:0;visibility:hidden;transition:transform .45s var(--ease),opacity .3s,visibility .45s}
.ls-bar.on{transform:none;opacity:1;visibility:visible}
.ls-bar .wrap{width:min(1180px,100% - 112px);display:flex;align-items:center;gap:10px 14px;padding:10px 0;flex-wrap:wrap}
.ls-bar span{font:600 .66rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t);margin-right:6px}
.ls-bar a{padding:10px 20px;background:var(--navy);color:#fff;font:600 .72rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--gold);transition:background .3s,color .3s}
.ls-bar a:hover{background:var(--navy-l)}
.ls-bar a.aktiv{background:var(--gold);color:var(--navy-d)}
@media (max-width:1000px){
  .ls-tabs{margin-top:-10px}
  .ls-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .ls-tab{padding:22px 24px 24px}
  .ls-tab i{font-size:2.1rem}
  .ls-bar{display:none}
  .ls-sec>.ph{padding-top:80px}
}
/* Blog ohne Beiträge */
.blog-leer{max-width:720px}
.blog-leer h2{font-size:clamp(2rem,3.4vw,3rem);max-width:20ch;margin:18px 0 22px}
.blog-leer p{margin:0 0 1em;max-width:60ch}
.blog-leer .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

/* Leistungen: Abschnittsband als unübersehbare Überschrift + größere Auswahlfelder */
.ls-band{background:var(--navy);color:var(--paper);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);margin-bottom:0}
.ls-band .wrap{display:flex;align-items:center;gap:28px;padding:34px 0}
.ls-band i{font:italic 500 clamp(3rem,6vw,5rem)/1 var(--serif);color:var(--gold-l)}
.ls-band>.wrap>div{flex:1;min-width:0}
.ls-band-t{margin:0;font:600 clamp(2rem,4.4vw,3.6rem)/1.08 var(--serif);color:#fff;overflow-wrap:anywhere}
.ls-band-s{margin:10px 0 0;font:600 .76rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-l)}
.ls-band a{flex:none;padding:12px 20px;border:1px solid rgba(246,241,231,.4);color:var(--paper);font:600 .68rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;transition:background .3s,color .3s}
.ls-band a:hover{background:var(--gold);color:var(--navy-d);border-color:var(--gold)}
.ls-sec{scroll-margin-top:92px}
.ls-sec>.ph{padding-top:80px}
.ph:has(+ .ls-tabs){padding-bottom:40px}
.ls-tabs{margin-top:0;padding-bottom:50px}
.ls-hinweis{font-size:.82rem;color:var(--navy)}
.ls-hinweis::after{content:"";display:block;width:60px;height:2px;background:var(--gold);margin:14px auto 0}
.ls-tab{padding:38px 36px 40px;border-bottom-width:5px}
.ls-tab i{font-size:3.2rem}
.ls-tab b{font-size:clamp(1.7rem,2.3vw,2.2rem)}
.ls-tab span{font-size:.76rem}
.ls-tab em{position:static;grid-column:2;margin-top:12px;justify-self:start;font:600 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--navy-d);background:var(--gold);padding:10px 16px}
.ls-tab em::before{content:"Zum Text "}
.ls-bar a{padding:13px 24px;font-size:.8rem}
@media (max-width:1000px){
  .ls-band .wrap{padding:24px 0;gap:16px;flex-wrap:wrap}
  .ls-band i{font-size:2.6rem}
  .ls-band a{width:100%;text-align:center}
  .ls-tab{padding:26px 24px 28px}
  .ls-tab i{font-size:2.5rem}
}
#weg.ls-sec,#miete.ls-sec,#sev.ls-sec{scroll-margin-top:168px}
.ph:has(+ .ls-tabs){padding-bottom:10px}
.ls-tabs{padding-bottom:40px}
.ls-tab{padding:30px 34px 32px}
@media (max-width:1000px){#weg.ls-sec,#miete.ls-sec,#sev.ls-sec{scroll-margin-top:84px}}
.ph:has(+ .ls-tabs){padding-bottom:72px}
.ls-hinweis{margin-bottom:34px}
.ls-tabs{padding-top:12px;padding-bottom:64px}
@media (max-width:1000px){.ph:has(+ .ls-tabs){padding-bottom:44px}.ls-hinweis{margin-bottom:26px}.ls-tabs{padding-bottom:44px}}
.ls-tab b{overflow-wrap:break-word;hyphens:manual}
.ls-tab{column-gap:14px}
.ls-tab b{font-size:clamp(1.45rem,1.75vw,1.8rem)}
