.resolve-section { padding:100px max(24px,calc((100% - 1184px)/2)); background:#071419; color:#f2f7f4; overflow:hidden; }
.resolve-heading { display:flex; justify-content:space-between; gap:32px; align-items:end; margin-bottom:44px; }
.resolve-kicker { color:#00e676; font:600 13px monospace; letter-spacing:.14em; margin-bottom:18px; }
.resolve-heading h2 { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(48px,6.5vw,94px); letter-spacing:-.06em; line-height:1; font-weight:800; }
.resolve-heading h2 span { color:#00e676; }
.resolve-heading>p { color:#abbfc4; font-size:18px; line-height:1.7; }
.resolve-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 24px; }
.resolve-open { display:block; width:100%; text-align:left; color:inherit; }
.resolve-cover { position:relative; display:block; aspect-ratio:9/13; overflow:hidden; border-radius:14px; background:#183037; }
.resolve-cover img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.resolve-open:hover img,.resolve-open:focus-visible img { transform:scale(1.04); }
.resolve-play { position:absolute; left:20px; bottom:20px; display:grid; place-items:center; width:54px; height:54px; border-radius:50%; color:#071419; background:#00e676; font-size:19px; padding-left:3px; transition:transform .3s; }
.resolve-open:hover .resolve-play { transform:rotate(-8deg) scale(1.08); }
.resolve-duration { position:absolute; right:18px; bottom:29px; padding:5px 10px; background:#071419df; border-radius:5px; font-size:14px; }
.resolve-card-label { display:flex; justify-content:space-between; align-items:center; padding:17px 0; font-size:21px; font-weight:600; border-bottom:1px solid #ffffff25; }
.resolve-note { margin-top:35px; color:#abc0c5; font-size:14px; }
#resolve-player { width:min(94vw,700px); max-height:94dvh; padding:18px; border:1px solid #ffffff25; border-radius:16px; background:#09191f; color:white; margin:auto; }
#resolve-player::backdrop { background:#02080de8; }
.resolve-player-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:14px; }
.resolve-player-bar h3 { font-size:17px; }
#resolve-close { min-height:44px; padding:8px 14px; border:1px solid #ffffff50; border-radius:24px; }
#resolve-video { display:block; width:100%; height:calc(86dvh - 110px); object-fit:contain; background:black; }
.resolve-player-note { font-size:13px; color:#abbfc4; margin:12px 0 0; }
@media(max-width:767px) { .resolve-section { padding:65px 24px; } .resolve-heading { display:block; } .resolve-heading>p { margin-top:24px; font-size:17px; } .resolve-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; } .resolve-cover { aspect-ratio:9/16; } .resolve-card-label { font-size:16px; } .resolve-play { width:40px;height:40px;left:10px;bottom:12px;font-size:15px; } .resolve-duration { right:7px;bottom:18px;font-size:12px;padding:3px 6px; } }
@media(prefers-reduced-motion:reduce) { .resolve-cover img,.resolve-play { transition:none; } }

/* A single row, with native touch scrolling and a glimpse of the next episode. */
.resolve-grid { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#34545d transparent; padding:4px 4px 20px; }
.resolve-card { flex:0 0 calc((100% - 48px)/3); min-width:0; scroll-snap-align:start; }
.resolve-navigation { display:flex; justify-content:flex-end; gap:12px; margin:0 0 20px; }
.resolve-arrow { display:grid; place-items:center; width:52px; height:52px; border:1px solid #65818a; border-radius:50%; color:#f2f7f4; font-size:27px; cursor:pointer; transition:background .2s,color .2s; }
.resolve-arrow:hover:not(:disabled) { background:#00e676; color:#071419; border-color:#00e676; }
.resolve-arrow:disabled { opacity:.3; cursor:default; }
.resolve-arrow:focus-visible,.resolve-grid:focus-visible,.resolve-open:focus-visible { outline:2px solid #00e676; outline-offset:3px; }
@media(max-width:767px) { .resolve-grid { gap:16px; } .resolve-card { flex-basis:82%; } .resolve-navigation { margin-top:24px; } }
@media(prefers-reduced-motion:reduce) { .resolve-arrow { transition:none; } }
