:root{--gallery-paper:#ead8ba;--gallery-red:#b42b2c;--gallery-ink:#211b16;--gallery-black:#11100f}
*{box-sizing:border-box}
body.gallery-page{margin:0;background:
  radial-gradient(circle at 20% 10%,rgba(255,255,255,.025),transparent 24%),
  repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0 1px,transparent 1px 5px),
  var(--gallery-black);color:#f3ecdf;font-family:Georgia,'Times New Roman',serif}
.gallery-page .site-header{position:relative;background:#11100f;border-bottom:1px solid rgba(170,124,67,.22)}
.gallery-hero{padding:86px clamp(28px,8vw,130px) 58px;max-width:1050px}
.gallery-kicker{margin:0 0 12px;color:#d92d2f;font-size:12px;font-weight:700;letter-spacing:.18em}
.gallery-hero h1{margin:0 0 18px;font-size:clamp(48px,7vw,92px);font-weight:500;line-height:.95;letter-spacing:-.035em}
.gallery-hero>p:last-child{max-width:720px;margin:0;color:#d6ccbd;font-size:19px;line-height:1.55}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:30px;
  padding:20px clamp(24px,6vw,96px) 90px;
  align-items:start;
}
.gallery-card{
  position:relative;
  grid-column:span 4;
  border:0;
  padding:10px 10px 18px;
  background:#dfc79f;
  box-shadow:0 18px 34px rgba(0,0,0,.36);
  cursor:zoom-in;
  transform:rotate(-.5deg);
  transition:transform .24s ease,filter .24s ease;
}
.gallery-card:nth-child(even){transform:rotate(.65deg)}
.gallery-card:hover,.gallery-card:focus-visible{transform:translateY(-5px) rotate(0deg) scale(1.008);filter:drop-shadow(0 15px 20px rgba(0,0,0,.24));outline:none}
.gallery-card:focus-visible{box-shadow:0 18px 34px rgba(0,0,0,.36),0 0 0 3px rgba(217,45,47,.35)}
.gallery-card img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#111}
.gallery-card-wide{grid-column:span 8}
.gallery-card-tall{grid-row:span 2}
.gallery-card-square{grid-column:span 4}
.gallery-tape{
  position:absolute;top:-12px;left:50%;width:82px;height:25px;
  transform:translateX(-50%) rotate(-3deg);
  background:linear-gradient(90deg,rgba(160,127,79,.73),rgba(196,165,111,.7),rgba(154,121,74,.76));
  box-shadow:0 1px 2px rgba(0,0,0,.14);opacity:.86
}
.gallery-tape-right{left:auto;right:18%;transform:rotate(5deg)}

.gallery-closing{
  position:relative;
  padding:78px clamp(28px,8vw,130px) 96px;
  color:var(--gallery-ink);
  background:linear-gradient(rgba(245,229,200,.97),rgba(237,214,177,.98));
}
.gallery-closing:before{
  content:"";position:absolute;left:0;right:0;top:-24px;height:28px;background:inherit;
  clip-path:polygon(0 68%,6% 45%,13% 65%,21% 42%,29% 68%,38% 43%,47% 66%,57% 41%,67% 69%,77% 45%,87% 66%,94% 43%,100% 63%,100% 100%,0 100%)
}
.gallery-closing>p{margin:0 0 14px;color:var(--gallery-red);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.gallery-closing blockquote{max-width:980px;margin:0;font-size:clamp(34px,4.3vw,64px);line-height:1.12;font-weight:400}

.gallery-dialog{
  width:min(1000px,94vw);max-height:94vh;padding:16px;background:#11100f;border:1px solid #927047;box-shadow:0 30px 90px rgba(0,0,0,.75)
}
.gallery-dialog::backdrop{background:rgba(0,0,0,.86)}
.gallery-dialog img{display:block;max-width:100%;max-height:87vh;width:auto;height:auto;margin:auto}
.gallery-dialog-close{position:absolute;right:10px;top:4px;z-index:3;border:0;background:none;color:#fff;font-size:32px;cursor:pointer;text-shadow:0 1px 4px #000}

@media(max-width:980px){
  .gallery-card,.gallery-card-square{grid-column:span 6}
  .gallery-card-wide{grid-column:span 12}
}
@media(max-width:620px){
  .gallery-hero{padding:58px 22px 38px}
  .gallery-grid{grid-template-columns:1fr;gap:22px;padding:18px 20px 68px}
  .gallery-card,.gallery-card-wide,.gallery-card-tall,.gallery-card-square{grid-column:1!important;grid-row:auto!important;transform:none!important;padding:8px 8px 14px}
  .gallery-closing{padding:58px 22px 68px}
}


/* 2026-10-01 gallery portrait sizing correction */
.gallery-card-portrait{
  grid-column:span 4!important;
  justify-self:center!important;
  width:100%!important;
  max-width:520px!important;
}
.gallery-card-portrait img{
  width:100%!important;
  height:auto!important;
  max-height:520px!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:980px){
  .gallery-card-portrait{
    grid-column:span 6!important;
    max-width:460px!important;
  }
}
@media(max-width:620px){
  .gallery-card-portrait{
    grid-column:1!important;
    max-width:100%!important;
  }
  .gallery-card-portrait img{
    max-height:none!important;
  }
}
