@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_34adddd-module__rSTmgG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_34adddd-module__rSTmgG__variable{--font-serif:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.06cvo47x4w1en.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.0pz0x0eczp58u.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_b6a06066-module__-0WMQG__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_b6a06066-module__-0WMQG__variable{--font-sans:"Instrument Sans", "Instrument Sans Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.hidden{display:none}}:root{--cream:#f5efe3;--cream-2:#ede5d3;--ink:#181410;--ink-soft:#3a322a;--marigold:#d97706;--marigold-deep:#9a4f08;--sindoor:#b0271c;--moss:#5c6b4a;--line:#1814101f;--shadow:0 30px 80px -20px #18141033;--modal-surface:#faf7f0;--modal-elevated:#fff;--modal-ring:#18141014}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-sans), sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55}a,button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.site-shell{position:relative;overflow-x:clip}.grain{pointer-events:none;z-index:1;opacity:.06;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");position:fixed;inset:0}.container{z-index:2;width:min(1280px,100vw - 40px);margin:0 auto;position:relative}.topbar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f5efe3e6;position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.brand{color:inherit;font-family:var(--font-serif), serif;letter-spacing:-.02em;align-items:center;gap:10px;font-size:22px;text-decoration:none;display:flex}.brand-mark{background:var(--sindoor);border-radius:999px;flex:none;width:28px;height:28px;position:relative}.brand-mark:after{content:"";border:1.5px solid var(--cream);border-radius:999px;position:absolute;inset:6px}.nav-links{align-items:center;gap:34px;display:flex}.nav-links a{color:inherit;letter-spacing:.05em;text-transform:uppercase;font-size:14px;text-decoration:none}.nav-links a:hover{color:var(--marigold-deep)}.nav-cta,.btn-primary,.btn-secondary,.sticky-book,.service-select{border:0;text-decoration:none;transition:transform .2s,background .2s,color .2s,border-color .2s}.nav-cta,.btn-primary,.sticky-book{background:var(--ink);color:var(--cream);border-radius:999px;padding:12px 24px;font-weight:600}.btn-primary{align-items:center;gap:10px;padding:16px 30px;display:inline-flex}.btn-secondary,.service-select{color:var(--ink);border:1px solid var(--ink);background:0 0;border-radius:999px;padding:15px 24px}.btn-small{padding:12px 18px}.nav-cta:hover,.btn-primary:hover,.sticky-book:hover{background:var(--sindoor);transform:translateY(-1px)}.btn-secondary:hover,.service-select:hover{background:var(--ink);color:var(--cream)}.menu-toggle{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:999px;padding:10px 16px;display:none}.hero{padding:82px 0 100px}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:56px;display:grid}.eyebrow,.section-num,.summary-kicker,.slot-group-label,.info-label{letter-spacing:.18em;text-transform:uppercase;color:var(--marigold-deep);font-size:13px;font-weight:700}.eyebrow{align-items:center;gap:12px;margin-bottom:24px;display:flex}.eyebrow:before{content:"";background:var(--marigold-deep);width:32px;height:1px}h1,h2,h3{font-family:var(--font-serif), serif;letter-spacing:-.035em;margin:0;font-weight:400}h1{margin-bottom:28px;font-size:clamp(50px,8vw,96px);line-height:.95}h1 em,h2 em,.cta-band em{color:var(--sindoor);font-style:italic;font-weight:300}h2{font-size:clamp(40px,5vw,72px);line-height:.96}h3{font-size:34px;line-height:1}.hero-sub,.section-intro,.about-text p,.review-text,.map-placeholder,.summary-note,.service-card-copy p,.staff-card p,.confirmation-card p{color:var(--ink-soft)}.hero-sub{max-width:520px;margin-bottom:36px;font-size:19px}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero-visual{min-height:540px;position:relative}.hero-card{box-shadow:var(--shadow);border-radius:4px;position:absolute;overflow:hidden}.hero-card-primary{background:linear-gradient(135deg,#2a1f18 0%,#4a3424 100%);align-items:flex-end;width:65%;height:75%;padding:30px;display:flex;inset:0 0 auto auto}.hero-card-primary:before{content:"";background:radial-gradient(circle at 28% 20%,#d977064d,#0000 50%),radial-gradient(circle at 70% 82%,#b0271c40,#0000 60%);position:absolute;inset:0}.hero-card-primary:after{content:"✂";color:#f5efe317;place-items:center;font-size:220px;display:grid;position:absolute;inset:0;transform:rotate(-18deg)}.card-label,.rating-meta,.summary-line span,.stepper-item span,.field span,.date-card span,.review-row span{letter-spacing:.04em;font-size:13px}.card-label{z-index:1;color:var(--cream);text-transform:uppercase;position:relative}.hero-card-secondary{background:var(--marigold);flex-direction:column;justify-content:space-between;width:48%;min-height:260px;padding:30px;display:flex;bottom:0;left:0}.hero-badge{background:var(--cream);border:1px solid var(--ink);border-radius:999px;padding:12px 18px;font-size:13px;font-weight:700;position:absolute;bottom:34%;right:2%;transform:rotate(4deg)}.stars{letter-spacing:4px;font-size:14px}.rating-num,.big{font-family:var(--font-serif), serif;font-size:clamp(82px,10vw,110px);line-height:1}.marquee{background:var(--ink);color:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;overflow:hidden}.marquee-track{text-transform:uppercase;letter-spacing:.18em;gap:32px;width:max-content;font-size:13px;animation:28s linear infinite marquee;display:flex}.section{padding:110px 0}.section-head{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:end;gap:40px;margin-bottom:46px;display:grid}.about-grid,.visit-grid,.booking-grid{gap:30px;display:grid}.about-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start}.lead{font-family:var(--font-serif), serif;margin-bottom:24px;font-size:34px;line-height:1.05}.heritage-card,.summary-card,.booking-panel,.review-card,.review-card,.map-placeholder,.feedback,.empty-state,.confirmation-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff70;border-radius:28px}.heritage-card{padding:36px;position:relative}.quote-mark{font-family:var(--font-serif), serif;color:var(--marigold);font-size:70px;line-height:1;display:block}.heritage-card blockquote{font-family:var(--font-serif), serif;margin:0 0 20px;font-size:30px;line-height:1.08}.booking-section{background:radial-gradient(circle at 100% 0,#d977061a,#0000 30%),linear-gradient(#ede5d38c,#f5efe300)}.booking-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start}.booking-panel{padding:28px}.summary-card{padding:28px;position:sticky;top:104px}.summary-card h3{margin:8px 0 20px;font-size:36px}.summary-line,.review-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:14px 0;display:flex}.summary-line:last-of-type,.review-row:last-child{border-bottom:0}.summary-note{margin-top:20px}.stepper{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:24px;display:grid}.stepper-item{border:1px solid var(--line);background:0 0;border-radius:18px;padding:15px 16px}.stepper-item strong{margin-top:8px;display:block}.stepper-item-active{background:var(--ink);color:var(--cream)}.stepper-item-complete{background:#5c6b4a1f;border-color:#5c6b4a73}.feedback,.empty-state{margin-bottom:20px;padding:16px 18px}.error{color:var(--sindoor);border-color:#b0271c42}.booking-step{min-height:auto}.pill-row{gap:12px;margin-bottom:22px;padding-bottom:8px;display:flex;overflow-x:auto}.pill,.slot-pill,.date-card,.service-card,.staff-card{transition:transform .2s,border-color .2s,background .2s,color .2s}.pill{white-space:nowrap;border:1px solid var(--line);background:0 0;border-radius:999px;padding:12px 18px}.pill-active,.slot-pill-active,.date-card-active,.service-card-active,.staff-card-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.service-card-list,.date-grid,.service-row-list,.review-grid{gap:16px;display:grid}.service-card{text-align:left;border:1px solid var(--line);background:0 0;border-radius:24px;justify-content:space-between;gap:20px;width:100%;padding:22px;display:flex}.service-card strong,.service-name,.staff-card strong,.date-card strong{font-size:24px;font-family:var(--font-serif), serif;font-weight:400}.service-card-meta,.service-price{flex-direction:column;align-items:flex-end;gap:8px;min-width:max-content;display:flex}.staff-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.staff-card{text-align:left;border:1px solid var(--line);background:0 0;border-radius:28px;flex-direction:column;gap:12px;padding:22px;display:flex}.staff-avatar,.staff-photo{border-radius:999px;width:82px;height:82px}.staff-avatar{background:linear-gradient(135deg, var(--marigold), var(--sindoor));color:var(--cream);font-family:var(--font-serif), serif;place-items:center;font-size:30px;display:grid}.staff-avatar-any{background:var(--ink);font-size:20px}.staff-photo{object-fit:cover}.staff-role{text-transform:uppercase;letter-spacing:.08em;color:var(--moss);font-size:14px}.date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-card{border:1px solid var(--line);text-align:left;background:0 0;border-radius:24px;padding:22px}.timezone-note{color:var(--ink-soft);margin-bottom:16px}.slot-group+.slot-group{margin-top:22px}.slot-grid{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.slot-pill{border:1px solid var(--line);background:0 0;border-radius:999px;padding:14px 18px}.details-form{gap:22px;display:grid}.review-card,.confirmation-card{padding:26px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field-wide{grid-column:1/-1}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff9;border-radius:18px;padding:16px 18px}.field input:focus,.field textarea:focus{outline-offset:2px;outline:2px solid #d9770659}.review-actions{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.confirmation-pill{color:var(--moss);background:#5c6b4a24;border-radius:999px;align-items:center;margin-bottom:16px;padding:10px 14px;font-size:14px;font-weight:700;display:inline-flex}.services-stack{gap:38px;display:grid}.service-group-head{margin-bottom:14px}.service-group-head h3{font-size:32px}.service-row{border-top:1px solid var(--line);grid-template-columns:84px minmax(0,240px) minmax(0,1fr) minmax(120px,160px) auto;align-items:center;gap:16px;padding:22px 0;display:grid}.service-row:last-child{border-bottom:1px solid var(--line)}.service-num{color:var(--marigold-deep);letter-spacing:.08em}.service-price small{color:var(--ink-soft);margin-top:4px;display:block}.static-staff-card{cursor:default;background:#ffffff57}.booking-teaser{flex-direction:column;align-items:flex-start;gap:18px;max-width:560px;padding:28px 32px;display:flex}.booking-teaser-copy{color:var(--ink-soft);max-width:48ch;margin:0}.booking-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(10px);background:#120e0c85;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.booking-modal{--booking-select-bg:linear-gradient(145deg, #fff 0%, #fff4e0eb 48%, #fffaf2fa 100%);--booking-select-border:2px solid #d977068c;--booking-select-shadow:inset 0 0 0 1px #ffffffa6, 0 0 0 1px #d9770626, 0 12px 36px -8px #d9770647, 0 20px 44px -16px #1814101f;--booking-select-bar:linear-gradient(180deg, var(--marigold) 0%, var(--sindoor) 100%);--booking-check-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5efe3' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background:var(--modal-surface);width:100%;max-width:min(520px,100vw);max-height:min(100dvh,900px);box-shadow:0 -8px 40px #1814101f, 0 0 0 1px var(--modal-ring);border-radius:22px 22px 0 0;flex-direction:column;display:flex;overflow:hidden}.booking-modal-header{padding:18px 18px 14px;padding-top:calc(18px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--modal-elevated) 0%, var(--modal-surface) 100%);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-modal-header-main{min-width:0}.booking-modal-title{font-family:var(--font-serif), serif;letter-spacing:-.02em;margin:0 0 4px;font-size:clamp(1.35rem,4.2vw,1.65rem);font-weight:500;line-height:1.15}.booking-modal-tagline{color:var(--ink-soft);letter-spacing:.02em;margin:0;font-size:13px}.booking-modal-close{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);background:#ffffffa6;border-radius:12px;flex:none;place-items:center;transition:background .15s,border-color .15s,color .15s;display:grid}.booking-modal-close:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}.booking-modal-close-icon{margin-top:-2px;font-size:22px;font-weight:300;line-height:1}.booking-modal-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--modal-surface);flex:1;min-height:0;padding:0 0 12px;overflow-y:auto}.booking-modal-inner{width:100%;max-width:520px;margin:0 auto;padding:0 18px}.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}.booking-flow-root{width:100%}.booking-panel.booking-panel--modal{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:16px 0 8px}.booking-progress{background:var(--modal-elevated);border:1px solid var(--line);border-radius:16px;margin:0 0 20px;padding:16px 16px 18px;box-shadow:inset 0 1px #ffffffb3}.booking-progress-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 14px;margin-bottom:10px;display:flex}.booking-progress-count{letter-spacing:.12em;text-transform:uppercase;color:var(--marigold-deep);font-size:11px;font-weight:700}.booking-progress-context{color:var(--ink-soft);text-align:right;max-width:100%;font-size:12px;line-height:1.35}.booking-progress-label{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.booking-progress-track{background:#18141014;border-radius:999px;height:5px;margin-bottom:14px;overflow:hidden}.booking-progress-fill{background:linear-gradient(90deg, var(--marigold-deep), var(--marigold));border-radius:999px;height:100%;transition:width .25s}.booking-progress-title{font-family:var(--font-serif), serif;letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.2rem,4vw,1.45rem);font-weight:500;line-height:1.2}.booking-progress-help{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.45}.booking-step-modal{min-height:0;padding-bottom:4px}.booking-modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);background:#ffffffeb;flex-flow:row;flex:none;justify-content:stretch;align-items:stretch;gap:10px;display:flex}.booking-modal-footer-btn{border-radius:14px;flex:1;justify-content:center;min-width:0;min-height:50px;font-size:15px;font-weight:600}.booking-modal-footer-btn:disabled{opacity:.38;cursor:not-allowed}.booking-modal .feedback,.booking-modal .empty-state{border-radius:14px;margin-bottom:14px}.booking-modal .service-card-list{gap:10px}.booking-modal .service-card{background:var(--modal-elevated);border-color:var(--modal-ring);border-radius:16px;padding:16px 18px}.booking-modal .service-card strong{font-size:clamp(1.05rem,3.8vw,1.2rem)}.booking-modal .service-card p{color:var(--ink-soft);margin:6px 0 0;font-size:14px;line-height:1.45}.booking-modal .service-card:not(.service-card-active):hover{border-color:#1814102e;box-shadow:0 4px 16px #1814100f}.booking-modal .service-card.service-card-active{z-index:1;border:var(--booking-select-border);background:var(--booking-select-bg);color:var(--ink);box-shadow:var(--booking-select-shadow);position:relative}.booking-modal .service-card:focus-visible{outline-offset:2px;outline:2px solid #d977068c}.booking-modal .service-card.service-card-active:before{content:"";background:var(--booking-select-bar);pointer-events:none;border-radius:0 4px 4px 0;width:4px;position:absolute;top:12px;bottom:12px;left:0}.booking-modal .service-card.service-card-active .service-card-copy{padding-left:6px}.booking-modal .service-card.service-card-active .service-card-meta{min-width:36px;min-height:32px;color:var(--ink);padding-right:36px;position:relative}.booking-modal .service-card.service-card-active .service-card-meta span{color:var(--ink-soft)}.booking-modal .service-card.service-card-active .service-card-meta:after{content:"";background-color:var(--ink);background-image:var(--booking-check-svg);background-position:50%;background-repeat:no-repeat;background-size:16px 16px;border-radius:999px;width:28px;height:28px;position:absolute;top:50%;right:0;translate:0 -50%;box-shadow:0 2px 8px #18141033}.booking-modal .service-card.service-card-active strong{color:var(--ink)}.booking-modal .service-card.service-card-active p{color:var(--ink-soft)}.booking-modal .staff-card-grid{grid-template-columns:1fr;gap:12px}.booking-modal .staff-card-grid.staff-card-grid--rows{grid-template-columns:minmax(0,1fr)}.booking-modal .staff-card{text-align:left;background:var(--modal-elevated);border-radius:16px;flex-direction:row;align-items:center;gap:14px;padding:14px 18px;position:relative}.booking-modal .staff-card-media{flex-shrink:0}.booking-modal .staff-card-media .staff-photo,.booking-modal .staff-card-media .staff-avatar{width:56px;height:56px}.booking-modal .staff-card-media .staff-avatar{font-size:18px}.booking-modal .staff-card-media .staff-avatar-any{font-size:14px}.booking-modal .staff-card-body{text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.booking-modal .staff-card-body strong{font-size:clamp(1.05rem,3.8vw,1.2rem);font-family:var(--font-serif), serif;font-weight:400}.booking-modal .staff-card-body .staff-role{font-size:12px}.booking-modal .staff-card-body p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.booking-modal .date-grid{grid-template-columns:1fr;gap:10px}.booking-modal .date-card{text-align:left;background:var(--modal-elevated);border-radius:16px;padding:16px 18px;position:relative}.booking-modal .date-card strong{font-size:1.1rem}.booking-modal .slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.booking-modal .slot-pill{text-align:center;background:var(--modal-elevated);border-radius:12px;padding:12px 8px;font-size:14px;font-weight:600;position:relative}.booking-modal .pill-row{scrollbar-width:thin;margin-bottom:14px}.booking-modal .pill{border-radius:999px;padding:10px 16px;font-size:13px;font-weight:600;position:relative}.booking-modal .pill:not(.pill-active):hover{background:#ffffff8c;border-color:#1814102e}.booking-modal .pill.pill-active{z-index:1;border:var(--booking-select-border);background:var(--booking-select-bg);color:var(--ink);box-shadow:var(--booking-select-shadow);padding-right:34px}.booking-modal .pill.pill-active:after{content:"";background-color:var(--ink);background-image:var(--booking-check-svg);background-position:50%;background-repeat:no-repeat;background-size:12px 12px;border-radius:999px;width:22px;height:22px;position:absolute;top:50%;right:8px;translate:0 -50%;box-shadow:0 2px 6px #18141026}.booking-modal .staff-card:not(.staff-card-active):hover,.booking-modal .date-card:not(.date-card-active):hover,.booking-modal .slot-pill:not(.slot-pill-active):hover{border-color:#1814102e;box-shadow:0 4px 16px #1814100f}.booking-modal .staff-card.staff-card-active{z-index:1;border:var(--booking-select-border);background:var(--booking-select-bg);color:var(--ink);box-shadow:var(--booking-select-shadow);padding-right:48px}.booking-modal .staff-card.staff-card-active:before{content:"";background:var(--booking-select-bar);pointer-events:none;border-radius:0 4px 4px 0;width:4px;position:absolute;top:12px;bottom:12px;left:0}.booking-modal .staff-card.staff-card-active:after{content:"";background-color:var(--ink);background-image:var(--booking-check-svg);background-position:50%;background-repeat:no-repeat;background-size:16px 16px;border-radius:999px;width:28px;height:28px;position:absolute;top:50%;right:14px;translate:0 -50%;box-shadow:0 2px 8px #18141033}.booking-modal .staff-card.staff-card-active strong,.booking-modal .staff-card.staff-card-active .staff-role,.booking-modal .staff-card.staff-card-active p{color:var(--ink-soft)}.booking-modal .staff-card.staff-card-active strong{color:var(--ink)}.booking-modal .date-card.date-card-active{z-index:1;border:var(--booking-select-border);background:var(--booking-select-bg);color:var(--ink);box-shadow:var(--booking-select-shadow);padding-right:48px}.booking-modal .date-card.date-card-active:before{content:"";background:var(--booking-select-bar);pointer-events:none;border-radius:0 4px 4px 0;width:4px;position:absolute;top:12px;bottom:12px;left:0}.booking-modal .date-card.date-card-active:after{content:"";background-color:var(--ink);background-image:var(--booking-check-svg);background-position:50%;background-repeat:no-repeat;background-size:16px 16px;border-radius:999px;width:28px;height:28px;position:absolute;top:50%;right:14px;translate:0 -50%;box-shadow:0 2px 8px #18141033}.booking-modal .date-card.date-card-active strong{color:var(--ink)}.booking-modal .date-card.date-card-active span{color:var(--ink-soft)}.booking-modal .slot-pill.slot-pill-active{z-index:1;border:var(--booking-select-border);background:var(--booking-select-bg);color:var(--ink);box-shadow:var(--booking-select-shadow);padding:16px 28px 12px 12px}.booking-modal .slot-pill.slot-pill-active:before{content:"";background:var(--booking-select-bar);pointer-events:none;border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.booking-modal .slot-pill.slot-pill-active:after{content:"";background-color:var(--ink);background-image:var(--booking-check-svg);background-position:50%;background-repeat:no-repeat;background-size:11px 11px;border-radius:999px;width:20px;height:20px;position:absolute;top:5px;right:6px;box-shadow:0 1px 4px #1814102e}.booking-modal .staff-card:focus-visible,.booking-modal .date-card:focus-visible,.booking-modal .slot-pill:focus-visible,.booking-modal .pill:focus-visible{outline-offset:2px;outline:2px solid #d977068c}.booking-modal .field-grid{grid-template-columns:1fr;gap:14px}.booking-modal .field input,.booking-modal .field textarea{background:var(--modal-elevated);border-radius:14px;padding:14px 16px;font-size:16px}.booking-modal .review-card,.booking-modal .confirmation-card{background:var(--modal-elevated);border-radius:16px;padding:18px}.booking-modal .review-row{padding:10px 0;font-size:14px}.booking-modal .review-row strong{font-size:14px;font-weight:600}@media (min-width:720px){.booking-modal-backdrop{align-items:center;padding:20px}.booking-modal{border-radius:22px;max-height:min(88dvh,820px)}.booking-modal .date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-modal .slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.reviews-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:34px;display:grid}.label{border:1px solid var(--line);background:#ffffff52;border-radius:24px;padding:26px}.label strong,.review-author strong{margin-bottom:8px;display:block}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-card{padding:26px}.review-stars{letter-spacing:4px;margin-bottom:14px}.visit-grid{grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr)}.visit-info{gap:22px;display:grid}.info-block{border-bottom:1px solid var(--line);padding-bottom:20px}.info-content{margin-top:12px}.hours-list{gap:10px;margin-top:12px;display:grid}.hours-row{justify-content:space-between;gap:20px;display:flex}.map-wrap{flex-direction:column;gap:12px;width:100%;display:flex}.map-frame{aspect-ratio:1;background:var(--cream-2);width:100%;max-width:min(100%,520px);box-shadow:0 0 0 1px var(--line);border-radius:22px;margin-inline:auto;position:relative;overflow:hidden}.map-frame--empty .map-placeholder{border-radius:inherit;min-height:0;position:absolute;inset:0}.visit-map-iframe{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.visit-map-link{color:var(--marigold-deep);border-bottom:1px solid #0000;align-self:flex-start;padding:6px 2px;font-size:14px;font-weight:600;text-decoration:none}.visit-map-link:hover{color:var(--sindoor);border-bottom-color:#b0271c59}.map-placeholder{text-align:center;border:1px solid var(--line);background:#ffffff59;border-radius:22px;place-items:center;padding:28px;display:grid}.cta-band{text-align:center;padding:90px 0 110px}.cta-band p{max-width:560px;color:var(--ink-soft);margin:14px auto 30px}.footer{border-top:1px solid var(--line);padding:26px 0 50px}.footer-shell{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.footer-brand{font-family:var(--font-serif), serif;color:var(--ink)}.sticky-book{z-index:25;display:none;position:fixed;bottom:18px;right:18px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width:1120px){.booking-grid,.hero-grid,.about-grid,.visit-grid,.section-head,.reviews-meta,.review-grid{grid-template-columns:1fr}.hero-visual{min-height:420px}.summary-card{position:static}.staff-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-row{grid-template-columns:70px minmax(0,1fr)}.service-desc,.service-price,.service-select{grid-column:2}}@media (max-width:760px){body{font-size:16px}.menu-toggle{display:inline-flex}.nav-links{border:1px solid var(--line);background:#f5efe3fa;border-radius:20px;flex-direction:column;align-items:flex-start;gap:14px;padding:18px;display:none;position:absolute;top:calc(100% + 10px);left:20px;right:20px}.nav-links-open{display:flex}.nav-cta{display:none}.hero{padding:56px 0 72px}.hero-visual{min-height:320px}.hero-card-primary{width:72%;height:74%}.hero-card-secondary{width:56%;min-height:200px}.section{padding:78px 0}.booking-panel,.summary-card,.heritage-card,.review-card,.confirmation-card{padding:22px}.staff-card-grid,.date-grid,.field-grid{grid-template-columns:1fr}.review-actions>*{justify-content:center;width:100%}.stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.slot-pill,.service-card{width:100%}.service-card,.date-card{flex-direction:column;align-items:flex-start}.sticky-book{display:inline-flex}}
