@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/cormorant-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/cormorant-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/cormorant-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/cormorant-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/manrope-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/manrope-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/manrope-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/manrope-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--paper:#f8f8f5;--ink:#242820;--muted:#64685f;--line:#d8dbd2;--accent:#4a5843}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure,p{margin:0}h1,h2,h3,h4{font-weight:400;margin:0}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.08}h1 em,h2 em{font-weight:400}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:3px}.header{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.15;letter-spacing:-.04em;white-space:nowrap}.brand span{display:block;font-family:'Manrope',Arial,sans-serif;font-size:10px;letter-spacing:.28em;margin-top:9px}.header nav{display:flex;gap:32px;font-size:14px}.header nav a{padding:6px 0}.header nav a:hover{box-shadow:0 1px var(--ink)}.nav-cta{font-size:14px;padding:12px 0;border-bottom:1px solid var(--ink)}.nav-cta span{margin-left:24px}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:70px 5% 110px;min-height:760px}.hero-copy{padding-top:60px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:500;line-height:1.5;margin-bottom:30px}.hero h1{font-size:clamp(60px,6.8vw,112px)}.intro{margin-top:30px;font-size:17px;color:var(--muted);line-height:1.8}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:14px;padding:9px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:inherit}.hero .text-link{margin-top:30px}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-note{display:flex;flex-direction:column;margin-top:70px;font-size:12px;color:var(--muted);gap:3px}.hero-note span:first-child{font-size:14px;color:var(--ink)}.hero-art{position:relative;margin-left:8%;padding-bottom:42px}.hero-main{height:565px;width:89%;margin-left:11%}.hero-main img{object-position:center 44%}.hero-small{position:absolute;width:37%;height:230px;left:-13%;bottom:-5px;border:9px solid var(--paper)}.hero-small figcaption{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:13px;white-space:nowrap;padding-top:12px}.vertical-note{position:absolute;right:-28px;top:30px;writing-mode:vertical-rl;letter-spacing:.18em;font-size:10px}.section{max-width:1600px;margin:auto;padding:110px 6.5%}.portfolio{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}h2{font-size:clamp(42px,4.4vw,72px)}.section-heading>p{font-size:15px;color:var(--muted);padding-bottom:5px}.section-heading .eyebrow{margin-bottom:24px}.filters{display:flex;gap:30px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:40px}.filters button{background:none;border:0;border-bottom:2px solid transparent;padding:15px 0;color:var(--muted);font-size:14px}.filters .active{border-bottom-color:var(--ink);color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 24px;align-items:start}.photo-card:nth-child(3n+2){margin-top:65px}.photo-card button{display:block;padding:0;border:0;background:#e8e9e4;width:100%;overflow:hidden}.photo-card img{height:auto;aspect-ratio:3/4;transition:transform .6s}.photo-card button:hover img{transform:scale(1.035)}.photo-card.landscape img{aspect-ratio:4/3}.photo-card figcaption{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:14px;color:var(--muted)}.photo-card figcaption span:first-child{font-size:14px;color:var(--ink)}.gallery-end{display:flex;justify-content:space-between;gap:20px;margin-top:45px;align-items:center}.gallery-end>span{font-size:12px;color:var(--muted)}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding-top:60px}.approach-photo{height:580px;position:relative;padding:0 0 30px}.approach-photo img{object-position:center 45%}.approach-photo>span{position:absolute;bottom:0;font-size:10px;letter-spacing:.15em}.approach-copy h2{margin-bottom:30px}.approach-copy>p:not(.eyebrow):not(.signature){color:var(--muted);margin-bottom:20px;max-width:440px}.approach-copy>p.lead{font-size:20px;color:var(--ink)!important}.approach-copy .signature{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px;font-style:italic;margin-top:30px}.wide-photo{height:590px;position:relative;margin:30px 0 0;isolation:isolate}.wide-photo>img{position:absolute;z-index:-2;object-position:center 56%}.wide-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,25,23,.68),rgba(17,25,23,.05));z-index:-1}.wide-photo>div{padding:100px 8%;color:white}.wide-photo h2{font-size:68px}.wide-photo .text-link{margin-top:30px;border-color:white}.wide-photo .text-link:hover{color:white}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:65px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps article>span{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:28px;color:var(--muted)}h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;line-height:1.3}.steps h3{margin:25px 0 15px}.steps p{font-size:15px;color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:11%;border-top:1px solid var(--line);padding-top:100px;padding-bottom:100px}.contact-copy>p:not(.eyebrow){color:var(--muted);margin-top:30px;font-size:15px}.email{display:inline-block;margin-top:30px;font-size:20px;border-bottom:1px solid var(--ink)}.contact-copy .location{font-size:12px!important;margin-top:12px!important}.contact-detail{width:170px;height:210px;margin-top:44px;object-position:center 60%}form{padding-top:4px}.form-intro{font-size:12px;color:var(--muted);margin:10px 0 30px}label{display:flex;flex-direction:column;gap:10px;font-size:14px;margin:0 0 24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}input,select,textarea{background:transparent;border:0;border-bottom:1px solid #a8aea3;padding:12px 0;color:var(--ink);width:100%;min-width:0;font-size:16px;border-radius:0}textarea{resize:vertical}select{min-height:51px}input::placeholder,textarea::placeholder{color:#787d74;font-size:14px}.field-hint{font-size:12px;color:var(--muted)}.form-note,.privacy-note{font-size:12px;color:var(--muted);line-height:1.7}.form-note{margin:8px 0 25px}.solid-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:14px;min-height:52px}.solid-button:hover{background:var(--accent)}.privacy-note{margin-top:16px}#form-result{margin-top:30px;padding:24px;border:1px solid var(--line)}#form-result h4{font-size:21px;font-family:'Cormorant Garamond',Georgia,serif}#form-result p{font-size:14px;margin:10px 0}.result-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px}footer{padding:45px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px}footer>p,footer>a:not(.brand){font-size:14px}footer>span{font-size:12px;color:var(--muted)}dialog{border:0;background:#161914;color:#fff;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:60px 6% 65px}dialog::backdrop{background:#161914}dialog>img{object-fit:contain;height:100%;width:100%}.close-dialog{position:absolute;right:30px;top:18px;color:white;background:transparent;border:0;font-size:14px;padding:9px}.lightbox-bottom{position:absolute;bottom:12px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;font-size:14px}.lightbox-bottom button{background:transparent;border:1px solid #687062;color:white;padding:8px 20px;font-size:22px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){.hero-main{height:650px}.hero-small{height:270px}.hero-art{padding-bottom:30px}}@media(max-width:950px){.header nav{gap:18px}.brand{font-size:21px}.hero{min-height:650px;padding-top:45px;padding-bottom:80px}.hero-copy{padding-top:30px}.hero-main{height:480px}.hero-small{height:190px;bottom:0}.hero-note{margin-top:40px}.section{padding:80px 5%}.approach{gap:7%}.approach-photo{height:520px}.contact{gap:6%}.steps{gap:28px}.wide-photo{height:500px}footer{flex-wrap:wrap}.form-row{gap:16px}}@media(max-width:650px){.header{padding:22px 6%;gap:15px}.header nav{display:none}.brand{font-size:21px}.nav-cta{font-size:12px;padding:8px 0}.nav-cta span{margin-left:8px}.hero{display:flex;flex-direction:column;padding:48px 7% 75px;gap:40px}.hero-copy{padding:0}.hero h1{font-size:64px}.eyebrow{font-size:11px;margin-bottom:22px}.intro{font-size:16px;margin-top:25px}.hero-note{display:none}.hero .text-link{margin-top:20px}.hero-art{margin:0 4% 15px 8%;padding:0}.hero-main{height:430px;width:90%;margin-left:10%}.hero-small{height:170px;width:40%;left:-10%;bottom:-25px;border-width:6px}.hero-small figcaption{font-size:11px}.vertical-note{right:-20px;font-size:9px}.section{padding:65px 7%}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:24px;font-size:14px}h2{font-size:43px}.filters{gap:22px;row-gap:0;margin-bottom:25px}.filters button{font-size:14px;padding:12px 0}.gallery{grid-template-columns:1fr 1fr;gap:25px 15px}.photo-card:nth-child(3n+2){margin-top:0}.photo-card:nth-child(even){margin-top:32px}.photo-card figcaption{display:block;font-size:10px}.photo-card figcaption span{display:block}.photo-card figcaption span:first-child{font-size:13px}.gallery-end{align-items:start;flex-direction:column;margin-top:30px}.approach{display:flex;flex-direction:column-reverse;gap:35px}.approach-photo{width:100%;height:460px}.approach-copy>p.lead{font-size:19px}.wide-photo{height:460px}.wide-photo>div{padding:85px 7%}.wide-photo h2{font-size:48px}.wide-photo>img{object-position:58% center}.steps{grid-template-columns:1fr;gap:30px;margin-top:30px}.steps h3{margin:12px 0}.steps article{padding-top:18px}.contact{display:block}.contact-detail{display:none}.contact form{margin-top:45px}h3{font-size:26px}.form-row{grid-template-columns:1fr;gap:0}.email{font-size:21px}.solid-button{width:100%}footer{padding:35px 7%;display:grid;grid-template-columns:1fr 1fr;gap:28px}footer .brand{grid-column:1/-1}footer>span{grid-column:1/-1}footer>p,footer>a:not(.brand){font-size:12px}.lightbox-bottom{font-size:12px}dialog{padding:65px 4% 85px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.social-links{display:flex;flex-wrap:wrap;gap:24px;font-size:14px}.contact-copy .social-links{margin-top:24px}.social-links a{color:var(--muted);border-bottom:1px solid var(--line);padding:4px 0;cursor:default}footer .social-links{gap:20px}@media(max-width:650px){footer .social-links{grid-column:1/-1}}

