/* Cada banner llena el marco y se recorta con su forma. */
.hero-banner-frame{position:relative;height:475px;border-radius:100px 10px 100px 10px;overflow:hidden;background:var(--wine-dark);isolation:isolate}
.hero-banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s;pointer-events:none}
.hero-banner-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hero-banner-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0001,transparent 30%,transparent 65%,#0005);pointer-events:none}
.hero-banner-image-link{position:absolute;inset:0;display:block}
.hero-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1}
.hero-banner-caption{position:absolute;bottom:32px;left:28px;right:28px;z-index:2;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,rgba(55,12,37,.94),rgba(55,12,37,.78));border:1px solid rgba(255,216,99,.4);box-shadow:0 12px 32px #0003;color:#fff;text-align:center;pointer-events:none;text-shadow:0 2px 8px #0005;overflow-wrap:anywhere}
.hero-banner-caption strong{display:block;font-family:Manrope,system-ui,sans-serif;font-size:32px;font-weight:800;letter-spacing:-.6px;line-height:1.15;color:#ffdc72;text-wrap:balance}
.hero-banner-caption span{display:block;font-size:17px;font-weight:500;margin-top:12px;line-height:1.45;text-wrap:pretty}
.hero-banner-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;height:65px;font-size:11px;color:var(--muted)}
.hero-banner-controls button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--wine);font-size:15px}
.hero-banner-controls button:hover{background:var(--wine);color:#fff}
.hero-banner-controls .hero-banner-pause{font-size:12px}
.hero-with-banners{padding-bottom:0}
.hero-with-banners:before{bottom:90px}
.hero-with-banners .hero-badge{bottom:6px;padding:15px 18px}
.hero-with-banners .hero-badge strong{font-size:12px}
.hero-with-banners .hero-badge small{font-size:9px}
.hero-with-banners .hero-badge svg{width:32px;height:32px}
@media(min-width:1500px){.hero-banner-frame{height:500px}}
@media(max-width:1100px){.hero-banner-frame{height:440px}.hero-with-banners .hero-badge{gap:10px;padding:12px}.hero-banner-controls{gap:7px}.hero-banner-caption strong{font-size:28px}}
@media(max-width:900px){.hero-banner-frame{height:415px}.hero-with-banners .hero-badge{position:static;width:fit-content;margin-top:12px}.hero-banner-controls{height:48px}.hero-with-banners:before{bottom:120px}}
@media(max-width:650px){.hero-banner-frame{height:330px;border-radius:65px 8px 65px 8px}.hero-banner-caption{bottom:24px;left:18px;right:18px;padding:18px 16px;border-radius:16px}.hero-banner-caption strong{font-size:24px;letter-spacing:-.4px}.hero-banner-caption span{font-size:14px;margin-top:9px}.hero-with-banners .hero-badge{position:absolute;bottom:6px;left:0;padding:10px;max-width:calc(100% - 150px)}.hero-with-banners .hero-badge strong{font-size:10px}.hero-with-banners .hero-badge small{font-size:8px}.hero-with-banners .hero-badge svg{display:none}.hero-banner-controls{height:66px;gap:7px}.hero-with-banners:before{bottom:95px}}
@media(prefers-reduced-motion:reduce){.hero-banner-slide{transition:none}}

.hero-banner-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #ffffff80;border-radius:50%;background:rgba(55,12,37,.78);color:#fff;box-shadow:0 4px 16px #0003;cursor:pointer;transition:background .2s,color .2s}.hero-banner-prev{left:14px}.hero-banner-next{right:14px}.hero-banner-arrow svg{width:24px;height:24px}.hero-banner-arrow:hover{background:#ffdc72;color:var(--wine)}.hero-banner-arrow:focus-visible{outline:3px solid #ffdc72;outline-offset:3px}@media(max-width:650px){.hero-banner-arrow{width:40px;height:40px}.hero-banner-prev{left:10px}.hero-banner-next{right:10px}}