@font-face{font-family:Geist;font-weight:300;font-display:swap;src:url(../fonts/geist-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:Geist;font-weight:300;font-display:swap;src:url(../fonts/geist-latin-ext-300-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2C60-2C7F}
@font-face{font-family:Geist;font-weight:400;font-display:swap;src:url(../fonts/geist-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:Geist;font-weight:400;font-display:swap;src:url(../fonts/geist-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2C60-2C7F}

:root{--schwarz:#000;--weiss:#fff;--grau:#f5f5f7;--leise:#86868b;--tinte:#1d1d1f;--rand:clamp(20px,5vw,80px);--display:clamp(46px,6.1vw,96px);--titel:clamp(28px,3.1vw,48px);--lead:clamp(19px,1.75vw,26px);--text:clamp(16px,1.15vw,18px);--meta:14px;--schrift:Geist,"Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--schwarz);color-scheme:dark;scrollbar-color:#6e6e73 #000}
body{margin:0;background:var(--schwarz);color:var(--weiss);font:400 var(--text)/1.5 var(--schrift);-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:#fff;color:#000}
.tafel ::selection,.band ::selection,.daten ::selection,.fuss ::selection,.blatt main ::selection{background:#1d1d1f;color:#fff}
.nur-leser{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
a{color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
#licht{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}
.schein{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(38vmax 38vmax at var(--sx,50%) var(--sy,62%),rgba(255,255,255,.13),transparent 70%)}

.kopf{position:fixed;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;height:60px;padding:0 var(--rand);background:rgba(0,0,0,.78);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.kopf img{display:block;height:34px;width:auto}
.kopf-rechts{display:flex;align-items:center;gap:clamp(14px,2.4vw,32px)}
.kopf nav{display:flex;gap:clamp(14px,2.4vw,32px);align-items:center}
.sprache{position:relative}
.sprache summary{list-style:none;cursor:pointer;padding:12px 0;color:rgba(255,255,255,.82);transition:color .2s}
.sprache summary::-webkit-details-marker{display:none}
.sprache summary:hover{color:#fff}
.sprache ul{position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:0;margin:0;padding:6px 0;min-width:9.5em;list-style:none;background:#1d1d1f;border:1px solid rgba(255,255,255,.14);border-radius:10px}
.sprache li a{display:block;padding:8px 14px;color:rgba(255,255,255,.86);text-decoration:none}
.sprache li a:hover{color:#fff}
.sprache li a[aria-current]{color:var(--leise)}
.zeichen-still{display:block;width:min(70vw,52svh);height:auto;margin:clamp(24px,5svh,48px) auto 0;opacity:0;animation:leise-auf .6s ease-out 2s forwards}
.licht-da .zeichen-still{display:none}
.kopf nav a{color:rgba(255,255,255,.82);text-decoration:none;padding:12px 0;transition:color .2s}
.kopf nav a:hover{color:#fff}

.held{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(92px,13svh,124px) var(--rand) 40px}
h1{margin:0;font-size:var(--display);font-weight:300;line-height:1.02;letter-spacing:-.024em}
.held p{margin:14px 0 0;max-width:36em;color:rgba(255,255,255,.78);letter-spacing:.003em;text-wrap:balance}
.knoepfe{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.pille{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:999px;background:#fff;color:#000;text-decoration:none;font-size:15px;transition:transform .35s cubic-bezier(.16,1,.3,1),background .2s}
.pille:hover{transform:scale(1.04)}
.pille.leer{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.pille.dunkel{background:#000;color:#fff}

.tafel{position:relative;z-index:1;background:var(--weiss);color:var(--tinte);padding:clamp(88px,18svh,180px) var(--rand);text-align:center;border-radius:clamp(20px,3vw,40px) clamp(20px,3vw,40px) 0 0}
h2{margin:0;font-size:var(--titel);font-weight:300;line-height:1.12;letter-spacing:-.018em}
.gross{margin:clamp(16px,2.6svh,24px) auto 0;max-width:34em;font-size:var(--lead);font-weight:400;line-height:1.42;letter-spacing:-.004em;color:#424245;text-wrap:pretty}
.wort{transition:opacity .25s linear}

.buehne{position:relative;z-index:1;background:transparent}
.bewegt .buehne{height:600svh}
.tafel + .buehne::before{content:"";position:absolute;inset:0 0 auto;height:clamp(20px,3vw,40px);background:var(--weiss);border-radius:0 0 clamp(20px,3vw,40px) clamp(20px,3vw,40px)}
.sticht{padding:96px var(--rand)}
.bewegt .sticht{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding:60px var(--rand) 0;overflow:clip}
.schritt{max-width:min(42vw,560px);margin-bottom:64px}
.bewegt .schritt{position:absolute;inset-inline-start:var(--rand);width:min(42vw,560px);max-width:none;margin:0;opacity:0;transform:translateY(26px);will-change:opacity,transform}
.schritt img{display:block;width:clamp(170px,15vw,230px);height:auto;margin-bottom:20px}
.schritt h3{margin:0;font-size:var(--titel);font-weight:300;line-height:1.12;letter-spacing:-.016em;text-wrap:balance}
.schritt p{margin:0;font-size:var(--lead);line-height:1.42;letter-spacing:.002em;color:rgba(255,255,255,.8);text-wrap:pretty}
.schritt ul{margin:clamp(16px,3svh,28px) 0 0;padding:0;list-style:none;border-bottom:1px solid rgba(255,255,255,.2)}
.schritt li{padding:.7em 0;border-top:1px solid rgba(255,255,255,.2);font-size:var(--lead);line-height:1.3;letter-spacing:.002em}
.schritt h2 + p,.schritt h3 + p{margin-top:12px}

.band{position:relative;z-index:1;background:var(--grau);color:var(--tinte);padding:clamp(72px,14svh,132px) var(--rand);text-align:center;border-radius:clamp(20px,3vw,40px) clamp(20px,3vw,40px) 0 0}
.band .leit{margin:0 0 18px;font-size:var(--text);color:#6e6e73}
.band a.post{display:block;margin:0 0 22px;font-size:var(--titel);font-weight:300;line-height:1.12;letter-spacing:-.018em;text-decoration:none;overflow-wrap:anywhere}
.daten{position:relative;z-index:1;background:var(--weiss);color:var(--tinte);padding:clamp(72px,14svh,132px) var(--rand)}
.daten h2{margin-bottom:clamp(24px,5svh,44px)}
dl{margin:0;font-variant-numeric:tabular-nums;border-bottom:1px solid #d2d2d7}
dl div{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(8px,2vw,32px);padding:clamp(13px,2svh,18px) 0;border-top:1px solid #d2d2d7}
dt{color:#6e6e73}
dd{margin:0}
address{font-style:normal}
.wartet{clip-path:inset(-2px 100% -2px 0)}
.geschrieben{clip-path:inset(-2px 0 -2px 0);transition:clip-path 900ms cubic-bezier(.16,1,.3,1) var(--versatz,0ms)}
.fuss{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;padding:24px var(--rand);background:var(--grau);color:#6e6e73;font-size:var(--meta)}
.fuss p{margin:0}
.fuss nav{display:flex;gap:1.4em}
.fuss a{text-decoration:none}
.fuss a:hover{text-decoration:underline}

.auftakt .kopf > a{animation:schrift-zieht 1000ms cubic-bezier(.45,0,.15,1) 100ms both}
.auftakt .kopf-rechts{animation:leise-auf 700ms ease-out 500ms both}
.auftakt h1{animation:steigt 1100ms cubic-bezier(.16,1,.3,1) 250ms both}
.auftakt .held p{animation:klar 900ms cubic-bezier(.16,1,.3,1) 620ms both}
.auftakt .knoepfe{animation:klar 900ms cubic-bezier(.16,1,.3,1) 780ms both}
@keyframes schrift-zieht{from{clip-path:inset(-20% 100% -20% -5%)}to{clip-path:inset(-20% -5% -20% -5%)}}
@keyframes leise-auf{from{opacity:0}to{opacity:1}}
@keyframes steigt{from{clip-path:inset(-10% -5% 100% -5%);transform:translateY(24%)}to{clip-path:inset(-10% -5% -20% -5%);transform:none}}
@keyframes klar{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}

@media (max-aspect-ratio:1/1),(max-width:760px) and (min-height:521px){
  .schritt{max-width:none}
  .bewegt .schritt{inset-inline:var(--rand);width:auto;bottom:11svh}
  .bewegt .sticht{align-items:flex-end}
}
@media (max-width:760px){
  dl div{grid-template-columns:minmax(0,1fr);gap:2px}
}
@media (max-height:520px) and (min-aspect-ratio:1/1){
  .held{align-items:flex-start;text-align:start;padding-top:76px;padding-bottom:16px}
  .held p{max-width:44vw}
  .knoepfe{justify-content:flex-start}
  .zeichen-still{display:none}
}
@media (max-width:430px){
  .kopf nav a:not(:last-child){display:none}
}
@media (prefers-reduced-motion:reduce){.pille,.wort{transition:none}.pille:hover{transform:none}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media print{.wartet{clip-path:none}.wort{opacity:1!important}}

/* Unterseiten */
.blatt{min-height:100svh;display:flex;flex-direction:column;background:var(--weiss);color:var(--tinte)}
.blatt main{flex:1;padding:clamp(120px,20svh,200px) var(--rand) clamp(56px,10svh,96px)}
.blatt h1{font-size:var(--titel);line-height:1.12;letter-spacing:-.018em}
.blatt main p{margin:clamp(14px,2.4svh,22px) 0 0;max-width:62ch}
.blatt h2{margin-top:clamp(28px,5svh,44px);font-size:var(--lead);font-weight:400;line-height:1.3}
.blatt section + section{margin-top:clamp(40px,8svh,72px);padding-top:clamp(8px,2svh,16px);border-top:1px solid rgba(29,29,31,.14)}
.blatt address{margin:clamp(14px,2.4svh,22px) 0 0;font-style:normal}
.blatt main a{color:inherit}

/* Farsi */

