@font-face{font-family:Cormorant;src:url('fonts/cormorant-garamond-latin-normal.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('fonts/cormorant-garamond-latin-italic.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:DM;src:url('fonts/dm-sans-latin-normal.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}
/* Brand-derived cream, taupe and espresso. Sharp photography; softly rounded controls.
   Layers: header 20, mobile booking 25, browser-native dialog top layer.
   Design variance 7 / motion intensity 3 / visual density 3. */
:root{--paper:#f4efe9;--ink:#382c24;--muted:#6b5d53;--panel:#e9dfd4;--line:#cfc2b5;--accent:#74543f;--button:#382c24;--button-text:#fbf5ef;--focus:#a54f2c;color-scheme:light dark;font-family:DM,Arial,sans-serif;font-size:16px;background:var(--paper);color:var(--ink);scroll-behavior:smooth;scroll-padding-top:100px}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input{font:inherit}button,a{color:inherit}a{text-decoration:none}button{cursor:pointer}button[hidden],[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Cormorant,Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:.97;text-wrap:balance}h1{font-size:clamp(62px,6.7vw,112px)}h2{font-size:clamp(45px,4.7vw,76px)}h1 em,h2 em{font-weight:400;line-height:1.1}h3{font-weight:500}p{line-height:1.75}p,li{color:var(--muted)}em{font-family:inherit}.shell{width:min(1328px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:104px}section[id]{scroll-margin-top:88px}:focus-visible{outline:2px solid var(--focus);outline-offset:5px;border-radius:2px}::selection{background:var(--accent);color:var(--button-text)}.skip-link{position:fixed;left:20px;top:-100px;padding:15px 22px;background:var(--ink);color:var(--paper);z-index:100}.skip-link:focus{top:14px}.site-header{height:88px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line);background:var(--paper);gap:24px}.wordmark{font-family:Cormorant,Georgia,serif;font-size:32px;line-height:1;white-space:nowrap;letter-spacing:-.025em}.wordmark em{font-weight:500}.wordmark span{display:block;margin-top:9px;font:500 8px DM,Arial,sans-serif;letter-spacing:.24em;text-align:center}nav{display:flex;gap:28px;align-items:center;font-size:13px}nav a{padding:10px 0}nav a:hover,.footer-links a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 23px;border:1px solid var(--button);border-radius:4px;background:var(--button);color:var(--button-text);font:500 13px DM,Arial,sans-serif;white-space:nowrap;transition:background-color .2s,transform .2s}.button span{font-size:20px;font-weight:400}.button:hover{background:var(--accent);border-color:var(--accent)}.button:active{transform:scale(.98)}.header-book{min-height:44px;padding:9px 17px;font-size:12px;gap:20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:48px;padding-block:54px 64px;min-height:650px}.hero-copy{padding-block:12px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:500;color:var(--accent);margin-bottom:27px}.hero-intro{font-size:15px;line-height:1.9;margin-top:28px;max-width:430px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px;flex-wrap:wrap}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:13px;font-weight:500;border-bottom:1px solid var(--ink);padding-block:7px;line-height:1.7}.text-link span{font-size:19px}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-visual{aspect-ratio:1;overflow:hidden;position:relative}.hero-visual img{width:100%;height:100%;object-fit:cover}.work-section{border-top:1px solid var(--line)}.section-heading{margin-bottom:44px}.section-heading p{margin-top:23px;font-size:15px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 25px}.work-card:nth-child(3n + 2){padding-top:45px}.work-card:nth-child(3n + 3){padding-top:88px}.photo-link{position:relative;display:block;overflow:hidden;background:var(--panel);aspect-ratio:1}.photo-link img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.65,.3,1)}.photo-link:hover img{transform:scale(1.035)}.view-photo{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:24px;opacity:0;transition:opacity .2s}.photo-link:hover .view-photo,.photo-link:focus-visible .view-photo{opacity:1}figcaption{font-size:12px;margin-top:13px;letter-spacing:.015em;color:var(--muted)}.gallery-bottom{margin-top:44px;display:flex;justify-content:space-between;align-items:center;gap:20px}.gallery-bottom p{font-size:13px}.services-section{background:var(--panel)}.service-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.services-intro>p{max-width:325px;font-size:15px;margin-top:25px}.service-photo{width:72%;margin-top:35px}.service-photo img{aspect-ratio:1;object-fit:cover}.service-menu{padding-top:6px}.service{padding:22px 0;border-bottom:1px solid var(--line)}.service:first-child{padding-top:0}.service-top{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.service-top h3{font-size:19px;letter-spacing:-.035em}.service-top span{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.service p{font-size:13px;line-height:1.8;max-width:410px;margin-top:11px}.service-note{padding-top:26px}.service-note p{font-size:13px;line-height:1.8}.service-note .text-link{margin-top:18px}.service-note small{display:block;font-size:10px;line-height:1.7;color:var(--muted);margin-top:24px;max-width:420px}.artist-section{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:96px}.artist-photo img{width:100%;aspect-ratio:1;object-fit:cover}.artist-copy .eyebrow{margin-bottom:22px}.artist-copy .large-copy{font-family:Cormorant,Georgia,serif;font-size:28px;line-height:1.25;color:var(--ink);margin-top:25px}.artist-copy>p:not(.eyebrow):not(.large-copy){font-size:14px;line-height:1.85;margin-top:20px;max-width:450px}.artist-copy .text-link{margin-top:28px}.visit-section{background:var(--panel)}.visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.visit-layout>div>p{max-width:350px;margin:25px 0 22px;font-size:14px}.booking-steps{margin:0;padding:0;list-style:none;display:grid;gap:30px}.booking-steps li{display:flex;gap:25px;align-items:flex-start}.step-number{font-family:Cormorant,Georgia,serif;font-size:31px;font-style:italic;line-height:1.2;color:var(--accent)}.booking-steps h3{font-size:17px;color:var(--ink);margin-bottom:9px}.booking-steps p{font-size:13px;line-height:1.8;max-width:370px}.final-section{display:grid;grid-template-columns:1.4fr .8fr;align-items:center;gap:90px}.final-copy p{font-size:14px;margin-top:26px}.final-copy .button{margin-top:28px}.final-photo{padding:25px;border:1px solid var(--line);transform:rotate(4deg);margin:12px}.final-photo img{width:100%;aspect-ratio:1;object-fit:cover}.site-footer{padding-bottom:28px}.footer-top{border-top:1px solid var(--line);padding:38px 0;display:flex;justify-content:space-between;align-items:center}.footer-links{display:flex;gap:30px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.mobile-booking{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lightbox{color:var(--ink);background:var(--paper);border:0;padding:0;max-width:min(1040px,96vw);width:1040px;max-height:96dvh;overscroll-behavior:contain}.lightbox::backdrop{background:rgb(19 15 12 / .88)}.lightbox-inner{padding:18px 26px 22px}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-top{margin-bottom:14px}.lightbox-top p{font-size:12px}.lightbox button{background:none;border:0;color:var(--ink);min-width:44px;min-height:44px}.lightbox-close{display:flex;align-items:center;gap:15px;font-size:13px}.lightbox-close span{font-size:28px}.lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:15px}.lightbox-stage button{font-size:28px}.lightbox-image{width:100%;height:min(65dvh,720px);object-fit:contain;background:var(--panel)}.lightbox-image.is-loading{opacity:.4}.lightbox-bottom{margin-top:17px;padding-inline:63px}.lightbox-bottom h2{font-size:29px;letter-spacing:-.02em}.lightbox-bottom a{font-size:12px;text-decoration:underline;text-underline-offset:5px}body.modal-open{overflow:hidden}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#241f1b;--ink:#eee3d8;--muted:#c5b7aa;--panel:#302923;--line:#56493d;--accent:#d2af94;--button:#dec4af;--button-text:#2c211a;--focus:#e4af89}.button:hover{background:#eddbc9;border-color:#eddbc9}.hero-visual,.photo-link,.artist-photo{background:#302923}.view-photo{background:var(--paper)}}
@media (min-width:1600px){.hero{gap:70px;padding-block:64px 80px}.hero-visual{max-height:610px}}
@media (max-width:1150px){.site-header{padding-inline:32px;gap:18px}nav{gap:21px;font-size:12px}.wordmark{font-size:28px}.shell{width:calc(100% - 72px)}.hero{gap:32px;min-height:580px}.hero-actions{gap:18px}.service-layout,.artist-section,.visit-layout{gap:55px}.hero-intro{font-size:14px}.section-space{padding-block:82px}.header-book{font-size:11px;padding-inline:13px}}
@media (max-width:900px){.header-book{display:none}.site-header{height:78px}.hero{min-height:520px;gap:26px}.hero h1{font-size:70px}.hero-actions{gap:10px;align-items:flex-start;flex-direction:column}.eyebrow{font-size:8px;letter-spacing:.14em}.hero-intro br{display:none}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.work-card:nth-child(n){padding-top:0}.work-card:nth-child(even){padding-top:45px}.service-layout,.artist-section,.visit-layout{gap:40px}.service-top{gap:12px}.service-top h3{font-size:17px}.final-section{gap:50px}.final-photo{padding:14px}.footer-links{gap:17px}}
@media (max-width:699px){:root{scroll-padding-top:86px}.shell{width:calc(100% - 40px)}.site-header{height:76px;padding-inline:20px;gap:12px}.wordmark{font-size:29px}.wordmark span{font-size:7px;margin-top:7px}.menu-toggle{display:flex;align-items:center;gap:12px;font-size:12px;min-height:44px;min-width:65px;border:0;background:none;color:var(--ink);padding:8px 0 8px 10px}.menu-toggle span{font-size:24px}.site-header nav{position:absolute;inset:75px 0 auto;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 20px 24px;display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:17px}.site-header nav a{padding:14px 0}.site-header nav[data-collapsed="true"]{display:none}.hero{grid-template-columns:1fr;gap:33px;padding-block:40px;min-height:0}.hero-copy{padding:0}.eyebrow{font-size:8px;letter-spacing:.15em;margin-bottom:21px}.hero h1{font-size:clamp(62px,17.5vw,96px);line-height:.94;letter-spacing:-.05em}.hero-intro{margin-top:22px;font-size:13px;line-height:1.85;max-width:330px}.hero-intro br{display:block}.hero-actions{flex-direction:row;align-items:center;gap:18px;margin-top:24px;flex-wrap:wrap}.hero .button{padding:12px 16px;gap:12px;font-size:11px;min-height:48px}.hero .text-link{font-size:11px;gap:10px}.hero-visual{aspect-ratio:1;max-height:500px}.section-space{padding-block:60px}h2{font-size:51px}.section-heading{margin-bottom:30px}.section-heading p{font-size:13px;margin-top:20px}.work-grid{gap:24px 14px}.work-card:nth-child(even){padding-top:25px}figcaption{font-size:10px;margin-top:10px}.view-photo{width:26px;height:26px;right:8px;bottom:8px;font-size:19px;opacity:1}.gallery-bottom{margin-top:30px;display:block}.gallery-bottom p{font-size:12px}.gallery-bottom .text-link{margin-top:12px}.service-layout{grid-template-columns:1fr;gap:35px}.services-intro{display:grid;grid-template-columns:1fr 120px;column-gap:20px}.services-intro h2{grid-column:1}.services-intro>p{grid-column:1/-1;font-size:13px;margin-top:22px}.service-photo{grid-column:2;grid-row:1;width:100%;margin:8px 0 0;align-self:center}.service-photo img{aspect-ratio:1}.services-intro h2{font-size:43px}.service-top h3{font-size:17px}.service-top span{font-size:12px}.service p{font-size:12px}.service-note p{font-size:12px}.service-note small{font-size:10px}.artist-section{grid-template-columns:1fr;gap:35px}.artist-photo{padding-right:30px}.artist-copy .eyebrow{margin-bottom:18px}.artist-copy .large-copy{font-size:27px;margin-top:20px}.artist-copy>p:not(.eyebrow):not(.large-copy){font-size:13px}.visit-layout{grid-template-columns:1fr;gap:35px}.visit-layout>div>p{font-size:13px;margin-block:20px 14px}.booking-steps{gap:27px}.booking-steps li{gap:21px}.booking-steps p{font-size:12px}.final-section{grid-template-columns:1fr;gap:35px;padding-bottom:65px}.final-copy h2{font-size:54px}.final-copy p{font-size:13px;max-width:260px}.final-photo{max-width:280px;width:80%;justify-self:end;margin-right:17px}.footer-top{display:block;padding-block:30px}.footer-links{flex-wrap:wrap;gap:22px;margin-top:26px;font-size:11px}.footer-bottom{display:flex;flex-direction:column;gap:13px;font-size:9px;line-height:1.8}.site-footer{padding-bottom:105px}.mobile-booking{display:flex;position:fixed;z-index:25;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.mobile-booking>span{font-size:10px;max-width:98px;line-height:1.6;color:var(--muted)}.mobile-booking .button{min-height:44px;padding:9px 15px;font-size:11px;gap:20px}.lightbox{max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;margin:0}.lightbox-inner{padding:12px 15px;height:100%;display:flex;flex-direction:column}.lightbox-top{margin:0 0 15px}.lightbox-stage{grid-template-columns:1fr 1fr;gap:8px;flex:1;align-content:center}.lightbox-image{grid-column:1/-1;grid-row:1;height:auto;max-height:65dvh;object-fit:contain;aspect-ratio:1}.lightbox-prev{grid-column:1;grid-row:2;justify-self:start}.lightbox-next{grid-column:2;grid-row:2;justify-self:end}.lightbox-bottom{padding:5px 0 20px;display:block}.lightbox-bottom h2{font-size:30px}.lightbox-bottom a{display:inline-block;margin-top:18px}.lightbox-stage button{border:1px solid var(--line);border-radius:4px;min-width:58px}.lightbox-image.is-loading{opacity:.4}}
@media (max-width:360px){.hero h1{font-size:59px}.hero-actions{gap:12px}.hero .button{padding-inline:12px;font-size:10px}.hero .text-link{font-size:10px}.services-intro{grid-template-columns:1fr 95px}.services-intro h2{font-size:39px}.service-top h3{font-size:15px}.mobile-booking>span{font-size:9px}.final-copy h2{font-size:48px}}
@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.photo-link:hover img,.button:active{transform:none}}

:root[data-theme="dark"]{--paper:#241f1b;--ink:#eee3d8;--muted:#c5b7aa;--panel:#302923;--line:#56493d;--accent:#d2af94;--button:#dec4af;--button-text:#2c211a;--focus:#e4af89;color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}
.theme-toggle{border:0;background:none;padding:0;min-height:44px;font:inherit;text-decoration:underline;text-underline-offset:4px}
:root[data-theme="light"] .button:hover{background:var(--accent);border-color:var(--accent)}
@media(max-width:699px){:root{scroll-padding-bottom:100px}a,button{scroll-margin-bottom:100px}}
section[id]{scroll-margin-top:0}
.icon{display:inline-block;flex:none;width:20px;height:20px;background-color:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;vertical-align:middle}
.icon-diagonal{mask-image:url('icons/arrow-up-right.svg')}.icon-down{mask-image:url('icons/arrow-down.svg')}.icon-up{mask-image:url('icons/arrow-up.svg')}.icon-left{mask-image:url('icons/arrow-left.svg')}.icon-right{mask-image:url('icons/arrow-right.svg')}.icon-plus{mask-image:url('icons/plus.svg')}.icon-minus{mask-image:url('icons/minus.svg')}.icon-close{mask-image:url('icons/x.svg')}
.footer-links .icon,#lightbox-source .icon{width:14px;height:14px;margin-left:4px}.menu-toggle .icon{width:16px;height:16px}.view-photo .icon{width:20px;height:20px}.lightbox-stage .icon{width:24px;height:24px}
