@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap";:root{color:#161414;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--ivory:#f4f0ea;--burgundy:#541b2b;--ink:#161414;--neutral:#beb5ae;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Manrope", sans-serif;background:#f4f0ea;font-family:Manrope,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-gutter:stable;background:var(--ivory)}html.intro-locked{overflow:hidden}body{background:var(--ivory);min-width:320px;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}img{object-fit:cover;width:100%;height:100%;display:block}::selection{color:var(--ivory);background:var(--burgundy)}.site-shell{overflow:clip}.site-header{z-index:20;color:var(--ivory);opacity:var(--header-alpha,1);justify-content:space-between;align-items:center;padding:28px 5.4vw;transition:color .35s;display:flex;position:fixed;inset:0 0 auto}.wordmark,.footer-mark{letter-spacing:.1em;font-size:12px;font-weight:700}.wordmark span,.footer-mark span{letter-spacing:.13em;margin-left:8px;font-size:8px;font-weight:500}.site-header nav{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:clamp(22px,3.4vw,54px);font-size:10px;display:flex}.site-header nav a{transition:opacity .25s}.site-header nav a:hover{opacity:.55}.nav-book{color:var(--book-color,var(--ivory))}.nav-book span{padding-left:5px}.intro-scene{background:var(--ivory);height:100svh;position:relative}.intro-pin{background:var(--ivory);isolation:isolate;height:100%;position:relative;overflow:hidden}.site-reveal{z-index:0;background:var(--ivory);grid-template-columns:1.1fr .8fr;align-items:center;gap:6vw;padding:9vh 8vw;display:grid;position:absolute;inset:0}.reveal-copy{align-self:center;max-width:610px}.reveal-copy .eyebrow{color:#8c837c}.reveal-copy h2{font-family:var(--serif);letter-spacing:-.06em;margin:33px 0 0;font-size:clamp(62px,8.5vw,132px);font-weight:400;line-height:.78}.reveal-copy h2 em{color:var(--burgundy);font-weight:400}.reveal-copy p{color:#817973;max-width:260px;margin:32px 0 25px;font-size:10px;line-height:1.9}.reveal-image{background:#e8e1da;height:76vh;max-height:760px;overflow:hidden}.reveal-image img{object-position:center}.intro-dark{z-index:1;opacity:var(--intro-alpha,1);background:radial-gradient(ellipse 43% 52% at 50% 46%, #35242a 0%, #211a1d 48%, var(--ink) 100%);pointer-events:none;position:absolute;inset:0}.intro-dark:after{content:"";background:linear-gradient(#0000 0%,#120f10 100%);height:30%;position:absolute;inset:auto 0 0}.liquid-canvas{z-index:3;pointer-events:none;inset:0;width:100%!important;height:100%!important;position:absolute!important}.liquid-fallback{z-index:3;aspect-ratio:.72;background:radial-gradient(at 32% 23%,#c18f99 0 2%,#0000 11%),linear-gradient(118deg,#763149 1%,#491627 53%,#210a14 100%);border-radius:48% 52% 58% 42%/33% 35% 65% 67%;width:min(36svh,70vw);max-width:360px;animation:4s ease-in-out infinite alternate breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset -26px -24px 43px #17050f,inset 13px 15px 22px #a25c7159}.liquid-fallback:after{content:"";filter:blur(1px);background:linear-gradient(#e9c2c2b3,#e9c2c200);border-radius:50%;width:9%;height:38%;position:absolute;top:22%;left:19%;transform:rotate(13deg)}@keyframes breathe{to{border-radius:46% 54% 55% 45%/34% 35% 65% 66%;transform:translate(-50%,-50%)scale(1.015)}}.hero-copy{z-index:1;color:var(--ivory);opacity:var(--hero-alpha,1);position:absolute;inset:0}.eyebrow,.scroll-cue,.image-caption{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:600;line-height:1.5}.hero-location{width:max-content;color:var(--neutral);position:absolute;top:18%;left:50%;transform:translate(-50%)}.hero-copy h1{font-family:var(--serif);letter-spacing:-.055em;margin:0;font-size:clamp(52px,8.5vw,112px);font-weight:400;line-height:.79;position:absolute;bottom:3vh;left:7.8vw}.hero-copy h1 em{color:var(--neutral);font-weight:400}.section-heading h2 em,.works-intro h2 em,.price-heading h2 em,.about-copy h2 em,.booking-heading h2 em{color:var(--burgundy);font-weight:400}.scroll-cue{color:var(--neutral);cursor:pointer;pointer-events:auto;background:0 0;border:0;align-items:center;gap:14px;padding:12px 0;display:flex;position:absolute;bottom:6vh;right:7.8vw}.scroll-cue:focus-visible{outline:1px solid var(--neutral);outline-offset:8px}.scroll-cue i{color:var(--ivory);font-size:16px;font-style:normal;animation:1.9s ease-in-out infinite cue-drift}@keyframes cue-drift{50%{transform:translateY(5px)}}.section-pad{padding-left:10.5vw;padding-right:10.5vw}.services{padding-top:13vh;padding-bottom:17vh}.section-heading{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-bottom:62px;display:grid}.section-heading .eyebrow{color:#958c85;grid-column:1/-1}.section-heading h2,.works-intro h2,.price-heading h2,.about-copy h2,.booking-heading h2{font-family:var(--serif);letter-spacing:-.06em;margin:0;font-size:clamp(62px,8vw,116px);font-weight:400;line-height:.8}.section-heading>p{color:#837a74;letter-spacing:.03em;margin:0 0 7px;font-size:10px}.service-layout{grid-template-columns:1.04fr .75fr;align-items:center;gap:8vw;display:grid}.service-list{flex-direction:column;display:flex}.service-row{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:32px 1fr auto 20px;align-items:center;gap:12px;width:100%;padding:26px 0;display:grid}.service-number,.service-price,.service-arrow{color:#938982;letter-spacing:.08em;font-size:9px}.service-main{flex-direction:column;gap:5px;display:flex}.service-name{font-family:var(--serif);letter-spacing:-.035em;font-size:clamp(29px,3.7vw,50px);transition:color .28s}.service-note{color:#8c837c;letter-spacing:.035em;font-size:9px}.service-row.is-active .service-name{color:var(--burgundy)}.service-arrow{opacity:0;justify-self:end;transition:opacity .28s,transform .28s;transform:translate(-4px,4px)}.service-row.is-active .service-arrow{opacity:1;transform:translate(0)}.service-visual{background:#e8e1da;height:min(50vw,520px);min-height:330px;position:relative;overflow:hidden}.service-visual img{opacity:0;transition:opacity .65s,transform 1.1s;position:absolute;inset:0;transform:scale(1.035)}.service-visual img.is-visible{opacity:1;transform:scale(1)}.visual-index{z-index:1;color:var(--ivory);letter-spacing:.12em;background:#16141480;padding:8px 10px;font-size:8px;position:absolute;bottom:18px;right:18px}.works{padding-top:10vh;padding-bottom:17vh}.works-intro{justify-content:space-between;align-items:end;margin-bottom:76px;display:flex}.works-intro .eyebrow,.price-heading .eyebrow,.about-copy .eyebrow,.booking-heading .eyebrow{color:#958c85;margin-bottom:28px;display:block}.works-intro p{color:#837a74;margin:0 3vw 5px 0;font-size:10px;line-height:1.8}.works-grid{grid-template-columns:1fr .76fr;align-items:start;gap:9vh 8vw;display:grid}.work{margin:0}.work-image{background:#e8e1da;overflow:hidden}.work-image img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.work:hover .work-image img{transform:scale(1.035)}.work-tall{width:78%}.work-tall .work-image{height:min(58vw,660px)}.work-small{width:100%;margin-top:25vh}.work-small .work-image{height:min(35vw,400px)}.work-wide{grid-column:1/-1;width:82%;margin:0 auto}.work-wide .work-image{height:min(55vw,600px)}.work-last{grid-column:2;width:75%;margin-top:-4vh}.work-last .work-image{height:min(40vw,460px)}.work figcaption{letter-spacing:.1em;text-transform:uppercase;grid-template-columns:1fr auto;gap:8px;padding-top:14px;font-size:8px;display:grid}.work figcaption span:first-child{color:#948b84;grid-column:1/-1;font-size:7px}.work figcaption span:last-child{color:#948b84}.text-link{letter-spacing:.14em;align-items:center;gap:15px;padding-bottom:5px;font-size:9px;font-weight:600;display:inline-flex}.text-link span{color:var(--burgundy);font-size:14px;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.works-link{margin-top:55px}.price-section{background:#eee8e1;grid-template-columns:.9fr 1fr;gap:9vw;padding-top:16vh;padding-bottom:18vh;display:grid}.price-heading h2{font-size:clamp(58px,7.5vw,108px)}.price-heading>p{color:#837a74;max-width:235px;margin:35px 0 0;font-size:10px;line-height:1.9}.price-list{align-self:center;padding-top:35px}.price-row{grid-template-columns:30px 1fr auto;align-items:baseline;gap:12px;padding:19px 0;font-size:11px;display:grid}.price-row span:first-child{color:#a09790;font-size:8px}.price-row span:last-child{letter-spacing:.04em;font-size:10px}.price-footnote{color:#867d77;max-width:290px;margin:30px 0 0 42px;font-size:9px;line-height:1.8}.about{grid-template-columns:.9fr .85fr;align-items:center;gap:10vw;padding-top:20vh;padding-bottom:20vh;display:grid}.about-image{background:#e8e1da;height:min(59vw,650px);position:relative}.about-image img{object-position:center 69%}.image-caption{color:var(--ivory);background:#16141480;padding:9px 11px;font-size:7px;position:absolute;bottom:15px;right:15px}.about-copy h2{font-size:clamp(58px,7vw,96px)}.about-copy>p{color:#79716b;max-width:340px;margin:36px 0 34px;font-size:11px;line-height:2}.review-section{background:#eee8e1;grid-template-columns:.7fr 1fr;gap:9vw;padding-top:15vh;padding-bottom:17vh;display:grid}.review-label{color:#958c85;letter-spacing:.14em;flex-direction:column;gap:42px;font-size:8px;display:flex}.review-content{max-width:600px}.quote-mark{color:var(--burgundy);font-family:var(--serif);font-size:64px;line-height:.7}.review-content blockquote{min-height:175px;font-family:var(--serif);letter-spacing:-.035em;margin:26px 0;font-size:clamp(33px,4.2vw,60px);line-height:.98}.review-meta{color:#817973;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:15px;font-size:8px;display:flex}.review-meta span:first-child{color:var(--ink);font-weight:700}.review-controls{color:#817973;align-items:center;gap:22px;margin-top:48px;font-size:9px;display:flex}.review-controls button{cursor:pointer;background:0 0;border:0;padding:7px 0;font-size:18px}.review-controls i{color:#aaa19a;padding:0 6px;font-style:normal}.booking{color:var(--ivory);background:var(--burgundy);grid-template-columns:1fr .72fr;gap:10vw;padding-top:19vh;padding-bottom:19vh;display:grid;position:relative;overflow:hidden}.booking-heading .eyebrow{color:#c1a8ab}.booking-heading h2 em{color:#d0b7b8}.booking-heading>p{color:#d2c1c0;margin-top:35px;font-size:10px}.booking-form{z-index:1;grid-template-columns:1fr 1fr;align-content:center;gap:28px 20px;padding-top:18px;display:grid;position:relative}.booking-form label{color:#d8c6c4;letter-spacing:.13em;text-transform:uppercase;flex-direction:column;gap:10px;font-size:8px;display:flex}.booking-form input,.booking-form select{width:100%;color:var(--ivory);letter-spacing:.02em;text-transform:none;background:0 0;border:0;border-radius:0;outline:none;padding:11px 0;font-size:11px}.booking-form input::placeholder{color:#c4aeb0}.booking-form input:focus,.booking-form select:focus{box-shadow:0 1px #d5bdbe}.booking-form select option{color:var(--ink);background:var(--ivory)}.booking-submit{color:var(--ivory);letter-spacing:.14em;text-align:left;cursor:pointer;background:0 0;border:0;grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:17px;padding:15px 0;font-size:9px;font-weight:600;display:flex}.booking-submit i{font-size:19px;font-style:normal;transition:transform .25s}.booking-submit:hover i{transform:translate(4px,-4px)}.booking-note{color:#d8c6c4;grid-column:1/-1;font-size:9px;line-height:1.7}.booking-drop{aspect-ratio:.8;opacity:.45;background:radial-gradient(at 28% 24%,#82505b 0 2%,#632a3a 18%,#451321 73%);border-radius:58% 42% 63% 37%/47% 40% 60% 53%;width:23vw;position:absolute;bottom:-18vw;right:-4vw;transform:rotate(-22deg)}.site-footer{color:var(--ink);background:var(--ivory);grid-template-columns:1.4fr 1fr 1fr auto;align-items:center;gap:20px;padding:28px 5.4vw;display:grid}.site-footer>span,.site-footer>a:last-of-type{letter-spacing:.11em;font-size:8px}.site-footer>span:nth-child(2){color:#8f867f}.motion-reduced .intro-scene{height:100svh}.motion-reduced .intro-pin{position:relative}.motion-reduced .site-header{position:absolute}.motion-reduced .site-reveal,.motion-reduced .scroll-cue{display:none}@media (width<=800px){.site-header{padding:21px 6vw}.site-header nav{gap:17px;font-size:8px}.wordmark{font-size:10px}.wordmark span{display:none}.site-reveal{gap:4vw;padding-left:7vw;padding-right:7vw}.reveal-copy h2{font-size:clamp(58px,9vw,78px)}.hero-location{top:17%}.hero-copy h1{font-size:clamp(52px,8.5vw,80px);left:6vw}.scroll-cue{right:6vw}.section-pad{padding-left:7vw;padding-right:7vw}.services{padding-top:9vh;padding-bottom:12vh}.service-layout{grid-template-columns:1fr .72fr;gap:5vw}.service-row{grid-template-columns:23px 1fr auto;gap:8px;padding:20px 0}.service-arrow{display:none}.service-name{font-size:clamp(25px,5vw,38px)}.service-note,.service-price{font-size:8px}.service-visual{height:60vw;min-height:250px}.works-grid{gap:7vh 5vw}.work-tall{width:90%}.work-small{margin-top:17vh}.work-wide{width:92%}.work-last{width:87%}.price-section{gap:6vw}.about{gap:7vw}.about-image{height:66vw}.review-section{gap:5vw}.booking{gap:6vw}.site-footer{grid-template-columns:1fr 1fr;row-gap:18px}}@media (width<=560px){.site-header{padding:18px 5vw}.site-header nav{letter-spacing:.07em;gap:13px;font-size:7px}.site-header nav a:nth-child(3){display:none}.hero-location{font-size:7px;top:15%}.hero-copy h1{font-size:clamp(49px,13.3vw,67px);bottom:4vh}.scroll-cue{font-size:7px;bottom:6vh}.site-reveal{padding:0 7vw;display:block}.reveal-copy{z-index:1;padding-top:17vh;position:relative}.reveal-copy h2{max-width:80%;margin-top:25px;font-size:clamp(58px,15vw,80px)}.reveal-copy p{max-width:220px;margin:23px 0 18px;font-size:9px}.reveal-image{width:58vw;height:36vh;position:absolute;bottom:0;right:0}.eyebrow{font-size:8px}.section-pad{padding-left:7vw;padding-right:7vw}.section-heading{margin-bottom:39px}.section-heading h2,.works-intro h2,.price-heading h2,.about-copy h2,.booking-heading h2{font-size:18vw}.section-heading>p{max-width:98px;font-size:8px;line-height:1.6}.service-layout{grid-template-columns:1fr;gap:28px}.service-row{grid-template-columns:22px 1fr auto;padding:18px 0}.service-name{font-size:34px}.service-visual{height:91vw;min-height:280px;max-height:420px}.works{padding-top:6vh}.works-intro{margin-bottom:46px}.works-intro p{margin-right:0;font-size:8px}.work-tall{width:93%}.work-tall .work-image{height:111vw}.work-small{width:90%;margin:6vh 0 0 auto}.work-small .work-image{height:82vw}.work-wide{width:100%}.work-wide .work-image{height:87vw}.work-last{width:90%;margin-top:0}.work-last .work-image{height:96vw}.work figcaption{font-size:7px}.works-link{margin-top:37px}.price-section{grid-template-columns:1fr;gap:34px;padding-top:12vh;padding-bottom:13vh}.price-heading h2{font-size:17vw}.price-heading>p{max-width:215px;margin-top:24px;font-size:9px}.price-list{padding-top:0}.price-row{grid-template-columns:25px 1fr auto;padding:17px 0;font-size:10px}.about{grid-template-columns:1fr;gap:35px;padding-top:13vh;padding-bottom:13vh}.about-image{height:105vw}.about-copy h2{font-size:16vw}.about-copy>p{margin:27px 0;font-size:10px}.review-section{grid-template-columns:1fr;gap:38px;padding-top:12vh;padding-bottom:13vh}.review-label{flex-direction:row;justify-content:space-between;gap:12px}.review-content blockquote{min-height:178px;font-size:12vw}.review-meta{font-size:7px}.review-controls{margin-top:33px}.booking{grid-template-columns:1fr;gap:25px;padding-top:14vh;padding-bottom:15vh}.booking-heading h2{font-size:16vw}.booking-form{gap:22px 16px}.booking-form label{font-size:7px}.booking-form input,.booking-form select{font-size:10px}.booking-drop{width:47vw;bottom:-23vw;right:-12vw}.site-footer{padding:24px 7vw}.footer-mark{font-size:10px}.footer-mark span{display:none}.site-footer>span,.site-footer>a:last-of-type{font-size:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
