/* A decoded photograph fades over the previous image; the frame never empties. */
.syrb.syrb-v4 .syrb-gallery.is-gallery-ready figure { position:relative; isolation:isolate; overflow:hidden; background:#ede9df; }
.syrb.syrb-v4 main .syrb-gallery img.syrb-gallery-incoming {
 position:absolute; inset:0; width:100%; height:100%; margin:0; z-index:1;
 object-fit:cover; background:#ede9df; opacity:0; pointer-events:none;
 transform:none!important; clip-path:none!important;
 transition:opacity 420ms ease-in-out!important;
}
.syrb.syrb-v4 main .syrb-gallery img.syrb-gallery-incoming.is-visible { opacity:1; }
.syrb.syrb-v4 .syrb-gallery.is-gallery-ready .syrb-gallery-controls {
 display:flex; flex-wrap:nowrap; gap:8px; min-width:0; max-width:100%;
 overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin;
 scroll-snap-type:x proximity; scroll-padding:3px; padding:12px 3px 6px;
}
.syrb.syrb-v4 .syrb-gallery.is-gallery-ready .syrb-gallery-controls button {
 flex:0 0 auto; scroll-snap-align:start; min-height:44px; max-width:min(310px,85%);
 white-space:normal; text-align:left; line-height:1.35;
 display:flex; align-items:center; gap:10px; padding:8px 10px;
}
.syrb.syrb-v4 .syrb-gallery-controls button.is-loading { border-style:dashed; }
.syrb.syrb-v4 .syrb-gallery-controls button:focus-visible { outline:2px solid var(--forest); outline-offset:1px; }
.syrb.syrb-v4 .syrb-gallery-controls img { flex:0 0 64px; width:64px; height:48px; object-fit:cover; border-radius:1px; transform:none!important; clip-path:none!important; }
.syrb.syrb-v4 .syrb-gallery-status:not(.is-error) {
 position:absolute; width:1px; height:1px; padding:0; margin:-1px; border:0;
 overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;
}
.syrb.syrb-v4 .syrb-gallery-status.is-error { font-size:14px; line-height:1.5; margin-top:8px; color:var(--ink); }
.syrb.syrb-v4 .syrb-gallery-caption { font-size:13px; line-height:1.5; margin-top:10px; color:var(--muted); }
.syrb.syrb-v4.is-motion-reduced main .syrb-gallery img.syrb-gallery-incoming { transition:none!important; }
@media(prefers-reduced-motion:reduce) {
 .syrb.syrb-v4 main .syrb-gallery img.syrb-gallery-incoming { transition:none!important; }
}

.syrb.syrb-v4 main .syrb-gallery[data-gallery-fit="contain"] figure > img:not([data-fit]),
.syrb.syrb-v4 main .syrb-gallery figure img[data-fit="contain"] { object-fit:contain; transform:none!important; clip-path:none!important; }
@media(max-width:680px) { .syrb.syrb-v4 .syrb-gallery-caption { min-height:3em; } }

.syrb.syrb-v4 .syrb-gallery-open {
 position:absolute; z-index:3; right:10px; bottom:10px; min-height:44px;
 padding:10px 13px; border:1px solid #d4cfbf; border-radius:2px;
 background:#faf7eff2; color:var(--forest); font:500 14px/1.3 Inter,Arial,sans-serif;
 box-shadow:0 2px 8px #193d2814; cursor:pointer;
}
.syrb.syrb-v4 .syrb-gallery-open:focus-visible { outline:2px solid var(--forest); outline-offset:2px; }
.syrb.syrb-v4 .syrb-photo-viewer {
 width:min(1280px,calc(100vw - 32px)); height:min(920px,calc(100dvh - 32px));
 max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); margin:auto;
 padding:16px 20px; border:0; border-radius:4px; background:#f6f3eb; color:#193d28;
 box-shadow:0 16px 70px #0006; box-sizing:border-box;
}
.syrb.syrb-v4 .syrb-photo-viewer[open] { display:flex; flex-direction:column; gap:12px; }
.syrb.syrb-v4 .syrb-photo-viewer::backdrop { background:#102e24d9; }
.syrb.syrb-v4 .syrb-photo-viewer-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex:0 0 auto; }
.syrb.syrb-v4 .syrb-photo-viewer-title { margin:0; font:500 20px/1.3 'Source Serif 4',Georgia,serif; }
.syrb.syrb-v4 .syrb-photo-viewer button { min-height:44px; padding:10px 14px; border:1px solid #aab6a7; border-radius:2px; background:none; color:#004225; font:500 14px/1.3 Inter,Arial,sans-serif; cursor:pointer; }
.syrb.syrb-v4 .syrb-photo-viewer button:focus-visible { outline:2px solid #004225; outline-offset:2px; }
.syrb.syrb-v4 .syrb-photo-viewer-figure { flex:1 1 auto; min-height:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.syrb.syrb-v4 .syrb-photo-viewer-image { display:block; flex:1 1 auto; min-height:0; width:100%; height:100%; object-fit:contain; transform:none!important; clip-path:none!important; }
.syrb.syrb-v4 .syrb-photo-viewer-caption { flex:0 0 auto; font:400 14px/1.5 Inter,Arial,sans-serif; }
.syrb.syrb-v4 .syrb-photo-viewer-nav { display:flex; justify-content:center; align-items:center; gap:20px; flex:0 0 auto; }
.syrb.syrb-v4 .syrb-photo-viewer-nav[hidden] { display:none; }
.syrb.syrb-v4 .syrb-photo-viewer-count { font:400 14px/1.5 Inter,Arial,sans-serif; }
.syrb.syrb-v4 .syrb-photo-viewer-status { flex:0 0 auto; min-height:1.5em; margin:0; font:400 13px/1.5 Inter,Arial,sans-serif; }
@media(max-width:760px) {
 .syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="3"] .syrb-gallery-controls button,
 .syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="2"] .syrb-gallery-controls button {
  flex:1 1 0; min-width:0; max-width:none; flex-direction:column; align-items:center;
  gap:6px; padding:7px 5px; font-size:13px; text-align:center;
 }
 .syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="3"] .syrb-gallery-controls img,
 .syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="2"] .syrb-gallery-controls img { flex:0 0 36px; width:48px; height:36px; }
 .syrb.syrb-v4 .syrb-photo-viewer { width:calc(100vw - 16px); height:calc(100dvh - 16px); max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:12px; }
 .syrb.syrb-v4 .syrb-photo-viewer-title { font-size:19px; }
 .syrb.syrb-v4 .syrb-photo-viewer-caption { font-size:13px; }
 .syrb.syrb-v4 .syrb-photo-viewer-nav { gap:12px; }
 .syrb.syrb-v4 .syrb-photo-viewer-status { min-height:3em; font-size:12px; }
}

