:root{--cream:#f7f1ea;--cream-2:#efe6da;--ink:#1f1814;--ink-soft:#5a4b41;--rose:#c19890;--rose-deep:#9b6b62;--blush:#e8d5cb;--gold:#b8956a;--white:#fff;--line:#1f18141f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-accent:"Italiana", Georgia, serif;--radius-image:2px;--radius-pill:999px;--container-max:1240px;--container-pad:clamp(20px, 4vw, 32px);--ease-out-quart:cubic-bezier(.2, .7, .2, 1);--t-fast:.16s var(--ease-out-quart);--t-base:.24s var(--ease-out-quart);--t-slow:.42s var(--ease-out-quart);--success:#2f6f3d;--success-bg:#e8f1ea;--success-border:#bcd6c2;--danger:#8e2f2f;--danger-bg:#f7e6e6;--danger-border:#d8b3b3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--cream);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:clamp(72px,9vh,96px)}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);min-height:100svh;overflow-x:hidden}section[id]{scroll-margin-top:clamp(72px,9vh,96px)}#root{display:contents}img,picture,video,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;transition:color var(--t-fast);text-decoration:none}a:hover{color:var(--rose-deep)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}::selection{background:var(--rose);color:var(--cream)}:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px;border-radius:2px}.container{max-width:var(--container-max);padding-inline:var(--container-pad);width:100%;margin-inline:auto}.section{padding:clamp(56px,10vw,120px) 0}@media (width<=480px){:root{--container-pad:20px}}.hairline{background:var(--line);border:0;width:100%;height:1px}.eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);font-size:12px;font-weight:600;line-height:1}.display{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-weight:500;line-height:1.02}.h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(44px,7vw,88px);font-weight:500;line-height:1.05}.h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(32px,4.5vw,56px);font-weight:500;line-height:1.08}.h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:clamp(22px,2.5vw,30px);font-weight:500;line-height:1.15}.body{font-family:var(--font-body);color:var(--ink-soft);font-size:16px;line-height:1.65}.btn,.btn-ghost{border-radius:var(--radius-pill);font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background var(--t-base), color var(--t-base), border-color var(--t-base), transform var(--t-base), box-shadow var(--t-base);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:14px 26px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled,.btn-ghost:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn{background:var(--ink);color:var(--cream)}.btn:hover:not(:disabled){background:var(--rose-deep);color:var(--cream);transform:translateY(-1px);box-shadow:0 6px 18px -10px #1f181480}.btn:active:not(:disabled){box-shadow:none;transform:translateY(0)}.btn-ghost{color:var(--ink);border-color:var(--ink);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--ink);color:var(--cream);transform:translateY(-1px)}.btn-ghost:active:not(:disabled){transform:translateY(0)}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transition:none;transform:none}}.foot{background:var(--cream);color:var(--ink);padding-top:var(--space-9);padding-bottom:var(--space-6)}.foot-rule{margin-bottom:var(--space-8)}.foot-grid{gap:var(--space-6);padding-bottom:var(--space-7);grid-template-columns:1fr;display:grid}@media (width>=480px){.foot-grid{gap:var(--space-7);grid-template-columns:1fr 1fr}.foot-col:first-child{grid-column:1/-1}}@media (width>=760px){.foot-grid{gap:var(--space-7);grid-template-columns:1.4fr 1fr 1fr}.foot-col:first-child{grid-column:auto}}.foot-col{gap:var(--space-4);flex-direction:column;display:flex}.foot-brand{transition:color var(--t-fast);align-items:baseline;display:inline-flex}.foot-brand:hover{color:var(--rose-deep)}.foot-mark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:26px;font-style:italic;line-height:1.1}.foot-tag{max-width:36ch}.foot-heading{margin-bottom:var(--space-3)}.foot-list{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.foot-list a{color:var(--ink);transition:color var(--t-fast);font-size:15px;text-decoration:none;display:inline-block;position:relative}.foot-list a:after{content:"";background:var(--rose-deep);transform-origin:0;height:1px;transition:transform var(--t-base);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.foot-list a:hover,.foot-list a:focus-visible{color:var(--rose-deep)}.foot-list a:hover:after,.foot-list a:focus-visible:after{transform:scaleX(1)}.foot-hashtag{font-family:var(--font-body);letter-spacing:.02em;color:var(--ink-soft);margin-top:var(--space-3);font-size:13px;font-weight:500}.foot-meta{gap:var(--space-3) var(--space-5);padding-top:var(--space-5);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:13px;display:flex}@media (width<=480px){.foot{padding-top:var(--space-7)}.foot-rule{margin-bottom:var(--space-6)}.foot-mark{font-size:22px}.foot-meta{gap:var(--space-2) var(--space-4);font-size:12px}}.foot-credit{font-family:var(--font-body);letter-spacing:.02em;font-weight:500}.nav{z-index:50;transition:background var(--t-base), border-color var(--t-base), backdrop-filter var(--t-base);background:0 0;border-bottom:1px solid #0000;position:sticky;top:0}.nav.is-scrolled{-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom-color:var(--line);background:#f7f1eae0}.nav-inner{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:14px;display:flex}@media (width>=900px){.nav-inner{gap:var(--space-5);grid-template-columns:auto 1fr auto;padding-block:18px;display:grid}}.nav-brand{color:var(--ink);flex:0 auto;align-items:baseline;gap:14px;min-width:0;text-decoration:none;display:inline-flex}.nav-brand:hover{color:var(--ink)}.nav-wordmark{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(17px,4.6vw,22px);font-style:italic;line-height:1.1;overflow:hidden}@media (width<=380px){.nav-wordmark{font-size:16px}}.nav-links{justify-content:center;gap:28px;display:none}@media (width>=900px){.nav-links{display:flex}}.nav-link{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:6px 2px;font-size:13px;font-weight:500;text-decoration:none;position:relative}.nav-link:after{content:"";background:var(--rose-deep);transform-origin:0;height:1px;transition:transform var(--t-base);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav-link:hover{color:var(--rose-deep)}.nav-link:hover:after,.nav-link:focus-visible:after{transform:scaleX(1)}.nav-link.is-active{color:var(--ink)}.nav-link.is-active:after{background:var(--ink);transform:scaleX(1)}.nav-link.is-active:hover{color:var(--rose-deep)}.nav-link.is-active:hover:after{background:var(--rose-deep)}.nav-cta{display:none}@media (width>=900px){.nav-cta{display:flex}}.nav-btn{padding:10px 20px;font-size:12px}.nav-burger{border:1px solid var(--line);width:44px;height:44px;transition:background var(--t-base), border-color var(--t-base);background:#f7f1ea80;border-radius:999px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;display:inline-flex}.nav.is-scrolled .nav-burger{background:0 0}.nav-burger:hover{background:var(--white)}.nav-burger span{background:var(--ink);width:18px;height:1px;transition:transform var(--t-base);display:block}.nav-burger.is-open span:first-child{transform:translateY(3.5px)rotate(45deg)}.nav-burger.is-open span:last-child{transform:translateY(-3.5px)rotate(-45deg)}@media (width>=900px){.nav-burger{display:none}}.nav-overlay{background:var(--cream);z-index:40;opacity:0;pointer-events:none;transition:opacity var(--t-base);position:fixed;inset:0}.nav-overlay.is-open{opacity:1;pointer-events:auto}.nav-overlay-inner{justify-content:center;align-items:flex-start;gap:var(--space-7);flex-direction:column;height:100%;padding-block:96px 48px;display:flex}.nav-overlay-eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-soft);align-items:center;gap:12px;font-size:11px;font-weight:600;display:inline-flex}.nav-overlay-eyebrow:before{content:"";background:var(--rose);width:28px;height:1px;display:inline-block}.nav-overlay-links{flex-direction:column;gap:22px;display:flex}.nav-overlay-link{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(36px,9vw,56px);font-weight:500;line-height:1;text-decoration:none;display:inline-block;position:relative}.nav-overlay-link:after{content:"";background:var(--rose-deep);transform-origin:0;height:1px;transition:transform var(--t-base);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.nav-overlay-link:hover:after,.nav-overlay-link:focus-visible:after,.nav-overlay-link.is-active:after{transform:scaleX(1)}.nav-overlay-link:hover,.nav-overlay-link.is-active{color:var(--rose-deep)}.nav-overlay-btn{padding:14px 28px}.nav-overlay-foot{color:var(--ink-soft);margin-top:auto}.admin{--admin-side-w:240px;--admin-border:#1f18141a;--admin-border-strong:#1f18142e;--admin-row-hover:#1f181408;--admin-danger:#b94545;--admin-danger-bg:#f9eaea;--admin-success:#3a8a4a;background:var(--cream);grid-template-columns:var(--admin-side-w) 1fr;min-height:100vh;display:grid}.admin-side{border-right:1px solid var(--admin-border);height:100vh;padding:var(--space-5) var(--space-4);background:var(--cream-2);flex-direction:column;align-self:start;display:flex;position:sticky;top:0;overflow-y:auto}.admin-side-head{margin-bottom:var(--space-5);flex-direction:column;gap:4px;display:flex}.admin-side h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:500;line-height:1.1}.admin-side-eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:4px;font-size:10px;font-weight:600;line-height:1}.admin-side-link-back{color:var(--ink-soft);margin-bottom:var(--space-5);transition:color var(--t-fast);align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex}.admin-side-link-back:hover{color:var(--ink)}.admin-nav{flex-direction:column;gap:2px;display:flex}.admin-nav a{color:var(--ink);white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);border-radius:6px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.admin-nav a:hover{color:var(--ink);background:#1f18140f}.admin-nav a.is-active,.admin-nav a.is-active:hover{background:var(--ink);color:var(--cream)}.admin-side-foot{padding-top:var(--space-4);border-top:1px solid var(--admin-border);flex-direction:column;gap:8px;margin-top:auto;display:flex}.admin-topbar{display:none}.admin-scrim{z-index:50;opacity:0;transition:opacity var(--t-base);background:#1f181466;display:none;position:fixed;inset:0}.admin-scrim.is-open{opacity:1;display:block}.admin-main{min-width:0;max-width:100%;padding:clamp(20px,3vw,40px);overflow-y:auto}.admin-page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-5);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--admin-border);flex-wrap:wrap;display:flex}.admin-page-head-text{min-width:0}.admin-page-head-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(26px,3.5vw,36px);font-weight:500;line-height:1.1}.admin-sub{color:var(--ink-soft);max-width:64ch;margin:6px 0 0;font-size:14px}.admin-card{background:var(--white);border:1px solid var(--admin-border);margin-bottom:var(--space-4);border-radius:6px;padding:clamp(16px,2.4vw,24px)}.admin-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.admin-card-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:500;line-height:1.1}.admin-card-sub{color:var(--ink-soft);margin:4px 0 0;font-size:13px}.admin-table-wrap{-webkit-overflow-scrolling:touch;margin-bottom:var(--space-4);border:1px solid var(--admin-border);background:var(--white);border-radius:6px;overflow-x:auto}.admin-table-wrap .admin-table{border:0;border-radius:0;margin:0}.admin-table{border-collapse:collapse;background:var(--white);border:1px solid var(--admin-border);border-radius:6px;width:100%;font-size:14px;overflow:hidden}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--admin-border);vertical-align:top;padding:12px 14px}.admin-table th{background:var(--cream-2);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);white-space:nowrap;border-bottom:1px solid var(--admin-border-strong);font-size:11px;font-weight:500}.admin-table tbody tr{transition:background var(--t-fast)}.admin-table tbody tr:hover{background:var(--admin-row-hover)}.admin-table tr:last-child td{border-bottom:0}.admin-table-empty td{text-align:center;color:var(--ink-soft);padding:var(--space-5);background:var(--cream)}.admin-table-empty td:hover{background:var(--cream)}.admin-cell-strong{color:var(--ink);font-weight:500}.admin-cell-muted{color:var(--ink-soft);font-size:12.5px}.admin-cell-stack{flex-direction:column;gap:4px;display:flex}.admin-cell-pills{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.admin-form{gap:14px;max-width:520px;display:grid}.admin-form-wide{max-width:none}.admin-form-section+.admin-form-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--admin-border)}.admin-form-section-title{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:12px;font-size:11px;font-weight:600}.admin-form label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;gap:5px;font-size:12px;font-weight:500;display:grid}.admin-form-inline-label{flex-direction:row;align-items:center;gap:10px;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important;font-size:14px!important;display:flex!important}.admin-form input[type=text],.admin-form input[type=email],.admin-form input[type=password],.admin-form input[type=number],.admin-form input[type=tel],.admin-form input[type=search],.admin-form input[type=time],.admin-form input[type=datetime-local],.admin-form input:not([type]),.admin-form textarea,.admin-form select{font:inherit;text-transform:none;letter-spacing:0;color:var(--ink);border:1px solid var(--admin-border);background:var(--white);width:100%;min-width:0;min-height:38px;transition:border-color var(--t-fast), background var(--t-fast);border-radius:4px;padding:9px 11px;font-size:14px;font-weight:400}.admin-form input:hover,.admin-form textarea:hover,.admin-form select:hover{border-color:var(--admin-border-strong)}.admin-form input:focus-visible,.admin-form textarea:focus-visible,.admin-form select:focus-visible{outline:2px solid var(--rose);outline-offset:1px;border-color:var(--ink)}.admin-form textarea{resize:vertical;min-height:70px;line-height:1.5}.admin-form input[type=checkbox]{cursor:pointer;width:18px;height:18px;min-height:0;accent-color:var(--ink);padding:0}.admin-form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.admin-form-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.admin-form-status{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;display:inline-flex}.admin-form-status:before{content:"";background:var(--admin-success);border-radius:50%;width:6px;height:6px}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.admin-toolbar .admin-toolbar-grow{flex:200px;min-width:0}.admin-input{font:inherit;border:1px solid var(--admin-border);background:var(--white);color:var(--ink);min-width:0;min-height:38px;transition:border-color var(--t-fast), background var(--t-fast);border-radius:4px;padding:9px 11px;font-size:14px}.admin-input:hover{border-color:var(--admin-border-strong)}.admin-input:focus-visible{outline:2px solid var(--rose);outline-offset:1px;border-color:var(--ink)}.admin-segment{border:1px solid var(--admin-border);border-radius:var(--radius-pill);background:var(--white);gap:2px;padding:3px;display:inline-flex}.admin-segment-btn{color:var(--ink-soft);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);white-space:nowrap;background:0 0;border:0;padding:6px 14px;font-size:13px;font-weight:500}.admin-segment-btn:hover:not(.is-active){color:var(--ink)}.admin-segment-btn.is-active{background:var(--ink);color:var(--cream)}.admin-btn{border:1px solid var(--ink);background:var(--ink);color:var(--cream);cursor:pointer;white-space:nowrap;min-height:36px;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:inline-flex}.admin-btn:hover{background:var(--rose-deep);border-color:var(--rose-deep);color:var(--cream)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-ghost{color:var(--ink);border-color:var(--admin-border-strong);background:0 0}.admin-btn-ghost:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}.admin-btn-danger{background:var(--admin-danger);border-color:var(--admin-danger);color:var(--cream)}.admin-btn-danger:hover{color:var(--cream);background:#8e2f2f;border-color:#8e2f2f}.admin-btn-ghost.admin-btn-danger{color:var(--admin-danger);background:0 0;border-color:#b9454566}.admin-btn-ghost.admin-btn-danger:hover{background:var(--admin-danger);color:var(--cream)}.admin-btn-sm{min-height:30px;padding:5px 10px;font-size:12px}.admin-row-actions{flex-wrap:wrap;gap:4px;display:flex}.admin-pill{text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-pill);background:var(--cream-2);color:var(--ink-soft);border:1px solid var(--admin-border);white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.admin-pill.is-active{color:var(--admin-success);background:#3a8a4a1a;border-color:#3a8a4a40}.admin-pill.is-cancelled,.admin-pill.is-hidden{background:var(--admin-danger-bg);color:var(--admin-danger);border-color:#b9454540}.admin-pill.is-info{background:var(--blush);color:var(--rose-deep);border-color:#c1989066}.admin-grid-week{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.admin-day-col{border:1px solid var(--admin-border);background:var(--white);border-radius:6px;flex-direction:column;gap:6px;min-width:0;min-height:220px;padding:10px;display:flex}.admin-day-col.is-today{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}.admin-day-head{font-family:var(--font-body);color:var(--ink-soft);border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:4px;padding-bottom:6px;font-size:12px;font-weight:500;display:flex}.admin-day-head-weekday{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600}.admin-day-head-date{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:500;line-height:1}.admin-day-col.is-today .admin-day-head{color:var(--ink)}.admin-day-head-today-marker{background:var(--ink);width:22px;height:22px;color:var(--cream);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.admin-day-booking{background:var(--cream-2);border-left:3px solid var(--ink);word-break:break-word;border-radius:3px;padding:7px 9px;font-size:12px;line-height:1.4}.admin-day-booking-time{font-family:var(--font-body);font-variant-numeric:tabular-nums;margin-bottom:1px;font-size:12px;font-weight:600}.admin-day-booking-name{color:var(--ink);font-weight:500}.admin-day-booking-target{color:var(--ink-soft);font-size:11.5px}.admin-day-booking.is-cancelled{opacity:.55;border-left-color:var(--admin-danger);text-decoration:line-through}.admin-day-empty{color:var(--ink-soft);text-align:center;padding:var(--space-3) 0;font-size:11.5px;font-style:italic}.admin-day-row{gap:var(--space-3) var(--space-4);border-bottom:1px solid var(--admin-border);grid-template-columns:80px 1fr;align-items:start;padding:14px 0;display:grid}.admin-day-row:last-child{border-bottom:0}.admin-day-row-label{align-items:center;gap:8px;padding-top:6px;font-size:14px;font-weight:500;display:flex}.admin-day-row-body{flex-direction:column;gap:6px;min-width:0;display:flex}.admin-day-row-closed{color:var(--ink-soft);padding:8px 0;font-size:13px;font-style:italic}.admin-rules-grid{grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;max-width:360px;display:grid}.admin-day-row-add{align-self:flex-start;min-height:28px;padding:4px 10px;font-size:12px}.admin-note{flex-direction:column;gap:4px;min-width:200px;display:flex}.admin-note-textarea{border:1px solid var(--admin-border);background:var(--white);width:100%;font:inherit;resize:vertical;min-height:56px;transition:border-color var(--t-fast);border-radius:4px;padding:6px 8px;font-size:13px;line-height:1.45}.admin-note-textarea:hover{border-color:var(--admin-border-strong)}.admin-note-textarea:focus-visible{outline:2px solid var(--rose);outline-offset:1px;border-color:var(--ink)}.admin-note-save{align-self:flex-start}.admin-login{background:var(--cream);min-height:100vh;padding:var(--space-5);place-items:center;display:grid}.admin-login-card{background:var(--white);border:1px solid var(--admin-border);border-radius:8px;width:100%;max-width:400px;padding:clamp(24px,4vw,40px);box-shadow:0 1px 2px #1f18140a}.admin-login-eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:var(--space-2);font-size:11px;font-weight:600}.admin-login-card h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 var(--space-2);font-size:26px;font-weight:500}.admin-login-card p{color:var(--ink-soft);margin:0 0 var(--space-4);font-size:14px;line-height:1.5}.admin-login-fields{margin-bottom:var(--space-4);gap:14px;display:grid}.admin-login-fields label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;gap:5px;font-size:12px;font-weight:500;display:grid}.admin-login-fields input{font:inherit;text-transform:none;letter-spacing:0;border:1px solid var(--admin-border);background:var(--white);color:var(--ink);width:100%;min-height:42px;transition:border-color var(--t-fast), background var(--t-fast);border-radius:4px;padding:11px 12px;font-size:15px;font-weight:400}.admin-login-fields input:focus-visible{outline:2px solid var(--rose);outline-offset:1px;border-color:var(--ink)}.admin-login-actions{gap:var(--space-2);flex-direction:column;display:flex}.admin-login-actions .admin-btn{justify-content:center;width:100%;min-height:44px;padding:10px 16px}.admin-login-switch{color:var(--ink-soft);cursor:pointer;text-align:center;text-underline-offset:3px;transition:color var(--t-fast);background:0 0;border:0;padding:8px;font-size:13px;text-decoration:underline}.admin-login-switch:hover{color:var(--ink)}@media (width<=1024px){.admin{--admin-side-w:200px}.admin-grid-week{-webkit-overflow-scrolling:touch;grid-template-columns:repeat(7,minmax(120px,1fr));padding-bottom:6px;overflow-x:auto}}@media (width<=760px){.admin{grid-template-columns:1fr}.admin-topbar{background:var(--cream-2);border-bottom:1px solid var(--admin-border);z-index:30;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.admin-topbar-brand{font-family:var(--font-display);letter-spacing:-.01em;font-size:16px;font-weight:500}.admin-topbar-burger{border:1px solid var(--admin-border);cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;display:inline-flex}.admin-topbar-burger span{background:var(--ink);width:16px;height:1.5px;transition:transform var(--t-base);border-radius:1px;display:block}.admin-topbar-burger.is-open span:first-child{transform:translateY(3px)rotate(45deg)}.admin-topbar-burger.is-open span:last-child{transform:translateY(-3px)rotate(-45deg)}.admin-side{z-index:60;width:80vw;max-width:280px;height:100vh;transition:transform var(--t-slow);position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 2px 24px #1f181426}.admin-side.is-open{transform:translate(0)}.admin-main{padding:16px}.admin-page-head{align-items:flex-start;gap:var(--space-3);flex-direction:column}.admin-page-head-actions{width:100%}.admin-h1{font-size:24px}.admin-card{padding:16px}.admin-grid-week{grid-template-columns:1fr;overflow-x:visible}.admin-day-col{min-height:0}.admin-day-col.is-today{box-shadow:none}.admin-table{min-width:560px;font-size:13px}.admin-table th,.admin-table td{padding:10px 12px}.admin-day-row{grid-template-columns:1fr;gap:6px;padding:12px 0}.admin-day-row-label{padding-top:0}.admin-rules-grid{grid-template-columns:1fr 1fr;grid-template-areas:"start end""remove remove";max-width:none}.admin-rules-grid>:first-child{grid-area:start}.admin-rules-grid>:nth-child(2){grid-area:end}.admin-rules-grid>:nth-child(3){grid-area:remove;justify-self:start}.admin-note{min-width:0}}@media (width<=480px){.admin-page-head{padding-bottom:var(--space-3)}.admin-form-actions{flex-direction:column-reverse;align-items:stretch}.admin-form-actions .admin-btn{width:100%}.admin-segment{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.admin-segment-btn{text-align:center;padding:8px 10px}}.about{background:var(--cream)}.about-grid{grid-template-columns:1fr;align-items:center;gap:clamp(40px,6vw,96px);display:grid}@media (width>=900px){.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.about-media{isolation:isolate;position:relative}.about-photo{margin:0;position:relative}.about-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-image);width:100%;height:auto;display:block}@media (width<=720px){.about-photo img{aspect-ratio:5/6;max-height:540px}}.about-caption{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin-top:14px;font-size:12px;font-weight:600;display:flex}.about-caption:before{content:"";background:var(--gold);width:24px;height:1px;display:inline-block}.about-caption-mark{font-family:var(--font-accent);color:var(--gold);font-size:14px;line-height:1}.about-copy{max-width:540px}.about-title{margin:18px 0 28px}.about-title em{color:var(--rose-deep);font-style:italic;font-weight:400}.about-body{flex-direction:column;gap:18px;display:flex}.about-body p{font-family:var(--font-body);color:var(--ink-soft);font-size:16px;line-height:1.7}.about-creds{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin:32px 0 24px;padding:24px 0 0;list-style:none;display:flex}@media (width<=540px){.about-creds{margin:24px 0 20px;padding-top:20px}.about-cred{letter-spacing:.12em;font-size:12px}.about-sign{font-size:22px}}.about-cred{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.about-cred-dot{background:var(--rose);border-radius:50%;flex-shrink:0;width:6px;height:6px}.about-sign{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin-top:12px;font-size:24px;font-style:italic}.quotes{background:var(--ink);color:var(--cream);position:relative;overflow:hidden}.quotes-head{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:clamp(40px,5vw,64px);display:flex}.quotes-mark{font-family:var(--font-accent);color:var(--gold);font-size:22px;line-height:1}.quotes-eyebrow{color:var(--rose)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quotes-scroller{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-block:8px;overflow-x:auto}.quotes-scroller::-webkit-scrollbar{display:none}.quotes-track{padding-inline:var(--container-pad);padding-right:calc(var(--container-pad) + 24px);gap:clamp(28px,5vw,48px);margin:0;list-style:none;display:flex}.quotes-item{scroll-snap-align:start;flex:none;width:min(82vw,440px);display:flex}.quotes-block{border-left:1px solid var(--rose);flex-direction:column;gap:20px;margin:0;padding:6px 0 6px 22px;display:flex;position:relative}.quotes-text{font-family:var(--font-display);letter-spacing:-.01em;color:var(--cream);font-size:clamp(22px,2.6vw,34px);font-style:italic;font-weight:400;line-height:1.22}.quotes-cite{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--blush);font-size:12px;font-style:normal;font-weight:600}@media (width<=899px){.quotes:after{content:"";background:linear-gradient(to left, var(--ink), #1f181400);pointer-events:none;z-index:2;width:clamp(40px,8vw,96px);position:absolute;top:0;bottom:0;right:0}}@media (width>=900px){.quotes-scroller{padding-block:0;overflow:visible}.quotes-track{padding-inline:0;max-width:var(--container-w);width:calc(100% - var(--container-pad) * 2);grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,80px) clamp(48px,6vw,96px);margin-inline:auto;padding-right:0;display:grid}.quotes-item{flex:initial;width:auto}.quotes-text{font-size:clamp(22px,2.2vw,30px)}}.studio{background:var(--cream-2)}.studio-grid{grid-template-columns:1fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}@media (width>=900px){.studio-grid{grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,96px)}}.studio-media{flex-direction:column;gap:14px;display:flex}.studio-photo{border-radius:var(--radius-image);background:var(--cream);aspect-ratio:4/5;width:100%;margin:0;overflow:hidden}.studio-photo img{object-fit:cover;width:100%;height:100%}.studio-caption{font-family:var(--font-body);letter-spacing:.04em;color:var(--ink-soft);font-size:13px;font-weight:500}.studio-copy{flex-direction:column;gap:24px;display:flex}.studio-title{max-width:22ch;margin:16px 0 4px}.studio-title em{color:var(--rose-deep);font-style:italic;font-weight:400}.studio-body{font-family:var(--font-body);color:var(--ink-soft);flex-direction:column;gap:16px;max-width:52ch;font-size:16px;line-height:1.65;display:flex}.studio-info{border-top:1px solid var(--line);flex-direction:column;margin:8px 0 0;padding:0;display:flex}.studio-info-row{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:16px;padding:16px 0;display:grid}.studio-info-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);align-self:center;font-size:11px;font-weight:600}.studio-info-value{font-family:var(--font-body);color:var(--ink);margin:0;font-size:15px;line-height:1.5}@media (width<=720px){.studio-photo{aspect-ratio:5/6;max-height:540px}.studio-info-label{font-size:10.5px}}@media (width<=480px){.studio-info-row{grid-template-columns:1fr;gap:4px;padding:14px 0}.studio-info-value{font-size:16px}.studio-cta,.studio-cta .btn{width:100%}}.studio-cta{margin-top:8px}.booking{min-height:80vh;padding:clamp(40px,8vw,96px) 0 clamp(56px,10vw,120px)}.booking-head{max-width:640px;margin-bottom:clamp(28px,5vw,48px)}.booking-head .h1{font-family:var(--font-display);letter-spacing:-.02em;margin-block:var(--space-3);font-size:clamp(30px,6vw,56px);font-weight:500;line-height:1.05}.booking-head .body{max-width:52ch}.booking-steps{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;gap:6px;margin-bottom:clamp(28px,5vw,48px);padding:0 0 2px;font-size:12px;font-weight:600;list-style:none;display:flex;overflow-x:auto}.booking-steps::-webkit-scrollbar{display:none}.booking-step{border-radius:var(--radius-pill);white-space:nowrap;color:var(--ink-soft);transition:background var(--t-fast), color var(--t-fast);background:0 0;align-items:center;gap:10px;padding:8px 14px 8px 8px;font-weight:500;display:inline-flex}.booking-step-num{background:var(--cream-2);width:22px;height:22px;color:var(--ink-soft);font-family:var(--font-body);letter-spacing:0;transition:background var(--t-fast), color var(--t-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.booking-step.is-active{background:var(--ink);color:var(--cream)}.booking-step.is-active .booking-step-num{background:var(--cream);color:var(--ink)}.booking-step.is-done{color:var(--ink)}.booking-step.is-done .booking-step-num{background:var(--rose-deep);color:var(--cream)}.booking-step-sep{background:var(--line);height:1px;transition:background var(--t-base);flex:0 0 18px;margin:0 2px}.booking-step-sep.is-done{background:var(--rose-deep)}@media (width<=520px){.booking-step-label{display:none}.booking-step.is-active .booking-step-label,.booking-step.is-done .booking-step-label{display:inline}.booking-step-sep{flex-basis:14px}}.booking-back{color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;margin-bottom:var(--space-4);min-height:36px;transition:color var(--t-fast);background:0 0;border:0;align-items:center;gap:8px;padding:8px 4px 8px 0;font-size:14px;font-weight:500;display:inline-flex}.booking-back:hover{color:var(--ink)}.booking-back-arrow{transition:transform var(--t-fast);font-size:16px;line-height:1}.booking-back:hover .booking-back-arrow{transform:translate(-2px)}.picker-tabs{border:1px solid var(--line);border-radius:var(--radius-pill);margin-bottom:var(--space-5);background:var(--cream-2);padding:4px;display:inline-flex}.picker-tab{border-radius:var(--radius-pill);color:var(--ink);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;padding:9px 18px;font-size:14px;font-weight:500}.picker-tab:hover:not(.is-active),.picker-tab:focus-visible:not(.is-active){color:var(--rose-deep)}.picker-tab.is-active{background:var(--ink);color:var(--cream)}@media (width<=420px){.picker-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.picker-tab{text-align:center;padding:10px 12px}}.picker-list{background:var(--line);border-block:1px solid var(--line);grid-template-columns:1fr;gap:1px;display:grid}.picker-item{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-4);background:var(--cream);cursor:pointer;text-align:left;width:100%;transition:background var(--t-fast), padding-left var(--t-base);grid-template-columns:1fr auto auto;display:grid;position:relative}.picker-item:after{content:"→";font-family:var(--font-body);color:var(--ink-soft);transition:transform var(--t-base), color var(--t-fast);align-self:center;font-size:16px;font-weight:400}.picker-item:hover{background:var(--cream-2)}.picker-item:hover:after{color:var(--ink);transform:translate(4px)}.picker-item-text{min-width:0}.picker-item-name{font-family:var(--font-display);margin-bottom:4px;font-size:clamp(20px,2.4vw,26px);font-weight:500;line-height:1.2}.picker-item-blurb{color:var(--ink-soft);max-width:56ch;font-size:14.5px;font-weight:400;line-height:1.55}.picker-item-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.picker-item-price{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:500}.picker-item-duration{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-size:11px;font-weight:600}@media (width<=560px){.picker-item{gap:8px var(--space-4);padding:var(--space-4);grid-template-columns:1fr auto;grid-template-areas:"text price""blurb meta"}.picker-item:after{display:none}.picker-item-text{grid-area:text}.picker-item-blurb{grid-area:blurb/1/blurb/-1;margin-top:2px}.picker-item-price{grid-area:price;font-size:19px}.picker-item-meta{grid-area:meta/2/meta/3;align-items:flex-end}}.slot-summary{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--cream-2);border:1px solid var(--line);margin-bottom:var(--space-5);display:flex}.slot-summary-name{font-family:var(--font-display);margin-bottom:4px;font-size:clamp(19px,2.4vw,24px);font-weight:500;line-height:1.2}.slot-summary-meta{color:var(--ink-soft);font-size:14px;font-weight:400}.slot-picker{gap:var(--space-6);grid-template-columns:minmax(220px,260px) 1fr;align-items:start;display:grid}.slot-days{max-height:540px;padding-right:var(--space-2);border-right:1px solid var(--line);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.slot-day-pill{align-items:center;gap:var(--space-3);cursor:pointer;font-family:var(--font-body);text-align:left;color:var(--ink);transition:background var(--t-fast), color var(--t-fast);background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;padding:10px 12px;display:grid}.slot-day-pill:hover,.slot-day-pill:focus-visible{background:var(--cream-2)}.slot-day-pill.is-active{background:var(--ink);color:var(--cream)}.slot-day-pill-stack{flex-direction:column;justify-content:center;align-items:center;min-width:36px;display:flex}.slot-day-pill-weekday{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-size:10px;font-weight:600;line-height:1}.slot-day-pill.is-active .slot-day-pill-weekday{color:var(--cream);opacity:.75}.slot-day-pill-date{font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-weight:500;line-height:1.1}.slot-day-pill-month{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:11px;font-weight:600;line-height:1}.slot-day-pill.is-active .slot-day-pill-month{color:var(--cream);opacity:.85}.slot-day-pill-count{font-family:var(--font-body);font-variant-numeric:tabular-nums;color:var(--ink-soft);background:var(--cream-2);border-radius:var(--radius-pill);text-align:center;min-width:22px;padding:2px 8px;font-size:12px;font-weight:500;line-height:1.4}.slot-day-pill.is-active .slot-day-pill-count{color:var(--ink);background:var(--cream)}.slot-times{gap:var(--space-5);min-width:0;display:grid}.slot-times-head{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(20px,2.4vw,24px);font-weight:500;line-height:1.1}.slot-section-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:var(--space-3);font-size:11px;font-weight:600}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.slot-btn{border:1px solid var(--line);background:var(--cream);font-size:15px;font-weight:500;font-family:var(--font-body);font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;min-height:44px;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-fast);border-radius:999px;padding:12px 8px}.slot-btn:hover{background:var(--cream-2);border-color:var(--ink)}.slot-btn:active{transform:scale(.97)}.slot-btn.is-selected{background:var(--ink);color:var(--cream);border-color:var(--ink)}.slot-empty{padding:var(--space-7) var(--space-5);text-align:center;color:var(--ink-soft);border:1px dashed var(--line);background:var(--cream-2);align-items:center;gap:var(--space-3);border-radius:4px;flex-direction:column;display:flex}.slot-empty p{max-width:36ch;line-height:1.6}.slot-empty-icon{background:var(--cream);border:1px solid var(--line);width:44px;height:44px;color:var(--rose-deep);font-family:var(--font-accent);border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex}.slot-loading{padding:var(--space-6);text-align:center;color:var(--ink-soft);justify-content:center;align-items:center;gap:var(--space-3);letter-spacing:.04em;font-size:14px;font-weight:500;display:flex}.slot-loading:before{content:"";border:1.5px solid var(--line);border-top-color:var(--rose-deep);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite slot-spin}@keyframes slot-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.slot-loading:before{border-top-color:var(--line);animation:none}}.slot-continue{margin-top:var(--space-6);justify-content:flex-end;display:flex}.slot-continue .btn{min-height:48px}@media (width<=768px){.slot-picker{gap:var(--space-4);grid-template-columns:1fr}.slot-days{max-height:none;padding-right:0;padding-bottom:var(--space-2);border-right:0;border-bottom:1px solid var(--line);scroll-snap-type:x mandatory;flex-direction:row;gap:4px;overflow:auto visible}.slot-day-pill{scroll-snap-align:start;flex:none;grid-template-columns:auto auto auto;padding:8px 12px}.slot-continue{margin:var(--space-5) calc(var(--container-pad) * -1) 0;padding:var(--space-3) var(--container-pad) calc(var(--space-3) + env(safe-area-inset-bottom));background:linear-gradient(to bottom, transparent 0%, var(--cream) 30%);z-index:4;position:sticky;bottom:0}.slot-continue .btn{justify-content:center;width:100%}}.cform{gap:var(--space-4);max-width:520px;display:grid}.cform-fields{gap:var(--space-3);display:grid}.cform label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;gap:6px;font-size:13px;font-weight:500;display:grid}.cform input[type=text],.cform input[type=email],.cform input[type=tel]{font-family:var(--font-body);letter-spacing:0;text-transform:none;background:var(--cream);border:1px solid var(--line);color:var(--ink);width:100%;min-height:48px;transition:border-color var(--t-fast), background var(--t-fast);border-radius:4px;padding:14px;font-size:16px;font-weight:400}.cform input:hover{border-color:var(--ink-soft)}.cform input:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-color:var(--ink);background:var(--white)}.cform-check{padding:var(--space-4);background:var(--cream-2);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-transform:none;letter-spacing:0;transition:background var(--t-fast), border-color var(--t-fast);border-radius:4px;grid-template-columns:auto 1fr;align-items:start;gap:12px;font-size:14.5px;font-weight:400;line-height:1.55;display:grid}.cform-check:hover{background:var(--cream)}.cform-check input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0;margin-top:2px}.cform-check-strong{font-weight:500}.cform-error{color:var(--danger);padding:var(--space-3) var(--space-4);border:1px solid var(--danger-border);background:var(--danger-bg);border-radius:4px;align-items:flex-start;gap:10px;font-size:14px;font-weight:500;line-height:1.5;display:flex}.cform-error:before{content:"!";background:var(--danger);width:20px;height:20px;color:var(--danger-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:12px;font-weight:700;display:inline-flex}.cform-actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.cform-actions .btn{min-height:48px}@media (width<=480px){.cform-actions{flex-direction:column-reverse;align-items:stretch}.cform-actions .btn,.cform-actions .btn-ghost{width:100%}}.booking-confirm{text-align:center;max-width:560px;margin-inline:auto;padding:clamp(32px,6vw,64px) 0}.booking-confirm-mark{background:var(--blush);width:56px;height:56px;color:var(--rose-deep);margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;font-size:28px;line-height:1;display:inline-flex}.booking-confirm h2{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:var(--space-3);font-size:clamp(28px,4.5vw,44px);font-weight:500;line-height:1.1}.booking-confirm-body{color:var(--ink-soft);max-width:44ch;margin:0 auto var(--space-5);font-size:16px;line-height:1.6}.booking-confirm-meta{background:var(--cream-2);border:1px solid var(--line);padding:var(--space-5);margin:var(--space-5) 0;text-align:left;gap:var(--space-3);color:var(--ink);border-radius:4px;font-size:16px;display:grid}.booking-confirm-meta>div{gap:var(--space-3);grid-template-columns:80px 1fr;align-items:baseline;display:grid}.booking-confirm-meta strong{font-family:var(--font-body);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.12em;padding-top:4px;font-size:11px;font-weight:600}.booking-confirm-meta-status{align-items:center;gap:6px;display:inline-flex}.booking-confirm-meta-status:before{content:"";background:var(--success);border-radius:50%;flex-shrink:0;width:8px;height:8px}.booking-confirm-meta-status.is-cancelled{color:var(--danger)}.booking-confirm-meta-status.is-cancelled:before{background:var(--danger)}@media (width<=480px){.booking-confirm-meta>div{grid-template-columns:1fr;gap:2px}.booking-confirm-meta strong{padding-top:0}}.booking-manage-error{margin-bottom:var(--space-4);text-align:left}.manage-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;justify-content:center;display:flex}@media (width<=480px){.manage-actions{flex-direction:column-reverse;align-items:stretch}.manage-actions .btn,.manage-actions .btn-ghost{width:100%}}.contact{background:var(--cream)}.contact-grid{grid-template-columns:1fr;align-items:start;gap:clamp(40px,6vw,80px);display:grid}@media (width>=900px){.contact-grid{grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,96px)}}.contact-pitch{flex-direction:column;gap:24px;display:flex}.contact-title{max-width:18ch;margin:16px 0 4px}.contact-title em{color:var(--rose-deep);font-style:italic}.contact-body{font-family:var(--font-body);color:var(--ink-soft);flex-direction:column;gap:16px;max-width:52ch;font-size:16px;line-height:1.65;display:flex}.contact-cta{flex-direction:column;align-items:flex-start;gap:14px;margin-top:8px;display:flex}.contact-reply{margin:0}.contact-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-image);flex-direction:column;gap:clamp(20px,3vw,28px);padding:clamp(24px,4vw,40px);display:flex}.contact-info{border-top:1px solid var(--line);flex-direction:column;margin:0;padding:0;display:flex}.contact-info-row{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:16px;padding:16px 0;display:grid}.contact-info-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);align-self:center;font-size:11px;font-weight:600}.contact-info-value{font-family:var(--font-body);color:var(--ink);margin:0;font-size:15px;line-height:1.5}.contact-links{flex-wrap:wrap;gap:6px 14px;display:inline-flex}.contact-link{border-bottom:1px solid var(--line);transition:color var(--t-base), border-color var(--t-base);padding-bottom:1px}.contact-link:hover,.contact-link:focus-visible{color:var(--rose-deep);border-color:var(--rose-deep)}.contact-tag{font-family:var(--font-accent);letter-spacing:.04em;color:var(--ink);font-style:italic}.contact-rule{margin:0}.contact-expect-label{margin-bottom:14px}.contact-expect-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.contact-expect-item{font-family:var(--font-body);color:var(--ink-soft);align-items:flex-start;gap:10px;font-size:14px;line-height:1.55;display:flex}.contact-expect-dot{background:var(--gold);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:8px}@media (width<=720px){.contact-card{padding:24px 22px}.contact-title{max-width:none}}@media (width<=480px){.contact-info-row{grid-template-columns:1fr;gap:4px;padding:14px 0}.contact-info-value{font-size:16px}.contact-cta{align-items:stretch;width:100%}.contact-cta .btn{width:100%}.contact-reply{text-align:center}}.faq{background:var(--cream-2)}.faq-inner{flex-direction:column;gap:clamp(32px,5vw,56px);display:flex}.faq-head{max-width:720px}.faq-title{margin-top:16px}.faq-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.faq-item{border-bottom:1px solid var(--line)}.faq-details{width:100%}.faq-summary{cursor:pointer;transition:color var(--t-base);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 4px;list-style:none;display:grid}.faq-summary::-webkit-details-marker{display:none}.faq-summary::marker{content:""}.faq-summary:hover,.faq-summary:focus-visible{color:var(--rose-deep)}.faq-summary:focus-visible{outline:2px solid var(--rose-deep);outline-offset:4px;border-radius:2px}.faq-num{font-family:var(--font-body);letter-spacing:.14em;color:var(--ink-soft);font-size:12px;font-weight:600}.faq-q{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:clamp(20px,2.2vw,26px);font-weight:500;line-height:1.25}.faq-icon{width:18px;height:18px;transition:transform var(--t-slow);flex-shrink:0;position:relative}.faq-icon:before,.faq-icon:after{content:"";background:var(--ink);height:1px;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.faq-icon:after{width:1px;height:100%;inset:0 50% auto;transform:translate(-50%)}.faq-details[open] .faq-icon{transform:rotate(45deg)}.faq-details[open] .faq-summary{color:var(--rose-deep)}.faq-answer-wrap{transition:grid-template-rows var(--t-slow);grid-template-rows:0fr;display:grid}.faq-details[open] .faq-answer-wrap{grid-template-rows:1fr}.faq-answer{min-height:0;padding-left:30px;overflow:hidden}.faq-answer p{font-family:var(--font-body);color:var(--ink-soft);max-width:64ch;padding:0 0 24px;font-size:16px;line-height:1.7}.faq-link{border-bottom:1px solid var(--line);transition:color var(--t-base), border-color var(--t-base);padding-bottom:1px}.faq-link:hover{color:var(--rose-deep);border-color:var(--rose-deep)}@media (width<=600px){.faq-summary{grid-template-columns:auto 1fr auto;gap:14px;min-height:44px;padding:20px 2px}.faq-q{font-size:18px;line-height:1.3}.faq-num{letter-spacing:.16em;font-size:11px}.faq-answer{padding-left:0}.faq-answer p{padding-bottom:20px;font-size:15px}}.gallery{background:var(--cream)}.gallery-head{max-width:720px;margin-bottom:clamp(32px,5vw,56px)}.gallery-title{margin:16px 0 18px}.gallery-intro{color:var(--ink-soft);max-width:560px;font-size:17px}.gallery-filters{flex-wrap:wrap;gap:10px;margin-bottom:clamp(28px,4vw,44px);display:flex}.gallery-pill{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--cream-2);color:var(--ink);border:1px solid var(--line);transition:background var(--t-base), color var(--t-base), border-color var(--t-base);padding:10px 20px;font-size:12px;font-weight:500}.gallery-pill:hover,.gallery-pill:focus-visible{border-color:var(--ink)}.gallery-pill.is-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.gallery-pill.is-active:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.gallery-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(150px,13.5vw,230px);gap:clamp(8px,1.2vw,16px);margin:0;padding:0;list-style:none;display:grid}.gallery-cell{grid-column:span var(--col-span,4);grid-row:span var(--row-span,1);border-radius:var(--radius-image);view-transition-name:var(--vt-name,none);background:var(--cream-2);position:relative;overflow:hidden}.gallery-figure{margin:0;position:absolute;inset:0;overflow:hidden}.gallery-figure img{object-fit:cover;width:100%;height:100%;transition:transform .6s;position:absolute;inset:0}.gallery-figure:after{content:"";background:var(--ink);opacity:0;transition:opacity var(--t-base);pointer-events:none;position:absolute;inset:0}.gallery-figure:hover img,.gallery-figure:focus-within img{transform:scale(1.03)}.gallery-figure:hover:after,.gallery-figure:focus-within:after{opacity:.18}.gallery-caption{color:var(--cream);opacity:.92;transition:opacity var(--t-base);z-index:1;pointer-events:none;background:linear-gradient(#1f181400 0%,#1f181447 45%,#1f18149e 100%);flex-direction:column;gap:4px;padding:16px 18px 14px;display:flex;position:absolute;inset:auto 0 0;transform:translateY(0)}.gallery-figure:hover .gallery-caption,.gallery-figure:focus-within .gallery-caption{opacity:1}.gallery-cap-eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--blush);font-size:10.5px;font-weight:600}.gallery-cap-text{font-family:var(--font-display);color:var(--cream);font-size:clamp(15px,1.5vw,19px);font-style:italic;line-height:1.25}@media (width<=900px){.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(150px,38vw,220px);gap:10px}.gallery-cell{grid-area:span 1/span 1}.gallery-caption{opacity:.95;padding:12px 12px 11px}.gallery-cap-eyebrow{font-size:10px}.gallery-cap-text{font-size:14px}}@media (width<=480px){.gallery-pill{padding:9px 16px;font-size:11.5px}}@media (width<=380px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:clamp(220px,70vw,320px);gap:12px}}.gallery-more{justify-content:center;margin-top:clamp(28px,4vw,48px);display:flex}.gallery-more-link{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-pill);transition:background var(--t-base), border-color var(--t-base), color var(--t-base);align-items:center;gap:12px;padding:14px 22px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.gallery-more-link:hover,.gallery-more-link:focus-visible{background:var(--blush);border-color:var(--rose);color:var(--ink)}.gallery-more-arrow{font-family:var(--font-display);letter-spacing:0;color:var(--rose-deep);transition:transform var(--t-base);font-size:16px}.gallery-more-link:hover .gallery-more-arrow,.gallery-more-link:focus-visible .gallery-more-arrow{transform:translate(4px)}.bundles{background:var(--ink);color:var(--cream)}.bundles-head{max-width:720px;margin-bottom:clamp(40px,6vw,72px)}.bundles .eyebrow{color:var(--rose)}.bundles-title{color:var(--cream);margin:16px 0 18px}.bundles-intro{color:var(--blush);max-width:560px;font-size:17px}.bundles-grid{grid-template-columns:1fr;gap:20px;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.bundles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}@media (width>=1100px){.bundles-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}}.bundle{display:flex}.bundle-inner{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-image);width:100%;transition:transform var(--t-base), border-color var(--t-base), background var(--t-base), box-shadow var(--t-base);flex-direction:column;padding:clamp(22px,5vw,28px) clamp(20px,5vw,26px) clamp(22px,5vw,26px);display:flex;position:relative}.bundle-inner:hover,.bundle-inner:focus-within{border-color:var(--rose);transform:translateY(-3px);box-shadow:0 14px 32px -22px #1f181473}.bundle-top{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:22px;padding-bottom:18px;display:flex}@media (width>=1100px){.bundle-top{min-height:130px}}.bundle-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:22px;font-weight:500;line-height:1.2}.bundle-pill{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--cream);background:var(--rose);border-radius:var(--radius-pill);align-items:center;padding:5px 12px;font-size:10.5px;font-weight:600;display:inline-flex}.bundle-includes{flex-direction:column;flex-grow:1;gap:10px;margin:0 0 24px;padding:0;list-style:none;display:flex}.bundle-inc{font-family:var(--font-body);color:var(--ink-soft);align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.bundle-inc-dot{background:var(--gold);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:8px}.bundle-foot{border-top:1px solid var(--line);flex-direction:column;gap:16px;margin-top:auto;padding-top:18px;display:flex}.bundle-price-row{align-items:baseline;gap:10px;display:flex}.bundle-was{font-family:var(--font-display);color:var(--rose-deep);text-decoration:line-through;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--rose);text-decoration-color:var(--rose);font-size:22px;font-style:italic}.bundle-price{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(32px,6vw,36px);font-weight:500;line-height:1}.bundle-cta{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);transition:color var(--t-base), border-color var(--t-base);align-self:flex-start;align-items:center;gap:8px;padding-bottom:4px;font-size:12px;font-weight:600;display:inline-flex}.bundle-cta:hover,.bundle-cta:focus-visible{color:var(--rose-deep);border-color:var(--rose-deep)}.bundle-cta-arrow{transition:transform var(--t-base);display:inline-block}.bundle-cta:hover .bundle-cta-arrow,.bundle-cta:focus-visible .bundle-cta-arrow{transform:translate(3px)}.hero{background:var(--cream);align-items:center;min-height:100svh;max-height:920px;padding:clamp(96px,14vh,140px) 0 clamp(48px,8vh,96px);display:flex;position:relative;overflow:hidden}.hero-inner{grid-template-columns:1fr;align-items:center;gap:clamp(28px,5vw,72px);width:100%;display:grid}.hero-rail{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--rose-deep);writing-mode:vertical-rl;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600;display:none;position:absolute;bottom:clamp(40px,8vh,96px);left:clamp(8px,2vw,18px);transform:rotate(180deg)}.hero-rail:before{content:"";background:var(--rose);vertical-align:middle;width:36px;height:1px;margin-right:14px;display:inline-block}.hero-text{max-width:560px}.hero-eyebrow{align-items:center;gap:12px;margin-bottom:28px;display:inline-flex}.hero-eyebrow:before{content:"";background:var(--rose);width:28px;height:1px}.hero-title{letter-spacing:-.025em;color:var(--ink);margin:0 0 28px;font-size:clamp(52px,9vw,92px);line-height:.98}.hero-title em{color:var(--rose-deep);font-style:italic;font-weight:400}.hero-sub{color:var(--ink-soft);max-width:460px;margin-bottom:36px;font-size:clamp(15px,1.2vw,17px);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-figure{isolation:isolate;margin:0;display:block;position:relative}.hero-figure-block{background:var(--blush);border-radius:var(--radius-image);z-index:0;width:62%;height:62%;position:absolute;inset:auto -28px -28px auto}.hero-figure-img{z-index:1;aspect-ratio:4/5;object-fit:cover;object-position:50% 32%;border-radius:var(--radius-image);background:var(--cream-2);width:100%;height:auto;display:block;position:relative}.hero-figure-cap{z-index:1;font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;font-size:12px;font-weight:600;line-height:1.4;display:flex;position:relative}.hero-figure-cap:before{content:"";background:var(--gold);flex-shrink:0;width:24px;height:1px;display:inline-block}@media (width>=900px){.hero-inner{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.hero-rail{display:inline-block}.hero-figure-img{aspect-ratio:4/5;max-height:720px}}@media (width>=1240px){.hero-inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}@media (width<=899px){.hero{align-items:flex-start;min-height:auto;max-height:none;padding-top:clamp(80px,11vh,104px);padding-bottom:clamp(48px,8vh,80px)}.hero-inner{gap:32px}.hero-figure{order:-1}.hero-figure-img{aspect-ratio:4/5;object-position:38% 45%;max-height:60vh}.hero-title{margin-bottom:20px;font-size:clamp(40px,11vw,64px)}.hero-eyebrow{margin-bottom:18px}.hero-sub{margin-bottom:28px;font-size:15.5px}.hero-actions{gap:10px}.hero-actions .btn,.hero-actions .btn-ghost{flex:auto;min-width:0}.hero-figure-block{width:56%;height:56%;inset:auto -16px -18px auto}}@media (width<=520px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn,.hero-actions .btn-ghost{width:100%}}@media (width<=380px){.hero-figure-cap{letter-spacing:.12em;font-size:11px}.hero-figure-cap:before{width:18px}}.marquee{background:var(--ink);color:var(--cream);border-top:1px solid #f7f1ea14;border-bottom:1px solid #f7f1ea14;align-items:center;width:100%;height:64px;display:flex;overflow:hidden}.marquee-track{will-change:transform;width:max-content;animation:60s linear infinite marquee-scroll;display:flex}.marquee-row{flex-shrink:0;align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.marquee-item{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--cream);white-space:nowrap;align-items:center;padding:0 28px 0 0;font-size:19px;font-style:italic;font-weight:400;display:inline-flex}.marquee-sep{color:var(--rose);letter-spacing:0;margin-left:28px;font-size:14px;font-style:normal;display:inline-block}@keyframes marquee-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@media (width<=600px){.marquee{height:56px}.marquee-item{padding-right:22px;font-size:16px}.marquee-sep{margin-left:22px}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}.services{background:var(--cream)}.services-head{max-width:720px;margin-bottom:clamp(40px,6vw,72px)}.services-title{margin:16px 0 18px}.services-intro{color:var(--ink-soft);max-width:580px;font-size:17px}.services-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.services-row{border-bottom:1px solid var(--line)}.services-link{color:var(--ink);transition:background var(--t-base);grid-template-columns:64px minmax(0,1fr) auto 36px;align-items:center;gap:clamp(16px,3vw,36px);padding:clamp(22px,3vw,32px) clamp(12px,2vw,24px);text-decoration:none;display:grid;position:relative}.services-link:before{content:"";background:var(--rose-deep);transform-origin:top;width:2px;transition:transform var(--t-base);position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.services-link:hover,.services-link:focus-visible{background:var(--blush);color:var(--ink)}.services-link:hover:before,.services-link:focus-visible:before{transform:scaleY(1)}.services-num{font-family:var(--font-accent);color:var(--gold);letter-spacing:.02em;font-size:clamp(28px,3vw,38px);line-height:1}.services-body{min-width:0}.services-name{letter-spacing:-.01em;margin-bottom:6px;font-size:clamp(20px,2.2vw,26px)}.services-blurb{font-family:var(--font-body);color:var(--ink-soft);max-width:56ch;font-size:14.5px;line-height:1.6}.services-meta{text-align:right;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.services-price{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:clamp(22px,2.2vw,28px);font-weight:500}.services-duration{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:600}.services-arrow{font-family:var(--font-display);color:var(--rose-deep);opacity:0;transition:opacity var(--t-base), transform var(--t-base);font-size:22px;transform:translate(-6px)}.services-link:hover .services-arrow,.services-link:focus-visible .services-arrow{opacity:1;transform:translate(6px)}.services-note{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:12px;margin-top:32px;font-size:12px;font-weight:600;display:flex}.services-note:before{content:"";background:var(--rose);width:24px;height:1px;display:inline-block}@media (width<=720px){.services-link{grid-template:"num""body""meta"/minmax(0,1fr);align-items:start;gap:8px;padding:22px 4px 24px}.services-num{letter-spacing:.18em;grid-area:num;font-size:18px}.services-body{grid-area:body}.services-name{margin-bottom:8px;font-size:22px}.services-meta{text-align:left;flex-direction:row;grid-area:meta;justify-content:flex-start;align-items:baseline;gap:14px;margin-top:4px}.services-price{font-size:22px}.services-duration{letter-spacing:.16em}.services-arrow{display:none}}.services-more{justify-content:center;margin-top:clamp(28px,4vw,44px);display:flex}.services-more-link{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-pill);transition:background var(--t-base), border-color var(--t-base), color var(--t-base);align-items:center;gap:12px;padding:14px 22px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.services-more-link:hover,.services-more-link:focus-visible{background:var(--blush);border-color:var(--rose);color:var(--ink)}.services-more-arrow{font-family:var(--font-display);letter-spacing:0;color:var(--rose-deep);transition:transform var(--t-base);font-size:16px}.services-more-link:hover .services-more-arrow,.services-more-link:focus-visible .services-more-arrow{transform:translate(4px)}.notfound{background:var(--cream);justify-content:center;align-items:center;min-height:70vh;display:flex}.notfound-inner{text-align:center;flex-direction:column;align-items:center;max-width:640px;margin-inline:auto;padding-block:clamp(48px,8vw,96px);display:flex}.notfound .eyebrow{align-items:center;gap:12px;display:inline-flex}.notfound .eyebrow:before,.notfound .eyebrow:after{content:"";background:var(--rose);width:24px;height:1px}.notfound-title{margin:20px 0 18px;font-size:clamp(40px,7vw,72px)}.notfound-title em{color:var(--rose-deep);font-style:italic;font-weight:400}.notfound-body{color:var(--ink-soft);margin-bottom:clamp(28px,4vw,40px)}.notfound-links{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.notfound-link{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-pill);transition:background var(--t-base), border-color var(--t-base);align-items:center;padding:12px 20px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.notfound-link:hover,.notfound-link:focus-visible{background:var(--blush);border-color:var(--rose);color:var(--ink)}
