.campaign-theme{--brand-ink:var(--brand);--twinkle-speed:4s;--start-phase:0.20}.campaign-hero{height:clamp(60px,12.5vw,130px);margin:0;overflow:hidden;position:relative;width:min(100%,1296px)}.campaign-hero__inner{inset:0;padding-top:6px;position:absolute;z-index:2}.campaign-title{text-wrap:balance;color:var(--brand-ink);font-size:clamp(26px,3.2vw,46px);font-weight:800;letter-spacing:.02em;line-height:1.1;margin:0;max-width:100%}.campaign-date{bottom:0;color:#000000d1;filter:drop-shadow(0 0 4px rgba(255,255,255,.6));font-size:clamp(12px,1.5vw,19px);font-weight:600;position:absolute;right:5px;white-space:nowrap;z-index:2}.campaign-hero__stage{aspect-ratio:1296/162;bottom:0;left:0;pointer-events:none;position:absolute;right:0;width:100%;z-index:1}.campaign-hero__layer{animation:crossfade var(--twinkle-speed) linear infinite both;background:var(--brand);inset:0;-webkit-mask-mode:luminance;mask-mode:luminance;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;opacity:0;position:absolute}.campaign-hero__layer.layer-a{animation-delay:calc(var(--twinkle-speed)*-1*var(--start-phase));-webkit-mask-image:url(../assets/img/wave-mask-a.png);mask-image:url(../assets/img/wave-mask-a.png)}.campaign-hero__layer.layer-b{animation-delay:calc(var(--twinkle-speed)*-1*(var(--start-phase) + .33333));-webkit-mask-image:url(../assets/img/wave-mask-b.png);mask-image:url(../assets/img/wave-mask-b.png)}.campaign-hero__layer.layer-c{animation-delay:calc(var(--twinkle-speed)*-1*(var(--start-phase) + .66667));-webkit-mask-image:url(../assets/img/wave-mask-c.png);mask-image:url(../assets/img/wave-mask-c.png)}@keyframes crossfade{0%{opacity:0}50%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.campaign-hero__layer{animation:none;opacity:1}}.campaign-badge{background:var(--brand-ink);border-radius:4px;color:#fff;font-size:clamp(10px,1.1vw,14px);font-weight:700;letter-spacing:.06em;line-height:1.1;padding:6px 8px 4px;position:absolute;right:0;top:7px;z-index:3}:root{--header-h:64px;--hero-gap:4px;--page-bg:#fff}.campaign-hero-pin{background:var(--page-bg);padding-top:var(--hero-gap);position:sticky;top:var(--header-h);z-index:10}.campaign-hero-pin:before{background:var(--page-bg);content:"";height:calc(var(--hero-gap) + 1px);left:0;pointer-events:none;position:absolute;right:0;top:calc((var(--hero-gap) + 1px)*-1)}
