@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Italiana&display=swap";
:root{--ink:#171512;--paper:#f7f4ee;--cream:#eee9df;--line:#d9d3c8;--muted:#716c63;--serif:"Italiana",serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98}em{font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.brand-logo{width:52px;height:auto;display:block}.logo-on-dark{filter:invert()}.section{padding:9rem max(6vw,2rem)}.eyebrow{letter-spacing:.24em;margin-bottom:2rem;font-size:.68rem;font-weight:500}.eyebrow.light{color:#ded8ce}.button{letter-spacing:.13em;text-transform:uppercase;justify-content:center;align-items:center;min-height:52px;padding:0 1.7rem;font-size:.72rem;display:inline-flex}.dark-button{background:var(--ink);color:#fff}.light-button{color:var(--ink);background:#f7f4ee}.text-link{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:.7rem;padding-bottom:.25rem;font-size:.75rem;display:inline-flex}.reveal{opacity:0;transition:opacity .85s,transform .85s;transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transition:none;transform:none}}@media (max-width:700px){.section{padding:6rem 1.35rem}}
.btn{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;width:fit-content;padding:1rem 2.5rem;font-size:.9rem;font-weight:400;transition:all .4s;display:inline-flex}.btn-solid{background-color:var(--dark-bg);color:#fff}.btn-solid:hover{background-color:#333}.btn-outline{color:var(--primary-text);border-color:var(--primary-text);background-color:#0000}.btn-outline:hover{background-color:var(--dark-bg);color:#fff}.btn-outline-light{color:#fff;background-color:#0000;border-color:#fff}.btn-outline-light:hover{color:var(--dark-bg);background-color:#fff}.btn-bare{background:0 0;border:none;border-bottom:1px solid;padding:0 0 4px}.btn-bare:hover{opacity:.6}
.site-header{z-index:20;transition:all .35s;position:fixed;inset:0 0 auto}.site-header.solid{border-bottom:1px solid var(--line);background:#f7f4eef5}.nav-inner{align-items:center;gap:3rem;max-width:1600px;height:88px;margin:auto;padding:0 max(4vw,1.3rem);display:flex}.wordmark{align-items:center;display:flex}.wordmark .brand-logo{width:46px}.over-hero .wordmark .brand-logo{filter:invert()}.nav-links{gap:2.4rem;margin-left:auto;display:flex}.nav-links a{letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;position:relative}.nav-links a:after{content:"";border-bottom:1px solid;transition:all .25s;position:absolute;bottom:-7px;left:0;right:100%}.nav-links a:hover:after,.nav-links a.active:after{right:0}.nav-book{letter-spacing:.12em;text-transform:uppercase;border:1px solid;padding:.75rem 1rem;font-size:.66rem}.over-hero{color:#fff}.over-hero .nav-book{border-color:#fff}.menu-toggle{color:inherit;background:0 0;border:0;display:none}.mobile-nav{background:var(--paper);color:var(--ink);font-family:var(--serif);flex-direction:column;gap:1.4rem;padding:2rem;font-size:1.6rem;display:flex}.mobile-nav a:last-child{font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;text-align:center;border:1px solid;padding:1rem;font-size:.75rem}@media (max-width:850px){.nav-links,.nav-book{display:none}.menu-toggle{margin-left:auto;display:block}.nav-inner{height:72px}}
.footer{color:#eee9df;background:#171512;padding:6rem max(6vw,1.5rem) 2rem}.footer-top{grid-template-columns:1.2fr 1fr;gap:6rem;display:grid}.footer-logo{filter:invert();width:58px}.footer-note{color:#9e988e;max-width:390px;font-family:var(--serif);margin-top:2rem;font-size:1.4rem;line-height:1.35}.footer-nav{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.footer-nav div{flex-direction:column;gap:.7rem;display:flex}.footer-nav small{color:#777168;letter-spacing:.18em;margin-bottom:.7rem;font-size:.61rem}.footer-nav a{font-size:.78rem}.footer-bottom{color:#777168;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #393630;justify-content:space-between;margin-top:6rem;padding-top:1.5rem;font-size:.65rem;display:flex}@media (max-width:720px){.footer-top{grid-template-columns:1fr}.footer-nav{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-direction:column;gap:1rem}}
.hero{color:#fff;align-items:center;height:100svh;min-height:720px;padding:8rem max(8vw,1.4rem) 4rem;display:flex;position:relative;overflow:hidden}.hero-image{background:linear-gradient(90deg,#12100ea3,#12100e0f),url(/images/hero2.png) 50% 28%/cover;position:absolute;inset:0;transform:scale(1.01)}.hero-copy{z-index:1;max-width:760px;position:relative}.hero h1{letter-spacing:-.035em;font-size:clamp(4.3rem,8.3vw,8.8rem)}.hero h1 em{font-size:.63em}.hero-intro{color:#dedbd5;max-width:520px;margin:2.4rem 0 2.6rem;font-size:.95rem;font-weight:300}.hero-ctas{align-items:center;gap:2rem;display:flex}.light-link{color:#fff}.scroll-cue{z-index:2;letter-spacing:.18em;gap:.7rem;font-size:.58rem;display:flex;position:absolute;bottom:2.2rem;right:3rem}.intro-section{background:var(--paper)}.intro-grid{grid-template-columns:1.3fr .7fr;gap:10vw;display:grid}.intro-grid h2,.editorial-copy h2,.occasion h2,.reviews h2{letter-spacing:-.03em;font-size:clamp(3rem,5.5vw,6.4rem)}.intro-grid h2 em,.editorial-copy h2 em,.occasion h2 em,.reviews h2 em,.closing-copy h2 em{font-size:.72em}.intro-grid>div{padding-top:1rem}.intro-grid p{color:var(--muted);margin-bottom:1.2rem;font-size:.95rem}.intro-grid .text-link{margin-top:1.5rem}.service-editorial{background:var(--cream);grid-template-columns:1fr 1fr;min-height:850px;display:grid}.editorial-image{min-height:680px}.editorial-image img{object-fit:cover;filter:saturate(.55);width:100%;height:100%}.editorial-copy{align-self:center;padding:8rem max(7vw,3rem)}.editorial-copy h2{margin-bottom:4rem}.mini-service{border-top:1px solid var(--line);grid-template-columns:35px 1fr auto;align-items:start;gap:1rem;padding:1.5rem 0;display:grid}.mini-service>span,.mini-service p{color:var(--muted);font-size:.7rem}.mini-service h3{margin-bottom:.3rem;font-size:1.4rem}.mini-service strong{letter-spacing:.08em;font-size:.7rem}.editorial-copy .button{margin-top:2.5rem}.occasion{background:#cbc2b5}.occasion-head{justify-content:space-between;align-items:start;display:flex}.occasion-head .eyebrow{min-width:25%}.occasion-words{font-family:var(--serif);border-top:1px solid #a9a094;justify-content:space-between;margin-top:7rem;padding-top:1.5rem;font-size:1.15rem;display:flex}.reviews-head{grid-template-columns:.55fr 1fr;display:grid}.review-grid{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:6rem;display:grid}.review-card{background:var(--paper);padding:3rem}.review-card>div{gap:.2rem;display:flex}.review-card blockquote{font-family:var(--serif);margin:2rem 0 3rem;font-size:1.55rem;line-height:1.45}.review-card p{letter-spacing:.14em;font-size:.65rem}.closing-cta{color:#fff;align-items:center;min-height:760px;padding:6rem max(8vw,2rem);display:flex;position:relative}.closing-image{background:linear-gradient(90deg,#0e0d0cad,#0e0d0c26),url(/images/gallery_2.png) 50%/cover;position:absolute;inset:0}.closing-copy{max-width:650px;position:relative}.closing-copy h2{font-size:clamp(4rem,7vw,7rem)}.closing-copy p{color:#d5d0c8;max-width:430px;margin:2rem 0}.closing-copy .button{margin-top:1rem}@media (max-width:800px){.intro-grid,.service-editorial,.reviews-head{grid-template-columns:1fr}.intro-grid{gap:3rem}.service-editorial{min-height:auto}.editorial-image{min-height:500px}.editorial-copy{padding:5rem 1.4rem}.occasion-head{display:block}.occasion-words{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.review-grid{grid-template-columns:1fr}.hero-ctas{flex-direction:column;align-items:flex-start}.scroll-cue{display:none}}
.page-hero{background:#d9d0c4;padding:12rem max(8vw,1.5rem) 7rem}.page-hero h1{font-size:clamp(4rem,8vw,8rem)}.page-hero>p:last-child{color:#5f5a53;max-width:480px;margin:2.5rem 0 0 auto}.services-list{padding-top:4rem}.service-row{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr 200px;align-items:center;gap:2rem;padding:3.2rem 0;display:grid}.service-index{letter-spacing:.15em;color:var(--muted);font-size:.65rem}.service-row h2{font-size:clamp(2rem,3.4vw,4rem)}.service-row p{color:var(--muted);max-width:600px;margin:.8rem 0}.service-row small{letter-spacing:.15em;font-size:.58rem}.service-price{justify-content:flex-end;align-items:center;gap:2rem;display:flex}.service-price strong{font-family:var(--serif);font-size:1.4rem;font-weight:400}.service-price a{border:1px solid var(--ink);place-items:center;width:50px;height:50px;transition:all .2s;display:grid}.service-price a:hover{background:var(--ink);color:#fff}.service-note{background:var(--ink);color:#fff;text-align:center;padding:8rem max(12vw,2rem)}.service-note h2{font-size:clamp(3.6rem,7vw,7rem)}.service-note>p:not(.eyebrow){color:#aaa49a;max-width:560px;margin:2rem auto}.service-note .button{margin-top:1.5rem}@media (max-width:700px){.service-row{grid-template-columns:35px 1fr}.service-price{grid-column:2;justify-content:space-between}.page-hero>p:last-child{margin-left:0}}
.about-intro{background:#d7cec2;grid-template-columns:1fr 1fr;min-height:880px;padding-top:88px;display:grid}.about-intro-copy{flex-direction:column;justify-content:center;padding:8rem max(7vw,2rem);display:flex}.about-intro h1{letter-spacing:-.04em;font-size:clamp(4rem,7vw,7.8rem)}.about-intro h1 em{font-size:.72em}.about-intro-copy>p:last-child{color:#625d55;max-width:470px;margin-top:2.5rem}.about-intro-image{margin:3rem 3rem 3rem 0;overflow:hidden}.about-intro-image img{object-fit:cover;filter:saturate(.7);width:100%;height:100%}.about-story-grid{grid-template-columns:1.1fr .75fr;gap:10vw;display:grid}.about-story h2,.about-process h2{letter-spacing:-.035em;font-size:clamp(3.3rem,6vw,6.8rem)}.about-story h2 em,.about-process h2 em{font-size:.72em}.about-story-grid>div{padding-top:1rem}.about-story-grid p{color:var(--muted);margin-bottom:1.35rem}.about-story-grid .about-lead{font-family:var(--serif);color:var(--ink);font-size:1.65rem;line-height:1.4}.about-quote{color:#fff;align-items:end;min-height:760px;padding:7rem max(8vw,2rem);display:flex;position:relative}.about-quote-image{filter:grayscale(.35);background:linear-gradient(90deg,#100e0dbf,#100e0d33),url(/images/hero.png) 50% 35%/cover;position:absolute;inset:0}.about-quote-copy{max-width:900px;position:relative}.about-quote blockquote{font-family:var(--serif);font-size:clamp(3rem,5.6vw,6rem);line-height:1.08}.about-process-head{grid-template-columns:.45fr 1fr;display:grid}.about-values{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:6rem;display:grid}.about-values article{background:var(--paper);padding:3.2rem}.about-values span{letter-spacing:.16em;color:var(--muted);font-size:.62rem}.about-values h3{margin:2.5rem 0 1rem;font-size:2rem}.about-values p{color:var(--muted);font-size:.86rem}.about-cta{background:var(--ink);color:#fff;text-align:center;padding:9rem max(10vw,2rem)}.about-cta h2{font-size:clamp(3.7rem,7vw,7rem)}.about-cta h2 em{font-size:.72em}.about-cta>div{justify-content:center;align-items:center;gap:2rem;margin-top:3rem;display:flex}@media (max-width:850px){.about-intro{grid-template-columns:1fr;padding-top:72px}.about-intro-copy{padding:7rem 1.4rem 4rem}.about-intro-image{height:570px;margin:0 1.4rem 1.4rem}.about-story-grid,.about-process-head{grid-template-columns:1fr;gap:3rem}.about-values{grid-template-columns:1fr}.about-quote{min-height:620px}.about-cta>div{flex-direction:column}}@media (max-width:520px){.about-intro{min-height:auto}.about-intro-image{height:440px}.about-values article{padding:2.2rem}.about-cta{padding:7rem 1.4rem}}
.gallery-hero{background:#d9d0c4;padding:12rem max(8vw,1.5rem) 7rem}.gallery-hero h1{font-size:clamp(4rem,8vw,8rem)}.gallery-hero>p:last-child{max-width:450px;color:var(--muted);margin:2rem 0 0 auto}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem;display:grid}.gallery-item{aspect-ratio:4/5;cursor:pointer;background:0 0;border:0;overflow:hidden}.gallery-item:nth-child(3n+2){aspect-ratio:1/1.25}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.gallery-item:hover img{transform:scale(1.035)}.lightbox{z-index:100;opacity:0;pointer-events:none;background:#0f0e0df2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox.active{opacity:1;pointer-events:auto}.lightbox img{object-fit:contain;max-width:90vw;max-height:88vh}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:0;position:absolute;top:2rem;right:2rem}@media (max-width:700px){.gallery-grid{grid-template-columns:1fr 1fr;gap:.45rem;padding:.45rem}.gallery-hero>p:last-child{margin-left:0}}
.contact-page{background:var(--paper)}.contact-hero{background:#d9d0c5;grid-template-columns:1.15fr .55fr;align-items:end;gap:7vw;min-height:620px;padding:12rem max(7vw,2rem) 6rem;display:grid;position:relative;overflow:hidden}.contact-hero:after{content:"";border:1px solid #17151224;border-radius:50%;width:38vw;height:38vw;position:absolute;top:-14vw;right:-8vw}.contact-hero-copy,.contact-hero-intro{z-index:1;position:relative}.contact-hero h1{letter-spacing:-.045em;font-size:clamp(4.7rem,8vw,9rem)}.contact-hero h1 em{font-size:.72em}.contact-hero-intro{color:#5e5952;max-width:460px;margin-bottom:1rem;font-size:1.08rem}.contact-main{grid-template-columns:.72fr 1.28fr;align-items:start;gap:9vw;display:grid}.contact-details{position:sticky;top:130px}.contact-details h2{letter-spacing:-.035em;font-size:clamp(3rem,5vw,5.5rem)}.contact-details h2 em{font-size:.74em}.contact-details-copy{color:var(--muted);max-width:470px;margin:2.2rem 0 3.2rem}.contact-facts{border-top:1px solid var(--line)}.contact-facts>div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:1.5rem;padding:1.35rem 0;display:grid}.contact-facts dt{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.63rem;font-weight:500}.contact-facts dd{font-size:.9rem;line-height:1.55}.contact-direct-booking{margin-top:3rem}.contact-direct-booking>p{font-family:var(--serif);margin-bottom:1rem;font-size:1.35rem}.contact-form-card{background:var(--cream);padding:clamp(2rem,5vw,5rem)}.contact-form{grid-template-columns:1fr 1fr;gap:1.8rem 2rem;display:grid}.contact-form-heading,.contact-field-wide,.contact-submit,.contact-form-note{grid-column:1/-1}.contact-form-heading{border-bottom:1px solid var(--line);padding-bottom:1.5rem}.contact-form-heading .eyebrow{margin-bottom:1rem}.contact-form-heading h2{font-size:clamp(2.7rem,4vw,4.2rem)}.contact-field label{letter-spacing:.14em;text-transform:uppercase;margin-bottom:.65rem;font-size:.64rem;font-weight:500;display:block}.contact-field label small{font-size:inherit;color:var(--muted);font-weight:400}.contact-field input,.contact-field select,.contact-field textarea{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-bottom:1px solid #bdb5a9;border-radius:0;outline:none;padding:.8rem 0 1rem;font-size:.92rem;transition:border-color .2s}.contact-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 13px),calc(100% - 8px);background-repeat:no-repeat;background-size:5px 5px}.contact-field textarea{resize:vertical;min-height:130px}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-bottom-color:var(--ink)}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#938d84}.contact-submit{background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.75rem;min-height:58px;margin-top:.5rem;font-size:.68rem;display:flex}.contact-form-note{color:var(--muted);margin-top:-.8rem;font-size:.7rem;line-height:1.5}.contact-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:510px;min-height:560px;margin:auto;display:flex}.contact-success>span{border:1px solid var(--line);border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:2rem;display:grid}.contact-success .eyebrow{margin-bottom:1.2rem}.contact-success h2{font-size:clamp(3.5rem,6vw,6rem)}.contact-success>p:not(.eyebrow){color:var(--muted);margin:1.5rem 0 2rem}.contact-reset{text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:.4rem 0;font-size:.68rem}.contact-booking-strip{background:var(--ink);color:#fff;text-align:center;padding:8rem max(5vw,1.4rem)}.contact-booking-strip h2{margin-bottom:3rem;font-size:clamp(3.2rem,6vw,6.3rem)}.contact-booking-strip h2 em{font-size:.72em}@media (max-width:900px){.contact-hero{grid-template-columns:1fr;gap:3rem;min-height:690px;padding-top:10rem}.contact-hero-intro{margin:0}.contact-main{grid-template-columns:1fr;gap:5rem}.contact-details{position:static}.contact-form-card{padding:3rem 2rem}}@media (max-width:600px){.contact-hero{min-height:600px;padding:9rem 1.35rem 4rem}.contact-hero h1{font-size:4.3rem}.contact-form{grid-template-columns:1fr}.contact-field{grid-column:1/-1}.contact-form-card{padding:2.4rem 1.3rem}.contact-facts>div{grid-template-columns:100px 1fr}.contact-booking-strip{padding:6.5rem 1.35rem}}
.booking-page{background:var(--paper);grid-template-columns:38% 62%;min-height:100vh;display:grid}.booking-page~*{display:none}.booking-aside{color:#fff;background:#24211e;flex-direction:column;justify-content:space-between;min-height:100vh;padding:3.2rem max(4vw,2rem);display:flex;position:sticky;top:0}.booking-aside:before{content:"";filter:grayscale();opacity:.55;background:linear-gradient(#151311b8,#151311d1),url(/images/gallery_1.png) 50%/cover;position:absolute;inset:0}.booking-aside>*{position:relative}.booking-logo{letter-spacing:.24em;font-size:.76rem}.booking-logo span{letter-spacing:.45em;font-size:.54rem;display:block}.booking-aside h1{font-size:clamp(4rem,6vw,7rem)}.booking-aside>div>p:not(.eyebrow){color:#c3bdb4;max-width:380px;margin-top:2rem;font-size:.85rem}.booking-aside>small{letter-spacing:.18em;font-size:.58rem}.booking-main{flex-direction:column;padding:3.5rem max(7vw,3rem);display:flex}.booking-progress{letter-spacing:.17em;color:var(--muted);justify-content:space-between;align-items:center;font-size:.59rem;display:flex}.booking-progress>div{gap:4px;display:flex}.booking-progress i{border-top:2px solid var(--line);width:36px;display:block}.booking-progress i.active{border-color:var(--ink)}.booking-step{width:100%;max-width:760px;margin:auto;padding:4rem 0}.booking-step h2{margin-bottom:3rem;font-size:clamp(3rem,5vw,5.5rem)}.booking-services{border-top:1px solid var(--line)}.booking-services button{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);appearance:none;-webkit-tap-highlight-color:#17151214;text-align:left;cursor:pointer;background:0 0;grid-template-columns:1fr 70px 25px;align-items:center;padding:1.3rem .3rem;display:grid}.booking-services button:hover{background:#f0ebe3;padding-left:1rem}.booking-services strong{font-family:var(--serif);font-size:1.4rem;font-weight:400}.booking-services span{color:var(--muted);align-items:center;gap:.4rem;margin-top:.2rem;font-size:.68rem;display:flex}.booking-services b{font-size:.75rem;font-weight:500}.back{letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;margin-bottom:3rem;font-size:.68rem;display:flex}.selection-summary{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:2.5rem;display:grid}.selection-summary div{border-right:1px solid var(--line);flex-direction:column;padding:1.1rem;display:flex}.selection-summary div:last-child{border:0}.selection-summary small,.review-booking small{letter-spacing:.15em;color:var(--muted);font-size:.55rem}.selection-summary strong{font-family:var(--serif);font-size:1.15rem;font-weight:400}.date-field,.details-form label{letter-spacing:.16em;flex-direction:column;gap:.6rem;font-size:.59rem;display:flex}.date-field input,.details-form input,.details-form textarea{border:0;border-bottom:1px solid var(--ink);letter-spacing:normal;background:0 0;outline:0;padding:.9rem 0}.available-title{letter-spacing:.16em;margin:2rem 0 1rem;font-size:.58rem}.time-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.time-grid button{border:1px solid var(--line);cursor:pointer;background:0 0;padding:.85rem}.time-grid button.selected{background:var(--ink);color:#fff}.continue{background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.8rem;width:100%;min-height:54px;margin-top:2rem;font-size:.65rem;display:flex}.continue:disabled{opacity:.3}.details-form>div{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.details-form{flex-direction:column;gap:2rem;display:flex}.details-form textarea{resize:vertical;min-height:90px}.review-booking{border-top:1px solid var(--line)}.review-booking>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;padding:1.5rem 0;display:grid}.review-booking strong{font-family:var(--serif);font-size:1.25rem;font-weight:400}.review-booking span{color:var(--muted);font-size:.8rem}.review-booking .total strong{font-size:2rem}.terms-check{align-items:start;gap:.7rem;margin-top:2rem;font-size:.75rem;display:flex}.terms-check a{text-decoration:underline}.secure-note{text-align:center;color:var(--muted);margin-top:1rem;font-size:.65rem}.confirmed{text-align:center}.check-circle{border:1px solid var(--ink);border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 2rem;display:grid}.confirmed>p{max-width:540px;color:var(--muted);margin:-1rem auto 2rem}.confirmation-ticket{border:1px solid var(--line);flex-direction:column;align-items:center;padding:2rem;display:flex}.confirmation-ticket strong{font-family:var(--serif);font-size:3.5rem;font-weight:400}.confirmation-ticket span{letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}@media (max-width:850px){.booking-page{display:block}.booking-aside{min-height:430px;padding:2rem 1.4rem;position:relative}.booking-aside h1{font-size:4rem}.booking-main{padding:2rem 1.4rem}.booking-step{padding:4rem 0}.details-form>div,.selection-summary{grid-template-columns:1fr}.selection-summary div{border-right:0;border-bottom:1px solid var(--line)}.time-grid{grid-template-columns:repeat(3,1fr)}.review-booking>div{grid-template-columns:1fr;gap:.3rem}}
.admin-shell{color:#25221e;background:#f4f1eb;grid-template-columns:250px 1fr;min-height:100vh;display:grid}.admin-sidebar{color:#cfc9bf;z-index:30;background:#1d1b18;flex-direction:column;height:100vh;padding:2rem 1.2rem;display:flex;position:sticky;top:0}.admin-brand{letter-spacing:.2em;color:#fff;padding:.5rem .7rem 3rem;font-size:.77rem}.admin-brand span{letter-spacing:.43em;font-size:.55rem;display:block}.admin-brand small{color:#756f66;margin-top:1rem;font-size:.5rem;display:block}.admin-sidebar nav{flex-direction:column;gap:.3rem;display:flex}.admin-sidebar button{color:#918b82;text-align:left;cursor:pointer;letter-spacing:.05em;background:0 0;border:0;align-items:center;gap:.8rem;padding:.85rem .8rem;font-size:.75rem;display:flex}.admin-sidebar nav button.active,.admin-sidebar nav button:hover{color:#fff;background:#302d28}.admin-exit{margin-top:auto!important}.admin-main{min-width:0}.admin-topbar{background:#faf8f4;border-bottom:1px solid #ddd7cd;justify-content:space-between;align-items:center;height:76px;padding:0 2.5rem;display:flex}.admin-topbar p{letter-spacing:.18em;color:#888177;font-size:.52rem}.admin-topbar strong{font-family:var(--serif);font-size:1.1rem;font-weight:400}.admin-avatar{color:#fff;letter-spacing:.08em;background:#25221e;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.62rem;display:grid}.admin-menu{display:none}.admin-content{max-width:1500px;margin:auto;padding:3rem}.admin-title{justify-content:space-between;align-items:end;margin-bottom:2.5rem;display:flex}.admin-title p{letter-spacing:.2em;color:#938c81;font-size:.56rem}.admin-title h1{font-size:3.2rem}.sync-state{color:#777168;align-items:center;gap:.5rem;font-size:.62rem;display:flex}.sync-state i{background:#6f8b68;border-radius:50%;width:7px;height:7px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem;display:grid}.stat-grid article,.admin-panel{background:#fcfbf8;border:1px solid #e1dbd1}.stat-grid article{padding:1.5rem}.stat-grid small,.panel-head small{letter-spacing:.16em;color:#918a80;font-size:.54rem}.stat-grid strong{font-family:var(--serif);margin:.5rem 0;font-size:2.5rem;font-weight:400;display:block}.stat-grid span{color:#8b847a;font-size:.65rem}.admin-panel{padding:1.7rem}.panel-head{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.panel-head h2{margin-top:.25rem;font-size:1.8rem}.panel-head>button,.upload-btn,.block-date button,.add-service form>button{color:#fff;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#282520;border:1px solid #282520;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.62rem;display:flex}.panel-head>span{color:#817a70;font-size:.7rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th{text-align:left;letter-spacing:.14em;color:#928b81;border-bottom:1px solid #ddd7cd;padding:.8rem;font-size:.53rem}td{border-bottom:1px solid #eee9e0;padding:1rem .8rem;font-size:.72rem}td strong,td small{display:block}td small{color:#928b81;margin-top:.2rem}.status{text-transform:uppercase;letter-spacing:.08em;color:#53634e;background:#e5eadf;border-radius:2rem;padding:.3rem .55rem;font-size:.55rem;display:inline-block}.status.cancelled{color:#805c52;background:#eee3df}.icon-action{cursor:pointer;background:0 0;border:1px solid #d8d1c6;place-items:center;width:30px;height:30px;display:grid}.empty-state{text-align:center;color:#948d83;padding:4rem}.empty-state svg{margin-bottom:1rem}.empty-state h3{color:#403c36;font-size:1.5rem}.empty-state p{font-size:.75rem}.admin-two-col{grid-template-columns:1.2fr .8fr;gap:1rem;display:grid}.hours-row{border-bottom:1px solid #ede8df;grid-template-columns:38px 1fr 110px 25px 110px;align-items:center;gap:.7rem;padding:1rem 0;font-size:.73rem;display:grid}.hours-row input[type=time],.block-date input{background:#fff;border:1px solid #dcd5ca;padding:.6rem}.hours-row em{color:#a39b90;grid-column:3/6;font-size:.7rem}.switch input{display:none}.switch i{cursor:pointer;background:#c9c2b7;border-radius:10px;width:32px;height:18px;display:block;position:relative}.switch i:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+i{background:#455246}.switch input:checked+i:after{left:17px}.block-date{gap:.5rem;display:flex}.blocked-list{margin-top:1rem}.blocked-list>p,.upload-note{color:#918a80;font-size:.7rem}.blocked-list>div{border-bottom:1px solid #ede8df;justify-content:space-between;align-items:center;padding:.8rem 0;font-size:.7rem;display:flex}.blocked-list button{cursor:pointer;background:0 0;border:0}.admin-service-list article{border-bottom:1px solid #e8e2d8;grid-template-columns:1fr auto;gap:1rem;padding:1.2rem 0;display:grid}.admin-service-list input,.admin-service-list textarea,.add-service input,.add-service textarea,.admin-gallery input{background:#fff;border:1px solid #ddd6cb;width:100%;padding:.65rem}.admin-service-list>article>div:first-child input{font-family:var(--serif);font-size:1.2rem}.admin-service-list textarea{resize:vertical;color:#6f6960;margin-top:.4rem}.service-controls{align-items:end;gap:.6rem;display:flex}.service-controls label,.add-service label{letter-spacing:.12em;color:#847d73;font-size:.52rem}.service-controls label:first-child{width:100px}.service-controls input[type=checkbox]{width:auto}.service-controls button{cursor:pointer;background:0 0;border:0;padding:.7rem}.add-service form{flex-direction:column;gap:1rem;display:flex}.add-service form label{flex-direction:column;gap:.4rem;display:flex}.add-service form>div{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.add-service textarea{resize:vertical;min-height:100px}.add-service .enquiry-toggle{flex-direction:row;align-items:center}.add-service form>button{justify-content:center}.upload-btn input{display:none}.upload-note{margin-top:-.7rem;margin-bottom:1.5rem}.admin-gallery{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.admin-gallery article{background:#fff;border:1px solid #e0d9cf}.admin-gallery img{aspect-ratio:1;object-fit:cover;width:100%}.admin-gallery article>div{padding:.5rem;display:flex}.admin-gallery input{border:0;min-width:0}.admin-gallery button{cursor:pointer;background:0 0;border:0}.admin-menu{background:0 0;border:0}@media (max-width:1050px){.stat-grid{grid-template-columns:1fr 1fr}.admin-two-col{grid-template-columns:1fr}.admin-gallery{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.admin-shell{display:block}.admin-sidebar{width:250px;transition:all .25s;position:fixed;left:-260px}.admin-sidebar.open{left:0}.admin-topbar{padding:0 1rem}.admin-menu{display:block}.admin-content{padding:1.5rem 1rem}.admin-title h1{font-size:2.5rem}.sync-state{display:none}.stat-grid,.admin-gallery{grid-template-columns:1fr 1fr}.hours-row{grid-template-columns:35px 1fr 1fr 20px 1fr}.services-admin{display:block}.services-admin>.admin-panel{margin-bottom:1rem}.admin-service-list article{grid-template-columns:1fr}.service-controls{align-items:center}}
.about-quote-image{background-image:linear-gradient(90deg,#100e0dbf,#100e0d33),url(/images/hero2.png)}.closing-image{background-image:linear-gradient(90deg,#0e0d0cad,#0e0d0c26),url(/images/gallery_1.png)}.selection-summary.enquiry-summary{grid-template-columns:1fr 1fr}.review-booking .total strong{font-size:clamp(1.35rem,2.5vw,2rem)}.status.enquiry{color:#75623e;background:#eee4cf}.booking-error{color:#774c42;background:#f1e3df;margin-top:1rem;padding:.9rem 1rem;font-size:.86rem;line-height:1.5}.contact-form-error{color:#774c42;background:#f1e3df;grid-column:1/-1;padding:.9rem 1rem;font-size:.86rem;line-height:1.5}.contact-submit:disabled{opacity:.55;cursor:wait}.admin-data-error{color:#774c42;background:#f1e3df;margin-bottom:1rem;padding:.9rem 1rem;font-size:.86rem}.admin-saving{color:#75623e;margin:-1rem 0 1rem;font-size:.78rem}.booking-actions{gap:.35rem;display:flex}@media (max-width:850px){.selection-summary.enquiry-summary{grid-template-columns:1fr}}
.admin-login-page{background:var(--paper);grid-template-columns:1fr 1fr;min-height:100svh;display:grid}.admin-login-brand{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;padding:3rem max(5vw,2rem);display:flex;position:relative;overflow:hidden}.admin-login-brand:before{content:"";filter:grayscale();opacity:.72;background:linear-gradient(#110f0dad,#110f0ddb),url(/images/gallery_1.png) 50%/cover;position:absolute;inset:0}.admin-login-brand>*{position:relative}.admin-login-logo{letter-spacing:.24em;font-size:.76rem}.admin-login-logo span{letter-spacing:.45em;font-size:.54rem;display:block}.admin-login-brand h1{font-size:clamp(4rem,6vw,7rem)}.admin-login-brand>div>p:not(.eyebrow){color:#cbc5bb;max-width:420px;margin-top:2rem;font-size:.88rem}.admin-login-brand>small{letter-spacing:.18em;color:#c1bbb1;font-size:.56rem}.admin-login-panel{flex-direction:column;padding:3rem max(7vw,2rem);display:flex}.admin-login-back{letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.78rem;display:flex}.admin-login-box{width:100%;max-width:520px;margin:auto}.admin-lock{border:1px solid var(--line);border-radius:50%;place-items:center;width:54px;height:54px;margin-bottom:2rem;display:grid}.admin-login-box .eyebrow{letter-spacing:.2em;margin-bottom:1rem;font-size:.78rem}.admin-login-box h2{font-size:clamp(3.4rem,5vw,5.4rem)}.admin-login-copy{color:var(--muted);max-width:500px;margin:1.5rem 0 2.5rem;font-size:1.05rem;line-height:1.7}.admin-login-copy code,.admin-login-help code{background:var(--cream);color:var(--ink);padding:.15rem .35rem}.admin-login-form{flex-direction:column;gap:1.5rem;display:flex}.admin-login-form label{letter-spacing:.13em;flex-direction:column;gap:.7rem;font-size:.78rem;display:flex}.admin-login-form input{border:0;border-bottom:1px solid var(--ink);letter-spacing:normal;background:0 0;border-radius:0;outline:none;padding:1rem 0;font-size:1rem}.admin-login-form input:focus{border-bottom-width:2px}.admin-auth-button{background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.7rem;width:100%;min-height:60px;margin-top:.5rem;font-size:.78rem;display:flex}.admin-auth-button:disabled{opacity:.55;cursor:wait}.admin-auth-button.secondary{color:var(--ink);border:1px solid var(--ink);background:0 0;max-width:260px}.admin-auth-error{color:#774c42;background:#f1e3df;padding:.9rem 1rem;font-size:.88rem}.admin-login-help{color:var(--muted);margin-top:1.5rem;font-size:.86rem;line-height:1.65}@media (max-width:800px){.admin-login-page{grid-template-columns:1fr}.admin-login-brand{min-height:380px;padding:2rem 1.35rem}.admin-login-brand h1{font-size:4rem}.admin-login-panel{padding:2rem 1.35rem 5rem}.admin-login-box{margin:5rem auto 0}}.admin-exit{color:#918b82!important;align-items:center!important;gap:.8rem!important;width:100%!important;margin-top:auto!important;padding:.85rem .8rem!important;font-size:.75rem!important;display:flex!important}.admin-user-email{color:#918b82;margin-top:.1rem;font-size:.58rem;display:block}
.eyebrow{font-size:.78rem;line-height:1.5}.button,.text-link{font-size:.8rem}.wordmark{font-size:.9rem}.wordmark span{font-size:.66rem}.nav-links a{font-size:.78rem}.nav-book{font-size:.76rem}.mobile-nav a:last-child{font-size:.82rem}.footer-mark{font-size:.95rem}.footer-mark span{font-size:.7rem}.footer-nav small{font-size:.74rem}.footer-nav a{font-size:.9rem}.footer-bottom{font-size:.75rem;line-height:1.6}.scroll-cue{font-size:.72rem}.mini-service>span,.mini-service p{font-size:.82rem}.mini-service strong{font-size:.8rem}.review-card p{font-size:.76rem}.service-index{font-size:.78rem}.service-row small,.about-values span{font-size:.75rem}.about-values p{font-size:.96rem}.contact-facts dt{font-size:.75rem}.contact-facts dd{font-size:.98rem}.contact-field label{font-size:.76rem}.contact-field input,.contact-field select,.contact-field textarea{font-size:1rem}.contact-submit,.contact-reset{font-size:.78rem}.contact-form-note{font-size:.82rem}.booking-logo{font-size:.9rem}.booking-logo span{font-size:.66rem}.booking-aside>div>p:not(.eyebrow){font-size:.95rem;line-height:1.7}.booking-aside>small,.booking-progress{font-size:.72rem}.booking-services span{font-size:.78rem}.booking-services b{font-size:.82rem}.back{font-size:.78rem}.selection-summary small,.review-booking small{font-size:.72rem}.date-field,.details-form label{font-size:.75rem}.available-title{font-size:.72rem}.continue{font-size:.78rem}.review-booking span{font-size:.9rem}.terms-check{font-size:.86rem}.secure-note{font-size:.78rem;line-height:1.6}.confirmation-ticket span{font-size:.78rem}.admin-brand{font-size:.88rem}.admin-brand span,.admin-brand small{font-size:.66rem}.admin-sidebar button,.admin-exit{font-size:.82rem!important}.admin-topbar p{font-size:.68rem}.admin-topbar strong{font-size:1.2rem}.admin-user-email{font-size:.72rem}.admin-title p{font-size:.7rem}.sync-state{font-size:.76rem}.stat-grid small,.panel-head small{font-size:.7rem}.stat-grid span{font-size:.78rem}.panel-head>button,.upload-btn,.block-date button,.add-service form>button{font-size:.74rem}.panel-head>span{font-size:.78rem}th{font-size:.68rem}td{font-size:.82rem}.status{font-size:.68rem}.empty-state p{font-size:.84rem}.hours-row{font-size:.82rem}.hours-row em,.blocked-list>p,.upload-note,.blocked-list>div{font-size:.8rem}.service-controls label,.add-service label{font-size:.7rem}@media (max-width:700px){.nav-inner{padding-left:1.35rem;padding-right:1.35rem}.footer-nav a{font-size:.95rem}.booking-main{padding-left:1.35rem;padding-right:1.35rem}}
.legal-page{background:var(--paper);min-height:100vh}.legal-hero{background:#d9d0c5;grid-template-columns:.4fr 1fr auto;align-items:end;gap:3rem;padding:12rem max(9vw,1.4rem) 6rem;display:grid}.legal-hero .eyebrow{align-self:start}.legal-hero h1{font-size:clamp(4.5rem,8vw,8.5rem)}.legal-hero h1 em{font-size:.72em}.legal-hero>p:last-child{color:var(--muted);font-size:.9rem}.legal-content{max-width:920px;margin:auto;padding:7rem max(2rem,5vw) 9rem}.legal-content section{border-top:1px solid var(--line);grid-template-columns:250px 1fr;gap:3rem;padding:2.4rem 0;display:grid}.legal-content h2{font-size:1.8rem;line-height:1.15}.legal-content p{color:var(--muted);margin-bottom:1rem;line-height:1.8}.legal-content a{color:var(--ink);text-decoration:underline}@media (max-width:760px){.legal-hero{grid-template-columns:1fr;gap:1.5rem;padding-top:9rem}.legal-hero .eyebrow{align-self:auto}.legal-content{padding:5rem 1.35rem}.legal-content section{grid-template-columns:1fr;gap:1.2rem}}
