.gallery-page{background:#17191B;color:#E7D9C1}.gallery-wrap{width:min(1500px,92%);margin:auto}.gallery-page main h1,.gallery-page main h2{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700}.gallery-page main h2{font-size:clamp(27px,3vw,40px);line-height:1.05;margin:0}.gallery-page a:focus-visible,.gallery-page button:focus-visible{outline:3px solid #B71C1C;outline-offset:4px}.gallery-hero{position:relative;isolation:isolate;overflow:hidden}.gallery-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;z-index:-2}.gallery-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17191Bf5,#17191B85 65%,#17191B30);z-index:-1}.gallery-hero .gallery-wrap{padding:18px 0 36px;min-height:260px}.gallery-breadcrumb{display:flex;align-items:center;gap:12px;font:500 14px/1.4 'Barlow',sans-serif;margin-bottom:25px}.gallery-breadcrumb a:first-child{margin-right:20px;font-weight:700}.gallery-hero h1{font-size:clamp(65px,8vw,110px);line-height:.95;margin:0 0 17px}.gallery-hero p{font:600 16px/1.5 'Barlow',sans-serif;letter-spacing:.2em;margin:0;border-left:4px solid #B71C1C;padding-left:18px}.gallery-videos{padding:28px 0 32px}.gallery-heading{display:flex;align-items:center;gap:16px;margin-bottom:23px}.gallery-heading>p{font:400 14px/1.5 'Inter',sans-serif;margin:0 0 0 auto;max-width:440px}.gallery-symbol{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#B71C1C;color:white;font-size:23px}.gallery-video-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.gallery-video a{display:block;height:100%}.gallery-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid #60624e;border-radius:6px}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:47px;height:47px;border-radius:50%;background:#B71C1C;color:#fff;transition:background .2s}.gallery-video a:hover .gallery-play{background:#526349}.gallery-video h3{font:600 16px/1.3 'Barlow',sans-serif;margin:12px 0 8px;color:#fff;overflow-wrap:anywhere}.gallery-watch{font:600 11px/1.4 'Barlow',sans-serif;color:#c0c7a4;letter-spacing:.06em}.gallery-photos{background:#E7D9C1;color:#17191B;padding:28px 0 32px}.gallery-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.gallery-photo{padding:0;background:#17191B;border:1px solid #526349;border-radius:6px;overflow:hidden;cursor:pointer;aspect-ratio:16/10}.gallery-photo img{width:100%;height:100%;object-fit:cover;display:block}.gallery-page .sm-nav>span{color:#E7D9C1;border-bottom:2px solid #B71C1C;padding:9px 0;font:inherit}.gallery-page .sm-footer-main{grid-template-columns:165px 1fr 300px;gap:30px;padding-block:24px}.gallery-dialog{padding:18px;border:1px solid #526349;border-radius:8px;background:#17191B;color:#fff;width:min(1000px,94vw);max-height:94dvh;overflow:auto}.gallery-dialog::backdrop{background:#000d}.viewer-bar{display:flex;align-items:center;gap:15px;margin-bottom:15px}.viewer-bar h2{font:600 20px/1.25 'Barlow',sans-serif;margin:0;flex:1}.viewer-close{flex:0 0 44px;height:44px}.gallery-dialog button{background:#526349;color:white;border:1px solid #a9b29a;border-radius:4px;min-height:44px;padding:8px 12px;cursor:pointer}.gallery-dialog iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.gallery-dialog #viewer-content>img{display:block;width:100%;max-height:65dvh;object-fit:contain}.viewer-bottom{display:flex;align-items:center;gap:12px;margin-top:15px}.viewer-bottom p{flex:1;font:400 14px/1.4 'Barlow',sans-serif;margin:0}.viewer-bottom a{margin-left:auto;text-decoration:underline;font:600 15px/1.4 'Barlow',sans-serif}.viewer-bottom [hidden]{display:none!important}
@media(max-width:1200px){.gallery-video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-page .sm-footer-main{grid-template-columns:140px 1fr}.gallery-page .sm-footer-contact{grid-column:1/-1;border:0;padding:0}.gallery-heading{flex-wrap:wrap}.gallery-heading>p{margin-left:64px;max-width:none;width:100%}}
@media(max-width:800px){.gallery-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-hero .gallery-wrap{min-height:240px}.gallery-hero p{font-size:14px;letter-spacing:.1em}}
@media(max-width:500px){.gallery-wrap{width:88%}.gallery-video-grid,.gallery-photo-grid{grid-template-columns:1fr}.gallery-videos,.gallery-photos{padding-block:24px}.gallery-heading{gap:11px;margin-bottom:20px}.gallery-heading h2{flex:1}.gallery-heading>p{margin:0;font-size:13px}.gallery-symbol{width:40px;height:40px;flex-basis:40px}.gallery-breadcrumb{font-size:12px;gap:8px}.gallery-breadcrumb a:first-child{margin-right:8px}.gallery-hero .gallery-wrap{padding-bottom:25px;min-height:230px}.gallery-hero h1{font-size:75px}.gallery-hero p{font-size:12px;max-width:250px}.gallery-page .sm-footer-main{grid-template-columns:1fr}.gallery-page .sm-nav>span{padding:12px;font-size:19px}.gallery-dialog{padding:12px}.viewer-bar h2{font-size:16px}.viewer-bottom{flex-wrap:wrap}.viewer-bottom p{order:3;flex-basis:100%}.viewer-bottom .viewer-next{margin-left:auto}.gallery-video h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.gallery-play{transition:none}}
/* Galería fotográfica: conservar la paleta clara también con modo oscuro del navegador. */
html{color-scheme:only light}
.gallery-page .gallery-photos{background-color:#E7D9C1!important;color:#17191B!important;color-scheme:only light}
.gallery-page .gallery-photos h2,.gallery-page .gallery-photos .gallery-heading>p{color:#17191B!important}
/* Revisión del director: tarjetas amplias y alineadas. */
.gallery-video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-video a{display:flex;flex-direction:column}
.gallery-video h3{font-size:18px;line-height:1.35;margin-bottom:12px}
.gallery-watch{margin-top:auto;padding-top:4px}
@media(max-width:800px){.gallery-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:500px){.gallery-video-grid{grid-template-columns:1fr}}
.gallery-carousel{max-width:1180px;margin-inline:auto;min-width:0}
.gallery-photos .gallery-symbol svg{width:25px;height:25px}
.carousel-frame{background:#17191B;border-radius:10px;overflow:hidden;box-shadow:0 10px 26px #17191B20}
.carousel-frame[hidden]{display:none}
.carousel-stage{height:440px;position:relative;background:#101213;touch-action:pan-y}
.carousel-expand{border:0;padding:0;display:block;width:100%;height:100%;background:transparent;cursor:zoom-in}
.carousel-expand img{display:block;width:100%;height:100%;object-fit:contain}
.carousel-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid #E7D9C180;border-radius:50%;background:#17191Bcc;color:#E7D9C1;font:30px/1 Arial;cursor:pointer}
.carousel-arrow:hover{background:#526349}
.carousel-prev{left:20px}.carousel-next{right:20px}
.carousel-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 24px;color:#E7D9C1;border-top:1px solid #526349}
.carousel-caption h3{font:600 25px/1.2 'Barlow Condensed',sans-serif;margin:0;color:#E7D9C1}
.carousel-count{font:500 14px/1.4 Inter,Arial,sans-serif;white-space:nowrap;color:#d2c4ac}
.gallery-carousel.is-ready .carousel-thumbs{display:flex;gap:11px;margin-top:19px;overflow-x:auto;padding:3px 3px 12px;scrollbar-width:thin;scrollbar-color:#B71C1C #52634935;position:relative}
.gallery-carousel.is-ready .gallery-photo{padding:0;border:3px solid transparent;flex:0 0 125px;width:125px;height:75px;aspect-ratio:auto;background:#17191B;border-radius:5px;opacity:.72}
.gallery-carousel.is-ready .gallery-photo.is-active{border-color:#B71C1C;opacity:1}
.gallery-carousel.is-ready .gallery-photo img{width:100%;height:100%;object-fit:cover}
.gallery-carousel .gallery-photo:focus-visible{outline:3px solid #526349;outline-offset:0}
@media(max-width:700px){.carousel-stage{height:290px}.carousel-arrow{width:40px;height:40px}.carousel-prev{left:9px}.carousel-next{right:9px}.carousel-caption{padding:16px;gap:12px}.carousel-caption h3{font-size:22px}.gallery-carousel.is-ready .gallery-photo{flex-basis:86px;width:86px;height:63px}.gallery-carousel.is-ready .carousel-thumbs{gap:8px}}

/* Scale down consistently from tablet to small phones. */
@media(max-width:1000px){.gallery-hero h1{font-size:clamp(42px,8.5vw,65px)}}

.carousel-caption h3{text-transform:uppercase}
