/* Hero de la home (reemplaza Revolution Slider). Sin dependencias; respeta prefers-reduced-motion. */
.hero{--hero-delay:7s;--hero-ink:#fffdf8;--hero-gold:#f2c94c;position:relative;isolation:isolate;overflow:hidden;
  height:clamp(480px,82svh,740px);background:#0e1c21;color:var(--hero-ink);font-family:'Open Sans',Arial,sans-serif}
.hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 0s linear 1.1s}
.hero__slide.is-active{opacity:1;visibility:visible;transition:opacity 1.1s ease,visibility 0s}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 9s ease-out}
.hero__slide.is-active .hero__img{transform:scale(1)}
.hero__slide::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(10,28,33,.82) 0%,rgba(10,28,33,.5) 48%,rgba(10,28,33,.08) 100%),
             linear-gradient(0deg,rgba(10,28,33,.55) 0%,rgba(10,28,33,0) 38%)}
.hero__content{position:absolute;z-index:2;left:0;right:0;bottom:clamp(150px,27%,240px);
  padding-inline:max(24px,calc((100% - 1170px)/2 + 15px))}
.hero__eyebrow{margin:0 0 14px;max-width:34ch;font-size:clamp(16px,1.9vw,21px);line-height:1.4;font-weight:600;color:var(--hero-gold)}
.hero__title{margin:0;max-width:17em;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:500;
  font-size:clamp(32px,5.4vw,66px);line-height:1.08;letter-spacing:-.01em;text-wrap:balance;color:var(--hero-ink)}
.hero__slide.is-active .hero__title,.hero__slide.is-active .hero__eyebrow{animation:heroRise .9s .25s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero__bar{position:absolute;z-index:3;left:0;right:0;bottom:clamp(28px,5vh,48px);display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-inline:max(24px,calc((100% - 1170px)/2 + 15px))}
.hero__dots{display:flex;gap:10px;align-items:center}
.hero__dots button{width:clamp(36px,7vw,64px);height:28px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center}
.hero__dots button span{display:block;position:relative;width:100%;height:4px;border-radius:4px;background:rgba(255,255,255,.4);overflow:hidden}
.hero__dots button span::after{content:"";position:absolute;inset:0;width:0;background:var(--hero-gold);border-radius:4px}
.hero__dots button.is-active span::after{animation:heroFill var(--hero-delay) linear forwards}
.hero__dots button.is-done span::after{width:100%}
@keyframes heroFill{to{width:100%}}
.hero.is-held .hero__dots button.is-active span::after{animation-play-state:paused}
.hero__nav{display:flex;gap:10px}
.hero__btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;display:grid;place-items:center;padding:0;transition:background .2s}
.hero__btn:hover{background:rgba(255,255,255,.28)}
.hero__btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero__btn .i-play{display:none}.hero.is-paused .hero__btn .i-play{display:block}.hero.is-paused .hero__btn .i-pause{display:none}
.hero button:focus-visible{outline:3px solid var(--hero-gold);outline-offset:3px}
@media (max-width:767px){.hero{height:clamp(500px,86svh,680px)}.hero__prev,.hero__next{display:none}.hero__content{bottom:clamp(135px,24%,190px)}}
@media (prefers-reduced-motion:reduce){
  .hero__slide,.hero__slide.is-active{transition:none}.hero__img,.hero__slide.is-active .hero__img{transition:none;transform:none}
  .hero__slide.is-active .hero__title,.hero__slide.is-active .hero__eyebrow{animation:none}
  .hero__dots button.is-active span::after{animation:none;width:100%}.hero__pause{display:none}}
