/* Hero único: video completo a su relación 16:9, sin recorte lateral ni marco ovalado. */
.hero-carousel{--hero-cream:#fff4de;position:relative;isolation:isolate;width:100%;overflow:hidden;background:#1b3029;border-bottom:1px solid #253e33}.hero-carousel *{box-sizing:border-box}.carousel-track{position:relative;width:100%;aspect-ratio:16/9}.carousel-slide{position:absolute;inset:0;display:flex;align-items:center;min-width:0}.carousel-media{position:absolute;inset:0;overflow:hidden;background:#263c30;z-index:0}.carousel-video,.carousel-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;max-width:none}.carousel-video{opacity:0;pointer-events:none;transition:opacity .4s ease}.carousel-photo{opacity:1;pointer-events:none;transition:opacity .4s ease}.video-playing .carousel-video{opacity:1}.video-playing .carousel-photo{opacity:0}.carousel-media:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0b241fd9 0%,#102921b8 26%,#1934274d 55%,#142c2310 80%),linear-gradient(0deg,#0b211e70,transparent 30%);pointer-events:none}.carousel-copy{position:relative;z-index:2;width:56%;max-width:870px;padding:4vw 0 4vw max(6vw,calc((100vw - 1400px)/2));color:var(--hero-cream);min-width:0}.carousel-kicker{display:flex;align-items:center;gap:11px;font-size:clamp(8px,.72vw,12px);letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#f1d9b3;margin:0 0 20px;line-height:1.6}.carousel-kicker:before{content:"";height:1px;width:28px;background:currentColor;flex:none}.carousel-heading{font-family:Fraunces,Georgia,serif;font-size:clamp(36px,5.1vw,87px);font-weight:600;line-height:1.05;letter-spacing:-.055em;max-width:780px;margin:0;color:#fff8e9;text-shadow:0 2px 24px #091e1c58}.carousel-heading span{display:block}.carousel-heading em{font-style:italic;color:#f0c28e;white-space:normal}.carousel-description{max-width:460px;font-size:clamp(13px,1.15vw,18px);line-height:1.65;color:#f0efdd;margin:24px 0 30px}.carousel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px}.carousel-category{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #f5dfb6;border-radius:11px;background:#f5e6c6;color:#173d30;padding:15px 20px;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px #08241e3d;min-height:50px;transition:background .2s ease,transform .2s ease}.carousel-category:hover{background:#fff2d7;transform:translateY(-2px)}.carousel-category span{font-size:20px;font-weight:400;line-height:1;transition:transform .2s ease}.carousel-category:hover span{transform:translateX(3px)}.carousel-browse{font-size:12px;font-weight:800;text-decoration:none;color:#fff5de;border-bottom:1px solid #e2e6d3a8;padding:8px 0;line-height:1.5}.carousel-browse:hover{color:#f4ce97}.carousel-controls{position:absolute;z-index:4;bottom:22px;right:max(3vw,22px);display:flex;align-items:center}.carousel-play{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 14px;border:1px solid #fff8e65c;border-radius:100px;background:#112c24b8;backdrop-filter:blur(8px);color:#fff7e4;font-family:inherit;font-size:10px;font-weight:700;cursor:pointer;transition:background .2s ease}.carousel-play:hover{background:#0b221ae8}.carousel-play-icon{width:12px;text-align:center;font-size:12px}.carousel-controls button:focus-visible,.carousel-actions button:focus-visible,.carousel-actions a:focus-visible{outline:3px solid #f2b96e;outline-offset:4px}.carousel-media-status{position:absolute;top:18px;right:22px;z-index:3;display:flex;align-items:center;gap:7px;font-size:10px;color:#f5edd5;background:#163a29b8;border:1px solid #ffffff29;border-radius:100px;padding:8px 12px;opacity:0;transition:opacity .2s ease;pointer-events:none;backdrop-filter:blur(7px)}.video-loading .carousel-media-status{opacity:1}.carousel-media-status i{height:11px;width:11px;border:1px solid #eedc9f80;border-top-color:#eedc9f;border-radius:50%;animation:leivaMediaLoading .8s linear infinite}.poster-unavailable .carousel-media{background:radial-gradient(ellipse at 80% 45%,#716140,#193e31 66%)}.video-unavailable .carousel-video{opacity:0}.video-unavailable .carousel-photo{opacity:1}
@keyframes leivaMediaLoading{to{transform:rotate(360deg)}}
/* Imagen de bienvenida completa. No se bloquea el desplazamiento ni se atrapa el foco. */
.leiva-welcome{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px 18px 72px;background:radial-gradient(ellipse at 24% 10%,#f6dfbf 0,transparent 48%),radial-gradient(ellipse at 80% 90%,#e0e4cc 0,transparent 45%),#f9f3e7;opacity:1;filter:blur(0);transition:opacity .68s ease,filter .68s ease;isolation:isolate}.leiva-welcome-picture{width:min(96vw,1260px);height:calc(100vh - 105px);height:calc(100svh - 105px);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(5px);transition:opacity .22s ease,transform .22s ease}.leiva-welcome-picture img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-width:100%;filter:drop-shadow(0 12px 36px #44311c20)}.leiva-welcome.is-ready .leiva-welcome-picture{opacity:1;transform:none}.leiva-welcome-skip{position:absolute;bottom:23px;right:max(4vw,22px);display:inline-flex;align-items:center;gap:20px;min-height:43px;padding:11px 16px;border:1px solid #9baf987c;border-radius:100px;background:#fffaf0c4;color:#214b39;font:700 11px "DM Sans",sans-serif;cursor:pointer;box-shadow:0 3px 15px #32482a08;transition:background .2s ease}.leiva-welcome-skip span{font-size:19px;line-height:1}.leiva-welcome-skip:hover{background:#fff}.leiva-welcome-skip:focus-visible{outline:3px solid #b27642;outline-offset:4px}.leiva-welcome.is-leaving{opacity:0;filter:blur(7px);pointer-events:none}
@media(min-width:1800px){.carousel-copy{width:55%;max-width:1080px}}
@media(max-width:1050px){.carousel-copy{width:61%;padding-left:5vw}.carousel-kicker{margin-bottom:14px;letter-spacing:.12em}.carousel-heading{font-size:clamp(31px,5.4vw,57px)}.carousel-description{margin:17px 0 23px}.carousel-category{padding:12px 16px;min-height:44px;font-size:11px}.carousel-actions{gap:20px}.carousel-controls{bottom:17px;right:20px}.carousel-play{min-height:38px;padding:8px 12px}.carousel-browse{font-size:11px}}
@media(max-width:760px){.carousel-copy{width:66%;padding:20px 0 20px 5vw}.carousel-kicker{font-size:7px;letter-spacing:.08em;gap:7px;margin-bottom:11px}.carousel-kicker:before{width:17px}.carousel-heading{font-size:clamp(25px,5.5vw,42px);line-height:1.07}.carousel-description{font-size:11px;line-height:1.5;margin:12px 0 16px}.carousel-category{font-size:10px;border-radius:8px;padding:9px 12px;gap:16px;min-height:38px}.carousel-category span{font-size:17px}.carousel-browse{font-size:10px}.carousel-actions{gap:14px}.carousel-controls{bottom:12px;right:12px}.carousel-play{min-height:34px;padding:7px 10px;gap:5px;font-size:9px}.carousel-play-label{display:none}.carousel-play-icon{width:13px}.carousel-media-status{top:11px;right:12px;font-size:8px;padding:6px 8px}.carousel-media:after{background:linear-gradient(90deg,#0a211bdc,#0e2a21ad 34%,#122c204a 65%,#142c2310 95%),linear-gradient(0deg,#0b211e50,transparent 30%)}.leiva-welcome{padding:16px 12px 75px}.leiva-welcome-picture{width:100%;height:calc(100vh - 91px);height:calc(100svh - 91px)}.leiva-welcome-skip{bottom:20px;right:20px;min-height:42px}}
@media(max-width:520px){.carousel-copy{width:74%;padding:14px 0 14px 5vw}.carousel-kicker{font-size:6px;margin-bottom:8px;letter-spacing:.05em}.carousel-kicker:before{width:13px}.carousel-heading{font-size:clamp(23px,6.1vw,31px)}.carousel-description{font-size:9px;margin:10px 0 12px;max-width:250px}.carousel-category{font-size:9px;padding:7px 10px;min-height:32px;gap:14px}.carousel-category span{font-size:15px}.carousel-browse{display:none}.carousel-controls{bottom:10px;right:10px}.carousel-play{min-height:32px;padding:7px 9px}.carousel-media-status{display:none}}
@media(prefers-reduced-motion:reduce){.carousel-video,.carousel-photo,.carousel-category,.carousel-category span,.carousel-play,.carousel-media-status,.leiva-welcome-picture{transition:none}.carousel-category:hover{transform:none}.carousel-media-status i{animation:none}.leiva-welcome{transition:opacity .2s linear}.leiva-welcome.is-leaving{filter:none}}

