.venue-hours{margin:38px 0 42px;color:var(--ink);}
.venue-hours-panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;}
.venue-hours-heading{text-align:center;margin:0 0 25px;}
.venue-time-label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.venue-current-time{display:block;font-size:clamp(42px,6vw,60px);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.045em;line-height:1.25;margin:8px 0 3px;}
.venue-current-date{font-size:12px;color:var(--muted);margin:0;}
.venue-hours-heading h2{font-family:var(--font-display,Georgia,serif);font-size:27px;font-weight:400;margin:24px 0 0;}
.venue-hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;}
.venue-hours-card{min-width:0;}
.venue-hours-card h3{font-family:var(--font-display,Georgia,serif);font-size:25px;font-weight:400;margin:0 0 13px;}
.venue-tranches{margin:0;}
.venue-tranches>div{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:12px 0;border-top:1px solid var(--line);}
.venue-tranches dt{font-size:12px;color:var(--muted);line-height:1.5;max-width:65%;}
.venue-tranches dd{margin:0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;}
.venue-hours-note{font-size:11px;color:var(--muted);text-align:center;margin:18px 0 0;line-height:1.5;}
.celebration-heading{margin:28px 0 15px;}
.celebration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.celebration-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--festive-line);border-radius:21px;padding:25px 21px 23px;color:#fff5df;min-width:0;--festive-line:#b16d4266;--festive-glow:#ff8a3224;background:radial-gradient(ellipse at 100% 0,var(--festive-glow),transparent 65%),#251322;}
.celebration-christmas{--festive-line:#b6d2a255;--festive-glow:#b3c67933;background:radial-gradient(ellipse at 100% 0,var(--festive-glow),transparent 65%),#102f26;}
.celebration-newyear{--festive-line:#dfc78b66;--festive-glow:#e4c57b33;background:radial-gradient(ellipse at 100% 0,var(--festive-glow),transparent 65%),#172034;}
.celebration-card h3{position:relative;font-family:var(--font-display,Georgia,serif);font-size:30px;font-weight:400;margin:0 70px 5px 0;line-height:1.2;}
.celebration-date{position:relative;display:block;font-size:11px;color:#fff5dfbf;padding-right:60px;min-height:32px;line-height:1.5;}
.celebration-lead{position:relative;margin:22px 0 11px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#fff5dfb8;}
.celebration-countdown{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.celebration-countdown>div{text-align:center;padding:12px 2px 10px;border-radius:11px;background:#00000024;}
.celebration-countdown strong{display:block;font-size:clamp(24px,2.7vw,34px);font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1;}
.celebration-countdown span{display:block;font-size:9px;margin-top:7px;color:#fff5dfc9;}
.celebration-art{position:absolute;top:12px;right:10px;width:95px;height:110px;pointer-events:none;}
.celebration-art>span{position:absolute;top:0;right:0;font-size:65px;transform:rotate(8deg);filter:drop-shadow(0 7px 15px #0005);}
.celebration-art>i{position:absolute;display:block;width:5px;height:5px;border-radius:50%;background:#ffd98b;box-shadow:0 0 10px #ffd98b88;top:78px;right:25px;}
.celebration-art>i:nth-child(3){top:10px;right:90px;width:3px;height:3px;}.celebration-art>i:nth-child(4){top:58px;right:88px;width:4px;height:4px;}
.celebration-christmas::before{content:'✧ · ✦ · ✧';position:absolute;top:8px;left:18px;right:10px;color:#e8dba84d;font-size:25px;letter-spacing:12px;transform:rotate(-12deg);pointer-events:none;}
.celebration-newyear .celebration-art>span{font-size:72px;transform:rotate(-8deg);}
@media(max-width:900px){.celebration-grid{grid-template-columns:1fr;}.celebration-card{padding:23px;}.celebration-countdown{max-width:420px;}.celebration-countdown strong{font-size:32px;}.celebration-countdown span{font-size:10px;}.celebration-date{min-height:16px;}.celebration-art{right:22px;top:20px;}}
@media(max-width:640px){.venue-hours-panel{padding:24px 20px;}.venue-hours-grid{grid-template-columns:1fr;gap:24px;}.venue-current-time{font-size:43px;}.venue-hours-heading h2{font-size:25px;}.venue-hours-card h3{font-size:23px;}.venue-tranches dt{font-size:11px;}.venue-tranches dd{font-size:14px;}.celebration-card h3{font-size:30px;}.celebration-countdown strong{font-size:30px;}}
