:root{--white:#fff;--soft:#f6f6f4;--ink:#171717;--muted:#747474;--line:#dededb;--serif:Baskerville, "Times New Roman", serif;--sans:"Helvetica Neue", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f4f1eb;min-height:100%}body{min-height:100%;color:var(--ink);background:var(--white);font-family:var(--sans);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #865348}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{background:var(--white);z-index:30;justify-content:space-between;align-items:flex-start;height:clamp(174px,19vh,232px);padding:27px clamp(34px,4.6vw,94px);display:flex;position:relative}.brand{width:clamp(126px,9vw,180px);display:block}.brand img{width:100%;height:auto;display:block}.desktop-nav{align-items:center;gap:clamp(15px,1.55vw,32px);padding-top:37px;display:flex}.desktop-nav a{text-transform:uppercase;letter-spacing:.24em;white-space:nowrap;border-bottom:1px solid #0000;padding:7px 0;font-size:8.5px;line-height:1}.desktop-nav a:hover,.desktop-nav a.is-active{border-bottom-color:currentColor}.desktop-nav .booking-nav{border:1px solid var(--ink);padding:9px 12px}.desktop-nav .booking-nav:hover{color:var(--white);background:var(--ink)}.mobile-menu{display:none}.mobile-menu-button{z-index:74;width:46px;height:46px;color:var(--ink);appearance:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;place-content:center;gap:5px;padding:0;display:grid;position:relative}.mobile-menu-button>span{background:currentColor;width:25px;height:1px;transition:transform .26s cubic-bezier(.22,1,.36,1),width .22s;display:block}.mobile-menu-button>span:nth-child(2){justify-self:end;width:19px}.mobile-menu-button:active>span{width:21px}.mobile-menu.is-open .mobile-menu-button{visibility:hidden;color:#fff}.mobile-menu-backdrop{z-index:69;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11110f47;border:0;padding:0;animation:.26s both menu-backdrop-in;position:fixed;inset:0}.mobile-menu-panel{z-index:70;width:min(92vw,430px);height:100svh;padding:max(24px,env(safe-area-inset-top)) 28px max(28px,env(safe-area-inset-bottom));color:#f3f1ea;visibility:hidden;background:#1c1d19;flex-direction:column;transition:transform .42s cubic-bezier(.22,1,.36,1),visibility 0s linear .42s;display:flex;position:fixed;top:0;right:0;transform:translate(102%)}.mobile-menu.is-open .mobile-menu-panel{visibility:visible;transition-delay:0s;transform:translate(0)}.mobile-menu-panel>header{border-bottom:1px solid #3b3c36;justify-content:space-between;align-items:center;padding-bottom:22px;display:flex}.mobile-menu-panel>header>span{color:#8f9188;letter-spacing:.24em;text-transform:uppercase;font-size:8px}.mobile-menu-panel>header button{color:#fff;background:0 0;border:1px solid #474943;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid}.mobile-menu-panel svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.5px;width:18px}.mobile-menu-panel nav{margin:auto 0;display:grid}.mobile-menu-panel nav a{color:#d6d5cf;font-family:var(--serif);grid-template-columns:34px 1fr;align-items:baseline;gap:10px;padding:11px 0;font-size:clamp(27px,7.8vw,40px);line-height:1;transition:color .16s,transform .2s;display:grid}.mobile-menu-panel nav a>span{color:#6f7169;font-family:var(--sans);letter-spacing:.12em;font-size:8px}.mobile-menu-panel nav a:hover,.mobile-menu-panel nav a.is-active{color:#fff;transform:translate(5px)}.mobile-menu-panel nav a.is-active:after{content:"";background:#9f5b45;align-self:center;width:26px;height:1px;margin-left:44px}.mobile-menu-panel footer{border-top:1px solid #3b3c36;gap:22px;padding-top:22px;display:grid}.mobile-menu-panel footer>a{letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid #777970;justify-content:space-between;padding-bottom:10px;font-size:9px;display:flex}.mobile-menu-panel footer small{color:#777970;letter-spacing:.13em;text-transform:uppercase;font-size:7px}.portfolio-home{padding:0 clamp(34px,4.2vw,86px) clamp(78px,7vw,130px)}.home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,.65vw,15px);display:grid}.home-card,.home-wide-card{background:#ececea;animation:.76s cubic-bezier(.22,1,.36,1) both editorial-rise;display:block;position:relative;overflow:hidden}.progressive-photo{opacity:.58;filter:saturate(.78)contrast(.96);transition:opacity .52s cubic-bezier(.22,1,.36,1),filter .68s,transform .65s cubic-bezier(.22,1,.36,1)}.progressive-photo[data-loaded=true]{opacity:1;filter:none}.progressive-photo[data-error=true]{opacity:.16}.home-card:nth-child(2){animation-delay:70ms}.home-card:nth-child(3){animation-delay:.14s}.home-card:nth-child(4){animation-delay:.21s}.home-card{min-height:min(68vw,920px)}.home-card img,.home-wide-card img,.category-index-card img{object-fit:cover;transition:transform .62s,filter .26s}.home-card:hover img,.home-wide-card:hover img,.category-index-card:hover img{filter:brightness(.72);transform:scale(1.016)}.home-card span,.home-wide-card span{z-index:2;color:var(--white);letter-spacing:.26em;text-transform:uppercase;opacity:0;font-size:9px;transition:opacity .2s,transform .2s;position:absolute;bottom:18px;left:19px;transform:translateY(5px)}.home-card:hover span,.home-wide-card:hover span{opacity:1;transform:none}.home-more{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 clamp(34px,7vw,142px) clamp(70px,8vw,140px);display:grid}.home-wide-card{min-height:64vw;max-height:940px}.home-wide-card:nth-child(2){animation-delay:90ms}.home-links{justify-content:center;gap:clamp(34px,7vw,110px);padding:0 24px 35px;display:flex}.home-links a,.underlined-link{letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:6px;font-size:9px}.preview-note{color:#969696;letter-spacing:.08em;text-align:center;margin:0 20px 90px;font-size:8.5px}.page-heading{text-align:center;padding:20px 24px clamp(70px,8vw,132px)}.page-heading p,.page-kicker{letter-spacing:.27em;text-transform:uppercase;margin:0 0 18px;font-size:9px}.page-heading h1{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:clamp(34px,4vw,66px);font-weight:400;line-height:1}.page-heading span{max-width:550px;color:var(--muted);font-family:var(--serif);margin:27px auto 0;font-size:18px;line-height:1.5;display:block}.page-heading>*{animation:.7s cubic-bezier(.22,1,.36,1) both editorial-rise}.page-heading>h1{animation-delay:60ms}.page-heading>span{animation-delay:.13s}.compact-heading{padding-top:0}.category-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:70px 14px;padding:0 clamp(34px,5vw,100px) clamp(90px,10vw,170px);display:grid}.category-index-card{content-visibility:auto;contain-intrinsic-size:0 820px}.category-index-card>div{background:#ececea;min-height:min(47vw,740px);position:relative;overflow:hidden}.category-index-card h2{letter-spacing:.24em;text-transform:uppercase;margin:14px 0 0;font-size:9px;font-weight:400}.gallery-heading{padding-bottom:72px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:0 clamp(28px,4vw,82px);display:grid}.gallery-thumb{isolation:isolate;cursor:zoom-in;content-visibility:auto;contain-intrinsic-size:0 720px;min-height:min(43vw,720px);animation:.64s cubic-bezier(.22,1,.36,1) both gallery-reveal;animation-delay:calc(min(var(--gallery-index), 8) * 55ms);background:#ececea;border:0;padding:0;position:relative;overflow:hidden}.gallery-thumb:before,.home-card:before,.home-wide-card:before,.category-index-card>div:before{z-index:0;content:"";background:linear-gradient(105deg,#dedbd3 8%,#eeebe4 26%,#d8d4cc 44%) 0 0/220% 100%;transition:opacity .32s;animation:1.45s ease-in-out infinite photo-shimmer;position:absolute;inset:0}.gallery-thumb:has(.progressive-photo[data-loaded=true]):before{opacity:0;animation:none}.home-card:has(.progressive-photo[data-loaded=true]):before{opacity:0;animation:none}.home-wide-card:has(.progressive-photo[data-loaded=true]):before{opacity:0;animation:none}.category-index-card>div:has(.progressive-photo[data-loaded=true]):before{opacity:0;animation:none}.gallery-thumb:nth-child(3n+2){min-height:min(36vw,610px)}.gallery-thumb img{z-index:1;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1),filter .32s,opacity .52s cubic-bezier(.22,1,.36,1)}.gallery-thumb:hover img{filter:brightness(.93);transform:scale(1.018)}.gallery-thumb-index{z-index:2;color:#fff;letter-spacing:.14em;opacity:0;background:#12121094;padding:6px 7px;font-size:7px;transition:opacity .18s,transform .18s;position:absolute;bottom:12px;right:13px;transform:translateY(4px)}.gallery-thumb:hover .gallery-thumb-index,.gallery-thumb:focus-visible .gallery-thumb-index{opacity:1;transform:none}.gallery-category-nav{flex-wrap:wrap;justify-content:center;gap:22px 40px;padding:0 24px 52px;display:flex}.gallery-category-nav a{letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid #0000;padding-bottom:5px;font-size:8.5px}.gallery-category-nav a:hover,.gallery-category-nav a.active{border-bottom-color:currentColor}.portfolio-album-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(42px,6vw,90px) 14px;padding:0 clamp(28px,4vw,82px) clamp(90px,10vw,160px);display:grid}.portfolio-album-card>div{background:#e9e7e1;min-height:min(57vw,830px);position:relative;overflow:hidden}.portfolio-album-card>div img{object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .4s}.portfolio-album-card>div>span{color:#fff;letter-spacing:.18em;text-transform:uppercase;opacity:0;background:#1414122e;border:1px solid #ffffffa3;padding:9px 11px;font-size:7px;transition:opacity .22s,transform .32s cubic-bezier(.16,1,.3,1);position:absolute;bottom:18px;right:18px;transform:translateY(6px)}.portfolio-album-card:hover>div img{filter:brightness(.82);transform:scale(1.018)}.portfolio-album-card:hover>div>span{opacity:1;transform:none}.portfolio-album-card footer{grid-template-columns:35px minmax(0,1fr) auto;align-items:start;gap:14px;padding-top:17px;display:grid}.portfolio-album-card footer>span,.portfolio-album-card time{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:8px}.portfolio-album-card h2{font-family:var(--serif);margin:0;font-size:clamp(28px,3vw,46px);font-weight:400;line-height:1}.portfolio-album-card footer p{max-width:520px;color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.65}.portfolio-loose-heading{padding:0 clamp(28px,4vw,82px) 34px}.portfolio-loose-heading p{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;font-size:8px}.portfolio-loose-heading h2{font-family:var(--serif);margin:0;font-size:clamp(30px,4vw,54px);font-weight:400}.album-breadcrumb{padding:0 clamp(28px,4vw,82px) 24px}.album-breadcrumb a{letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px;font-size:8px}.album-page-heading{padding-top:28px}.lightbox{z-index:100;color:#171714;background:#f4f1eb;grid-template-rows:72px minmax(0,1fr) 62px;grid-template-columns:76px minmax(0,1fr) 76px;animation:.24s both lightbox-in;display:grid;position:fixed;inset:0}.lightbox-topbar{padding:max(14px,env(safe-area-inset-top)) 26px 10px;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.lightbox-topbar>span{color:#77766f;letter-spacing:.19em;text-transform:uppercase;font-size:8px}.lightbox-close{color:#171714;cursor:pointer;background:#ffffffc2;border:1px solid #c9c7bf;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:color .18s,background .18s,transform .22s;display:grid}.lightbox-close:hover{color:#fff;background:#171714;transform:rotate(5deg)}.lightbox-close svg,.lightbox-arrow svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:20px}.lightbox-stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#f4f1eb;grid-area:2/2;position:relative;overflow:hidden}.lightbox-stage.is-zoomed{cursor:move}.lightbox-stage:active{cursor:grabbing}.lightbox-media{transform-origin:50%;backface-visibility:hidden;will-change:transform;position:absolute;inset:0;overflow:hidden}.lightbox-media-active{z-index:1;transform:translate3d(var(--media-x,0px),var(--media-y,0px),0) scale(var(--media-scale,1));transition:transform .32s cubic-bezier(.22,1,.36,1)}.lightbox-media-switching-next{animation:.39s cubic-bezier(.16,1,.3,1) both lightbox-photo-settle-next}.lightbox-media-switching-previous{animation:.39s cubic-bezier(.16,1,.3,1) both lightbox-photo-settle-previous}.lightbox-stage.is-gesturing .lightbox-media-active{transition:none}.lightbox-media img{object-fit:contain;-webkit-user-drag:none}.lightbox-arrow{z-index:2;color:#171714;cursor:pointer;background:#ffffffb8;border:1px solid #ceccc4;border-radius:50%;align-self:center;place-items:center;width:48px;height:48px;padding:0;transition:color .18s,background .18s,transform .2s;display:grid}.lightbox-arrow:hover{color:#fff;background:#171714;transform:scale(1.06)}.lightbox-arrow:disabled{pointer-events:none;opacity:.45}.lightbox-previous{grid-area:2/1;justify-self:center}.lightbox-next{grid-area:2/3;justify-self:center}.lightbox-footer{padding:8px 28px max(14px,env(safe-area-inset-bottom));grid-area:3/1/auto/-1;justify-content:space-between;align-items:center;display:flex}.lightbox-count{letter-spacing:.14em;align-items:baseline;gap:7px;margin:0;font-size:8px;display:flex}.lightbox-count strong{font-family:var(--serif);font-size:21px;font-weight:400}.lightbox-count span,.lightbox-gesture-hint{color:#8a8982}.lightbox-gesture-hint{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:7px}@keyframes menu-backdrop-in{0%{opacity:0}}@keyframes gallery-reveal{0%{opacity:0;transform:translateY(18px)}}@keyframes photo-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes lightbox-in{0%{opacity:0}}@keyframes lightbox-photo-settle-next{0%{transform:translate(12px)scale(1.008)}to{transform:translate(0,0)scale(1)}}@keyframes lightbox-photo-settle-previous{0%{transform:translate(-12px)scale(1.008)}to{transform:translate(0,0)scale(1)}}@keyframes editorial-rise{0%{opacity:0;transform:translateY(22px)}}@keyframes image-unveil{0%{opacity:.25;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}.about-page{background:var(--soft);grid-template-columns:1fr 1fr;min-height:820px;display:grid}.about-page-image{min-height:760px;position:relative;overflow:hidden}.about-page-image img{object-fit:cover;filter:grayscale()}.about-page-copy{flex-direction:column;justify-content:center;max-width:690px;padding:clamp(70px,8vw,154px);display:flex}.about-page-image,.editorial-hero-image{animation:.9s cubic-bezier(.22,1,.36,1) both image-unveil}.about-page-copy>*,.editorial-hero-copy>*,.contact-copy>*,.contact-form>*{animation:.72s cubic-bezier(.22,1,.36,1) both editorial-rise}.about-page-copy>:nth-child(2),.editorial-hero-copy>:nth-child(2),.contact-copy>:nth-child(2),.contact-form>:nth-child(2){animation-delay:70ms}.about-page-copy>:nth-child(n+3),.editorial-hero-copy>:nth-child(n+3),.contact-copy>:nth-child(n+3),.contact-form>:nth-child(n+3){animation-delay:.13s}.about-page-copy h1,.editorial-hero-copy h1,.contact-copy h1{font-family:var(--serif);margin:0 0 42px;font-size:clamp(54px,6.5vw,108px);font-weight:400;line-height:.9}.about-page-copy .lead{color:var(--ink);font-family:var(--serif);font-size:clamp(23px,2vw,34px);line-height:1.35}.about-page-copy>p:not(.page-kicker){color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.8}.about-page-copy .underlined-link{align-self:flex-start;margin-top:24px}.about-page-copy small{color:#9b9b9b;letter-spacing:.08em;margin-top:50px;font-size:8px}.editorial-hero{grid-template-columns:1.35fr .65fr;min-height:720px;padding:0 clamp(34px,4.2vw,86px) clamp(90px,10vw,170px);display:grid}.editorial-hero-image{min-height:720px;position:relative;overflow:hidden}.editorial-hero-image img{object-fit:cover}.editorial-hero-copy{background:var(--soft);flex-direction:column;justify-content:center;padding:clamp(50px,6vw,110px);display:flex}.editorial-hero-copy h1{font-size:clamp(48px,5.6vw,94px)}.editorial-hero-copy>p:not(.page-kicker){color:var(--muted);font-family:var(--serif);margin:0 0 32px;font-size:20px;line-height:1.55}.editorial-hero-copy .underlined-link{align-self:flex-start}.workshop-details{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 clamp(34px,7vw,142px) clamp(100px,11vw,180px);display:grid}.workshop-details article{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:290px;padding:30px clamp(24px,3vw,52px)}.workshop-details article:first-child{padding-left:0}.workshop-details article:last-child{border-right:0;padding-right:0}.workshop-details span{color:var(--muted);font-size:9px}.workshop-details h2{font-family:var(--serif);margin:58px 0 18px;font-size:38px;font-weight:400}.workshop-details p{color:var(--muted);margin:0;font-size:12px;line-height:1.75}.shop-grid,.pricing-list{border-top:1px solid var(--line);max-width:1300px;margin:0 auto;padding:0 34px clamp(100px,11vw,180px)}.shop-grid article,.pricing-list article{border-bottom:1px solid var(--line);grid-template-columns:55px 1.2fr 1fr .55fr;align-items:center;gap:30px;padding:32px 0;display:grid}.shop-grid span,.pricing-list span{color:var(--muted);font-size:9px}.shop-grid h2,.pricing-list h2{font-family:var(--serif);margin:0 0 8px;font-size:clamp(26px,2.4vw,42px);font-weight:400}.shop-grid p,.pricing-list p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.shop-grid strong,.pricing-list strong{letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:400}.shop-grid a{border:1px solid var(--ink);letter-spacing:.17em;text-transform:uppercase;justify-self:end;padding:10px 14px;font-size:8.5px}.pricing-list article{grid-template-columns:55px .9fr 1.3fr .6fr}.booking-section{background:var(--soft);grid-template-columns:.67fr 1.33fr;gap:clamp(65px,10vw,170px);padding:clamp(90px,10vw,170px) clamp(34px,7vw,142px);display:grid}.booking-copy h2{font-family:var(--serif);margin:0 0 30px;font-size:clamp(48px,5.5vw,90px);font-weight:400;line-height:1}.booking-copy>p:last-child{max-width:430px;color:var(--muted);margin:0;font-size:13px;line-height:1.8}.booking-form{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:28px 22px;display:grid}.booking-page-first{padding-top:clamp(70px,8vw,120px)}.booking-copy h1{font-family:var(--serif);margin:0 0 30px;font-size:clamp(48px,5.5vw,90px);font-weight:400;line-height:1}.booking-service-summary{color:var(--muted);justify-content:space-between;gap:20px;padding:13px 0 2px;display:flex}.booking-service-summary p{font-family:var(--serif);margin:0;font-size:15px;line-height:1.45}.booking-service-summary strong{color:var(--ink);letter-spacing:.13em;text-transform:uppercase;flex:none;font-size:8px;font-weight:500}.booking-services{grid-template-columns:.64fr 1.36fr;gap:clamp(60px,8vw,145px);padding:clamp(90px,10vw,160px) clamp(34px,7vw,142px);display:grid}.booking-services>header h2{font-family:var(--serif);margin:0;font-size:clamp(42px,5vw,76px);font-weight:400;line-height:1}.booking-services>header>p:last-child{max-width:430px;color:var(--muted);margin:26px 0 0;font-size:12px;line-height:1.7}.booking-services>div{border-top:1px solid var(--line)}.booking-services article{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:22px;padding:27px 0;display:grid}.booking-services article>span{color:var(--muted);font-size:8px}.booking-services h3{font-family:var(--serif);margin:0;font-size:28px;font-weight:400}.booking-services article p{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.6}.booking-services article>strong{letter-spacing:.13em;text-transform:uppercase;padding-top:5px;font-size:8px;font-weight:500}.field{flex-direction:column;gap:8px;display:flex}.field-wide{grid-column:1/-1}.field label,.consent{text-transform:uppercase;letter-spacing:.16em;font-size:9px}.field label span{color:#999;text-transform:none;letter-spacing:0}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #aaa;border-radius:0;outline:none;padding:11px 0 13px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--ink)}.booking-intent-switch{background:#ffffff75;border:1px solid #bdb9af;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.booking-intent-switch button{min-height:92px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:28px 1fr;gap:7px 10px;padding:18px;transition:color .18s,background .18s;display:grid}.booking-intent-switch button+button{border-left:1px solid #bdb9af}.booking-intent-switch button.is-selected{color:#fff;background:var(--ink)}.booking-intent-switch button>span{opacity:.55;letter-spacing:.12em;grid-row:1/3;font-size:8px}.booking-intent-switch strong{font-family:var(--serif);align-self:end;font-size:22px;font-weight:400}.booking-intent-switch small{opacity:.65;letter-spacing:.08em;text-transform:uppercase;font-size:8px}.booking-service-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.booking-service-options button{min-height:108px;color:var(--ink);cursor:pointer;text-align:left;background:#ffffff80;border:1px solid #c2beb4;gap:8px;padding:17px;transition:color .17s,background .17s,border-color .17s,transform .17s;display:grid;position:relative}.booking-service-options button:hover{border-color:var(--ink);transform:translateY(-1px)}.booking-service-options button.is-selected{border-color:var(--ink);color:#fff;background:var(--ink)}.booking-service-options strong{font-family:var(--serif);font-size:20px;font-weight:400}.booking-service-options span{opacity:.7;font-size:9px;line-height:1.45}.booking-service-options small{letter-spacing:.12em;text-transform:uppercase;align-self:end;font-size:7px}.booking-call-intro{background:#ffffff80;border:1px solid #c2beb4;justify-content:space-between;align-items:center;gap:24px;padding:19px 21px;display:flex}.booking-call-intro span{color:#8a5a48;letter-spacing:.16em;text-transform:uppercase;flex:none;font-size:8px}.booking-call-intro p{color:var(--muted);font-family:var(--serif);margin:0;font-size:16px;line-height:1.4}.booking-scheduler{contain:layout paint;background:#ffffffa8;border:1px solid #c9c6be;margin-top:4px;overflow:hidden}.booking-scheduler-header{border-bottom:1px solid #d7d3ca;grid-template-columns:54px 1fr 54px;align-items:stretch;min-height:72px;display:grid}.booking-scheduler-header>div{align-content:center;justify-items:center;gap:4px;display:grid}.booking-scheduler-header small{color:#77746d;letter-spacing:.13em;text-transform:uppercase;font-size:7px}.booking-scheduler-header strong{font-family:var(--serif);font-size:23px;font-weight:400}.booking-scheduler-header button{color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:color .16s,background .16s;display:grid}.booking-scheduler-header button>span{font-family:var(--serif);font-size:34px;line-height:1;transform:translateY(-2px)}.booking-scheduler-header button:hover:not(:disabled){color:#fff;background:var(--ink)}.booking-scheduler-header button:disabled{color:#c3c0b7;cursor:not-allowed}.booking-schedule-desktop{grid-template-columns:64px repeat(7,minmax(0,1fr));transition:opacity .18s;display:grid}.booking-schedule-desktop.is-loading{opacity:.42;pointer-events:none}.booking-schedule-corner,.booking-schedule-day{background:0 0;border:0;border-bottom:1px solid #d7d3ca;min-height:62px}.booking-schedule-corner{color:#8b887f;letter-spacing:.1em;text-transform:uppercase;place-items:center;font-size:7px;display:grid}.booking-schedule-day{color:var(--ink);cursor:pointer;text-align:center;border-left:1px solid #e1ddd5;place-content:center;gap:3px;display:grid}.booking-schedule-day span{letter-spacing:.13em;text-transform:uppercase;font-size:7px}.booking-schedule-day strong{font-family:var(--serif);font-size:20px;font-weight:400}.booking-schedule-day:hover:not(:disabled),.booking-schedule-day.is-selected{color:#fff;background:var(--ink)}.booking-schedule-day:disabled{color:#aaa79e;cursor:not-allowed}.booking-schedule-row{grid-column:1/-1;grid-template-columns:64px repeat(7,minmax(0,1fr));min-height:48px;display:grid}.booking-schedule-row>*{border:0;border-bottom:1px solid #e4e0d8}.booking-schedule-time{color:#77746d;font-family:var(--serif);place-items:center;font-size:13px;display:grid}.booking-schedule-row button,.booking-schedule-row .is-closed{border-left:1px solid #e4e0d8}.booking-schedule-row button{color:#536155;cursor:pointer;background:#f0eee8;padding:0;transition:color .15s,background .15s,transform .15s;position:relative}.booking-schedule-row button:before{content:"";background:#6e846f;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.booking-schedule-row button span{letter-spacing:.08em;text-transform:uppercase;font-size:7px}.booking-schedule-row button:hover,.booking-schedule-row button.is-selected{z-index:1;color:#fff;background:var(--ink);transform:scale(1.02)}.booking-schedule-row button:hover:before,.booking-schedule-row button.is-selected:before{background:#fff}.booking-schedule-row .is-closed{background:repeating-linear-gradient(135deg,#0000,#0000 7px,#59534809 7px 8px)}.booking-schedule-mobile{display:none}.booking-scheduler-footer{color:#77746d;letter-spacing:.11em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;padding:13px 15px;font-size:7px;display:flex}.booking-scheduler-footer span{align-items:center;gap:7px;display:flex}.booking-scheduler-footer i{background:#f0eee8;border:1px solid #6e846f;width:7px;height:7px}.booking-calendar-selection{color:#425b4d;font-family:var(--serif);border-top:1px solid #d7d3ca;margin:0;padding:13px 15px;font-size:15px}.booking-calendar-error{color:#8a1f11;border-top:1px solid #d7d3ca;justify-content:space-between;align-items:center;gap:15px;margin:0;padding:12px 15px;font-size:10px;display:flex}.booking-calendar-error button{color:inherit;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid;flex:none;padding:7px 10px;font-size:8px}.booking-selection-summary{border:1px solid var(--ink);color:#fff;background:var(--ink);grid-template-columns:1fr 1fr 1fr;animation:.28s cubic-bezier(.22,1,.36,1) both booking-time-in;display:grid}.booking-selection-summary>div,.booking-selection-summary>label{border-right:1px solid #454641;align-content:center;gap:8px;min-height:94px;padding:17px;display:grid}.booking-selection-summary>:last-child{border-right:0}.booking-selection-summary span{color:#999b94;letter-spacing:.15em;text-transform:uppercase;font-size:7px}.booking-selection-summary strong{font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.25}.booking-selection-summary select{color:#fff;width:100%;font-family:var(--serif);background:0 0;border:0;border-bottom:1px solid #6d6e68;border-radius:0;outline:none;padding:4px 18px 5px 0;font-size:18px}.booking-time-confirmation{color:#425b4d;letter-spacing:.1em;text-transform:uppercase;margin:-14px 0 0;font-size:8px}@keyframes booking-time-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.consent{color:var(--muted);align-items:center;gap:11px;line-height:1.5;display:flex}.consent input{width:16px;height:16px;accent-color:var(--ink)}.booking-submit{justify-content:space-between;align-items:center;gap:24px;margin-top:8px;display:flex}.booking-submit p{max-width:380px;color:var(--muted);margin:0;font-size:10px;line-height:1.65}.button,.primary-button{border:1px solid var(--ink);min-height:48px;color:var(--white);background:var(--ink);letter-spacing:.17em;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;padding:15px 22px;font-size:9px;font-weight:500;transition:color .16s,background .16s;display:inline-flex}.button:hover,.primary-button:hover{color:var(--ink);background:0 0}.button:disabled,.primary-button:disabled{cursor:wait;opacity:.55}.form-message{color:#8a1f11;margin:-8px 0 0;font-size:12px}.form-message.is-success{color:#315441}.contact-page{grid-template-columns:.8fr 1.2fr;gap:clamp(70px,11vw,190px);min-height:690px;padding:0 clamp(34px,8vw,165px) clamp(100px,11vw,180px);display:grid}.contact-copy h1{font-size:clamp(50px,6vw,100px)}.contact-copy>p:not(.page-kicker){max-width:490px;color:var(--muted);font-family:var(--serif);margin:0;font-size:19px;line-height:1.55}.contact-details{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;gap:30px;margin-top:55px;font-size:9px;display:flex}.contact-form{align-content:start;gap:28px;display:grid}.contact-form label{letter-spacing:.16em;text-transform:uppercase;gap:8px;font-size:9px;display:grid}.contact-form label span{color:#999;text-transform:none;letter-spacing:0}.contact-form input,.contact-form select,.contact-form textarea{color:var(--ink);background:0 0;border:0;border-bottom:1px solid #aaa;border-radius:0;outline:none;padding:11px 0 13px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:var(--ink)}.contact-form .primary-button{justify-self:start}.form-status{margin:0;font-size:12px}.form-status.error{color:#8a1f11}.contact-call-fields{border:1px solid var(--line);background:var(--soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:24px;animation:.28s cubic-bezier(.22,1,.36,1) both booking-time-in;display:grid}.site-footer{background:var(--white);padding:clamp(85px,10vw,160px) clamp(34px,7vw,142px) 34px}.footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:clamp(250px,25vw,440px);padding-bottom:clamp(72px,9vw,140px);display:grid}.footer-signature{justify-content:flex-start;align-items:center;display:flex}.footer-signature img{width:clamp(250px,31vw,570px);height:auto;display:block}.footer-conversation{text-align:right;flex-direction:column;justify-content:center;align-items:flex-end;display:flex}.footer-main p{letter-spacing:.22em;text-transform:uppercase;margin:0 0 18px;font-size:9px}.footer-conversation>a{font-family:var(--serif);border-bottom:1px solid;padding-bottom:6px;font-size:clamp(24px,2.6vw,44px)}.pricing-faq{grid-template-columns:.7fr 1.3fr;gap:clamp(60px,9vw,150px);padding:clamp(90px,10vw,160px) clamp(34px,7vw,142px);display:grid}.pricing-faq header h2{max-width:420px;font-family:var(--serif);margin:0;font-size:clamp(42px,5vw,78px);font-weight:400;line-height:1}.pricing-faq>div{border-top:1px solid var(--line)}.pricing-faq article{border-bottom:1px solid var(--line);grid-template-columns:42px .8fr 1.2fr;gap:25px;padding:27px 0;display:grid}.pricing-faq article>span{color:var(--muted);font-size:8px}.pricing-faq h3{font-family:var(--serif);margin:0;font-size:24px;font-weight:400}.pricing-faq article p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.footer-meta{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;padding-top:24px;font-size:9px;display:flex}.footer-meta p{margin:0}.footer-meta>div{gap:24px;display:flex}.legal-page,.success-page{background:var(--soft);min-height:100svh;padding:clamp(40px,7vw,100px) clamp(24px,8vw,150px)}.text-link{letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:16px;padding-bottom:5px;font-size:9px;display:inline-flex}.eyebrow{letter-spacing:.22em;text-transform:uppercase;margin:100px 0 18px;font-size:9px}.legal-page h1,.success-page h1{max-width:960px;font-family:var(--serif);margin:0;font-size:clamp(52px,8vw,128px);font-weight:400;line-height:1}.legal-copy{max-width:800px;margin:90px 0 0 auto}.legal-copy section{border-top:1px solid var(--line);grid-template-columns:.7fr 1.3fr;gap:40px;padding:28px 0;display:grid}.legal-copy h2{font-family:var(--serif);margin:0;font-weight:400}.legal-copy p{color:var(--muted);margin:0;line-height:1.7}.success-page{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.success-page>p:not(.eyebrow){max-width:600px;color:var(--muted);font-family:var(--serif);margin:40px 0;font-size:22px;line-height:1.5}@media (max-width:1120px){.site-header{height:132px;padding:21px 26px}.desktop-nav{display:none}.mobile-menu{margin-top:6px;display:block;position:relative}.booking-section,.booking-services,.contact-page,.pricing-faq{grid-template-columns:1fr}}@media (max-width:760px){.site-header{height:108px;padding:15px 20px}.brand{width:143px}.portfolio-home{padding:0 20px 70px}.home-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin-right:-20px;display:flex;overflow-x:auto}.home-grid::-webkit-scrollbar{display:none}.home-card{scroll-snap-align:start;flex:0 0 86vw;min-height:70svh}.home-card span,.home-wide-card span{opacity:1;background:#0000006b;padding:8px 10px;transform:none}.home-more{grid-template-columns:1fr;gap:10px;padding:0 20px 68px}.home-wide-card{min-height:72svh}.home-links{flex-direction:column;align-items:center;gap:28px}.page-heading{padding:16px 20px 64px}.page-heading h1{font-size:30px}.page-heading span{font-size:16px}.category-index{grid-template-columns:1fr;gap:48px;padding:0 20px 95px}.category-index-card>div{min-height:118vw}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 10px}.gallery-thumb,.gallery-thumb:nth-child(3n+2){min-height:64vw}.gallery-thumb-index{opacity:1;transform:none}.gallery-category-nav{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:16px 24px;padding:0 20px 40px;overflow-x:auto}.gallery-category-nav::-webkit-scrollbar{display:none}.gallery-category-nav a{flex:none}.portfolio-album-index{grid-template-columns:1fr;gap:50px;padding:0 10px 100px}.portfolio-album-card>div{min-height:125vw}.portfolio-album-card>div>span{opacity:1;transform:none}.portfolio-album-card footer{grid-template-columns:28px 1fr;padding:14px 8px 0}.portfolio-album-card time{grid-column:2}.portfolio-album-card h2{font-size:34px}.portfolio-loose-heading{padding:0 18px 30px}.album-breadcrumb{padding:0 20px 30px}.album-page-heading{padding-top:12px}.lightbox{grid-template-rows:68px minmax(0,1fr) 64px;grid-template-columns:68px minmax(0,1fr) 68px}.lightbox-topbar{padding-left:18px;padding-right:18px}.lightbox-topbar>span{text-overflow:ellipsis;white-space:nowrap;max-width:55vw;overflow:hidden}.lightbox-arrow{width:44px;height:44px}.lightbox-gesture-hint{display:none}.lightbox-footer{justify-content:center}.about-page{grid-template-columns:1fr;min-height:0}.about-page-image{min-height:68svh}.about-page-copy{padding:74px 20px}.about-page-copy h1,.editorial-hero-copy h1,.contact-copy h1{font-size:52px}.editorial-hero{grid-template-columns:1fr;padding:0 20px 90px}.editorial-hero-image{min-height:65svh}.editorial-hero-copy{padding:62px 22px}.workshop-details{grid-template-columns:1fr;padding:0 20px 95px}.workshop-details article,.workshop-details article:first-child,.workshop-details article:last-child{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.shop-grid,.pricing-list{padding:0 20px 95px}.shop-grid article,.pricing-list article{grid-template-columns:34px 1fr;gap:18px}.shop-grid strong,.pricing-list strong{grid-column:2}.shop-grid a{grid-column:2;justify-self:start}.booking-section{gap:48px;padding:72px 16px}.booking-copy h1,.booking-copy h2{font-size:50px}.booking-form{grid-template-columns:1fr;gap:24px}.field-wide{grid-column:1}.booking-submit{flex-direction:column;align-items:stretch}.button{width:100%}.booking-intent-switch button{grid-template-columns:1fr;min-height:112px;padding:14px}.booking-intent-switch button>span{grid-row:auto}.booking-intent-switch strong{font-size:19px}.booking-intent-switch small{line-height:1.4}.booking-service-options{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-service-options button{min-height:88px;padding:13px}.booking-service-options strong{font-size:17px;line-height:1.08}.booking-service-options span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:8px;display:-webkit-box;overflow:hidden}.booking-call-intro{flex-direction:column;align-items:flex-start;gap:10px}.booking-scheduler-header{grid-template-columns:48px 1fr 48px;min-height:68px}.booking-scheduler-header strong{font-size:20px}.booking-schedule-desktop{display:none}.booking-schedule-mobile{transition:opacity .18s;display:block}.booking-schedule-mobile.is-loading{opacity:.4;pointer-events:none;min-height:184px}.booking-schedule-mobile.has-error .booking-mobile-times{display:none}.booking-day-strip{border-bottom:1px solid #d7d3ca;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.booking-day-strip button{min-width:0;min-height:70px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-right:1px solid #e2ded6;place-content:center;gap:5px;padding:7px 0;display:grid;position:relative}.booking-day-strip button:last-child{border-right:0}.booking-day-strip button span{letter-spacing:.08em;text-transform:uppercase;font-size:7px}.booking-day-strip button strong{font-family:var(--serif);font-size:19px;font-weight:400}.booking-day-strip button i{background:#6e846f;border-radius:50%;justify-self:center;width:4px;height:4px}.booking-day-strip button.is-selected{color:#fff;background:var(--ink)}.booking-day-strip button.is-selected i{background:#fff}.booking-day-strip button:disabled{color:#aaa79e;cursor:not-allowed}.booking-day-strip button:disabled i{background:#c9c6be}.booking-mobile-times{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px;min-height:184px;padding:13px;display:grid}.booking-mobile-times button{min-height:64px;color:var(--ink);cursor:pointer;text-align:left;background:#f4f2ec;border:1px solid #c7c3b9;gap:5px;padding:11px 12px;display:grid}.booking-mobile-times button strong{font-family:var(--serif);font-size:20px;font-weight:400}.booking-mobile-times button span{color:#667668;letter-spacing:.1em;text-transform:uppercase;font-size:7px}.booking-mobile-times button.is-selected{color:#fff;border-color:var(--ink);background:var(--ink)}.booking-mobile-times button.is-selected span{color:#c6cec7}.booking-mobile-times>p{color:var(--muted);font-family:var(--serif);text-align:center;grid-column:1/-1;margin:30px 0}.booking-scheduler-footer{flex-direction:column;align-items:flex-start;gap:8px}.booking-calendar-selection{font-size:14px;line-height:1.45}.booking-selection-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-selection-summary>div,.booking-selection-summary>label{min-height:88px;padding:14px}.booking-selection-summary>div:nth-child(2){border-right:0}.booking-selection-summary>label{border-top:1px solid #454641;grid-column:1/-1}.booking-selection-summary strong,.booking-selection-summary select{font-size:16px}.booking-time-confirmation{margin-top:-10px;line-height:1.5}.booking-services{gap:48px;padding:82px 20px}.booking-services article{grid-template-columns:30px 1fr}.booking-services article>strong{grid-column:2}.contact-page{gap:58px;padding:0 20px 95px}.contact-details{flex-direction:column;gap:13px}.contact-form .primary-button{width:100%}.contact-call-fields{grid-template-columns:1fr;padding:20px}.site-footer{padding:84px 20px 28px}.footer-main{grid-template-columns:1fr;align-items:center;gap:62px;min-height:0}.footer-signature{justify-content:flex-start}.footer-signature img{width:min(92vw,380px)}.footer-conversation{text-align:left;align-items:flex-start}.footer-meta{flex-direction:column;gap:12px;line-height:1.5}.footer-meta>div{flex-direction:column;gap:8px}.pricing-faq{gap:55px;padding:82px 20px}.pricing-faq article{grid-template-columns:28px 1fr}.pricing-faq article p{grid-column:2}.legal-copy{margin-top:70px}.legal-copy section{grid-template-columns:1fr;gap:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (max-width:520px){.lightbox{grid-template-rows:66px minmax(0,1fr) 72px;grid-template-columns:1fr 1fr}.lightbox-stage{grid-area:2/1/auto/-1}.lightbox-arrow{grid-row:3;align-self:center}.lightbox-previous{grid-column:1;justify-self:start;margin-left:18px}.lightbox-next{grid-column:2;justify-self:end;margin-right:18px}.lightbox-footer{pointer-events:none;grid-area:3/1/auto/-1;justify-content:center}.lightbox-count strong{font-size:19px}}
