/* Norsital Engineering in Action gallery */
.engineering-gallery { background: var(--paper, #f5f7f8); color: var(--ink, #17232e); }
.engineering-gallery-heading { margin-bottom: 42px; }
.engineering-gallery-heading h2 { margin: 15px 0; font-size: clamp(38px, 5vw, 76px); line-height: 1.05; letter-spacing: -.06em; }
.engineering-gallery-heading p { margin: 0; color: var(--steel, #516675); font-size: 17px; }
.engineering-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 15vw, 230px); gap: 14px; }
.engineering-gallery-item { position: relative; display: block; min-width: 0; padding: 0; overflow: hidden; border: 0; background: linear-gradient(135deg, #476a80, #17232e); cursor: zoom-in; text-align: left; }
.engineering-gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.engineering-gallery-item:nth-child(6) { grid-column: span 2; }
.engineering-gallery-item img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.engineering-gallery-item:hover img { transform: scale(1.04); }
.engineering-gallery-item::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, #07121bd9); pointer-events: none; }
.engineering-gallery-caption { position: absolute; z-index: 1; bottom: 18px; left: 20px; right: 20px; color: #fff; font-size: clamp(14px, 1.4vw, 20px); font-weight: 800; }
.engineering-gallery-fallback { position: absolute; inset: 0; display: grid; place-items: center; color: #c4dce9; font-size: 12px; letter-spacing: .12em; }
.engineering-lightbox[hidden] { display: none; }
.engineering-lightbox { position: fixed; z-index: 1000; inset: 0; display: flex; align-items: center; justify-content: center; padding: 65px 80px; background: #08131af2; color: white; }
.engineering-lightbox figure { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; }
.engineering-lightbox figure img { max-width: 100%; max-height: calc(100dvh - 150px); object-fit: contain; }
.engineering-lightbox figcaption { padding: 15px; font-weight: 700; text-align: center; }
.engineering-lightbox button { position: absolute; z-index: 2; background: #263947; border: 1px solid #ffffff70; color: white; cursor: pointer; font-size: 32px; width: 45px; height: 45px; }
.engineering-lightbox-close { top: 20px; right: 20px; }
.engineering-lightbox-prev { left: 20px; top: 50%; }
.engineering-lightbox-next { right: 20px; top: 50%; }
body.engineering-lightbox-open { overflow: hidden; }
@media (max-width: 950px) { .engineering-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 220px; } .engineering-gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 1; } .engineering-gallery-item:nth-child(6) { grid-column: span 1; } }
@media (max-width: 600px) { .engineering-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 230px; } .engineering-gallery-item:nth-child(1), .engineering-gallery-item:nth-child(6) { grid-column: auto; grid-row: auto; } .engineering-lightbox { padding: 70px 15px; } .engineering-lightbox-prev { left: 8px; } .engineering-lightbox-next { right: 8px; } .engineering-lightbox button { width: 38px; height: 38px; } }
@media (prefers-reduced-motion: reduce) { .engineering-gallery-item img { transition: none; } }
