:root{
  --paper:#faf9f6;--ink:#1a1a1a;--sand:#d4c3b3;--sage:#8a9a86;
  --line:rgba(26,26,26,.13);--serif:Georgia,"Times New Roman",serif;
  --sans:Inter,Arial,sans-serif;--ease:cubic-bezier(.22,.8,.25,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}
body.menu-open,body.lightbox-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
main{min-height:70vh}
.content-shell{width:min(92vw,1440px);margin-inline:auto}
.content-narrow{width:min(88vw,780px);margin-inline:auto}
.eyebrow{margin:0 0 22px;font-size:10px;letter-spacing:.23em;text-transform:uppercase;color:#60645e}
.site-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--paper);transition:opacity .7s var(--ease),visibility .7s}
.site-loader span{font-family:var(--serif);font-size:18px;letter-spacing:.28em}
.site-loader.is-hidden{opacity:0;visibility:hidden}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;transition:height .35s,background .35s,backdrop-filter .35s}
.site-header.is-scrolled{height:64px;background:rgba(250,249,246,.86);backdrop-filter:blur(12px);border-bottom:1px solid rgba(26,26,26,.06)}
.brand{font-family:var(--serif);font-size:20px;letter-spacing:-.02em}
.desktop-nav ul,.desktop-nav{display:flex;gap:30px;align-items:center;list-style:none;margin:0;padding:0}
.desktop-nav a{font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.menu-toggle{display:none;border:0;background:none;padding:10px}
.menu-toggle span{display:block;width:24px;height:1px;margin:6px;background:currentColor}
.mobile-nav{display:none}
.hero{position:relative;min-height:100svh;color:#fff;overflow:hidden}
.hero-image,.hero-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-placeholder{background:linear-gradient(135deg,#536055,#1d221e)}
.hero-shade,.gallery-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.2) 54%,rgba(0,0,0,.67))}
.hero-copy{position:absolute;left:5vw;bottom:7vw;max-width:780px}
.hero-copy .eyebrow{color:rgba(255,255,255,.7)}
.hero-copy h1{font:400 clamp(64px,10vw,150px)/.85 var(--serif);letter-spacing:-.065em;margin:0 0 25px}
.hero-copy p:not(.eyebrow){max-width:520px;font-size:18px;color:rgba(255,255,255,.84)}
.hero-copy a{display:inline-block;margin-top:22px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.5);font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.home-intro{padding:150px 0 70px}
.home-intro h2{max-width:900px;margin:0;font:400 clamp(42px,6.2vw,88px)/.98 var(--serif);letter-spacing:-.045em}
.featured-grid,.archive-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;padding-bottom:140px}
.project-card,.archive-card{position:relative;overflow:hidden;min-height:620px;background:#ddd}
.project-card:nth-child(1){grid-column:span 7}
.project-card:nth-child(2){grid-column:span 5;margin-top:130px}
.project-card:nth-child(3){grid-column:3/span 7;margin-top:50px}
.project-card img,.archive-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.project-card:after,.archive-card:after,.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.72))}
.project-card:hover img,.archive-card:hover img{transform:scale(1.025)}
.project-number{position:absolute;z-index:2;top:25px;left:25px;color:#fff;font-size:9px;letter-spacing:.2em}
.project-copy,.archive-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:#fff}
.project-copy p,.archive-card p{font-size:9px;letter-spacing:.17em;text-transform:uppercase;opacity:.72}
.project-copy h3,.archive-card h2{margin:8px 0 12px;font:400 clamp(35px,4vw,62px)/.95 var(--serif);letter-spacing:-.045em}
.project-copy span,.archive-card span{font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.page-hero{padding:180px 0 100px}
.page-hero h1,.standard-page h1{max-width:1050px;margin:0;font:400 clamp(54px,7vw,96px)/.92 var(--serif);letter-spacing:-.055em}
.page-hero>p:last-child{max-width:600px;margin-top:30px;color:#64645f}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:100px}
.category-card{position:relative;isolation:isolate;display:flex;min-height:560px;padding:25px;color:#fff;align-items:flex-end;overflow:hidden;background:#4b514c}
.category-card:before{content:"";position:absolute;z-index:-2;inset:0;background-image:var(--cover);background-size:cover;background-position:center;transition:transform .9s var(--ease)}
.category-card:hover:before{transform:scale(1.03)}
.category-card>span{position:absolute;top:25px;font-size:9px;letter-spacing:.2em}
.category-card>div{position:relative;z-index:2}
.category-card h2{margin:0 0 4px;font:400 clamp(38px,4vw,58px)/1 var(--serif)}
.category-card p{margin:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.archive-card{grid-column:span 6;min-height:720px}
.archive-card:nth-child(3n+2){grid-column:span 5;margin-top:90px}
.archive-card:nth-child(3n+3){grid-column:2/span 7}
.gallery-hero{position:relative;min-height:88svh;color:#fff}
.gallery-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery-heading{position:absolute;z-index:2;left:5vw;right:5vw;bottom:5vw}
.gallery-heading .eyebrow{color:rgba(255,255,255,.72)}
.gallery-heading h1{max-width:1200px;margin:0 0 20px;font:400 clamp(60px,9vw,130px)/.85 var(--serif);letter-spacing:-.065em}
.gallery-heading>p:last-child{font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.gallery-intro{padding:110px 0;font:400 21px/1.8 var(--serif)}
.photo-layout{width:min(94vw,1700px);margin:0 auto 150px}
.photo-layout--editorial{display:grid;grid-template-columns:repeat(12,1fr);gap:5vw 2.2vw;align-items:start}
.photo-layout--editorial .photo-item{grid-column:2/span 8;margin:0;cursor:zoom-in}
.photo-layout--editorial .photo-item:nth-child(4n+2){grid-column:7/span 5}
.photo-layout--editorial .photo-item:nth-child(4n+3){grid-column:1/span 6}
.photo-layout--editorial .photo-item--wide{grid-column:1/-1}
.photo-layout--editorial .photo-item--portrait{grid-column:3/span 5}
.photo-layout--masonry{columns:3 360px;column-gap:18px}
.photo-layout--masonry .photo-item{break-inside:avoid;margin:0 0 18px;cursor:zoom-in}
.photo-layout--clean{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.photo-item img{width:100%}
.photo-item figcaption{margin-top:10px;font-size:11px;color:#74746e}
.related-block{padding:70px 0 150px;border-top:1px solid var(--line)}
.related-story{display:grid;grid-template-columns:1fr 1.2fr;align-items:stretch;min-height:500px;background:#ece9e3}
.related-story>div{display:flex;flex-direction:column;justify-content:flex-end;padding:50px}
.related-story h2{margin:9px 0 22px;font:400 clamp(42px,5vw,72px)/.96 var(--serif);letter-spacing:-.045em}
.related-story p,.related-story span{font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.related-story img{width:100%;height:100%;object-fit:cover}
.journal-feature{padding-bottom:90px}
.journal-feature a{position:relative;display:block;min-height:72vh;color:#fff;overflow:hidden}
.journal-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.journal-feature a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72))}
.journal-feature div{position:absolute;z-index:2;left:4vw;bottom:4vw;max-width:900px}
.journal-feature h2{margin:10px 0 22px;font:400 clamp(55px,7vw,100px)/.9 var(--serif);letter-spacing:-.055em}
.journal-feature p,.journal-feature span,.journal-card p{font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.journal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 28px;padding-bottom:150px}
.journal-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:24px}
.journal-card h2{margin:10px 0 12px;font:400 clamp(32px,3.4vw,52px)/1 var(--serif);letter-spacing:-.04em}
.journal-card span{color:#696963}
.story-header{padding:180px 0 85px}
.story-header h1{margin:0;font:400 clamp(54px,7vw,96px)/.93 var(--serif);letter-spacing:-.055em}
.story-lead{margin:35px 0 0;font:400 22px/1.65 var(--serif);color:#5d5d58}
.story-cover{width:min(94vw,1600px);margin:0 auto 100px}
.story-cover img{width:100%;max-height:86vh;object-fit:cover}
.story-content{padding-bottom:120px;font:400 19px/1.85 var(--serif)}
.story-content p{margin:0 0 1.7em}
.story-content h2{margin:2em 0 .6em;font:400 42px/1.05 var(--serif)}
.story-content figure{margin:70px calc(50% - 46vw)}
.story-content figure img{width:92vw;margin:auto}
.standard-page{padding:180px 0 140px}
.site-footer{width:min(92vw,1440px);margin:auto;padding:110px 0 35px;border-top:1px solid var(--line)}
.footer-kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.footer-mail{display:inline-block;margin:28px 0 110px;font:400 clamp(40px,6vw,86px)/1 var(--serif);letter-spacing:-.045em}
.footer-bottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.lightbox{position:fixed;z-index:1000;inset:0;display:grid;grid-template-columns:70px 1fr 70px;align-items:center;background:rgba(13,14,12,.97);color:#fff;opacity:0;visibility:hidden;transition:.35s}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;height:100svh}
.lightbox img{max-width:calc(100vw - 180px);max-height:88svh;object-fit:contain}
.lightbox figcaption{display:flex;justify-content:space-between;width:100%;padding-top:12px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.67)}
.lightbox button{border:0;background:none;color:#fff;font-size:27px;cursor:pointer}
.lightbox-close{position:absolute;top:22px;right:22px;width:45px;height:45px;border:1px solid rgba(255,255,255,.25)!important;border-radius:50%}
@media(max-width:850px){
  .desktop-nav{display:none}.menu-toggle{display:block}
  .mobile-nav{position:fixed;z-index:90;inset:0;display:flex;align-items:center;justify-content:center;background:var(--paper);opacity:0;visibility:hidden;transition:.35s}
  .mobile-nav.is-open{opacity:1;visibility:visible}
  .mobile-nav ul{list-style:none;padding:0;text-align:center}
  .mobile-nav li{margin:18px}
  .mobile-nav a{font:400 44px/1 var(--serif)}
  .hero-copy{bottom:55px}
  .hero-copy h1{font-size:65px}
  .home-intro{padding:100px 0 50px}
  .featured-grid,.archive-grid{display:block}
  .project-card,.archive-card{display:block;min-height:68vh;margin:0 0 18px!important}
  .category-grid{grid-template-columns:1fr}
  .category-card{min-height:65vh}
  .page-hero{padding:140px 0 70px}
  .page-hero h1,.standard-page h1{font-size:52px}
  .gallery-heading h1{font-size:58px}
  .gallery-intro{padding:70px 0;font-size:19px}
  .photo-layout--editorial,.photo-layout--clean{display:block}
  .photo-layout--editorial .photo-item,.photo-layout--editorial .photo-item:nth-child(n){margin:0 0 22px}
  .photo-layout--masonry{columns:1}
  .related-story{grid-template-columns:1fr}
  .related-story>div{padding:35px;min-height:330px}
  .related-story img{min-height:350px}
  .journal-grid{grid-template-columns:1fr;gap:55px}
  .journal-feature h2{font-size:52px}
  .story-header{padding:140px 0 65px}
  .story-header h1{font-size:53px}
  .story-content figure{margin:45px calc(50% - 47vw)}
  .story-content figure img{width:94vw}
  .footer-mail{margin-bottom:70px}
  .footer-bottom{gap:20px;flex-direction:column}
  .lightbox{grid-template-columns:42px 1fr 42px}
  .lightbox img{max-width:calc(100vw - 90px)}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
