:root{font-family:system-ui,sans-serif;color:var(--pls-tone-20382f);background:var(--pls-tone-f4f5ef)}*{box-sizing:border-box}body{margin:0}main{max-width:1250px;margin:auto;padding:32px 24px}a{color:var(--pls-tone-24583b);text-underline-offset:4px}.back{font-weight:600}header{max-width:760px;padding:32px 0 12px}h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;margin:8px 0 20px}.eyebrow{font-size:.8rem;letter-spacing:.18em;font-weight:700}p{line-height:1.65}.layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}section{min-width:0}.viewer{background:var(--pls-tone-ffffff);padding:24px;border:1px solid var(--pls-tone-d5dbd2);border-radius:16px}#overview{position:relative;overflow:hidden;border-radius:16px;background:var(--pls-tone-d9e2d5);aspect-ratio:800/537}#overview>img{width:100%;height:100%;object-fit:fill;display:block}#markers{position:absolute;inset:0}.marker{position:absolute;transform:translate(-50%,-50%);border-radius:50%;min-width:34px;height:34px;padding:0 5px;background:var(--pls-tone-ffffff);color:var(--pls-tone-173a27);border:2px solid var(--pls-tone-224f37);box-shadow:0 2px 8px #0005;font-size:.75rem}.marker[aria-pressed=true]{background:var(--pls-tone-234e36);color:var(--pls-tone-ffffff)}.caption{font-size:.8rem;color:var(--pls-tone-526457)}button,select{font:inherit;min-height:44px;border:1px solid var(--pls-tone-8c9d8d);border-radius:7px;cursor:pointer}button{background:var(--pls-tone-f0f3eb);color:var(--pls-tone-20382f);padding:8px 13px}button:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--pls-tone-cc8e29);outline-offset:3px}select{width:100%;margin-top:8px;padding:8px;background:var(--pls-tone-ffffff)}.controls{display:flex;gap:12px;justify-content:space-between;margin:16px 0}h2{font-size:1.1rem}#image{min-height:180px;background:var(--pls-tone-eff2ec);display:grid;place-items:center;border-radius:8px;overflow:hidden}#image img{display:block;width:100%;height:auto}#image p{padding:16px}#group{display:flex;gap:8px;flex-wrap:wrap}#group button[aria-pressed=true]{background:var(--pls-tone-234e36);color:var(--pls-tone-ffffff)}footer{margin-top:40px;border-top:1px solid var(--pls-tone-ced8cd);padding-top:24px}#status,#photo-status{min-height:1.5em}@media(max-width:760px){main{padding:24px 16px}.layout{grid-template-columns:1fr}.viewer{padding:18px}header{padding-top:24px}}

[hidden]{display:none!important}.marker{min-width:44px;min-height:44px;height:44px}.marker[aria-pressed=true]{outline:3px solid var(--pls-tone-ffffff);outline-offset:2px;z-index:1}#retry-index,#retry-photo{margin:0 0 16px}

#group{position:relative;max-height:184px;overflow-y:auto;align-content:flex-start;padding:4px;scrollbar-gutter:stable}#group:focus-visible{outline:3px solid var(--pls-tone-cc8e29);outline-offset:3px}

#gallery{margin-top:28px;border:1px solid var(--pls-tone-ccd8ca);border-radius:12px;padding:18px;background:var(--pls-tone-ffffff)}#gallery summary{font-size:1.1rem;font-weight:700;cursor:pointer;min-height:44px}#gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.photo-tile{display:flex;flex-direction:column;gap:6px;text-align:center;align-items:stretch;min-width:0;overflow:hidden}.photo-tile img{order:-1;display:block;width:100%;height:100px;object-fit:cover;border-radius:4px}.photo-tile[aria-pressed=true]{outline:3px solid var(--pls-tone-b07925);outline-offset:1px}#group .photo-tile{flex:0 0 112px}#group .photo-tile img{height:72px}#gallery .controls{flex-wrap:wrap}#gallery summary:focus-visible{outline:3px solid var(--pls-tone-cc8e29);outline-offset:3px}

.photo-tile img[hidden]{display:none}

#overview-image{width:100%;height:100%}#overview-image img{display:block;width:100%;height:100%;object-fit:fill}#overview-status{font-size:.9rem}#retry-overview{margin-bottom:16px}

.direct-fallback a{display:inline-flex;align-items:center;min-height:44px}

/* Previous/Next may need separate rows when the visitor enlarges text. */
.viewer .controls{flex-wrap:wrap}
.viewer .controls button{min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere}