.contact-copy .phone{display:block;width:fit-content;margin-top:14px;font-size:20px;border-bottom:1px solid var(--ink)}.phone:hover{color:var(--accent)}

h1,h2{letter-spacing:-.025em;line-height:1.04}.brand{font-size:28px;letter-spacing:-.025em}.hero h1{font-size:clamp(64px,7.4vw,118px)}h3{font-size:29px}@media(max-width:650px){.brand{font-size:24px}.hero h1{font-size:68px}h2{font-size:47px}h3{font-size:28px}}

/* Responsive layout and touch accessibility */
.header,.hero-copy,.hero-art,.section-heading>*,.approach-copy,.contact-copy,form,.form-row>*{min-width:0}
.header nav a,.nav-cta,.text-link,.social-links a,footer>a:not(.brand){min-height:44px;display:inline-flex;align-items:center}
.filters button{min-width:44px;min-height:48px}
footer{flex-wrap:wrap}
.photo-card figcaption{flex-wrap:wrap;gap:3px 12px}
.form-note,.privacy-note,.form-intro,.field-hint{font-size:14px}
.form-row input,.form-row select{max-width:100%}
#message-preview{font-size:16px}
.close-dialog{min-height:44px;min-width:44px}
.lightbox-bottom{gap:16px}
.lightbox-bottom>span{text-align:center;overflow-wrap:anywhere}
.lightbox-bottom button{flex-shrink:0;min-width:48px;min-height:48px}
@media(max-width:1050px){
 .header{flex-wrap:wrap;gap:14px 24px;padding:24px 5% 15px}
 .header nav{order:3;flex-basis:100%;justify-content:center;gap:32px;border-top:1px solid var(--line);padding-top:8px}
 .header .nav-cta{margin-left:auto}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .photo-card:nth-child(3n+2){margin-top:0}
 .photo-card:nth-child(even){margin-top:40px}
 .contact{grid-template-columns:1fr;gap:45px}
 .contact-copy{max-width:650px}
 .contact-detail{display:none}
 .contact form{max-width:760px;width:100%;padding-top:0}
 .hero-small figcaption{white-space:normal;line-height:1.3}
 .approach{gap:6%}
}
@media(min-width:651px) and (max-width:1050px){
 .section{padding:80px 6%}
 .hero{padding:45px 6% 90px;min-height:620px;gap:5%}
 .hero h1{font-size:clamp(56px,7.6vw,78px)}
 .hero-main{height:480px}
 .hero-small{height:185px;bottom:-10px}
 .section-heading{align-items:start;gap:28px}
 .section-heading>p{max-width:240px}
 .steps{gap:26px}
 .approach-photo{height:500px}
 .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
}
@media(max-width:650px){
 .header{padding:18px 6% 10px;gap:10px 12px}
 .header nav{display:flex;gap:24px;font-size:14px;justify-content:space-between}
 .header .brand{font-size:clamp(21px,6vw,24px)}
 .nav-cta{font-size:14px;gap:6px}
 .nav-cta span{margin-left:0}
 .hero{padding-top:36px}
 .hero h1{font-size:clamp(52px,16.5vw,68px)}
 h2{font-size:clamp(38px,11.5vw,47px)}
 .hero-main{height:auto;aspect-ratio:2/3}
 .hero-small{height:auto;aspect-ratio:3/4;bottom:-25px}
 .hero-small img{height:100%;aspect-ratio:3/4}
 .hero-small figcaption{font-size:12px}
 .filters{gap:5px 20px}
 .photo-card:nth-child(even){margin-top:28px}
 .photo-card figcaption{font-size:12px}
 .photo-card figcaption span:first-child{font-size:14px}
 .section-heading>p,.steps p,.contact-copy>p:not(.eyebrow){font-size:16px}
 .approach-photo{height:auto;aspect-ratio:3/4;padding-bottom:28px}
 .approach-photo>img{height:100%;aspect-ratio:3/4}
 .wide-photo{height:auto;min-height:440px}
 .wide-photo>div{padding:72px 7%}
 .contact form{margin-top:36px}
 .form-row{grid-template-columns:minmax(0,1fr);gap:0}
 footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 footer>a[href^="tel:"]{grid-column:1/-1;font-size:16px}
 footer>p,footer>a:not(.brand){font-size:14px}
 .solid-button{gap:12px}
}
@media(max-width:359px){
 .header .nav-cta{font-size:12px}.header nav{gap:12px;font-size:13px}
 .gallery{gap:24px 12px}.hero-small figcaption{font-size:12px}
 .result-actions{gap:12px}#form-result{padding:16px}
}
@media(min-width:901px) and (max-width:1050px){
 .contact{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7%;align-items:start}
 .contact .form-row{grid-template-columns:minmax(0,1fr);gap:0}
 .contact-detail{display:block}
}
