/* One atmosphere across the site: the approved footer palette and cloud asset. */
:root{--sky-top:#d9effd;--sky-mid:#c4e4fa;--sky-bottom:#b6dcf6;--brand-sky:linear-gradient(180deg,var(--sky-top),var(--sky-mid) 75%,var(--sky-bottom));--brand-cloud-filter:brightness(2.3) saturate(0)}
.brand-atmosphere{position:absolute;inset:0;z-index:-4;overflow:hidden;border-radius:inherit;pointer-events:none;background:var(--brand-sky);isolation:isolate}
.brand-cloud{position:absolute;max-width:none;height:auto;filter:var(--brand-cloud-filter);opacity:1;pointer-events:none}
.brand-cloud-back{width:90%;right:-25%;top:-55%}
.brand-cloud-front{width:98%;left:-30%;bottom:-108%}
body .sky{background:transparent;isolation:isolate;mask-image:linear-gradient(#000 60%,transparent 100%)}
body .sky-base,body .sky .cloud-flight{display:none}
body .sky>.brand-atmosphere{z-index:0}
body .sky .brand-cloud-back{width:1050px;right:-300px;top:-310px}
body .sky .brand-cloud-front{width:1150px;left:-420px;top:160px;bottom:auto}
body.leads-page .sky{height:1100px;mask-image:linear-gradient(#000 65%,transparent)}
body.leads-page .sky .brand-cloud-back{right:-190px;top:-250px}
body.leads-page .sky .brand-cloud-front{left:-310px;top:100px}
body :is(.final-cta,.cp-final,.leads-final){background:transparent}
body .campaign-final>.brand-atmosphere,body .cp-final>.brand-atmosphere{position:absolute;inset:0;max-width:none;margin:0;z-index:-4}
body :is(.cp-target-stage,.cp-spar-moment,.strategy-aura){background:transparent}
body .module-visual:before,body .research-scene:before,body .personal-stage:before,body .control-scene:before,body .conversation-section:before{background:none}
.module-visual{isolation:isolate}
.research-scene>.brand-atmosphere{inset:80px -35px 120px;border-radius:50% 50% 30px 30px;transform:rotate(-7deg)}
.personal-stage>.brand-atmosphere{inset:45px -20px 35px 10px;border-radius:100px 30px 80px 30px}
.control-scene>.brand-atmosphere{inset:0 -15px 50px 35px;border-radius:100px 30px 100px 30px}
.conversation-section>.brand-atmosphere{inset:170px 0 0;border-radius:120px 40px 80px 40px;mask-image:linear-gradient(transparent,#000 30%)}
/* Small scenes keep the same cloud shapes, cropped to their own composition. */
:is(.cp-target-stage,.research-scene,.personal-stage,.control-scene)>.brand-atmosphere .brand-cloud-back{width:155%;right:-85%;top:-38%}
:is(.cp-target-stage,.research-scene,.personal-stage,.control-scene)>.brand-atmosphere .brand-cloud-front{width:170%;left:-85%;bottom:-55%}
.strategy-aura .brand-cloud-back{top:-95%}.strategy-aura .brand-cloud-front{bottom:-155%}
body .sequence-workspace:before{background:var(--brand-sky)}
@media(max-width:800px){
 body .sky .brand-cloud-back{width:760px;right:-440px;top:-160px}
 body .sky .brand-cloud-front{width:800px;left:-490px;top:350px}
 body.leads-page .sky .brand-cloud-back{right:-390px;top:-140px}
 body.leads-page .sky .brand-cloud-front{left:-430px;top:330px}
 .brand-cloud-back{width:850px;right:-490px;top:-240px}
 .brand-cloud-front{width:950px;left:-550px;bottom:-420px}
 .research-scene>.brand-atmosphere{inset:75px -10px 120px}
 .personal-stage>.brand-atmosphere{inset:50px -8px 40px}
 .control-scene>.brand-atmosphere{inset:0 -8px 45px 8px}
 .conversation-section>.brand-atmosphere{border-radius:70px 25px 60px 25px}
 .strategy-aura .brand-cloud-back{width:100%;right:-25%;top:-55%}
 .strategy-aura .brand-cloud-front{width:130%;left:-45%;bottom:-65%}
}
/* Keep white CTA lettering clear of the white cloud centres. */
body :is(.final-cta,.cp-final,.leads-final)>.brand-atmosphere .brand-cloud-back{right:-55%;top:-105%}
body :is(.final-cta,.cp-final,.leads-final)>.brand-atmosphere .brand-cloud-front{left:-45%;bottom:-125%}
@media(max-width:800px){body :is(.final-cta,.cp-final,.leads-final)>.brand-atmosphere .brand-cloud-back{width:750px;right:-600px;top:-300px}body :is(.final-cta,.cp-final,.leads-final)>.brand-atmosphere .brand-cloud-front{width:750px;left:-530px;bottom:-400px}}
@media(min-width:801px){body.leads-page .sky .brand-cloud-back{right:-450px;top:-250px}body.leads-page .sky .brand-cloud-front{left:-650px;top:100px}}
