/* Keep the original typography, title masks, colors and button styling. */
@import url('animation.css');
.campaign{background:#201b17}
.stage{inset:0 0 0 40%;width:60%;height:100%;mask-image:linear-gradient(to right,transparent,#000 11%)}
.stage .poster,.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.stage video{opacity:0}
.campaign.loaded:not(.reduced):not(.failed) video{opacity:1}
.campaign.loaded:not(.reduced):not(.failed) .poster{visibility:hidden}
.cta-shell{display:table}
.cta{transform-origin:center;position:relative}
.cta::after{content:'';position:absolute;inset:-5px;border:1px solid #ffcf6d55;border-radius:inherit;opacity:0;pointer-events:none}
.campaign.pulsing .cta{animation:cta-breathe 3.2s ease-in-out infinite}
.campaign.pulsing .cta::after{animation:cta-halo 3.2s ease-in-out infinite}
.campaign.pulsing .cta:is(:hover,:focus-visible),.campaign.pulsing .cta:is(:hover,:focus-visible)::after{animation-play-state:paused}
@keyframes cta-breathe{0%,100%{transform:scale(1);box-shadow:inset 0 1px 0 #ffeab2,0 0 0 #ffbf4b00}50%{transform:scale(1.025);box-shadow:inset 0 1px 0 #ffeab2,0 0 20px #ffbf4b30}}
@keyframes cta-halo{0%,100%{opacity:0;transform:scale(.98)}50%{opacity:.65;transform:scale(1.015)}}
.scrub{display:flex;align-items:center;gap:12px;font-size:12px;color:#857d70}
.scrub input{width:180px;min-height:44px;accent-color:#ae7225}
@media(max-width:700px){.stage{inset:auto 0 0;width:100%;height:47%;mask-image:linear-gradient(to bottom,transparent,#000 12%)}.copy{z-index:2}.scrub{width:100%}.scrub input{flex:1;min-width:100px}}
@media(prefers-reduced-motion:reduce){.campaign .cta,.campaign .cta::after{animation:none!important}.stage video{display:none}.campaign .poster{visibility:visible}.progress{display:none}}
