.gallery-hero{background:linear-gradient(135deg,#0b1028 0%,#171d48 58%,#4c3f9f 100%);color:#fff;padding:105px 5vw 90px;overflow:hidden}.gallery-hero-inner{max-width:1340px;margin:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:7vw;align-items:center}.gallery-hero h1{font-size:clamp(3rem,6vw,6.4rem);max-width:880px}.gallery-hero .page-lead{max-width:720px}.gallery-hero-photo{position:relative}.gallery-hero-photo img{width:100%;display:block;border-radius:28px;box-shadow:0 35px 90px rgba(0,0,0,.4)}.gallery-hero-photo:before{content:'Real moments · real people';position:absolute;z-index:2;left:-28px;bottom:26px;background:#fff;color:#111735;padding:13px 18px;border-radius:999px;font:700 .82rem Manrope;box-shadow:0 12px 35px rgba(0,0,0,.25)}.story-intro{max-width:1050px;margin:auto;padding:90px 5vw;text-align:center}.story-intro h2{font-size:clamp(2.3rem,4.5vw,4.5rem);margin-bottom:24px}.story-intro p{font-size:1.15rem;color:var(--muted);max-width:820px;margin:0 auto}.gallery-section{padding:95px 5vw}.gallery-section.alt{background:#fff}.gallery-section.dark{background:var(--navy);color:#fff}.gallery-wrap{max-width:1340px;margin:auto}.story-heading{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(260px,.65fr);gap:28px;align-items:start;margin-bottom:48px}.story-year{font:800 .85rem Manrope;color:var(--purple);border:1px solid #cfd2df;border-radius:999px;padding:10px 14px;text-align:center}.dark .story-year{color:#d5d2ff;border-color:#4b5278}.story-heading h2{font-size:clamp(2.2rem,4vw,4.4rem)}.story-heading>p{color:var(--muted);font-size:1.05rem}.dark .story-heading>p{color:#bdc3d9}.photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px}.photo-card{grid-column:span 6;margin:0;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 16px 45px rgba(24,30,68,.1)}.photo-card.wide{grid-column:span 8}.photo-card.narrow{grid-column:span 4}.photo-card.full{grid-column:1/-1}.photo-card img{width:100%;height:100%;max-height:760px;object-fit:cover;display:block;transition:.35s transform}.photo-card a{display:block;overflow:hidden;background:#e8eaf2}.photo-card:hover img{transform:scale(1.018)}.photo-card figcaption{padding:24px 26px;color:var(--ink)}.photo-card figcaption strong{display:block;font:700 1.15rem Manrope;margin-bottom:7px}.photo-card figcaption span{color:var(--muted)}.dark .photo-card{background:#161c3e}.dark .photo-card figcaption{color:#fff}.dark .photo-card figcaption span{color:#bdc3d9}.award-badges{display:grid;grid-template-columns:1fr 1fr;gap:18px}.award-badge{background:linear-gradient(145deg,#fff,#f0efff);border:1px solid #dfe2ec;border-radius:24px;padding:32px;text-align:center}.award-badge img{width:100%;max-width:310px;aspect-ratio:1/1;object-fit:contain}.award-badge h3{font-size:1.3rem;margin:18px 0 8px}.award-badge p{color:var(--muted);margin:0}.finalist-card{display:grid;grid-template-columns:.55fr 1.45fr;gap:36px;align-items:center;background:linear-gradient(135deg,#eef0ff,#fff 65%);border:1px solid #dfe2ec;border-radius:28px;padding:44px}.finalist-mark{min-height:270px;border-radius:22px;background:linear-gradient(145deg,#756ae8,#3b348d);display:grid;place-items:center;color:#fff;text-align:center;padding:30px}.finalist-mark span{font:800 4.2rem/1 Manrope}.finalist-mark small{display:block;margin-top:14px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.finalist-copy h3{font-size:clamp(2rem,3vw,3.2rem);margin-bottom:18px}.finalist-copy p{color:var(--muted);font-size:1.06rem}.add-note{max-width:1340px;margin:auto;padding:70px 5vw 100px}.add-note-card{border:1px dashed #aaaed0;border-radius:24px;padding:38px;background:#f0f1f8;display:flex;justify-content:space-between;gap:30px;align-items:center}.add-note-card h2{font-size:clamp(1.7rem,3vw,2.7rem)}.add-note-card p{max-width:620px;color:var(--muted);margin:8px 0 0}.gallery-nav-link{font-weight:700}@media(max-width:900px){.gallery-hero-inner,.story-heading{grid-template-columns:1fr}.gallery-hero-photo:before{left:14px}.photo-card,.photo-card.wide,.photo-card.narrow{grid-column:1/-1}.finalist-card{grid-template-columns:1fr}.award-badges{grid-template-columns:1fr 1fr}}@media(max-width:620px){.gallery-hero{padding:70px 6vw 55px}.gallery-section{padding:70px 6vw}.award-badges{grid-template-columns:1fr}.finalist-card{padding:25px}.add-note-card{align-items:flex-start;flex-direction:column}}
