@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400&display=swap');
:root{--green:#123f32;--green-deep:#0d3026;--ink:#ecf2ed;--muted:#c0d1c5;--line:#ffffff35;--mist:#d2e2d6}
html{scroll-behavior:smooth;scroll-padding-top:95px;background:var(--green)}body{margin:0;background:var(--green);color:var(--ink);font-family:'Outfit',sans-serif;font-size:17px;line-height:1.6}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--mist);outline-offset:7px}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(44px,5.7vw,82px)}p{color:var(--muted)}.section{padding:110px max(6vw,24px)}.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;color:var(--mist);margin-bottom:28px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:12px 5vw;border-bottom:1px solid var(--line);background:var(--green);position:relative;z-index:10;gap:24px}.brand{width:128px;background:transparent;padding:5px 0;flex-shrink:0}.brand img{width:100%;height:53px;object-fit:contain;filter:brightness(0) invert(1)}.site-header nav{display:flex;gap:36px;font-size:14px}.site-header nav a:hover{color:var(--mist);text-decoration:underline;text-underline-offset:5px}.nav-book{font-size:14px;display:flex;gap:25px;align-items:center}.nav-book span{font-size:24px;transition:transform .3s}.nav-book:hover span{transform:translate(3px,-3px)}.hero{position:relative;min-height:min(790px,calc(100svh - 88px));overflow:hidden;background:var(--green-deep);display:flex;align-items:center}.hero-portrait{position:absolute;right:0;top:-9%;width:62%;height:118%}.hero-portrait img{height:100%;object-fit:cover;object-position:center 32%;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--green-deep) 8%,rgba(13,48,38,.94) 27%,rgba(13,48,38,.3) 61%,transparent 80%)}.hero-copy{position:relative;z-index:1;padding:68px 6vw;max-width:780px}.hero h1{font-size:clamp(68px,7.7vw,112px);letter-spacing:-.06em}.hero-sub{max-width:340px;font-size:18px;margin:26px 0 34px;line-height:1.55}.hero-book{display:inline-flex;padding:17px 24px;border:1px solid var(--mist);gap:44px;align-items:center;transition:background .2s,color .2s}.hero-book:hover{background:var(--ink);color:var(--green)}.services{display:grid;grid-template-columns:1fr 1.15fr;gap:10vw}.services-intro>p{max-width:330px;margin-top:25px}.service-photo{height:310px;width:76%;margin-top:45px;overflow:hidden}.service-photo img{height:130%;object-fit:cover;position:relative;top:-15%}.service-list{padding-top:4px}.service-row{display:flex;justify-content:space-between;gap:28px;border-top:1px solid var(--line);padding:28px 0 30px;transition:padding .3s}.service-row:hover{padding-left:14px}.service-row h3{font-size:32px}.service-row p{max-width:390px;font-size:15px;margin-top:13px;line-height:1.6}.service-row>span{font-size:29px}.booking-note{font-size:13px;padding-top:24px;border-top:1px solid var(--line);max-width:380px}.availability{display:flex;gap:20px;align-items:center;margin-top:24px;font-size:15px}.availability span{transition:transform .25s}.availability:hover span{transform:translateX(10px)}.story{background:var(--green-deep);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.story-copy>p:not(.eyebrow){max-width:440px;margin-top:22px}.story-copy .large-copy{font-size:24px;color:var(--ink)}.signature{margin-top:35px;font-size:19px}.signature span{display:block;font-size:13px;color:var(--muted);margin-top:5px}.founder-photo{height:630px;overflow:hidden;position:relative}.founder-photo img{height:120%;object-fit:cover;object-position:50% 35%;position:relative;top:-10%}.gallery{padding-bottom:120px}.gallery-grid{display:grid;grid-template-columns:1fr .65fr 1fr;gap:4vw;margin-top:55px;align-items:center}.gallery-grid figure:last-child{margin-top:110px}.gallery-image{height:430px;overflow:hidden}.gallery-image img{height:125%;position:relative;top:-12.5%;object-fit:cover}.gallery-grid figcaption{font-size:13px;margin-top:15px;color:var(--muted)}.gallery-statement span{font-size:42px;line-height:1.05;letter-spacing:-.04em}.gallery-statement p{font-size:15px;margin-top:25px}.gallery-statement a{display:inline-block;font-size:13px;border-bottom:1px solid var(--line);padding:16px 0 8px}.prepare{background:var(--green-deep);display:grid;grid-template-columns:1fr 1.2fr;gap:9vw}.faq details{border-top:1px solid var(--line);padding:24px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;gap:15px;font-size:21px;line-height:1.4}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:26px;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq p{font-size:15px;margin-top:18px}.faq a{font-size:14px;text-decoration:underline;display:inline-block;margin-top:16px}.visit h2{font-size:clamp(46px,6.5vw,94px)}.visit-book{display:inline-flex;align-items:center;gap:45px;font-size:clamp(24px,3vw,40px);margin-top:26px}.visit-book span{display:inline-block;transition:transform .3s}.visit-book:hover span{transform:rotate(45deg)}.visit-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:8vw;margin-top:85px;padding-top:45px;border-top:1px solid var(--line)}.visit-grid h3{font-size:22px;margin-bottom:22px;letter-spacing:-.025em}.visit-grid p{font-size:15px}.visit-grid a{display:block;font-size:15px;margin-top:15px;text-decoration:underline;text-underline-offset:5px}.visit-grid p.small{font-size:12px;line-height:1.7;margin-top:24px;max-width:300px}footer{padding:0 6vw 30px}.footer-wordmark{font-size:clamp(60px,14vw,220px);font-weight:600;letter-spacing:-.065em;line-height:1.1;white-space:nowrap;border-bottom:1px solid var(--line);padding-bottom:20px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);padding-top:25px}.skip-link{position:fixed;left:15px;top:-100px;z-index:100;background:var(--ink);color:var(--green);padding:12px}.skip-link:focus{top:15px}.error-page{padding:20vh 8vw}.error-page h1{font-size:52px;margin-bottom:30px}
@media(min-width:1600px){.curl-site{max-width:1800px;margin:auto}.hero-copy{padding-left:100px}}
@media(max-width:900px){.site-header{height:76px;padding:10px 24px}.brand{width:105px}.brand img{height:44px}.site-header nav{gap:20px;font-size:13px}.nav-book{font-size:12px;gap:12px}.section{padding:75px 6vw}.hero{min-height:720px}.hero-portrait{width:85%}.hero-shade{background:linear-gradient(90deg,var(--green-deep),rgba(13,48,38,.5) 65%,rgba(13,48,38,.15))}.services{gap:6vw}.founder-photo{height:500px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-statement{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:30px}.gallery-grid figure:last-child{margin-top:65px}.gallery-image{height:390px}.prepare{grid-template-columns:1fr;gap:40px}.visit-grid{gap:35px}}
@media(max-width:600px){.site-header nav{display:none}.site-header{padding:10px 20px;gap:15px}.nav-book{font-size:12px}.hero{min-height:calc(100svh - 76px);align-items:flex-end;max-height:850px}.hero-portrait{width:100%;height:100%;top:0}.hero-portrait img{object-position:50% 23%;height:110%;position:relative;top:-5%}.hero-shade{background:linear-gradient(0deg,var(--green-deep) 1%,rgba(13,48,38,.9) 20%,rgba(13,48,38,.12) 67%)}.hero-copy{padding:200px 24px 40px}.hero h1{font-size:67px}.hero .eyebrow{font-size:9px;margin-bottom:18px}.hero-sub{font-size:16px;max-width:280px;margin:20px 0 24px}.hero-book{padding:13px 19px;font-size:14px;gap:28px}.section{padding:65px 24px}h2{font-size:46px}.services{grid-template-columns:1fr;gap:40px}.service-photo{width:100%;height:330px;margin-top:30px}.service-row{padding:24px 0}.service-row h3{font-size:29px}.service-row p{font-size:14px}.story{grid-template-columns:1fr;gap:35px}.founder-photo{height:470px;max-width:400px}.gallery-grid{gap:18px;margin-top:35px}.gallery-image{height:275px}.gallery-grid figure:last-child{margin-top:45px}.gallery-statement{display:block;margin-top:25px}.gallery-statement span{font-size:34px}.gallery-statement p{max-width:260px;margin-top:16px}.gallery-grid figcaption{font-size:11px}.prepare{gap:35px}.faq summary{font-size:19px}.visit-grid{grid-template-columns:1fr;margin-top:50px;gap:38px}.visit-grid h3{margin-bottom:15px}.visit-grid p.small{margin-top:15px}footer{padding:0 24px 28px}.footer-wordmark{font-size:15vw}.footer-bottom{flex-wrap:wrap;font-size:10px}.footer-bottom span:nth-child(2){display:none}.eyebrow{font-size:10px}.hero-copy{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-depth]{transform:none!important}}

/* Cinematic full-width video header */
.hero-portrait{width:100%;height:100%;inset:0}.hero-portrait video{width:100%;height:100%;object-fit:cover;object-position:65% center;display:block}.hero-shade{background:linear-gradient(90deg,rgba(13,48,38,.92),rgba(13,48,38,.48) 50%,rgba(13,48,38,.08))}.video-toggle{position:absolute;z-index:3;right:25px;bottom:22px;background:rgba(13,48,38,.8);border:1px solid #ecf2ed80;color:var(--ink);padding:8px 13px;font:12px 'Outfit',sans-serif;cursor:pointer}.video-toggle:focus-visible{outline:3px solid var(--mist);outline-offset:4px}
@media(max-width:600px){.hero-portrait video{object-position:57% center}.hero-shade{background:linear-gradient(0deg,rgba(13,48,38,.97),rgba(13,48,38,.72) 38%,rgba(13,48,38,.1) 85%)}.hero-copy{padding-bottom:70px}.video-toggle{bottom:16px;right:24px}}

/* Business details and verified service menu */
.trust-strip{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 6vw;border-bottom:1px solid var(--line);background:var(--green-deep);font-size:14px}.trust-strip a:first-child{display:flex;flex-direction:column;gap:3px}.trust-strip strong{font-size:20px;font-weight:500}.trust-strip strong span{font-size:14px;letter-spacing:.12em;margin-left:8px}.trust-strip a:first-child>span{color:var(--muted);font-size:12px}.trust-strip a:hover{text-decoration:underline;text-underline-offset:4px}.service-row p.service-price{color:var(--ink);font-weight:500;font-size:15px;line-height:1.8}.hours strong{color:var(--ink);font-weight:500}@media(max-width:700px){.trust-strip{align-items:flex-start;flex-direction:column;gap:16px;padding:24px}.service-row h3{line-height:1.15}}
