.dv-cta{position:relative;overflow:hidden;padding:var(--sec-lg) 0 var(--s-40);background:#000;color:#f5f5f7;text-align:center}
.dv-cta > .wrap{position:relative}

.ct-glow{--h:clamp(150px,30%,240px);--d:max(2400px,260vw);position:absolute;inset:0;pointer-events:none}
.ct-glow i{position:absolute;left:50%;translate:-50% 0}
.ct-sky{bottom:calc(var(--h) - 260px);width:max(1600px,160vw);height:620px;border-radius:50%;transform-origin:50% 50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--neu) 62%,transparent),color-mix(in srgb,var(--neu) 26%,transparent) 42%,color-mix(in srgb,var(--neu) 8%,transparent) 68%,transparent)}
.ct-planet,.ct-rim{top:calc(100% - var(--h));width:var(--d);aspect-ratio:1;border-radius:50%}
.ct-planet{background:#000}
.ct-rim{background:radial-gradient(closest-side,transparent calc(100% - 3px),color-mix(in srgb,#fff 55%,var(--neu)) calc(100% - 1.2px),transparent 100%)}
.ct-halo{top:calc(100% - var(--h) - 44px);width:calc(var(--d) + 88px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(closest-side,transparent calc(100% - 45px),var(--neu) calc(100% - 44px),color-mix(in srgb,var(--neu) 45%,transparent) calc(100% - 30px),transparent 100%)}
.ct-glow .ct-flare{top:calc(100% - var(--h));width:min(760px,120vw);height:150px;translate:-50% -50%;border-radius:50%;opacity:.45;
  background:radial-gradient(closest-side,color-mix(in srgb,#fff 70%,var(--neu)),color-mix(in srgb,var(--neu) 70%,transparent) 30%,transparent)}

html.js-rv .ct-glow.rv{transform:none;transition:opacity .4s var(--ease)}
html.js-rv .ct-glow.rv:not(.in) :is(.ct-planet,.ct-rim,.ct-halo){transform:translateY(200px)}
html.js-rv .ct-glow.rv:not(.in) .ct-sky{opacity:0;transform:scale(.25,.5)}
html.js-rv .ct-glow.rv:not(.in) .ct-flare{opacity:0}
html.js-rv .ct-glow.rv :is(.ct-rim,.ct-halo){-webkit-mask:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent) 50% 0 / 300% 100% no-repeat;
  mask:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent) 50% 0 / 300% 100% no-repeat}
html.js-rv .ct-glow.rv:not(.in) :is(.ct-rim,.ct-halo){-webkit-mask-size:0% 100%;mask-size:0% 100%}
html.js-rv .ct-glow.rv.in :is(.ct-planet,.ct-rim,.ct-halo){transition:transform 1.1s cubic-bezier(.2,.8,.2,1),-webkit-mask-size 1.6s cubic-bezier(.3,.7,.2,1) .85s,mask-size 1.6s cubic-bezier(.3,.7,.2,1) .85s}
html.js-rv .ct-glow.rv.in .ct-sky{transition:opacity 1.4s var(--ease) .8s,transform 1.8s cubic-bezier(.2,.8,.2,1) .8s}
html.js-rv .ct-glow.rv.in .ct-flare{animation:ct-flare 1.8s cubic-bezier(.2,.7,.3,1) .7s both}
@keyframes ct-flare{0%{opacity:0;scale:.15 .4}25%{opacity:1;scale:.6 1.1}100%{opacity:.45;scale:1 1}}

.ct-h{color:#f5f5f7}
.ct-h span{color:var(--neu)}
.dv-cta .dv-l{max-width:640px;color:#a1a1a6}
.ct-pts{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-12) var(--s-32);margin:var(--s-32) 0 0;padding:0;list-style:none}
.ct-pts li{display:flex;align-items:center;gap:8px;font:var(--text-body);letter-spacing:var(--track-body);color:#f5f5f7}
.ct-pts svg{flex:none;width:20px;height:20px;color:var(--neu)}
.ct-act{margin-top:var(--s-40)}
.dv-coop{margin:calc(var(--s-64) * 2) auto 0;font:var(--text-footnote);letter-spacing:var(--track-footnote);color:#86868b}
.dv-coop a{position:relative;color:#d2d2d7;transition:color var(--dur-fast) var(--ease)}
.dv-coop a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:rgba(245,245,247,.6);transform:scaleY(.5);transform-origin:50% 100%;opacity:0;transition:opacity var(--dur-fast) var(--ease)}
@media (hover:hover){.dv-coop a:hover{color:#f5f5f7}.dv-coop a:hover::after{opacity:1}}

@media (max-width:734px){
  .ct-glow{--h:150px}
  .ct-sky{height:420px;bottom:calc(var(--h) - 180px)}
  .ct-pts{flex-direction:column;align-items:center;gap:var(--s-8)}
  .dv-coop{margin-top:var(--s-80,80px)}
}
@media (prefers-reduced-motion:reduce){
  html.js-rv .ct-glow.rv:not(.in) :is(.ct-planet,.ct-rim,.ct-halo,.ct-sky){transform:none}
  html.js-rv .ct-glow.rv:not(.in) :is(.ct-rim,.ct-halo){-webkit-mask-size:300% 100%;mask-size:300% 100%}
  html.js-rv .ct-glow.rv:not(.in) .ct-sky{opacity:1}
  html.js-rv .ct-glow.rv:not(.in) .ct-flare{opacity:.45}
  html.js-rv .ct-glow.rv.in .ct-flare{animation:none}
}
