@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
.gallery-page{margin:0;background:#f5f8f6;color:#153f47;font-family:Inter,sans-serif}.gallery-shell{width:min(1180px,calc(100% - 32px));margin-inline:auto}.gallery-top{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #dce7e3}.gallery-nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery-brand{display:flex;align-items:center;gap:11px;color:#153f47;text-decoration:none}.gallery-brand img{width:50px;height:50px;object-fit:contain}.gallery-brand strong,.gallery-brand small{display:block}.gallery-brand strong{font:800 13px 'Plus Jakarta Sans',sans-serif}.gallery-brand small{margin-top:2px;color:#708486;font-size:10px}.gallery-back{color:#087780;font-size:12px;font-weight:800;text-decoration:none}.gallery-hero{padding:78px 0;background:linear-gradient(125deg,#063f49,#075f68);color:#fff}.gallery-hero-grid{display:grid;gap:34px;align-items:end}.gallery-kicker,.gallery-heading span,.album-label{color:#e4bd45;font-size:11px;font-weight:800;letter-spacing:.12em}.gallery-hero h1{margin:12px 0 16px;font:800 clamp(46px,7vw,78px)/1.02 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em}.gallery-hero h1 em{color:#e4bd45;font-style:normal}.gallery-hero p{max-width:700px;margin:0;color:#d4e5e3;font-size:17px;line-height:1.7}.gallery-hero-note{padding:22px;border:1px solid #ffffff22;border-radius:18px;background:#ffffff0d}.gallery-hero-note strong,.gallery-hero-note span{display:block}.gallery-hero-note strong{font:800 15px 'Plus Jakarta Sans',sans-serif}.gallery-hero-note span{margin-top:6px;color:#bed3d1;font-size:12px;line-height:1.6}.gallery-section{padding:72px 0}.gallery-heading,.album-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.gallery-heading h2,.album-head h2{margin:7px 0 0;font:800 clamp(34px,5vw,52px)/1.05 'Plus Jakarta Sans',sans-serif;letter-spacing:-.04em}.gallery-heading small,.album-actions>span{color:#6d8285;font-size:12px}.album-grid{display:grid;gap:20px}.album-card{position:relative;overflow:hidden;min-height:390px;border-radius:24px;background:#073f49;color:#fff;box-shadow:0 18px 45px #0b3b4214;cursor:pointer}.album-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.album-card::after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#031e24ee)}.album-card:hover>img{transform:scale(1.025)}.album-card-copy{position:absolute;z-index:2;inset:auto 22px 22px}.album-card-copy small{display:inline-flex;padding:6px 9px;border-radius:999px;background:#e4bd45;color:#103b43;font-size:9px;font-weight:900;letter-spacing:.08em}.album-card-copy h3{margin:11px 0 6px;font:800 26px/1.15 'Plus Jakarta Sans',sans-serif}.album-card-copy p{margin:0;color:#d4e3e1;font-size:12px;line-height:1.55}.album-meta{display:flex;gap:11px;margin-top:12px;color:#fff;font-size:11px;font-weight:700}.album-view{background:#fff}.album-return{margin:0 0 24px;border:0;background:transparent;color:#087780;padding:0;font-weight:800;cursor:pointer}.album-head{align-items:flex-start}.album-head p{max-width:700px;margin:10px 0 0;color:#657b7e;line-height:1.65}.album-actions{display:grid;justify-items:end;gap:10px}.share-button{border:0;border-radius:999px;background:#0b6e76;color:#fff;padding:12px 17px;font-weight:800;cursor:pointer}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-card{position:relative;aspect-ratio:4/3;overflow:hidden;border:0;border-radius:15px;background:#dce7e3;padding:0;cursor:zoom-in}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.photo-card:hover img{transform:scale(1.025)}.photo-card span{position:absolute;left:9px;bottom:9px;padding:5px 8px;border-radius:999px;background:#062f39d9;color:#fff;font-size:9px;font-weight:800}.photo-lightbox{width:min(1440px,calc(100% - 16px));max-width:none;padding:0;border:0;border-radius:18px;background:#041f25;color:#fff;overflow:hidden}.photo-lightbox::backdrop{background:#001317e8;backdrop-filter:blur(5px)}.lightbox-inner{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(92dvh,1000px)}.lightbox-toolbar,.lightbox-caption{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 16px;background:#062f39}.lightbox-toolbar small,.lightbox-toolbar strong{display:block}.lightbox-toolbar small{color:#e4bd45;font-size:9px;font-weight:900;letter-spacing:.08em}.lightbox-toolbar strong{margin-top:3px;font:800 13px 'Plus Jakarta Sans',sans-serif}.lightbox-toolbar>div:last-child{display:flex;gap:8px}.lightbox-toolbar button{min-width:42px;height:40px;border:1px solid #ffffff33;border-radius:999px;background:#ffffff10;color:#fff;padding:0 12px;font-weight:800;cursor:pointer}.lightbox-stage{position:relative;display:grid;place-items:center;min-height:0;background:#02181d}.lightbox-stage img{width:100%;height:100%;max-height:78dvh;object-fit:contain}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #ffffff44;border-radius:50%;background:#062f39d9;color:#fff;font-size:21px;cursor:pointer}.lightbox-arrow.prev{left:14px}.lightbox-arrow.next{right:14px}.lightbox-caption{justify-content:flex-start;color:#c8dcda;font-size:12px}.lightbox-caption span{color:#e4bd45;font-weight:800;white-space:nowrap}.lightbox-caption p{margin:0}.gallery-footer{padding:24px 0;background:#073f49;color:#a7c5c3;font-size:11px}.gallery-footer .gallery-shell{display:flex;justify-content:space-between;gap:20px}.gallery-footer a{color:#fff;font-weight:800;text-decoration:none}
@media(min-width:760px){.gallery-hero-grid{grid-template-columns:minmax(0,1fr) 320px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(min-width:1050px){.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.gallery-hero{padding:58px 0}.gallery-section{padding:54px 0}.gallery-brand small{display:none}.gallery-heading,.album-head{align-items:flex-start;flex-direction:column}.album-actions{justify-items:start}.album-card{min-height:330px}.photo-grid{gap:7px}.photo-card{border-radius:11px}.photo-card span{display:none}.lightbox-arrow{width:42px;height:42px}.lightbox-caption p{display:none}}
@media(prefers-reduced-motion:reduce){.album-card>img,.photo-card img{transition:none}}

/* Single-frame gallery presentation */
.gallery-slideshow{margin-top:12px}
.gallery-slide-frame{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:3/2;max-height:760px;overflow:hidden;border:1px solid #d8e3df;border-radius:24px;background:transparent;box-shadow:0 22px 54px rgba(5,43,50,.12)}
.gallery-slide-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:transparent;opacity:0;transform:scale(1.002);transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform 1.05s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform;backface-visibility:hidden;transform-origin:center}
.gallery-slide-image.is-visible{opacity:1;transform:scale(1)}
.gallery-slide-arrow{position:absolute;z-index:5;top:50%;display:grid;place-items:center;transform:translateY(-50%);width:54px;height:54px;border:1.5px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(4,31,37,.88);color:#fff;font-size:26px;line-height:1;cursor:pointer;backdrop-filter:blur(5px);box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .2s ease,background .2s ease}
.gallery-slide-arrow:hover{background:rgba(7,95,104,.96);transform:translateY(-50%) scale(1.05)}
.gallery-slide-arrow.prev{left:16px}.gallery-slide-arrow.next{right:16px}
.gallery-slide-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 4px 0}.gallery-slide-footer strong{color:#60777b;font-size:12px}.share-button.secondary{background:#e9f2ef;color:#0b6068}
@media(max-width:620px){.gallery-slide-frame{aspect-ratio:3/2;min-height:0;border-radius:16px}.gallery-slide-arrow{width:58px;height:58px;font-size:30px;border-width:2px;background:rgba(4,31,37,.92);box-shadow:0 8px 24px rgba(0,0,0,.28)}.gallery-slide-arrow.prev{left:12px}.gallery-slide-arrow.next{right:12px}.gallery-slide-footer{padding-top:12px}.gallery-slide-footer .share-button{padding:10px 13px}}

@media(prefers-reduced-motion:reduce){.gallery-slide-image{transition:none;transform:none}}

/* MCC: visible footer Back navigation */
.gallery-footer a{color:#68ed75!important;font-weight:800!important;text-decoration:underline;text-underline-offset:4px}
.gallery-footer a:hover,.gallery-footer a:focus-visible{color:#b7ffbf!important}

/* Unified MCC footer Back link: high contrast and consistent focus/hover. */
.gallery-footer a{color:#ffffff!important;text-decoration:none!important;font-weight:800!important}
.gallery-footer a:hover,.gallery-footer a:focus-visible{color:#bce8e2!important;text-decoration:underline!important;text-underline-offset:4px}

/* MCC slideshow: stronger, consistently centered chevrons on small screens. */
.gallery-slide-arrow{display:flex;align-items:center;justify-content:center;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gallery-slide-arrow svg{display:block;width:26px;height:26px;flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
.gallery-slide-arrow:focus-visible{outline:3px solid #e4bd45;outline-offset:3px}
@media(max-width:620px){.gallery-slide-arrow{width:48px;height:48px;border:2px solid rgba(255,255,255,.88);background:rgba(4,31,37,.94)}.gallery-slide-arrow svg{width:28px;height:28px}.gallery-slide-arrow.prev{left:8px}.gallery-slide-arrow.next{right:8px}}
