@font-face{font-family:Noto;src:url('calendar-ui.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:NotoFallback;src:url('/fonts/notosanstc.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#162f42;--muted:#647581;--wine:#9f245d;--wine-deep:#681c49;--teal:#168b9d;--line:#d6dfe3;--ease:cubic-bezier(.2,.8,.2,1);--shadow:0 18px 46px -30px #24465d55;--row-height:56px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:radial-gradient(ellipse at 100% 0,#f0e6ebaa,transparent 42%),radial-gradient(ellipse at 0 35%,#e7f1f3aa,transparent 48%),#f7f6f3;color:var(--ink);font-family:Noto,NotoFallback,'Microsoft JhengHei',sans-serif;font-synthesis:none;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button,select,input,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #168b9d;outline-offset:4px}h1,h2,h3,p{margin:0}button svg,svg.icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;flex-shrink:0}svg.svg-library{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.flip{transform:rotate(180deg)}
.brand-header{position:relative;background:#fffefcf2;border-bottom:1px solid #dcdce1}.brand-header:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#662653 0 21%,#a72465 21% 76%,#7c2b59 76%)}.header-inner{height:82px;max-width:1512px;margin:auto;padding:4px 44px 0;display:flex;gap:24px;align-items:center}.brand-logo{display:block;width:252px;line-height:0;flex-shrink:0}.brand-logo img{width:100%;height:auto;display:block}.preview-badge{margin-left:auto;display:flex;align-items:center;gap:8px;color:#7a6374;font-size:13px;font-weight:650}.preview-badge>span{width:6px;height:6px;border-radius:50%;background:#aa4272;box-shadow:0 0 0 4px #f3e4ec}.page-shell{max-width:1512px;padding:0 44px;margin:auto}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:11px 20px;border:1px solid #c8d3dc;border-radius:11px;background:linear-gradient(160deg,#fff 0%,#f7fafb 45%,#e6edf2 100%);color:var(--ink);font-size:17px;font-weight:750;text-decoration:none;box-shadow:inset 0 1px 0 #fff,0 3px 0 #c7d1da,0 7px 13px -9px #344c6566;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.button:hover{transform:translateY(-2px);border-color:#abb8c5;box-shadow:inset 0 1px 0 #fff,0 5px 0 #bdcbd4,0 10px 17px -10px #344c6588}.button:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #32485e22,0 1px 0 #bac7d0}.button-arrow{transition:transform .18s var(--ease)}.button:hover .button-arrow{transform:translateX(3px)}.button-primary{min-height:59px;border-color:#8b2457;background:linear-gradient(155deg,#cf658d 0%,#ae3068 34%,#8b2354 74%,#682044 100%);color:white;font-size:20px;font-weight:850;box-shadow:inset 0 1px 0 #f4b5cd,0 4px 0 #591333,0 13px 24px -14px #83205099}.button-primary:hover{border-color:#b53671;background:linear-gradient(155deg,#d37499,#b73b73 34%,#98285e 74%,#76254e);box-shadow:inset 0 1px 0 #ffd6e4,0 6px 0 #641840,0 16px 24px -13px #83205099}.button-primary:active{box-shadow:inset 0 2px 4px #49112c66,0 1px 0 #591333}.button-plain{background:none;border-color:transparent;box-shadow:none;color:#6c707d}.button-plain:hover{background:#f1edf0;border-color:transparent;box-shadow:none}.button-small{min-height:48px;font-size:15px;padding:10px 15px}.full-width{width:100%;margin-top:13px}.icon-button{width:48px;height:48px;min-width:48px;border:1px solid #cbd5dd;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:#3b5264;background:linear-gradient(#fff,#e9eef2);box-shadow:inset 0 1px 0 #fff,0 2px 0 #cbd4dd;transition:transform .18s,box-shadow .18s,border-color .18s}.icon-button:hover{border-color:#a94671;transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 4px 0 #cbd4dd}.icon-button:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #233d5022}.text-link,.info-link{border:0;background:none;color:#8d2857;font-weight:700;text-decoration:underline;text-underline-offset:4px}.info-link{display:inline-flex;align-items:center;gap:6px;min-height:48px;margin-left:auto;font-size:14px;text-decoration:none;padding:0 2px}.info-link svg{width:19px;height:19px}.text-link{font-size:inherit;padding:8px 3px;min-height:40px}
.intro-panel{position:relative;isolation:isolate;min-height:134px;padding:22px 4px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d3d8de;overflow:hidden}.intro-copy h1{font-size:44px;line-height:1.25;letter-spacing:-1.6px;font-weight:900}.intro-copy h1 span{color:#a42b63}.intro-copy p{margin-top:9px;font-size:16px;color:#647682;letter-spacing:.5px;font-weight:500}.brand-waves{position:absolute;width:65%;height:116px;right:-45px;top:8px;z-index:-1;opacity:.45;pointer-events:none;animation:brand-drift 9s ease-in-out infinite alternate}.brand-waves path{stroke-width:.8}.intro-actions{margin-left:auto}.intro-actions .button{background:linear-gradient(150deg,#fff 10%,#f8f0f5 68%,#eadce5);border-color:#cdbdca;color:#79244d;box-shadow:inset 0 1px 0 #fff,0 3px 0 #ccb9c7,0 8px 14px -11px #64264b70}.location-section{margin:21px 0 25px}.section-title{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}.section-title h2{font-size:24px;letter-spacing:-.5px;font-weight:850}.section-title>span{font-size:14px;font-weight:500;color:var(--muted)}.location-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.location-tab{position:relative;display:flex;align-items:center;gap:13px;min-height:94px;text-align:left;padding:16px 17px;border:1px solid #d4cdd3;border-radius:12px;color:var(--ink);background:linear-gradient(145deg,#fff 5%,#fbfafb 58%,#e9e5eb);box-shadow:inset 0 1px 0 #fff,0 3px 0 #cdd0d7,0 9px 19px -17px #3b4a6377;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.location-tab:hover{transform:translateY(-3px);border-color:#b27597;box-shadow:inset 0 1px 0 #fff,0 6px 0 #c7c8d2,0 13px 20px -13px #59244455}.location-tab:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #53183722,0 1px 0 #c7c8d2}.location-tab>svg{width:31px;height:31px;color:#8c4a75;stroke-width:1.6}.location-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.location-name{font-size:21px;font-weight:850;line-height:1.4;letter-spacing:-.4px;white-space:nowrap}.location-caption{color:#70808c;font-size:13px;font-weight:500}.location-tab.is-active{color:white;border-color:#8e2a60;background:linear-gradient(140deg,#c55c89 0%,#a7316b 34%,#842554 75%,#68214d 100%);box-shadow:inset 0 1px 0 #efabc7,0 3px 0 #622044,0 12px 24px -17px #79274fbb}.location-tab.is-active:hover{box-shadow:inset 0 1px 0 #fac9de,0 6px 0 #622044,0 15px 26px -15px #79274fbb}.location-tab.is-active>svg{color:#ffcee0}.location-tab.is-active .location-caption{color:#f0d8e5}.location-check{display:flex;align-items:center;gap:3px;position:absolute;right:10px;bottom:7px;font-size:11px;color:#ffe0ed}.location-check svg{width:13px;height:13px;stroke-width:2.3}
.schedule-panel{position:relative;background:#fffefc;border:1px solid #d3dce0;border-radius:18px;padding:0 24px 18px;box-shadow:var(--shadow);overflow:hidden}.schedule-panel:before{content:'';position:absolute;inset:0 20px auto;height:3px;background:linear-gradient(90deg,#9e3469,#b287a4 27%,#d9dfe5 58%,#79b5bd);border-radius:0 0 5px 5px}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:24px 0 21px;touch-action:pan-y}.calendar-heading h2{font-size:31px;line-height:1.3;font-weight:900;letter-spacing:-.7px}.calendar-heading p{font-size:14px;color:#6d7e89;margin-top:6px}.period-navigation{display:flex;align-items:center;justify-content:center;gap:10px}.period-navigation .button{min-width:120px;font-size:17px}.view-switch{justify-self:end;display:flex;gap:3px;background:#e7ebef;border:1px solid #d3dce3;padding:5px;border-radius:12px;box-shadow:inset 0 2px 4px #29465d0d}.view-switch button{min-height:48px;min-width:70px;border:1px solid transparent;border-radius:8px;background:transparent;color:#5d7182;font-size:19px;font-weight:800;transition:background .18s,box-shadow .18s,color .18s}.view-switch button.is-active{color:#fff;background:linear-gradient(145deg,#4d6c83,#2d4d66 48%,#1a354b);border-color:#2c4a60;box-shadow:inset 0 1px 0 #7c96a9,0 2px 2px #102a3b35}.view-switch button:not(.is-active):hover{background:#fff8;color:var(--ink)}.calendar-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #e0e4e6;padding-top:16px}.calendar-meta strong{font-size:20px;font-weight:850;color:#8c2856}.calendar-meta>span{font-size:14px;color:#74828d}.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:19px;font-size:14px;color:#627684;margin:9px 0}.calendar-legend>span{display:inline-flex;align-items:center;gap:7px}.calendar-legend i{display:inline-block;width:13px;height:13px;border-radius:3px;flex-shrink:0}.calendar-legend .free{border:1px solid #cbd9df;background:#fff}.calendar-legend .booked{background:linear-gradient(145deg,#8ea6b8,#5c7893);border:1px solid #688297}.calendar-legend .today{border:2px solid #2493a2;background:#e9f5f6}.calendar-legend .holiday{border:1px solid #dcb0c5;background:#f5dce7}.demo-note{font-size:12px;color:#847566;display:flex;align-items:center;gap:8px;margin:0 0 13px}.demo-note>span{font-size:11px;padding:3px 7px;border:1px solid #e6d9c4;border-radius:4px;background:#f8f2e6;white-space:nowrap}.calendar-wrap{overflow:auto;border:1px solid #cdd8df;border-radius:12px;background:#fff;scrollbar-width:thin;scrollbar-color:#a8b8c4 #f1f4f5;overscroll-behavior-x:contain;scroll-behavior:smooth}.month-head,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-head{background:linear-gradient(110deg,#27465e,#1c3449);color:#fff}.month-head>div{height:48px;display:flex;align-items:center;justify-content:center;font-weight:750;font-size:16px;border-right:1px solid #ffffff14}.month-head>div:nth-child(n+6){background:#9451772d;color:#ffd9e8}.month-day{position:relative;min-width:0;min-height:169px;padding:11px 14px 12px;display:flex;flex-direction:column;align-items:stretch;text-align:left;border:0;border-right:1px solid #dce4e8;border-bottom:1px solid #dce4e8;background:#fff;color:var(--ink);transition:background .15s,box-shadow .15s}.month-day:nth-child(7n){border-right:0}.month-day:nth-last-child(-n+7){border-bottom:0}.day-heading{height:35px;display:flex;align-items:center;justify-content:space-between;gap:5px}.day-number{font-size:27px;line-height:1;font-weight:850;font-variant-numeric:tabular-nums}.day-flag{font-size:11px;font-weight:750;background:#e1f1f3;color:#167c8e;padding:3px 6px;border-radius:4px}.day-holiday{min-height:20px;font-size:13px;line-height:1.4;font-weight:750;color:#a93368;white-space:normal}.day-holiday:empty{display:none}.day-status{font-size:15px;font-weight:650;margin-top:auto;padding-top:8px;color:#5c7383}.occupancy-track{display:flex;gap:2px;width:100%;height:7px;margin:8px 0 7px;overflow:hidden;border-radius:2px;background:#f7fafb}.occupancy-track i{flex:1;min-width:0;background:#dce9ec}.occupancy-track i.is-booked{background:linear-gradient(#8ca6ba,#617e96)}.day-free{font-size:12px;line-height:1.4;color:#84949e}.day-range{font-size:17px;font-weight:800;line-height:1.65;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.month-day.is-weekend{background:#faf5f7}.month-day.is-weekend .day-number{color:#aa537b}.month-day.is-holiday{background:linear-gradient(140deg,#fff8fb,#f8eaf0)}.month-day.is-holiday .day-number{color:#a32d63}.month-day.is-outside{background:#f5f7f8}.month-day.is-outside .day-heading,.month-day.is-outside .day-status,.month-day.is-outside .day-free,.month-day.is-outside .day-range,.month-day.is-outside .occupancy-track{opacity:.46}.month-day:hover{box-shadow:inset 0 0 0 2px #bb7998;background:#fff8fb}.month-day.is-today{background:linear-gradient(140deg,#fff,#edf8f8);box-shadow:inset 0 0 0 2px #3296a4}.month-day.is-today .day-number{color:#188395}.month-day.is-picked{color:#fff;background:linear-gradient(150deg,#c45b89,#a6356d 34%,#812650);box-shadow:inset 0 1px 0 #f9cde2,inset 0 0 0 2px #a4376c}.month-day.is-picked .day-number,.month-day.is-picked .day-range{color:#fff}.month-day.is-picked .day-status,.month-day.is-picked .day-free,.month-day.is-picked .day-holiday{color:#ffe1ed}.month-day.is-picked .day-flag{color:white;background:#ffffff26}.month-day.is-picked .occupancy-track{background:none}.month-day.is-picked .occupancy-track i{background:#ffffff45}.month-day.is-picked .occupancy-track i.is-booked{background:#f7c1d5}.calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 2px 12px;font-size:14px;color:#657b89}.calendar-footer>span{display:flex;align-items:center;gap:7px}.calendar-footer svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.7}.calendar-footer>span:last-child{color:#934366;font-weight:650}.holiday-note{border-top:1px solid #e4e7e9;padding-top:12px;font-size:12px;line-height:1.9;color:#81909a}.page-footer{display:flex;justify-content:space-between;gap:20px;padding:24px 3px 30px;font-size:12px;color:#83919a}
.week-grid{display:grid;grid-template-columns:72px repeat(7,minmax(120px,1fr));min-width:960px}.week-corner,.week-heading{position:sticky;top:0;z-index:3;min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:linear-gradient(#2d4b63,#203a50);color:#fff;border:0;border-right:1px solid #ffffff18;border-bottom:1px solid #496477}.week-corner{left:0;z-index:5;font-size:14px}.week-heading strong{font-size:25px;font-weight:850;line-height:1.25}.week-heading>span{font-size:14px;color:#cfdae3}.week-heading small{font-size:12px;color:#fbd2e4;line-height:1.5}.week-heading.is-weekend{background:linear-gradient(#4f435a,#34324a)}.week-heading.is-holiday{background:linear-gradient(#74415f,#59364e)}.week-heading.is-today{box-shadow:inset 0 -4px 0 #6ed5df}.week-heading:hover{filter:brightness(1.1)}.week-time{position:sticky;left:0;z-index:2;min-height:56px;border-bottom:1px solid #e0e6eb;border-right:1px solid #cad6de;background:#edf2f5;padding:7px 8px;text-align:center;color:#526c7f;font-size:16px;font-weight:750;font-variant-numeric:tabular-nums}.week-slot{min-height:56px;border:0;border-right:1px solid #dce4e8;border-bottom:1px solid #dce4e8;color:#557384;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6px;font-size:15px;font-weight:650;transition:background .15s,box-shadow .15s}.week-slot small{font-size:11px;color:#758b9a}.week-slot:hover{background:#fff3f8;box-shadow:inset 0 0 0 2px #c889a6;color:#982c60}.week-slot.is-booked{color:#54728a;background:repeating-linear-gradient(135deg,#e6edf3,#e6edf3 9px,#edf2f6 9px,#edf2f6 18px);box-shadow:inset 3px 0 0 #7e99ae}.week-slot.is-selected{background:linear-gradient(145deg,#c45988,#862953);color:white;box-shadow:inset 0 1px 0 #f4c0d6}.week-end-label{grid-column:2/-1;padding:10px 16px;background:#f7f9fa;color:#8b99a2;font-size:12px;border-top:1px solid #e1e7eb}
.booking-dialog,.info-dialog{width:min(560px,calc(100% - 40px));max-height:calc(100dvh - 44px);padding:31px 32px;border:1px solid #d9d6df;border-radius:20px;background:linear-gradient(145deg,#fffefa,#fff 44%,#fbf9fb);color:var(--ink);box-shadow:0 30px 100px #112c4570;overflow:auto;scrollbar-width:thin;scrollbar-color:#bcc8d1 transparent}.booking-dialog::backdrop,.info-dialog::backdrop{background:#102c4566;backdrop-filter:blur(7px)}.booking-dialog[open],.info-dialog[open]{animation:panel-in .22s var(--ease)}.booking-dialog[data-step=day]{width:min(960px,calc(100% - 48px));padding:29px 32px;overflow:hidden}.dialog-close{position:absolute;top:17px;right:18px;border-radius:50%;width:46px;height:46px;min-width:46px;background:linear-gradient(#fff,#eff2f5);z-index:5}.dialog-close svg{width:19px;height:19px}.dialog-eyebrow{font-size:14px;color:#a34973;font-weight:750;margin:0 58px 10px 0;display:flex;align-items:center;gap:7px}.dialog-eyebrow>span{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dfbfd0;border-radius:50%;font-size:12px;background:#f6eaf0}.booking-dialog h2,.info-dialog h2{font-size:30px;line-height:1.4;font-weight:900;letter-spacing:-.7px;margin-bottom:20px;padding-right:25px}.booking-dialog[data-step=day] h2{font-size:29px;margin-bottom:8px}.day-context{font-size:18px;color:#94325f;font-weight:800;line-height:1.6;margin-bottom:21px}.day-context span{display:block;font-size:14px;color:#73838e;font-weight:500;margin-top:3px}.day-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:26px;align-items:start}.day-overview{padding:21px;background:linear-gradient(150deg,#f8f4f8,#f4f6f8);border:1px solid #e0dce4;border-radius:13px}.day-overview h3{font-size:22px;font-weight:850;color:#84335f;margin-bottom:7px}.day-overview>p{font-size:14px;line-height:1.8;color:#7a8590}.range-list{display:flex;flex-direction:column;gap:8px;margin:16px 0 18px}.range-list>button,.range-list>div,.range-list>span{display:block;min-height:48px;padding:10px 12px;border:1px solid #d7dfe5;border-radius:8px;background:linear-gradient(145deg,#fff,#f9fafc);font-size:18px;line-height:1.5;font-weight:750;color:#3b596d;font-variant-numeric:tabular-nums}.range-list>button:hover{border-color:#b87999;color:#952d5f}.range-list small{font-size:12px;color:#738590;font-weight:500}.day-overview .calendar-legend{border-top:1px solid #dbe1e6;padding-top:12px;gap:15px;font-size:12px}.day-overview .demo-only-note{font-size:12px;margin-top:12px;color:#89959f}.day-timeline-wrap{max-height:min(610px,calc(100dvh - 235px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#afbec8 #f1f5f6;border:1px solid #ccd9e1;border-radius:12px;background:#fff}.day-timeline{display:flex;flex-direction:column}.day-slot{display:flex;align-items:center;gap:10px;min-height:58px;flex-shrink:0;padding:11px 17px;border:0;border-bottom:1px solid #e0e7eb;text-align:left;background:#fff;color:var(--ink);transition:background .16s,box-shadow .16s}.day-slot:nth-child(even){background:#f8fbfb}.slot-time{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.3px;white-space:nowrap}.slot-status{margin-left:auto;font-size:15px;font-weight:650;color:#657d8c;white-space:nowrap}.day-slot>svg{width:19px;height:19px;color:#9b3867;transition:transform .16s}.day-slot:hover{background:#fff3f8;box-shadow:inset 3px 0 0 #b35a83}.day-slot:hover>svg{transform:translateX(3px)}.day-slot.is-booked{background:repeating-linear-gradient(135deg,#e9eff4,#e9eff4 9px,#f0f4f7 9px,#f0f4f7 18px);color:#698295;box-shadow:inset 3px 0 0 #8aa4b7;opacity:1}.day-slot.is-booked .slot-status{color:#6b8191}.day-slot.is-booked>svg{color:#9cabb6}.day-slot.is-selected{background:linear-gradient(140deg,#c45c8b,#a0346c 50%,#812753);box-shadow:inset 0 1px 0 #f4bdd5;color:white}.day-slot.is-selected .slot-status,.day-slot.is-selected>svg{color:#ffe5f0}.timeline-end{position:sticky;bottom:0;padding:10px 17px;background:#eef3f6;color:#7e8f9b;border-top:1px solid #d5e0e7;font-size:13px;font-weight:550}.form-context{display:flex;align-items:center;gap:13px;padding:16px;background:linear-gradient(135deg,#f8edf3,#f2f4f7);border:1px solid #e1d8e2;border-radius:12px;margin-bottom:10px}.calendar-emblem{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:11px;background:linear-gradient(145deg,#fff,#ecd8e4);color:#a63b6c;border:1px solid #e5c7d8;box-shadow:inset 0 1px 0 white}.calendar-emblem svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5}.form-context strong{display:block;font-size:18px;font-weight:850;color:#7f2c56}.form-context>div>span{font-size:14px;color:#6f7f8d;display:block;margin-top:4px}#back-to-day{font-size:14px;min-height:48px;padding:10px 1px;margin-bottom:8px;color:#8d4166}#booking-form>label,.time-fields label,.reminder-options>label:not(.checkbox-row){display:block;font-size:17px;font-weight:750;margin-bottom:20px}.field-meta{font-size:12px;font-weight:500;color:#8b969f;margin-left:5px}input:not([type=checkbox]),textarea,select{display:block;width:100%;min-height:53px;margin-top:8px;padding:12px 14px;border:1px solid #c8d3dc;border-radius:10px;color:#203c51;background:linear-gradient(#fcfdfd,#fff);box-shadow:inset 0 2px 3px #21395108;font-size:17px;font-weight:500;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9aa7b0;font-weight:400}input:focus,textarea:focus,select:focus{border-color:#a1517a;box-shadow:0 0 0 3px #a8477911}.time-fields{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:9px;align-items:center}.time-fields select{font-size:23px;font-weight:850;color:#92325f;min-height:58px;padding:10px 13px}.time-separator{font-size:14px;color:#85949e;padding-top:13px;text-align:center}textarea{min-height:104px;resize:vertical;line-height:1.7}.form-hint{font-size:14px;line-height:1.75;color:#7c8b96;margin:20px 0 6px}.reminder-options{margin:8px 0 16px;padding:13px 16px 16px;border:1px solid #d7e0e5;border-radius:12px;background:linear-gradient(140deg,#fff,#f5f7f9)}.reminder-options legend{font-size:16px;font-weight:800;padding:0 6px}.checkbox-row{display:flex;align-items:center;gap:10px;min-height:48px;font-size:16px;font-weight:650;cursor:pointer;margin-bottom:8px}.checkbox-row input{width:21px;height:21px;accent-color:#9e2e65;flex-shrink:0;margin:0}.reminder-options select{min-height:49px;font-size:16px}.reminder-options>label:not(.checkbox-row){font-size:14px;margin:5px 0 17px}.gmail-connect{width:100%;min-height:51px;font-size:17px;padding:10px 12px;gap:8px}.gmail-connect>span{font-size:11px;font-weight:650;margin-left:auto;padding:3px 7px;background:#e6ebef;color:#718493;border-radius:4px}.reminder-options>p{font-size:12px;line-height:1.8;color:#8b969f;margin-top:13px}.dialog-description{color:#6f818e;font-size:15px;line-height:1.8;margin-top:-6px}.review-summary{margin:22px 0 23px;padding:19px;border:1px solid #d9dce3;border-radius:12px;background:linear-gradient(145deg,#fff,#f6f4f8)}.demo-summary-place{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid #dfe3e8}.demo-summary-place svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.7;fill:none;color:#a34871;flex-shrink:0}.demo-summary-place strong{font-size:21px;font-weight:850;color:#89335b}.demo-summary dl{margin:0}.demo-summary dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;padding-top:13px}.demo-summary dt{font-size:14px;color:#8a96a0;padding-top:3px}.demo-summary dd{margin:0;font-size:18px;font-weight:750;overflow-wrap:anywhere}.summary-date{font-size:17px}.summary-weekday{display:inline-block;font-size:13px;margin-left:6px;color:#7a8995;font-weight:500}.summary-time.time{font-size:28px;color:#9e3263;font-weight:850;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap}.content-value{font-size:15px!important;line-height:1.8;font-weight:500!important}.demo-only-note{font-size:12px;color:#9b8a78;line-height:1.8;margin-top:13px}.success-art{height:103px;width:103px;margin:2px auto 10px}.success-art svg{width:100%;height:100%;overflow:visible}.success-ring{fill:none;stroke:#bf618b;stroke-width:1.5;transform-origin:center;animation:ring-converge 1s var(--ease) both}.success-disc{fill:url(#success-gradient);filter:drop-shadow(0 5px 6px #a8427140);transform-origin:center;animation:disc-in .6s var(--ease) both}.success-check{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:check-in .35s .45s ease-out forwards}#success-panel>h2,#success-panel>.dialog-description{text-align:center}#success-panel>h2{padding-right:0;margin-bottom:15px}.info-dialog{max-width:560px}.info-dialog h2{margin-top:10px}.info-dialog p,.info-dialog ol{font-size:16px;line-height:1.9;color:#657b8c}.info-dialog ol{padding-left:23px}.info-dialog li{padding-bottom:9px}.demo-info-place{display:flex;align-items:center;gap:10px;padding:15px 0}.demo-info-place svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.7;color:#9f3568}.demo-info-place h3{font-size:23px;font-weight:850}.info-dialog .demo-only-note{font-size:13px}.info-dialog a{color:#9a3964;text-underline-offset:4px;overflow-wrap:anywhere}
@keyframes brand-drift{from{transform:translate(0,0)}to{transform:translate(6px,3px)}}@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ring-converge{0%{opacity:0;transform:scale(1.5)}25%{opacity:.7}85%,100%{opacity:0;transform:scale(.94)}}@keyframes disc-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes check-in{to{stroke-dashoffset:0}}
@media(min-width:1500px){.month-day{min-height:176px}.day-range{font-size:18px}}
@media(max-width:1200px){.header-inner{padding-inline:28px}.page-shell{padding-inline:28px}.location-tabs{gap:12px}.location-tab{padding-inline:14px;gap:10px}.location-tab>svg{width:27px;height:27px}.location-name{font-size:18px}.location-caption{font-size:12px}.location-check{font-size:0;right:9px;bottom:8px}.calendar-heading h2{font-size:28px}.schedule-panel{padding-inline:18px}.calendar-toolbar{gap:15px}.calendar-heading p{font-size:13px}.day-range{font-size:16px}.month-day{padding-inline:10px}.day-status{font-size:14px}.calendar-meta strong{font-size:19px}.calendar-meta>span{font-size:13px}.day-layout{grid-template-columns:240px minmax(0,1fr);gap:23px}}
@media(max-width:960px){.header-inner{height:78px;gap:18px}.brand-logo{width:235px}.preview-badge{display:none}.manage-button{margin-left:auto}.intro-copy h1{font-size:41px}.intro-panel{min-height:129px}.location-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.location-tab{min-height:82px;padding:14px 18px;gap:15px}.location-tab>svg{width:30px;height:30px}.location-name{font-size:22px}.location-caption{font-size:13px}.location-check{font-size:11px;bottom:6px;right:10px}.location-section{margin-bottom:25px}.calendar-toolbar{grid-template-columns:1fr auto;padding:23px 0 19px;gap:19px}.calendar-heading{grid-row:1;grid-column:1}.view-switch{grid-row:1;grid-column:2}.period-navigation{grid-row:2;grid-column:1/-1;justify-content:center}.period-navigation .button{min-width:150px}.calendar-heading h2{font-size:30px}.calendar-heading p{font-size:14px}.month-head,.month-grid{min-width:805px}.month-day{min-height:167px;padding:11px}.day-range{font-size:16px}.calendar-meta{align-items:flex-start}.calendar-meta>span{max-width:45%;text-align:right}.calendar-footer{font-size:13px;gap:10px}.day-layout{grid-template-columns:235px minmax(0,1fr);gap:20px}.booking-dialog[data-step=day]{padding:27px 25px}.day-overview{padding:18px}.day-overview h3{font-size:21px}.slot-time{font-size:17px}.day-slot{padding-inline:14px;gap:8px}.slot-status{font-size:14px}.day-slot>svg{width:17px;height:17px}}
@media(max-width:680px){.brand-header:before{height:3px}.header-inner{height:71px;padding:4px 18px 0;gap:15px}.brand-logo{width:210px}.manage-button{font-size:14px;min-height:45px;padding:9px 12px;gap:7px;border-radius:9px}.manage-button svg{width:18px;height:18px}.manage-button .button-arrow{display:none}.page-shell{padding-inline:16px}.intro-panel{min-height:130px;padding:20px 1px;gap:15px}.intro-copy h1{font-size:35px;letter-spacing:-1.2px}.intro-copy p{font-size:14px;letter-spacing:0;max-width:21em}.intro-actions .button{font-size:15px;padding:10px 12px;min-height:49px;gap:7px}.intro-actions .button-arrow{display:none}.intro-actions svg{width:19px;height:19px}.brand-waves{width:88%;height:130px;right:-33%;top:0;opacity:.35}.section-title{margin-bottom:13px;gap:10px}.section-title h2{font-size:23px}.section-title>span{font-size:12px}.location-section{margin:20px 0 25px}.location-tabs{gap:12px}.location-tab{min-height:88px;padding:13px 12px;gap:10px;align-items:center}.location-tab>svg{width:25px;height:25px}.location-name{font-size:19px;line-height:1.35;white-space:normal;letter-spacing:-.5px}.location-caption{font-size:11px;margin-top:2px}.location-check{font-size:0;right:7px;bottom:6px}.location-check svg{width:11px;height:11px}.schedule-panel{padding:0 15px 15px;border-radius:13px}.schedule-panel:before{inset-inline:13px;height:2px}.calendar-toolbar{padding-top:22px;gap:20px 8px}.calendar-heading h2{font-size:29px}.calendar-heading p{font-size:12px;margin-top:5px}.view-switch{padding:4px;border-radius:10px;gap:2px}.view-switch button{min-width:47px;min-height:48px;font-size:18px;border-radius:7px}.period-navigation{gap:12px}.period-navigation .icon-button{width:51px;height:51px;min-width:51px}.period-navigation .button{min-width:138px;min-height:51px;font-size:17px}.calendar-meta{display:block;padding-top:16px}.calendar-meta strong{font-size:19px}.calendar-meta>span{display:block;max-width:none;text-align:left;font-size:12px;margin-top:4px}.calendar-legend{font-size:12px;gap:11px;margin:8px 0 10px}.calendar-legend>span{gap:5px}.calendar-legend i{width:11px;height:11px}.calendar-legend .info-link{font-size:12px;min-height:39px;gap:4px}.info-link svg{width:16px;height:16px}.demo-note{font-size:11px;line-height:1.6;gap:6px;margin-bottom:11px;align-items:flex-start}.demo-note>span{font-size:10px;padding:2px 5px}.month-head,.month-grid{min-width:805px}.month-head>div{height:46px;font-size:15px}.month-day{min-height:166px;padding:10px 11px}.day-number{font-size:25px}.day-status{font-size:14px}.day-holiday{font-size:12px}.day-range{font-size:16px}.day-free{font-size:12px}.calendar-footer{display:block;padding-top:14px;font-size:12px}.calendar-footer>span{gap:5px;flex-wrap:wrap}.calendar-footer>span:last-child{margin-top:7px}.calendar-footer svg{width:15px;height:15px}.holiday-note{font-size:11px;padding-top:10px;line-height:1.85}.holiday-note .text-link{padding:4px 2px;min-height:32px}.page-footer{font-size:11px;padding:18px 1px 24px;display:block}.page-footer>span{display:block;margin-bottom:3px}.week-grid{min-width:918px;grid-template-columns:64px repeat(7,minmax(122px,1fr))}.week-time{font-size:15px;padding-inline:5px}.week-heading strong{font-size:24px}.week-corner,.week-heading{min-height:87px}.week-slot{font-size:15px}.booking-dialog,.info-dialog,.booking-dialog[data-step=day]{width:100%;max-width:none;max-height:95dvh;margin:auto 0 0;border-radius:21px 21px 0 0;border-bottom:0;padding:28px 22px max(26px,env(safe-area-inset-bottom));overflow:auto}.booking-dialog[data-step=day]{overflow:hidden}.dialog-close{top:15px;right:15px;min-width:46px;height:46px}.dialog-eyebrow{font-size:13px;margin-bottom:8px}.booking-dialog h2,.info-dialog h2{font-size:29px;margin-bottom:18px}.booking-dialog[data-step=day] h2{font-size:26px;margin-bottom:7px;line-height:1.35;letter-spacing:-.5px}.day-context{font-size:18px;margin-bottom:15px}.day-context span{font-size:12px;margin-top:2px}.day-layout{display:block}.day-overview{padding:12px 14px;margin-bottom:14px;border-radius:10px}.day-overview h3{font-size:17px;margin-bottom:3px}.day-overview>p{display:none}.range-list{flex-direction:row;flex-wrap:wrap;gap:6px;margin:7px 0 0}.range-list>button,.range-list>div,.range-list>span{font-size:15px;min-height:48px;padding:10px 9px;border-radius:7px;flex:0 1 auto;line-height:1.6}.range-list small{font-size:11px}.day-overview .calendar-legend,.day-overview .demo-only-note{display:none}.day-timeline-wrap{max-height:calc(95dvh - 310px);min-height:200px;border-radius:10px}.day-slot{min-height:58px;padding:11px 14px;gap:7px}.slot-time{font-size:17px}.slot-status{font-size:14px}.day-slot>svg{width:18px;height:18px}.timeline-end{padding:8px 13px;font-size:11px}.form-context{padding:14px 13px;gap:10px;margin-bottom:7px}.form-context strong{font-size:17px}.form-context>div>span{font-size:13px}.calendar-emblem{width:44px;height:44px}.calendar-emblem svg{width:24px;height:24px}#booking-form>label{font-size:17px}.time-fields select{font-size:23px;padding-inline:12px}.reminder-options{padding-inline:13px}.review-summary{padding:16px}.demo-summary-place strong{font-size:20px}.demo-summary dl>div{grid-template-columns:63px minmax(0,1fr);gap:8px}.demo-summary dt{font-size:13px}.demo-summary dd{font-size:17px}.summary-time.time{font-size:25px}.summary-date{font-size:16px}.summary-weekday{font-size:12px}.button-primary{min-height:59px;font-size:20px}.info-dialog p,.info-dialog ol{font-size:15px}.success-art{height:94px;width:94px}}
@media(max-width:440px){.header-inner{padding-inline:15px;gap:12px}.brand-logo{width:190px}.manage-button{font-size:14px;padding:9px 10px;gap:5px}.manage-button svg{width:16px;height:16px}.page-shell{padding-inline:12px}.intro-panel{display:block;min-height:143px;padding-top:21px}.intro-copy h1{font-size:34px}.intro-copy p{font-size:13px;max-width:16.7em;line-height:1.75;margin-top:8px}.intro-actions{position:absolute;right:1px;bottom:21px}.intro-actions .button{min-height:48px;font-size:14px;padding-inline:10px;gap:5px}.intro-actions svg{width:17px;height:17px}.location-tabs{gap:11px}.location-tab{padding:13px 9px;gap:8px}.location-tab>svg{width:23px;height:23px}.location-name{font-size:18px}.location-caption{font-size:10px}.section-title h2{font-size:23px}.section-title>span{font-size:11px}.schedule-panel{padding-inline:12px}.calendar-heading h2{font-size:27px}.calendar-heading p{font-size:11px}.view-switch button{min-width:45px}.calendar-meta strong{font-size:18px}.calendar-legend{gap:10px;font-size:11px}.calendar-legend .info-link{font-size:11px}.booking-dialog,.info-dialog,.booking-dialog[data-step=day]{padding-inline:20px}.day-timeline-wrap{max-height:calc(95dvh - 330px)}.slot-time{font-size:17px}.summary-time.time{font-size:24px}.day-context{font-size:17px}.day-overview{padding-inline:12px}.range-list>button,.range-list>div,.range-list>span{font-size:14px;padding-inline:8px}}
@media(max-width:370px){.header-inner{padding-inline:12px;gap:8px}.brand-logo{width:173px}.manage-button{font-size:13px;padding-inline:8px}.manage-button svg{width:15px;height:15px}.intro-copy h1{font-size:32px}.intro-copy p{font-size:12px;max-width:16em}.intro-actions .button{font-size:13px;padding-inline:8px}.location-tab{gap:7px;padding-inline:8px}.location-name{font-size:17px}.location-tab>svg{width:21px;height:21px}.calendar-heading h2{font-size:25px}.calendar-heading p{font-size:10px}.view-switch button{min-width:42px}.calendar-legend{gap:8px}.calendar-legend .info-link{width:100%;justify-content:flex-start;margin-left:0;min-height:30px}.slot-time{font-size:16px}.slot-status{font-size:13px}.day-slot{padding-inline:11px}.day-slot>svg{width:16px;height:16px}.summary-time.time{font-size:23px}.booking-dialog,.info-dialog,.booking-dialog[data-step=day]{padding-inline:17px}.time-fields select{font-size:21px}}
@media(prefers-reduced-motion:reduce){html,.calendar-wrap{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.brand-waves{transform:none}.button:hover,.button:active,.icon-button:hover,.icon-button:active,.location-tab:hover,.location-tab:active{transform:none}.button:hover .button-arrow,.day-slot:hover>svg{transform:none}.success-ring{display:none}.success-check{stroke-dashoffset:0}}
/* Align the final calendar markup and keep changing content stable. */
.day-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.day-context>svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}.day-context>strong{font-weight:800}.day-context>.day-holiday{margin:0;flex-basis:100%;font-size:13px;color:#a14a75}.range-list>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.range-list>span>strong{font:inherit;white-space:nowrap}.range-list>span>small{white-space:nowrap}.demo-summary dd.summary-time{font-size:28px;color:#9e3263;font-weight:850;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-wrap:has(.week-grid){max-height:min(740px,78dvh)}.day-status b{font-weight:850;color:#34566c}.month-day.is-picked .day-status b{color:white}.day-holiday.is-festival{color:#98784e}.week-heading:focus-visible{outline-offset:-4px}.month-day:focus-visible{outline-offset:-4px;z-index:1}.week-slot:focus-visible{outline-offset:-4px;z-index:1}.day-slot:focus-visible{outline-offset:-4px;z-index:1}
@media(max-width:680px){.day-context>svg{width:22px;height:22px}.day-context>.day-holiday{font-size:12px}.range-list>span{gap:6px}.demo-summary dd.summary-time{font-size:25px}.calendar-wrap:has(.week-grid){max-height:73dvh}}
@media(max-width:440px){.demo-summary dd.summary-time{font-size:24px}.range-list>span>small{font-size:10px}}
@media(max-width:370px){.demo-summary dd.summary-time{font-size:23px}}
/* Keep date and weekday readable as separate units. */
#day-heading>span{display:inline-block;white-space:nowrap}#day-heading>.day-weekday{margin-left:12px;font-size:22px;font-weight:800;letter-spacing:0;color:#6b7f8d}
@media(max-width:680px){#day-heading>.day-weekday{display:block;margin:5px 0 0;font-size:19px;line-height:1.45;font-weight:800;color:#71838f}}
/* Mobile: place the calendar sooner without shrinking key controls. */
@media(max-width:680px){
 .intro-panel{display:block;min-height:108px;padding:17px 1px 14px;overflow:hidden}.intro-copy h1{padding-right:118px;font-size:35px;line-height:1.25;white-space:nowrap}.intro-copy p{max-width:none;font-size:14px;line-height:1.65;margin-top:9px;padding-right:0;letter-spacing:0}.intro-actions{position:absolute;top:17px;right:1px;bottom:auto;margin:0}.intro-actions .button{min-height:48px;padding:10px 11px;font-size:14px;gap:6px}.intro-actions svg{width:18px;height:18px}.brand-waves{height:105px;top:0;opacity:.28}
 .location-section{margin:13px 0 18px}.section-title{margin-bottom:10px;gap:10px}.section-title h2{font-size:23px}.section-title>span{display:none}.location-tabs{gap:10px 11px}.location-tab{min-height:74px;padding-top:10px;padding-bottom:10px}.location-caption{display:none}.location-name{font-size:19px;line-height:1.4}.location-check{bottom:6px}
 .calendar-toolbar{padding:15px 0 13px;gap:12px 8px}.calendar-heading h2{font-size:29px}.calendar-heading p{font-size:12px;margin-top:4px}.view-switch button{min-height:48px}.period-navigation{gap:10px}.period-navigation .icon-button{width:48px;height:48px;min-width:48px}.period-navigation .button{min-height:48px;min-width:138px;font-size:17px}
 .calendar-meta{min-height:44px;padding-top:10px;padding-right:93px;display:flex;align-items:center}.calendar-meta strong{font-size:19px;line-height:1.5}.calendar-meta>span{display:none}.schedule-panel>.calendar-legend{position:relative;min-height:21px;margin:5px 0 8px;gap:11px;font-size:12px}.schedule-panel>.calendar-legend>.info-link{position:absolute;right:0;bottom:100%;min-height:48px;width:auto;margin:0;padding:0 2px;font-size:12px;justify-content:center;gap:4px}.schedule-panel>.calendar-legend>.info-link svg{width:16px;height:16px}.demo-note{margin-bottom:10px;font-size:11px;line-height:1.6;gap:6px}.demo-note>span{font-size:10px;line-height:1.6}
}
@media(max-width:440px){.intro-copy h1{font-size:34px}.intro-copy p{font-size:13px;max-width:none;line-height:1.7}.location-name{font-size:18px}.calendar-heading h2{font-size:27px}.calendar-heading p{font-size:11px}.calendar-meta strong{font-size:18px}}
@media(max-width:370px){.intro-copy h1{font-size:32px;padding-right:108px}.intro-copy p{font-size:13px;max-width:none}.intro-actions .button{font-size:13px;padding-inline:9px;min-height:48px}.location-name{font-size:17px}.calendar-heading h2{font-size:25px}.calendar-heading p{font-size:11px}.schedule-panel>.calendar-legend{gap:8px;font-size:11px}.schedule-panel>.calendar-legend>.info-link{font-size:11px}}
/* Mobile day sheet: give the time list only the remaining panel height. */
@media(max-width:680px){
 .booking-dialog[open][data-step=day]{display:flex;flex-direction:column;height:95dvh;max-height:95dvh;overflow:hidden}
 .booking-dialog[data-step=day] #day-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}
 #day-panel>.dialog-eyebrow,#day-panel>#day-heading,#day-panel>.day-context{flex:0 0 auto}
 #day-panel>.day-layout{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:0;overflow:hidden}
 #day-panel .day-overview{flex:0 0 auto}
 #day-panel .day-timeline-wrap{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}
 #day-panel .day-timeline{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#afbec8 #f1f5f6}
 #day-panel .timeline-end{position:static;flex:0 0 auto}
}
@media(max-width:680px){
 #day-panel>.day-layout{align-items:stretch}
 #day-panel .day-overview,#day-panel .day-timeline-wrap,#day-panel .day-timeline{width:100%;min-width:0;align-self:stretch}
}

/* Keep review and success summaries legible on narrow phones. */
.demo-summary .summary-date-line,.demo-summary .summary-weekday-line{display:inline-block;white-space:nowrap}
.demo-summary .summary-weekday-line{margin-left:.35em}
@media(max-width:680px){
 .demo-summary dl>div{grid-template-columns:80px minmax(0,1fr);gap:12px}
 .demo-summary dt{font-size:14px;white-space:nowrap}
 .demo-summary dd{min-width:0}
 .demo-summary .summary-date-line,.demo-summary .summary-weekday-line{display:block;margin:0;font-size:16px;line-height:1.6;white-space:nowrap;letter-spacing:0}
 .demo-summary .summary-weekday-line{color:#617382}
}

/* Soft, feathered title entrance; full text is the default and failure state. */
.title-reveal{display:block;width:fit-content;max-width:100%;padding:.22em .5em .22em .2em;margin:-.22em -.5em -.22em -.2em;overflow:visible}
.title-reveal h1{transform-origin:left center}
.title-reveal.is-revealing{mask-image:linear-gradient(90deg,#000 var(--p),transparent calc(var(--p) + 25%));will-change:mask-image}
.title-reveal.is-revealing h1{will-change:transform}
@media(prefers-reduced-motion:reduce){.title-reveal.is-revealing{mask-image:none!important}.title-reveal.is-revealing h1{transform:none!important;will-change:auto}}
/* Meeting-led month calendar: large dates, readable entries and a persistent availability summary. */
.location-tab{isolation:isolate;position:relative;--x:-1000px;--y:-1000px}
.location-tab::before,.location-tab::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s ease}
.location-tab::before{z-index:2;padding:1px;background:radial-gradient(260px circle at var(--x) var(--y),var(--wine),color-mix(in srgb,var(--teal) 65%,transparent) 38%,transparent 75%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.location-tab::after{z-index:-1;inset:1px;background:radial-gradient(220px circle at var(--x) var(--y),color-mix(in srgb,var(--wine) 10%,transparent),transparent 75%)}
.location-tabs.has-spotlight .location-tab::before,.location-tabs.has-spotlight .location-tab::after{opacity:1}
.location-tab.is-active::before{background:radial-gradient(260px circle at var(--x) var(--y),color-mix(in srgb,white 85%,var(--wine)),transparent 75%)}
@media(prefers-reduced-motion:reduce){.location-tab::before,.location-tab::after{display:none}.location-tab{transition:none}}
.month-head,.month-grid{min-width:1120px;grid-template-columns:repeat(7,minmax(0,1fr))}
.month-head{background:linear-gradient(110deg,#27465e,#183246)}
.month-head>div{height:54px;font-size:17px;font-weight:800;letter-spacing:.08em}
.month-head>div:nth-child(n+6){color:#ffdaea;background:#8d436f29}
.month-day{min-height:330px;padding:16px 13px 14px;gap:0;background:#fff;vertical-align:top}
.month-day .day-heading{height:39px;flex-shrink:0;align-items:flex-start}
.month-day .day-number{font-size:33px;line-height:1.05;font-weight:900;letter-spacing:-.8px}
.month-day .day-flag{font-size:12px;margin-top:2px}
.month-day .day-holiday{display:block;min-height:0;margin:5px 0 9px;font-size:14px;font-weight:800;line-height:1.55;color:#992957;overflow-wrap:anywhere}
.day-events{display:flex;flex-direction:column;gap:9px;margin:10px 0 15px}
.month-event{display:flex;flex-direction:column;gap:4px;min-height:63px;padding:9px 9px 10px 11px;background:linear-gradient(135deg,#f0f5f8,#e8eff4);border:1px solid #d4dfe7;border-left:3px solid #688ca7;border-radius:7px;box-shadow:inset 0 1px 0 #fff;color:#26475d;overflow:hidden}
.event-title{font-size:16px;font-weight:800;line-height:1.5;overflow-wrap:anywhere;letter-spacing:-.3px}
.event-time{font-size:16px;font-weight:750;line-height:1.35;font-variant-numeric:tabular-nums;letter-spacing:-.35px;white-space:nowrap;color:#506d82}
.day-empty{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:120px;margin:10px 0 15px;padding:16px 8px;border:1px dashed #d3dfe4;border-radius:9px;color:#618190;font-size:16px;font-weight:650;line-height:1.8;text-align:center;background:linear-gradient(145deg,#fff,#f8fbfc)}
.day-availability{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:auto;padding-top:12px;border-top:1px solid #e0e7ec}
.day-availability .day-status{margin:0;padding:0;color:#587082;font-size:14px;font-weight:650}
.day-availability .day-status b{font-size:17px;font-weight:850;color:#2b536a}
.day-availability .occupancy-track{height:6px;margin:8px 0 7px;flex-shrink:0}
.day-availability .day-free{font-size:12px;line-height:1.4;color:#788b97}
.day-availability .day-range{font-size:16px;font-weight:800;line-height:1.55;letter-spacing:-.3px}
.month-day.is-weekend{background:#fff4f8}
.month-day.is-weekend .day-number{color:#bc4e7d}
.month-day.is-weekend .month-event{background:linear-gradient(135deg,#fff9fc,#f5edf4);border-color:#e5d4e0;border-left-color:#b6799d;color:#613b55}
.month-day.is-weekend .event-time{color:#7c5b72}
.month-day.is-holiday{background:linear-gradient(145deg,#fff6f9,#f9eaf1)}
.month-day.is-holiday .day-number{color:#a5275e}
.month-day.is-outside .day-events,.month-day.is-outside .day-empty,.month-day.is-outside .day-availability{opacity:.58}
.month-day:hover{background:#fff8fb;box-shadow:inset 0 0 0 2px #b7678c}
.month-day.is-today{background:linear-gradient(145deg,#fff,#eef9f9);box-shadow:inset 0 0 0 2px #3296a4}
.month-day.is-today .day-number{color:#168294}
.month-day.is-picked{background:linear-gradient(150deg,#c45b89,#a6356d 34%,#812650);box-shadow:inset 0 1px 0 #f9cde2,inset 0 0 0 2px #a4376c}
.month-day.is-picked .day-number,.month-day.is-picked .day-range{color:#fff}
.month-day.is-picked .month-event{background:#fff6faf2;border-color:#efd4e2;border-left-color:#f4b8d2;box-shadow:inset 0 1px 0 #fff;color:#59223f}
.month-day.is-picked .event-time{color:#84536d}
.month-day.is-picked .day-empty{color:#fff0f6;border-color:#efd0df88;background:#ffffff12}
.month-day.is-picked .day-availability{border-top-color:#ffffff45}
.month-day.is-picked .day-status,.month-day.is-picked .day-free,.month-day.is-picked .day-holiday{color:#ffe1ed}
.month-day.is-picked .day-status b{color:#fff}
.month-day.is-picked .occupancy-track i{background:#ffffff45}
.month-day.is-picked .occupancy-track i.is-booked{background:#f7c1d5}

/* Reminder channels remain explicit, readable previews until integrations are enabled. */
.intro-copy h1{font-weight:700!important;letter-spacing:.04em!important}
@media(min-width:681px){.intro-copy .title-reveal{width:max-content;max-width:none}.intro-copy h1{white-space:nowrap}}
@media(max-width:680px){.intro-copy h1{padding-right:0!important;white-space:nowrap!important;font-size:clamp(27px,8.8vw,35px)!important}.intro-copy h1 .title-phrase{display:inline;line-height:1.25}.intro-copy .title-reveal{width:max-content;max-width:100%}.intro-actions{position:relative!important;inset:auto!important;width:max-content;margin:10px 0 0 auto!important}.page-motion-toggle{right:auto!important;left:1px;bottom:17px!important}}
.intro-panel{border-bottom:0}
.particle-network{position:absolute;left:20%;right:0;top:0;bottom:0;z-index:0;touch-action:pan-y;overflow:hidden;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.15) 12%,rgba(0,0,0,.55) 28%,#000 48%)}
.particle-network canvas{display:block;width:100%;height:100%;pointer-events:none}
.intro-copy,.intro-actions{position:relative;z-index:1}
.page-motion-toggle{position:absolute;right:4px;bottom:7px;z-index:2;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:#fffefce6;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}
@media(max-width:680px){.particle-network{left:35%;top:0;bottom:0}.intro-actions{position:absolute}.page-motion-toggle{bottom:5px;font-size:11px}}
.occupied-group{border:1px solid #c3d2de;border-radius:10px;overflow:hidden;flex-shrink:0;background:#edf3f7}
.occupied-group .day-slot.is-booked{width:100%;border:0;border-bottom:1px solid #d4dfe7;border-radius:0;color:#36566c;cursor:pointer;opacity:1}
.occupied-group .day-slot.is-booked .slot-status,.occupied-group .day-slot.is-booked>svg{color:#47677c}
.occupied-summary{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;padding:12px 14px;border:0;background:#e7eff5;color:#26485e;text-align:left;font-size:15px;line-height:1.7}
.occupied-summary strong{font-size:17px;font-weight:800}.occupied-summary span{overflow-wrap:anywhere}
.occupied-detail-link{font-weight:750;color:var(--wine)}
.occupied-details{padding:13px 14px;background:#f7fafc;color:#294b60;font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.occupied-notice{font-size:13px;line-height:1.7;padding-bottom:10px;color:#536f83}
.occupied-details dl{margin:0}.occupied-details dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;margin-bottom:10px}
.occupied-details dt{font-size:14px;font-weight:750}.occupied-details dd{margin:0;white-space:normal}
@media(max-width:440px){.occupied-details dl>div{grid-template-columns:1fr;gap:2px}.occupied-summary{padding:12px}.occupied-details{padding:12px}}
#success-panel{position:relative;isolation:isolate}
#success-panel .success-art{display:none}
#success-panel h2{transform-origin:center}
.success-word-rays{position:absolute;inset:0;z-index:-1;pointer-events:none}
#success-panel h2{position:relative;isolation:isolate;margin:26px 0 44px}
.success-word-text{display:inline-block;transform-origin:center}
.success-word-rays i{position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:2px;background:var(--wine);opacity:0;transform-origin:0 50%;pointer-events:none}
.success-word-rays i:nth-child(3n){background:var(--teal)}
.success-word-rays i:nth-child(3n+1){background:var(--wine-deep)}
@media(prefers-reduced-motion:reduce){.success-word-rays{display:none}.success-word-text{transform:none!important}}
.success-confetti{position:absolute;left:0;top:0;pointer-events:none;z-index:-1;max-width:100%}
.success-motion-toggle{font-size:14px;margin-top:10px}
@media(prefers-reduced-motion:reduce){.success-confetti,.success-motion-toggle{display:none!important}}
.demo-summary dd small{display:block;margin-top:5px;font-size:13px;line-height:1.7;color:var(--muted)}
.reminder-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}
.reminder-channel{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:90px;padding:12px;border:1px solid #d2dce4;border-radius:10px;background:linear-gradient(145deg,#fff,#f0f4f7);box-shadow:inset 0 1px 0 #fff;color:#37566c;font-size:15px;font-weight:750;text-align:left;line-height:1.6}
.reminder-channel[aria-disabled=true],.reminder-channel:disabled{opacity:1;cursor:default;color:#37566c}
.reminder-channel>span,.reminder-channel small{color:#7d536c;font-size:12px;line-height:1.5;font-weight:650}
.reminder-channel svg{width:23px;height:23px;color:#8a3e68}
.reminder-disabled-note{padding:11px 12px;margin-top:12px;border:1px solid #e4d3de;border-radius:8px;background:#fcf3f8;color:#714b63;font-size:13px;line-height:1.8}
.reminder-options select{min-height:52px;font-size:17px}
.reminder-options .checkbox-row{min-height:48px}

@media(min-width:1500px){.month-day{min-height:340px;padding:17px 16px 15px}.event-title{font-size:17px}.event-time{font-size:17px}}
@media(max-width:960px){.month-head,.month-grid{min-width:1120px}.month-day{min-height:330px;padding:15px 13px 14px}}
@media(max-width:680px){
 .intro-panel{min-height:0;padding:17px 1px 17px}.intro-copy h1{padding-right:116px;white-space:normal;font-size:35px;line-height:1.2;letter-spacing:-1.1px}.intro-copy h1 span{display:block;margin-top:3px}.intro-copy p{font-size:14px;line-height:1.7;margin-top:12px}.intro-actions{top:19px}
 .month-head,.month-grid{min-width:1120px}.month-head>div{height:52px;font-size:17px}.month-day{min-height:330px;padding:15px 13px 14px}.month-day .day-number{font-size:32px}.month-day .day-holiday{font-size:14px}.month-day .day-heading{height:38px}.month-event{min-height:64px}.event-title,.event-time{font-size:16px}.day-empty{min-height:124px;font-size:16px}.day-availability .day-status{font-size:14px}.day-availability .day-status b{font-size:17px}.day-availability .day-range{font-size:16px}
 .reminder-channels{grid-template-columns:1fr;gap:9px}.reminder-channel{min-height:84px;font-size:16px;padding:13px}.reminder-channel>span,.reminder-channel small{font-size:13px}.reminder-disabled-note{font-size:13px}
}
@media(max-width:440px){.intro-copy h1{font-size:34px;padding-right:113px}.intro-copy p{font-size:13px}}
@media(max-width:370px){.intro-copy h1{font-size:32px;padding-right:107px}.intro-copy p{font-size:13px}.intro-actions .button{min-height:48px}}

/* Shared borderless brand surface; transparent original logo stays unchanged. */
.brand-header{background:transparent;border:0;box-shadow:none}
.brand-header::before{display:none}
.brand-logo,.brand-logo img{background:transparent;opacity:1}
.intro-copy h1{font-weight:800!important;color:var(--wine);white-space:nowrap!important;text-shadow:none}
@supports (background-clip:text) or (-webkit-background-clip:text){
 .intro-copy h1{background-image:linear-gradient(90deg,var(--wine),var(--wine-deep),var(--teal),var(--ink),var(--wine));background-size:200% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:title-gradient-flow 6s linear infinite;animation-play-state:paused}
 .intro-copy h1.gradient-running{animation-play-state:running}
}
@keyframes title-gradient-flow{from{background-position:100% 50%}to{background-position:-100% 50%}}
@media(prefers-reduced-motion:reduce){.intro-copy h1{animation:none!important;background-position:50% 50%;transform:none!important}}
