.gallery{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:-1px}
.gallery__main{aspect-ratio:16/10;overflow:hidden;background:var(--surface-2);position:relative;cursor:zoom-in}
.gallery__main img{width:100%;height:100%;object-fit:cover;display:block}
.gallery__expand{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;align-items:center;gap:8px;padding:9px 14px;border:0;background:rgba(20,20,20,.72);color:#FAF8F4;font:600 12px/1 var(--f-body,inherit);letter-spacing:.06em;cursor:pointer;backdrop-filter:blur(4px)}
.gallery__expand:hover{background:rgba(20,20,20,.88)}
.gallery__expand svg{width:14px;height:14px}
.obj-ribbon{position:absolute;top:38px;left:-70px;width:320px;padding:14px 0;background:var(--cta);color:#FAF8F4;font-size:20px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-align:center;transform:rotate(-45deg);z-index:3;box-shadow:0 4px 14px rgba(0,0,0,.3);pointer-events:none}
.gallery__thumbs{position:relative;min-height:0}
.gallery__track{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc((100% - 12px) / 2);gap:12px;align-content:start;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.gallery__track:has(> :nth-child(5)){grid-auto-rows:calc((100% - 24px) / 3)}
.gallery__track:has(> :nth-child(7)){grid-auto-rows:calc((100% - 36px) / 3.4);padding-right:4px}
.gallery__thumb{display:block;width:100%;height:100%;padding:0;border:0;overflow:hidden;cursor:pointer;background:var(--surface-2);position:relative}
.gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.gallery__thumb:hover img{transform:scale(1.04)}
.gallery__thumb.active::after{content:'';position:absolute;inset:0;border:2px solid var(--accent)}
.gallery__thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:900px){
.gallery{grid-template-columns:minmax(0,1fr);gap:8px}
.gallery__thumbs{position:static}
.gallery__track{position:static;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:0 12px 6px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.gallery__track:has(> :nth-child(7)){padding-right:12px}
.gallery__thumb{flex:0 0 36%;height:auto;aspect-ratio:4/3;scroll-snap-align:start}
.gallery__expand{right:12px;bottom:12px;padding:8px 12px}
}
@media(max-width:520px){.gallery__thumb{flex-basis:42%}}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(12,12,12,.96);display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.lb[hidden]{display:none}
.lb__img{max-width:calc(100vw - 140px);max-height:calc(100vh - 110px);object-fit:contain;user-select:none;-webkit-user-drag:none}
.lb__btn{position:absolute;border:0;background:rgba(255,255,255,.08);color:#FAF8F4;width:52px;height:52px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lb__btn:hover{background:rgba(255,255,255,.18)}
.lb__btn svg{width:22px;height:22px}
.lb__prev{left:16px;top:50%;transform:translateY(-50%)}
.lb__next{right:16px;top:50%;transform:translateY(-50%)}
.lb__close{right:16px;top:16px}
.lb__count{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);color:rgba(250,248,244,.8);font-size:13px;letter-spacing:.08em}
@media(max-width:700px){.lb__img{max-width:100vw;max-height:calc(100vh - 140px)}.lb__prev,.lb__next{top:auto;bottom:10px;transform:none}.lb__count{bottom:28px}}
