/* Bounded canvas. The browser window itself remains under visitor control. */
body{max-width:1440px;margin-inline:auto!important;min-width:0;box-shadow:0 0 70px #041a3615}
html{background:#e7edf3}
.contenedor{width:100%;box-sizing:border-box}
.ov-sponsors{display:none!important}
.ov-sponsors .contenedor{max-width:1240px}
@media(min-width:1600px){body{max-width:1120px}.ovx-rail{width:clamp(160px,calc((100vw - 1120px)/2 - 36px),230px)}.ovx-left{left:max(12px,calc(50% - 580px - clamp(160px,calc((100vw - 1120px)/2 - 36px),230px)))}.ovx-right{right:max(12px,calc(50% - 580px - clamp(160px,calc((100vw - 1120px)/2 - 36px),230px)))}}
@media(min-width:961px){.cabecera .contenedor{flex-wrap:wrap}.cabecera .menu{flex-wrap:wrap;justify-content:center}}
@media(min-width:961px) and (max-width:1750px){.cabecera .cab-acceso{display:none!important}}
@media(max-width:560px){.ov-hero h1{overflow-wrap:anywhere}.sp{width:min(270px,70vw)}}
@media(prefers-reduced-motion:reduce){.sp-track{animation:none!important}.sp-viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.ovx-track{transition:none!important}}
@media print{.ov-sponsors,.ovx-rail{display:none!important}body{max-width:none;box-shadow:none}}

/* Explicit heights keep every carousel card aligned with its viewport. */
.ovx-slot{position:relative}
.ovx-track{position:absolute;inset:0;height:100%}
.ovx-track>.ad{min-height:100%;box-sizing:border-box;flex-shrink:0}
.ovx-track .ad-title,.ovx-track .ad-cta{flex-shrink:0}
@media(prefers-reduced-motion:reduce){.ad-photo,.ad-van svg{animation:none!important}}
