/* A contact sheet, with every photograph immediately available. The existing file names
   are retained so versioned CMS publications can pick up the new gallery without broken links. */
.inner-page .section.gallery-page{max-width:1760px;padding:16px clamp(20px,4vw,72px) 80px}
body:has(.gallery-page) .inner-contact-rail{display:none}
.gallery-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:22px}
.gallery-page .gallery-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 8px;color:#b5bbc1;font:600 12px/1.3 Barlow,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.inner-page .gallery-page h1{margin:0 0 12px;font:600 clamp(40px,4vw,64px)/1.04 Rajdhani,RajdhaniFallback,Arial,sans-serif;letter-spacing:-.025em;overflow-wrap:normal}
.gallery-page .lux-deck{max-width:680px;margin:0;color:#a6aeb7;font:400 16px/1.55 Barlow,BarlowFallback,Arial,sans-serif}
.gallery-page .gallery-total{display:grid;gap:2px;justify-items:end;flex:none;margin:0!important;color:#939da8;font:500 12px/1.3 Barlow,Arial,sans-serif}
.gallery-total b{color:#fff;font:500 64px/.9 Rajdhani,RajdhaniFigures,Arial,sans-serif}
.gallery-total span{white-space:nowrap}
.gallery-album{--gallery-red:#e51937;--gallery-line:#ffffff20;min-width:0}
.gallery-toolbar{position:sticky;top:94px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 18px;padding:6px 0;background:#0a0c0ff5;border-block:1px solid var(--gallery-line)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:4px}
.gallery-filter{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 15px;border:0;border-radius:4px;background:none;color:#aeb5be;font:500 14px/1.25 Barlow,BarlowFallback,Arial,sans-serif;cursor:pointer;transition:transform .18s cubic-bezier(.2,0,0,1),box-shadow .18s cubic-bezier(.2,0,0,1)}
.gallery-filter::after{content:'';position:absolute;inset:auto 15px 5px;height:2px;border-radius:2px;background:var(--gallery-red);opacity:0;transform:scaleX(.25);transform-origin:center;transition:transform .24s cubic-bezier(.2,0,0,1),opacity .16s}
.gallery-filter[aria-pressed=true]::after{opacity:1;transform:scaleX(1)}
.gallery-filter-count{font:500 12px/1 Rajdhani,RajdhaniFigures,Arial,sans-serif;color:#838d98}
.gallery-filter[aria-pressed=true]{background:#f0f1f3;color:#10141a}
.gallery-filter[aria-pressed=true] .gallery-filter-count{color:#626a75}
.gallery-filter:hover{color:#fff;background:#ffffff0b}
.gallery-filter[aria-pressed=true]:hover{color:#10141a;background:#fff}
.gallery-result-count{flex:none;margin:0!important;font:500 13px/1.25 Barlow,Arial,sans-serif!important;color:#a9b1bc;white-space:nowrap}
.gallery-select-label{display:none;min-width:0}
.gallery-filter:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}
.gallery-empty{grid-column:1/-1;padding:40px 0;color:#aeb5be}
.gallery-wall,.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.gallery-wall .gallery-tile:first-child{grid-column:span 1}
.gallery-wall.is-all .gallery-tile:first-child{grid-column:span 2}
.gallery-tile{position:relative;display:block;min-width:0;color:#fff;text-decoration:none;background:#171b20;border:1px solid #ffffff12;border-radius:5px;overflow:hidden;isolation:isolate}
.gallery-tile figure{position:relative;height:clamp(210px,19vw,292px);margin:0!important;overflow:hidden}
.gallery-tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform .35s cubic-bezier(.2,0,0,1)}
.gallery-tile.is-cutout{background:#e3e3e0}
.gallery-tile.is-cutout img{object-fit:contain;padding:24px 20px}
.gallery-tile figcaption{position:absolute;inset:auto 0 0;display:flex;align-items:center;gap:10px;min-height:60px;padding:22px 14px 12px;background:linear-gradient(0deg,#030609d9,#03060999 60%,transparent);color:#fff;font:500 11px/1.35 Barlow,Arial,sans-serif}
.gallery-tile-number{font:500 12px/1 Rajdhani,RajdhaniFigures,Arial,sans-serif;color:#c1c9d2;flex:none}
.gallery-tile-expand{position:absolute;inset:12px 12px auto auto;display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff38;border-radius:50%;background:#0a0c0f99;opacity:0;transform:translateY(4px);transition:opacity .16s,transform .2s}
.gallery-tile-expand svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.gallery-tile[hidden],.gallery-viewer-family[hidden],.gallery-fallback[hidden]{display:none!important}
.gallery-filter:focus-visible,.gallery-select:focus-visible,.gallery-tile:focus-visible{outline:2px solid #ff5670;outline-offset:4px}
.gallery-tile:focus-visible .gallery-tile-expand{opacity:1;transform:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .gallery-filter:hover{transform:translateY(-2px);box-shadow:0 5px 18px #e5193710}
 .gallery-filter:hover::after{opacity:1;transform:scaleX(1)}
 .gallery-filter:active{transform:translateY(0) scale(.975)}
 .gallery-tile:hover img{transform:scale(1.035)}
 .gallery-tile:hover .gallery-tile-expand{opacity:1;transform:none}
}
/* Without JavaScript, the same 52 linked images remain grouped and readable. */
.gallery-fallback{display:grid;gap:36px}
.gallery-chapter h2{margin:0 0 18px;font:600 24px/1.25 Rajdhani,Arial,sans-serif!important}
.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.gallery-grid .gallery-tile{width:100%}
.gallery-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
html.gallery-viewing{overflow:hidden}
.gallery-viewer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#07090bf5;color:#fff;overflow:hidden}
.gallery-viewer::backdrop{background:#000d}
.gallery-viewer[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;animation:gallery-viewer-in .26s cubic-bezier(.2,0,0,1) both}
@keyframes gallery-viewer-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.gallery-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 30px}
.gallery-viewer-info{display:flex;align-items:center;gap:24px;margin:0;font:500 14px/1.4 Barlow,Arial,sans-serif;color:#bec6d0}
.gallery-viewer-info b{direction:ltr;unicode-bidi:isolate;font:500 17px/1 Rajdhani,RajdhaniFigures,Arial,sans-serif;color:#fff}
.gallery-viewer button{display:grid;place-items:center;width:48px;height:48px;flex:none;padding:0;border:1px solid #ffffff30;border-radius:50%;background:#14181de0;color:#fff;cursor:pointer;transition:background .12s,border-color .12s}
.gallery-viewer button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.gallery-viewer button:hover{border-color:#ffffff90;background:#282e36}
.gallery-viewer button:focus-visible,.gallery-viewer-family:focus-visible{outline:2px solid #ff5670;outline-offset:3px}
.gallery-viewer button:disabled{opacity:.25;cursor:default}
.gallery-viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:0 100px;touch-action:pan-y pinch-zoom}
.gallery-viewer-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain}
.gallery-viewer-image.is-cutout{width:min(100%,560px);height:100%;background:#e9e9e6;padding:30px;max-width:700px}
.gallery-viewer-prev,.gallery-viewer-next{position:absolute;top:50%;transform:translateY(-50%)}
.gallery-viewer-prev{inset-inline-start:28px}.gallery-viewer-next{inset-inline-end:28px}
.gallery-viewer-bottom{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:10px;min-width:0;padding:18px 28px 22px}
.gallery-viewer-caption{max-width:820px;margin:0;padding:0 22px;color:#dce1e7;font:400 16px/1.45 Barlow,Arial,sans-serif;text-align:center}
.gallery-viewer-family{color:#ff6980;text-decoration:none;font:500 13px/1.4 Barlow,Arial,sans-serif}
.gallery-viewer-family:hover{text-decoration:underline;text-underline-offset:3px}
.gallery-viewer-strip{display:flex;gap:8px;width:max-content;max-width:100%;overflow-x:auto;padding:4px 3px 8px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}
.gallery-viewer .gallery-viewer-thumb{display:block;width:48px;height:58px;padding:0;border-radius:3px;border:2px solid transparent;overflow:hidden;opacity:.48}
.gallery-viewer-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-viewer .gallery-viewer-thumb[aria-pressed=true]{opacity:1;border-color:#ff5670}
.gallery-viewer .gallery-viewer-thumb:hover{opacity:1}
.gallery-album:lang(ar),.gallery-viewer:lang(ar){font-family:Barlow,Tahoma,Arial,sans-serif}
@media(min-width:1760px){.gallery-wall{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:1200px){
 .gallery-wall,.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .gallery-wall.is-all .gallery-tile:first-child{grid-column:span 1}
 .gallery-tile figure{height:clamp(200px,24vw,280px)}
 .gallery-filter{padding-inline:11px;gap:7px}
 .gallery-toolbar{gap:12px}
}
@media(max-width:760px){
 .inner-page .section.gallery-page{padding:20px 20px 48px}
 .gallery-intro{align-items:flex-start;gap:14px;margin-bottom:22px}
 .gallery-page .gallery-eyebrow{font-size:10px;margin-bottom:10px;letter-spacing:.12em}
 .inner-page .gallery-page h1{font-size:clamp(34px,8.4vw,48px);margin-bottom:10px}
 .gallery-page .lux-deck{font-size:14px;line-height:1.45}
 .gallery-page .gallery-total{display:none}
 .gallery-toolbar{top:78px;padding:10px 0;margin-bottom:14px}
 .gallery-filters{display:none}
 .gallery-select-label{display:block;flex:1}
 .gallery-select{appearance:none;width:100%;min-height:44px;padding:10px 32px 10px 12px;border:1px solid #ffffff30;border-radius:4px;background:#171c22 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23ccd1d8' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center/16px;color:#fff;font:500 14px/1.4 Barlow,Arial,sans-serif}
 .gallery-album[dir=rtl] .gallery-select{background-position:left 10px center;padding:10px 12px 10px 32px}
 .gallery-result-count{font-size:12px!important}
 .gallery-wall,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .gallery-tile figure{height:clamp(174px,54vw,290px)}
 .gallery-tile.is-cutout img{padding:18px 12px}
 .gallery-tile figcaption{gap:6px;padding:20px 10px 10px;font-size:10px;min-height:50px}
 .gallery-tile-expand{display:none}
 .gallery-viewer-top{padding:12px 16px}
 .gallery-viewer-info{gap:12px;font-size:12px}
 .gallery-viewer-info b{font-size:15px}
 .gallery-viewer-stage{padding:0 12px}
 .gallery-viewer .gallery-viewer-prev,.gallery-viewer .gallery-viewer-next{top:auto;bottom:16px;transform:none;width:42px;height:42px}
 .gallery-viewer-prev{inset-inline-start:18px}.gallery-viewer-next{inset-inline-end:18px}
 .gallery-viewer-caption{font-size:14px;padding:0;max-width:100%}
 .gallery-viewer-bottom{padding:14px 16px calc(12px + env(safe-area-inset-bottom,0px));gap:9px}
 .gallery-viewer .gallery-viewer-thumb{width:42px;height:50px}
 .gallery-viewer-image.is-cutout{padding:20px}
}
@media(prefers-reduced-motion:reduce){
 .gallery-tile img,.gallery-tile-expand,.gallery-filter,.gallery-filter::after,.gallery-viewer button{transition:none}
 .gallery-viewer[open]{animation:none}
}
