/* Homepage banner: artwork, a readable overlay, edge arrows and centered indicators. */
.home-page>.hero-carousel{width:min(1440px,calc(100vw - 48px));max-width:none;margin-left:50%;transform:translateX(-50%);height:clamp(480px,43.75vw,630px);border:1px solid #17223680;border-radius:20px;background:#090e19;font-family:Outfit,system-ui,sans-serif;isolation:isolate}
.hero-track{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab}
.hero-track::-webkit-scrollbar{display:none}.hero-track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.hero-track>.hero-slide{flex:0 0 100%;width:100%;min-width:0;height:100%;position:relative;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}
.hero-carousel .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.hero-carousel .hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,17,.86),rgba(7,10,22,.66) 48%,rgba(5,8,17,.16)),linear-gradient(0deg,rgba(5,9,20,.36),transparent 75%);pointer-events:none}
.hero-carousel .hero-copy{position:relative;width:100%;max-width:940px;height:100%;padding:64px 84px 78px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;pointer-events:none}
.hero-copy a{pointer-events:auto}.hero-carousel .hero-badge{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:9px 18px;background:#26436d4d;border:1px solid #4380d14d;border-radius:9px;color:#7eb8ff;font-size:18px;font-weight:700;line-height:1.1;letter-spacing:0;text-transform:uppercase}
.hero-badge .ui-icon{width:18px;height:18px;flex:none}.hero-carousel .hero-title{font-size:50px;line-height:1.1;letter-spacing:-.5px;font-weight:800;text-transform:uppercase;margin:0 0 18px;color:#fff;text-shadow:0 2px 10px #0004;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.hero-carousel .genre-pills{gap:8px}.hero-carousel .genre-pills>span{border:1px solid #c5cee32b;background:#c5cee31f;color:#b4bed0;border-radius:6px;padding:6px 15px;font-size:16px;font-weight:700;line-height:1.4;text-transform:uppercase}
.hero-carousel .hero-synopsis{margin:18px 0 26px;max-width:800px;font-size:20px;line-height:1.6;font-weight:500;color:#a5afc3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.hero-carousel .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.hero-carousel .hero-actions .button{padding:16px 30px;min-height:60px;font-size:20px;font-weight:700;line-height:1.3;text-transform:uppercase;gap:14px;border:1px solid #4773b8a6;background:#243e70b8;border-radius:12px;color:#fff;box-shadow:none;backdrop-filter:blur(10px)}
.hero-carousel .hero-actions .button:hover{background:#315791e6;border-color:#6e9ae0}.hero-actions .ui-icon{width:18px;height:18px;flex:none}.hero-flag{display:inline-block;position:relative;flex:0 0 auto;width:27px;height:19px;border-radius:3px;background:#fff}.hero-flag--jp:after{content:"";position:absolute;width:11px;height:11px;top:4px;left:8px;background:#bd1238;border-radius:50%}.hero-flag--fr{background:linear-gradient(90deg,#002395 0 33.33%,white 33.33% 66.66%,#ed2939 66.66%)}
.hero-carousel .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:66px;height:66px;border:1px solid #344e7959;border-radius:50%;padding:0;color:#99accd;background:#070e1bd9;backdrop-filter:blur(8px)}
.carousel-arrow--prev{left:24px}.carousel-arrow--next{right:24px}.carousel-arrow .ui-icon{width:30px;height:30px}.hero-carousel .carousel-arrow:hover{color:white;background:#172842e6;border-color:#6683af}
.hero-carousel .carousel-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:0;max-width:calc(100% - 48px);height:32px;padding:0 14px;border-radius:24px;background:#0b1426c9;backdrop-filter:blur(8px);overflow-x:auto;scrollbar-width:none}
.hero-carousel .carousel-dots button{position:relative;display:block;flex:0 0 24px;width:24px;height:32px;border:0!important;padding:0;border-radius:0;background:transparent;color:inherit}
.hero-carousel .carousel-dots button:after{content:"";display:block;width:12px;height:12px;margin:auto;border-radius:12px;background:#65708c8c;transition:background .2s,width .2s}
.hero-carousel .carousel-dots button[aria-pressed=true]{flex-basis:48px;width:48px}.hero-carousel .carousel-dots button[aria-pressed=true]:after{width:36px;background:#3b82f6;box-shadow:0 0 12px #3184ff66}.hero-carousel .carousel-dots button:hover:after{background:#93b4e8}
.hero-carousel .carousel-pause{position:absolute;top:18px;right:18px;z-index:2;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #7a92b44d;border-radius:50%;background:#081221a6;color:#a8b8d3}
.carousel-pause .ui-icon{width:14px;height:14px}.carousel-pause.is-paused .ui-icon{display:none}.carousel-pause.is-paused:after{content:"";border:5px solid transparent;border-left:8px solid currentColor;transform:translateX(3px)}
.homepage-content{margin-top:48px;padding-top:32px;border-top:1px solid var(--line);overflow-wrap:anywhere;font-size:16px;line-height:1.8;color:var(--text)}
.homepage-content:empty{display:none}.homepage-content>:first-child{margin-top:0}.homepage-content>:last-child{margin-bottom:0}.homepage-content h1,.homepage-content h2,.homepage-content h3,.homepage-content h4{line-height:1.3;letter-spacing:0}.homepage-content h2{font-size:28px}.homepage-content h3{font-size:22px}.homepage-content p{color:inherit}.homepage-content a:not(.wp-block-button__link){color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.homepage-content img,.homepage-content video{max-width:100%;height:auto}.homepage-content iframe{max-width:100%}.homepage-content .alignfull,.homepage-content .alignwide{width:100%;max-width:100%;margin-left:0;margin-right:0}.homepage-content .wp-block-column{min-width:0}.homepage-content .wp-block-table{overflow-x:auto}.homepage-content .wp-block-table table{width:100%;border-collapse:collapse}.homepage-content .wp-block-table td,.homepage-content .wp-block-table th{border:1px solid var(--line);padding:10px 14px}.homepage-content blockquote{border-left:3px solid var(--blue);margin:24px 0;padding:8px 24px}.homepage-content .wp-block-embed__wrapper{max-width:100%}
@media(max-width:1100px){.hero-carousel .hero-copy{max-width:850px;padding:54px 74px 70px}.hero-carousel .hero-title{font-size:40px}.hero-carousel .hero-badge{font-size:15px}.hero-carousel .hero-synopsis{font-size:18px}.hero-carousel .hero-actions .button{font-size:16px;padding:14px 22px;min-height:52px}.hero-carousel .genre-pills>span{font-size:13px;padding:4px 12px}.hero-carousel .carousel-arrow{width:48px;height:48px}.carousel-arrow--prev{left:14px}.carousel-arrow--next{right:14px}}
@media(max-width:600px){.home-page>.hero-carousel{width:100%;height:520px;min-height:520px;border-radius:15px}.hero-carousel .hero-copy{max-width:100%;padding:76px 25px 66px;justify-content:flex-end}.hero-carousel .hero-image{object-position:60% center}.hero-carousel .hero-shade{background:linear-gradient(0deg,#060b18f5 0%,#080d1bba 58%,#04091440 100%)}.hero-carousel .hero-title{font-size:30px;max-width:100%;margin-bottom:14px}.hero-carousel .hero-badge{font-size:12px;margin-bottom:14px;padding:8px 11px;gap:8px}.hero-badge .ui-icon{width:15px;height:15px}.hero-carousel .genre-pills{gap:5px}.hero-carousel .genre-pills>span{font-size:10px;padding:4px 8px}.hero-carousel .hero-synopsis{font-size:14px;line-height:1.55;margin:14px 0 18px;max-width:100%;-webkit-line-clamp:3}.hero-carousel .hero-actions{gap:8px;width:100%}.hero-carousel .hero-actions .button{min-height:46px;font-size:13px;padding:12px 16px;gap:9px;border-radius:9px}.hero-actions .ui-icon{width:14px;height:14px}.hero-flag{width:23px;height:16px}.hero-flag--jp:after{width:10px;height:10px;left:6.5px;top:3px}.hero-carousel .carousel-arrow{top:24%;width:40px;height:40px}.carousel-arrow--prev{left:12px}.carousel-arrow--next{right:12px}.carousel-arrow .ui-icon{width:23px;height:23px}.hero-carousel .carousel-dots{bottom:18px;padding:0 7px;max-width:calc(100% - 28px);height:28px}.hero-carousel .carousel-dots button{flex-basis:17px;width:17px;height:28px}.hero-carousel .carousel-dots button:after{width:8px;height:8px}.hero-carousel .carousel-dots button[aria-pressed=true]{flex-basis:30px;width:30px}.hero-carousel .carousel-dots button[aria-pressed=true]:after{width:22px}.hero-carousel .carousel-pause{top:12px;right:12px}.homepage-content{margin-top:32px;font-size:15px}.homepage-content h2{font-size:24px}.homepage-content h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.hero-carousel *{scroll-behavior:auto!important;transition:none!important}}
