/* RADAR v4.5 — performance layer. Loaded last; overrides only.
   All tiers: remove continuous effects that repaint every frame (animated blur, box-shadow loops,
   blurred canvas copies, filter-on-scroll, backdrop-filter on large panels).
   .lean (phones / low-end / measured < 40 fps): static 3D frames + no decorative loops.
   .lite (save-data / very weak): no WebGL, no reveal transforms on long lists. */

/* ---------- all tiers ---------- */
.sph-blur{animation:none!important}
.waves-blur,.rdr-cv-blur{display:none!important}
.hero-sphere:before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(closest-side,rgba(112,112,172,.16),rgba(107,170,189,.06) 60%,transparent);pointer-events:none}
.live .hero-in{filter:none!important}
.js .sec-blur{filter:none!important;transition:opacity .25s linear}
.js .stmt .w{filter:none!important}
.js .fx.fx-out{filter:none!important}
.media img{animation:none!important}
.btn-ghost{animation:none!important}
.leaving main,.leaving .nav{filter:none!important;opacity:.35;transition:opacity .4s cubic-bezier(.22,1,.36,1)}
.chapter,.bform{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(19,20,27,.9)!important}
.pill,.svx-ico{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* reveal blur is the heaviest part of every reveal: keep a light 4px only on desktop headings, none elsewhere */
.js .reveal,.js .m:not(.ico):not(.rule),.media img.xf,.js .k.scan-in,.js .eyebrow,.js .phero .ph-k,.js .phero .ph-p,.js .phero .ph-acts,.js .phero .crumbs,.js .phero .nf-links{filter:none!important}
.js .split .wd>span{filter:blur(4px)}
.js .split.in .wd>span{filter:none}
/* page heroes: faster headline so the largest paint lands sooner */
.js .hero .display .ln>span,.js .phero .display .ln>span{filter:none!important;transition-duration:.75s!important;transition-delay:0s!important}
/* decorative loops only run while their section is on screen */
.rdr:not(.fx-in) .rdr-sph .layer,.rdr.fx-out .rdr-sph .layer{animation-play-state:paused!important}
.rdr-core:after{filter:none!important;background:radial-gradient(closest-side,rgba(112,112,172,.16),transparent 70%)}

/* ---------- lean ---------- */
.lean .aura{display:none!important}
.lean .scan-dot:after,.lean .mq-track,.lean .contact-sphere svg,.lean .map-radar i,.lean .ap-ico,.lean .tags li.m.m-in,
.lean .rdr-sph .layer,.lean .soon-dot:after,.lean .ph-line i,.lean .dl-ico,.lean .v-ico{animation:none!important}
.lean .split .wd>span{filter:none!important}
.lean .nav.scrolled,.lean .sticky{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(11,12,17,.94)!important}
.lean .cur{display:none!important}
.lean .work-art{opacity:.32}

/* ---------- lite ---------- */
.lite .mnav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.lite .ap li.reveal{transform:translate3d(0,24px,0)!important}
.lite .ap li.reveal.in{transform:none!important}

/* inner-page hero glow: the gradient is already soft — the blur filter only cost frames */
.ph-glow{filter:none!important}
.lean .ph-glow{animation:none!important}

/* lean: no intro loader, hero copy is on screen at first paint (largest paint = the headline) */
.lean .loader{display:none!important}
.lean.js .eyebrow,.lean.js .hero-row,.lean.js .coords{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
.lean.js .hero-sub span,.lean.js .hero .display .ln>span,.lean.js .phero .display .ln>span{transform:none!important;transition:none!important}
.lean.js .phero .ph-k,.lean.js .phero .ph-p,.lean.js .phero .ph-acts,.lean.js .phero .crumbs,.lean.js .phero .nf-links{opacity:1!important;translate:0 0!important;transition:none!important}

/* fewer compositor layers: words drop their layer once revealed; on lean no glass pills, no 3D card stacks */
.js .split.in .wd>span{will-change:auto}
.lean .rdr-pill,.lean .ch-ico,.lean .work-badge,.lean .cur{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:rgba(19,20,27,.82)}
.lean .work,.lean .work .depth,.lean .work-frame{transform:none!important;will-change:auto!important;transform-style:flat!important}
