/* Two distinct collections: full-board apparel studies and large-format concept gallery. */
.concept-gallery{position:relative;background:var(--ink);border-block:1px solid var(--line)}
.concept-gallery .section-top{display:flex;justify-content:space-between;gap:20px;padding:14px var(--pad);border-bottom:1px solid var(--line);font:9px var(--mono);color:var(--muted);text-transform:uppercase}
.cg-head{padding:clamp(28px,5vh,56px) var(--pad) clamp(30px,5vh,60px)}
.cg-head h2{font:700 clamp(48px,7vw,104px)/.85 var(--display);color:var(--paper);text-transform:uppercase}
.cg-head h2 em{color:var(--orange)}
.cg-subhead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px var(--pad);border-top:1px solid var(--line);font:10px/1.5 var(--mono);color:var(--muted)}
.cg-subhead h3{font:700 clamp(26px,3vw,44px)/1 var(--display);color:var(--paper)}
.cg-subhead span{text-align:right}
.cg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.cg-cell,.cg-art-cell{position:relative;display:block;width:100%;padding:0;border:0;cursor:zoom-in;text-align:left;overflow:hidden}
.cg-cell{aspect-ratio:3/4;background:var(--paper)}
.cg-cell img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease}
.cg-tag{position:absolute;inset:auto 0 0;display:flex;align-items:center;gap:8px;padding:9px 12px;background:color-mix(in srgb,var(--ink) 91%,transparent);font:10px/1.4 var(--mono);color:var(--paper);text-transform:uppercase;transform:translateY(100%);transition:transform .25s ease}
.cg-tag b{font-weight:400;color:var(--orange)}
.cg-art-head{margin-top:clamp(34px,5vw,76px)}
.cg-art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}
.cg-art-cell{aspect-ratio:16/10;background:var(--ink)}
.cg-art-cell.cg-wide{grid-column:1/-1;aspect-ratio:21/9}
.cg-art-cell img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.cg-art-caption{position:absolute;left:var(--pad);right:var(--pad);bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--paper);font:11px/1.4 var(--mono);text-transform:uppercase;text-shadow:0 1px 12px var(--ink)}
.cg-art-caption span{font-size:20px}
.cg-cell:focus-visible,.cg-art-cell:focus-visible,.cg-view button:focus-visible{outline:3px solid var(--orange);outline-offset:-3px;z-index:2}
@media(hover:hover) and (pointer:fine){.cg-cell:hover img{transform:scale(1.025)}.cg-art-cell:hover img{transform:scale(1.035)}.cg-cell:hover .cg-tag,.cg-cell:focus-visible .cg-tag{transform:none}}
/* Native modal manages focus and Escape. Image always fits within the viewport. */
.cg-view{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:0;border:0;background:color-mix(in srgb,var(--ink) 92%,transparent);color:var(--paper);overflow:hidden}
.cg-view::backdrop{background:color-mix(in srgb,var(--ink) 78%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.cg-view-stage{position:absolute;inset:58px 78px 65px;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}
.cg-view-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 16px 65px color-mix(in srgb,var(--ink) 80%,transparent)}
.cg-view-stage img.cg-loading{opacity:.35}
.cg-view-bar{position:absolute;bottom:0;left:0;right:0;min-height:56px;padding:12px clamp(20px,4vw,64px);display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);background:var(--ink);font:10px/1.5 var(--mono);text-transform:uppercase}
.cg-view-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cg-view-title b{color:var(--orange);font-weight:400;margin-right:12px}
.cg-view-count{color:var(--muted);flex:none}
.cg-nav,.cg-close{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:color-mix(in srgb,var(--ink) 85%,transparent);border:1px solid var(--line);color:var(--paper);font:20px var(--mono);cursor:pointer;transition:background-color .2s,color .2s}
.cg-nav{top:50%;transform:translateY(-50%)}.cg-prev{left:16px}.cg-next{right:16px}.cg-close{top:10px;right:16px;font-size:16px}
.cg-nav:hover,.cg-close:hover{background:var(--orange);color:var(--ink)}
@media(max-width:700px){.concept-gallery .section-top span:last-child{display:none}.cg-head{padding-block:36px}.cg-head h2{font-size:clamp(44px,12vw,68px)}.cg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-subhead{align-items:end}.cg-subhead span{font-size:8px;max-width:140px}.cg-tag{transform:none;padding:6px 8px;font-size:8px}.cg-art-grid{display:block}.cg-art-cell,.cg-art-cell.cg-wide{aspect-ratio:4/3}.cg-art-caption{bottom:14px}.cg-view-stage{inset:68px 8px 98px}.cg-view-bar{bottom:0;min-height:72px;padding-inline:16px}.cg-nav{top:auto;bottom:83px;transform:none;width:44px;height:44px}.cg-prev{left:12px}.cg-next{right:12px}.cg-close{right:12px}}
@media(prefers-reduced-motion:reduce){.cg-cell img,.cg-art-cell img,.cg-tag,.cg-nav,.cg-close{transition:none}}
.motion-off .cg-cell img,.motion-off .cg-art-cell img,.motion-off .cg-tag{transition:none}
/* Four cover panels open a drawer holding the grids; grids open the shared viewer. */
.cg-panels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.cg-panel{position:relative;aspect-ratio:4/5;padding:0;border:0;background:var(--ink);overflow:hidden;cursor:pointer;color:var(--paper);text-align:left;contain:layout paint;touch-action:manipulation}
.cg-panel img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,.61,.36,1),filter .3s}
.cg-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--ink) 88%,transparent),transparent 55%);pointer-events:none}
.cg-panel-blank{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font:700 clamp(40px,6vw,88px) var(--display);color:color-mix(in srgb,var(--paper) 14%,transparent);background:repeating-linear-gradient(0deg,transparent 0 38px,var(--line) 38px 39px)}
.cg-panel-label{position:absolute;z-index:1;left:0;right:0;bottom:0;display:flex;align-items:baseline;gap:10px;padding:18px clamp(14px,1.6vw,24px);font:700 clamp(20px,2.2vw,34px)/1 var(--display);text-transform:uppercase}
.cg-panel-label b{font:10px var(--mono);color:var(--orange)}
.cg-panel-label i{margin-left:auto;font:400 22px var(--mono);font-style:normal;transition:transform .32s cubic-bezier(.2,.9,.15,1)}
.cg-panel[aria-expanded="true"]{outline:3px solid var(--orange);outline-offset:-3px}
.cg-panel[aria-expanded="true"] .cg-panel-label i{transform:rotate(45deg);color:var(--orange)}
.cg-panels:has([aria-expanded="true"]) .cg-panel:not([aria-expanded="true"]) img{filter:grayscale(.7) brightness(.6)}
.cg-panel:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
@media(hover:hover) and (pointer:fine){.cg-panel:hover img{transform:scale(1.04)}.cg-panel:hover .cg-panel-label i{color:var(--orange)}}
.cg-panel:active img{transform:scale(1.01);transition-duration:90ms}
.cg-drawer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.22,.61,.36,1)}
.cg-drawer[data-open="true"]{grid-template-rows:1fr}
.cg-drawer-inner{min-height:0;overflow:hidden}
.cg-drawer[data-open="false"] .cg-drawer-inner{visibility:hidden;transition:visibility 0s .55s}
.cg-drawer-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px var(--pad);border-top:1px solid var(--line);font:10px var(--mono);color:var(--muted);text-transform:uppercase}
.cg-drawer-close{min-height:44px;padding:0 16px;border:1px solid var(--line);background:transparent;color:var(--paper);font:10px var(--mono);text-transform:uppercase;cursor:pointer;transition:background-color .18s,color .18s}
.cg-drawer-close:hover{background:var(--orange);color:var(--ink)}
.cg-drawer-close:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.cg-cell[hidden],.cg-art-cell[hidden],.concept-gallery [data-group][hidden],.concept-gallery .cg-grid[hidden],.concept-gallery .cg-art-grid[hidden],.cg-empty[hidden]{display:none!important}
.cg-empty{margin:0;padding:clamp(48px,10vh,120px) var(--pad);border-top:1px solid var(--line);text-align:center;font:11px var(--mono);color:var(--muted);letter-spacing:.1em}
.cg-cell,.cg-art-cell{contain:layout paint}
.cg-grid,.cg-art-grid{transition:opacity .22s ease}
.cg-filtering .cg-grid,.cg-filtering .cg-art-grid{opacity:.001}
.concept-gallery{scroll-margin-top:90px}#cg-drawer{scroll-margin-top:90px}
@media(min-width:701px) and (max-width:1100px){.cg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.cg-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-panel-label{padding:12px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.cg-drawer,.cg-panel img,.cg-panel-label i,.cg-grid,.cg-art-grid{transition:none}}
.motion-off .cg-drawer,.motion-off .cg-panel img,.motion-off .cg-grid,.motion-off .cg-art-grid{transition:none}
