
.gallery-page { background: #f4f1eb; color: #111820; }
.gallery-hero { padding: 110px 0 90px; background: #111820; color: #fff; }
.gallery-hero h1 { max-width: 760px; margin: 20px 0; font-size: clamp(2.35rem, 4vw, 4.45rem); line-height: 1.02; }
.gallery-hero h1 em { color: #e45243; font-style: normal; }
.gallery-hero p { max-width: 580px; color: #c7d0d2; }
.gallery-section, .awards-section { padding: 100px 0; }
.gallery-section { background: #fff; }
.gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 42px; }
.gallery-heading h2 { margin: 14px 0 0; font-size: clamp(2.25rem, 4vw, 4.2rem); }
.gallery-heading h2 em { color: #e45243; font-style: normal; }
.gallery-heading > p { max-width: 360px; color: #667078; }
.gallery-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; grid-auto-rows: 230px; gap: 16px; }
.gallery-tile { position: relative; min-height: 230px; overflow: hidden; background: #dfe2de; border-radius: 8px; }
.gallery-tile:first-child { grid-row: span 2; }
.gallery-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, filter .5s ease; }
.gallery-tile img { cursor: zoom-in; }
.gallery-tile:hover img { transform: scale(1.06); filter: saturate(1.12); }
.gallery-tile::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(16,24,32,.78)); }
.gallery-tile figcaption { position: absolute; z-index: 1; right: 18px; bottom: 16px; left: 18px; color: #fff; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.awards-section { background: #e8b84f; }
.awards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 42px; }
.award-card { min-height: 230px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; background: #111820; color: #fff; border-radius: 8px; }
.award-card:nth-child(2) { background: #e45243; }.award-card:nth-child(3) { background: #fff; color: #111820; }.award-card:nth-child(4) { background: #202d34; }
.award-number { color: #e8b84f; font: 600 2.2rem/1 'Space Grotesk', sans-serif; }.award-card:nth-child(2) .award-number { color: #fff; }.award-card:nth-child(3) .award-number { color: #e45243; }
.award-card h3 { margin: 30px 0 8px; font-size: 1.35rem; }.award-card p { margin: 0; color: #bcc5c7; font-size: .86rem; }.award-card:nth-child(2) p { color: #ffe0da; }.award-card:nth-child(3) p { color: #667078; }
@media (max-width: 820px) { .gallery-heading { display: block; }.gallery-heading > p { margin-top: 22px; }.gallery-grid { grid-template-columns: 1fr 1fr; }.gallery-tile:first-child { grid-row: span 1; }.awards-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .gallery-hero, .gallery-section, .awards-section { padding: 72px 0; }.gallery-grid, .awards-grid { grid-template-columns: 1fr; }.gallery-tile, .gallery-tile:first-child { min-height: 245px; grid-row: auto; } }
.gallery-lightbox { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 5vw; background: rgba(10,16,20,.92); cursor: zoom-out; }
.gallery-lightbox img { max-width: min(1200px, 92vw); max-height: 88vh; object-fit: contain; border: 1px solid rgba(232,184,79,.65); border-radius: 8px; box-shadow: 0 30px 90px rgba(0,0,0,.5); }
.gallery-lightbox button { position: absolute; top: 24px; right: 28px; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: transparent; color: #fff; font-size: 1.8rem; cursor: pointer; }
