/* Keep unusually tall source photos fully visible instead of cutting off their subjects. */
img[src$="image17.jpg"]{object-fit:contain!important;object-position:center;background:#eef2ff}.program-grid article:nth-child(3) img{padding:8px;background:linear-gradient(135deg,#eff6ff,#fefce8)}

.hero{overflow:hidden}.hero-shade{transition:background-color .4s}.hero:before{content:"";position:absolute;inset:-2%;background:url('../images/gallery/image1.jpg') center/cover;animation:hero-drift 18s ease-in-out infinite alternate;z-index:0}.hero-shade,.hero-content{z-index:1}.hero .button{transition:transform .2s,box-shadow .2s,background .2s}.hero .button:hover{transform:translateY(-3px);box-shadow:0 12px 25px #17255445}.hero .button.outline:hover{border-color:#fde047}.reveal-section{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal-section.is-visible{opacity:1;transform:none}@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.06) translateY(-1%)}}

.gallery-showcase{background:linear-gradient(180deg,#f9fafb 0%,#fff 100%);position:relative;overflow:hidden}.gallery-showcase:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:#facc1518;right:-160px;top:40px}.gallery-showcase .section-heading>div:last-child{max-width:440px}.gallery-showcase .section-heading>div:last-child p{margin:0;color:#6b7280}.gallery-page-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:#1e3a8a;font-size:13px;font-weight:700}.gallery-page-link i{transition:transform .2s}.gallery-page-link:hover i{transform:translateX(4px)}.gallery-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin:-15px 0 30px}.gallery-toolbar button{border:1px solid #dbe3f1;background:#fff;color:#4b5563;border-radius:999px;padding:9px 17px;font:600 12px 'Poppins',sans-serif;cursor:pointer;transition:.2s}.gallery-toolbar button:hover{border-color:#eab308;color:#1e3a8a;transform:translateY(-1px)}.gallery-toolbar button.active{background:#1e3a8a;color:#fff;border-color:#1e3a8a;box-shadow:0 7px 16px #1e3a8a30}

.interactive-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:14px}.interactive-gallery figure{grid-column:span 3;grid-row:auto;margin:0;min-width:0;border-radius:12px;box-shadow:0 8px 22px #11182718;transition:opacity .3s,transform .3s}.interactive-gallery figure:first-child,.interactive-gallery figure:nth-child(6){grid-column:span 6;grid-row:span 2}.interactive-gallery figure:nth-child(4),.interactive-gallery figure:nth-child(7){grid-column:span 3;grid-row:span 2}.interactive-gallery figure[hidden]{display:none}.gallery-card{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#e5e7eb;color:#fff;cursor:zoom-in;overflow:hidden;text-align:left}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .35s}.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.055);filter:saturate(1.08)}.gallery-card:focus-visible{outline:4px solid #facc15;outline-offset:3px}.gallery-overlay{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:1fr auto;align-items:end;padding:50px 18px 16px;background:linear-gradient(transparent,#172554e8);transform:translateY(7px);transition:transform .3s}.gallery-card:hover .gallery-overlay,.gallery-card:focus-visible .gallery-overlay{transform:none}.gallery-overlay small,.gallery-overlay strong{grid-column:1;display:block}.gallery-overlay small{color:#fde047;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.gallery-overlay strong{font-size:14px;margin-top:3px}.gallery-overlay i{grid-column:2;grid-row:1/span 2;font-size:20px;opacity:.85}

body.lightbox-open{overflow:hidden}.gallery-lightbox{width:min(1180px,94vw);height:min(820px,92vh);padding:0;border:0;border-radius:13px;background:#0b1736;color:#fff;overflow:hidden;box-shadow:0 30px 90px #0008}.gallery-lightbox::backdrop{background:#050b1be8;backdrop-filter:blur(5px)}.gallery-lightbox[open]{display:grid;grid-template-columns:64px 1fr 64px;align-items:center}.gallery-lightbox figure{height:100%;min-height:0;margin:0;display:grid;grid-template-rows:1fr auto;overflow:hidden}.gallery-lightbox figure>img{width:100%;height:100%;min-height:0;object-fit:contain;background:#071027}.gallery-lightbox figcaption{display:grid;grid-template-columns:1fr auto;padding:16px 18px;background:#172554}.gallery-lightbox figcaption small,.gallery-lightbox figcaption strong{grid-column:1}.gallery-lightbox figcaption small{color:#fde047;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.gallery-lightbox figcaption strong{font-size:16px}.gallery-lightbox figcaption span{grid-column:2;grid-row:1/span 2;align-self:center;color:#bfdbfe;font-size:12px}.lightbox-close,.lightbox-arrow{border:0;background:#ffffff12;color:#fff;cursor:pointer;transition:.2s}.lightbox-close:hover,.lightbox-arrow:hover{background:#eab308;color:#172554}.lightbox-close{position:absolute;z-index:2;right:12px;top:12px;width:42px;height:42px;border-radius:50%;font-size:18px}.lightbox-arrow{height:64px;width:48px;border-radius:8px;justify-self:center;font-size:22px}

@media(max-width:900px){.interactive-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}.interactive-gallery figure,.interactive-gallery figure:first-child,.interactive-gallery figure:nth-child(4),.interactive-gallery figure:nth-child(6),.interactive-gallery figure:nth-child(7){grid-column:auto;grid-row:auto}.gallery-lightbox[open]{grid-template-columns:48px 1fr 48px}.lightbox-arrow{width:40px}.gallery-showcase .section-heading>div:last-child{margin-top:15px}}
@media(max-width:600px){.interactive-gallery{grid-template-columns:1fr;grid-auto-rows:290px}.gallery-toolbar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}.gallery-toolbar button{white-space:nowrap}.gallery-lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.gallery-lightbox[open]{grid-template-columns:1fr}.gallery-lightbox figure{grid-column:1;grid-row:1}.lightbox-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:54px}.lightbox-arrow.previous{left:7px}.lightbox-arrow.next{right:7px}.gallery-lightbox figcaption{padding:14px 58px 14px 15px}}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none}.reveal-section{opacity:1;transform:none;transition:none}.gallery-card img,.hero .button{transition:none}}
