@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Rye&display=swap");

:root{
  --circus-red:#9e1026;
  --circus-red-2:#c61732;
  --circus-dark:#23050b;
  --circus-wine:#4b0714;
  --christmas-green:#123f31;
  --cream:#fff5dc;
  --paper:#f7e8c2;
  --gold:#f7c94b;
  --gold-2:#d99b19;
  --gold-light:#ffe99c;
  --text:#fff9ea;
  --muted:#e2cfb6;
  --panel:rgba(255,248,228,.08);
  --panel-strong:rgba(255,248,228,.13);
  --line:rgba(247,201,75,.28);
  --shadow:0 24px 70px rgba(25,0,4,.42);
  --radius:22px;
}

html{background:var(--circus-dark)}
body{
  color:var(--text);
  background:
    radial-gradient(circle at 15% 8%,rgba(247,201,75,.10),transparent 23rem),
    radial-gradient(circle at 85% 24%,rgba(198,23,50,.22),transparent 31rem),
    linear-gradient(180deg,#26050c 0%,#16050a 52%,#08251c 100%);
}
body::before{
  content:"";position:fixed;inset:0;z-index:-10;pointer-events:none;opacity:.055;
  background:repeating-linear-gradient(105deg,rgba(255,245,220,.75) 0 32px,transparent 32px 64px)
}
.snowflakes{opacity:.55;z-index:85}
.snowflakes span{color:#fff9e8;text-shadow:0 0 8px #fff,0 0 18px rgba(247,201,75,.65)}

.site-header{
  min-height:94px;background:linear-gradient(180deg,rgba(59,3,13,.90),rgba(35,3,9,.78));
  border-bottom:1px solid rgba(247,201,75,.32);box-shadow:0 9px 32px rgba(22,0,4,.24)
}
.site-header::before{
  content:"";position:absolute;left:0;right:0;bottom:-5px;height:10px;pointer-events:none;
  background:radial-gradient(circle,#fff8c9 0 2px,#f5b827 3px 4px,transparent 5px) 0 50%/24px 10px repeat-x;
  filter:drop-shadow(0 0 5px rgba(247,201,75,.8))
}
.site-header.scrolled{min-height:78px;background:rgba(64,4,15,.96);border-color:rgba(247,201,75,.36);box-shadow:0 10px 35px rgba(18,0,4,.34)}
.brand-kicker{color:var(--gold-light);letter-spacing:.24em;text-shadow:0 0 12px rgba(247,201,75,.35)}
.brand-name{font-family:"Rye",Georgia,serif;color:#fff6dd;font-size:1.08rem;letter-spacing:.01em;text-shadow:0 2px 0 rgba(83,4,18,.9),0 0 16px rgba(247,201,75,.15)}
.desktop-nav a{color:#fff6df;text-transform:uppercase;letter-spacing:.07em;font-size:.78rem}
.desktop-nav a::after{background:linear-gradient(90deg,var(--gold-2),var(--gold-light))}
.header-ticket{
  color:#4b0714;border:2px solid #fff0b8;background:linear-gradient(180deg,#ffe99c,#f3bc34);
  box-shadow:0 0 0 3px rgba(126,12,31,.75),0 7px 22px rgba(0,0,0,.28),0 0 22px rgba(247,201,75,.28);
  text-transform:uppercase;letter-spacing:.05em
}
.menu-button{border-color:rgba(247,201,75,.4);background:rgba(255,245,220,.08)}
.mobile-menu{background:linear-gradient(180deg,rgba(82,5,19,.98),rgba(28,4,10,.99))}
.mobile-menu nav > a:not(.primary-button){font-family:"Rye",Georgia,serif;color:#fff4da;border-color:rgba(247,201,75,.22)}

.hero{min-height:930px;border-bottom:9px solid var(--gold-2);background:#27050d}
.hero::before{
  content:"";position:absolute;z-index:3;left:0;right:0;top:88px;height:20px;pointer-events:none;
  background:radial-gradient(circle,#fff8c9 0 2px,#ffc93d 3px 5px,rgba(143,14,37,.9) 6px 8px,transparent 9px) 0 50%/31px 20px repeat-x;
  filter:drop-shadow(0 0 7px rgba(255,210,73,.95));opacity:.95
}
.hero::after{
  content:"";position:absolute;z-index:-1;left:-8%;right:-8%;bottom:-95px;height:230px;
  background:repeating-linear-gradient(92deg,var(--circus-red) 0 90px,#f2dfb6 90px 180px);
  clip-path:polygon(0 70%,50% 0,100% 70%,100% 100%,0 100%);opacity:.20
}
.hero-overlay{
  background:linear-gradient(90deg,rgba(54,1,11,.96) 0%,rgba(56,2,13,.80) 43%,rgba(24,5,10,.36) 72%,rgba(28,3,8,.65) 100%),linear-gradient(0deg,#21050b 0%,transparent 40%)
}
.hero-glow-one{background:radial-gradient(circle,rgba(247,201,75,.34),transparent 68%)}
.hero-glow-two{background:radial-gradient(circle,rgba(198,23,50,.34),transparent 68%)}
.hero-content{position:relative;padding-top:118px;max-width:1180px}
.hero-content::before{
  content:"✦  MANEGE FREI  ✦";display:block;width:max-content;max-width:100%;margin-bottom:18px;color:#ffeaa4;
  font-weight:900;letter-spacing:.24em;font-size:.74rem;text-shadow:0 0 12px rgba(247,201,75,.4)
}
.edition-pill{border:1px solid rgba(255,233,156,.56);background:linear-gradient(180deg,rgba(122,10,31,.78),rgba(61,4,16,.78));color:#fff0b8}
.eyebrow{color:var(--gold-light);text-shadow:0 0 12px rgba(247,201,75,.24)}
.hero h1{font-family:"Rye",Georgia,serif;line-height:.97;letter-spacing:-.025em;max-width:1050px;text-shadow:0 4px 0 rgba(80,1,14,.75),0 8px 24px rgba(0,0,0,.38)}
.hero h1 span:first-child{color:#fff7e5}
.hero-highlight{display:inline-block;color:#ffd95b!important;-webkit-text-stroke:1px rgba(103,5,22,.65);text-shadow:0 3px 0 #92132b,0 6px 0 rgba(67,4,15,.8),0 0 26px rgba(255,211,83,.25)}
.hero-lead{color:#fff5df;max-width:730px}
.fact-card{border:1px solid rgba(255,231,149,.35);border-radius:14px;background:linear-gradient(180deg,rgba(83,6,20,.78),rgba(43,4,12,.72));box-shadow:0 12px 28px rgba(0,0,0,.16)}
.fact-label{color:#e5c989}.fact-card strong{color:#fff8e8}
.primary-button{color:#4c0715;border:2px solid #fff0b7;background:linear-gradient(180deg,#ffe897,#efb52d);box-shadow:0 0 0 3px rgba(128,13,34,.72),0 14px 34px rgba(0,0,0,.24),0 0 26px rgba(247,201,75,.15);text-transform:uppercase;letter-spacing:.045em}
.primary-button:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 0 0 3px rgba(128,13,34,.72),0 17px 40px rgba(0,0,0,.30),0 0 30px rgba(247,201,75,.24)}
.secondary-button{color:#fff7e5;border:1px solid rgba(255,233,156,.44);background:linear-gradient(180deg,rgba(122,10,31,.68),rgba(67,4,18,.64))}
.scroll-cue{border-color:rgba(255,233,156,.42);background:rgba(105,7,26,.54);color:#ffe99c}

.quickbar{margin-top:-43px}
.quickbar-grid{border:2px solid #c39328;border-radius:18px;background:linear-gradient(180deg,#fff6dc,#edd7aa);color:#3b0710;box-shadow:0 0 0 5px rgba(83,6,19,.92),0 17px 48px rgba(0,0,0,.33)}
.quickbar-grid::before{content:"";grid-column:1/-1;height:8px;margin-bottom:-8px;background:repeating-linear-gradient(90deg,#9e1026 0 32px,#f3e3be 32px 64px)}
.quickbar-grid > div + div{border-left:1px dashed rgba(92,26,27,.35)}
.quickbar-grid small{color:#7c5f47}.quickbar-grid strong{color:#4a0b16}

.section{overflow:hidden}
.section-heading h2,.copy-block h2,.location-copy h2,.newsletter-copy h2{font-family:"Rye",Georgia,serif;letter-spacing:0;line-height:1.14}
.section-heading{max-width:820px}
.section-heading::after{content:"✦  ✶  ✦";display:block;margin-top:18px;color:var(--gold);letter-spacing:.7em;font-size:.82rem}
.section-dark{background:radial-gradient(circle at 50% 0,rgba(247,201,75,.07),transparent 27rem),linear-gradient(180deg,#0c3025,#071f18);border-block:1px solid rgba(247,201,75,.20)}

.section-intro{background:radial-gradient(circle at 16% 18%,rgba(181,35,45,.08),transparent 25rem),linear-gradient(180deg,#fff3d3,#f4e2ba);color:#47101a}
.section-intro::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:repeating-linear-gradient(90deg,var(--circus-red) 0 58px,#f7e6bf 58px 116px)}
.section-intro .eyebrow{color:#a01229;text-shadow:none}.section-intro .copy-block h2{color:#4a0915}.section-intro .copy-block p{color:#6d4b3d}
.section-intro .feature-row span{color:#720e20;border-color:rgba(138,20,41,.22);background:rgba(255,255,255,.38)}
.media-card{border:8px solid #f6ddb0;outline:3px solid #9e1026;outline-offset:-13px;border-radius:18px;box-shadow:0 20px 55px rgba(83,12,21,.22)}
.media-card::before{content:"";position:absolute;inset:8px;z-index:3;pointer-events:none;border:2px dotted rgba(255,232,156,.75);border-radius:10px}
.media-badge{background:#9e1026;color:#fff1c7;border:1px solid #f5c94f;text-transform:uppercase;letter-spacing:.08em}

.date-highlight{border:2px solid rgba(247,201,75,.48);background:linear-gradient(145deg,rgba(93,8,25,.96),rgba(54,4,16,.94));box-shadow:0 16px 45px rgba(0,0,0,.26);position:relative}
.date-highlight::before{content:"";position:absolute;inset:8px;border:1px dashed rgba(255,231,149,.28);border-radius:15px;pointer-events:none}
.date-highlight strong,.date-copy h3{color:#fff6df}.date-month{color:var(--gold-light)}.date-line{background:linear-gradient(180deg,transparent,var(--gold),transparent)}
.action-grid{gap:18px}
.action-card{min-height:190px;border:2px solid rgba(247,201,75,.32);border-radius:16px;background:linear-gradient(160deg,rgba(120,10,30,.90),rgba(60,4,16,.94));box-shadow:0 13px 35px rgba(0,0,0,.20);position:relative}
.action-card::before,.action-card::after{content:"";position:absolute;top:50%;width:18px;height:36px;background:#0a2a20;transform:translateY(-50%)}
.action-card::before{left:-2px;border-radius:0 18px 18px 0}.action-card::after{right:-2px;border-radius:18px 0 0 18px}
.action-card:hover{border-color:#f7d467;background:linear-gradient(160deg,#a8102b,#61071b)}
.action-date{color:#ffe397}.action-card h3{color:#fff4d6;font-family:"Rye",Georgia,serif;font-weight:400}.action-card p{color:#e6cfb6}
.featured-action{background:radial-gradient(circle at 90% 10%,rgba(255,222,114,.12),transparent 12rem),linear-gradient(150deg,#b3132e,#660719)}

#preise{background:radial-gradient(circle at 90% 10%,rgba(157,16,38,.08),transparent 24rem),linear-gradient(180deg,#fff3d4,#f3dfb3);color:#48101a}
#preise .eyebrow{color:#9d1228;text-shadow:none}#preise .section-heading h2{color:#430713}#preise .section-heading p{color:#765443}#preise .section-heading::after{color:#9e1026}
.price-table-card,.seatplan-card{border:2px solid #b77e1f;border-radius:18px;background:#fff9e9;color:#3d0a13;box-shadow:0 15px 42px rgba(74,10,19,.16)}
.price-table-card{outline:5px solid rgba(141,17,38,.08);outline-offset:-11px}.price-row{border-bottom:1px dashed rgba(117,70,45,.24)}
.price-head{background:linear-gradient(180deg,#9e1026,#7a0b1f)}.price-head > div{color:#fff0c4!important}.price-row > div{color:#4c1020}.price-row > div:not(:first-child){color:#6c1021}
.price-notes{background:#f6e7c7;border-top:1px solid #d9bd85}.price-notes p{color:#745746}.price-notes strong{color:#8f1025}
.seatplan-card{background:linear-gradient(180deg,#fffdf4,#f6e4bd)}.mini-label{color:#9e1026}

.section-gallery{background:radial-gradient(circle at 12% 20%,rgba(247,201,75,.09),transparent 18rem),linear-gradient(180deg,#4c0715,#27040c)}
.gallery-card{border:2px solid rgba(247,201,75,.36);border-radius:18px;background:#26040c;box-shadow:0 15px 40px rgba(0,0,0,.25)}
.gallery-card img{filter:saturate(1.05) contrast(1.02)}
.text-gallery{background:radial-gradient(circle at 88% 14%,rgba(255,229,135,.11),transparent 12rem),linear-gradient(145deg,#861026,#4c0715)}
.big-quote{color:#ffe08a}.text-gallery h3{font-family:"Rye",Georgia,serif;font-weight:400;color:#fff3d5}.text-gallery p{color:#e7cfb5}

.section-location{background:radial-gradient(circle at 80% 10%,rgba(247,201,75,.08),transparent 22rem),linear-gradient(180deg,#123d30,#08261d);border-block:1px solid rgba(247,201,75,.20)}
.location-copy .address{color:#e1d2b6}.contact-cards a{border:1px solid rgba(247,201,75,.25);background:rgba(255,245,220,.06)}
.contact-cards small{color:#cdbf9f}.contact-cards strong{color:#fff6df}.map-card{border:5px solid #f0d38f;outline:2px solid #8d1026;outline-offset:-10px;border-radius:18px}

.social-section{background:linear-gradient(180deg,#25040b,#35050f)}
.social-wrap{border:2px solid rgba(247,201,75,.30);border-radius:18px;background:linear-gradient(140deg,rgba(120,9,29,.58),rgba(21,3,8,.64));box-shadow:0 15px 42px rgba(0,0,0,.18)}
.social-buttons a{border-color:rgba(247,201,75,.28);background:rgba(255,244,214,.08);color:#fff1d2}
.newsletter-section{background:linear-gradient(180deg,#35050f,#1b0308)}
.newsletter-card{border:2px solid #c99128;border-radius:18px;background:repeating-linear-gradient(105deg,rgba(255,255,255,.015) 0 30px,transparent 30px 60px),linear-gradient(145deg,#7d0b22,#3f0613);box-shadow:0 20px 58px rgba(0,0,0,.25)}
.newsletter-copy > p:last-child{color:#e3cdb3}.form-grid label{color:#dcc59f}.form-grid input{border-color:rgba(247,201,75,.30);background:rgba(33,2,8,.58);color:#fff8e9}
.form-grid input:focus{border-color:#f2ca58;box-shadow:0 0 0 3px rgba(247,201,75,.12)}

.site-footer{background:#170308;border-top:8px solid #9e1026;box-shadow:inset 0 3px 0 #e7c467}.footer-grid strong{font-family:"Rye",Georgia,serif;font-weight:400;color:#fff1cc}
.footer-grid p,.footer-links{color:#ceb99c}.footer-links a:hover{color:#ffe38b}.footer-bottom{color:#957d6a;border-color:rgba(247,201,75,.12)}

.legal-page{background:radial-gradient(circle at 50% 0,rgba(247,201,75,.09),transparent 24rem),linear-gradient(180deg,#3d0612,#190308)}
.legal-shell{border:2px solid #b98a30;background:#fff3d5;color:#43101a;box-shadow:0 20px 65px rgba(0,0,0,.28)}
.legal-shell h1,.legal-shell h2{font-family:"Rye",Georgia,serif;color:#711023;font-weight:400}.legal-shell p,.legal-shell li{color:#6e5043}.legal-shell a,.back-link{color:#9c1027}

@media (max-width:1050px){.hero::before{top:76px}}
@media (max-width:760px){
  .site-header{min-height:74px}.site-header::before{bottom:-4px}.brand-name{font-size:.83rem}
  .hero{min-height:800px;padding-top:125px}.hero::before{top:70px;background-size:25px 18px;height:18px}.hero-content::before{font-size:.62rem;letter-spacing:.15em}
  .hero h1{font-size:clamp(2.85rem,13vw,4.15rem)}.hero-highlight{-webkit-text-stroke:.6px rgba(103,5,22,.65)}
  .quickbar{margin-top:-26px}.quickbar-grid::before{display:none}.quickbar-grid > div + div{border-left:0;border-top:1px dashed rgba(92,26,27,.25)}
  .section-intro::before{height:9px;background-size:90px 9px}.action-card::before,.action-card::after{display:none}.newsletter-card,.social-wrap{border-radius:14px}
}
@media (prefers-reduced-motion:reduce){.hero::before{filter:none}}
