
:root{
  --bg:#fbfbf9;
  --text:#111;
  --muted:#7a7a74;
  --line:#dfdfda;
  --card:#ededE9;
  --max:1500px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  line-height:1.4;
}
a{color:inherit}
button{font:inherit}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;background:white;padding:.7rem 1rem;z-index:99}

.site-header{
  max-width:var(--max);
  margin:0 auto;
  padding:24px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.brand{
  text-decoration:none;
  font-size:.78rem;
  letter-spacing:.14em;
  font-weight:650;
  white-space:nowrap;
}
.site-nav{display:flex;gap:28px}
.site-nav a,.back-link{
  text-decoration:none;
  font-size:.88rem;
}
.site-nav a:hover,.back-link:hover{text-decoration:underline;text-underline-offset:5px}
.menu-toggle{display:none;background:none;border:0;padding:0}

.hero{
  max-width:var(--max);
  margin:0 auto;
  padding:0 28px 28px;
}
.hero-media{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-photo{
  width:100%;
  height:auto;
  display:block;
}

.series-section{
  max-width:var(--max);
  margin:0 auto;
  padding:44px 28px 110px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:70px 26px;
}
.series-card{text-decoration:none}
.series-image{
  width:100%;
  aspect-ratio:4/3;
  display:flex;
  align-items:center;
  justify-content:center;
}
.series-label{
  padding-top:12px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:baseline;
}
.series-label span{
  color:var(--muted);
  font-size:.78rem;
}
.series-label strong{
  font-size:.92rem;
  font-weight:500;
}

.info-section{
  max-width:var(--max);
  margin:0 auto;
  padding:85px 28px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:40px;
}
.info-section h2{
  margin:0;
  font-size:.92rem;
  font-weight:600;
}
.info-text{
  max-width:720px;
  font-size:clamp(1.25rem,2.2vw,2rem);
}
.info-text p{margin:0}
.info-text a{text-decoration:none;border-bottom:1px solid var(--text)}

.placeholder{
  background:linear-gradient(135deg,rgba(0,0,0,.018),rgba(0,0,0,.05)),var(--card);
  border:1px solid var(--line);
}
.placeholder span{
  color:var(--muted);
  font-size:.7rem;
  letter-spacing:.13em;
}

.gallery-page{
  max-width:var(--max);
  margin:0 auto;
  padding:70px 28px 110px;
}
.gallery-intro{
  max-width:720px;
  margin-bottom:58px;
}
.eyebrow{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.72rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.gallery-intro h1{
  margin:0 0 18px;
  font-size:clamp(2.6rem,5vw,5.3rem);
  font-weight:500;
  letter-spacing:-.04em;
}
.gallery-intro>p:last-child{
  margin:0;
  max-width:600px;
  color:var(--muted);
}
.photo-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.photo{
  width:100%;
  aspect-ratio:4/3;
  padding:0;
  border:1px solid var(--line);
  cursor:zoom-in;
}
.photo:nth-child(3n){aspect-ratio:3/4}

.lightbox{
  width:100vw;
  max-width:none;
  height:100vh;
  max-height:none;
  border:0;
  padding:0;
  background:rgba(18,18,18,.97);
  color:#fff;
}
.lightbox[open]{
  display:grid;
  grid-template-columns:64px 1fr 64px;
  align-items:center;
}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox-media{
  width:min(82vw,1300px);
  height:min(82vh,900px);
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#2a2a2a;
  border:1px solid #444;
}
.lightbox-close,.lightbox-prev,.lightbox-next{
  border:0;
  background:none;
  color:white;
  cursor:pointer;
  font-size:1.7rem;
}
.lightbox-close{
  position:absolute;
  top:16px;
  right:24px;
  font-size:2rem;
}

.site-footer{
  max-width:var(--max);
  margin:0 auto;
  padding:28px 28px 44px;
  color:var(--muted);
  font-size:.75rem;
}

@media(max-width:760px){
  .site-header{padding:18px 20px}
  .brand{font-size:.7rem;letter-spacing:.11em}
  .menu-toggle{display:block}
  .site-nav{
    display:none;
    position:absolute;
    top:56px;left:0;right:0;
    background:var(--bg);
    border-bottom:1px solid var(--line);
    padding:22px 20px 30px;
    flex-direction:column;
    gap:18px;
    z-index:10;
  }
  .site-nav.open{display:flex}
  .hero{padding:0 20px 20px}
  .hero-media{
    height:auto;
    min-height:0;
  }
  .series-section{
    padding:34px 20px 80px;
    grid-template-columns:1fr;
    gap:48px;
  }
  .series-label{display:block}
  .series-label strong{display:block;margin-top:4px}
  .info-section{
    padding:60px 20px;
    grid-template-columns:1fr;
    gap:28px;
  }
  .gallery-page{padding:50px 20px 80px}
  .photo-grid{grid-template-columns:1fr}
  .lightbox[open]{grid-template-columns:44px 1fr 44px}
  .lightbox-media{width:calc(100vw - 96px);height:70vh}
  .site-footer{padding:24px 20px 38px}
}

.hero-link{display:block;text-decoration:none}
.series-image-photo{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
.series-label{
  justify-content:flex-start;
}
.series-label strong{
  font-size:.92rem;
  font-weight:500;
}
