.calendar-home{position:fixed;z-index:22;left:50%;top:51%;transform:translate(-50%,-50%);width:clamp(180px,24vw,300px);text-align:center;text-decoration:none;color:#e8d6ad;border-radius:50%;filter:drop-shadow(0 8px 20px #000b);background:radial-gradient(ellipse,#161320f5 25%,#161320dc 57%,#17121c00 72%);transition:filter .25s}
.calendar-home:hover{filter:drop-shadow(0 0 20px #dbc17b66)}.calendar-home>span{display:block;font:20px Georgia,serif;margin-top:-3px}.calendar-home>small{display:block;font-size:11px;letter-spacing:.08em;margin-top:5px;color:#ddd0b8}.calendar-home[hidden],.calendar-page[hidden]{display:none!important}.season-dial{display:block;width:100%;overflow:visible}.season-dial circle.outer{fill:#171521bd;stroke:#bda46d;stroke-width:.7}.season-dial circle.inner{fill:none;stroke:#aca7ba66;stroke-width:.8}.day-tick{stroke:#baa471;stroke-width:.8}.month{fill:#decca2;font:9px sans-serif;letter-spacing:1px}.festival-label{fill:#d8c28b;font:11px Georgia,serif}.phase-label{fill:#a9a6be;font:7px sans-serif;letter-spacing:1px}.solar-dot{fill:#efce85}.lunar-dot{fill:#c7cbe1}.solar-hand{stroke:#e3ba69;stroke-width:1.7;fill:#edca85}.lunar-hand{stroke:#d0d6f0;stroke-width:1.3;fill:#d0d6f0}.moon-dark{fill:#14121c;stroke:#b6a47455;stroke-width:1}.moon-light{stroke:#e4d5b4;stroke-width:1.3;opacity:.94}.moon-rim{fill:none;stroke:#d9c99d66;stroke-width:.5}.calendar-marker[role=button]{cursor:pointer}.calendar-marker:focus{outline:none}.calendar-marker:focus .solar-dot,.calendar-marker.selected .solar-dot,.calendar-marker:focus .lunar-dot,.calendar-marker.selected .lunar-dot{stroke:#fff;stroke-width:3;r:7}.calendar-page{position:fixed;inset:90px 0 155px;z-index:25;overflow:auto;padding:25px 7vw 50px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:6vw;color:#e2d7c9;background:radial-gradient(ellipse at 80% 35%,#302843,#14111ceF 70%);scrollbar-width:thin}.calendar-open #scene{visibility:hidden}.calendar-open #route-trail{visibility:hidden}.calendar-editorial{max-width:550px}.calendar-kicker{font:11px sans-serif;letter-spacing:.24em;color:#c8b17e}.calendar-editorial h1{font:clamp(36px,5vw,64px)/1.1 Georgia,serif;font-weight:400;margin:20px 0}.calendar-date{font-size:12px;color:#bfae8a}.calendar-lead{font:italic 24px/1.4 Georgia,serif;color:#dfca9f}.calendar-editorial h2{font:24px Georgia,serif;font-weight:400;margin-top:30px}.calendar-editorial p:not(.calendar-kicker):not(.calendar-lead):not(.calendar-date){font:15px/1.8 sans-serif}.calendar-editorial blockquote{margin:25px 0;border-left:1px solid #c9aa68;padding-left:18px;font:italic 21px/1.5 Georgia,serif}.calendar-note{color:#a79baf;font-size:12px!important}.calendar-editorial details{border-top:1px solid #baa16b44;padding-top:15px;margin-top:25px;font-size:13px}.calendar-editorial summary{cursor:pointer;min-height:44px}.calendar-editorial details a{display:block;color:#cbbb94;margin:12px 0;line-height:1.5}.calendar-visual{align-self:start;position:sticky;top:0;text-align:center;min-width:0}.calendar-visual>div{max-width:570px;margin:auto}.calendar-legend{font-size:11px;color:#b5a9b8;white-space:pre-wrap}.calendar-visual select,.calendar-visual button{min-height:44px;border:1px solid #bca47566;border-radius:24px;background:#18131f;color:#e3d5b9;padding:10px 18px;margin:8px;max-width:95%;font:13px sans-serif}.calendar-home:focus-visible{outline:2px solid #f0dca5;outline-offset:8px}
@media(max-width:700px){.calendar-home{width:190px;top:48%}.calendar-home>span{font-size:17px}.calendar-home .festival-label{display:none}.calendar-page{inset:75px 0 100px;padding:12px 22px 40px;display:flex;flex-direction:column;gap:20px}.calendar-visual{order:-1;position:static}.calendar-visual>div{max-width:330px}.calendar-editorial h1{font-size:38px;margin-top:12px}.calendar-visual select,.calendar-visual button{margin:3px;font-size:12px;padding:8px 12px}.calendar-editorial{max-width:none}.calendar-legend{margin:6px 0}.calendar-open #atlas-utilities{display:none!important}}
@media(max-height:650px) and (min-width:701px){.calendar-home{width:180px}.calendar-page{inset:80px 0 135px}.calendar-visual>div{max-width:360px}}
@media(prefers-reduced-motion:reduce){.calendar-home{transition:none}}

@media(min-width:701px){.calendar-visual>div{max-width:min(570px,calc(100dvh - 380px))}}
.calendar-open #design-home-contact,.calendar-open #reserve,.calendar-open #about-trigger{display:none!important}
.calendar-open{background:#17121f}
html body.calendar-open #contact-footer,html body.calendar-open #phone-dock{display:none!important}
/* V17.0.2 — the home dial lets the mosaic show through. */
.calendar-home{background:radial-gradient(ellipse at 50% 44%,rgba(22,19,32,.38) 0%,rgba(22,19,32,.30) 38%,rgba(22,19,32,.15) 59%,rgba(22,19,32,0) 73%);filter:drop-shadow(0 3px 8px #0006)}
.calendar-home .season-dial circle.outer{fill:none;stroke:#d1b980}
.calendar-home .season-dial circle.inner{stroke:#bab6cc99}
.calendar-home .month,.calendar-home .festival-label,.calendar-home .phase-label{paint-order:stroke fill;stroke:#17121c;stroke-width:1.5px;stroke-linejoin:round}
.calendar-home .moon-dark{fill:#14121ce6}
.calendar-home>span,.calendar-home>small{text-shadow:0 1px 4px #000,0 0 12px #000b}
