:root { --paper:#f1eadc; --ink:#1d211b; --wine:#6e1f2b; --green:#24392e; --gold:#aa8657; --muted:#736d62; --line:rgba(29,33,27,.25); --display:"Cormorant Garamond",serif; --serif:"Libre Caslon Text",serif; --sans:"DM Sans",sans-serif; --side:clamp(1.25rem,4vw,4.5rem); }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased} a{color:inherit} img{display:block;max-width:100%} button,input,textarea{font:inherit} :focus-visible{outline:2px solid var(--wine);outline-offset:4px}.skip-link{position:fixed;z-index:100;top:1rem;left:1rem;padding:.8rem 1rem;background:var(--ink);color:white;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{height:92px;padding:0 var(--side);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(241,234,220,.35);position:absolute;z-index:30;left:0;right:0;color:var(--paper)}.brand{display:flex;align-items:center;gap:1rem;width:fit-content;text-decoration:none}.monogram{width:2.7rem;height:2.7rem;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:500 .72rem var(--display)}.brand-name{font:500 1.15rem var(--display);letter-spacing:.03em}.brand-name small{display:block;margin-top:.2rem;font:400 .46rem var(--sans);text-transform:uppercase;letter-spacing:.16em}.site-nav{display:flex;gap:clamp(1.5rem,3vw,3.5rem)}.site-nav a,.header-cta{font:500 .58rem var(--sans);text-transform:uppercase;letter-spacing:.11em;text-decoration:none}.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-.5rem;height:1px;background:currentColor;transition:right .25s}.site-nav a:hover:after{right:0}.header-cta{justify-self:end;background:transparent;color:inherit;border:1px solid currentColor;padding:.9rem 1.15rem;cursor:pointer;transition:background .2s,color .2s}.header-cta:hover{background:var(--paper);color:var(--ink)}.menu-toggle{display:none;background:none;color:inherit;border:0;font:500 .6rem var(--sans);text-transform:uppercase}
.hero{min-height:100svh;position:relative;isolation:isolate;color:var(--paper);padding:120px var(--side) 2.2rem;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.hero-image{position:absolute;z-index:-3;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75) contrast(1.03);transform:scale(1.01)}.hero-overlay{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(10,14,11,.46),rgba(10,14,11,.06) 40%,rgba(10,14,11,.64)),linear-gradient(90deg,rgba(9,13,10,.34),transparent 60%)}.hero-meta{display:flex;justify-content:space-between;border-top:1px solid rgba(241,234,220,.45);padding-top:.8rem;font:500 .53rem var(--sans);text-transform:uppercase;letter-spacing:.13em}.hero-copy{align-self:center;text-align:center}.eyebrow,.section-kicker{font:500 .55rem var(--sans);text-transform:uppercase;letter-spacing:.17em}.hero h1{margin:2rem 0 1rem;font:400 clamp(6rem,14vw,14rem)/.7 var(--display);letter-spacing:-.06em}.hero h1 em{font-weight:400}.hero-subtitle{font:400 clamp(1.1rem,1.7vw,1.6rem)/1.35 var(--serif);font-style:italic}.hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;border-top:1px solid rgba(241,234,220,.45);padding-top:.9rem;font:500 .55rem var(--sans);text-transform:uppercase;letter-spacing:.08em}.hero-bottom a{text-align:center;text-decoration:none}.hero-bottom a span{color:#d6b281;margin-left:1rem}.hero-bottom p{margin:0}.hero-bottom p:last-child{text-align:right}
.section{padding:clamp(7rem,12vw,12rem) var(--side)}.section-number{font:400 1.1rem var(--display);color:var(--wine)}.introduction{display:grid;grid-template-columns:.3fr 1.1fr .9fr;column-gap:clamp(3rem,7vw,8rem);row-gap:clamp(5rem,8vw,8rem)}.intro-heading h2,.salon-copy h2,.details-heading h2,.location-copy h2{margin:2rem 0 0;font:400 clamp(4rem,7.5vw,8rem)/.87 var(--display);letter-spacing:-.045em}.intro-heading h2 em,.salon-copy h2 em,.location-copy h2 em{color:var(--wine);font-weight:400}.intro-copy{padding-top:2rem}.intro-copy p{max-width:34rem;font-size:.75rem;line-height:1.9;color:var(--muted)}.intro-copy .lead{font:400 clamp(1.35rem,2.2vw,2.15rem)/1.38 var(--serif);color:var(--ink);margin-top:0}.facts{grid-column:2/4;margin:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.facts div{min-height:120px;padding:1rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.facts div:last-child{border-right:0}.facts dt{font:500 .5rem var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.facts dd{margin:0;font:400 1.45rem var(--display)}
.salon{background:var(--green);color:var(--paper);padding:clamp(6rem,10vw,10rem) var(--side);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(4rem,9vw,10rem);align-items:center}.salon-image{margin:0}.salon-image img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.75)}.salon-image figcaption{display:flex;justify-content:space-between;padding-top:.8rem;font:500 .5rem var(--sans);text-transform:uppercase;letter-spacing:.1em;color:#aeb6ae}.salon-copy h2 em{color:#d2aa75}.salon-copy>p:not(.section-kicker){font-size:.72rem;line-height:1.9;color:#c2c8c1;max-width:28rem}.salon-copy blockquote{margin:4rem 0 0;padding-top:2rem;border-top:1px solid rgba(241,234,220,.3);font:400 1.45rem/1.4 var(--serif);font-style:italic}
.details{display:grid;grid-template-columns:.3fr .85fr 1.15fr;column-gap:clamp(3rem,7vw,8rem);row-gap:5rem}.detail-list{padding-top:1rem}.detail{display:grid;grid-template-columns:2.5rem .7fr 1fr;gap:1.5rem;align-items:start;border-top:1px solid var(--line);padding:1.5rem 0}.detail:last-child{border-bottom:1px solid var(--line)}.detail>span{font:500 .5rem var(--sans);color:var(--wine)}.detail h3{margin:0;font:400 1.5rem var(--display)}.detail p{margin:.2rem 0 0;font-size:.68rem;line-height:1.75;color:var(--muted)}.terms{grid-column:2/4;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink)}.terms div{min-height:140px;padding:1.5rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.terms div:last-child{border:0}.terms span{font:500 .5rem var(--sans);text-transform:uppercase;letter-spacing:.1em}.terms strong{font:400 1.7rem var(--display)}
.location{min-height:850px;display:grid;grid-template-columns:1.1fr .9fr}.location-map{background:var(--wine);position:relative;overflow:hidden;min-height:650px}.location-map svg{width:100%;height:100%}.location-map path{fill:none;stroke:rgba(241,234,220,.26);stroke-width:9}.location-map .canal{stroke:#9ca9a0;stroke-width:22}.location-map circle{fill:var(--gold);stroke:var(--paper);stroke-width:2}.location-map .pin{fill:var(--paper);stroke:0}.location-map>span{position:absolute;left:52%;top:44%;transform:translate(-50%,-50%);text-align:center;font:400 1.4rem/1.1 var(--display);color:var(--paper)}.location-copy{padding:clamp(5rem,9vw,9rem);align-self:center}.location-copy>p:not(.section-kicker){font-size:.72rem;line-height:1.9;color:var(--muted);max-width:28rem}.journeys{margin:3.5rem 0 2.5rem}.journeys div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:1rem 0;font-size:.65rem}.journeys div:last-child{border-bottom:1px solid var(--line)}.journeys dd{margin:0;color:var(--muted)}.text-link{font:500 .55rem var(--sans);text-transform:uppercase;letter-spacing:.1em;text-underline-offset:.4rem}
.viewing{min-height:86svh;background:var(--wine);color:var(--paper);padding:clamp(6rem,10vw,10rem) var(--side);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.viewing-ornament{position:absolute;width:min(65vw,760px);aspect-ratio:1;border:1px solid rgba(241,234,220,.2);border-radius:50%;display:grid;place-items:center}.viewing-ornament:before{content:"";position:absolute;inset:18%;border:1px solid rgba(241,234,220,.16);border-radius:50%}.viewing-ornament span{font:400 clamp(6rem,15vw,15rem) var(--display);opacity:.08}.viewing h2{position:relative;margin:2rem 0 3rem;font:400 clamp(5rem,10vw,10rem)/.82 var(--display);letter-spacing:-.05em}.viewing h2 em{color:#d7b581;font-weight:400}.viewing-button{position:relative;background:var(--paper);color:var(--wine);border:0;padding:1.1rem 1.5rem;font:500 .58rem var(--sans);text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.viewing-button span{margin-left:2rem}
.site-footer{min-height:230px;padding:3rem var(--side);display:grid;grid-template-columns:1.4fr 1fr .8fr 1fr auto;gap:2rem;font:500 .5rem/1.8 var(--sans);text-transform:uppercase;letter-spacing:.08em}.footer-brand{font:500 1.4rem var(--display);text-transform:none;text-decoration:none}.site-footer p{margin:0}.site-footer div{display:flex;flex-direction:column}.site-footer a{width:fit-content}
.enquiry-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);opacity:0;transform:translateY(1.5rem);transition:opacity .35s,transform .35s,display .35s allow-discrete,overlay .35s allow-discrete}.enquiry-dialog[open]{opacity:1;transform:none}@starting-style{.enquiry-dialog[open]{opacity:0;transform:translateY(1.5rem)}}.enquiry-dialog::backdrop{background:rgba(0,0,0,.75)}.dialog-header{height:82px;padding:0 var(--side);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font:500 .55rem var(--sans);text-transform:uppercase;letter-spacing:.1em}.dialog-header button,.form-success button{background:none;border:0;border-bottom:1px solid;padding:.4rem 0;cursor:pointer;text-transform:uppercase;font-size:.55rem}.dialog-body{min-height:calc(100% - 82px);padding:clamp(4rem,8vw,8rem) var(--side);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(4rem,10vw,12rem)}.dialog-intro h2{margin:2rem 0;font:400 clamp(4rem,7vw,7rem)/.88 var(--display)}.dialog-intro h2 em{color:var(--wine);font-weight:400}.dialog-intro>p:last-child{max-width:25rem;font-size:.7rem;line-height:1.8;color:var(--muted)}.enquiry-form{align-self:center;display:grid;grid-template-columns:1fr 1fr;gap:2rem 1.5rem}.enquiry-form label{display:flex;flex-direction:column;gap:.8rem;font:500 .52rem var(--sans);text-transform:uppercase;letter-spacing:.1em}.enquiry-form .full{grid-column:1/-1}.enquiry-form input,.enquiry-form textarea{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:.8rem 0;color:inherit;font-size:.75rem}.enquiry-form textarea{resize:vertical}.form-submit{min-height:75px;background:var(--green);color:var(--paper);border:0;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;font-size:.56rem;cursor:pointer}.form-success{align-self:center}.form-success>span{font:500 .55rem var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--wine)}.form-success h3{margin:2rem 0;font:400 clamp(5rem,8vw,8rem) var(--display)}.form-success p{max-width:28rem;font-size:.7rem;line-height:1.8}.form-success button{margin-top:2rem}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:76px;grid-template-columns:1fr auto;background:rgba(36,57,46,.96);position:absolute}.header-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:.7rem;cursor:pointer}.menu-toggle i{width:24px;height:1px;background:currentColor;position:relative;transition:transform .2s}.menu-toggle i:after{content:"";position:absolute;left:0;top:6px;width:100%;height:1px;background:currentColor;transition:top .2s,transform .2s}.menu-toggle[aria-expanded=true] i{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] i:after{top:0;transform:rotate(-90deg)}.site-nav{display:none;position:fixed;inset:76px 0 0;width:100vw;background:var(--green);flex-direction:column;align-items:center;justify-content:center;gap:2rem}.site-nav.is-open{display:flex}.site-nav a{font:400 2.7rem var(--display);text-transform:none;letter-spacing:0}body.nav-open{overflow:hidden}.introduction{grid-template-columns:.2fr .9fr .9fr}.facts{grid-column:2/4;grid-template-columns:repeat(3,1fr)}.facts div:nth-child(3){border-right:0}.facts div:nth-child(-n+3){border-bottom:1px solid var(--line)}.salon{grid-template-columns:1fr}.salon-image{width:85%}.details{grid-template-columns:.2fr .8fr 1fr}.terms{grid-template-columns:1fr 1fr}.terms div:nth-child(2){border-right:0}.terms div:nth-child(-n+2){border-bottom:1px solid var(--line)}.location{grid-template-columns:1fr}.location-map{min-height:550px}.dialog-body{grid-template-columns:1fr;gap:4rem}.site-footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.brand-name small{display:none}.hero{padding-top:100px}.hero-meta span:nth-child(2){display:none}.hero h1{font-size:24vw}.hero-bottom{grid-template-columns:1fr auto;gap:1rem}.hero-bottom>p:first-child{grid-column:1/-1;margin-bottom:1rem}.hero-bottom a{text-align:left}.introduction{grid-template-columns:2rem 1fr;column-gap:1rem}.intro-heading,.intro-copy,.facts{grid-column:2}.intro-heading h2,.salon-copy h2,.details-heading h2,.location-copy h2{font-size:17vw}.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(odd){border-right:1px solid var(--line)}.facts div:nth-child(even){border-right:0}.salon-image{width:100%}.salon-image img{aspect-ratio:3/4;object-position:63% center}.details{grid-template-columns:2rem 1fr;column-gap:1rem}.details-heading,.detail-list,.terms{grid-column:2}.detail{grid-template-columns:2rem 1fr}.detail p{grid-column:2}.terms{grid-template-columns:1fr}.terms div{border-right:0;border-bottom:1px solid var(--line)}.location-map{min-height:460px}.location-copy{padding:5rem var(--side)}.viewing h2{font-size:20vw}.viewing-ornament{width:110vw}.site-footer{grid-template-columns:1fr;min-height:420px}.dialog-body{padding-top:3rem}.dialog-intro h2{font-size:17vw}.enquiry-form{grid-template-columns:1fr}.enquiry-form label,.enquiry-form .full{grid-column:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

@media(max-width:900px){.menu-toggle{min-width:44px;min-height:44px;justify-content:center;padding:.65rem}}
@media(max-width:700px){.details{grid-template-columns:2rem minmax(0,1fr);column-gap:1rem}.details-heading,.detail-list,.terms{grid-column:2}.detail{grid-template-columns:2rem minmax(0,1fr)}.detail p{grid-column:2}.terms{grid-template-columns:1fr 1fr;min-width:0}.terms div:nth-child(2){border-right:0}}
@media(max-width:600px){.terms{grid-template-columns:1fr}}
