/* Rounded display typography from the Kita detail pages. */
.home-page main h1,.home-page main h2,.home-page main h3{font-family:ui-rounded,'Avenir Next','Segoe UI',Arial,sans-serif;font-weight:900;letter-spacing:-.045em}
.home-page main h1{font-size:clamp(3.35rem,7vw,6.35rem);line-height:1.02}
.home-page main h2{font-size:clamp(2.45rem,4.8vw,4.3rem);line-height:1.08}
.home-page main .day-card h3{font-weight:900;letter-spacing:-.04em}
.home-page main .day-number{font-family:ui-rounded,'Avenir Next','Segoe UI',Arial,sans-serif;font-weight:900}

/* A short, skippable brand opening. The page remains usable without JavaScript. */
.site-intro{display:none}
.js-motion:not(.intro-seen) .site-intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(circle at 50% 46%,#174b3d 0%,var(--forest) 62%);color:var(--white);overflow:hidden}
.site-intro::before,.site-intro::after{content:"";position:absolute;left:50%;top:50%;width:min(82vw,650px);aspect-ratio:1;border:1px solid #f1d67e33;border-radius:50%;transform:translate(-50%,-50%);animation:intro-ring 1.65s ease-out both;pointer-events:none}
.site-intro::after{width:min(108vw,900px);animation-delay:.18s}
.intro-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:24px;padding:28px;text-align:center}
.intro-logo-card{width:clamp(190px,26vw,260px);padding:10px;border-radius:27px;background:var(--paper);box-shadow:0 34px 90px #00000054;opacity:0;transform:translateY(35px) scale(.84);animation:intro-logo .9s cubic-bezier(.18,.85,.22,1) .08s forwards}
.intro-logo-card img{display:block;width:100%;height:auto}
.intro-caption{margin:0;color:var(--sun);font-size:.79rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase;opacity:0;transform:translateY(10px);animation:intro-caption .55s ease .65s forwards}
.intro-skip{position:absolute;z-index:2;right:clamp(20px,4vw,62px);bottom:clamp(20px,4vw,50px);border:1px solid #ffffff70;border-radius:999px;background:#ffffff12;color:var(--white);padding:10px 17px;cursor:pointer;font-weight:750}
.intro-skip:hover{background:#ffffff29}
.site-intro.is-leaving{opacity:0;visibility:hidden;transition:opacity .62s ease,visibility .62s ease}
.site-intro.is-leaving .intro-logo-card{transform:translateY(-12px) scale(1.08);transition:transform .62s ease}
.home-page.intro-playing .header,.home-page.intro-playing main,.home-page.intro-playing .footer{opacity:.54;filter:blur(9px)}
.home-page .header,.home-page main,.home-page .footer{transition:opacity .8s ease,filter .8s ease}
@keyframes intro-logo{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes intro-caption{to{opacity:1;transform:translateY(0)}}
@keyframes intro-fade{to{opacity:1}}
@keyframes intro-ring{from{opacity:0;transform:translate(-50%,-50%) scale(.75)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* Scroll reveals leave layout and the Fernsehturm's own scroll effect intact. */
.reveal-ready [data-reveal]{opacity:0;transform:translateY(28px) scale(.985);transition:opacity 1.05s ease,transform 1.2s cubic-bezier(.2,.76,.2,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.reveal-ready [data-reveal].is-visible{opacity:1;transform:none;will-change:auto}
@media(max-width:650px){.home-page main h1{font-size:clamp(3.05rem,11.8vw,3.8rem)}.home-page main h2{font-size:clamp(2.4rem,9vw,3.2rem)}.intro-logo-card{width:205px}.intro-caption{font-size:.7rem;letter-spacing:.16em}}
/* Leaving to a Kita detail page: green circle grows from the click point. */
.page-curtain{position:fixed;inset:0;z-index:9999;background:#082b24;pointer-events:all;clip-path:circle(0 at var(--cx,50%) var(--cy,50%));transition:clip-path .7s cubic-bezier(.65,0,.25,1)}
.page-curtain.is-on{clip-path:circle(150vmax at var(--cx,50%) var(--cy,50%))}
@media(prefers-reduced-motion:reduce){.page-curtain{display:none}.site-intro::before,.site-intro::after{display:none}.intro-logo-card{transform:none;animation:intro-fade .8s ease .05s forwards}.intro-caption{transform:none;animation:intro-fade .6s ease .5s forwards}.site-intro.is-leaving .intro-logo-card{transform:none}.home-page .header,.home-page main,.home-page .footer,.reveal-ready [data-reveal]{opacity:1!important;filter:none!important;transform:none!important;transition:none!important;animation:none!important}}

/* Mobile: reduzierte Darstellung – Info-Karten ausblenden */
@media(max-width:760px){.intro aside,.contact-panel,.hero-inner .eyebrow,.hero-actions .button:not(.light){display:none}}
