/* ==========================================================================
   Componente: solutions — CV Galería
   Reglas portadas verbatim desde template/styles.css (regla primordial 2).
   ========================================================================== */

.dark-section{background:var(--navy);color:#fff}
.light-title>p{color:#c9cada}
.solution{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center;margin:100px 0 160px}
.solution.reverse{grid-template-columns:.85fr 1.15fr}
.solution.reverse .solution-image{order:2}
.solution-image{height:580px;position:relative;overflow:hidden}
.solution-image img{width:100%;height:100%;object-fit:cover;transition:.5s}
.solution:hover img{transform:scale(1.025)}
.solution-image span{position:absolute;left:0;bottom:0;background:#fff;color:var(--navy);padding:13px 18px;font-size:10px;letter-spacing:.2em}
.solution-copy .number{color:var(--gold);font-size:11px}
.solution-copy h3{font:55px Georgia,serif;margin:18px 0}
.solution-copy .lead{font:21px/1.5 Georgia,serif;color:#e3e0d8}
.solution-copy ul{list-style:none;padding:0;margin:28px 0;border-top:1px solid #424761}
.solution-copy li{padding:13px 0;border-bottom:1px solid #424761;font-size:13px}
.ideal{font-size:10px;line-height:1.7;letter-spacing:.12em;color:#aeb1c0}
.light-link{color:#fff;margin-top:15px}
.capacity-note{text-align:center;color:#9da0b1;font-size:11px;margin-top:-80px}
@media(max-width:900px){.solution,.solution.reverse{grid-template-columns:1fr;gap:40px;margin:70px 0 110px}.solution.reverse .solution-image{order:0}.solution-image{height:430px}}
@media(max-width:560px){.solution-image{height:330px}.solution-copy h3{font-size:45px}}
.dark-section{padding:0 0 130px}
.solutions-intro{padding:135px 8vw 100px;border-bottom:1px solid #34394f;margin-bottom:145px}
.solutions-content{padding:0 8vw}
.solution{grid-template-columns:1.18fr .82fr;gap:7vw;margin:0 0 180px}
.solution.reverse{grid-template-columns:.82fr 1.18fr}
.solution-image{height:auto;aspect-ratio:16/10}
.carousel{position:absolute;inset:0;background:#080b18}
.carousel-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .75s ease}
.carousel-slide.active{opacity:1}
.carousel-slide img{width:100%;height:100%;object-fit:cover}
.carousel-slide img[src*="/plano-"]{object-fit:contain;background:#f4f4f2;padding:18px}
.carousel-slide figcaption{position:absolute;left:0;bottom:0;background:#fff;color:var(--navy);padding:13px 18px;font-size:10px;letter-spacing:.18em}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border:1px solid #ffffff80;background:#11162e88;color:#fff;opacity:0;transition:.25s}
.carousel:hover .carousel-arrow{opacity:1}
.carousel-arrow.prev{left:18px}
.carousel-arrow.next{right:18px}
.carousel-dots{position:absolute;right:18px;bottom:18px;z-index:5;display:flex;gap:7px}
.carousel-dots button{width:24px;height:2px;border:0;background:#ffffff80;padding:0}
.carousel-dots button.active{background:var(--gold)}
.light-link{margin-top:22px}
@media(max-width:900px){.solutions-intro{padding:95px 6vw 75px;margin-bottom:95px}.solutions-content{padding:0 6vw}.solution,.solution.reverse{grid-template-columns:1fr;gap:40px;margin:0 0 120px}.solution.reverse .solution-image{order:0}.solution-image{height:auto;aspect-ratio:16/10}}
@media(max-width:560px){.carousel-arrow{opacity:1;width:36px;height:36px}.carousel-slide figcaption{font-size:8px;padding:10px 12px}}
.solution-image.carousel{position:relative;inset:auto}
