/* 2.3.1 – scoped, responsive layout normalization for legacy HTML pages. */
body.page:not(.home) #contenido{min-width:0;overflow-x:clip}
.cctv-legacy231{width:min(1160px,calc(100% - 48px));margin:0 auto;padding:42px 0 66px;color:#1b2931;font-size:16px;line-height:1.7}
.cctv-legacy231 *{box-sizing:border-box;min-width:0}
.cctv-legacy231 > section{max-width:100%;margin:0 auto 45px}
.cctv-legacy231 h1{font-size:clamp(34px,3.5vw,50px);line-height:1.12;letter-spacing:-.035em;margin:12px 0 22px}
.cctv-legacy231 h2{font-size:clamp(25px,2.7vw,34px);line-height:1.2;letter-spacing:-.025em;margin:12px 0 20px}
.cctv-legacy231 h3{font-size:clamp(19px,1.9vw,24px);line-height:1.3;margin:8px 0 12px}
.cctv-legacy231 p{margin:0 0 17px;max-width:800px}
.cctv-legacy231 ul{margin:14px 0 24px;padding-left:22px}
.cctv-legacy231 li{margin:5px 0}
.cctv-legacy231 figure{max-width:100%;margin:18px auto 28px}
.cctv-legacy231 img,.cctv-legacy231 picture img,.cctv-legacy231 figure img{display:block;max-width:100%;width:100%;height:auto;max-height:415px;object-fit:cover;object-position:center;border-radius:16px}
.cctv-legacy231 section img{max-height:420px}
.cctv-legacy231 .audio-hero-media img,.cctv-legacy231 .video-hero-media img{height:100%;max-height:490px;min-height:330px;object-fit:cover}
.cctv-legacy231 .audio-hero,.cctv-legacy231 .video-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:50px;padding:25px 0 36px}
.cctv-legacy231 .audio-hero-copy,.cctv-legacy231 .video-hero-copy{min-width:0}
.cctv-legacy231 .audio-sector-strip,.cctv-legacy231 .video-sector-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 60px}
.cctv-legacy231 .audio-sector-strip>div,.cctv-legacy231 .video-sector-strip>div{display:grid;gap:8px;background:#f2f5f6;border-radius:12px;padding:17px;min-width:0}
.cctv-legacy231 .audio-sector-strip span,.cctv-legacy231 .video-sector-strip span{color:#9e7900;font-weight:900}
.cctv-legacy231 .audio-section,.cctv-legacy231 .video-section{padding:35px 0;max-width:100%}
.cctv-legacy231 .audio-cards,.cctv-legacy231 .video-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.cctv-legacy231 .audio-card,.cctv-legacy231 .video-card,.cctv-legacy231 .audio-step,.cctv-legacy231 .video-step{background:#f3f6f7;padding:24px;border-radius:16px;min-width:0}
.cctv-legacy231 .audio-feature,.cctv-legacy231 .video-feature,.cctv-legacy231 .audio-corporate,.cctv-legacy231 .video-corporate,.cctv-legacy231 .audio-tech,.cctv-legacy231 .video-reception{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:45px;margin:35px auto 55px}
.cctv-legacy231 .audio-feature.reverse .audio-feature-media,.cctv-legacy231 .video-feature.reverse .video-feature-media{order:2}
.cctv-legacy231 .audio-feature-media,.cctv-legacy231 .video-feature-media,.cctv-legacy231 .audio-corporate-media,.cctv-legacy231 .video-corporate-media,.cctv-legacy231 .audio-tech-media,.cctv-legacy231 .video-reception-media{min-width:0;max-width:100%}
.cctv-legacy231 .audio-feature-media img,.cctv-legacy231 .video-feature-media img,.cctv-legacy231 .audio-corporate-media img,.cctv-legacy231 .video-corporate-media img,.cctv-legacy231 .audio-tech-media img,.cctv-legacy231 .video-reception-media img{height:340px;max-height:340px;width:100%;object-fit:cover}
.cctv-legacy231 .audio-process,.cctv-legacy231 .video-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:25px}
.cctv-legacy231 .audio-buttons,.cctv-legacy231 .video-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:25px}
.cctv-legacy231 .audio-btn,.cctv-legacy231 .video-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;font-size:14px;font-weight:800;padding:13px 19px;min-height:46px;border-radius:9px;background:#ffcf00;color:#17242c}
.cctv-legacy231 .audio-btn.secondary,.cctv-legacy231 .video-btn.secondary{background:#17242c;color:#fff}
.cctv-legacy231 .audio-cta,.cctv-legacy231 .video-cta{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding:30px;background:#edf3f6;border-radius:18px}
.cctv-legacy231 .audio-cta h2,.cctv-legacy231 .video-cta h2{margin-top:12px}
.cctv-legacy231 a:not(.audio-btn):not(.video-btn){overflow-wrap:anywhere}
/* Apply proportional constraints to all service-page images without overwriting approved header/navigation. */
body.page #contenido .cctv-about230 img{max-height:405px;object-fit:cover}
/* Generic legacy pages that use their own CSS-independent grids. */
.cctv-legacy231 > div,.cctv-legacy231 > article{max-width:100%}
.cctv-legacy231 [class*="hero"] img{border-radius:16px}
@media(max-width:960px){
 .cctv-legacy231 .audio-hero,.cctv-legacy231 .video-hero{gap:27px}
 .cctv-legacy231 .audio-process,.cctv-legacy231 .video-process{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cctv-legacy231 .audio-sector-strip,.cctv-legacy231 .video-sector-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 .cctv-legacy231{width:calc(100% - 32px);padding:28px 0 45px}
 .cctv-legacy231 .audio-hero,.cctv-legacy231 .video-hero,.cctv-legacy231 .audio-feature,.cctv-legacy231 .video-feature,.cctv-legacy231 .audio-corporate,.cctv-legacy231 .video-corporate,.cctv-legacy231 .audio-tech,.cctv-legacy231 .video-reception,.cctv-legacy231 .audio-cta,.cctv-legacy231 .video-cta{grid-template-columns:1fr;gap:20px}
 .cctv-legacy231 .audio-feature.reverse .audio-feature-media,.cctv-legacy231 .video-feature.reverse .video-feature-media{order:0}
 .cctv-legacy231 .audio-hero-media img,.cctv-legacy231 .video-hero-media img{height:280px;min-height:0;max-height:280px}
 .cctv-legacy231 .audio-feature-media img,.cctv-legacy231 .video-feature-media img{height:250px;max-height:250px}
 .cctv-legacy231 .audio-cards,.cctv-legacy231 .video-cards{grid-template-columns:1fr}
 .cctv-legacy231 .audio-process,.cctv-legacy231 .video-process{grid-template-columns:1fr 1fr}
 .cctv-legacy231 br{display:none}
}
@media(max-width:480px){.cctv-legacy231 .audio-sector-strip,.cctv-legacy231 .video-sector-strip,.cctv-legacy231 .audio-process,.cctv-legacy231 .video-process{grid-template-columns:1fr}}
