@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#f6f3ef;background:#121216;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}.topbar{height:86px;display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,24px);background:#121216;border-bottom:1px solid #333239}.brand{display:inline-flex;gap:6px;align-items:center;font-size:15px;font-weight:700;letter-spacing:-.4px;white-space:nowrap}.brand strong{color:#ff6842}.brand-mark{color:#ff6842;font-size:26px;margin-right:9px}.top-link{font-weight:800;font-size:12px;letter-spacing:1px}.top-link span{color:#ff6842;margin-left:10px}.hero{position:relative;min-height:670px;height:min(820px,calc(100svh - 86px));overflow:hidden;display:flex;align-items:center;isolation:isolate;background:radial-gradient(ellipse at 80% 80%,#68251c 0,transparent 43%),radial-gradient(ellipse at 20% 0%,#30232c 0,transparent 43%),#17171e}.hero:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.5;background:repeating-linear-gradient(90deg,transparent 0,transparent 100px,#ffffff08 101px,#ffffff08 102px),linear-gradient(120deg,#0008,transparent 70%)}.hero:after{content:'';position:absolute;width:560px;height:560px;right:-150px;bottom:-280px;border:90px solid #ff5a35;filter:blur(115px);opacity:.15;z-index:-1}.hero-inner{padding:55px max(5vw,24px) 90px;max-width:1200px;width:100%;margin:auto}.eyebrow,.kicker,.section-index{font-size:12px;font-weight:800;letter-spacing:2.5px;color:#ff7754}.eyebrow{display:flex;align-items:center;gap:13px;color:#fff}.live-dot{width:9px;height:9px;background:#ff6743;border-radius:50%;box-shadow:0 0 0 5px #ff67431c}.eyebrow-rule{width:60px;height:1px;background:#555}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;line-height:.92;font-weight:900;letter-spacing:-1.5px}h1{font-size:clamp(88px,12.2vw,190px);letter-spacing:-4px;margin:29px 0 20px}h1 span{display:block}.accent{color:#ff6947}.hero-claim{font-size:clamp(16px,2vw,25px);font-weight:700;letter-spacing:-.5px}.hero-claim em{font-style:normal;color:#ff7754}.hero-date{display:flex;gap:26px;align-items:center;margin:48px 0 42px}.date-number{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;font-size:clamp(70px,9vw,118px);line-height:.8}.date-number span{color:#ff6947}.date-detail{display:flex;flex-direction:column;gap:5px;padding-left:24px;border-left:1px solid #555}.date-detail strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px;letter-spacing:0}.date-detail span{font-size:11px;letter-spacing:1.5px;color:#aaa7ad}.primary-link{display:inline-flex;align-items:center;gap:65px;background:#ff6745;color:#161318;padding:19px 25px;font-weight:800;font-size:13px;letter-spacing:1px;transition:transform .2s,background .2s}.primary-link:hover{transform:translateY(-3px);background:#ff896b}.primary-link span{font-size:20px}.hero-footer{position:absolute;bottom:27px;left:max(5vw,24px);right:max(5vw,24px);display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;font-weight:800;color:#aaa}.section-shell{padding:108px max(5vw,24px)}.section-index{color:#7d7a80;margin-bottom:35px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:30px;min-height:480px}.intro-copy{max-width:830px}.kicker{margin:0 0 20px}.intro h2,.program h2,.end-section h2{font-size:clamp(64px,7vw,110px);margin-bottom:28px}.intro h2 span,.program h2 span,.end-section h2 span{color:#ff6947}.intro-copy>p:not(.kicker){font-size:19px;color:#bab8bf;max-width:610px;line-height:1.7}.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.tag-row span{border:1px solid #45444d;padding:12px 17px;font-size:10px;letter-spacing:1.3px;font-weight:800}.program{background:#1b1b22}.program-top{display:flex;justify-content:space-between;align-items:end;gap:30px}.upcoming{font-size:11px;letter-spacing:1px;font-weight:800;background:#ff6947;color:#17171c;padding:14px 17px;white-space:nowrap;margin-bottom:34px}.days{border-top:1px solid #46454c;margin-top:28px}.day{border-bottom:1px solid #46454c;display:flex;align-items:center;padding:25px 18px;gap:35px;transition:background .2s}.day:hover{background:#ffffff08}.day-count{font-size:12px;letter-spacing:2px;color:#ff6947;font-weight:800}.day div{flex:1}.day p{font-size:11px;font-weight:800;letter-spacing:2px;color:#aaa;margin:0 0 7px}.day h3{font-size:clamp(48px,6vw,78px);margin:0}.day-arrow{font-size:32px;color:#ff6947}.program-note{color:#aaa;font-size:14px;margin-top:25px}.end-section{display:grid;grid-template-columns:1fr 2fr;min-height:440px}.end-content>p:last-child{font-size:18px;color:#aaa}.footer{padding:35px max(5vw,24px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #3b3a40}.footer>span{font-size:10px;letter-spacing:1px;color:#a3a0a6;font-weight:700}@media(max-width:760px){.topbar{height:72px}.brand{font-size:12px}.brand-mark{font-size:20px;margin-right:2px}.hero{min-height:680px;height:auto}.hero-inner{padding-top:90px;padding-bottom:115px}h1{font-size:clamp(63px,15vw,112px);letter-spacing:-2px}.hero-date{gap:14px}.date-detail{padding-left:14px}.date-detail strong{font-size:29px}.date-detail span{font-size:9px}.intro,.end-section{display:block}.section-shell{padding:76px 24px}.intro h2,.program h2,.end-section h2{font-size:clamp(60px,11vw,90px)}.program-top{display:block}.upcoming{display:inline-block;margin:0 0 15px}.day{gap:17px;padding:24px 5px}.day h3{font-size:55px}.footer{flex-direction:column;align-items:start;gap:15px}.hero-footer{font-size:9px}.tag-row{gap:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Kleinraming: visual homage to the long-established local festival posters */
.place{background:#111820;overflow:hidden}
.place-layout{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,2fr);align-items:start;gap:30px}.place-copy{grid-column:2;max-width:800px}
.place-copy h2{font-size:clamp(65px,7vw,110px);margin-bottom:30px}
.place-copy h2 span{color:#48b9e6}
.place-copy>p:not(.kicker){color:#c7c9cc;font-size:17px;line-height:1.75;max-width:600px}
.place-label{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:1.7px;font-weight:800;margin-top:25px}
.place-dot{width:9px;height:9px;border-radius:50%;background:#f4e833}
@media(max-width:760px){.place-layout{display:block}.place-copy h2{font-size:clamp(64px,11vw,90px)}.place-copy>p:not(.kicker){font-size:16px}}

/* Approved global accent: turquoise-blue. Orange is reserved for subtle warmth. */
:root{--festival-blue:#48b9e6}
.brand strong,.brand-mark,.top-link span,.eyebrow,.kicker,.accent,.hero-claim em,.date-number span,.intro h2 span,.program h2 span,.end-section h2 span,.place-copy h2 span,.day-count,.day-arrow{color:var(--festival-blue)}
.live-dot{background:var(--festival-blue);box-shadow:0 0 0 5px #48b9e61c}
.primary-link,.upcoming{background:var(--festival-blue)}
.primary-link:hover{background:#87d9f4}
.place{background:#111820}
@media(max-width:760px){.place-copy{grid-column:auto}}
