/* 29ers Gallery mosaic — dark, orange-accent. Scoped to .x29g and body.x29-slug-gallery */
.x29g{--g-ink:#050506;--g-ink2:#0E0F12;--g-ink3:#17191E;--g-bone:#F2EFE8;--g-mute:#9A9CA3;--g-brand:#F26A1B;--g-hi:#FF8A3D;--cut:20px;
  position:relative;max-width:1320px;margin:0 auto;padding:0 clamp(16px,4vw,48px) 24px;color:var(--g-bone);font-family:"Archivo",system-ui,sans-serif}
.x29g *{box-sizing:border-box}
.x29g__bar{display:flex;align-items:center;gap:14px;margin:0 0 18px;font:700 12px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--g-mute)}
.x29g__bar b{color:var(--g-brand);font-weight:700}
.x29g__bar:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(242,106,27,.7),rgba(255,255,255,.08))}
.x29g__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(110px,13vw,170px);grid-auto-flow:dense;gap:14px}
.x29g__item{position:relative;margin:0;padding:0;list-style:none;grid-column:span 2;grid-row:span 1;background:var(--g-ink2)}
/* mosaic rhythm: tall / short / short … repeats for any number of photos */
.x29g__item:nth-child(3n+2){grid-row:span 2}
.x29g__item:nth-child(7n+5){grid-row:span 2}
.x29g--flat .x29g__item:nth-child(n){grid-row:span 2}
.x29g__item.is-hero,.x29g--flat .x29g__item.is-hero:nth-child(n){grid-column:1/-1;grid-row:span 3}
.x29g__item a{position:absolute;inset:0;display:block;overflow:hidden;background:var(--g-ink3);text-decoration:none;cursor:zoom-in;
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}
.x29g__item:nth-child(even) a{clip-path:polygon(var(--cut) 0,100% 0,100% 100%,0 100%,0 var(--cut))}
.x29g__item.is-hero a{--cut:34px;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}
/* orange wedge shows in the cut corner */
.x29g__item:after{content:"";position:absolute;right:0;bottom:0;width:var(--cut);height:var(--cut);background:linear-gradient(135deg,transparent 50%,var(--g-brand) 50%);pointer-events:none;transition:background .25s}
.x29g__item:nth-child(even):after{right:auto;left:0;top:0;bottom:auto;background:linear-gradient(315deg,transparent 50%,var(--g-brand) 50%)}
.x29g__item.is-hero:after{width:34px;height:34px;right:0;left:auto;top:auto;bottom:0;background:linear-gradient(135deg,transparent 50%,var(--g-brand) 50%)}
.x29g__item img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s;filter:saturate(.95) contrast(1.02)}
.x29g__item a:after{content:"";position:absolute;inset:0;border:3px solid var(--g-hi);opacity:0;transition:opacity .25s;pointer-events:none}
.x29g__item a:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,6,0) 55%,rgba(5,5,6,.85));opacity:.85;transition:opacity .3s;z-index:1;pointer-events:none}
.x29g__item a:hover img,.x29g__item a:focus-visible img{transform:scale(1.07);filter:saturate(1.1) contrast(1.05)}
.x29g__item a:hover:after,.x29g__item a:focus-visible:after{opacity:1}
.x29g__item a:focus-visible{outline:none}
.x29g__item:hover:after{filter:brightness(1.2)}
.x29g__no{position:absolute;left:14px;bottom:12px;z-index:2;font:700 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.16em;color:var(--g-bone);text-transform:uppercase;text-shadow:0 1px 6px #000}
.x29g__no:before{content:"№ ";color:var(--g-brand)}
.x29g__item:nth-child(even) .x29g__no{left:auto;right:14px}
.x29g__cap{position:absolute;left:14px;right:14px;bottom:30px;z-index:2;font:400 clamp(16px,1.6vw,22px)/1.05 "Anton",Impact,"Arial Narrow",sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(8px);transition:.3s;text-shadow:0 2px 10px #000;pointer-events:none}
.x29g__item a:hover .x29g__cap,.x29g__item a:focus-visible .x29g__cap{opacity:1;transform:none}
.x29g__item:nth-child(even) .x29g__cap{text-align:right}
.x29g__item.is-hero .x29g__cap{opacity:1;transform:none;font-size:clamp(30px,5.2vw,72px);left:28px;bottom:54px;max-width:70%;line-height:.95}
.x29g__item.is-hero .x29g__no{left:28px;bottom:26px}
.x29g__item.is-hero .x29g__no:after{content:" — Featured";color:var(--g-brand)}
.x29g__item.is-hero .x29g__cap:empty{display:none}
/* ---------- lightbox ---------- */
.x29g-lb{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;background:rgba(5,5,6,.94);padding:56px 64px 72px;backdrop-filter:blur(6px)}
.x29g-lb.is-open{display:flex}
.x29g-lb figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.x29g-lb img{max-width:100%;max-height:calc(100vh - 170px);width:auto;height:auto;border:3px solid var(--g-brand,#F26A1B);box-shadow:0 20px 80px rgba(242,106,27,.25);background:#000}
.x29g-lb figcaption{margin-top:14px;font:700 12px/1.4 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#9A9CA3;text-align:center}
.x29g-lb figcaption b{color:#F26A1B}
.x29g-lb button{position:absolute;border:0;cursor:pointer;color:#fff;background:#F26A1B;font:400 20px/1 "Anton",Impact,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:14px 22px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:background .2s,transform .2s}
.x29g-lb button:hover,.x29g-lb button:focus-visible{background:#FF8A3D;transform:translateY(-2px) skewX(-4deg);outline:none}
.x29g-lb .x29g-x{top:16px;right:18px}
.x29g-lb .x29g-p{left:14px;top:50%;margin-top:-24px}
.x29g-lb .x29g-n{right:14px;top:50%;margin-top:-24px}
body.x29g-lock{overflow:hidden}
@media (max-width:900px){
  .x29g__grid{grid-template-columns:repeat(4,1fr);gap:10px;grid-auto-rows:clamp(96px,22vw,150px)}
  .x29g__item{grid-column:span 2}
  .x29g__item.is-hero{grid-row:span 3}
}
@media (max-width:560px){
  .x29g__grid{grid-template-columns:repeat(2,1fr);gap:8px;grid-auto-rows:clamp(110px,34vw,150px)}
  .x29g__item{grid-column:span 1}
  .x29g__item:nth-child(5n+4){grid-column:span 2;grid-row:span 1}
  .x29g__item.is-hero{grid-column:1/-1;grid-row:span 3}
  .x29g{--cut:14px}
  .x29g__item.is-hero a,.x29g__item.is-hero:after{--cut:22px}
  .x29g__item.is-hero:after{width:22px;height:22px}
  .x29g__item.is-hero .x29g__cap{left:16px;bottom:42px;max-width:90%}
  .x29g__item.is-hero .x29g__no{left:16px;bottom:18px}
  .x29g-lb{padding:56px 10px 80px}
  .x29g-lb .x29g-p{top:auto;bottom:14px;left:14px;margin:0}
  .x29g-lb .x29g-n{top:auto;bottom:14px;right:14px;margin:0}
  .x29g__cap{display:none}
}
@media (prefers-reduced-motion:reduce){.x29g *{transition:none!important}}

/* ---------- Gallery PAGE (dark body, readable heading) — scoped to the gallery page only ---------- */
body.x29-slug-gallery,body.x29-slug-gallery .fl-builder-content{background:#050506!important}
body.x29-slug-gallery .fl-row-bg-photo.fl-row-bg-overlay:not(.fl-row-custom-height) > .fl-row-content-wrap{background-color:#050506!important}
body.x29-slug-gallery .fl-row-bg-photo.fl-row-bg-overlay:not(.fl-row-custom-height) > .fl-row-content-wrap:after{background-image:none!important}
body.x29-slug-gallery h1.heading-title,body.x29-slug-gallery h1.heading-title span{
  font-family:"Anton",Impact,"Arial Narrow",sans-serif!important;font-weight:400!important;text-transform:uppercase;letter-spacing:.03em;color:#F2EFE8!important;line-height:.95}
body.x29-slug-gallery h1.heading-title{font-size:clamp(40px,7vw,96px)!important;text-align:left;position:relative;padding-bottom:18px;margin:10px 0 8px}
body.x29-slug-gallery h1.heading-title:after{content:"";display:block;width:140px;height:8px;margin-top:16px;background:#F26A1B;transform:skewX(-24deg);box-shadow:20px 0 0 #FF8A3D}
body.x29-slug-gallery .pp-heading.pp-center{text-align:left}
body.x29-slug-gallery .pp-photo-gallery .pp-gallery-img{border-radius:0}

/* ---- Banner: swap the white wash for a dark one so the title is readable ---- */
body.x29-slug-gallery .fl-row-bg-photo.fl-row-custom-height > .fl-row-content-wrap:after{background-image:linear-gradient(180deg,rgba(5,5,6,.55) 0%,#050506 100%)!important}
body.x29-slug-gallery .fl-row-bg-photo.fl-row-custom-height .heading-title,
body.x29-slug-gallery .fl-row-bg-photo.fl-row-custom-height .heading-title span{
  color:#F2EFE8!important;font-family:"Anton",Impact,"Arial Narrow",sans-serif!important;font-weight:400!important;text-transform:uppercase;letter-spacing:.06em}
body.x29-slug-gallery .fl-row-bg-photo.fl-row-custom-height .heading-title:after{content:"";display:block;width:90px;height:6px;margin:12px auto 0;background:#F26A1B;transform:skewX(-24deg)}
