.orb-gallery.photo-collection{display:block}
.orb-gallery{position:relative;isolation:isolate;overflow:hidden;background:#071e2d;color:var(--cream);padding:0 clamp(22px,3.9vw,64px);--orb-size:660px;--orb-radius:287px;--tile-w:83px;--tile-h:59px}
.orb-gallery [hidden]{display:none!important}.orb-gallery .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.orb-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0 0;position:relative;z-index:3}
.orb-top nav{display:flex;gap:13px;align-items:center;font-size:.88rem;color:#dfded7}.orb-top nav>span[aria-hidden]{color:#71848c}.orb-top nav>span:last-child{color:#cfb98f}.orb-top nav a:hover{color:#cfb98f}
.orb-views{display:flex;padding:4px;border:1px solid #f5f0e630;border-radius:99px;gap:3px}.orb-views button,.orb-play{display:flex;align-items:center;justify-content:center;gap:8px;color:inherit;font:400 .86rem var(--sans);border:0;background:transparent;padding:10px 15px;border-radius:99px;min-height:44px}.orb-views button[aria-pressed=true]{background:var(--cream);color:var(--navy)}.orb-views button:hover:not([aria-pressed=true]),.orb-play:hover{background:#ffffff12}.orb-gallery svg{width:20px;height:20px;flex:none}
.orb-composition{min-height:660px;height:calc(100svh - 273px);max-height:850px;position:relative}
.orb-intro{position:absolute;left:0;top:48%;transform:translateY(-30%);z-index:2;pointer-events:none}.orb-intro .eyebrow{color:#c6b595;font-size:.73rem;letter-spacing:.17em;margin-bottom:23px}.orb-intro h1{font-size:clamp(3.9rem,5.8vw,6.2rem);line-height:1.06;letter-spacing:-.055em}.orb-intro h1 em{font-weight:400}.orb-intro p{margin-top:28px;font-size:1.05rem;color:#c1cbd0}
.orb-stage{position:absolute;left:61%;top:47%;width:var(--orb-size);height:var(--orb-size);transform:translate(-50%,-50%);cursor:grab;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;outline-offset:4px;border-radius:50%}.orb-stage:focus-visible{outline:1px solid #cfb98f99}.orb-stage.is-dragging{cursor:grabbing}.orb-scene{position:absolute;inset:0;perspective:1600px;perspective-origin:50% 50%;pointer-events:none}.orb-world{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;will-change:transform;pointer-events:none}
.orb-card{position:absolute;display:block;width:var(--tile-w);height:var(--tile-h);margin-left:calc(var(--tile-w)/-2);margin-top:calc(var(--tile-h)/-2);border-radius:5px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;pointer-events:auto;cursor:zoom-in;outline:0;transform:rotateY(var(--lon)) rotateX(var(--lat)) translateZ(var(--orb-radius));transition:filter .3s,opacity .25s;filter:brightness(var(--depth,1));background:#183d51;box-shadow:0 1px 6px #0006}
.orb-card img{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:inherit;pointer-events:none;backface-visibility:hidden;-webkit-user-drag:none}.orb-card .photo-open-hint{display:none}.orb-card[data-orb-facing=false]{pointer-events:none}.orb-stage.is-dragging .orb-card{cursor:grabbing;pointer-events:none}
@media(hover:hover) and (pointer:fine){.orb-stage:has(.orb-card:hover) .orb-card{filter:brightness(.63)}.orb-stage .orb-card:hover{filter:brightness(1.12);outline:2px solid #ebdec2;outline-offset:3px;transform:rotateY(var(--lon)) rotateX(var(--lat)) translateZ(calc(var(--orb-radius) + 14px))}}
.orb-hover-caption{position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);max-width:90%;text-align:center;font-size:.82rem;line-height:1.3;color:#e5d8bc;pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap}.orb-hover-caption.has-caption{opacity:1}
.orb-bottom{position:absolute;bottom:27px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:22px;pointer-events:none}.orb-bottom button{pointer-events:auto}.orb-count{display:flex;align-items:center;gap:13px}.orb-count strong{font:400 2.8rem/.95 var(--serif);letter-spacing:-.04em}.orb-count>span{font-size:.78rem;line-height:1.3;color:#c1cbd0}.orb-hint{display:flex;align-items:center;gap:14px;margin-left:auto;margin-right:30px;font-size:.82rem;line-height:1.45;color:#bdcbd1}.orb-hint svg{width:31px;height:31px;color:#cfb98f}.orb-play{border:1px solid #f5f0e638;min-width:108px}.orb-play svg{width:17px;height:17px}
.orb-gallery .orb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px;padding:40px 0 70px}.orb-gallery.orb-ready .orb-grid{display:none}.orb-gallery.orb-ready.is-grid .orb-grid{display:grid}.orb-gallery.is-grid .orb-composition{height:auto;min-height:0;max-height:none;padding:32px 0 0}.orb-gallery.is-grid .orb-stage,.orb-gallery.is-grid .orb-bottom{display:none}.orb-gallery.is-grid .orb-intro{position:static;transform:none}.orb-gallery.is-grid .orb-intro .eyebrow,.orb-gallery.is-grid .orb-intro p{display:none}.orb-gallery.is-grid .orb-intro h1{font-size:2.8rem}.orb-gallery.is-grid .orb-intro h1 br{display:none}.orb-gallery.is-grid .orb-intro h1 em:before{content:' '}
.orb-grid-card{position:relative;display:block;min-width:0}.orb-grid-image{display:block;overflow:hidden;aspect-ratio:4/3;background:#16394b;border-radius:5px}.orb-grid-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1),filter .4s}.orb-grid-card:hover .orb-grid-image img{transform:scale(1.035);filter:brightness(1.08)}.orb-grid-label{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;line-height:1.4;margin-top:13px}.orb-grid-label>span{color:#a9b8bd;font-size:.76rem;line-height:1.7}.orb-grid-label i{margin-left:auto;font-style:normal;color:#c6b595;font-size:1.1rem}.orb-grid-card>.photo-open-hint{top:12px;bottom:auto}
.orb-page .header-nav>a[aria-current=page]{color:#81683e}.orb-page .footer{border-top:1px solid #b8a37d66}
@media(min-width:1600px){.orb-gallery{--orb-size:750px;--orb-radius:323px;--tile-w:93px;--tile-h:66px}.orb-composition{min-height:760px}}
@media(max-width:1100px){.orb-gallery{--orb-size:610px;--orb-radius:259px;--tile-w:75px;--tile-h:53px}.orb-stage{left:65%;top:45%}.orb-intro h1{font-size:4.3rem}.orb-intro{top:57%}.orb-gallery .orb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.orb-hint{margin-right:10px}.orb-composition{min-height:630px}}
@media(max-width:760px){.orb-gallery{--orb-size:min(540px,100vw);--orb-radius:min(229px,42.4vw);--tile-w:min(66px,12.2vw);--tile-h:min(47px,8.7vw);padding-inline:22px}.orb-top{padding-top:18px;gap:10px}.orb-top nav{font-size:.76rem;gap:8px}.orb-views{gap:0;padding:3px}.orb-views button{font-size:.76rem;padding:8px 10px;gap:6px;min-height:40px}.orb-views svg{width:16px;height:16px}.orb-composition{height:auto;min-height:0;max-height:none;padding-top:35px;display:flex;flex-direction:column}.orb-intro{position:relative;top:auto;left:auto;transform:none;order:0;pointer-events:auto}.orb-intro .eyebrow{font-size:.7rem;margin-bottom:12px}.orb-intro h1{font-size:clamp(2.65rem,8vw,3.8rem)}.orb-intro h1 br{display:none}.orb-intro h1 em:before{content:' '}.orb-intro p{display:none}.orb-stage{position:relative;left:50%;top:auto;transform:translateX(-50%);margin-top:10px;order:1;flex:none}.orb-scene{perspective:1200px}.orb-bottom{position:relative;bottom:auto;order:2;gap:12px;margin-top:4px;padding-bottom:28px}.orb-count{gap:9px}.orb-count strong{font-size:2.3rem}.orb-count>span{font-size:.72rem}.orb-hint{font-size:.76rem;margin:0 0 0 auto;gap:8px}.orb-hint svg{display:none}.orb-play{min-width:42px;width:42px;height:42px;padding:0}.orb-play>span{display:none}.orb-hover-caption{bottom:0;font-size:.76rem}.orb-gallery .orb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px;padding-top:28px}.orb-grid-label{font-size:.82rem;gap:7px}.orb-grid-label>span{display:none}.orb-grid-image{aspect-ratio:1}.orb-grid-card>.photo-open-hint{width:29px;height:29px;top:8px;right:8px}.orb-gallery.is-grid .orb-intro h1{font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){.orb-card,.orb-grid-image img,.orb-hover-caption{transition:none}}

.orb-play:disabled{opacity:.5;cursor:default}
.orb-gallery.is-grid .orb-intro h1 em{margin-left:.16em}
@media(max-width:760px){.orb-intro h1 em{margin-left:.16em}}
@media(max-width:760px){.orb-views button{min-height:44px}.orb-play{width:44px;height:44px;min-width:44px}}
@media(max-width:380px){.orb-top{flex-direction:column;align-items:flex-start;gap:15px}.orb-views{align-self:flex-end}.orb-views button{white-space:nowrap;padding-inline:15px}.orb-composition{padding-top:27px}}
