/* Escenas cuadradas: fotografía y texto HTML independientes. */
.hero-grid>*{min-width:0}
.visual.carousel{display:block;width:100%;max-width:520px;min-width:0;min-height:0;padding:0;isolation:isolate;justify-self:end}
.carousel:after{display:none}
.carousel .carousel-top{padding:18px 22px 16px}
.carousel-stage{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;overflow:hidden}
.carousel .carousel-stage .slide{grid-area:1/1;position:relative;display:flex;width:100%;min-width:0;min-height:0;aspect-ratio:1/1;overflow:hidden;visibility:hidden;pointer-events:none;opacity:0;animation:none}
.carousel .carousel-stage .slide.is-active{visibility:visible;pointer-events:auto;opacity:1;animation:slide-enter .48s ease both}
.carousel .photo-slide .scene-media{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:#102036}
.carousel .photo-slide .scene-media img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}
.carousel .photo-slide:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 22%,rgba(5,14,27,.08) 38%,rgba(5,14,27,.84) 64%,#050e1b 100%)}
.carousel .photo-slide .scene-copy{position:absolute;bottom:0;left:0;right:0;z-index:1;padding:24px}
.carousel .photo-slide .scene-kicker{font-size:11px;color:#acd4ff}
.carousel .photo-slide .scene-copy h2{font-size:clamp(26px,2.5vw,34px);line-height:1.12;letter-spacing:-.035em;margin:10px 0;color:#fff}
.carousel .photo-slide .scene-copy h2 em{color:#acd4ff}
.carousel .photo-slide .scene-copy p{font-size:13px;line-height:1.5;max-width:390px;margin:0;color:#e0e9f6}
.carousel .slide:not(.photo-slide){padding:26px;justify-content:center}
.carousel .slide:not(.photo-slide) .scene-icon{top:25px;right:25px;opacity:.4}
.carousel .carousel-controls{padding:15px 22px 18px}
html[data-theme="light"] .carousel .photo-slide .scene-copy h2{color:#fff}
html[data-theme="light"] .carousel .photo-slide .scene-copy h2 em,html[data-theme="light"] .carousel .photo-slide .scene-kicker{color:#acd4ff}
html[data-theme="light"] .carousel .photo-slide .scene-copy p{color:#e0e9f6}
@media(min-width:901px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:40px}}
@media(max-width:900px){.visual.carousel{justify-self:center;max-width:500px;margin-inline:auto}}
@media(max-width:600px){.carousel .carousel-top{padding:15px 18px}.carousel .photo-slide .scene-copy{padding:18px}.carousel .photo-slide .scene-copy h2{font-size:27px;margin:8px 0}.carousel .photo-slide .scene-copy p{font-size:12px;line-height:1.45}.carousel .photo-slide .scene-kicker{font-size:10px;letter-spacing:.03em}.carousel .carousel-controls{padding:13px 18px 16px}}
@media(max-width:360px){.carousel .photo-slide .scene-copy h2{font-size:24px}.carousel .photo-slide .scene-copy{padding:15px}.carousel .carousel-top small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.carousel .carousel-stage .slide.is-active{animation:none}}

.carousel .photo-slide:nth-child(3):after{background:linear-gradient(180deg,transparent 47%,rgba(5,14,27,.25) 58%,rgba(5,14,27,.9) 72%,#050e1b 100%)}