.syrb.syrb-v4 .syrb-photo-viewer-status:not(.is-error) {
 position:absolute; width:1px; height:1px; min-height:0; padding:0; margin:-1px; border:0;
 overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;
}
@media(min-width:681px) {
 .syrb.syrb-v4 .syrb-gallery[data-photo-count="2"] .syrb-gallery-controls button,
 .syrb.syrb-v4 .syrb-gallery[data-photo-count="3"] .syrb-gallery-controls button {
  flex:1 1 0; min-width:0; max-width:none;
 }
 .syrb.syrb-v4 .syrb-gallery-controls button>span { min-width:0; overflow-wrap:anywhere; }
}
@media(min-width:761px) and (max-width:1250px) {
 .syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="3"] .syrb-gallery-controls button,
 .syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="2"] .syrb-gallery-controls button {
  flex-direction:column; align-items:center; gap:6px; padding:7px 5px; font-size:13px; text-align:center;
 }
 .syrb.syrb-v4 .syrb-gallery.is-gallery-ready .syrb-gallery-controls img { flex:0 0 36px; width:48px; height:36px; }
}

/* Four-photo galleries: keep every choice visible without a horizontal rail. */
.syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="4"] .syrb-gallery-controls {
 display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; scroll-snap-type:none;
}
.syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="4"] .syrb-gallery-controls button {
 width:100%; min-width:0; max-width:none; white-space:normal; gap:8px;
}
.syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="4"] .syrb-gallery-controls img {
 flex:0 0 48px; width:48px; height:36px;
}
.syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="4"] .syrb-gallery-controls button>span { min-width:0; overflow-wrap:normal; }
@media(max-width:760px) {
 .syrb.syrb-v4 .syrb-gallery.is-gallery-ready[data-photo-count="4"] .syrb-gallery-controls button { font-size:12px; padding:8px 6px; }
}

/* Joe's original JPEG is unchanged. Its photograph occupies y=257..1078
   in a 1206x1149 file. Size the original to cover that 1206x822 window,
   then hide only the embedded black borders inside each existing frame. */
.syrb.syrb-v4 :is(.syrb-gallery figure,.syrb-card-image,.syrb-directory-image):has(>img[src*="/joe-fresh-sawn-beams.jpeg"]),
.syrb.syrb-v4 .syrb-original-thumb,
.syrb.syrb-v4 .syrb-photo-viewer-frame {
 position:relative; container-type:size; overflow:hidden;
}
.syrb.syrb-v4 .syrb-original-thumb { display:block; flex:0 0 48px; width:48px; height:36px; }
.syrb.syrb-v4 .syrb-gallery-controls[hidden] { display:none!important; }
.syrb.syrb-v4 .syrb-photo-viewer-frame { flex:1 1 auto; min-height:0; width:100%; }
.syrb.syrb-v4 img[src*="/joe-fresh-sawn-beams.jpeg"] {
 position:absolute!important; inset:auto!important; margin:0!important;
 width:max(100cqw,146.715328cqh)!important;
 height:max(95.273632cqw,139.781022cqh)!important;
 max-width:none!important; max-height:none!important; aspect-ratio:auto!important;
 left:calc(50cqw - max(50cqw,73.357664cqh))!important;
 top:calc(50cqh - max(55.389718cqw,81.265207cqh))!important;
 object-fit:fill!important; transform:none!important; clip-path:none!important;
}
/* The full-photo view contains the whole photograph, with no black bars. */
.syrb.syrb-v4 .syrb-photo-viewer-frame img[src*="/joe-fresh-sawn-beams.jpeg"] {
 width:min(100cqw,146.715328cqh)!important;
 height:min(95.273632cqw,139.781022cqh)!important;
 left:calc(50cqw - min(50cqw,73.357664cqh))!important;
 top:calc(50cqh - min(55.389718cqw,81.265207cqh))!important;
 clip-path:inset(22.367276% 0 6.092254% 0)!important;
}
.syrb.syrb-v4 img[src*="/joe-air-dried-beams.jpeg"] { object-position:55% 35%; }
