@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&display=swap');

/* Visual preview inspired by the supplied Aquapalace sauna page. */
:root{color-scheme:light;--bg:#f7f7fa;--panel:#fff;--text:#073a69;--muted:#596f86;--line:#e0e8ef;--accent:#007baf;--pink:#f99b1d;font-family:'Open Sans',sans-serif}
body{background:var(--bg);color:var(--text)}
button,summary,a{font-family:inherit}
button:focus-visible,summary:focus-visible,a:focus-visible{outline-color:#007baf}
.masthead{max-width:none;padding:0;border:0;background:linear-gradient(135deg,#014584 0%,#00305d 100%);color:#fff}
.masthead-inner{max-width:1120px;width:100%;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.venue-identity{display:flex;align-items:center;gap:30px;min-width:0}
.venue-logo{display:block;width:224px;height:auto}
.brand{font-family:inherit;font-size:13px;letter-spacing:1.5px;gap:9px;border-left:1px solid #ffffff35;padding-left:28px}
.brand-mark{font-size:30px;color:#85ddf4}
.brand span:not(.brand-mark){font-family:inherit;font-size:10px;letter-spacing:3.4px;color:#c8e4f4;margin-top:4px}
.live-clock{column-gap:16px}
.live-label{font-size:11px;letter-spacing:1px;color:#dbf5ff}
.live-label i{background:#75dd8d;box-shadow:0 0 0 4px #75dd8d18}
#clock{font-family:inherit;font-size:27px;font-weight:700;letter-spacing:-.7px}
.zone{color:#b7d6ea;font-size:12px}
main{padding-top:34px}
.eyebrow{font-size:12px;color:#007dac;font-weight:700;letter-spacing:1.6px;margin-bottom:10px}
h1{font-family:inherit;font-weight:800;font-size:clamp(29px,4vw,41px);letter-spacing:-1.35px;line-height:1.2}
.day-label{font-size:11px;letter-spacing:1.1px;font-weight:700;color:#677c92}
.timeline-strip{margin:25px 0 28px}
.timeline-labels{font-size:12px;color:#677c92;font-weight:600}
.timeline-labels #remaining{color:#365b7b;font-size:13px;font-weight:700}
.day-track{height:5px;background:#e2eaf1}
.day-track span{background:#00bbf3;border-radius:9px}
.view-switch{border:1px solid #e0e7ef;background:#eaf0f6;border-radius:30px;padding:4px;gap:3px;margin-bottom:24px;box-shadow:inset 0 1px 2px #073a6904}
.view-switch button{border-radius:25px;padding:10px 21px;color:#577087;min-height:43px;font-size:14px;font-weight:700;transition:background .15s,color .15s}
.view-switch button:hover{background:#dfeaf3;color:#073a69}
.view-switch button[aria-pressed=true]{background:#f99b1d;color:#173b5d;box-shadow:0 2px 5px #af630e1a}
.view-switch button span{display:inline-block;margin-left:9px;min-width:24px;padding:1px 5px;border-radius:10px;background:#ffffff65;font-size:12px;opacity:1}
.section-heading{margin-bottom:14px}
h2{font-size:16px;font-weight:800}
.auto-label{font-size:12px;color:#62778c}
.tiles{gap:13px}
.tile{background:#fff;border:1px solid #e4eaf0;border-radius:16px;padding:21px 24px;grid-template-columns:108px minmax(0,1fr) auto;column-gap:24px;box-shadow:0 5px 20px #00285008}
.tile::before{top:23px;bottom:23px;width:4px;background:color-mix(in srgb,var(--sauna) 70%,#073a69 30%)}
.tile.next{background:#f0fbff;border-color:#67cfee;box-shadow:0 5px 22px #0087b111}
.tile.next::before{background:#00bbf3;top:0;bottom:0}
.time-block{border:0;padding:12px 8px;min-height:84px;border-radius:12px;background:#f1f6fa;align-items:center;justify-content:center;align-self:start}
.start-time{font-family:inherit;font-size:31px;font-weight:800;letter-spacing:-1.2px;color:#073a69}
.duration{font-size:12px;color:#61758a;margin-top:5px}
.next .time-block{background:#073a69}
.next .start-time{color:#fff}
.next .duration{color:#d6e9f6}
.tile h3{font-size:19px;letter-spacing:-.35px;font-weight:800;line-height:1.35;margin-bottom:5px}
.performers{font-size:15px;color:#5b6e80;margin-bottom:12px;line-height:1.5}
.tags{gap:6px}
.tag{background:#f7f9fc;border-color:#dfe7ef;color:#526b80;font-size:12px;padding:4px 9px;border-radius:7px;font-weight:600}
.tag.place{color:color-mix(in srgb,var(--sauna) 25%,#063056 75%);background:color-mix(in srgb,var(--sauna) 25%,#fff 75%);border-color:color-mix(in srgb,var(--sauna) 60%,#d8e0e8 40%);font-weight:700}
.tag.reservation{color:#845100;background:#fff3de;border-color:#f4d29d}
.event-note{font-size:13px;color:#60758a}
.countdown-block{min-width:112px;gap:7px}
.next-label{color:#007da8;font-size:10px;font-weight:800;letter-spacing:1px}
.countdown{font-family:inherit;color:#536e85;font-size:14px;font-weight:600}
.next .countdown{color:#007da8;font-size:21px;font-weight:800;letter-spacing:-.5px}
.tile.full-moon{padding-bottom:43px}
.moon-badge{right:18px;bottom:11px;filter:drop-shadow(0 1px 3px #98762320)}
.moon-badge svg>circle{fill:#fff0bf;stroke:#d3b566}
.moon-badge svg g{fill:#baa35d}
.past-tiles .tile{background:#fff;box-shadow:0 3px 12px #00285004}
.past-tiles .start-time{color:#536c83}
.past-tiles .countdown{font-size:13px;color:#62798e}
.practical{border-top:0;border-radius:16px;background:#fff;padding:24px;gap:32px;margin-top:28px;box-shadow:0 5px 20px #00285006;border:1px solid #e4eaf0}
.info-symbol{border-color:#94b8d2;color:#007ba8;background:#f0faff;font-weight:700}
.practical h2{font-size:14px;font-weight:800}
.practical p{color:#65798d;font-size:13px;line-height:1.65}
.ticket{font-size:14px;font-weight:700}
.ticket strong{font-family:inherit;font-size:22px;color:#007eaa;font-weight:800}
.ticket span:last-child{color:#65798d;font-weight:400;font-size:13px;line-height:1.65}
.qr-section{background:#fff;border:1px solid #e4eaf0;border-radius:16px;margin-top:18px;box-shadow:0 5px 20px #00285006;padding:24px}
.qr-section img{border:1px solid #e9edf2;padding:5px}
.qr-section h2{font-size:18px;font-weight:800}
.qr-section p{color:#65798d}
.qr-section a{color:#007bac;font-weight:600}
.qr-downloads a{font-size:13px}
footer{color:#6d7e90;font-size:12px;line-height:1.7;margin-top:24px}
.empty{border:1px solid #e4eaf0;background:#fff;box-shadow:0 5px 20px #00285006}
.empty h3{color:#073a69;font-weight:800}
.empty p{color:#65798d}
.archive-button{border-radius:24px;background:#f99b1d;color:#173b5d;font-weight:700;padding:12px 22px}
@media(max-width:900px){.venue-identity{gap:20px}.brand{padding-left:20px}.venue-logo{width:200px}.live-clock{grid-template-columns:1fr;text-align:right;gap:2px}.zone{grid-column:1}.live-label{justify-content:flex-end}}
@media(max-width:700px){
 .masthead-inner{padding:20px;gap:16px;align-items:flex-start}.venue-identity{flex-direction:column;align-items:flex-start;gap:13px}.venue-logo{width:178px}.brand{border-left:0;padding:0;font-size:10px;gap:7px;letter-spacing:1px;align-items:center}.brand-mark{font-size:19px}.brand>div{display:flex;align-items:center;gap:5px}.brand span:not(.brand-mark){display:inline;font-size:10px;letter-spacing:1px;margin:0;color:#c8e4f4}.live-clock{padding-top:3px;gap:4px}.live-label{font-size:9px;letter-spacing:.5px;gap:7px}#clock{font-size:23px}.zone{font-size:10px}
 main{margin:0 20px;padding-top:25px}.eyebrow{font-size:11px;letter-spacing:1.3px}h1{font-size:29px;letter-spacing:-1px}.timeline-strip{margin:23px 0}.view-switch{width:100%;padding:4px}.view-switch button{padding:10px 6px;font-size:13px}.view-switch button span{margin-left:5px;min-width:21px;font-size:11px}.section-heading{gap:4px}h2{font-size:15px}.auto-label{font-size:11px}
 .tile{padding:18px 16px;grid-template-columns:76px minmax(0,1fr);gap:0 16px;border-radius:14px}.time-block{padding:12px 5px;min-height:75px;border-radius:10px;justify-content:center}.start-time{font-size:25px;letter-spacing:-1px}.duration{font-size:10px;margin-top:4px;line-height:1.4;text-align:center}.tile h3{font-size:17px;letter-spacing:-.25px}.performers{font-size:14px;margin-bottom:10px}.tag{font-size:12px;padding:4px 7px}.countdown-block{min-width:0;margin-top:12px;gap:3px;justify-content:flex-start}.countdown,.next .countdown{font-size:12px;line-height:1.4;letter-spacing:0}.next-label{font-size:8px;letter-spacing:.5px}.tile.full-moon{padding-bottom:40px}.moon-badge{right:15px;bottom:10px}.event-note{font-size:12px}.past-tiles .countdown{font-size:11px}
 .practical{padding:20px;gap:22px}.ticket{padding-left:36px}.qr-section{padding:19px;gap:16px}.qr-section img{width:100px;height:100px;padding:3px}.qr-section h2{font-size:16px}.qr-section p{font-size:13px}.qr-section a{font-size:13px}.qr-downloads{gap:10px}.qr-downloads a{font-size:12px}footer{font-size:11px}
}
@media(max-width:370px){.masthead-inner{padding:18px 15px;gap:10px}.venue-logo{width:158px}.live-label{font-size:8px}#clock{font-size:21px}main{margin:0 14px}.tile{column-gap:12px;grid-template-columns:69px minmax(0,1fr);padding:16px 13px}.tile h3{font-size:16px}.start-time{font-size:23px}.view-switch button{font-size:12px}.qr-section{gap:12px;padding:15px}}
