/* Galería editorial: conserva intactas las capturas verticales 760 × 1689. */
.gallery-section{background:linear-gradient(180deg,#122034,#0c1523 72%);padding-top:72px;padding-bottom:88px}
.gallery-section .section-heading{margin-bottom:25px}
.gallery-section .heading-aside{max-width:420px}
.gallery-top{margin-bottom:18px;gap:20px}
.gallery-top p{font-size:13px;line-height:1.5}
.gallery-controls{align-items:center;gap:9px}
.gallery-controls button{border-radius:50%;width:45px;height:45px;font-size:21px}
.gallery-count{font-variant-numeric:tabular-nums;font-weight:730;color:#bcd4ed;letter-spacing:.08em;font-size:12px;min-width:58px;text-align:center}
.gallery-track{gap:22px;padding-top:10px;padding-bottom:25px;scroll-padding-inline:max(28px,calc((100vw - var(--max))/2));scrollbar-color:#56718e transparent}
.shot-card{flex:0 0 clamp(310px,26vw,400px);min-width:0;scroll-snap-align:start}
.shot-visual{width:100%;height:auto;aspect-ratio:760/1689;background:#0a111b;border:1px solid #3c5575;border-radius:19px;overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,.22);transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.shot-visual.has-real-image{background:#0a111b;cursor:zoom-in}
.shot-visual.has-real-image:hover{border-color:#8bbcff;box-shadow:0 18px 52px rgba(0,0,0,.32)}
.shot-visual:focus-visible{outline:3px solid #8bbcff;outline-offset:4px}
.shot-visual img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.shot-card figcaption{margin-top:18px;gap:8px;flex-wrap:wrap}
.shot-card figcaption strong{font-size:16px;line-height:1.3}
.shot-card figcaption span{font-size:12px;line-height:1.4}
.gallery-footnote{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:10px;font-size:12px;color:#9cb4cd}
.gallery-footnote span:last-child{color:#81ade0}
/* Ampliación sobre la página; dialog ofrece foco modal y escape nativos. */
.gallery-lightbox{position:fixed;inset:0;margin:auto;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;border:0;background:rgba(4,9,16,.99);color:#f0f6ff;overflow:hidden}
.gallery-lightbox::backdrop{background:rgba(0,0,0,.88)}
.lightbox-shell{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;padding:15px clamp(12px,3vw,35px) 18px;gap:12px}
.lightbox-header,.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}
.lightbox-header{flex:0 0 auto}
.lightbox-title{font-size:clamp(16px,2.4vw,22px);font-weight:760;letter-spacing:-.03em;margin:0}
.lightbox-subtitle,.lightbox-footer{color:#aabdd1;font-size:12px;margin:4px 0 0}
.lightbox-tools{display:flex;gap:9px;flex:0 0 auto}
.lightbox-button{width:42px;height:42px;border:1px solid #426281;color:white;background:#182a3f;border-radius:10px;display:grid;place-items:center;font-size:21px;cursor:pointer}
.lightbox-button:hover{background:#294765}
.lightbox-button:focus-visible{outline:3px solid #90baff;outline-offset:3px}
.lightbox-stage{min-height:0;flex:1;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:12px;align-items:center}
.lightbox-viewport{min-width:0;min-height:0;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:10px;touch-action:pan-y}
.lightbox-viewport img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .15s ease;user-select:none;-webkit-user-drag:none}
.lightbox-viewport.is-zoomed{touch-action:none;cursor:grab}
.lightbox-viewport.is-zoomed:active{cursor:grabbing}
.lightbox-footer{flex:0 0 auto;margin:0;font-variant-numeric:tabular-nums}
.gallery-lightbox[open] + .footer{display:block}
@media(max-width:820px){
 .gallery-section{padding-top:59px;padding-bottom:64px}
 .gallery-section .section-heading{margin-bottom:16px}
 .gallery-track{gap:14px;padding-left:clamp(16px,5vw,35px);padding-right:clamp(16px,5vw,35px);scroll-padding-inline:clamp(16px,5vw,35px)}
 .shot-card{flex:0 0 min(82vw,430px)}
 .shot-visual{border-radius:17px}
 .section{padding-top:73px;padding-bottom:73px}
 .hero-copy{padding-top:46px;padding-bottom:35px}
 .hero-composition{height:190px;min-height:190px;margin:-5px 0 14px}
 .hero-art-type{font-size:54px}
 .gallery-footnote{font-size:11px}
}
@media(max-width:580px){
 .hero-copy{padding:45px 0 30px}
 .hero-composition,.hero-baseline{display:none}
 .hero-actions{margin-bottom:13px}
 .section{padding-top:55px;padding-bottom:55px}
 .section-heading{margin-bottom:23px}
 .kicker{margin-bottom:14px}
 .heading-aside{line-height:1.55}
 .gallery-section{padding-top:43px;padding-bottom:57px}
 .gallery-section .section-heading{margin-bottom:18px}
 .gallery-top{gap:9px;margin-bottom:12px}
 .gallery-top p{font-size:11px;max-width:154px}
 .gallery-controls{gap:6px}
 .gallery-controls button{height:37px;width:37px;font-size:19px}
 .gallery-count{min-width:49px;font-size:11px}
 .gallery-track{gap:12px;padding-left:17px;padding-right:17px;scroll-padding-inline:17px}
 .shot-card{flex:0 0 min(84vw,390px)}
 .shot-visual{border-radius:17px}
 .shot-card figcaption{margin-top:12px}
 .shot-card figcaption strong{font-size:15px}
 .shot-card figcaption span{font-size:11px}
 .gallery-footnote{padding-top:3px;display:block;line-height:1.6}
 .gallery-footnote span:last-child{display:none}
 .feature{padding:21px 22px;min-height:0}
 .feature-icon{font-size:23px;margin:9px 0 8px}
 .feature h3,.feature-highlight h3{font-size:19px}
 .feature p{font-size:12px;line-height:1.55}
 .feature-tag{margin-top:13px}
 .import-step{padding:19px 21px 21px}
 .import-step h3{margin:12px 0 7px}
 .control-type{display:none}
 .control-copy>p:not(.kicker),.offline-intro{margin-top:16px}
 .release-list>div{padding:15px 4px}
 .lightbox-shell{padding:12px 8px 16px;gap:10px}
 .lightbox-header{padding:0 7px}
 .lightbox-subtitle{font-size:11px}
 .lightbox-button{width:39px;height:39px}
 .lightbox-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:0}
 .lightbox-stage>.lightbox-button{width:30px;height:47px;border:0;background:rgba(21,43,65,.8);z-index:2}
 .lightbox-viewport{border-radius:7px}
 .lightbox-footer{padding:0 8px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.shot-visual,.lightbox-viewport img{transition:none}}
