/* Second reference pass: broad mist surfaces, matte controls, quiet linework. */
body{background:linear-gradient(180deg,#fffdfb 0%,#faf7f8 19%,#f5f1f8 44%,#edf3f8 76%,#fcfbfa 100%);background-attachment:scroll}
.brand-header{background:linear-gradient(115deg,#fffdfbd9,#f7f5f7b3 58%,#eff2f6b3)}
.brand-header::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.14;background:repeating-linear-gradient(128deg,transparent 0 71px,#b6b0ba17 72px,transparent 74px 135px);mask-image:linear-gradient(90deg,#000,transparent 80%)}
.header-inner{height:92px;position:relative;z-index:1}
.intro-panel{min-height:186px;padding-top:30px;padding-bottom:37px;overflow:visible}
.intro-panel::before{content:'';position:absolute;right:13%;top:18px;width:240px;height:138px;border:1px solid #8e718a16;border-radius:50%;transform:rotate(-19deg);pointer-events:none;z-index:-1}
.intro-copy p{font-size:15px;letter-spacing:.13em;font-weight:500;color:#777681;margin-top:18px}
.particle-network{opacity:.39}
.location-section{position:relative;padding:26px 0 35px;margin:0 0 28px}
.section-title{margin-bottom:24px;gap:20px}
.section-title h2{font-size:25px;letter-spacing:.065em;font-weight:800}
.section-title>span{font-size:12px;letter-spacing:.1em;color:#8b8590}
.location-tabs{gap:20px}
.location-tab{min-height:110px;border-radius:4px;border:1px solid #ded8e2;background:#ffffffad;box-shadow:0 14px 28px -28px #54425a55;padding:22px}
.location-tab:hover{transform:translateY(-2px);border-color:#b69bb0;box-shadow:0 18px 28px -26px #61425c55}
.location-tab.is-active,.location-tab.is-active:hover{background:linear-gradient(125deg,#a34772,#82345d);border-color:#914369;box-shadow:0 12px 25px -23px #64254c66}
.location-name{letter-spacing:.01em}
.location-tab>svg{stroke-width:1.4}
.location-caption{font-size:12px;letter-spacing:.04em}
.button,.icon-button{border-radius:5px;background:linear-gradient(135deg,#fffffff2,#f7f5f9);border:1px solid #d7d2dc;box-shadow:0 7px 17px -17px #45394f66;transition:background .3s,border-color .3s,transform .3s}
.button:hover,.icon-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px -16px #45394f66;border-color:#ad8ca3;background:#fff}
.button:active,.icon-button:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #52465e12}
.intro-actions .button{background:#ffffffa6;border-color:#cbb9c8;box-shadow:none;min-height:53px}
.button-primary,.button-primary:hover{background:linear-gradient(120deg,#ad4f7a,#86365f);border-color:#8d3b63;color:#fff;box-shadow:0 10px 20px -20px #63244188}
.manage-button{background:#ffffffad;box-shadow:none}
.page-motion-toggle{border-color:transparent;border-radius:3px;background:#ffffff7a;font-size:11px;bottom:18px}
.schedule-panel{position:relative;border:0;border-radius:5px;background:linear-gradient(160deg,#ffffffed 28%,#fdfbfeef 70%,#f5f8fbef);padding-inline:30px;box-shadow:0 20px 65px -50px #4c405e66}
.schedule-panel::before{background:linear-gradient(90deg,transparent,#ad8fa7 20%,#d1c4d3 55%,#aac3ca 85%,transparent);opacity:.6;height:1px;inset-inline:0}
.calendar-toolbar{padding-top:32px;padding-bottom:28px}
.calendar-heading h2{font-size:32px;letter-spacing:.04em;font-weight:800}
.calendar-heading p{font-size:13px;letter-spacing:.04em;margin-top:7px;color:#82808b}
.view-switch{background:#f2eff5;border:1px solid #e3dde7;border-radius:5px;padding:4px}
.view-switch button{border-radius:3px;box-shadow:none}
.view-switch button.is-active{background:#3c4b5d;box-shadow:none}
.calendar-meta{padding-top:24px}
.calendar-meta strong{letter-spacing:.04em}
.month-head{border-radius:4px 4px 0 0}
.month-head>div{background:#384657;font-weight:750}
.month-grid{border-radius:0 0 4px 4px}
.month-day{border-color:#e8e4ec}
.month-event{border-radius:3px;border-color:#c8d3de;background:#edf1f6}
.calendar-footer{padding-block:20px 15px}
.booking-dialog,.info-dialog{background:linear-gradient(150deg,#fffdfd 15%,#f8f3f9 60%,#eef4f8);border-radius:9px;border-color:#e6dfe8;box-shadow:0 30px 100px -45px #2e263b88}
.dialog-eyebrow{letter-spacing:.08em;color:#9c6688}
.day-overview,.review-summary,.form-context{border-radius:5px;background:linear-gradient(140deg,#ffffffe6,#f5eff7c9);border-color:#e0d9e5;box-shadow:none}
.day-slot,.occupied-group{border-radius:4px}
.occupied-summary{background:#eaf0f5}
.occupied-details{background:#f5f7fa}
.dialog-close{border-radius:5px}
@keyframes reference-arrive{from{opacity:.45;transform:translateY(9px)}to{opacity:1;transform:none}}
.reference-arriving{animation:reference-arrive .85s cubic-bezier(.2,.7,.2,1) both}
.reference-paused .reference-arriving{animation-play-state:paused}
@media(max-width:1200px){.location-tab{padding-inline:16px}.location-tabs{gap:16px}}
@media(max-width:960px){.header-inner{height:86px}.intro-panel{min-height:167px;padding-top:27px}.schedule-panel{padding-inline:23px}.location-tab{min-height:100px}.intro-panel::before{right:7%;width:190px;height:120px}}
@media(max-width:680px){
 .header-inner{height:78px}.intro-panel{min-height:0;padding:25px 1px 24px}.intro-copy p{font-size:13px;letter-spacing:.03em;margin-top:15px}.intro-panel::before{width:135px;height:100px;right:3px;top:30px}.particle-network{opacity:.32}
 .location-section{padding:24px 0 27px;margin-bottom:22px}.section-title{margin-bottom:21px;gap:12px}.section-title h2{font-size:23px;letter-spacing:.015em}.section-title>span{font-size:10px;letter-spacing:0}.location-tabs{gap:14px}.location-tab{padding:16px 10px;min-height:98px;border-radius:4px}.location-name{font-size:18px;letter-spacing:0}.location-caption{font-size:10px}
 .schedule-panel{padding-inline:15px;border-radius:4px}.calendar-toolbar{padding-top:26px;padding-bottom:24px}.calendar-heading h2{font-size:27px;letter-spacing:.015em}.calendar-heading p{font-size:11px}.calendar-meta{padding-top:20px}
 .booking-dialog,.info-dialog,.booking-dialog[data-step=day]{border-radius:15px 15px 0 0}.page-motion-toggle{bottom:23px!important}
}
@media(max-width:370px){.location-tab{padding-inline:9px;gap:7px}.location-name{font-size:17px}.calendar-heading h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.reference-arriving{animation:none!important;transform:none;opacity:1}}
/* Three render layers share one original PNG. The diagonal thorax remains fixed. */
.title-composition .header-butterfly .butterfly-art{position:relative;aspect-ratio:1312/1199;animation:none!important;transform:none!important;perspective:650px;overflow:visible}
.butterfly-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:50% 60%;backface-visibility:hidden;pointer-events:none}
.butterfly-left{clip-path:polygon(0 0,48% 0,48% 49%,50% 55%,46% 64%,37% 79%,0 100%);animation:butterfly-left-flap 4s cubic-bezier(.35,.05,.3,1) infinite;animation-play-state:paused}
.butterfly-right{clip-path:polygon(55% 47%,100% 38%,100% 100%,32% 100%,40% 79%,48% 64%,52% 57%);animation:butterfly-right-flap 4s cubic-bezier(.35,.05,.3,1) infinite;animation-play-state:paused}
.butterfly-body{clip-path:polygon(34% 81%,33% 77%,45% 59%,49% 54%,49% 28%,55% 28%,56% 48%,73% 39%,74% 44%,57% 55%,55% 61%,42% 78%);z-index:3}
.decor-running .butterfly-wing{animation-play-state:running}
@keyframes butterfly-left-flap{0%,100%{transform:rotate3d(.57,-.82,0,-5deg)}45%{transform:rotate3d(.57,-.82,0,54deg)}65%{transform:rotate3d(.57,-.82,0,12deg)}}
@keyframes butterfly-right-flap{0%,100%{transform:rotate3d(.57,-.82,0,5deg)}45%{transform:rotate3d(.57,-.82,0,-48deg)}65%{transform:rotate3d(.57,-.82,0,-8deg)}}
@media(prefers-reduced-motion:reduce){.butterfly-wing{animation:none!important;transform:none!important}}
