@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/static/figtree-latin-ext-400-normal-CXAzuTZb.woff2) format("woff2"),url(/static/figtree-latin-ext-400-normal-Gbh-3PTk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/static/figtree-latin-400-normal-g7Dtegnw.woff2) format("woff2"),url(/static/figtree-latin-400-normal-BD4aNku5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/static/figtree-latin-ext-600-normal-DJlfifZj.woff2) format("woff2"),url(/static/figtree-latin-ext-600-normal-CQqsimlV.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/static/figtree-latin-600-normal-Cv_xCTDl.woff2) format("woff2"),url(/static/figtree-latin-600-normal-BM_oTo4n.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/static/figtree-latin-ext-700-normal-CS4sQkGV.woff2) format("woff2"),url(/static/figtree-latin-ext-700-normal-BoDi4KL2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/static/figtree-latin-700-normal-th6qEP7c.woff2) format("woff2"),url(/static/figtree-latin-700-normal-BCCt2T1q.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(/static/figtree-latin-ext-800-normal-DLIuazCv.woff2) format("woff2"),url(/static/figtree-latin-ext-800-normal-Cp4dEvwL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(/static/figtree-latin-800-normal-30yxI7TZ.woff2) format("woff2"),url(/static/figtree-latin-800-normal-B7vj2UK8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:900;src:url(/static/figtree-latin-ext-900-normal-7_pmoOkR.woff2) format("woff2"),url(/static/figtree-latin-ext-900-normal-BfyWW5yK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:900;src:url(/static/figtree-latin-900-normal-BCLx4uqW.woff2) format("woff2"),url(/static/figtree-latin-900-normal-BAYHxy6Q.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--fs-color-page: #f5f5f5;--fs-color-primary: #0273ad;--fs-color-primary-strong: #0276b2;--fs-color-accent: #2b5a8e;--fs-color-deep: #003049;--fs-color-nav: #020407;--fs-color-ink: #1c1c1c;--fs-color-copy: #5c5c5c;--fs-color-muted: #477891;--fs-color-green: #1f7855;--fs-color-green-light: #4b9b00;--fs-color-blue-bg: #e8f0f7;--fs-color-green-bg: #ebf7e8;--fs-color-border: #e0d7cd;--fs-color-white: #ffffff;--home-page: var(--fs-color-page);--home-primary: var(--fs-color-primary);--home-step-blue: var(--fs-color-primary-strong);--home-deep: var(--fs-color-deep);--home-nav: var(--fs-color-nav);--home-heading: var(--fs-color-ink);--home-copy: var(--fs-color-copy);--home-accent: var(--fs-color-accent);--home-green: var(--fs-color-green);--home-border: var(--fs-color-border);--home-blue-bg: var(--fs-color-blue-bg);--home-green-bg: var(--fs-color-green-bg);--home-white: var(--fs-color-white);--home-gradient: var(--fs-gradient-brand);--home-heading-font: var(--fs-font-heading);--home-body-font: var(--fs-font-body);--home-max: var(--fs-container);--fs-gradient-brand: linear-gradient(93.2725deg, rgb(2, 94, 142) 1.8918%, rgb(0, 136, 207) 50.475%, rgb(31, 120, 85) 97.286%);--fs-gradient-card-overlay: linear-gradient(to top, rgba(2, 94, 142, .3) 0%, rgba(0, 136, 207, .3) 14%, rgba(75, 155, 0, 0) 100%);--fs-font-heading: "Fraunces Variable", "Fraunces", Georgia, serif;--fs-font-body: "Figtree", Inter, system-ui, sans-serif;--fs-container: 1280px;--fs-rail-width: 234px;--fs-page-gutter: 80px;--fs-page-gutter-tablet: 40px;--fs-page-gutter-mobile: 24px;--fs-page-gutter-small: 16px;--fs-space-1: 8px;--fs-space-2: 16px;--fs-space-3: 24px;--fs-space-4: 32px;--fs-space-5: 40px;--fs-space-6: 48px;--fs-space-7: 64px;--fs-space-8: 80px;--fs-radius-sm: 12px;--fs-radius-md: 24px;--fs-radius-card: 40px;--fs-radius-panel: 48px;--fs-radius-pill: 100px;--fs-border-subtle: 1px solid rgba(0, 48, 73, .08);--fs-border-card: 1px solid var(--fs-color-border);--fs-shadow-soft: 0 20px 40px rgba(0, 0, 0, .1);--fs-shadow-card: 0 20px 40px rgba(0, 0, 0, .1);--fs-shadow-button: 0 14px 30px rgba(2, 115, 173, .22);--fs-transition: .16s ease;--fs-step--1: 14px;--fs-step-0: 16px;--fs-step-1: 18px;--fs-step-2: 24px;--fs-step-3: 32px;--fs-step-4: 40px;--fs-step-5: 56px;--color-navy: var(--fs-color-deep);--color-blue: var(--fs-color-primary);--color-blue-light: #0088cf;--color-blue-pale: #82d4ff;--color-blue-bg: var(--fs-color-blue-bg);--color-teal: var(--fs-color-accent);--color-green: var(--fs-color-green);--color-green-light: var(--fs-color-green-light);--color-green-pale: #99cf63;--color-gray: var(--fs-color-copy);--color-gray-bg: var(--fs-color-page);--color-white: var(--fs-color-white);--color-text-muted: var(--fs-color-muted);--gradient-brand: var(--fs-gradient-brand);--gradient-banner: var(--fs-gradient-brand);--gradient-logo: var(--fs-gradient-brand);--gradient-card-overlay: var(--fs-gradient-card-overlay);--font-heading: var(--fs-font-heading);--font-body: var(--fs-font-body);--shadow-card: var(--fs-shadow-card);--section-padding: var(--fs-space-8);--fs-focus-ring-color: var(--fs-color-primary);--fs-focus-ring-offset: 2px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--fs-font-body);background-color:var(--fs-color-page);color:var(--fs-color-ink);overflow-x:hidden}#root{width:100%}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-family:inherit}a[href],[role=button],summary{cursor:pointer}:where(a[href],button,[role=button],input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--fs-focus-ring-color);outline-offset:var(--fs-focus-ring-offset)}button:disabled,button[aria-disabled=true],[role=button][aria-disabled=true]{cursor:not-allowed}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}ul,ol{list-style:none}.not-found-page{min-height:60vh;display:grid;place-items:center;padding:var(--fs-space-6) var(--fs-page-gutter-small);text-align:center;background:var(--fs-color-page)}.not-found-page__card{width:min(640px,100%);padding:var(--fs-space-5);border:var(--fs-border-card);border-radius:var(--fs-radius-card);background:var(--fs-color-white);box-shadow:var(--fs-shadow-soft)}.not-found-page__eyebrow{margin:0 0 var(--fs-space-2);font-family:var(--fs-font-body);font-size:var(--fs-step--1);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fs-color-primary)}.not-found-page__title{margin:0 0 var(--fs-space-2);font-family:var(--fs-font-heading);font-size:clamp(2rem,6vw,3.5rem);line-height:1.05;color:var(--fs-color-ink)}.not-found-page__text{margin:0;color:var(--fs-color-copy);font-size:var(--fs-step-1);line-height:1.6}.site-footer{border-top:var(--fs-border-subtle);background-color:var(--fs-color-page);padding:var(--fs-space-3) var(--fs-page-gutter) var(--fs-space-4)}.site-footer__inner{width:min(var(--fs-container),100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"logo copyright nav";align-items:center;gap:var(--fs-space-4)}.site-footer__logo{grid-area:logo;justify-self:start;transition:opacity var(--fs-transition),transform var(--fs-transition)}.site-footer__logo:hover{opacity:.85}.site-footer__logo:active{transform:scale(.98)}.site-footer__logo-img{aspect-ratio:236 / 51;height:44px;width:auto}.site-footer__copyright{grid-area:copyright;margin:0;font-family:var(--fs-font-body);font-size:var(--fs-step--1);font-weight:600;line-height:1.4;color:var(--fs-color-copy);text-align:center;white-space:nowrap}.site-footer__nav{grid-area:nav;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:var(--fs-space-3)}.site-footer__nav-item{display:inline-flex;align-items:center;gap:7px;font-family:var(--fs-font-body);font-size:var(--fs-step-0);font-weight:700;color:var(--fs-color-nav);white-space:nowrap;transition:color var(--fs-transition),transform var(--fs-transition)}.site-footer__nav-item:hover{color:var(--fs-color-primary)}.site-footer__nav-item:active{color:var(--fs-color-accent);transform:scale(.96)}@media(max-width:1439px){.site-footer{padding-inline:var(--fs-page-gutter-tablet)}}@media(max-width:1023px){.site-footer{padding:var(--fs-space-3) var(--fs-page-gutter-mobile)}.site-footer__inner{grid-template-columns:1fr;grid-template-areas:"logo" "copyright" "nav";align-items:flex-start}.site-footer__copyright{text-align:left}.site-footer__nav{width:100%;justify-content:flex-start;gap:var(--fs-space-2);justify-self:stretch}}@media(max-width:768px){.site-footer{padding:var(--fs-space-3) var(--fs-page-gutter-small)}.site-footer__inner{grid-template-columns:auto 1fr;grid-template-areas:"logo nav" "copyright copyright";align-items:center;column-gap:var(--fs-space-2);row-gap:var(--fs-space-2)}.site-footer__logo-img{height:36px}.site-footer__nav{width:auto;justify-content:flex-end;justify-self:end;align-items:center;gap:var(--fs-space-2)}.site-footer__copyright{width:100%;text-align:center;white-space:normal}.site-footer__nav-item{width:auto;justify-content:flex-end;text-align:right;font-size:var(--fs-step--1)}}.contact-modal{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:var(--fs-space-3);background:#0017238c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.contact-modal__dialog{position:relative;width:min(100%,560px);padding:var(--fs-space-6) var(--fs-space-5) var(--fs-space-5);border:var(--fs-border-card);border-radius:var(--fs-radius-card);background:var(--fs-color-white);box-shadow:0 24px 80px #0000003d}.contact-modal__close{position:absolute;top:var(--fs-space-2);right:var(--fs-space-2);min-width:72px;min-height:40px;padding:10px 16px;border-radius:var(--fs-radius-pill);background:var(--fs-color-blue-bg);color:var(--fs-color-ink);font-size:var(--fs-step--1);font-weight:700;transition:color var(--fs-transition),background-color var(--fs-transition),transform var(--fs-transition)}.contact-modal__close:hover{color:var(--fs-color-white);background:var(--fs-color-accent)}.contact-modal__close:active{background:var(--fs-color-deep);color:var(--fs-color-white);transform:scale(.94)}.contact-modal__eyebrow{margin-bottom:var(--fs-space-1);font-family:var(--fs-font-body);font-size:var(--fs-step--1);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fs-color-primary)}.contact-modal__title{margin-bottom:var(--fs-space-2);font-family:var(--fs-font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:650;line-height:1.08;letter-spacing:-.03em;color:var(--fs-color-ink)}.contact-modal__description{margin-bottom:var(--fs-space-4);font-size:var(--fs-step-1);line-height:1.55;color:var(--fs-color-copy)}.contact-modal__details{display:grid;gap:var(--fs-space-2)}.contact-modal__detail{display:grid;gap:var(--fs-space-1);padding:var(--fs-space-3);border:var(--fs-border-card);border-radius:var(--fs-radius-md);background:linear-gradient(180deg,#f0faffe6,#fff)}.contact-modal__label{font-family:var(--fs-font-body);font-size:var(--fs-step--1);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--fs-color-muted)}.contact-modal__value{font-size:var(--fs-step-2);font-weight:700;line-height:1.35;color:var(--fs-color-ink)}.contact-modal__value--link{color:var(--fs-color-primary);transition:color var(--fs-transition)}.contact-modal__value--link:hover{color:var(--fs-color-accent)}.contact-modal__value--link:active{color:var(--fs-color-deep)}.contact-modal__value-button{padding:0;text-align:left}@media(max-width:768px){.contact-modal{padding:var(--fs-page-gutter-small)}.contact-modal__dialog{padding:52px var(--fs-space-3) var(--fs-space-3);border-radius:var(--fs-radius-md)}.contact-modal__description,.contact-modal__value{font-size:var(--fs-step-0)}}.booking-modal{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:var(--fs-space-3);border:0;background:#00172394;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:inherit}.booking-modal[open]{display:flex;align-items:center;justify-content:center}.booking-modal::backdrop{background:transparent}.booking-modal__dialog{position:relative;width:min(100%,760px);max-height:min(860px,calc(100dvh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:var(--fs-border-card);border-radius:var(--fs-radius-card);background:var(--fs-color-white);box-shadow:0 24px 80px #0000003d;overflow:hidden}.booking-modal__close{position:absolute;z-index:1;top:var(--fs-space-2);right:var(--fs-space-2);width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--fs-color-blue-bg);color:var(--fs-color-ink);transition:background var(--fs-transition),transform var(--fs-transition)}.booking-modal__close:hover{background:#0276b224}.booking-modal__close:active{background:#0276b238;transform:scale(.92)}.booking-modal__close:disabled{cursor:wait;opacity:.55}.booking-modal__close-icon{position:relative;width:18px;height:18px}.booking-modal__close-icon:before,.booking-modal__close-icon:after{content:"";position:absolute;top:8px;left:1px;width:16px;height:2px;border-radius:2px;background:currentColor}.booking-modal__close-icon:before{transform:rotate(45deg)}.booking-modal__close-icon:after{transform:rotate(-45deg)}.booking-modal__header{padding:var(--fs-space-5) var(--fs-space-5) var(--fs-space-3);border-bottom:var(--fs-border-subtle)}.booking-modal__progress{display:flex;gap:var(--fs-space-1);margin:0 var(--fs-space-5) var(--fs-space-3) 0;padding:0;list-style:none}.booking-modal__progress-item{flex:1 1 0;display:flex;align-items:center;gap:8px;min-width:0;padding-top:10px;border-top:4px solid rgba(71,120,145,.2);color:var(--fs-color-muted);font-size:var(--fs-step--1);font-weight:700}.booking-modal__progress-item--done{border-top-color:var(--fs-color-green)}.booking-modal__progress-item--active{border-top-color:var(--fs-color-primary);color:var(--fs-color-ink)}.booking-modal__progress-number{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#47789124;font-size:12px;font-weight:800}.booking-modal__progress-item--done .booking-modal__progress-number{background:var(--fs-color-green);color:var(--fs-color-white)}.booking-modal__progress-item--active .booking-modal__progress-number{background:var(--fs-color-primary);color:var(--fs-color-white)}.booking-modal__progress-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-modal__eyebrow{margin-bottom:var(--fs-space-1);font-family:var(--fs-font-body);font-size:var(--fs-step--1);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fs-color-primary)}.booking-modal__title{max-width:560px;margin-bottom:var(--fs-space-1);font-family:var(--fs-font-heading);font-size:clamp(1.75rem,3.6vw,2.25rem);font-weight:650;line-height:1.1;letter-spacing:-.03em;color:var(--fs-color-ink)}.booking-modal__title:focus{outline:none}.booking-modal__description{max-width:580px;font-size:var(--fs-step-0);line-height:1.55;color:var(--fs-color-copy)}.booking-modal__body{min-height:0;padding:var(--fs-space-3) var(--fs-space-5);overflow-y:auto;overscroll-behavior:contain}.booking-modal__section{display:grid;gap:var(--fs-space-3)}.booking-modal__group+.booking-modal__group{margin-top:var(--fs-space-3)}.booking-modal__group-title{margin-bottom:var(--fs-space-1);font-family:var(--fs-font-body);font-size:var(--fs-step--1);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--fs-color-muted)}.booking-modal__service-grid,.booking-modal__slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-modal__choice{display:grid;gap:4px;align-content:center;min-height:64px;padding:14px 16px;border:1px solid rgba(2,118,178,.22);border-radius:var(--fs-radius-sm);background:linear-gradient(180deg,rgba(240,250,255,.72),var(--fs-color-white));color:var(--fs-color-ink);font:inherit;text-align:left;transition:border-color var(--fs-transition),background var(--fs-transition),color var(--fs-transition),transform var(--fs-transition)}.booking-modal__choice strong{font-weight:800;line-height:1.3}.booking-modal__choice span{font-size:var(--fs-step--1);line-height:1.4;color:var(--fs-color-copy)}.booking-modal__choice:hover,.booking-modal__choice--selected{border-color:var(--fs-color-green);background:#1f78551a}.booking-modal__choice--selected{box-shadow:inset 0 0 0 1px var(--fs-color-green)}.booking-modal__choice:active{transform:scale(.98)}.booking-modal__slot{justify-content:center;min-height:56px;font-weight:800;text-align:center}.booking-modal__slot.booking-modal__choice--selected{color:var(--fs-color-green)}.booking-modal__selected{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:14px 16px;border-radius:var(--fs-radius-sm);background:var(--fs-color-blue-bg)}.booking-modal__selected span{font-size:var(--fs-step--1);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--fs-color-muted)}.booking-modal__selected strong{color:var(--fs-color-ink)}.booking-modal__link{margin-left:auto;padding:2px 0;background:none;color:var(--fs-color-primary);font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px}.booking-modal__fieldset{display:grid;gap:10px;min-width:0;margin:0;padding:0;border:0}.booking-modal__fieldset legend,.booking-modal__field label{margin-bottom:2px;padding:0;font-size:var(--fs-step--1);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--fs-color-muted)}.booking-modal__fieldset legend em,.booking-modal__field label em{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0}.booking-modal__chip-row,.booking-modal__segmented{display:flex;flex-wrap:wrap;gap:8px}.booking-modal__chip{min-height:44px;padding:10px 18px;border:1px solid rgba(2,118,178,.24);border-radius:var(--fs-radius-pill);background:var(--fs-color-white);color:var(--fs-color-ink);font:inherit;font-weight:700;transition:border-color var(--fs-transition),background var(--fs-transition),color var(--fs-transition)}.booking-modal__chip:hover{border-color:var(--fs-color-green)}.booking-modal__chip--selected{border-color:var(--fs-color-green);background:var(--fs-color-green);color:var(--fs-color-white)}.booking-modal__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--fs-space-2)}.booking-modal__field{display:grid;align-content:start;gap:6px;min-width:0}.booking-modal__field--full{grid-column:1 / -1}.booking-modal__field-pair{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--fs-space-2)}.booking-modal__field input,.booking-modal__field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid rgba(2,118,178,.24);border-radius:var(--fs-radius-sm);background:var(--fs-color-white);color:var(--fs-color-ink);font:inherit;font-weight:600}.booking-modal__field textarea{min-height:112px;resize:vertical;line-height:1.5}.booking-modal__field input:focus,.booking-modal__field textarea:focus{outline:3px solid rgba(2,115,173,.18);border-color:var(--fs-color-primary)}.booking-modal__field [aria-invalid=true]{border-color:#9f2a2a}.booking-modal__field-error{color:#9f2a2a;font-size:var(--fs-step--1);font-weight:700;line-height:1.4}.booking-modal__combobox{position:relative}.booking-modal__suggestions{position:absolute;z-index:2;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;border:1px solid rgba(2,118,178,.24);border-radius:var(--fs-radius-sm);background:var(--fs-color-white);box-shadow:0 12px 28px #091e3029}.booking-modal__suggestions[hidden]{display:none}.booking-modal__suggestion{padding:10px 12px;border-radius:6px;color:var(--fs-color-ink);font-weight:600;line-height:1.4;cursor:pointer}.booking-modal__suggestion:hover,.booking-modal__suggestion--active{background:#1f78551a}.booking-modal__address-match{font-weight:800}.booking-modal__days{display:flex;gap:10px;padding:4px 2px 8px;overflow-x:auto}.booking-modal__day{flex:none;width:92px;display:grid;justify-items:center;gap:2px;padding:12px 8px;border:1px solid rgba(2,118,178,.22);border-radius:var(--fs-radius-sm);background:var(--fs-color-white);color:var(--fs-color-ink);font:inherit;transition:border-color var(--fs-transition),background var(--fs-transition),color var(--fs-transition)}.booking-modal__day span{font-size:var(--fs-step--1);font-weight:800;text-transform:uppercase;color:var(--fs-color-muted)}.booking-modal__day strong{font-size:var(--fs-step-1);font-weight:800}.booking-modal__day small{font-size:12px;font-weight:700;color:var(--fs-color-green)}.booking-modal__day:hover{border-color:var(--fs-color-primary)}.booking-modal__day--selected{border-color:var(--fs-color-primary);background:var(--fs-color-primary);color:var(--fs-color-white)}.booking-modal__day--selected span,.booking-modal__day--selected small{color:#ffffffdb}.booking-modal__days-more{flex:none;display:flex;align-items:center}.booking-modal__hint{font-size:var(--fs-step--1);line-height:1.5;color:var(--fs-color-copy)}.booking-modal__review{display:grid;margin:0;border:1px solid rgba(2,118,178,.16);border-radius:var(--fs-radius-sm)}.booking-modal__review-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:var(--fs-space-2);align-items:start;padding:14px 16px}.booking-modal__review-row+.booking-modal__review-row{border-top:1px solid rgba(2,118,178,.12)}.booking-modal__review dt{font-size:var(--fs-step--1);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--fs-color-muted)}.booking-modal__review dd{margin:0;color:var(--fs-color-ink);font-weight:600;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}.booking-modal__notice{display:grid;gap:12px;padding:16px;border:1px solid rgba(2,118,178,.16);border-radius:var(--fs-radius-sm);background:var(--fs-color-blue-bg);color:var(--fs-color-ink);line-height:1.5}.booking-modal__notice--emergency{margin-top:var(--fs-space-3);border-color:#b06a0047;background:#fff7e8}.booking-modal__notice--warning{border-color:#b06a0047;background:#fff7e8;font-weight:700}.booking-modal__notice--error{border-color:#9f2a2a38;background:#9f2a2a14;color:#7a1f1f;font-weight:700}.booking-modal__notice-actions{display:flex;flex-wrap:wrap;gap:10px}.booking-modal__loading{min-height:200px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--fs-color-muted);font-weight:800}.booking-modal__spinner{width:28px;height:28px;border:4px solid rgba(2,118,178,.16);border-top-color:var(--fs-color-green);border-radius:50%;animation:booking-modal-spin .85s linear infinite}.booking-modal__status{grid-row:1 / -1;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--fs-space-6) var(--fs-space-5);text-align:center}.booking-modal__status .booking-modal__description{max-width:520px}.booking-modal__status .booking-modal__button{margin-top:var(--fs-space-3)}.booking-modal__status-icon{position:relative;width:56px;height:56px;margin-bottom:var(--fs-space-3);border-radius:50%}.booking-modal__status-icon--loading{border:5px solid rgba(2,118,178,.16);border-top-color:var(--fs-color-green);animation:booking-modal-spin .85s linear infinite}.booking-modal__status-icon--success{background:var(--fs-color-green)}.booking-modal__status-icon--success:after{content:"";position:absolute;top:16px;left:15px;width:25px;height:14px;border-left:4px solid var(--fs-color-white);border-bottom:4px solid var(--fs-color-white);transform:rotate(-45deg)}.booking-modal__reference{margin-top:var(--fs-space-2);color:var(--fs-color-muted);font-weight:800}.booking-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--fs-space-2);padding:var(--fs-space-2) var(--fs-space-5);border-top:var(--fs-border-subtle);background:var(--fs-color-white)}.booking-modal__button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--fs-radius-pill);font:inherit;font-weight:800;line-height:1.3;white-space:nowrap;transition:opacity var(--fs-transition),transform var(--fs-transition),background var(--fs-transition)}.booking-modal__button--primary{margin-left:auto;min-width:140px;background:var(--fs-color-green);color:var(--fs-color-white)}.booking-modal__notice-actions .booking-modal__button--primary,.booking-modal__status .booking-modal__button--primary{margin-left:0}.booking-modal__button--secondary{border:1px solid rgba(2,118,178,.3);background:var(--fs-color-white);color:var(--fs-color-primary)}.booking-modal__button--back{background:var(--fs-color-blue-bg);color:var(--fs-color-ink)}.booking-modal__button:hover:not(:disabled){opacity:.9}.booking-modal__button:active:not(:disabled){transform:scale(.97)}.booking-modal__button:disabled{cursor:not-allowed;opacity:.45}@keyframes booking-modal-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.booking-modal__spinner,.booking-modal__status-icon--loading{animation-duration:2.4s}}@media(max-width:768px){.booking-modal{padding:0}.booking-modal[open]{align-items:flex-end}.booking-modal__dialog{width:100%;max-height:calc(100dvh - 12px);border-radius:var(--fs-radius-md) var(--fs-radius-md) 0 0}.booking-modal__header{padding:var(--fs-space-3) var(--fs-space-3) var(--fs-space-2)}.booking-modal__progress-label{display:none}.booking-modal__progress-item--active .booking-modal__progress-label{display:inline}.booking-modal__progress-item--active{flex-grow:3}.booking-modal__body{padding:var(--fs-space-2) var(--fs-space-3)}.booking-modal__service-grid,.booking-modal__fields{grid-template-columns:minmax(0,1fr)}.booking-modal__review-row{grid-template-columns:minmax(0,1fr) auto}.booking-modal__review dd{grid-column:1 / -1;grid-row:2}.booking-modal__footer{padding:12px var(--fs-space-3) max(12px,env(safe-area-inset-bottom))}.booking-modal__status{min-height:360px;padding:var(--fs-space-5) var(--fs-space-3)}}@media(max-width:480px){.booking-modal__slot-grid{grid-template-columns:minmax(0,1fr)}}
