/* Home hero only. Wide banner artwork stays intact; the stage follows its aspect ratio on every screen. */
.gumi-hero-carousel{--ghc-height:auto;--ghc-aspect:1832/859;--ghc-fit:contain;--ghc-caption-size:32px;position:relative;width:100%;min-width:0;padding:104px 0 0;margin:0;background:#080a0d;color:#fff;isolation:isolate;box-sizing:border-box}
.gumi-hero-carousel *{box-sizing:border-box}
.gumi-hero-carousel .ghc-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gumi-hero-carousel .ghc-stage{position:relative;width:100%;height:var(--ghc-height);aspect-ratio:var(--ghc-aspect);margin:0;overflow:hidden;touch-action:pan-y;background:#080a0d}
.gumi-hero-carousel .ghc-slide{position:absolute;inset:0;margin:0;padding:0;opacity:0;visibility:hidden;overflow:hidden;background:#080a0d;transition:opacity .55s ease,visibility .55s;pointer-events:none}
.gumi-hero-carousel .ghc-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
/* The blurred duplicate fills the wide canvas around square/portrait posters. */
.gumi-hero-carousel .ghc-backdrop{position:absolute;inset:-14%;display:block;pointer-events:none;opacity:.68;filter:blur(30px) saturate(1.35) brightness(.72);overflow:hidden;transform:scale(1.08);z-index:0}
.gumi-hero-carousel .ghc-backdrop img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;transform:scale(1.18);transform-origin:center}
.gumi-hero-carousel[data-soft-background="no"] .ghc-backdrop{display:none}
.gumi-hero-carousel .ghc-slide::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(25,35,52,.06) 0%,rgba(8,10,13,.12) 56%,rgba(8,10,13,.72) 100%),linear-gradient(90deg,rgba(4,6,10,.42),transparent 22%,transparent 78%,rgba(4,6,10,.42))}
.gumi-hero-carousel .ghc-artwork,.gumi-hero-carousel .ghc-artwork>picture{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;z-index:2}
.gumi-hero-carousel .ghc-artwork .ghc-image{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:var(--ghc-fit);object-position:50% 50%;border:0;border-radius:0;margin:0;padding:0}
.gumi-hero-carousel .ghc-caption{position:absolute;left:max(24px,calc((100% - 1280px)/2));bottom:24px;z-index:3;max-width:min(540px,calc(100% - 48px));padding:22px 26px;background:rgba(8,10,13,.91);border-left:2px solid #d5202f}
.gumi-hero-carousel .ghc-caption h2{margin:0 0 10px;color:#fff;font-size:var(--ghc-caption-size);line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere}
.gumi-hero-carousel .ghc-caption p{margin:0;color:#d5d8db;font-size:16px;line-height:1.55;white-space:pre-line}
.gumi-hero-carousel .ghc-cta{display:inline-flex;align-items:center;gap:24px;margin-top:16px;padding:10px 18px;min-height:44px;background:#bc1b28;color:#fff;font-size:13px;font-weight:700;line-height:1.4;text-decoration:none}
.gumi-hero-carousel .ghc-controls{background:#0b0d10;border-top:1px solid #262930}
.gumi-hero-carousel .ghc-controls[hidden]{display:none}
.gumi-hero-carousel .ghc-controls-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1280px;min-height:64px;margin:0 auto;padding:8px 24px;gap:12px}
.gumi-hero-carousel .ghc-count{font-size:13px;font-weight:600;letter-spacing:.1em;white-space:nowrap}
.gumi-hero-carousel .ghc-total{color:#77818c}
.gumi-hero-carousel .ghc-navigation,.gumi-hero-carousel .ghc-dots{display:flex;align-items:center;gap:8px}
.gumi-hero-carousel .ghc-dots{gap:0}
.gumi-hero-carousel .ghc-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;margin:0;padding:0;border:1px solid transparent;border-radius:0;background:transparent;color:#fff;cursor:pointer;font:20px/1 sans-serif;box-shadow:none}
.gumi-hero-carousel .ghc-controls button:hover{background:#20252c}
.gumi-hero-carousel .ghc-controls button:focus-visible,.gumi-hero-carousel a:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.gumi-hero-carousel .ghc-dot>span{display:block;width:7px;height:7px;border-radius:50%;background:#616873;transition:background .2s}
.gumi-hero-carousel .ghc-dot[aria-current="true"]>span{background:#e22c3b;box-shadow:0 0 0 3px rgba(226,44,59,.18)}
.gumi-hero-carousel .ghc-play{justify-self:end;font-size:16px!important}
@media(min-width:1400px){.gumi-hero-carousel{padding-top:112px}}
@media(max-width:920px){.gumi-hero-carousel{padding-top:88px}}
@media(max-width:767px){.gumi-hero-carousel{--ghc-caption-size:24px}.gumi-hero-carousel .ghc-backdrop{opacity:.58;filter:blur(24px) saturate(1.22) brightness(.68)}.gumi-hero-carousel .ghc-controls-inner{padding:6px 16px;min-height:56px;gap:4px}.gumi-hero-carousel .ghc-navigation{gap:0}.gumi-hero-carousel .ghc-controls .ghc-dot{width:32px}.gumi-hero-carousel .ghc-count{font-size:11px;letter-spacing:0}.gumi-hero-carousel .ghc-caption{left:16px;bottom:16px;max-width:calc(100% - 32px);padding:16px}.gumi-hero-carousel .ghc-caption p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.gumi-hero-carousel .ghc-slide,.gumi-hero-carousel .ghc-dot>span{transition:none}}
