
/* V20.7 - Hero editorial con noticias publicadas; la primera lamina institucional permanece intacta. */
.hero{position:relative}
.hero .hero-copy{min-width:0}
.hero .hero-copy.is-news h1{font-size:clamp(46px,5.3vw,88px);line-height:1.07;letter-spacing:-.055em;margin:60px 0 23px;overflow-wrap:anywhere}
.hero .hero-copy.is-news .hero-sub{max-width:520px}
.hero .hero-copy.is-news .hero-rail .rail-num{font-size:clamp(26px,3vw,42px);letter-spacing:-.03em}
.hero .hero-copy.is-news .hero-rail .rail-note{letter-spacing:.09em}
.hero .hero-photo{transition:transform 1.5s ease,opacity .32s ease}
.hero .hero-photo.switching{opacity:.18}
.hero-slide-controls{display:flex;align-items:center;gap:9px;margin-left:14px}
.hero-slide-controls[hidden]{display:none!important}
.hero-slide-controls button{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #c3d0d0;border-radius:50%;color:var(--ink);background:transparent;cursor:pointer;font-size:22px;transition:background .2s ease,color .2s ease}
.hero-slide-controls button:hover,.hero-slide-controls button:focus-visible{background:var(--ink);color:#fff}
.hero-dots{display:flex;gap:7px;align-items:center;margin:0 4px}
.hero-dots button{width:23px;height:6px;border:0;background:#b2c6c9;border-radius:5px;cursor:pointer;padding:0}
.hero-dots button[aria-current=true]{background:var(--cyan);width:31px}
.hero-slide-controls .hero-dots button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.hero .hero-copy.is-news .hero-rail{gap:14px}
.hero-slide-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:870px){
 .hero .hero-copy.is-news{min-height:510px}
 .hero .hero-copy.is-news h1{font-size:clamp(45px,9vw,76px);margin:42px 0 20px}
 .hero .hero-copy.is-news .hero-rail{padding-top:20px}
}
@media(max-width:560px){
 .hero .hero-copy.is-news{min-height:470px}
 .hero .hero-copy.is-news h1{font-size:clamp(39px,9.5vw,58px);margin:40px 0 17px}
 .hero .hero-copy.is-news .hero-sub{font-size:14px}
 .hero-slide-controls{margin-left:auto;gap:7px}
 .hero-slide-controls button{width:36px;height:36px}
 .hero-dots{gap:5px}
 .hero-dots button{width:17px}
 .hero-dots button[aria-current=true]{width:21px}
 .hero .hero-rail .line{display:none}
 .hero .hero-rail{gap:9px}
 .hero .hero-copy.is-news .hero-rail .rail-note{display:none}
}
@media(prefers-reduced-motion:reduce){.hero .hero-photo{transition:none}}
