/* Apolo identity: short CSS entrance; no video download or blocking loader. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.brand-opening{visibility:hidden;opacity:0;position:fixed;inset:0;z-index:100;background:var(--navy-deep);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;pointer-events:none;}
.brand-opening img{width:clamp(80px,24vw,128px);height:auto;object-fit:contain;}
.opening-line{width:46px;height:1px;background:var(--gold-light);transform-origin:left;}
.intro-running .hero-copy{animation:copy-arrive .75s 1.05s ease both}
.hero-photo>img{object-fit:contain}.intro-running .hero-photo>img{animation:team-arrive 1s 1.25s ease both!important}
.hero-photo{overflow:hidden}
.brand img,.viewer-identity img,.gallery-end img{object-fit:contain}
.brand img{width:42px;height:40px}
.hero-description{margin-bottom:0}
.hero-copy{display:flex;flex-direction:column;justify-content:center}
.photo-frame{aspect-ratio:var(--photo-ratio)}
.photo-open img{object-fit:contain}
.photo-grid{align-items:start;gap:12px}
.gallery-toolbar{justify-content:flex-start}
.gallery-meta{justify-content:flex-end}
.gallery-meta p:last-child{max-width:none;text-align:left}
.viewer-footer h2{font-family:var(--serif);font-size:20px;letter-spacing:.2px}
@keyframes pillar-arrive{0%{opacity:0;transform:scale(.82)}30%{opacity:1}100%{opacity:1;transform:scale(1.05)}}
@keyframes line-arrive{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes opening-away{to{opacity:0;visibility:hidden}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes team-arrive{from{opacity:.15;filter:blur(9px);transform:scale(1.035)}to{opacity:1;filter:blur(0);transform:none}}
@media(max-width:900px),(pointer:coarse){.hero-copy{padding:30px 22px 28px}.hero-description{margin-bottom:0}.gallery-toolbar{padding:4px 0 12px}.photo-row{gap:8px;margin-bottom:8px}.photo-frame{border-radius:3px}.gallery-meta{padding:12px 0 16px}.gallery-meta p:last-child{font-size:11px}.viewer-footer h2{font-size:19px}.mobile-save-area{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.intro-running .brand-opening img{animation:soft-arrive .4s ease both!important}.intro-running .hero-copy,.intro-running .hero-photo>img{animation:none!important}.hero-copy,.hero-photo>img{animation:none!important;opacity:1;transform:none;filter:none}}

.intro-running .brand-opening{visibility:visible;opacity:1;animation:opening-away .55s 1s ease both!important}
.intro-running .brand-opening img{animation:pillar-arrive 1.2s cubic-bezier(.2,.65,.3,1) both}
.intro-running .opening-line{animation:line-arrive .85s .15s ease both}
@keyframes soft-arrive{from{opacity:0}to{opacity:1}}

.photo-download{position:absolute;right:6px;bottom:6px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#0a1633d9;border:1px solid #ffffff70;color:white;text-decoration:none;box-shadow:0 2px 8px #0002}
.photo-download svg{width:18px;height:18px}
.photo-download:hover,.photo-download:focus-visible{background:var(--gold);color:var(--navy-deep)}

/* 32px visible circle inside a 44px touch target. */
.photo-download{right:3px;bottom:3px;background:transparent;border:0;box-shadow:none;isolation:isolate;padding:0;color:white}
.photo-download::before{content:'';position:absolute;inset:6px;border-radius:50%;background:#0a1633de;border:1px solid #ffffff70;z-index:-1;box-shadow:0 2px 6px #0002}
.photo-download svg{width:15px;height:15px}
.photo-download:hover,.photo-download:focus-visible{background:transparent;color:var(--navy-deep)}
.photo-download:hover::before,.photo-download:focus-visible::before{background:var(--gold)}

.brand small{text-align:left}
.gallery-toolbar{gap:12px;flex-wrap:wrap}
.selection-toggle{min-height:44px;padding:10px 18px;border:1px solid var(--navy);border-radius:3px;background:transparent;color:var(--navy);font:600 12px var(--sans)}
.selection-toggle[aria-pressed=true]{background:var(--navy);color:white}
.photo-selection{display:none;position:absolute;top:6px;left:6px;width:44px;height:44px;padding:6px;border:0;background:transparent;color:transparent;z-index:3}
.photo-selection span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:2px solid white;background:#0a163380;font-size:19px}
.selection-mode .photo-selection{display:block}
.selection-mode .favorite-button,.selection-mode .photo-download{display:none}
.is-selected .photo-frame{outline:3px solid var(--gold);outline-offset:-3px}
.is-selected .photo-selection{color:var(--navy-deep)}
.is-selected .photo-selection span{background:var(--gold-light);border-color:var(--gold-light)}
.selection-mode{padding-bottom:160px}
.selection-bar{position:fixed;z-index:30;bottom:0;left:0;right:0;padding:18px max(18px,4.5vw) calc(18px + env(safe-area-inset-bottom,0px));background:var(--navy-deep);border-top:1px solid var(--gold);box-shadow:0 -5px 24px #0002;color:white;display:flex;align-items:center;justify-content:space-between;gap:15px}
.selection-summary{display:grid;gap:5px;font-size:13px}.selection-summary span{font-size:11px;color:#ccd0dc}
.selection-tools{display:flex;align-items:center;gap:10px}.selection-tools button{min-height:44px;padding:10px 12px;background:transparent;color:white;border:1px solid #ffffff40;border-radius:3px;font-size:12px}.selection-tools button:disabled{opacity:.45}
#bulk-download{display:flex;align-items:center;justify-content:center;gap:16px;min-height:44px;background:var(--gold);color:var(--navy-deep);padding:12px 18px;border-radius:3px;text-decoration:none;font-size:13px;font-weight:700}#bulk-download[aria-disabled=true]{opacity:.4;cursor:default}
@media(max-width:900px),(pointer:coarse){.gallery-toolbar{flex-direction:row;gap:8px}.gallery-toolbar .filters{flex:1;min-width:0}.selection-toggle{padding:10px 12px;font-size:12px}.filter{font-size:12px;padding:10px 6px}.selection-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));display:block}.selection-tools{display:grid;grid-template-columns:auto auto 1fr;gap:8px;margin-top:10px}.selection-tools button{font-size:11px;padding:8px}.selection-summary{gap:3px}#bulk-download{font-size:12px;padding:10px 8px;gap:8px}.selection-mode .toast{bottom:160px}}
@media(max-width:350px){.gallery-toolbar .filters{width:100%;flex-basis:100%}.selection-tools{grid-template-columns:1fr 1fr}#bulk-download{grid-column:1/-1}.selection-mode{padding-bottom:210px}}

body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.album-navigation{position:fixed;z-index:35;bottom:0;left:0;right:0;height:calc(70px + env(safe-area-inset-bottom,0px));padding:6px max(18px,calc((100% - 460px)/2)) calc(6px + env(safe-area-inset-bottom,0px));display:flex;gap:12px;align-items:stretch;background:var(--navy-deep);border-top:1px solid #c9972e70;box-shadow:0 -4px 18px #0002}
.album-navigation button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;border-radius:5px;background:transparent;color:#c3c8d3;font:600 11px var(--sans);min-height:50px;white-space:nowrap}
.album-navigation button svg{width:20px;height:20px;stroke-width:1.5}
.album-navigation button[aria-pressed=true]{color:var(--gold-light);background:#e2be6a13}
.album-navigation button:focus-visible{outline-offset:-3px}
.selection-bar{bottom:calc(70px + env(safe-area-inset-bottom,0px));padding-bottom:14px}
.selection-mode{padding-bottom:calc(235px + env(safe-area-inset-bottom,0px))}
.toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.selection-mode .toast{bottom:calc(240px + env(safe-area-inset-bottom,0px))}
@media(max-width:350px){.album-navigation{gap:8px;padding-left:12px;padding-right:12px}.selection-mode{padding-bottom:calc(290px + env(safe-area-inset-bottom,0px))}.selection-mode .toast{bottom:calc(290px + env(safe-area-inset-bottom,0px))}}
