@font-face{font-family:'Cormorant Garamond';font-weight:300;font-display:swap;src:url(/fonts/cg300.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-weight:400;font-display:swap;src:url(/fonts/cg400.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-weight:500;font-display:swap;src:url(/fonts/cg500.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-weight:300;font-style:italic;font-display:swap;src:url(/fonts/cg300i.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/cg400i.woff2) format('woff2')}

@font-face{font-family:CGErsatz;src:local('Times New Roman'),local('TimesNewRomanPSMT'),local('Liberation Serif'),local('Tinos'),local('Georgia');
 size-adjust:96.5%;ascent-override:95.8%;descent-override:29.8%;line-gap-override:0%}
@font-face{font-family:CGErsatz;font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Liberation Serif Italic'),local('Georgia Italic');
 size-adjust:86.9%;ascent-override:106.4%;descent-override:33%;line-gap-override:0%}

:root{
 --schrift:'Cormorant Garamond',CGErsatz,'Times New Roman',serif;
 --titel:'Cormorant Garamond',CGErsatz,'Times New Roman',serif;
 --rand:clamp(20px,4.2vw,64px);
 --kopf:72px;

 --grund:#EEF0F3;--grund2:#E4E8EE;--flaeche:#F7F8FA;
 --tinte:#15213A;--text:#3A4558;--leise:#5A647C;
 --blau:#76602F;--gold:#B29A6A;--goldtext:#7C6537;--linie:rgba(21,33,58,.13);
 --nacht:#101C33;--nacht2:#16233D;--nachttext:#F1EFEA;--nachtleise:#A9B1BF;--licht:#C9B48A;--lichtwarm:#DCCBA6;
 color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--grund);color:var(--text);font-family:var(--schrift);
 font-size:clamp(18px,.8vw + .78rem,1.25rem);line-height:1.62;-webkit-font-smoothing:antialiased;overscroll-behavior-x:none}
.seite{overflow-x:clip}
img{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
h1,h2,h3{font-weight:400;color:inherit;margin:0;text-wrap:balance;letter-spacing:-.015em}
p{margin:0 0 1em}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--tinte);color:#fff;padding:10px 16px;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--blau);outline-offset:3px}
.nacht :focus-visible,.kopf.dunkel :focus-visible{outline-color:var(--licht)}
.label{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--goldtext);line-height:1.5;margin:0}
.nacht .label{color:var(--licht)}
.gross{font-size:clamp(38px,5vw,86px);line-height:1.02;letter-spacing:-.022em}
.gross em{font-style:italic;color:var(--blau)}
.nacht .gross em{color:var(--lichtwarm)}
.nacht{background:var(--nacht);color:var(--nachtleise)}
.nacht h1,.nacht h2,.nacht h3,.nacht b{color:var(--nachttext)}
.innen{max-width:1400px;margin:0 auto;padding:0 var(--rand)}

.kopf{position:fixed;inset:0 0 auto;z-index:50;height:var(--kopf);display:flex;align-items:center;justify-content:space-between;
 padding:0 var(--rand);color:#fff;transition:color .5s}
.kopf.hell{color:var(--tinte)}
.kopf::before{content:'';position:absolute;inset:0 0 -24px;z-index:-1;opacity:0;transition:opacity .5s;background:linear-gradient(180deg,rgba(16,28,51,.94) 55%,rgba(16,28,51,0))}
.kopf.dunkel::before{opacity:1}
.kopf.hell::before{opacity:1;background:linear-gradient(180deg,rgba(238,240,243,.95) 60%,rgba(238,240,243,0))}
.kopf.offen{color:#fff}
.kopf.offen::before{opacity:0}
.marke{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;min-width:0}
.marke img{width:auto;height:40px;flex:none;opacity:.92}
.marke b{display:block;font-weight:500;font-size:12.5px;letter-spacing:.42em;text-transform:uppercase;white-space:nowrap;line-height:1.1}
.marke i{display:block;font-style:normal;font-size:10px;letter-spacing:.38em;text-transform:uppercase;opacity:.8;margin-top:5px;white-space:nowrap}
.menue{background:none;border:0;color:inherit;font:inherit;font-size:11.5px;letter-spacing:.4em;text-transform:uppercase;font-weight:500;
 min-height:44px;cursor:pointer;display:flex;align-items:center;gap:14px;padding:0}
.menue i{display:block;width:30px;height:9px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .4s}
.kopf.offen .menue i{transform:scaleX(.55)}
@media (max-width:520px){.marke b{font-size:14.5px;letter-spacing:.1em}.marke i{font-size:9px;letter-spacing:.16em}.marke img{height:38px}.menue span{display:none}}

.menueflaeche{position:fixed;inset:0;z-index:45;background:var(--nacht);color:var(--nachttext);display:flex;flex-direction:column;justify-content:safe center;
 padding:calc(var(--kopf) + 20px) var(--rand) 40px;clip-path:circle(0 at calc(100% - 60px) 36px);visibility:hidden;
 transition:clip-path .8s cubic-bezier(.7,0,.2,1),visibility 0s .8s;overflow-y:auto}
.menueflaeche.auf{clip-path:circle(150% at calc(100% - 60px) 36px);visibility:visible;transition:clip-path .9s cubic-bezier(.7,0,.2,1)}
.menueflaeche ol{list-style:none;margin:0 auto;padding:0;width:100%;max-width:1100px}
.menueflaeche li{border-bottom:1px solid rgba(238,237,230,.14)}
.menueflaeche a{display:flex;align-items:baseline;gap:22px;padding:min(8px,1vh) 0;text-decoration:none;font-size:clamp(20px,min(4.2vw,4.3vh),56px);line-height:1.15;color:var(--nachttext);transition:color .3s,padding .4s}
.menueflaeche a span{font-style:italic;font-size:.42em;color:var(--licht);min-width:3ch}
.menueflaeche a:hover{color:var(--lichtwarm);padding-left:12px}
.menueflaeche .unten{margin:min(28px,3vh) auto 0;width:100%;max-width:1100px;font-size:15.5px;color:var(--nachtleise)}
.menueflaeche .unten a{display:inline;font-size:inherit;padding:0;color:var(--nachttext)}

.wegweiser{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:40;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;color:#fff;transition:color .5s}
.wegweiser.hell{color:var(--tinte)}
.wegweiser{transition:color .5s,opacity .18s}.wegweiser.weg{opacity:0;pointer-events:none}.wegweiser.still{opacity:0;pointer-events:none}
.wegweiser a{display:flex;align-items:center;justify-content:flex-end;gap:10px;text-decoration:none;font-style:italic;font-size:14px;min-height:24px;opacity:.5;transition:opacity .3s}
.wegweiser a::after{content:'';width:14px;height:1px;background:currentColor;transition:width .4s}
.wegweiser a.jetzt{opacity:1}
.wegweiser a.jetzt::after{width:34px}
.wegweiser a b{font-weight:400;font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:0;transform:translateX(6px);transition:.3s}
.wegweiser a:hover b,.wegweiser a:focus-visible b{opacity:1;transform:none}
.wegweiser a b{position:absolute;right:calc(100% + 8px);white-space:nowrap;background:var(--grund);padding:3px 8px;pointer-events:none}
.wegweiser.dunkel a b,.wegweiser:not(.hell) a b{background:var(--nacht)}
.wegweiser a{position:relative}
.fortschritt{position:fixed;left:0;top:0;height:2px;width:100%;z-index:60;transform-origin:left;transform:scaleX(0);background:var(--gold)}
@media (max-width:1560px){.wegweiser{display:none}}
@media (min-width:1561px){.residenz .rechts{padding-right:max(96px,4vw)}}

.szene{position:relative}
.js .szene[data-hoehe]{height:var(--h,100vh)}
.buehne{position:relative;height:100vh;height:100svh;overflow:hidden}
.js .szene[data-hoehe]>.buehne{position:sticky;top:0}
.ebene{position:absolute;inset:0;will-change:transform,opacity}
.ebene picture,.ebene img{position:absolute;inset:0;width:100%;height:100%}
.ebene img{object-fit:cover}
.inhalt{position:relative;z-index:3;max-width:1400px;margin:0 auto;padding:0 var(--rand)}

.einfahrt .tor{transform-origin:44% 52%}
.js .einfahrt .schloss{opacity:0}
.einfahrt .schleier{position:absolute;inset:0;z-index:2;pointer-events:none;
 background:linear-gradient(180deg,rgba(16,28,51,.5) 0,rgba(16,28,51,0) 26%,rgba(16,28,51,0) 45%,rgba(16,28,51,.72) 100%)}
.titel-a{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 var(--rand)}
.titel-a::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 50%,rgba(16,28,51,.55) 0,rgba(16,28,51,.1) 60%,rgba(16,28,51,0) 80%)}
.titel-a img{height:clamp(110px,17vh,170px);width:auto;filter:drop-shadow(0 6px 22px rgba(0,0,0,.35))}
.titel-a .name{font-size:clamp(28px,4.2vw,62px);letter-spacing:.14em;text-transform:uppercase;line-height:1.08;margin-top:26px;
 filter:drop-shadow(0 2px 14px rgba(0,0,0,.45))}
.titel-a .zusatz{font-size:clamp(12px,1vw,14px);letter-spacing:.3em;text-transform:uppercase;margin-top:16px;color:var(--lichtwarm);filter:drop-shadow(0 1px 8px rgba(0,0,0,.6))}
.titel-b{position:absolute;z-index:3;left:0;right:0;bottom:clamp(44px,9vh,110px);color:#fff}
.js .titel-b{opacity:0}
.titel-b::before{content:'';position:absolute;z-index:-1;inset:-22px 0 -28px;pointer-events:none;
 background:linear-gradient(90deg,rgba(11,20,38,.76) 0,rgba(11,20,38,.58) 44%,rgba(11,20,38,.18) 72%,rgba(11,20,38,0) 88%)}
.titel-b h1{font-size:clamp(52px,8vw,138px);line-height:.92;letter-spacing:-.03em;margin:.22em 0 .3em}
.titel-b h1 em{font-style:italic;color:var(--lichtwarm)}
.titel-b .label{color:var(--lichtwarm)}
.titel-b .unter{font-size:clamp(19px,1.2vw + .75rem,1.5rem);line-height:1.45;max-width:32ch;color:rgba(255,255,255,.92);margin:0}
@media (max-width:719px){.titel-b::before{background:linear-gradient(90deg,rgba(11,20,38,.82) 0,rgba(11,20,38,.7) 50%,rgba(11,20,38,.6) 100%)}}
.rollhinweis{position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);color:#fff;font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;
 display:flex;flex-direction:column;align-items:center;gap:10px}
.rollhinweis::after{content:'';width:1px;height:46px;background:linear-gradient(#fff,transparent);animation:rinnen 2.4s ease-in-out infinite}
@keyframes rinnen{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.satz .buehne{display:flex;align-items:center}
.satz .inhalt{width:100%}
.satz .label{margin-bottom:clamp(24px,3vw,44px)}
.satz .text{font-size:clamp(30px,4.1vw,70px);line-height:1.14;letter-spacing:-.02em;color:var(--tinte);max-width:25ch;margin:0}
.js .satz .text .w{opacity:.13}
.satz .text em{font-style:italic;color:var(--blau)}
.satz .fussnote{margin-top:clamp(28px,3.4vw,52px);display:flex;gap:clamp(22px,4vw,72px);flex-wrap:wrap;font-size:16px;color:var(--leise)}
.satz .fussnote div{max-width:18ch}
.satz .fussnote b{display:block;font-weight:400;color:var(--tinte);font-size:clamp(34px,3vw,50px);line-height:1;margin-bottom:6px;letter-spacing:-.02em}

.tuer .buehne{background:#0b1426}
.tuer .spiegel{transform:scale(1.3)}
.tuer .glanz{z-index:1;pointer-events:none;opacity:0;mix-blend-mode:screen;
 background:radial-gradient(ellipse 30% 42% at var(--tx,52%) var(--ty,48%),rgba(255,238,204,.9) 0,rgba(255,224,176,.45) 45%,rgba(255,214,160,0) 100%)}
.tuer .portal{z-index:2;perspective:1400px;transform-origin:var(--tx,52%) var(--ty,48%)}
.tuer .fluegel{backface-visibility:hidden;clip-path:inset(0 0 0 100%)}
.tuer .fluegel::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--schatten,0)}
.tuer .links::after{background:linear-gradient(90deg,rgba(10,16,30,.2) 0,rgba(10,16,30,.9) 70%)}
.tuer .rechts::after{background:linear-gradient(270deg,rgba(10,16,30,.2) 0,rgba(10,16,30,.9) 70%)}
.tuer .schleier{z-index:2;pointer-events:none;background:
 linear-gradient(0deg,rgba(11,20,38,.93) 0,rgba(11,20,38,.86) 10%,rgba(11,20,38,.6) 18%,rgba(11,20,38,.26) 27%,rgba(11,20,38,0) 38%),
 radial-gradient(ellipse 80% 75% at 50% 50%,rgba(11,20,38,0) 55%,rgba(11,20,38,.6) 100%)}
.ruhig .tuer .portal,.ruhig .tuer .glanz{display:none}
.tuer .vorn{position:absolute;z-index:3;left:var(--rand);bottom:clamp(30px,6vh,72px);color:#fff;max-width:28ch;font-style:italic;font-size:17px;filter:drop-shadow(0 1px 10px rgba(0,0,0,.7))}
.tuer .vorn .label{color:var(--lichtwarm);font-style:normal;margin-bottom:8px}
.tuer .danach{position:absolute;z-index:3;inset:0;display:flex;align-items:flex-end;padding-bottom:clamp(40px,8vh,96px);color:#fff;
 background:linear-gradient(0deg,rgba(16,28,51,.84) 0,rgba(16,28,51,.35) 30%,rgba(16,28,51,0) 52%)}
.js .tuer .danach{opacity:0}
.tuer .danach .inhalt{width:100%}
.tuer .danach .gross{color:#fff;max-width:17ch;margin-top:14px}
.tuer .danach .unter{max-width:40ch;margin:18px 0 0;color:rgba(255,255,255,.88)}

.flucht .buehne{display:flex;align-items:center}
.spur{display:flex;align-items:center;gap:clamp(24px,4vw,72px);padding:0 var(--rand);will-change:transform;height:100%}
.spur>*{flex:none}
.spur .auftakt{width:min(82vw,520px);padding-right:clamp(10px,3vw,60px)}
.spur .auftakt .gross{color:var(--nachttext);margin:16px 0 22px;font-size:clamp(36px,4vw,68px)}
.spur figure{margin:0;position:relative}
.spur .rahmen{overflow:hidden;position:relative;height:100%}
.spur .rahmen picture,.spur .rahmen img{width:100%;height:100%}
.spur .rahmen img{object-fit:cover;transform:scale(1.14)}
.spur figcaption{margin-top:14px;font-style:italic;font-size:15.5px;color:var(--nachtleise)}
.spur figcaption b{font-style:normal;font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:var(--licht);margin-right:10px}
.spur .q .rahmen{height:min(62vh,640px);aspect-ratio:3/2}
.spur .h .rahmen{height:min(72vh,740px);aspect-ratio:3/4}
.spur .k{align-self:flex-start;margin-top:15vh}
.spur .k .rahmen{height:min(44vh,460px);aspect-ratio:4/3}
.spur .t{align-self:flex-end;margin-bottom:13vh}
.spur .t .rahmen{height:min(44vh,460px);aspect-ratio:4/3}
.spur .schluss{width:min(78vw,440px);font-size:clamp(24px,2vw,32px);line-height:1.3;color:var(--nachttext);font-style:italic;padding-right:var(--rand)}
@media (max-width:700px){.spur .q .rahmen{height:42vh}.spur .h .rahmen{height:54vh}.spur .k,.spur .t{margin:0;align-self:center}.spur .k .rahmen,.spur .t .rahmen{height:34vh}}

.luft .bild{transform:scale(1.18);transform-origin:50% 60%}
.luft svg.zeichen{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible}
.luft .linie{fill:none;stroke:var(--lichtwarm);stroke-width:2;vector-effect:non-scaling-stroke}
.js .luft .pm{opacity:0}
.luft .pm circle{fill:var(--lichtwarm)}
.luft .pm .ring-p{fill:none;stroke:var(--lichtwarm);stroke-width:1;vector-effect:non-scaling-stroke}
.luft .pm line{stroke:var(--lichtwarm);stroke-width:1;vector-effect:non-scaling-stroke}
.luft .pm text{fill:#fff;font-family:var(--schrift);font-style:italic;font-size:17px;paint-order:stroke;stroke:rgba(16,28,51,.6);stroke-width:4px}
.luft .schleier{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(16,28,51,.72) 0,rgba(16,28,51,.2) 45%,rgba(16,28,51,0) 70%),linear-gradient(0deg,rgba(16,28,51,.6),rgba(16,28,51,0) 45%)}
.luft .inhalt{position:absolute;left:0;right:0;bottom:clamp(40px,8vh,96px);color:#fff;width:100%}
.luft .zahl{font-size:clamp(64px,9vw,150px);line-height:.9;letter-spacing:-.03em;color:#fff;font-variant-numeric:tnum;margin-top:12px}
.luft .zahl small{font-size:.34em;letter-spacing:0;margin-left:.12em}
.luft .unter{max-width:34ch;margin:14px 0 0;color:rgba(255,255,255,.9)}

.struktur{background:var(--grund2)}
.struktur .buehne{display:flex;flex-direction:column}
.kopfzeile{padding-top:calc(var(--kopf) + 12px);position:relative;z-index:3}
.kopfzeile .gross{font-size:clamp(32px,3.4vw,58px);margin-top:10px;color:var(--tinte);max-width:24ch}
.netz{position:relative;flex:1;margin:0 var(--rand) 28px}
.netz svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.netz path{fill:none;stroke:var(--gold);stroke-width:1.2}
.knoten{position:absolute;transform:translate(-50%,-50%);text-align:center;width:max-content;max-width:210px}
.js .knoten{opacity:0}
.knoten .punkt{width:14px;height:14px;border-radius:50%;margin:0 auto 8px;background:var(--grund2);border:1px solid var(--gold);position:relative}
.knoten .punkt::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--gold)}
.knoten b{display:block;font-weight:500;color:var(--tinte);font-size:16.5px;line-height:1.25}
.knoten span{display:block;font-size:14px;color:var(--leise);line-height:1.35;margin-top:2px}
.knoten .anteil{display:inline;font-style:italic;color:var(--blau);font-size:15.5px}
.knoten.ast .punkt{width:18px;height:18px}
.knoten.ast>b{font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--goldtext);background:var(--grund2);padding:0 6px}
.knoten.wurzel{max-width:300px}
.knoten.wurzel img{height:90px;width:auto;margin:0 auto 10px}
.knoten.wurzel b{font-size:14px;letter-spacing:.18em;text-transform:uppercase}
.knoten.bild .punkt{width:62px;height:62px;overflow:hidden;background:none;margin-bottom:10px}
.knoten.bild .punkt::after{display:none}
.knoten.bild .punkt img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.knoten.leise b{font-weight:400;color:var(--leise)}
.knoten ul{display:none}
@media (max-width:900px){
 .knoten.blatt{display:none}
 .knoten ul{display:block;list-style:none;margin:8px 0 0;padding:6px 8px;background:var(--grund2)}
 .knoten ul li{font-size:14px;line-height:1.3;color:var(--text);margin:0 0 5px}
 .knoten ul li i{color:var(--blau)}
 .knoten.ast{max-width:46vw}
 .knoten.wurzel img{height:60px}
 .knoten.wurzel span{display:none}
}

.residenz{background:var(--grund)}
.residenz .buehne{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.residenz .bilder{position:relative;height:100%;overflow:hidden}
.residenz .bilder::after{content:'';position:absolute;left:0;right:0;bottom:0;height:132px;z-index:2;pointer-events:none;
 background:linear-gradient(0deg,rgba(11,20,38,.9) 0,rgba(11,20,38,.78) 26%,rgba(11,20,38,.4) 60%,rgba(11,20,38,0) 100%)}
.residenz .bilder .ebene img{transform:scale(1.06)}
.js .residenz .bilder .zwei,.js .residenz .bilder .drei{clip-path:inset(0 0 0 100%)}
.bildname{position:absolute;z-index:3;left:24px;bottom:22px;color:#fff;font-style:italic;font-size:16px;filter:drop-shadow(0 1px 8px rgba(0,0,0,.8))}
.residenz .rechts{padding:calc(var(--kopf) + 8px) clamp(24px,4vw,72px) 28px;display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,2.2vh,28px)}
.residenz .gross{font-size:clamp(32px,3.2vw,56px);color:var(--tinte);margin-top:10px}
.messung{display:flex;gap:clamp(18px,2.4vw,40px);align-items:center;flex-wrap:wrap}
.ring{position:relative;width:clamp(96px,8vw,128px);aspect-ratio:1}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:3}
.ring .bahn{stroke:var(--linie)}
.ring .wert{stroke:var(--gold);stroke-linecap:round}
.ring div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ring b{font-weight:400;font-size:clamp(28px,2.3vw,36px);line-height:1;color:var(--tinte)}
.ring small{font-size:12px;color:var(--leise);margin-top:4px;line-height:1.2}
.einheiten{display:grid;grid-template-columns:repeat(7,14px);gap:6px}
.einheiten i{width:14px;height:14px;border:1px solid var(--gold)}
.einheiten i.an{background:var(--gold)}
.einheiten-t{display:block;font-size:14px;color:var(--leise);margin-top:8px;line-height:1.3}
.liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.liste li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid var(--linie);font-size:15.5px;line-height:1.4}
.js .liste li{opacity:.15;transition:opacity .4s}
.js .liste li.an{opacity:1}
.liste svg{width:19px;height:19px;margin-top:2px;color:#2F7D5B}
.liste b{font-weight:500;color:var(--tinte)}
.residenz .notiz{font-size:14.5px;font-style:italic;color:var(--leise);margin:0}
@media (max-width:900px){
 .residenz .buehne{grid-template-columns:minmax(0,1fr);height:auto}
 .residenz .bilder{height:64vh}
 .residenz .rechts{padding:44px var(--rand) 64px}
 .liste{grid-template-columns:minmax(0,1fr)}
}

.cocina .buehne{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center}
.karte{position:relative;height:100%;display:flex;align-items:center;justify-content:center;padding:calc(var(--kopf) + 6px) 0 16px var(--rand)}
.karte svg{width:100%;height:100%;max-height:94vh;overflow:visible}
.karte .land{fill:none;stroke:#2C3B58;stroke-width:5;stroke-linecap:round}
.karte .bogen{fill:none;stroke:var(--licht);stroke-width:1.6;vector-effect:non-scaling-stroke}
.js .karte .stadt{opacity:0}
.karte .stadt circle{fill:var(--lichtwarm)}
.karte .stadt .hof{fill:none;stroke:var(--lichtwarm);stroke-width:1;opacity:.55;vector-effect:non-scaling-stroke}
.karte .stadt text{fill:var(--nachttext);font-family:var(--schrift);font-size:25px;paint-order:stroke;stroke:var(--nacht);stroke-width:6px}
.karte .stadt.bald circle:not(.hof){fill:var(--nacht);stroke:var(--lichtwarm);stroke-width:2}
.cocina .rechts{padding:calc(var(--kopf) + 10px) var(--rand) 30px clamp(20px,3vw,48px)}
.cocina .gross{font-size:clamp(32px,3.2vw,56px);margin:10px 0 16px}
.orte{list-style:none;margin:20px 0 0;padding:0}
.orte li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:7px 0;border-top:1px solid rgba(238,237,230,.12)}
.js .orte li{opacity:.25;transition:opacity .4s}
.js .orte li.an{opacity:1}
.orte li b{font-weight:400;font-size:clamp(20px,1.5vw,25px)}
.orte li span{font-style:italic;font-size:15px}
@media (max-width:900px){
 .cocina .buehne{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:start}
 .cocina .rechts{order:-1;padding:calc(var(--kopf) + 4px) var(--rand) 0}
 .cocina .buehne{grid-template-rows:none;align-content:start}
 .cocina .rechts{display:contents}
 .cocina .rechts>p:not(.label){order:-2;margin:10px var(--rand) 0;font-size:16px;line-height:1.55}
 .cocina .rechts .label{order:-3;margin:0 var(--rand);padding-top:calc(var(--kopf) + 4px)}
 .cocina .gross{order:-2;font-size:30px;margin:6px var(--rand) 0}
 .karte{padding:4px var(--rand) 0;height:auto}
 .karte svg{height:auto;max-height:52vh}
 .karte .stadt text{font-size:30px}
 .orte{order:2;margin:6px var(--rand) 0}
 .orte li{padding:5px 0}
 .orte li b{font-size:19px}
 .orte li span{font-size:14px}
}
.wachstum{padding:clamp(72px,9vw,140px) 0}
.wachstum .raster{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,80px)}
@media (min-width:1000px){.wachstum .raster{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center}}
.wachstum .gross{font-size:clamp(32px,3.2vw,54px);margin:10px 0 24px}
.kurve{width:100%;height:auto;overflow:visible;display:block}
.kurve .achse{stroke:rgba(238,237,230,.2)}
.kurve .spur-k{fill:none;stroke:var(--licht);stroke-width:2.4}
.kurve .erw{fill:none;stroke:var(--licht);stroke-width:2;stroke-dasharray:7 7}
.kurve .fl{fill:url(#kv)}
.kurve circle{fill:var(--nacht);stroke:var(--lichtwarm);stroke-width:2}
.kurve text{fill:var(--nachtleise);font-family:var(--schrift);font-size:15px}
.kurve .w{fill:var(--nachttext);font-size:22px}
.fakten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}
.fakten div{padding:18px 12px 16px 0;border-top:1px solid rgba(238,237,230,.14)}
.fakten b{display:block;font-weight:400;font-size:clamp(34px,3vw,50px);line-height:1}
.fakten span{display:block;margin-top:6px;font-size:15px;line-height:1.4}
.bildpaar{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(14px,2vw,28px);align-items:end}
.bildpaar figure{margin:0}
.bildpaar .rahmen{overflow:hidden;aspect-ratio:4/5}
.bildpaar .rahmen picture,.bildpaar .rahmen img{width:100%;height:100%}
.bildpaar .rahmen img{object-fit:cover;will-change:transform}
.bildpaar figure:last-child{margin-bottom:clamp(40px,8vw,120px)}
.bildpaar figcaption{margin-top:12px;font-style:italic;font-size:15px}
.bildpaar figcaption b{font-style:normal;font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:var(--licht);margin-right:8px}

.js .fassade .foto{opacity:0}
.fassade .foto::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,28,51,.9) 0,rgba(16,28,51,.5) 45%,rgba(16,28,51,.25) 100%)}
.aufriss{position:absolute;inset:calc(var(--kopf) + 4vh) var(--rand) 30vh;z-index:2;display:flex;align-items:center;justify-content:center}
.aufriss svg{width:100%;height:100%;max-width:1150px;overflow:visible}
.aufriss .strich{fill:none;stroke:rgba(228,201,138,.6);stroke-width:1.2;vector-effect:non-scaling-stroke}
.aufriss .fenster,.aufriss .glas{fill:#16233D;stroke:rgba(228,201,138,.5);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .35s}
.aufriss .fenster.an{fill:#F2D9A0}
.aufriss .glas.an{fill:#E6C37A}
.fassade .inhalt{position:absolute;left:0;right:0;bottom:clamp(36px,7vh,84px);z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}
.fassade .gross{color:#fff;margin-top:10px;font-size:clamp(34px,4.2vw,72px)}
.fassade .zaehler{text-align:right;color:#fff}
.fassade .zaehler b{display:block;font-weight:400;font-size:clamp(60px,7vw,120px);line-height:.9;letter-spacing:-.03em;font-variant-numeric:tnum;color:var(--lichtwarm)}
.fassade .zaehler span{font-size:13px;letter-spacing:.22em;text-transform:uppercase}
.fassade .unter{max-width:40ch;color:rgba(255,255,255,.88);margin:14px 0 0}
@media (max-width:700px){.aufriss{bottom:40vh}.fassade .zaehler{text-align:left}}

.digital{background:var(--grund)}
.digital .buehne{display:flex;flex-direction:column}
.strom{position:relative;flex:1;margin:0 var(--rand)}
.strom svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.strom .bahn{fill:none;stroke:var(--gold);stroke-width:1.4}
.strom .impuls{fill:var(--gold)}
.station{position:absolute;width:min(22vw,290px);transform:translate(-50%,0)}
.js .station{opacity:0}
.station .ort{width:16px;height:16px;transform:rotate(45deg);border:1px solid var(--gold);background:var(--grund);margin:0 auto 16px;position:relative;top:-8px}
.station h3{font-size:clamp(21px,1.6vw,28px);color:var(--tinte);line-height:1.15;text-align:center}
.station .seit{display:block;text-align:center;font-style:italic;font-size:15px;color:var(--leise);margin-top:4px}
.station p{font-size:16px;line-height:1.45;margin:10px 0 8px;text-align:center}
.station .fuss{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:14.5px}
.station .fuss a{color:var(--blau);min-height:24px;display:inline-flex;align-items:center}
.station .anteil{font-style:italic;color:var(--blau)}
.station.hinten h3{font-size:clamp(19px,1.3vw,23px);color:var(--text)}
.digital .ki{position:relative;z-index:2;margin:0 var(--rand) 26px;padding-top:14px;border-top:1px solid var(--linie);display:flex;gap:8px 28px;flex-wrap:wrap;font-size:15px;color:var(--leise)}
.digital .ki b{font-weight:500;color:var(--tinte)}
@media (max-width:900px){
 .digital .buehne{height:auto}
 .strom{flex:none;margin:34px var(--rand) 0;padding-left:34px}
 .strom svg{display:none}
 .strom::before{content:'';position:absolute;left:7px;top:0;bottom:0;width:1px;background:var(--gold);transform-origin:top;transform:scaleY(var(--pz,1))}
 .station{position:relative;width:auto;left:auto!important;top:auto!important;transform:none;padding:0 0 32px}
 .station .ort{position:absolute;left:-34px;top:6px;margin:0}
 .station h3,.station .seit,.station p{text-align:left}
 .station .fuss{justify-content:flex-start}
 .digital .ki{margin-top:6px;margin-bottom:56px}
}

.chronik{background:var(--grund2)}
.chronik .hintergrund{position:absolute;inset:0}
.chronik .hintergrund .ebene{transition:opacity 1.1s}
.js .chronik .hintergrund .ebene{opacity:0}
.chronik .hintergrund .ebene.an{opacity:1}
.chronik .hintergrund::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(228,232,238,.98) 0,rgba(228,232,238,.9) 45%,rgba(228,232,238,.4) 100%)}
.chronik .kopfzeile{position:absolute;top:0;left:0;right:0}
.jahre{list-style:none;margin:0;position:absolute;z-index:3;left:0;bottom:clamp(40px,10vh,110px);display:flex;padding-left:var(--rand);will-change:transform}
.jahr{width:clamp(250px,26vw,380px);flex:none;padding:0 28px 0 0;border-top:1px solid var(--gold);position:relative}
.jahr::before{content:'';position:absolute;left:0;top:-5px;width:9px;height:9px;transform:rotate(45deg);background:var(--grund2);border:1px solid var(--gold)}
.jahr b{display:block;font-weight:400;font-size:clamp(56px,6vw,104px);line-height:1;color:var(--tinte);letter-spacing:-.03em;margin-top:22px;font-variant-numeric:tnum}
.jahr span{display:block;font-size:clamp(17px,1.2vw,20px);line-height:1.4;color:var(--text);margin-top:10px;max-width:24ch}
.js .jahr b{opacity:.55;transition:opacity .4s,color .4s}
.js .jahr span{opacity:.8;transition:opacity .4s}
.jahr.an b{opacity:1;color:var(--goldtext)}
.jahr.an span{opacity:1}

.ausfahrt .tor{transform-origin:44% 52%}
.ausfahrt .schleier{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(16,28,51,.82) 0,rgba(16,28,51,.5) 55%,rgba(16,28,51,.2) 100%)}
.ausfahrt .inhalt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;color:#fff;max-width:none;margin:0}
.ausfahrt .gross{color:#fff;margin-top:12px}
.ausfahrt address{font-style:normal;font-size:clamp(19px,1vw + .75rem,1.375rem);line-height:1.6;margin-top:28px;color:rgba(255,255,255,.92)}
.ausfahrt address b{font-weight:500;color:#fff}
.knoepfe{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:32px;align-items:center}
.knopf{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;border:1px solid var(--licht);color:#fff;text-decoration:none;
 font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:background .3s,color .3s}
.knopf:hover{background:var(--licht);color:var(--tinte)}
.tel{color:#fff;text-decoration:none;font-size:20px;min-height:44px;display:inline-flex;align-items:center}
.tel span{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;margin-right:12px;color:var(--licht)}

.fuss-seite{background:var(--nacht);color:var(--nachtleise);border-top:1px solid rgba(238,237,230,.1);padding:40px 0 34px;font-size:15.5px}
.fuss-seite .innen{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:center}
.fuss-seite .marke{color:var(--nachttext)}
.fuss-seite nav{display:flex;gap:26px;flex-wrap:wrap}
.fuss-seite nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.fuss-seite nav a:hover{color:#fff;text-decoration:underline}

.unterseite main{padding-top:var(--kopf)}
.unterseite .kopf{background:var(--grund);color:var(--tinte);box-shadow:0 1px 0 var(--linie)}
.unterseite .kopf::before{display:none}
.unterseite .kopf.offen{background:transparent;box-shadow:none;color:#fff}
.text-seite{padding:clamp(56px,7vw,112px) 0 clamp(72px,9vw,140px)}
.text-seite h1{font-size:clamp(42px,5vw,80px);line-height:1.02;letter-spacing:-.02em;margin:18px 0 clamp(32px,4vw,56px);color:var(--tinte)}
.text-seite h2{font-size:clamp(24px,1.4vw + 14px,32px);line-height:1.2;margin:2.2em 0 .6em;color:var(--tinte)}
.text-seite .fliess{max-width:68ch}
.text-seite .fliess p{hyphens:auto}
.text-seite .lead{font-size:clamp(20px,1.3vw + 12px,25px);line-height:1.5;color:var(--tinte)}
.text-seite a{color:var(--blau)}
.text-seite .stand{font-style:italic;color:var(--leise);margin-top:3em}
.fehler{min-height:calc(100vh - var(--kopf));display:flex;align-items:center}
.fehler .gross{color:var(--tinte);margin-top:14px}
.fehler .wege{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-wrap:wrap;gap:8px 28px}
.fehler .wege a{min-height:44px;display:inline-flex;align-items:center;color:var(--blau)}

.ruhig .szene[data-hoehe]{height:auto!important}
.ruhig .szene[data-hoehe]>.buehne{position:relative}
.ruhig .flucht .buehne{overflow-x:auto}
.ruhig .chronik .buehne{height:auto;min-height:100vh}
.ruhig .jahre{position:relative;flex-wrap:wrap;gap:28px 0;padding:calc(var(--kopf) + 200px) var(--rand) 60px}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation:none!important}}
@media print{.kopf,.wegweiser,.fortschritt,.menueflaeche{display:none}}

.gross,.titel-a .name,.titel-b h1,.satz .text,.luft .zahl,.fassade .zaehler b,.jahr b,.menueflaeche a,.ring b,.fakten b,.satz .fussnote b,.text-seite h1,.kopfzeile .gross{font-family:var(--titel);font-weight:300}
.gross em,.titel-b h1 em,.satz .text em,.text-seite h1 em{font-family:var(--schrift);font-style:italic;font-weight:300;letter-spacing:-.01em}
.label,.marke b,.marke i,.menue,.knopf,.knoten.ast>b,.knoten.wurzel b,.titel-a .zusatz,.rollhinweis{font-family:var(--schrift);font-weight:500}
.label{letter-spacing:.42em;font-size:11.5px}
.gross{letter-spacing:-.005em;line-height:1.02}
.titel-b h1{letter-spacing:-.015em}
.titel-a .name{letter-spacing:.3em;font-weight:400}
.hutband{height:7px;background:linear-gradient(180deg,var(--gold) 0 1px,transparent 1px 3px,var(--blau) 3px 5px,transparent 5px 6px,var(--gold) 6px 7px)}
.zier{display:flex;align-items:center;gap:12px;color:var(--gold)}
.zier::before,.zier::after{content:'';height:1px;flex:1;background:currentColor;opacity:.7}

.linie-g{height:1px;background:linear-gradient(90deg,var(--licht),transparent);opacity:.7}
.nacht .gross em,.titel-b h1 em,.ausfahrt .gross em{color:var(--licht)}
.titel-b h1{font-size:clamp(60px,8.6vw,144px);line-height:.92}
.satz .text{font-size:clamp(34px,4.4vw,76px);line-height:1.1}
.knoten b{font-family:var(--schrift);font-weight:500}

.struktur.nacht{background:var(--nacht)}
.struktur .grundbild{opacity:.2}
.struktur .grundbild::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 58%,rgba(16,28,51,.35),var(--nacht) 75%)}
.struktur .kopfzeile{text-align:center}
.struktur .kopfzeile .gross{color:var(--nachttext);margin-left:auto;margin-right:auto}
.nacht .knoten b{color:var(--nachttext)}
.nacht .knoten span{color:var(--nachtleise)}
.nacht .knoten .anteil{color:var(--licht)}
.nacht .knoten .punkt{background:var(--nacht);border-color:var(--licht)}
.nacht .knoten .punkt::after{background:var(--licht)}
.nacht .knoten.ast>b{color:var(--licht);background:var(--nacht)}
.nacht .knoten.leise b{color:var(--nachtleise)}
.nacht .knoten ul{background:rgba(16,28,51,.85)}
.nacht .knoten ul li{color:var(--nachttext)}
.nacht .knoten ul li i{color:var(--licht)}
.nacht .netz path{stroke:var(--licht);stroke-opacity:.6}

.spur{gap:clamp(40px,6vw,120px)}
.spur .station-o{display:flex;flex-direction:column;justify-content:center;height:100%}
.spur .station-o .rahmen{height:min(64vh,700px);aspect-ratio:4/5}
.spur .station-o figcaption{margin-top:22px;max-width:30ch;font-style:normal;font-size:clamp(17px,1.1vw,19px);line-height:1.5;color:var(--nachtleise)}
.spur .station-o .jz{display:block;font-family:var(--titel);font-weight:300;font-size:clamp(44px,4vw,68px);line-height:1;letter-spacing:0;text-transform:none;color:var(--licht);margin:0 0 10px}
@media (max-width:700px){.spur .station-o .rahmen{height:46vh}.spur .station-o figcaption{max-width:78vw}}

.gesellschafter .buehne{display:flex;align-items:center}
.ges-raster{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,110px);align-items:center;width:100%}
.medaillon{margin:0;display:flex;justify-content:center}
.oval{width:min(30vw,400px);aspect-ratio:4/5;border-radius:50%;overflow:hidden;position:relative;box-shadow:0 0 0 1px rgba(201,180,138,.55),0 0 0 12px var(--nacht),0 0 0 13px rgba(201,180,138,.3)}
.oval picture,.oval img{width:100%;height:100%}
.oval img{object-fit:cover}
.ges-text blockquote{margin:26px 0 30px}
.zitat{font-family:var(--titel);font-style:italic;font-weight:300;font-size:clamp(32px,3.6vw,62px);line-height:1.12;color:var(--nachttext);max-width:20ch;margin:0}
.js .zitat .w{opacity:.14}
.gesellschafter .linie-g{width:220px;margin-bottom:22px}
.unterschrift b{display:block;font-weight:500;font-size:13px;letter-spacing:.38em;text-transform:uppercase;color:var(--licht)}
.unterschrift span{display:block;font-style:italic;font-size:17px;color:var(--nachtleise);margin-top:6px}
@media (max-width:900px){.gesellschafter .buehne{height:auto;padding:90px 0 80px}.ges-raster{grid-template-columns:minmax(0,1fr)}.oval{width:min(70vw,320px)}}

.kopf-rechts{display:flex;align-items:center;gap:28px}
.kapitel{font-style:italic;font-size:15px;opacity:0;transition:opacity .5s;white-space:nowrap}
.kapitel.an{opacity:.85}
@media (max-width:900px){.kapitel{display:none}}
.weiter{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:40;transform:translate(-50%,12px);opacity:0;pointer-events:none;
 font-family:var(--schrift);font-weight:500;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:#F1EFEA;
 background:rgba(16,28,51,.78);border:1px solid rgba(201,180,138,.5);padding:11px 20px 11px 22px;display:flex;align-items:center;gap:12px;transition:opacity .6s,transform .6s}
.weiter::after{content:'';width:7px;height:7px;border-right:1px solid var(--licht);border-bottom:1px solid var(--licht);transform:rotate(45deg) translateY(-2px);animation:wink 1.8s ease-in-out infinite}
@keyframes wink{50%{transform:rotate(45deg) translate(3px,1px)}}
.weiter.an{opacity:1;transform:translate(-50%,0)}
.bildpaar:has(figure:only-child){grid-template-columns:minmax(0,1fr);max-width:440px}
.bildpaar figure:only-child{margin-bottom:0}

.ges-raster{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.gerahmt{margin:0;padding:12px;border:1px solid rgba(201,180,138,.45);position:relative}
.gerahmt::after{content:'';position:absolute;inset:5px;border:1px solid rgba(201,180,138,.2);pointer-events:none}
.foto-r{aspect-ratio:5/3;overflow:hidden}
.foto-r picture,.foto-r img{width:100%;height:100%}
.foto-r img{object-fit:cover}
.unterschriften{display:flex;gap:18px 40px;flex-wrap:wrap}
.zitat{font-size:clamp(30px,3vw,52px)}
@media (max-width:900px){.ges-raster{grid-template-columns:minmax(0,1fr)}}

.residenz .rechts{min-width:0;overflow:hidden}
@media (max-width:1500px){.liste{grid-template-columns:minmax(0,1fr)}}

@media (min-width:2100px){
 body{font-size:22px}
 .innen,.inhalt{max-width:1880px}
 .label{font-size:14px}
 .cocina .gross,.wachstum .gross{font-size:68px}
 .orte li{padding:10px 0}
 .orte li b{font-size:31px}
 .orte li span{font-size:18.5px}
 .fakten b{font-size:64px}
 .fakten span{font-size:18.5px}
 .bildpaar figcaption{font-size:18px}
 .station{width:min(19vw,420px)}
 .station h3{font-size:36px}
 .station.hinten h3{font-size:30px}
 .station .seit{font-size:18.5px}
 .station p{font-size:20.5px}
 .station .fuss{font-size:17.5px}
 .digital .ki{font-size:18.5px}
 .jahr{width:clamp(250px,21vw,540px)}
 .jahr b{font-size:132px}
 .jahr span{font-size:24px}
}

html:not(.js) .einfahrt .titel-a{display:none}
html:not(.js) .tuer .vorn{display:none}
html:not(.js) .rollhinweis{display:none}
