:root {
  --ink:#161817;
  --sub:#555a57;
  --air:clamp(18px,3.3vw,64px);
  --serif:Georgia,"Times New Roman",serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{background:white;color:var(--ink);font:16px/1.48 var(--sans);scroll-padding-top:1rem}
body,figure,p,h1,h2,h3{margin:0}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.24em}
button,select,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #91521a;outline-offset:3px}
.sr,.skip:not(:focus){position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.skip:focus{position:fixed;top:10px;left:10px;z-index:20;background:white;padding:.75rem}
.mast{padding:0 var(--air);min-height:74px;display:flex;align-items:center;gap:clamp(16px,3vw,55px)}
.brand{display:inline-flex;align-items:baseline;gap:.8rem;white-space:nowrap}
.wordmark{font:500 clamp(21px,2.1vw,31px)/1.12 var(--sans);letter-spacing:-.065em}
.micro{font:italic 16px/1 var(--serif);color:var(--sub)}
.mast nav,.lang,.footlinks,.kinds,.social,.leave{display:flex;align-items:center;flex-wrap:wrap}
.mast nav{gap:clamp(18px,2.35vw,42px);margin-left:auto}
.mast nav a,.lang a{font-size:13px;line-height:1.3;padding-block:10px}
.mast a[aria-current=page],.lang a[aria-current=true]{text-decoration:underline;text-underline-offset:.3em}
.lang{gap:7px;color:#626563}.lang a[aria-current=true]{color:var(--ink)}.lang span{font-size:11px;color:#919491}
.cadre,.zoom{display:block;width:100%;padding:0;border:0;background:none}
.cadre img,.zoom img{border:0;border-radius:0;box-shadow:none}
.hero{width:100%}
.hero img{width:100%;height:auto}
.hero figcaption,.leaf figcaption,.tile figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:6px 1.15rem;line-height:1.35}
.hero figcaption{padding:15px var(--air) 0}
.hero figcaption a{font:normal clamp(24px,2.65vw,44px)/1.09 var(--serif);letter-spacing:-.043em}
.hero figcaption span,.leaf figcaption span,.tile figcaption span,.artcap,.seriesnote{font-size:13px;color:var(--sub)}
.sequence{margin-top:clamp(42px,7vw,112px)}
.spread{margin:0 auto clamp(48px,8vw,134px)}
.spread.pair{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(25px,8vw,158px);padding:0 clamp(24px,9vw,175px)}
.spread.pair .leaf:nth-child(2){padding-top:clamp(50px,8vw,154px)}
.leaf figcaption,.tile figcaption{padding-top:10px;flex-wrap:wrap}
.leaf figcaption a,.tile figcaption strong{font-size:16px;letter-spacing:-.025em;font-weight:500}
.spread.single .leaf{width:100%;margin:auto}.spread.single .leaf figcaption{padding:12px var(--air) 0}
.spread.single .leaf.is-portrait{width:min(55%,680px)}.spread.single .leaf.is-portrait figcaption{padding-inline:0}
.leave{justify-content:center;gap:clamp(22px,5vw,85px);padding:clamp(35px,6vw,100px) var(--air)}
.cta{display:inline-block;font-size:16px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em}
.footer{display:flex;align-items:baseline;justify-content:space-between;gap:12px 25px;flex-wrap:wrap;padding:32px var(--air);font-size:12px;color:var(--sub)}
.footlinks,.social{gap:16px 24px}
h1,h2{font:normal clamp(36px,5.5vw,92px)/1.04 var(--serif);letter-spacing:-.05em;overflow-wrap:break-word}
.pagehead,.collection-head{padding:clamp(35px,6vw,98px) var(--air) clamp(30px,4.5vw,76px)}
.pagehead>p,.collection-head>p{margin-top:12px;max-width:58ch;color:var(--sub)}
.kinds{margin-top:22px;gap:12px 26px;font-size:15px}
.crumb{display:flex;flex-wrap:wrap;gap:.55rem;padding:24px var(--air) 0;font-size:13px;color:var(--sub)}
.crumb+.collection-head,.crumb+.pagehead{padding-top:25px}
.working{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5.5vw,85px) clamp(18px,4vw,64px);align-items:start;padding:0 var(--air) 4vw}
.tile:nth-child(even){margin-top:7vw}.tile a{display:block}.tile img{max-height:75svh;object-fit:contain;object-position:left bottom;width:auto;max-width:100%}
.tile a:hover{text-decoration:none}.tile a:hover strong{text-decoration:underline;text-underline-offset:.25em}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,7vw,112px) clamp(18px,4vw,60px);align-items:center}
.gallery>figure{scroll-margin-top:25px;min-width:0}
.gallery .wide{grid-column:1/-1}
.gallery .upright{width:100%;min-width:0}
.gallery .upright.solo{grid-column:1/-1}
.gallery .upright .zoom{width:min(100%,var(--portrait-width,60svh));margin-inline:auto}
.gallery .upright img{width:100%;height:auto}
.seriesnote{text-align:center;max-width:60ch;margin:clamp(28px,5vw,85px) auto 0;padding-inline:1rem}
.viewer{width:100%;height:100%;max-width:none;max-height:none;padding:0;border:0;background:#fff;color:var(--ink);margin:0}
.viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.viewer::backdrop{background:white}
.photo-stage{position:relative;touch-action:pan-y pinch-zoom;overflow:hidden}
.photo-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.viewer .bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px var(--air)}
.viewer .counter,.viewer .caption{font-size:13px}.viewer .caption{text-align:center}
.viewer button{background:none;border:none;color:inherit;min-width:44px;min-height:44px}.viewer .turn{font-size:24px}
.frozen{overflow:hidden}
.splitpage{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,8vw,128px);padding:clamp(30px,5vw,80px) var(--air);align-items:start;max-width:1600px;margin:auto}
.copy{max-width:35rem;padding-top:2vw}
.copy h1{margin-bottom:23px}
.copy p,.prose p{line-height:1.65;margin-bottom:1.05rem}.copy>.cta{margin:.8rem 0}.copy .social{font-size:14px;margin-top:20px}
.splitpage figure img{width:auto;max-width:100%;max-height:79svh;margin:0 auto}.artcap{margin-top:8px}
.contactform{display:grid;gap:18px;max-width:640px;width:100%}.contactform label{display:grid;gap:6px;font-size:14px}
.contactform input,.contactform textarea,.contactform select{width:100%;border:0;border-radius:0;background:#f2f3f1;padding:.75rem .85rem;font-size:16px}.contactform textarea{resize:vertical}
.contactform .hp{position:absolute;left:-10000px;width:1px}
.flatbutton{border:0;border-radius:0;background:#202422;color:white;padding:.85rem 1.2rem;justify-self:start}.flatbutton:disabled{opacity:.65}
.fine,.form-message{font-size:13px;line-height:1.6}.fine a,.prose a,.social a{text-decoration:underline;text-underline-offset:.2em}.fine{color:var(--sub)}
.form-message:empty{display:none}.prose{max-width:45rem;margin:0 auto;padding:0 var(--air) 3rem}.prose h2{font-size:28px;margin:1.6rem 0 .6rem}
@media(max-width:720px){
 .mast{padding:13px var(--air) 9px;gap:6px 18px;min-height:0;flex-wrap:wrap}.brand{gap:8px}.micro{font-size:14px}.lang{margin-left:auto}
 .mast nav{order:3;flex:1 0 100%;margin:0;gap:18px}.mast nav a{padding:6px 0;font-size:13px}.lang a{padding:4px 0}
 .hero figcaption{padding:11px var(--air) 0}.hero figcaption a{font-size:25px}.hero figcaption span{font-size:12px}
 .spread.pair{gap:16px;padding:0 var(--air)}.spread.pair .leaf:nth-child(2){padding-top:28px}.leaf figcaption{display:block}.leaf figcaption span{display:block;margin-top:2px}
 .working{padding:0 var(--air) 25px;gap:35px 20px}.tile figcaption{display:block}.tile figcaption span{display:block}
 .splitpage{grid-template-columns:1fr}.footer{padding-block:22px}.seriesnote{text-align:left;padding-inline:var(--air)}
}
@media(max-width:520px){
 .hero figcaption{align-items:start}.hero figcaption span{padding-top:4px;max-width:110px;text-align:right}
 .sequence{margin-top:45px}.spread.pair{display:block;padding:0}.spread.pair .leaf:nth-child(2){padding-top:0;margin-top:40px}.spread.pair .leaf figcaption,.spread.single .leaf figcaption{padding:8px var(--air) 0}
 .leaf figcaption{display:flex;align-items:baseline}.leaf figcaption span{font-size:12px}
 .spread.single .leaf.is-portrait{width:100%}.spread{margin-bottom:40px}
 .working{grid-template-columns:1fr;padding:0}.tile:nth-child(even){margin-top:0}.tile img{width:100%;max-height:none}.tile figcaption{display:flex;padding:9px var(--air) 0}
 .gallery{grid-template-columns:1fr;gap:24px}.gallery .upright,.gallery .wide{grid-column:1/-1;width:100%}.gallery .upright .zoom,.gallery .upright img{width:100%;max-height:none}
 .leave{justify-content:space-between;gap:12px}.leave .cta{font-size:14px}.viewer .bar{padding:5px 10px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:220ms;animation-timing-function:ease-in-out}
@media(prefers-reduced-motion:no-preference){
  .viewer[open]{animation:open-photo 175ms ease-out}
  html.soft-entry main{animation:enter-page 200ms ease-out}
  @keyframes open-photo{from{opacity:.15}to{opacity:1}}
  @keyframes enter-page{from{opacity:.8}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:0s!important}
}

/* Clear thematic hierarchy; photographs remain unframed. */
.category-block{margin-bottom:clamp(44px,7vw,110px);scroll-margin-top:24px}
.category-title{padding:15px var(--air) 30px;display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:end}
.category-title h2{font-size:clamp(31px,4.2vw,64px)}
.category-title p{max-width:58ch;font-size:15px;color:var(--sub);grid-column:1}
.category-count{grid-column:2;grid-row:1/3;font-size:13px;color:var(--sub)}
.photo-caption{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;font-size:13px;color:var(--sub);padding:12px var(--air) 0}
.upright .photo-caption{max-width:var(--portrait-width,60svh);margin:auto;padding-inline:0}
.collection-intro{font-size:15px;line-height:1.6}
.related{padding:70px var(--air) 0;display:grid;gap:12px;text-align:center}
.related>span{font-size:13px;color:var(--sub)}
.related>a{font:normal clamp(26px,3vw,44px)/1.15 var(--serif)}
.contact-preview{max-width:760px;margin:auto;padding:clamp(45px,8vw,120px) var(--air)}
.contact-preview .fine{margin-top:24px}.contact-preview .social{margin-top:26px}
.mast nav a,.lang a,.kinds a,.footlinks a{min-height:44px;display:inline-flex;align-items:center}
main:focus{outline:none}
@media(max-width:520px){.category-title{display:block}.category-title p{margin-top:12px}.category-count{display:block;margin-top:8px}.upright .photo-caption{max-width:none;padding-inline:var(--air)}.photo-caption{font-size:12px}.kinds{gap:2px 22px}.related{padding-top:45px}}

/* Editorial sequences: generous space, native image proportions, no frames. */
.opening .photo-caption{padding-block:15px}
.editorial-intro{padding:clamp(55px,9vw,145px) var(--air);max-width:1100px}
.eyebrow{display:block;color:var(--sub);font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.6}
.editorial-intro h2{margin:20px 0;font-size:clamp(42px,6.1vw,98px);max-width:13ch}
.editorial-intro p{max-width:48ch;font-size:17px;line-height:1.65;margin-bottom:24px;color:var(--sub)}
.story-feature{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:clamp(30px,6vw,100px);align-items:center;margin-bottom:clamp(75px,10vw,170px);padding-right:var(--air)}
.story-feature:nth-of-type(even){grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);padding-right:0;padding-left:var(--air)}
.story-feature:nth-of-type(even) .story-cover{order:2}.story-feature:nth-of-type(even) .story-copy{order:1}
.story-cover img{max-height:90svh;object-fit:contain;object-position:left center;width:auto;max-width:100%}
.story-copy{max-width:430px}.story-copy h2{font-size:clamp(35px,4.1vw,65px);margin:20px 0}.story-copy p{color:var(--sub);line-height:1.65;margin-bottom:24px}
.topic-index{padding:30px var(--air) 80px}.topic-index h2{font-size:clamp(30px,4vw,58px);margin-bottom:30px}.topic-index>div{display:grid;grid-template-columns:1fr 1fr;column-gap:10vw}.topic-index a{display:flex;justify-content:space-between;gap:20px;padding:16px 0;font-size:20px}
.story-head{max-width:1100px;padding:clamp(40px,6vw,100px) var(--air)}.story-head h1{margin:18px 0 25px;max-width:15ch}.story-head p{font-size:19px;line-height:1.6;max-width:48ch;color:var(--sub)}
.chapter-head{padding:clamp(35px,6vw,100px) var(--air) 40px;max-width:950px}.chapter-head h2{font-size:clamp(32px,4.5vw,68px);margin:14px 0 20px}.chapter-head p{max-width:53ch;font-size:17px;line-height:1.65;color:var(--sub)}
.story-photos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,115px) clamp(25px,7vw,120px);align-items:center}.story-photos .wide{grid-column:1/-1}.story-photos .upright{grid-column:auto;width:100%;padding:0 var(--air)}.story-photos .upright:last-child:nth-child(odd){grid-column:1/-1;width:min(100%,750px);margin:auto}.story-photos .upright .photo-caption{max-width:none;padding-inline:0}.more-stories{display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px;padding:90px var(--air) 0}
@media(max-width:720px){.story-feature,.story-feature:nth-of-type(even){display:flex;flex-direction:column;align-items:stretch;padding:0;gap:25px}.story-feature:nth-of-type(even) .story-cover,.story-feature:nth-of-type(even) .story-copy{order:initial}.story-copy{padding:0 var(--air);max-width:580px}.story-cover img{width:100%;max-height:none}.editorial-intro{padding-block:60px}.topic-index a{font-size:17px}.story-head p{font-size:17px}}
@media(max-width:520px){.story-photos{display:block}.story-photos figure,.story-photos .upright:last-child:nth-child(odd){width:100%;padding:0;margin-bottom:35px}.story-photos .upright .photo-caption{padding-inline:var(--air)}.topic-index>div{grid-template-columns:1fr}.topic-index{padding-bottom:40px}.more-stories{padding-top:45px}.story-head{padding-top:30px}.chapter-head{padding-top:35px}.opening .photo-caption{font-size:12px}.editorial-intro h2{max-width:12ch}}

