:root{--red:#7a0813;--red2:#b8141f;--blue:#061a3a;--gold:#f4b529;--cream:#fff0c2;--ink:#160a09}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--blue);color:#fff;font:400 18px/1.55 "Source Sans 3",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:76px;display:flex;align-items:center;gap:36px;padding:0 clamp(20px,5vw,76px);background:rgba(7,10,21,.78);border-bottom:1px solid rgba(244,181,41,.25);backdrop-filter:blur(15px)}.brand{font-family:Rye,serif;letter-spacing:.06em;color:var(--gold);white-space:nowrap}.brand span{color:#fff}.topbar nav{display:flex;gap:30px;margin:auto}.topbar nav a{font-weight:700;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase}.topbar nav a:hover{color:var(--gold)}.hotline.mini{border:1px solid var(--gold);border-radius:99px;padding:8px 16px;color:var(--gold);font-weight:800}.hero{min-height:100svh;padding:120px clamp(24px,7vw,110px) 80px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(2,9,22,.88) 0%,rgba(2,9,22,.66) 44%,rgba(2,9,22,.2) 72%,rgba(2,9,22,.08) 100%),linear-gradient(0deg,rgba(2,9,22,.58),transparent 42%),url("zirkuszelt.jpg") center center/cover no-repeat;isolation:isolate}.hero-inner{max-width:780px;position:relative;z-index:2}.hero .lead strong{color:var(--gold)}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18))}.lights{display:none}.hero-inner{max-width:760px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.22em;font-weight:900;color:var(--gold);font-size:.8rem}.hero h1{margin:.15em 0 .25em;font-family:Rye,serif;font-size:clamp(4rem,7.7vw,8rem);line-height:.83;color:var(--gold);text-shadow:0 4px 0 var(--red),0 9px 24px rgba(0,0,0,.55)}.hero h1 span{display:block;color:#fff;font:800 clamp(1rem,2vw,1.55rem)/1 "Source Sans 3",sans-serif;letter-spacing:.2em;text-transform:uppercase;text-shadow:none;margin-bottom:24px}.lead{font-size:clamp(1.1rem,2vw,1.45rem);max-width:580px;color:#e8edf6}.hero-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border-radius:4px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;transition:.2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:var(--ink);box-shadow:0 8px 25px rgba(244,181,41,.2)}.outline{border:1px solid rgba(255,255,255,.55)}.hero-poster{justify-self:center;transform:rotate(2.5deg);filter:drop-shadow(0 28px 34px rgba(0,0,0,.55));max-width:430px}.hero-poster img{display:block;width:100%;border:8px solid var(--gold);outline:4px solid var(--red)}.scrollcue{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.65}.venue{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:110px max(8vw,24px);background:var(--cream);color:var(--ink)}h2{font-family:Rye,serif;font-size:clamp(2.5rem,5vw,5.5rem);line-height:1.05;margin:.15em 0}.venue-card{align-self:center;background:#fff;padding:36px;display:flex;gap:22px;border-left:7px solid var(--red);box-shadow:0 16px 45px rgba(67,23,8,.14);font-size:1.3rem}.pin{color:var(--red);font-size:1.8rem}.schedule{padding:110px max(7vw,24px);background:#071934}.section-head{text-align:center;max-width:720px;margin:0 auto 55px}.section-head p:last-child{color:#b9c7dc}.date-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1250px;margin:auto}.date-card{position:relative;text-align:center;padding:35px 18px 28px;background:linear-gradient(165deg,#fff7d9,#f3d58c);color:var(--ink);border:2px solid var(--gold);min-height:320px;display:flex;flex-direction:column;justify-content:center}.date-card:before{content:"★";color:var(--red);font-size:1.2rem}.date-card p{font-weight:800;min-height:55px}.date-card strong{display:block;font:400 5rem/1 Rye,serif;color:var(--red)}.date-card small{font-weight:900;text-transform:uppercase;letter-spacing:.1em}.date-card div{margin-top:22px;padding-top:18px;border-top:1px solid rgba(122,8,19,.25);font-weight:700}.date-card.premiere{transform:translateY(-12px);background:linear-gradient(160deg,#9e101b,#5e0610);color:#fff}.date-card.premiere strong{color:var(--gold)}.badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);padding:5px 16px;font-weight:900;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.prices{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8vw;padding:110px max(8vw,24px);background:linear-gradient(135deg,#b1111d,#6d0710)}.light{color:var(--cream)}.price-copy p:not(.kicker){max-width:620px;font-size:1.15rem}.cream{margin-top:18px;background:var(--cream);color:var(--red)}.ticket{position:relative;background:var(--cream);color:var(--red);padding:55px 40px;text-align:center;clip-path:polygon(4% 0,96% 0,100% 8%,100% 92%,96% 100%,4% 100%,0 92%,0 8%);box-shadow:inset 0 0 0 5px var(--gold)}.ticket:after{content:"";position:absolute;inset:13px;border:2px dashed var(--red)}.ticket span,.ticket b,.ticket small{position:relative;z-index:1;display:block}.ticket span{font-weight:900;letter-spacing:.12em}.ticket b{font:400 clamp(2.1rem,4vw,4rem)/1.2 Rye,serif;margin:26px 0;color:var(--blue)}.ticket small{font-size:1rem;font-weight:700}.poster-section{padding:110px max(10vw,24px);background:#f8ecd0;color:var(--ink);display:grid;grid-template-columns:1fr minmax(280px,520px);align-items:center;gap:8vw}.poster-section img{width:100%;box-shadow:0 26px 60px rgba(42,20,5,.25);border:10px solid #fff}footer{padding:45px max(6vw,24px);display:flex;align-items:center;gap:35px;justify-content:space-between;background:#020916;font-size:.9rem}footer p{color:#aab8ce}footer>a{color:var(--gold);font-weight:800}@media(max-width:900px){.topbar nav{display:none}.topbar{height:68px;justify-content:space-between;padding:0 18px}.hotline.mini{font-size:.78rem;padding:7px 10px}.hero{grid-template-columns:1fr;padding-top:105px;text-align:center}.hero-inner{margin:auto}.hero-actions{justify-content:center}.hero-poster{max-width:340px;margin-top:20px}.scrollcue{display:none}.venue,.prices,.poster-section{grid-template-columns:1fr}.date-grid{grid-template-columns:1fr 1fr}.date-card.premiere{transform:none}footer{flex-direction:column;text-align:center;gap:8px}}@media(max-width:560px){body{font-size:16px}.brand{font-size:.82rem}.hero{padding-left:18px;padding-right:18px}.hero h1{font-size:clamp(3.2rem,18vw,5rem)}.button{width:100%}.date-grid{grid-template-columns:1fr}.venue,.schedule,.prices,.poster-section{padding-top:80px;padding-bottom:80px}.ticket{padding:48px 25px}.poster-section{gap:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.family{padding:100px max(8vw,24px);display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;background:#fff7df;color:var(--ink)}.family h2{color:var(--red)}.family p:not(.kicker){max-width:760px;font-size:1.18rem}.family-points{display:grid;gap:12px}.family-points strong,.family-points span{display:block;padding:18px 22px;background:#fff;border-left:5px solid var(--gold);box-shadow:0 10px 30px rgba(60,25,5,.08);font-weight:800}.family-points strong{background:var(--red);color:#fff;border-left-color:var(--gold);font-size:1.2rem}@media(max-width:900px){.family{grid-template-columns:1fr}.hero{background-position:62% center}.hero:after{content:"";position:absolute;inset:0;background:rgba(2,9,22,.2);z-index:0}}@media(max-width:560px){.hero{background-position:58% center}.family{padding-top:75px;padding-bottom:75px}}


/* Impressum */
.legal-section{padding:80px max(6vw,24px);background:#f4ead2;color:#1c1620}
.legal-section .section-head{margin-bottom:28px}
.legal-card{max-width:900px;background:#fffaf0;border:1px solid rgba(80,30,20,.15);border-radius:20px;padding:clamp(24px,4vw,48px);box-shadow:0 16px 50px rgba(40,15,10,.10)}
.legal-card h3{font-family:"Source Sans 3",sans-serif;font-size:1.15rem;margin:28px 0 8px;color:#7a0813}
.legal-card h3:first-child{margin-top:0}
.legal-card p{line-height:1.7;margin:0}
.legal-card a{color:#7a0813;font-weight:700;text-decoration:none}
.legal-card a:hover{text-decoration:underline}
footer>a[href="#impressum"]{margin-left:18px}
