.past-gallery{background:#431c29;color:#f3edde;padding:65px 3% 50px}
.past-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;padding:0 2%;margin-bottom:30px}
.past-label{font-size:10px;letter-spacing:.14em;color:#c7cebf;margin-bottom:16px}
.past-heading h2{font-size:clamp(40px,5.3vw,76px);letter-spacing:-.045em}
.past-heading>p{font-size:14px;line-height:1.8;max-width:70ch;color:#dddccf}

/* Coordinated arrangements share a fixed stage: no page jump or sliding tiles. */
.mosaic-stage{position:relative;isolation:isolate;overflow:hidden;background:#431c29}
.past-grid.mosaic{background:#431c29;overflow:hidden;position:relative;display:grid;grid-template-columns:1fr 2fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(360px,38vw,520px);gap:5px;align-items:stretch}
.mosaic>.past-piece[hidden]{display:none}
.mosaic .past-piece{padding:0;margin:0;min-width:0;min-height:0;position:relative;overflow:hidden}
.mosaic .past-piece-1{grid-column:2;grid-row:1/3}
.mosaic .past-piece-2{grid-column:1;grid-row:1}
.mosaic .past-piece-3{grid-column:3;grid-row:1}
.mosaic .past-piece-4{grid-column:1;grid-row:2}
.mosaic .past-piece-5{grid-column:3;grid-row:2}
.mosaic .photo-open{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:#17261f;overflow:hidden;text-align:left}
.mosaic .photo-open img{width:100%;height:100%;object-fit:cover}
.mosaic .photo-open:focus-visible{outline:3px solid #edd393;outline-offset:-5px;z-index:2}
.mosaic .photo-open .photo-outgoing{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:1;transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}
.mosaic .photo-open .photo-outgoing.is-fading{opacity:0}
.mosaic .past-piece figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mosaic .enlarge-mark{position:absolute;z-index:2;right:12px;bottom:12px;display:grid;place-items:center;width:34px;height:34px;font-size:18px;opacity:0;background:#17261fd9;color:#fff;transition:opacity .2s}
.mosaic .photo-open:hover .enlarge-mark,.mosaic .photo-open:focus-visible .enlarge-mark{opacity:1}
.mosaic .past-piece-4 img{object-position:50% 58%}
.past-note{font-size:12px;color:#c7cebf;margin-top:18px;padding:0 2%;line-height:1.7}

#photo-viewer{background:#16231c;color:#f3edde;border:1px solid #687065;width:min(1100px,calc(100% - 24px));max-width:none;max-height:95dvh;padding:18px;overflow:auto}
#photo-viewer::backdrop{background:#080d0aee}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px;font-size:10px;letter-spacing:.08em}
.viewer-close{background:#f3edde;color:#16231c;padding:11px 15px;font-size:12px}
.viewer-image{width:100%;height:min(65dvh,750px);object-fit:contain;background:#101a14}
.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}
.viewer-bottom button{background:transparent;border:1px solid #758375;color:#f3edde;font-size:24px;width:46px;min-height:44px;flex-shrink:0}
.viewer-bottom p{text-align:center;font-family:Georgia,serif;font-size:20px;margin:0!important}
.viewer-disclaimer{font-size:11px!important;color:#c7cebf;text-align:center;margin:12px 0 0!important}
.option-b:not(:has(.design-picker)) .photo-hero{min-height:650px}

@media(max-width:700px){
  .past-gallery{padding:35px 0 25px}
  .past-heading{display:block;padding:0 5%;margin-bottom:23px}
  .past-label{font-size:8px;margin-bottom:12px}
  .past-heading h2{font-size:43px}
  .past-heading>p{font-size:12px;line-height:1.8;max-width:460px;margin-top:17px}
  .past-grid.mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(400px,110vw,480px);gap:4px}
  .mosaic>.past-piece-1{grid-column:1;grid-row:1/3}
  .mosaic>.past-piece-2{grid-column:2;grid-row:1}
  .mosaic>.past-piece-3{grid-column:2;grid-row:2}
  .mosaic>.past-piece-4,.mosaic>.past-piece-5{display:none}
  .mosaic .enlarge-mark{opacity:1;width:23px;height:23px;font-size:14px;bottom:7px;right:7px}
  .past-note{font-size:11px;padding:0 5%;margin-top:17px}
  .viewer-toolbar{font-size:8px;letter-spacing:0}
  .viewer-bottom p{font-size:17px}
  .viewer-image{height:60dvh}
  #photo-viewer{padding:12px}
  .viewer-disclaimer{font-size:10px!important}
  .option-b:not(:has(.design-picker)) .photo-hero{min-height:565px}
}
@media(prefers-reduced-motion:reduce){
  .mosaic .photo-open img,.mosaic .photo-open .photo-outgoing,.mosaic .enlarge-mark{transition:none}
}

/* Side arrangements reserve tile one as a two-row portrait, including mobile. */
.mosaic[data-layout="left"],.mosaic[data-layout="right"]{grid-template-columns:1fr 1.5fr 1.5fr;grid-template-rows:repeat(2,minmax(0,1fr))}
.mosaic[data-layout="left"]>.past-piece-1{grid-column:1;grid-row:1/3}
.mosaic[data-layout="left"]>.past-piece-2{grid-column:2;grid-row:1}
.mosaic[data-layout="left"]>.past-piece-3{grid-column:3;grid-row:1}
.mosaic[data-layout="left"]>.past-piece-4{grid-column:2;grid-row:2}
.mosaic[data-layout="left"]>.past-piece-5{grid-column:3;grid-row:2}
.mosaic[data-layout="right"]{grid-template-columns:1.5fr 1.5fr 1fr}
.mosaic[data-layout="right"]>.past-piece-1{grid-column:3;grid-row:1/3}
.mosaic[data-layout="right"]>.past-piece-2{grid-column:1;grid-row:1}
.mosaic[data-layout="right"]>.past-piece-3{grid-column:2;grid-row:1}
.mosaic[data-layout="right"]>.past-piece-4{grid-column:1;grid-row:2}
.mosaic[data-layout="right"]>.past-piece-5{grid-column:2;grid-row:2}
.past-grid.mosaic.mosaic-outgoing{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:1;transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}
.past-grid.mosaic.mosaic-outgoing.is-fading{opacity:0}
@media(max-width:700px){
  .past-grid.mosaic[data-layout]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
  .mosaic[data-layout="left"]>.past-piece-1,.mosaic[data-layout="center"]>.past-piece-1{grid-column:1;grid-row:1/3}
  .mosaic[data-layout="left"]>.past-piece-2,.mosaic[data-layout="center"]>.past-piece-2{grid-column:2;grid-row:1}
  .mosaic[data-layout="left"]>.past-piece-3,.mosaic[data-layout="center"]>.past-piece-3{grid-column:2;grid-row:2}
  .mosaic[data-layout="right"]>.past-piece-1{grid-column:2;grid-row:1/3}
  .mosaic[data-layout="right"]>.past-piece-2{grid-column:1;grid-row:1}
  .mosaic[data-layout="right"]>.past-piece-3{grid-column:1;grid-row:2}
}
@media(prefers-reduced-motion:reduce){.past-grid.mosaic.mosaic-outgoing{transition:none}}

.mosaic.is-transitioning>.past-piece>.photo-open{pointer-events:none}

.mosaic-gutters{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.mosaic-gutters i{position:absolute;display:block;background:#431c29}

.mosaic-old-gutters{opacity:1;transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}
.mosaic-old-gutters.is-fading{opacity:0}
@media(prefers-reduced-motion:reduce){.mosaic-old-gutters{transition:none}}
