:root{--paper:#f3f0e8;--ink:#222521;--muted:#74766f;--rule:#d4d3ca;--accent:#9d6e47;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.skip{position:absolute;left:-9999px;top:1rem;background:var(--ink);color:#fff;padding:1rem;z-index:10}.skip:focus{left:1rem}.site-header{height:94px;padding:0 clamp(24px,5vw,92px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.wordmark{font-size:15px;font-weight:700;letter-spacing:.17em;line-height:1.1}.wordmark span{display:block;font-size:10px;letter-spacing:.34em;margin-top:5px}.site-header nav{display:flex;gap:clamp(23px,3vw,55px);font-size:13px;font-weight:600}.site-header a:hover,.text-link:hover,.contact-links a:hover,footer a:hover{color:var(--accent)}.hero{min-height:670px;padding:clamp(42px,6vw,92px) clamp(24px,5vw,92px) 86px;display:grid;grid-template-columns:minmax(330px,.88fr) minmax(400px,1.12fr);gap:clamp(45px,6vw,110px);align-items:center}.hero-copy{max-width:620px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--accent);margin:0 0 27px}.hero h1{font-size:clamp(49px,5vw,82px);font-weight:500;letter-spacing:-.072em;line-height:1.04;margin:0 0 40px}.hero-intro{max-width:390px;font-size:clamp(17px,1.45vw,22px);line-height:1.5;margin:0 0 55px}.text-link{display:inline-flex;border-bottom:1px solid var(--ink);padding-bottom:12px;font-size:13px;font-weight:700}.hero-visual img{display:block;width:100%;height:min(72vh,720px);object-fit:contain;object-position:center;background:#e4e5df}.hero-caption{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:12px 0 0;letter-spacing:.03em}.section-pad{padding:110px clamp(24px,5vw,92px)}.work{background:#e9e7df}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;border-bottom:1px solid #c6c6be;padding-bottom:45px}.section-heading .eyebrow{margin-bottom:18px}h2{font-size:clamp(50px,5vw,82px);font-weight:500;line-height:1;letter-spacing:-.065em;margin:0}.dot{color:var(--accent)}.section-heading>p{max-width:310px;line-height:1.55;font-size:15px;color:#555850;margin:0 0 3px}.filters{display:flex;gap:24px;overflow-x:auto;padding:26px 0 45px}.filters button{border:0;background:none;padding:7px 0;white-space:nowrap;color:#73756e;font-size:13px}.filters button.active{color:var(--ink);font-weight:700;border-bottom:1px solid var(--ink)}.filters span{color:var(--accent);margin-left:5px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:22px;align-items:start}.photo-card{margin:0 0 40px;min-width:0}.photo-card button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit}.photo-card img{display:block;width:100%;height:auto;background:#d8d8d0;transition:filter .25s}.photo-card button:hover img{filter:brightness(.91)}.photo-card .meta{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:12px}.photo-card .meta strong{font-weight:600}.photo-card .meta span{color:var(--muted);text-align:right}.pending-photo{min-height:240px;display:grid;place-content:center;text-align:center;border:1px solid var(--rule);color:var(--muted);font-size:13px;line-height:1.5;padding:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:55px;border-bottom:1px solid var(--rule)}.about .eyebrow{margin-bottom:20px}.about-text{max-width:660px;font-size:clamp(18px,1.7vw,25px);line-height:1.55;letter-spacing:-.025em}.about-text p{margin:0 0 25px}.about-text p+p{font-size:16px;color:#65675f;letter-spacing:0}.contact{padding-bottom:145px}.contact h2{margin-bottom:25px}.contact>p:not(.eyebrow){font-size:17px;color:#65675f}.contact-links{margin-top:60px;display:grid;max-width:760px}.contact-links a{display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding:20px 0;font-size:clamp(17px,2vw,25px);letter-spacing:-.03em}.contact-links a:last-child{border-bottom:1px solid var(--rule)}footer{background:var(--ink);color:#f3f0e8;display:flex;justify-content:space-between;gap:20px;padding:33px clamp(24px,5vw,92px);font-size:12px}.viewer{position:fixed;inset:0;z-index:100;background:#181a18;color:#f5f2eb}.viewer[hidden]{display:none}.viewer-bar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-size:12px;color:#b9bbb4}.viewer-bar button{border:0;background:none;color:#fff;font-size:13px}.viewer-bar button span{font-size:29px;vertical-align:middle;margin-left:13px}.viewer figure{position:absolute;inset:76px 94px 40px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;min-height:0}.viewer figure img{display:block;max-width:100%;max-height:calc(100% - 50px);width:auto;height:auto;object-fit:contain}.viewer figcaption{width:100%;display:flex;justify-content:space-between;gap:20px;font-size:12px}.viewer figcaption span{color:#a8aaa2}.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:58px;height:58px;border:1px solid #656962;border-radius:50%;background:#252825;color:#fff;font-size:24px;z-index:2}.viewer-arrow.prev{left:20px}.viewer-arrow.next{right:20px}body.viewer-open{overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:800px){.site-header{height:76px}.hero{grid-template-columns:1fr;gap:44px;padding-top:75px;min-height:0}.hero h1{max-width:650px;margin-bottom:28px}.hero-intro{margin-bottom:30px}.hero-visual{max-width:680px}.hero-visual img{height:auto;max-height:75vh}.section-pad{padding-top:80px;padding-bottom:80px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.about{grid-template-columns:1fr;gap:35px}.about-text{margin:0}.viewer figure{inset:70px 65px 25px}}@media(max-width:560px){.site-header{padding:0 20px}.wordmark{font-size:12px}.wordmark span{font-size:8px}.site-header nav{gap:16px;font-size:12px}.hero{padding:62px 20px 70px;gap:46px}.hero h1{font-size:clamp(48px,11vw,65px)}.hero-intro{font-size:17px}.hero-visual img{max-height:none;width:100%}.section-pad{padding:70px 20px}.section-heading{display:block;padding-bottom:27px}.section-heading>p{margin-top:20px}.filters{gap:20px;padding:18px 0 32px}.gallery{grid-template-columns:1fr}.photo-card{margin-bottom:30px}.about-text{font-size:20px}.contact{padding-bottom:95px}.contact-links{margin-top:40px}.contact-links a{font-size:17px}.viewer-bar{height:64px;padding:0 18px}.viewer figure{inset:75px 16px 88px}.viewer figcaption{display:block;line-height:1.5}.viewer figcaption span{display:block}.viewer-arrow{top:auto;bottom:13px;width:48px;height:48px}.viewer-arrow.prev{left:18px}.viewer-arrow.next{right:18px}footer{padding:28px 20px}}

.gear{margin-top:42px;padding-top:23px;border-top:1px solid var(--rule)}.gear h3{font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}.gear p{font-size:16px;line-height:1.5;margin:0}

/* Quiet refinements: let the photographs and words carry the page. */
.hero h1{letter-spacing:-.035em}
h2{letter-spacing:-.035em}
.hero-visual img{background:transparent}
.photo-card img{transition:none}
.photo-card button:hover img{filter:none}

/* 2027 editorial direction: scale, rhythm and the photographs themselves. */
:root{--paper:#f7f5ef;--ink:#1b201d;--muted:#686d66;--rule:#cbd0c7;--accent:#715d49;background:var(--paper)}
.site-header{height:82px;border-bottom-color:var(--ink);padding-inline:clamp(20px,4vw,76px)}
.wordmark{font-size:14px;letter-spacing:.12em}.wordmark span{letter-spacing:.29em}
.site-header nav{gap:clamp(20px,3.4vw,58px);font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.hero{min-height:0;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(26px,5vw,100px);padding:clamp(32px,4vw,72px) clamp(20px,4vw,76px) clamp(70px,8vw,150px);align-items:end}
.hero-copy{padding-bottom:clamp(12px,3vw,62px)}
.hero .eyebrow{margin-bottom:clamp(42px,6vw,100px);color:var(--ink)}
.hero h1{font-size:clamp(58px,5.3vw,90px);line-height:1;letter-spacing:-.04em;font-weight:500;max-width:650px;margin-bottom:36px}
.hero-intro{font-size:clamp(18px,1.55vw,24px);line-height:1.42;max-width:425px;margin-bottom:42px}
.hero-visual{min-width:0}
.hero-visual img{width:auto;max-width:100%;height:min(83vh,940px);object-position:bottom center;background:transparent;margin-inline:auto}
.hero-caption{border-top:1px solid var(--ink);padding-top:12px;margin-top:15px;color:var(--ink);text-transform:uppercase;letter-spacing:.12em;font-size:10px}
.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.09em}
.section-pad{padding:clamp(85px,9vw,170px) clamp(20px,4vw,76px)}
.work{background:#e9ebe5}
.section-heading{padding-bottom:48px;border-color:var(--ink)}
h2{font-size:clamp(62px,7vw,124px);line-height:.92;letter-spacing:-.045em}
.section-heading>p{font-size:16px;max-width:250px;color:var(--ink)}
.filters{gap:clamp(20px,3vw,56px);padding:28px 0 62px}
.filters button{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,52px);row-gap:clamp(58px,6vw,112px)}
.photo-card{margin:0}
.photo-card img{background:#d8dcd5}
.photo-card .meta{padding-top:16px;border-top:1px solid var(--ink);margin-top:15px;font-size:13px;align-items:baseline}
.photo-card .meta strong{font-weight:600}
.photo-card .meta span{text-transform:uppercase;font-size:10px;letter-spacing:.12em}
.about{grid-template-columns:.65fr 1.35fr;gap:clamp(40px,7vw,120px)}
.about-text{font-size:clamp(23px,2.25vw,37px);line-height:1.42;letter-spacing:-.035em}
.gear{margin-top:62px}.gear p{font-size:15px}
.contact{padding-bottom:clamp(110px,12vw,220px)}
.contact-links{max-width:none;margin-top:clamp(60px,8vw,135px)}
.contact-links a{font-size:clamp(20px,3.2vw,54px);padding:22px 0;letter-spacing:-.045em}
footer{padding-inline:clamp(20px,4vw,76px)}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:42px;padding-top:70px}.hero-copy{padding-bottom:0}.hero .eyebrow{margin-bottom:64px}.hero h1{max-width:720px}.hero-visual img{height:auto;max-height:none;width:100%}.about{grid-template-columns:1fr;gap:35px}.gallery{column-gap:20px;row-gap:65px}}
@media(max-width:560px){.site-header{height:70px;padding-inline:18px}.site-header nav{gap:13px;font-size:10px;letter-spacing:0}.wordmark{font-size:11px}.wordmark span{font-size:8px}.hero{padding:58px 18px 93px;gap:53px}.hero .eyebrow{margin-bottom:48px}.hero h1{font-size:clamp(61px,15vw,84px);line-height:.98;margin-bottom:29px}.hero-intro{font-size:19px;max-width:330px;margin-bottom:36px}.hero-visual img{max-height:none}.section-pad{padding:93px 18px}.section-heading{padding-bottom:30px}.section-heading>p{margin-top:24px}.filters{padding:22px 0 45px}.gallery{grid-template-columns:1fr;row-gap:55px}.photo-card .meta{font-size:14px}.about-text{font-size:24px}.gear{margin-top:45px}.contact-links{margin-top:58px}.contact-links a{font-size:clamp(19px,5vw,25px)}footer{padding:30px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.text-link{transition:none}}

/* Motion follows the photos and responds to interaction. */
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:editorial-rise .7s cubic-bezier(.2,.7,.2,1) both}
 .hero-visual{animation:editorial-rise .85s .12s cubic-bezier(.2,.7,.2,1) both}
 .photo-card.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
 .photo-card.reveal.is-visible{opacity:1;transform:translateY(0)}
 .photo-card img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
 .photo-card button:hover img{transform:translateY(-5px)}
 .text-link{transition:letter-spacing .25s ease}
 .text-link:hover{letter-spacing:.14em}
 .viewer:not([hidden]){animation:viewer-in .22s ease-out both}
 .viewer.is-closing{animation:viewer-out .18s ease-in both}
 @keyframes editorial-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
 @keyframes viewer-in{from{opacity:0}to{opacity:1}}
 @keyframes viewer-out{from{opacity:1}to{opacity:0}}
}
@media(hover:none){.photo-card button:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-visual,.photo-card,.photo-card img,.viewer{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}
@media(max-width:360px){.site-header{height:auto;min-height:96px;flex-wrap:wrap;gap:10px;padding-block:15px}.site-header nav{width:100%;justify-content:space-between}.hero h1{font-size:56px}}

/* Editorial layers: translucent controls, with solid fallbacks. */
.site-header{position:sticky;top:0;z-index:30;background:var(--paper)}
.hero-copy{position:relative;z-index:2}
.hero-visual{position:relative}
.hero-caption{position:absolute;left:-28px;bottom:24px;margin:0;border:1px solid rgba(27,32,29,.2);background:#f7f5ef;color:var(--ink);padding:16px 22px;box-shadow:0 5px 22px rgba(27,32,29,.08)}
.viewer-bar{position:relative;z-index:3;background:#2c302c;color:#f5f2eb}
.viewer-arrow{background:#3a403b;border-color:#b7bdb5}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
 .site-header{background:rgba(247,245,239,.83);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
 .hero-caption{background:rgba(247,245,239,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
 .viewer-bar{background:rgba(44,48,44,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
 .viewer-arrow{background:rgba(80,87,80,.58);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
}
@media(min-width:1100px){.hero h1{max-width:760px;width:calc(100% + 55px)}}
@media(max-width:800px){.hero-caption{left:12px;bottom:12px;padding:11px 14px;font-size:9px}}
@media(max-width:560px){.hero-caption{left:8px;bottom:8px}}

/* Let the photograph show through the glass, rather than blur empty paper. */
@media(min-width:801px){
 .hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 82px);padding:0 clamp(20px,4vw,76px);gap:0;align-items:end}
 .hero-visual{grid-column:2;grid-row:1;height:100vh;margin-top:-82px;margin-right:calc(-1 * clamp(20px,4vw,76px));display:flex;justify-content:flex-end;align-items:stretch}
 .hero-visual img{height:100%;width:auto;max-width:none;margin:0;object-fit:contain}
 .hero-copy{grid-column:1;grid-row:1;align-self:end;width:calc(100% + 290px);max-width:none;margin:0 0 clamp(35px,5vw,90px);padding:32px 56px 38px 0;background:rgba(247,245,239,.68)}
 .hero-copy h1{max-width:760px;width:auto}
 .hero .eyebrow{margin-bottom:clamp(45px,7vw,120px)}
 .hero-caption{left:-85px;bottom:36px}
}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
 .site-header{background:rgba(247,245,239,.62)}
 @media(min-width:801px){.hero-copy{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}}
}
@media(max-width:800px){
 .hero{display:flex;flex-direction:column;padding:0 18px 76px;gap:0}
 .hero-visual{order:-1;width:calc(100% + 36px);height:auto;margin:-70px -18px 0;display:block}
 .hero-visual img{display:block;width:100%;height:auto;max-height:none;margin:0}
 .hero-caption{left:auto;right:12px;bottom:16px}
 .hero-copy{width:calc(100% + 8px);max-width:none;margin:-22px 0 0 -4px;padding:28px 20px 32px;background:rgba(247,245,239,.78)}
 .hero .eyebrow{margin-bottom:35px}
}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){@media(max-width:800px){.hero-copy{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}}
@media(max-width:360px){.hero-visual{margin-top:-96px}.hero-copy h1{font-size:56px}}
