@font-face{font-family:Manrope;src:url("assets/fonts/manrope-ext-300.ttf") format("truetype");font-style:normal;font-weight:300;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:Manrope;src:url("assets/fonts/manrope-300.ttf") format("truetype");font-style:normal;font-weight:300;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:Manrope;src:url("assets/fonts/manrope-ext-800.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:Manrope;src:url("assets/fonts/manrope-800.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap;unicode-range:U+0000-00FF}
:root{--paper:#f7f6f3;--ink:#515151;--muted:#7b7b77;--magenta:#c11374;--gap:1.3rem;--side:clamp(1.25rem,4vw,3.5rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-weight:300}
img{display:block;width:100%;height:auto}
button,a{color:inherit;font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:100px;padding:0 var(--side);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20}
.brand{display:flex;gap:.55rem;align-items:baseline;text-decoration:none;font-size:1.08rem;white-space:nowrap}
.brand-mark{font-weight:800}.brand-name{font-weight:300}
nav{display:flex;align-items:center;gap:clamp(2rem,6vw,6.5rem);height:100%}
nav a{text-decoration:none;text-transform:uppercase;font-size:.52rem;letter-spacing:.21em;position:relative;padding:2.75rem 0 1rem}
nav a.active::after,nav a:hover::after,nav a:focus-visible::after{content:"";position:absolute;left:0;right:0;bottom:.6rem;height:2px;background:var(--magenta)}
.menu-button{display:none;border:0;background:none;padding:.5rem}.menu-button span:not(.sr-only){display:block;width:24px;height:1px;background:var(--ink);margin:5px}
.hero{margin:0;position:relative}.hero>img{height:clamp(440px,62vw,760px);object-fit:cover;object-position:center 53%}
.series-label{position:absolute;left:var(--side);bottom:0;background:var(--paper);padding:1rem 1.25rem;min-width:min(430px,calc(100% - 2.5rem));display:flex;align-items:center;gap:1rem;text-transform:uppercase;letter-spacing:.17em;font-size:.5rem}
.series-label>span{width:22px;height:2px;background:var(--magenta)}.series-label small{margin-left:auto;color:var(--muted);font-size:inherit}
.gallery-intro{padding:clamp(4rem,8vw,8rem) var(--side) clamp(3rem,7vw,7rem)}
.gallery-intro h1{font-size:1.08rem;font-weight:300;margin:0}.gallery-intro strong{font-weight:800}
.gallery-grid{padding:0 var(--side) clamp(6rem,10vw,11rem);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6rem,10vw,10rem) var(--gap)}
.photo-card{margin:0;min-width:0}.photo-wide{grid-column:1/-1;margin-left:calc(-1 * var(--side));margin-right:calc(-1 * var(--side))}
.photo-frame{display:block;width:100%;overflow:hidden}
.photo-card:not(.photo-wide) .photo-frame{aspect-ratio:1.48/1}.photo-card:not(.photo-wide) img{width:100%;height:100%;object-fit:cover}
.photo-wide .photo-frame{max-height:790px}.photo-wide img{width:100%;max-height:790px;object-fit:cover}
.photo-card figcaption{display:flex;justify-content:space-between;gap:1rem;padding-top:.75rem;font-size:.52rem;letter-spacing:.03em}
.photo-wide figcaption{padding-left:var(--side);padding-right:var(--side)}
.photo-card figcaption b{color:var(--magenta);font-weight:800;margin-right:.75rem}.photo-card figcaption small{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);white-space:nowrap}
footer{min-height:90px;padding:1.5rem var(--side);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:1rem;background:var(--ink);color:#deded8;font-size:.5rem;letter-spacing:.08em}
footer strong{font-weight:800;color:var(--paper)}footer a{text-align:center;text-decoration:none}footer span:last-child{text-align:right}
@media (max-width:720px){
  .site-header{height:78px}.menu-button{display:block;z-index:2}nav{display:none;position:absolute;top:78px;left:0;right:0;height:auto;background:var(--paper);padding:1.25rem var(--side) 1.75rem;flex-direction:column;align-items:flex-start;gap:1rem;border-top:1px solid #ddd}nav.open{display:flex}nav a{padding:.25rem 0;font-size:.62rem}nav a.active::after,nav a:hover::after{bottom:-.2rem}
  .hero>img{height:60vh;min-height:390px}.series-label{left:0;right:0;min-width:0}.series-label small{display:none}
  .gallery-grid{grid-template-columns:1fr;gap:4.5rem}.photo-wide{grid-column:auto}.photo-card:not(.photo-wide){margin:0}.photo-wide .photo-frame,.photo-wide img{max-height:none}.photo-wide img{height:auto}.photo-card:not(.photo-wide) .photo-frame{aspect-ratio:auto}.photo-card:not(.photo-wide) img{height:auto}
  footer{grid-template-columns:1fr;text-align:left;gap:.75rem}footer a,footer span:last-child{text-align:left}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
