/* Premium, editorial factory-image gallery. */
.showcase-gallery { position: relative; isolation: isolate; margin-top: 8px; padding: 58px 52px 54px; overflow: hidden; color: #eef5f1; background: #093a36; scroll-margin-top: 120px; }
.showcase-gallery::before,.showcase-gallery::after { position: absolute; z-index: -1; content: ""; border: 1px solid rgba(245,130,22,.58); border-radius: 50%; }
.showcase-gallery::before { width: 440px; height: 440px; top: -300px; right: -145px; }
.showcase-gallery::after { width: 230px; height: 230px; bottom: -174px; left: 31%; }
.showcase-gallery .section-marker { margin-bottom: 27px; color: #a9c2b9; }
.showcase-gallery-heading { align-items: end; margin-bottom: 37px; }
.showcase-gallery-heading h2 { color: white; }
.showcase-gallery-heading h2 em { color: var(--orange-2); }
.showcase-gallery-heading > p { color: #b4c8c1; }
.showcase-gallery-grid { display: grid; grid-template-columns: 1.05fr .95fr .95fr; grid-template-rows: repeat(2,224px); gap: 12px; }
.showcase-gallery-card { position: relative; min-height: 0; margin: 0; overflow: hidden; background: #123f3b; border: 1px solid rgba(255,255,255,.13); }
.showcase-gallery-card:first-child { grid-row: 1 / span 2; }
.showcase-gallery-card:nth-child(2) { grid-column: 2 / span 2; }
.showcase-gallery-card img,.showcase-gallery-card video { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.84) contrast(1.06); transition: transform .55s ease,filter .55s ease; }
.showcase-gallery-card:hover img,.showcase-gallery-card:hover video { filter: saturate(1) contrast(1.04); transform: scale(1.055); }
.showcase-gallery-card::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg,rgba(2,27,25,.93),rgba(2,27,25,.05) 65%); }
.showcase-gallery-card::before { position: absolute; z-index: 1; top: 13px; left: 13px; width: 26px; height: 26px; content: ""; border-top: 2px solid var(--orange-2); border-left: 2px solid var(--orange-2); opacity: .95; }
.showcase-gallery-card figcaption { position: absolute; z-index: 1; right: 18px; bottom: 17px; left: 18px; color: white; font-size: 14px; font-weight: 700; line-height: 1.3; }
.showcase-gallery-card:first-child figcaption { font-size: 18px; }
.showcase-gallery-card figcaption span { display: block; margin-bottom: 5px; color: var(--orange-2); font: 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
@media (max-width:900px) { .showcase-gallery { padding: 47px 35px 38px; } .showcase-gallery-grid { grid-template-columns: repeat(2,1fr); grid-template-rows: 300px 205px 205px; } .showcase-gallery-card:first-child { grid-row: 1; grid-column: 1 / span 2; } .showcase-gallery-card:nth-child(2) { grid-column: auto; } }
@media (max-width:580px) { .showcase-gallery { margin-top: 0; padding: 39px 17px 18px; } .showcase-gallery-heading { margin-bottom: 27px; } .showcase-gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 250px 172px 172px; gap: 8px; } .showcase-gallery-card figcaption { right: 11px; bottom: 10px; left: 11px; font-size: 11px; } .showcase-gallery-card:first-child figcaption { font-size: 15px; } .showcase-gallery-card::before { top: 9px; left: 9px; width: 18px; height: 18px; } }
