:root{--cream:#f8f6f0;--pine:#153f37;--navy:#00245b;--gold:#fbb500;--muted:#617087}
body{background:var(--cream)}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.app{max-width:1180px;background:var(--cream);box-shadow:none}.topbar{padding:16px 38px;background:var(--navy);border:0;position:relative}.topbar .logo{filter:brightness(0) invert(1);height:58px}.trade-link{border-color:#71839f;color:white;border-radius:2px;font-size:10px;padding:10px 13px}.preview-ribbon{background:#fbb500;color:var(--navy);font:700 10px var(--label);letter-spacing:.12em;padding:10px 38px}.preview-ribbon span{font-family:var(--body);font-weight:400;letter-spacing:.02em}.christmas-hero{background:#00245b;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;padding:46px 38px 42px;gap:32px;color:#fff;overflow:hidden;position:relative}.christmas-hero:before{content:'';position:absolute;top:0;left:38px;width:90px;height:3px;background:#fbb500}.hero-copy{position:relative;z-index:1}.hero-copy .eyebrow{color:#fbb500;font-size:10px;letter-spacing:.16em}.hero-copy h1{font:400 clamp(58px,7vw,84px)/.9 var(--disp);margin:20px 0 18px;letter-spacing:.01em}.hero-copy em{color:#fbb500;font-style:normal}.hero-copy p{font-size:15px;line-height:1.65;color:#e1e7ef;margin:0 0 22px}.hero-cta{background:#fbb500;color:var(--navy);padding:15px 18px;display:inline-flex;gap:28px;align-items:center;border-radius:2px;font:700 12px var(--label)}.hero-cta span{font-size:22px;line-height:1}.hero-caption{color:#a6b8d4;font-size:11px;margin-top:18px}.hero-art{position:relative;transform:rotate(-2deg);box-shadow:0 18px 35px #00133177;line-height:0;border:1px solid #ffffff38}.hero-art img{display:block;width:100%;height:auto}.hero-art>span{position:absolute;bottom:-24px;right:0;color:#a6b8d4;font-size:10px;line-height:1.4}.finder-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:36px 38px 20px;scroll-margin-top:20px}.finder-heading h2{font:400 44px/1 var(--disp);margin:8px 0 0}.finder-heading .eyebrow{font-size:10px}.clockline{font:500 10px var(--label);color:var(--muted);margin:0}.location-bar{display:flex;align-items:center;gap:14px;margin:0 38px 22px;padding:15px 20px;border:1px solid #d5d9dc;background:white;border-radius:3px}.location-icon{font-size:32px;color:var(--navy)}.location-label{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.location-bar .area-btn{font:700 17px var(--body);border:none;padding:0;text-transform:none;white-space:normal;text-align:left}.area-btn span{font-size:18px;color:var(--navy);margin-left:10px}.near-button{margin-left:auto;font:700 11px var(--label);border-left:1px solid #d5d9dc;padding:12px 0 12px 20px;white-space:nowrap}.view-tabs{display:flex;margin:0 38px;border-bottom:1px solid #b9c3d0;gap:32px}.view-tabs button{position:relative;padding:16px 0;font:700 15px var(--body);color:#657086;min-height:52px;flex:1;text-align:left}.view-tabs button[aria-selected=true]{color:var(--navy)}.view-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;background:var(--navy);height:4px}.view-tabs span{float:right;font-size:20px}#specialsPanel,#eventsPanel{padding:0 38px 30px}.section-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 20px}.section-intro h2{font:400 33px/1 var(--disp);margin:0 0 7px}.section-intro p{color:var(--muted);margin:0;font-size:13px}.sample-label{font:700 9px var(--label);text-transform:uppercase;letter-spacing:.07em;color:#69788b;white-space:nowrap}.spot,.caro-label,#campStrip,#tonightBtn{display:none!important}.filters{position:static;margin:0;padding:16px 0;background:transparent;border-top:1px solid #dce0e2;border-bottom:1px solid #dce0e2}.frow{gap:8px;margin-bottom:12px}.frow:last-child{margin-bottom:0}.pill{font-size:10px;padding:8px 12px;border-width:1px;min-height:36px;border-radius:3px}.pill.on{background:#00245b;color:#fff;border-color:#00245b}.pill img{height:28px}.seg{background:#e7ebee;border-radius:3px;padding:3px}.seg button{min-height:36px;border-radius:2px;font-size:10px}.seg button.on{background:white;color:var(--navy);box-shadow:0 1px 4px #001a4210}#mapBtn{margin-left:auto;border:1px solid var(--navy);background:var(--cream)}.count-line{font-size:12px;margin:18px 0;color:#627184}.list{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{margin:0;border:1px solid #dae0e5;border-radius:3px;padding:20px;background:#fff;box-shadow:none;min-width:0;gap:14px;transition:border-color .18s,transform .18s}.card:hover{border-color:#00245b;transform:translateY(-2px)}.card h3{font-size:16px}.c-side{min-width:76px}.c-side .openb{display:none}.dist{font-size:12px;color:#687a90}.dchip{font-size:9px;padding:4px 7px;border-radius:2px}.c-meta{font-size:12px}.divider,.list>.btn{grid-column:1/-1}.list>.btn{width:auto!important;margin:8px 0!important}.map-fab{right:max(24px,calc((100vw - 1180px)/2 + 30px));border-radius:4px;box-shadow:0 6px 24px #001a4222;font-size:12px;padding:12px 22px}.event-filters{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid #dce0e2;border-bottom:1px solid #dce0e2}#eventTypes{display:flex;gap:8px;overflow:auto}.date-filter{font-size:12px;color:var(--muted);white-space:nowrap;display:flex;gap:8px;align-items:center}.date-filter select{border:1px solid #d3dbe1;border-radius:3px;padding:10px;font:500 12px var(--body);background:white;color:var(--navy);min-height:40px}.event-count{font-size:12px;color:var(--muted);margin:18px 0}.event-art{height:220px;position:relative;text-align:left;overflow:hidden;background:#073371;color:#fff;padding:24px}.event-art.gold{background:#f6b719;color:#00245b}.event-art.red{background:#8e2035}.event-art.green{background:#18483d}.event-art:after{content:'';position:absolute;width:140px;height:140px;right:-65px;top:-80px;border:1px solid currentColor;transform:rotate(25deg);opacity:.3}.event-kind{font:700 9px var(--label);text-transform:uppercase;letter-spacing:.12em;position:relative;z-index:1}.event-art-title{display:block;position:relative;z-index:1;font:400 40px/.97 var(--disp);letter-spacing:.015em;margin:20px 0 0;max-width:85%}.event-art.blue .event-art-title,.event-art.red .event-art-title,.event-art.green .event-art-title{color:#ffcb46}.event-sample{position:absolute;bottom:15px;left:24px;font:500 8px var(--label);letter-spacing:.12em;opacity:.8}.music-art{position:absolute;width:150px;height:150px;bottom:-18px;right:-10px;opacity:.2;transform:rotate(-14deg);pointer-events:none}#eventGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.event-card{min-width:0;display:block;text-align:left;border:1px solid #dae0e5;background:white;border-radius:3px;overflow:hidden;transition:transform .18s,box-shadow .18s}.event-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00245b10}.event-info{display:flex;align-items:flex-start;gap:14px;padding:20px 17px}.date-block{display:flex;flex-direction:column;text-align:center;border-right:1px solid #dbe1e5;padding-right:14px;min-width:48px}.date-block strong{font:400 36px/.9 var(--disp)}.date-block span{font:700 9px var(--label);text-transform:uppercase;margin-top:5px}.event-place h3{font-size:14px;line-height:1.35;margin:0 0 6px}.event-place p{font-size:11px;margin:0;color:#66758a}.event-place>span{display:block;font-size:11px;font-weight:700;margin-top:13px}.preview-note{color:#758192;font-size:11px;line-height:1.65;margin:24px 0}.foot{margin:0;padding:30px 38px 70px;background:#eaeef0;border-top:1px solid #d4dce2;color:#5e6f84}.foot .flogo{height:50px}.foot .rd{font-size:10px}.foot .proto{font-size:10px}.sheet{max-width:620px;border-radius:8px 8px 0 0;max-height:90dvh;background:var(--cream)}.sheet-close{position:absolute;right:16px;top:12px;z-index:3;width:36px;height:36px;border-radius:50%;background:#fff;color:#00245b;box-shadow:0 1px 6px #001a4225;font-size:25px;line-height:1}.o-head{padding-top:22px}.o-head h2{font-size:38px;padding-right:26px;margin-top:12px}.promo-block{background:#fff;border:1px solid #d6dee7;border-radius:3px}.act{border-radius:3px;min-height:48px}.act.share{display:flex;margin-top:14px;background:#e3f2e9;color:#104e37;border:1px solid #c2ddca}.o-sub{font-size:12px}.venue-event{display:flex;flex-direction:column;text-align:left;gap:5px;padding:18px;background:#00245b;color:white;width:100%;margin:18px 0;border-radius:3px}.venue-event>span{font:700 9px var(--label);color:#fbb500}.venue-event small{color:#bfcee3;font-size:11px}.detail-art{height:245px;margin:-4px -2px 22px;border-radius:3px}.detail-art .event-art-title{font-size:56px;margin-top:24px}.detail-art .music-art{width:210px;height:210px}.event-detail h2{font:400 40px/1 var(--disp);margin:12px 0}.event-detail>p{font-size:14px;color:#627187;line-height:1.65}.event-date{display:flex;gap:10px;align-items:center}.event-date svg{width:20px;flex-shrink:0}.event-detail .event-disclaimer{font-size:11px;background:#efede4;padding:12px;border-left:2px solid #fbb500}.event-detail .responsible{text-align:center;font-size:10px;margin:20px 0 0}.map-sheet{max-width:1180px}.gate{background:#00245b;align-items:center;padding:30px}.gate:before{background:#00245b url('assets/christmas-art.jpg') center/cover no-repeat;filter:none;opacity:.4}.gate:after{background:linear-gradient(180deg,#001a4280,#001a42ed)}.gate-card{background:#00245bed;border:1px solid #ffffff26;border-top:3px solid #fbb500;padding:30px 26px;max-width:420px;box-shadow:0 20px 60px #0003}.gate-card .glogo{height:80px}.btn-age{border:1px solid #7c91b5}.btn-age:first-child{background:#fbb500;color:#00245b;border-color:#fbb500}.gate-ribbons,.spot-ribbons{display:none}.gate-micro{margin-bottom:0}.adm-hero p{max-width:680px}.adm-band{padding:24px 38px}.stat-row{padding:20px 38px}.adm-note{margin:12px 38px}.camp{border-radius:3px}.view-tabs button:hover{color:#00245b}.text-link{text-decoration:underline;margin-top:16px}.empty{grid-column:1/-1}.event-art h2{color:inherit}#areaSheet{padding-top:30px}
@media(max-width:900px){#eventGrid{grid-template-columns:1fr 1fr}.christmas-hero{grid-template-columns:1fr 1fr;gap:22px}.hero-copy h1{font-size:68px}.event-art-title{font-size:42px}.hero-art{transform:none}.section-intro .sample-label{display:none}}
@media(max-width:600px){.topbar{padding:13px 20px}.topbar .logo{height:45px}.trade-link{font-size:9px;padding:9px 10px}.preview-ribbon{padding:9px 20px;font-size:9px;letter-spacing:.08em}.christmas-hero{display:block;padding:29px 20px 34px}.christmas-hero:before{left:20px}.hero-copy h1{font-size:65px;line-height:.9;margin:17px 0 14px}.hero-copy p{font-size:14px;margin-bottom:18px}.hero-copy .eyebrow{font-size:9px}.hero-cta{padding:12px 16px;font-size:11px}.hero-caption{display:none}.hero-art{margin-top:26px;max-width:none;transform:none}.hero-art>span{font-size:8px;bottom:-18px}.finder-heading{margin:27px 20px 18px;gap:10px}.finder-heading h2{font-size:36px}.finder-heading .eyebrow{font-size:9px}.clockline{font-size:8px;max-width:94px;text-align:right;line-height:1.8}.location-bar{margin:0 20px 14px;padding:11px 14px;gap:10px}.location-label{font-size:9px}.location-bar .area-btn{font-size:16px}.near-button{padding-left:12px;font-size:10px}.view-tabs{margin:0 20px;gap:22px}.view-tabs button{font-size:14px;padding:15px 0}#specialsPanel,#eventsPanel{padding:0 20px 22px}.section-intro{margin:23px 0 16px}.section-intro h2{font-size:29px}.section-intro p{font-size:12px;max-width:280px}.filters{padding:14px 0}.frow{margin-bottom:10px}.list{grid-template-columns:1fr;gap:10px}.card{padding:17px 14px}.card h3{font-size:15px;line-height:1.3}.dchip{font-size:8px}.c-side{min-width:52px}.dist{font-size:10px}.count-line{font-size:11px}.event-filters{flex-wrap:wrap;gap:10px;padding:12px 0}#eventTypes{width:100%;padding-bottom:2px}.event-filters .pill{font-size:9px;padding:7px 9px}.date-filter{margin-left:auto;font-size:11px}.date-filter select{min-height:36px;padding:7px}.event-count{font-size:11px}#eventGrid{grid-template-columns:1fr;gap:18px}.event-art{height:218px;padding:23px}.event-art-title{font-size:47px;margin-top:19px}.music-art{width:185px;height:185px;right:0;bottom:-26px;opacity:.2}.event-info{padding:18px 20px}.event-place h3{font-size:15px}.event-place p{font-size:12px}.event-place>span{font-size:12px}.date-block strong{font-size:39px}.map-fab{right:20px;bottom:18px;padding:11px 19px}.foot{padding:28px 20px 72px}.sheet{max-height:92dvh}.detail-art{height:245px}.detail-art .event-art-title{font-size:48px;padding-right:15px}.event-detail h2{font-size:36px}.gate-card{padding:26px 20px}.gate-card h1{font-size:36px}.gate-q{font-size:17px}.adm-band{padding:20px}.act{font-size:11px}.bottle-row{flex-wrap:wrap}.gate{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Final compatibility fixes for the original prototype styles. */
.topbar .logo{filter:none;background:#fff;border-radius:2px;padding:5px;height:58px}
.map-fab{left:auto;transform:none!important;width:auto;animation:none!important}
.map-sheet{margin:auto;width:100%;max-width:1180px}
.sheet:not(.show){visibility:hidden;pointer-events:none}
.sheet.show{visibility:visible}
@media(max-width:600px){.topbar .logo{height:45px;padding:3px}}
.preview-note,.foot{color:#53647b}.foot .rd{color:#00245b}.foot .flogo{filter:none}.event-detail .event-disclaimer{border-left:0;color:#53647b}.hero-copy>.eyebrow,.finder-heading .eyebrow{display:none}.hero-copy h1{margin-top:0}.finder-heading h2{margin-top:0}
.preview-ribbon,.trade-link,.clockline,.sample-label,.location-label,.near-button,.pill,.seg button,.event-kind,.event-sample,.dchip,.vtag,.date-block span,.r-label,.map-sub,.hero-art>span{font-size:11px}.event-filters .pill{font-size:11px}.event-sample{letter-spacing:.05em}.foot .rd,.foot .proto{font-size:11px}.hero-art>span{font-size:10px}.pill,.seg button{min-height:40px}.location-bar .area-btn{min-height:28px}.card .dist{font-size:11px}.clockline{font-family:var(--body);text-transform:none}.finder-heading{align-items:center}.clockline{max-width:160px}.event-detail .responsible{font-size:11px}.gate-card{border-top-width:1px}
@media(max-width:600px){.preview-ribbon{font-size:10px;letter-spacing:.03em}.preview-ribbon span{font-size:10px}.clockline{max-width:112px;font-size:10px}.trade-link{font-size:10px}.hero-art>span{font-size:9px}.finder-heading h2{font-size:35px}.hero-copy h1{font-size:65px}.section-intro h2{font-size:30px}.event-filters .pill{font-size:10px}.dchip{font-size:10px}.card{align-items:flex-start}.c-side{padding-top:3px}}
