:root{color-scheme:dark;--ink:#f7f4ea;--gold:#d0b66d;--night:#171714;--muted:#d7d1bf;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--night);color:var(--ink)}body{min-height:100svh}.page{min-height:100svh;display:flex;flex-direction:column}.photo-stage{position:relative;display:grid;place-items:center;flex:1;min-height:0;height:min(72svh,980px);overflow:hidden;background:#191a17}.slides,.slide{position:absolute;inset:0}.slide{margin:0;opacity:0;transition:opacity 1.5s ease-in-out}.slide.is-active{opacity:1}.slide-backdrop{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(18px) brightness(.35);transform:scale(1.04)}.slide-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:transparent}.brand-overlay{position:absolute;top:clamp(14px,3.2vw,42px);left:50%;width:min(390px,76vw);padding:10px 18px 8px;transform:translateX(-50%);border:1px solid rgba(208,182,109,.72);border-radius:2px;background:rgba(249,247,239,.93);box-shadow:0 8px 30px rgba(0,0,0,.2)}.brand-overlay img{display:block;width:100%;height:auto}.countdown{padding:clamp(1.35rem,3.2vh,2.7rem) clamp(1rem,4vw,4rem) clamp(1.55rem,4vh,3rem);text-align:center;background:var(--night)}.countdown h1{margin:0;color:var(--gold);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,4vw,3.35rem);font-weight:400;letter-spacing:.035em}.event-date{margin:.65rem 0 1.45rem;color:var(--muted);font-size:clamp(.82rem,1.35vw,1.05rem);letter-spacing:.08em}.event-date span{padding:0 .28rem;color:var(--gold)}.timer{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.25rem,2vw,1.7rem);width:min(1040px,100%);margin:0 auto}.time-unit{display:flex;flex-direction:column;align-items:center;gap:.35rem}.time-unit strong{font-variant-numeric:tabular-nums;color:#fff;font-size:clamp(2rem,7vw,5.2rem);font-weight:500;line-height:1;letter-spacing:-.04em}.time-unit span{color:var(--gold);font-size:clamp(.56rem,1.2vw,.78rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase}@media(max-width:600px){.photo-stage{height:56vw;min-height:230px;max-height:52svh;flex:none}.brand-overlay{top:12px;width:min(270px,74vw);padding:7px 12px 6px}.countdown{padding:1.4rem .7rem 1.8rem}.countdown h1{font-size:clamp(1.65rem,7vw,2.2rem)}.event-date{margin:.45rem 0 1.25rem;font-size:.76rem;letter-spacing:.035em}.timer{gap:.1rem}.time-unit{gap:.45rem}.time-unit strong{font-size:clamp(1.55rem,8vw,2.8rem)}.time-unit span{font-size:.52rem;letter-spacing:.08em}}@media(prefers-reduced-motion:reduce){.slide{transition:none}}
/* Transparent überlagertes Logo und kompakte Partnerleiste am Seitenende. */
.brand-overlay{top:clamp(14px,2.5vw,34px);left:50%;width:min(650px,82vw);padding:0;transform:translateX(-50%);border:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:none;filter:drop-shadow(0 3px 12px rgba(0,0,0,.72))}
.partner-strip{padding:1rem clamp(.8rem,3vw,2.2rem) .85rem;background:#fff;color:#222}
.partner-strip h2{margin:0 0 .65rem;text-align:center;color:#655a3a;font-family:Georgia,'Times New Roman',serif;font-size:clamp(.72rem,1.2vw,.92rem);font-weight:400;letter-spacing:.12em;text-transform:uppercase}
.partner-logos{display:flex;align-items:center;justify-content:center;gap:clamp(.65rem,1.7vw,1.55rem);max-width:1500px;margin:0 auto}
.partner-logos img{display:block;width:auto;max-width:clamp(56px,8.5vw,126px);height:clamp(30px,4.2vw,48px);object-fit:contain}
.partner-logos img[src*="woelkchen"]{max-width:clamp(65px,10vw,145px)}
@media(max-width:700px){.brand-overlay{top:12px;width:88vw}.partner-strip{padding:.75rem 0 .8rem}.partner-strip h2{margin-bottom:.55rem;font-size:.68rem}.partner-logos{justify-content:flex-start;gap:1.1rem;overflow-x:auto;padding:0 1rem;scrollbar-width:thin}.partner-logos img{flex:0 0 auto;max-width:100px;height:34px}}
/* Das invertierte Logo ersetzt die bisherige Überschrift im Countdown-Bereich. */
.countdown-brand{width:min(570px,78vw);margin:0 auto 1rem}
.countdown-brand img{display:block;width:100%;height:auto}
.brand-overlay{display:none}
@media(max-width:600px){.countdown-brand{width:min(430px,86vw);margin-bottom:.85rem}}
/* Countdown: Logo mittig, Datum links und kompakter Zähler rechts. */
.countdown-brand{display:block;width:min(510px,78vw);margin:0 auto 1.2rem;text-align:center}
.countdown-row{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(0,2fr);align-items:center;gap:clamp(1rem,4vw,3.5rem);width:min(1120px,100%);margin:0 auto}
.countdown-row .event-date{margin:0;text-align:left;line-height:1.65}
.countdown-row .timer{width:100%;max-width:none;gap:clamp(.25rem,1.3vw,1.2rem);margin:0}
.countdown-row .time-unit strong{font-size:clamp(1.7rem,4.6vw,3.8rem)}
.countdown-row .time-unit span{font-size:clamp(.52rem,.95vw,.7rem);letter-spacing:.1em}
@media(max-width:700px){.countdown-brand{width:min(400px,86vw);margin-bottom:1rem}.countdown-row{grid-template-columns:1fr;gap:1rem}.countdown-row .event-date{text-align:center}.countdown-row .timer{gap:.12rem}.countdown-row .time-unit strong{font-size:clamp(1.35rem,7vw,2.2rem)}.countdown-row .time-unit span{font-size:.5rem;letter-spacing:.07em}}
/* Großformatige Querformatfotos über die gesamte Bildschirmbreite. */
.photo-stage{display:block;width:100%;height:auto;aspect-ratio:3/2;min-height:0;max-height:none;flex:0 0 auto;overflow:hidden}
.slide-backdrop{display:none}
.slide-photo{object-fit:cover;object-position:center;width:100%;height:100%;background:#191a17}
/* Logo links, Datum über dem flachen Countdown rechts. */
.countdown{padding:1rem clamp(1rem,4vw,3rem) 1.2rem}
.countdown-layout{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(0,1.55fr);align-items:center;gap:clamp(1.2rem,3.5vw,3.2rem);width:min(1120px,100%);margin:0 auto}
.countdown-brand{display:block;width:min(460px,100%);margin:0;text-align:left}
.countdown-brand img{display:block;width:100%;height:auto}
.countdown-content{min-width:0}
.countdown-content .event-date{margin:0 0 .8rem;text-align:center;line-height:1.4}
.countdown-content .timer{width:100%;max-width:none;gap:clamp(.25rem,1.3vw,1.2rem);margin:0 auto}
.countdown-content .time-unit strong{font-size:clamp(1.45rem,3.2vw,2.85rem)}
.countdown-content .time-unit span{font-size:clamp(.5rem,.82vw,.65rem);letter-spacing:.08em}
@media(max-width:700px){.photo-stage{width:100%;height:auto;aspect-ratio:3/2;min-height:0;max-height:none}.countdown{padding:.95rem .65rem 1.15rem}.countdown-layout{grid-template-columns:1fr;gap:.75rem}.countdown-brand{width:min(390px,86vw);margin:0 auto;text-align:center}.countdown-content .event-date{margin:0 0 .65rem;text-align:center}.countdown-content .timer{gap:.08rem}.countdown-content .time-unit{gap:.25rem}.countdown-content .time-unit strong{font-size:clamp(1.25rem,6.6vw,1.95rem)}.countdown-content .time-unit span{font-size:.46rem;letter-spacing:.04em}}
/* Partnerlogos bleiben sichtbar und umbrechbar, auch wenn das Fenster schmaler wird. */
.partner-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(125px,100%),1fr));align-items:center;justify-items:center;gap:clamp(.7rem,1.6vw,1.2rem);width:min(1260px,100%);max-width:1260px;overflow:visible;padding:0;margin:0 auto}
.partner-logos img,.partner-logos img[src*="woelkchen"]{width:100%;max-width:140px;height:clamp(34px,4.2vw,48px);object-fit:contain;justify-self:center}
.films{padding:clamp(1.3rem,3vw,2.2rem) clamp(1rem,4vw,3rem);background:#171714;color:#f7f4ea}
.films h2{margin:0 0 1rem;text-align:center;color:#d0b66d;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1rem,1.8vw,1.3rem);font-weight:400;letter-spacing:.12em;text-transform:uppercase}
.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,1.6vw,1.3rem);width:min(1180px,100%);margin:0 auto}
.film-card{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;border:1px solid rgba(208,182,109,.35);background:#292923;color:#fff;text-decoration:none}
.film-card::after{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82));content:""}
.film-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.film-card:hover img,.film-card:focus-visible img{transform:scale(1.04)}
.film-play{position:absolute;z-index:1;top:50%;left:50%;display:grid;width:2.7rem;height:2.7rem;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(20,20,18,.52);color:#fff;font-size:1rem;padding-left:.15rem}
.film-label{position:absolute;z-index:1;right:.8rem;bottom:.7rem;left:.8rem;display:flex;flex-direction:column;gap:.18rem;text-shadow:0 1px 8px rgba(0,0,0,.75)}
.film-label strong{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:600}
.film-label small{font-size:clamp(.72rem,1.1vw,.88rem);letter-spacing:.03em}
@media(max-width:700px){.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .55rem;padding:0 .8rem}.partner-logos img,.partner-logos img[src*="woelkchen"]{max-width:150px;height:clamp(34px,10vw,46px)}.film-grid{grid-template-columns:1fr;max-width:520px;gap:.8rem}.films{padding:1.3rem .8rem 1.6rem}}
@media(prefers-reduced-motion:reduce){.film-card img{transition:none}}
/* Partnerbereich: gut getrennte, einzeln verlinkte Logos mit großzügigem Abstand. */
.partner-strip{padding:1.4rem clamp(1rem,4vw,3rem) 1.6rem}
.partner-strip h2{margin-bottom:1.1rem}
.partner-logos{grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr));gap:1.15rem 1.25rem;width:min(1160px,100%)}
.partner-link{display:grid;place-items:center;width:100%;min-height:78px;padding:.85rem 1rem;border-radius:5px;background:#fff;transition:background-color .2s ease,transform .2s ease}
.partner-link:hover,.partner-link:focus-visible{background:#f5f3ee;transform:translateY(-2px)}
.partner-link:focus-visible{outline:2px solid #81734e;outline-offset:3px}
.partner-link img,.partner-link img[src*="woelkchen"]{display:block;width:100%;max-width:145px;height:48px;object-fit:contain}
@media(max-width:700px){.partner-strip{padding:1.2rem .8rem 1.4rem}.partner-strip h2{margin-bottom:1rem}.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .9rem;padding:0 .2rem}.partner-link{min-height:76px;padding:.8rem .65rem}.partner-link img,.partner-link img[src*="woelkchen"]{max-width:145px;height:46px}}
@media(prefers-reduced-motion:reduce){.partner-link{transition:none}}
/* Einstieg zur Hintergrundgeschichte, klar unterhalb von Bild und Countdown. */
.about-jump{display:inline-flex;align-items:center;gap:.55rem;margin:1.15rem auto 0;padding:.62rem 1rem;border:1px solid rgba(208,182,109,.7);border-radius:2px;color:#f7f4ea;text-decoration:none;font-size:.84rem;letter-spacing:.04em;transition:background-color .2s ease,color .2s ease}
.about-jump:hover,.about-jump:focus-visible{background:var(--gold);color:#171714;outline:none}
.about-jump span{color:var(--gold);font-size:1.1rem;line-height:1}
.about-jump:hover span,.about-jump:focus-visible span{color:#171714}
.about{scroll-margin-top:1rem;padding:clamp(2.4rem,6vw,5rem) clamp(1.1rem,5vw,4rem);background:#211f1a;color:#f7f4ea}
.about-copy{width:min(850px,100%);margin:0 auto}
.about-eyebrow{margin:0 0 .55rem;color:var(--gold);font-size:.72rem;letter-spacing:.18em;text-align:center;text-transform:uppercase}
.about h2{margin:0 0 1.5rem;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:400;line-height:1.2;text-align:center}
.about-copy>p:not(.about-eyebrow):not(.about-invitation){margin:0 0 1rem;color:#e7e2d6;font-size:clamp(.98rem,1.3vw,1.08rem);line-height:1.75}
.about-invitation{margin:1.8rem 0 0;color:var(--gold);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.35;text-align:center}
.about-invitation span{display:block;margin-top:.55rem;color:#e7e2d6;font-family:Arial,Helvetica,sans-serif;font-size:clamp(.88rem,1.2vw,1rem);line-height:1.6}
@media(max-width:700px){.about-jump{margin-top:.9rem;padding:.58rem .9rem;font-size:.8rem}.about{padding:2.2rem 1rem 2.4rem}.about h2{margin-bottom:1.1rem}.about-copy>p:not(.about-eyebrow):not(.about-invitation){font-size:.96rem;line-height:1.7}.about-invitation{margin-top:1.4rem}}
