/* A living clock behind an open, content-sized programme. No case constrains the wording. */
.clock-schedule{aspect-ratio:auto;padding-top:6cqw;overflow:clip;touch-action:pan-y pinch-zoom}
.clock-heading{display:block;max-width:none;border:0;padding:0;margin:0;text-align:center}
.clock-heading p{font:clamp(12px,3cqw,19px)/1.5 Georgia,serif;letter-spacing:.08em;margin:3cqw 0}
.schedule-days{position:relative;z-index:3;display:flex;justify-content:center;gap:5cqw;margin:0 4cqw 2cqw}
.schedule-days button{background:none;border:0;border-radius:0;border-bottom:1px solid transparent;padding:9px 2px;font:clamp(12px,3.3cqw,20px)/1.35 Georgia,serif;color:#67533e;min-height:44px}
.schedule-days button[aria-selected=true]{color:#493320;border-bottom-color:#957046}
.clock-canvas{position:relative;isolation:isolate;outline-offset:-3px;min-height:108cqw}
.clock-backdrop{position:absolute;inset:0;z-index:-2;pointer-events:none;padding-block:8cqw}
.clock-disc{position:absolute;top:8cqw;left:4%;width:92%;aspect-ratio:1;margin:0;border-radius:50%;background:#f4eddf;box-shadow:0 0 0 .6cqw #f6ecd8,0 0 0 .85cqw #ccb38d,0 0 0 1.35cqw #efe2cb,0 0 0 1.55cqw #b59a74,0 12px 35px #9e85651a;opacity:.46}
.clock-disc::before{content:'';position:absolute;inset:-2.9cqw;border:1px solid #c9b694;border-radius:50%;outline:1px dotted #b5986a;outline-offset:3px}
.follows-schedule .clock-disc{position:sticky;top:max(24px,calc(50svh - 46cqw));left:auto;margin-inline:auto}
.clock-disc::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 3cqw #f3f0e9}
.clock-dial{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;mix-blend-mode:multiply}
.clock-hands{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.clock-hour,.clock-minute{transform:rotate(var(--hand-angle,0deg));transition:transform 1.25s cubic-bezier(.33,.05,.22,1);fill:url(#clock-gold);stroke:#68451f;stroke-width:1;filter:drop-shadow(1px 2px 1px #75552d30)}
.clock-events{--time-column:clamp(47px,14cqw,88px);--pearl-column:clamp(26px,7cqw,43px);position:relative;list-style:none;margin:0;padding:8cqw 6%;display:grid;gap:4cqw;color:#513a27}
.clock-events::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#f3f0e980,#f3f0e936 22%,#f3f0e9b3 55%,#f3f0e9a6 79%,#f3f0e936);pointer-events:none}
.clock-events li{position:relative;display:grid;grid-template-columns:var(--time-column) var(--pearl-column) 1fr;align-items:start;min-width:0;padding-block:5cqw;transition:color .6s ease}
.clock-events li::before{content:'';position:absolute;top:calc(5cqw + 12px);bottom:calc(-9cqw - 12px);left:calc(var(--time-column) + var(--pearl-column)/2);width:1px;background:#c6aa7e;z-index:-1}
.clock-events li:last-child::before{display:none}
.clock-events time{grid-column:1;grid-row:1;font:700 clamp(16px,4.2cqw,26px)/1.4 Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-.025em;padding-top:.7cqw;white-space:nowrap}
.clock-events li>div{grid-column:3;grid-row:1;padding-left:1.8cqw;min-width:0;text-shadow:0 1px 3px #f3f0e9,0 0 8px #f3f0e9}
.clock-events h3{margin:0;font:400 clamp(25px,7cqw,44px)/1.18 'Pinyon Script',Georgia,serif;overflow-wrap:anywhere}
.clock-events p{margin:2cqw 0 0;font:clamp(13px,3.2cqw,20px)/1.5 Georgia,serif;overflow-wrap:anywhere}
.clock-events .event-description{font-size:clamp(14px,3.4cqw,21px);line-height:1.6;margin-top:3cqw;color:#654e37}
.event-pearl{grid-column:2;grid-row:1;justify-self:center;z-index:1;width:clamp(8px,2.15cqw,13px);height:clamp(8px,2.15cqw,13px);margin-top:calc(.7cqw + .7em - 4px);border-radius:50%;background:radial-gradient(circle at 30% 28%,#fffdf7,#e3dbc9 60%,#bfae92);border:1px solid #b59463;transition:box-shadow .6s,background .6s,transform .6s}
.is-current .event-pearl{transform:scale(1.18);background:radial-gradient(circle at 35% 30%,#fffce4 0 12%,#ffd16c 36%,#d98a16 77%,#9a5710);border-color:#946016;box-shadow:0 0 0 1cqw #e9b44355,0 0 2.5cqw .9cqw #efa928a6,0 0 4.5cqw #edba5580}
.clock-events .is-current{color:#382314}
.clock-events .is-current time{color:#875016;text-shadow:0 0 10px #efd29b}
.schedule-hint{font:italic clamp(12px,3cqw,18px)/1.5 Georgia,serif;text-align:center;margin:1cqw 8% 6cqw;color:#765e47}
@media(prefers-reduced-motion:reduce){.clock-hour,.clock-minute,.clock-events li,.event-pearl{transition:none}}
