: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:var(--white)}body{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%}.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}.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;display:block;position:relative;overflow:hidden}.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-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}.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>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{cursor:zoom-in;background:#ececea;border:0;min-height:min(43vw,720px);padding:0;position:relative;overflow:hidden}.gallery-thumb:nth-child(3n+2){min-height:min(36vw,610px)}.gallery-thumb img{object-fit:cover;transition:transform .5s}.gallery-thumb:hover img{transform:scale(1.012)}.gallery-category-nav{flex-wrap:wrap;justify-content:center;gap:22px 40px;padding:75px 24px 10px;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}.lightbox{z-index:100;background:#fffffffa;place-items:center;display:grid;position:fixed;inset:0}.lightbox-image{width:min(82vw,1400px);height:82vh;position:relative}.lightbox-image img{object-fit:contain}.lightbox-close{letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:8px;font-size:9px;position:absolute;top:28px;right:30px}.lightbox-arrow{z-index:2;cursor:pointer;background:0 0;border:0;width:48px;height:48px;font-size:24px;position:absolute;top:50%}.lightbox-previous{left:24px}.lightbox-next{right:24px}.lightbox-count{letter-spacing:.18em;margin:0;font-size:9px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.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-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}.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)}.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}.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 textarea{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 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}.site-footer{background:var(--white);padding:clamp(85px,10vw,160px) clamp(34px,7vw,142px) 34px}.footer-main{justify-content:space-between;align-items:flex-end;padding-bottom:clamp(72px,9vw,140px);display:flex}.footer-main img{width:clamp(210px,28vw,520px);height:auto}.footer-main>div{text-align:right}.footer-main p{letter-spacing:.22em;text-transform:uppercase;margin:0 0 18px;font-size:9px}.footer-main>div>a{font-family:var(--serif);border-bottom:1px solid;padding-bottom:6px;font-size:clamp(24px,2.6vw,44px)}.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{padding-top:17px;display:block;position:relative}.mobile-menu summary{cursor:pointer;letter-spacing:.22em;text-transform:uppercase;font-size:9px;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{width:min(78vw,330px);color:var(--white);background:var(--ink);gap:19px;padding:28px;display:grid;position:absolute;top:46px;right:0;box-shadow:0 18px 50px #00000029}.mobile-menu nav a{font-family:var(--serif);font-size:27px}.booking-section,.contact-page{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-category-nav{gap:18px 28px}.lightbox-image{width:100vw;height:78vh}.lightbox-arrow{top:auto;bottom:18px}.lightbox-previous{left:18px}.lightbox-next{right:18px}.lightbox-close{top:18px;right:18px}.lightbox-count{bottom:34px}.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:56px;padding:82px 20px}.booking-copy h2{font-size:50px}.booking-form{grid-template-columns:1fr}.field-wide{grid-column:1}.booking-submit{flex-direction:column;align-items:stretch}.button{width:100%}.contact-page{gap:58px;padding:0 20px 95px}.contact-details{flex-direction:column;gap:13px}.contact-form .primary-button{width:100%}.site-footer{padding:84px 20px 28px}.footer-main{flex-direction:column;align-items:flex-start;gap:62px}.footer-main img{width:min(92vw,380px)}.footer-main>div{text-align:left}.footer-meta{flex-direction:column;gap:12px;line-height:1.5}.footer-meta>div{flex-direction:column;gap:8px}.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}}
