.campaign-film{padding:58px 5.5vw 46px;background:#40382f;color:#faf6ee}
.campaign-inner{max-width:1424px;margin:auto}
.campaign-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}
.campaign-heading .eyebrow{font-size:.8rem;font-weight:450;color:#d2c2ad;margin-bottom:12px}
.campaign-heading h2{font-size:clamp(2.1rem,3.5vw,3.6rem);margin:0;line-height:1.1}
.campaign-heading h2 em{color:#d4bca4}
.campaign-heading>p{font-size:1rem;color:#e1d5c5;max-width:31ch;margin:0 0 2px;line-height:1.6}
.campaign-stage{position:relative;background:#ece9e6;aspect-ratio:16/9;max-height:670px;overflow:hidden}
.campaign-stage video{display:block;width:100%;height:100%;object-fit:contain}
.campaign-controls{position:absolute;bottom:17px;left:19px;right:19px;display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:none}
.campaign-toggle{min-width:112px;min-height:44px;padding:10px 16px;border:1px solid #ded5c9;border-radius:30px;background:#faf7eff0;color:#3b3228;font-size:.85rem;pointer-events:auto;backdrop-filter:blur(8px)}
.campaign-toggle:hover{background:#fff}
.campaign-toggle:focus-visible,.campaign-scene:focus-visible{outline:3px solid #c59c6c;outline-offset:4px}
.campaign-time{padding:6px 11px;border-radius:20px;background:#faf7eff0;color:#3b3228;font-size:.75rem;font-variant-numeric:tabular-nums;letter-spacing:.05em}
.campaign-progress{height:2px;background:#746452;margin-top:0}
.campaign-progress>span{display:block;width:0;height:100%;background:#e5cbb0}
.campaign-bottom{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-top:23px}
.campaign-scenes{display:flex;gap:28px;flex-wrap:wrap}
.campaign-scene{background:transparent;padding:8px 0;min-height:44px;color:#d7cabb;border-bottom:1px solid transparent;font-size:.86rem;text-align:left}
.campaign-scene span{font-size:.7rem;letter-spacing:.1em;display:inline-block;margin-right:8px;color:#bca88f}
.campaign-scene[aria-pressed=true]{color:#fff;border-color:#e5cbb0}
.campaign-shop{font-size:.9rem;white-space:nowrap;border-bottom:1px solid #c6b8a7;padding:8px 0;min-height:44px}
.campaign-status{color:#e1d5c5;font-size:.875rem;margin:18px 0 0;max-width:none}
.campaign-status[hidden]{display:none}
.campaign-description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.campaign-film{padding:36px 20px 30px}.campaign-heading{display:block;margin-bottom:22px}.campaign-heading>p{margin-top:17px;max-width:40ch;font-size:.92rem}.campaign-stage{margin:0 -20px}.campaign-progress{margin:0 -20px}.campaign-controls{left:12px;right:12px;bottom:10px}.campaign-toggle{min-width:100px;padding:8px 12px;font-size:.8rem}.campaign-time{font-size:.7rem}.campaign-bottom{display:block;padding-top:15px}.campaign-scenes{gap:18px;justify-content:space-between}.campaign-scene{font-size:.79rem}.campaign-scene span{margin-right:4px}.campaign-shop{display:inline-flex;margin-top:16px}}
@media(prefers-reduced-motion:reduce){.campaign-film *{scroll-behavior:auto;transition:none}}
