.gallery{background:#20271f;color:var(--paper);position:relative;overflow:hidden;padding-bottom:28px;background-image:radial-gradient(ellipse at center,#44523844,transparent 65%)}
.gallery .section-label{color:#aab49f;margin-bottom:0;gap:20px}.gallery-orbit{position:relative;max-width:1120px;height:660px;margin:0 auto;touch-action:pan-y;user-select:none;cursor:grab}.gallery-orbit:active{cursor:grabbing}.gallery-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;pointer-events:none}.gallery-center>span:first-child{font-size:8px;letter-spacing:.18em;color:#a5b398}.gallery-center h2{font-size:clamp(25px,3vw,44px);line-height:1.4;color:#dce3d2;letter-spacing:-.045em}.gallery-center-cross{font-size:30px;color:var(--acid)}.gallery-wall{position:absolute;inset:0}.gallery-frame{position:absolute;left:50%;top:50%;margin:0;width:140px;transform:translate(-50%,-50%);will-change:transform}.gallery-open{display:block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.gallery-open:hover,.gallery-open:focus-visible{opacity:1;transform:scale(1.12)}.gallery-image{display:block;position:relative;box-shadow:0 12px 24px #070d0860;background:#30392d;border:1px solid #b9c6ac35}.gallery-image img{display:block;width:100%;height:auto;max-height:190px;object-fit:cover;pointer-events:none;-webkit-user-drag:none}.gallery-expand{display:none}.gallery-bottom{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #526047;padding-top:18px;gap:15px}.gallery-bottom>span{font-size:7px;letter-spacing:.12em;color:#aab49f}.gallery-orbit-controls,.gallery-view-controls{display:flex;gap:8px}.gallery-orbit-controls button{width:44px;height:44px;border:1px solid #5c6b51;background:transparent;color:var(--acid);font-size:22px}.gallery-orbit-controls button:hover{background:var(--acid);color:var(--ink)}
.gallery-lightbox{width:min(940px,calc(100% - 40px));max-width:940px;max-height:calc(100dvh - 40px);padding:20px 24px;background:var(--paper);border:1px solid var(--ink);color:var(--ink);overflow:auto}.gallery-lightbox::backdrop{background:#11190feb;backdrop-filter:blur(8px)}.gallery-view-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.09em;margin-bottom:18px}.gallery-lightbox button{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:10px 14px;font-size:9px;min-height:44px;min-width:44px}.gallery-lightbox button:hover{background:var(--acid)}.gallery-view-image{display:block;width:100%;height:min(65dvh,690px);object-fit:contain;background:#dce1d4}.gallery-view-controls{justify-content:flex-end;margin-top:16px}.gallery-view-controls button{font-size:22px;padding:6px 14px}.gallery-lightbox,.gallery-lightbox *{cursor:auto!important}.gallery-lightbox button{cursor:pointer!important}body:has(.gallery-lightbox[open]) .scene-cursor{visibility:hidden!important}body:has(.gallery-lightbox[open]){overflow:hidden}
@media(max-width:1000px){.gallery-frame{width:120px}.gallery-image img{max-height:160px}.gallery-orbit{height:600px}.gallery-center h2{font-size:30px}}
@media(max-width:700px){.gallery .section-label{font-size:6px;margin-bottom:8px;gap:14px}.gallery-orbit{height:580px}.gallery-frame{width:78px}.gallery-image img{max-height:105px}.gallery-center{gap:16px}.gallery-center h2{font-size:clamp(13px,3.8vw,18px)}.gallery-center>span:first-child{font-size:5px;letter-spacing:.12em}.gallery-center-cross{font-size:22px}.gallery-bottom>span{font-size:6px;letter-spacing:.02em}.gallery-lightbox{width:calc(100% - 24px);padding:14px;max-height:calc(100dvh - 24px)}.gallery-view-image{height:58dvh}.gallery-view-top{font-size:8px}}
@media(prefers-reduced-motion:reduce){.gallery-open{transition:none}}

/* Let the gallery compose a whole viewport, including its controls. */
.gallery{height:calc(100svh - 78px);min-height:620px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;row-gap:12px}
.gallery-orbit{width:100%;max-width:1600px;height:auto;min-height:0}.gallery-bottom{width:100%;max-width:1600px}.gallery-frame{width:clamp(130px,10vw,180px)}.gallery-image img{max-height:240px}.gallery-center h2{font-size:clamp(28px,3.4vw,60px)}
.gallery-enter-pending .gallery-open{opacity:0}
.gallery-growing .gallery-center{z-index:30}
@media(max-width:1000px){.gallery-frame{width:115px}.gallery-image img{max-height:154px}.gallery-center h2{font-size:28px}}
@media(max-width:700px){.gallery{height:calc(100svh - 65px);min-height:600px;padding-bottom:22px;row-gap:8px}.gallery-orbit{height:auto}.gallery .section-label{margin:0}.gallery-frame{width:78px}.gallery-image img{max-height:105px}.gallery-center h2{font-size:clamp(13px,3.8vw,18px)}}
@media(prefers-reduced-motion:reduce){.gallery-enter-pending .gallery-open{opacity:1}}

@media(min-width:701px) and (max-height:900px){.gallery-frame{width:clamp(90px,8vw,120px)}.gallery-image img{max-height:150px}.gallery-center{gap:12px}.gallery-center h2{font-size:32px}.gallery-center-cross{font-size:24px}}
