/* Scoped 3D photo ring. The outer theatre clips; the inner stage retains 3D depth. */
.pg3{--pg-ratio:1.6;--pg-width:580px;--pg-radius:650px;margin:30px auto 72px;color:#153440;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.pg3-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}
.pg3-heading h2{font:400 clamp(30px,3.4vw,44px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:0 0 14px}
.pg3-heading p{font-size:14px;color:#5c6c72;max-width:620px;margin:0;line-height:1.75}
.pg3-heading .pg3-kicker{font-size:12px;color:#52726c;margin:0 0 12px}
.pg3-total{flex-shrink:0;font-size:12px;color:#5c6c72;padding-bottom:5px}
.pg3-theatre{position:relative;overflow:hidden;background:transparent;border:0;border-radius:22px;color:var(--river,#133b4a)}
.pg3-horizon{display:none}
/* No-JS fallback remains a normal horizontal gallery with direct full-image links. */
.pg3-ring{display:flex;gap:18px;overflow-x:auto;padding:30px;scroll-snap-type:x mandatory}
.pg3-card{position:relative;display:block;flex:0 0 75%;aspect-ratio:var(--pg-ratio);overflow:hidden;border-radius:12px;background:#173d4d;scroll-snap-align:center;color:white;border:5px solid #ffffffeb;box-shadow:0 22px 45px #0005;text-decoration:none}
.pg3-card img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.pg3-card-caption{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 17px;background:linear-gradient(transparent,#061e32cb);font:400 21px/1.3 Georgia,serif;color:white;pointer-events:none}
.pg3-enhanced .pg3-stage{position:relative;height:calc(var(--pg-width) / var(--pg-ratio) + 112px);perspective:1600px;perspective-origin:50% 47%;touch-action:pan-y;cursor:grab}
.pg3-enhanced .pg3-ring{position:absolute;left:50%;top:50%;width:var(--pg-width);height:calc(var(--pg-width) / var(--pg-ratio));margin-left:calc(var(--pg-width) / -2);margin-top:calc(var(--pg-width) / var(--pg-ratio) / -2);padding:0;overflow:visible;display:block;transform-style:preserve-3d;transform:translateZ(calc(-1 * var(--pg-radius))) rotateY(0deg);transition:transform 1150ms cubic-bezier(.22,.8,.2,1);will-change:transform}
.pg3-enhanced .pg3-card{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;scroll-snap-align:none;transform:rotateY(var(--pg-angle)) translateZ(var(--pg-radius));box-shadow:0 26px 45px #0005;transition:filter 900ms ease,border-color 900ms ease;filter:brightness(.62) saturate(.8)}
.pg3-enhanced .pg3-card.is-current{filter:brightness(1) saturate(1);border-color:#fff}
.pg3-enhanced .pg3-card-caption{opacity:0;transition:opacity 600ms}
.pg3-enhanced .pg3-card.is-current .pg3-card-caption{opacity:1}
.pg3-enhanced.is-dragging .pg3-stage{cursor:grabbing}
.pg3-enhanced.is-dragging .pg3-ring,.pg3-enhanced.is-resizing .pg3-ring{transition:none}
.pg3-toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:8px 34px 29px}
.pg3-description{min-width:0}.pg3-counter{font-size:11px;color:#856022;letter-spacing:.08em}
.pg3-caption{font:400 24px/1.2 Georgia,serif;color:var(--river,#133b4a);margin:6px 0}
.pg3-hint{font-size:11px;color:var(--muted,#5c6c72)}
.pg3-actions{display:flex;gap:9px;flex-shrink:0;align-items:center}
.pg3 button{cursor:pointer;font-family:inherit}
.pg3-actions button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:43px;min-height:43px;padding:8px;border:1px solid #b7cbce;background:transparent;color:var(--river,#133b4a);border-radius:50%;font-size:22px}
.pg3-actions button:hover{background:var(--mist,#edf4f3);border-color:var(--river,#133b4a)}
.pg3-actions .pg3-play,.pg3-actions .pg3-open{border-radius:7px;padding:11px 15px;font-size:12px}
.pg3-actions .pg3-play{background:var(--river,#133b4a);color:#fff;border-color:var(--river,#133b4a)}
.pg3-actions .pg3-play:hover{background:#245768;border-color:#245768}
.pg3-actions .pg3-open{background:var(--saffron,#edaa43);color:#173844;border-color:var(--saffron,#edaa43)}
.pg3-actions .pg3-open:hover{background:#f4bd63;border-color:#d68e27}
.pg3-progress{height:2px;background:var(--line,#dae3e4);position:relative;overflow:hidden}
.pg3-progress span{display:block;height:100%;background:#edaa43;transform-origin:left;transform:scaleX(0)}
.pg3-touring .pg3-progress span{animation:pg-tour-progress 6s linear forwards}
.pg3-thumbnails{display:flex;justify-content:center;gap:12px;overflow-x:auto;padding:19px 4px 9px}
.pg3-thumbnails button{width:88px;flex-shrink:0;aspect-ratio:1.6;border:2px solid transparent;border-radius:7px;padding:3px;background:transparent;position:relative;opacity:.6;transition:opacity .2s,border-color .2s}
.pg3-thumbnails button[aria-pressed=true]{opacity:1;border-color:#b98028}
.pg3-thumbnails button:hover{opacity:1}.pg3-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.pg3-thumbnails span{position:absolute;right:6px;bottom:6px;background:#092b3ac9;color:#fff;font-size:9px;padding:1px 4px;border-radius:3px}
.pg3 button:focus-visible,.pg3 a:focus-visible,.pg3-stage:focus-visible{outline:3px solid #edaa43;outline-offset:5px}
.pg3-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pg3-dialog{width:min(1180px,96vw);max-height:95dvh;padding:20px;border:1px solid #496773;border-radius:16px;background:#092b3a;color:white}
.pg3-dialog::backdrop{background:#04131bea;backdrop-filter:blur(9px)}
.pg3-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}
.pg3-dialog-title{font:400 25px Georgia,serif;color:white;margin:0}
.pg3-dialog button{background:#ffffff0d;color:white;border:1px solid #66838b;border-radius:6px;padding:9px 15px;min-height:42px}
.pg3-dialog-top button{font-size:25px;min-width:42px;padding:3px}
.pg3-full-image{display:block;max-width:100%;width:100%;height:67dvh;object-fit:contain}
.pg3-credit{font-size:12px;color:#c0d0d4;text-align:center;margin:12px 0}
.pg3-dialog-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px}
.pg3-single .pg3-progress{display:none}
.pg3 [hidden]{display:none!important}
@keyframes pg-tour-progress{to{transform:scaleX(1)}}
@media(max-width:760px){.pg3{margin-block:22px 45px}.pg3-heading{align-items:start;flex-direction:column;gap:8px}.pg3-heading h2{font-size:33px}.pg3-heading p{font-size:13px}.pg3-total{font-size:11px}.pg3-theatre{border-radius:14px}.pg3-enhanced .pg3-stage{perspective:1100px;height:calc(var(--pg-width) / var(--pg-ratio) + 85px)}.pg3-card{border-width:3px;border-radius:9px}.pg3-card-caption{font-size:18px;padding:28px 13px 12px}.pg3-toolbar{flex-direction:column;align-items:stretch;padding:0 20px 23px;gap:19px}.pg3-caption{font-size:23px}.pg3-actions{justify-content:space-between;gap:7px}.pg3-actions button{min-width:40px;min-height:40px}.pg3-actions .pg3-play,.pg3-actions .pg3-open{padding:10px 12px;font-size:11px}.pg3-thumbnails{justify-content:flex-start;gap:8px}.pg3-thumbnails button{width:69px}.pg3-dialog{padding:13px}.pg3-dialog-title{font-size:21px}.pg3-full-image{height:62dvh}.pg3-dialog-nav button{font-size:11px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.pg3 *{animation:none!important;transition:none!important}.pg3-enhanced .pg3-ring{will-change:auto}}
.motion-paused .pg3-ring,.motion-paused .pg3-card{transition:none}
@media print{.pg3-theatre{background:white;border:0}.pg3-horizon,.pg3-toolbar,.pg3-progress,.pg3-thumbnails,.pg3-dialog{display:none!important}.pg3-enhanced .pg3-stage{height:auto;perspective:none}.pg3-enhanced .pg3-ring{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:auto;height:auto;margin:0;transform:none!important}.pg3-enhanced .pg3-card{position:relative;transform:none;filter:none;break-inside:avoid}.pg3-card[data-clone]{display:none!important}}
