@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{--paper:#f3f0e9;--ink:#242923;--olive:#617565;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}
html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans)}
.hero{background:#17211f;min-height:620px;position:relative;overflow:hidden}
.hero .hero-image{position:absolute;right:0;left:auto;width:61%;height:100%;object-fit:cover;object-position:center 52%}
.hero .hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101b19 1%,#101b19 33%,rgba(16,27,25,.65) 58%,rgba(16,27,25,.04) 100%)}
.hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.05em}
.work-section{background:var(--paper);color:var(--ink)}
.work-section .section-heading h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.new-gallery-block{margin:46px 0 110px}.new-gallery-heading,.archive-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px 30px;border-top:1px solid #bfc7bc;padding:26px 0 28px}
.new-gallery-kicker{font:700 11px var(--sans);text-transform:uppercase;letter-spacing:.2em;color:#6e8067}
.new-gallery-heading h3,.archive-heading h3{font:400 clamp(26px,3.4vw,47px)/1.15 var(--serif);letter-spacing:-.035em;margin:0}
.new-gallery-heading p{margin:0;color:#778078;font-size:12px}
.new-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.new-photo{display:block;width:100%;aspect-ratio:2/3;border:0;background:#d8ddd4;padding:0;overflow:hidden;cursor:zoom-in}
.new-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s ease,filter .4s ease}
.new-photo:hover img{transform:scale(1.045);filter:brightness(1.05)}
.archive-heading{margin:0 0 26px}
.new-photo-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:65px 64px 35px;border:0;background:rgba(7,13,13,.97);color:white;box-sizing:border-box}
.new-photo-viewer[open]{display:grid;place-items:center}
.new-photo-viewer::backdrop{background:#071010}
.new-photo-viewer figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:13px}
.new-photo-viewer figure img{max-width:calc(100vw - 150px);max-height:calc(100dvh - 140px);object-fit:contain}
.new-photo-viewer figcaption{font:12px var(--sans);color:#b6c2ba;letter-spacing:.12em}
.new-photo-viewer button{color:#fff;background:transparent;border:1px solid #ffffff65;cursor:pointer;border-radius:99px;padding:11px 15px;font:13px var(--sans)}
.npv-close{position:absolute;top:22px;right:24px}.npv-prev,.npv-next{position:absolute;top:50%;transform:translateY(-50%)}.npv-prev{left:14px}.npv-next{right:14px}
@media(max-width:950px){.new-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero .hero-image{width:70%}}
@media(max-width:620px){.new-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.new-gallery-block{margin:30px 0 68px}.new-gallery-heading,.archive-heading{display:block}.new-gallery-heading h3,.archive-heading h3{margin:10px 0}.hero .hero-image{width:100%;opacity:.65}.hero .hero-shade{background:linear-gradient(90deg,rgba(7,16,14,.78),rgba(7,16,14,.12)),linear-gradient(0deg,rgba(7,16,14,.7),transparent 70%)}.new-photo-viewer{padding:70px 38px}.new-photo-viewer figure img{max-width:calc(100vw - 76px);max-height:calc(100dvh - 150px)}.npv-prev{left:5px}.npv-next{right:5px}}

/* Cohesive editorial gallery refinements */
:root { color-scheme: light; --line: rgba(44, 56, 47, .19); }
.work-section .eyebrow { color: #647565; }
.work-section .section-heading > p:last-child { color: #6c766e; }
.gallery { columns: unset; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.gallery .photo { width: 100%; margin: 0; aspect-ratio: 2 / 3; break-inside: auto; }
.gallery .photo img { width: 100%; height: 100%; object-fit: cover; }
.gallery .photo--wide { grid-column: span 2; aspect-ratio: 4 / 3; }
.about-section { background: #e5e9e1; }
.about-section .eyebrow { color: #5b7162; }
@media (max-width: 950px) { .gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px) { .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; } .gallery .photo--wide { grid-column: span 2; } }
@media (max-width: 430px) { .gallery { columns: unset; grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Wider featured photograph: expanded hero and prominent first gallery image. */
@media (min-width: 621px) {
  .hero .hero-image {
    width: 80%;
    object-position: center 48%;
  }
  .hero .hero-shade {
    background: linear-gradient(90deg,
      #101b19 0%, rgba(16,27,25,.96) 23%,
      rgba(16,27,25,.72) 44%,
      rgba(16,27,25,.12) 78%,
      rgba(16,27,25,0) 100%);
  }
}
.new-gallery-grid .new-photo:first-child {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: auto;
}
@media (max-width: 620px) {
  .new-gallery-grid .new-photo:first-child {
    grid-column: span 2;
    grid-row: span 1;
    aspect-ratio: 2 / 3;
  }
}