/* Four vertical photographs, without frames or overlays. */
.opening-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(3px,.35vw,6px);align-items:start;width:100%;max-width:1800px;margin-inline:auto}
.opening-frame{min-width:0;margin:0}
.opening-frame .zoom{aspect-ratio:2/3;display:block;width:100%;overflow:hidden}
.opening-frame img{display:block;height:100%;width:100%;object-fit:cover;object-position:center}
.opening-frame figcaption{font-size:12px;color:var(--sub);padding:10px max(8px,1.2vw);line-height:1.4}
.opening-frame figcaption a{display:inline-flex;align-items:center;min-height:36px}
@media(max-width:620px){.opening-frame figcaption{padding:7px 4px;font-size:11px;overflow-wrap:break-word}.opening-frame figcaption a{min-height:44px;align-items:flex-start}}

/* Services, clear local identity and readable contact form. */
.editorial-intro h1{font:inherit;font-size:clamp(2rem,5vw,5rem);line-height:1.1;letter-spacing:-.035em;margin:.4em 0}
.service-index>p{max-width:46rem;line-height:1.7;margin:1.2rem 0 2rem}
.service-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:4rem 0}
.service-photos figure{margin:0;min-width:0;max-width:none!important;width:auto!important}
.service-photos img{width:100%;height:auto;max-height:70vh;object-fit:contain}
.service-photos .zoom{width:100%;background:transparent;border:0;padding:0;cursor:zoom-in}
.service-faq h3{font-size:1.2rem;margin-top:2rem}
.contactform input:focus-visible,.contactform textarea:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.contactform [aria-invalid=true]{outline:2px solid #9c342b;outline-offset:3px}
@media(max-width:700px){.service-photos{grid-template-columns:1fr}.service-photos img{max-height:none}.editorial-intro .eyebrow{line-height:1.8}}
