/* Advanced gallery only: legacy V1 hero, typography and project framing stay intact. */
.builder-gallery-section .builder-gallery{display:grid;grid-template-columns:repeat(var(--gallery-columns,2),minmax(0,1fr));gap:var(--gallery-gap,22px);padding:0}
.gallery-open{display:block;width:100%;padding:0;border:0;border-radius:var(--gallery-radius,16px);overflow:hidden;background:#102030;position:relative;cursor:zoom-in;color:#eaf2fa;text-align:inherit}
.gallery-open img{display:block;width:100%;height:auto;aspect-ratio:var(--thumb-ratio,auto);object-fit:cover;transition:transform var(--gallery-speed,400ms);border-radius:inherit}
.gallery-open.is-loading{background:linear-gradient(130deg,#102030,#19364b)}.gallery-open.is-loading:after{content:'LOADING';position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font:10px 'DM Sans',sans-serif;letter-spacing:2px;color:#c5f46a}
.gallery-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:20px;background:linear-gradient(transparent,#07111ed9);font:600 12px 'DM Sans';letter-spacing:2px;opacity:0;transition:opacity var(--gallery-speed);border-radius:inherit}
.gallery-open:focus-visible{outline:2px solid #c5f46a;outline-offset:5px}.gallery-open:focus-visible .gallery-overlay{opacity:1}
.gallery-error{padding:12px;background:#102030;font-size:12px;color:#eaf2fa}.gallery-error[hidden]{display:none}.gallery-error button{min-height:44px;background:transparent;color:#c5f46a;border:1px solid #395062;padding:8px 14px}
.builder-gallery-section .gallery-figure{margin:0;min-width:0;transition:opacity var(--gallery-speed),transform var(--gallery-speed);transition-delay:var(--reveal-delay,0ms)}
.gallery-figure.reveal-pending{opacity:0}.gallery-settings[data-reveal=fade-up] .reveal-pending,.gallery-settings[data-reveal=stagger] .reveal-pending{transform:translateY(20px)}
.builder-gallery-section.variant-masonry .builder-gallery{display:block;column-count:var(--gallery-columns,2);column-gap:var(--gallery-gap,22px)}.builder-gallery-section.variant-masonry .gallery-open img{aspect-ratio:auto;object-fit:contain}.builder-gallery-section.variant-masonry figure{margin:0 0 var(--gallery-gap,22px);break-inside:avoid}
.builder-gallery-section.variant-editorial .builder-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}.builder-gallery-section.variant-editorial figure:nth-child(4n+1){grid-column:span 2}.variant-editorial [data-editorial=lead-right] figure:nth-child(4n+1){order:0}.variant-editorial [data-editorial=lead-right] figure:nth-child(4n+2){grid-column:span 2}.variant-editorial [data-editorial=lead-right] figure:nth-child(4n+1){grid-column:span 1}.variant-editorial [data-editorial=alternating] .builder-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.variant-editorial [data-editorial=alternating] figure:nth-child(6n+1),.variant-editorial [data-editorial=alternating] figure:nth-child(6n+5){grid-column:span 2}
.builder-gallery-section.variant-slider .builder-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--gallery-gap);overscroll-behavior-x:contain;padding:6px 0 18px}.builder-gallery-section.variant-slider figure{flex:0 0 80%;scroll-snap-align:start}.builder-gallery-section .builder-slider-controls button{min-width:44px;min-height:44px}
@media(hover:hover) and (pointer:fine){.gallery-settings[data-hover=zoom] .gallery-open:hover img{transform:scale(1.035)}.gallery-settings[data-hover=lift] .gallery-card{transition:transform var(--gallery-speed)}.gallery-settings[data-hover=lift] .gallery-card:hover{transform:translateY(-6px)}.gallery-settings[data-hover=overlay] .gallery-open:hover .gallery-overlay{opacity:1}}
@media(hover:none){.gallery-settings[data-hover=overlay] .gallery-overlay{opacity:1;background:linear-gradient(transparent 70%,#07111ed9);padding:12px}}
@media(max-width:800px){.builder-gallery-section .builder-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-gallery-section.variant-editorial .builder-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.builder-gallery-section .builder-gallery,.builder-gallery-section.variant-editorial .builder-gallery,.variant-editorial [data-editorial=alternating] .builder-gallery{grid-template-columns:1fr}.builder-gallery-section.variant-editorial figure{grid-column:auto!important}.builder-gallery-section.variant-slider figure{flex-basis:92%}}
@media(prefers-reduced-motion:reduce){.gallery-figure.reveal-pending{opacity:1!important;transform:none!important}.gallery-settings *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.gallery-settings .gallery-card,.gallery-settings .gallery-open img{transform:none!important}}
.gallery-lightbox{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#030912;color:#eaf2fa;z-index:1000;font-family:'DM Sans','Noto Sans Thai',sans-serif;overflow:hidden}
.gallery-lightbox::backdrop{background:#030912}.lightbox-toolbar,.lightbox-bottom{position:absolute;left:0;right:0;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));z-index:2;background:#07111e}
.lightbox-toolbar{top:0;padding-top:max(12px,env(safe-area-inset-top))}.lightbox-toolbar>div{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.lightbox-counter{white-space:nowrap;color:#c5f46a;font-variant-numeric:tabular-nums;font-size:14px}
.gallery-lightbox button{min-width:44px;min-height:44px;border:1px solid #395062;border-radius:2px;background:#0b1928;color:#eaf2fa;padding:8px 12px;cursor:pointer}.gallery-lightbox button:disabled{opacity:.35;cursor:default}.gallery-lightbox button:focus-visible{outline:2px solid #c5f46a;outline-offset:2px}
.lightbox-stage{position:absolute;inset:90px 12px 90px;overflow:hidden;touch-action:none;user-select:none}.lightbox-stage.is-zoomed{cursor:grab}.lightbox-stage.is-zoomed:active{cursor:grabbing}.lightbox-image-frame{position:absolute;inset:0;pointer-events:none}.lightbox-image-frame img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;object-fit:contain;transform-origin:center;will-change:transform}
.lightbox-status{position:absolute;left:0;right:0;top:40%;text-align:center;pointer-events:none}.lightbox-retry{position:absolute;top:55%;left:50%;transform:translateX(-50%)}.lightbox-retry[hidden]{display:none}.lightbox-bottom{bottom:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.lightbox-caption{font-size:13px;line-height:1.5;max-height:52px;overflow:auto;margin:0;text-align:center;color:#b5c7d5;white-space:pre-line}
@media(max-width:480px){.lightbox-toolbar{gap:4px;padding-left:10px;padding-right:10px}.lightbox-toolbar button{padding:6px}.lightbox-toolbar>div{gap:3px}.lightbox-counter{font-size:12px}.lightbox-stage{inset:90px 6px 90px}}

@media(max-width:800px){.builder-gallery-section.variant-masonry .builder-gallery{column-count:2}}@media(max-width:480px){.builder-gallery-section.variant-masonry .builder-gallery{column-count:1}}

.mobile-gallery-more{display:none}
@media(max-width:768px){
  .builder-gallery-section .gallery-settings .builder-gallery[data-mobile-layout="grid-more"],
  .projectgallery[data-mobile-layout="grid-more"]{
    display:block;
    column-count:2;
    column-gap:var(--gallery-gap,22px);
    overflow:visible;
    scroll-snap-type:none;
  }
  .builder-gallery-section.variant-slider .builder-gallery[data-mobile-layout="show-all"]{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    column-count:auto;
    overflow:visible;
    scroll-snap-type:none;
  }
  .builder-gallery-section .gallery-settings .builder-gallery[data-mobile-layout="grid-more"] > figure,
  .projectgallery[data-mobile-layout="grid-more"] > figure{
    break-inside:avoid;
    margin:0 0 var(--gallery-gap,22px);
  }
  .builder-gallery[data-mobile-layout="grid-more"] .gallery-open img{
    aspect-ratio:auto!important;
    object-fit:contain;
  }
  .builder-gallery-section .gallery-settings .builder-gallery[data-mobile-layout="slider"],
  .projectgallery[data-mobile-layout="slider"]{
    display:flex;
    column-count:auto;
    align-items:flex-start;
    min-width:0;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    padding-top:6px;
  }
  .builder-gallery-section .gallery-settings .builder-gallery[data-mobile-layout="slider"] > figure,
  .projectgallery[data-mobile-layout="slider"] > figure{
    flex:0 0 86%;
    min-width:0;
    margin:0;
    scroll-snap-align:start;
  }
  .gallery-settings[data-mobile-layout]:not([data-mobile-layout="slider"]) .builder-slider-controls,
  [data-mobile-layout="grid-more"] > .mobile-gallery-extra{display:none}
  .mobile-gallery-more:not([hidden]){
    display:block;
    margin:20px auto 0;
    min-height:44px;
    padding:10px 22px;
    border:1px solid var(--lime);
    border-radius:999px;
    background:var(--bg);
    color:var(--lime);
    font-weight:700;
    letter-spacing:1px;
  }
  .projectgallery:has(+ .mobile-gallery-more:not([hidden])){padding-bottom:0}
  .projectgallery + .mobile-gallery-more:not([hidden]){margin-bottom:44px}
}
