/* Cornerstone parallax layers: crisp brand rings and nodes behind hero, process band and footer CTA.
   Decorative only (pseudo-elements, absolute, aria-free). No opacity, no content depends on it.
   Motion comes from --cs-py (set by cs-polish.js) and only under prefers-reduced-motion:no-preference. */
main{overflow-x:clip}
.site-footer,.process-section{overflow:clip}
.page-intro,.process-section,.footer-contact{position:relative;isolation:isolate}
:is(.page-intro,.process-section,.footer-contact)::before,:is(.page-intro,.process-section,.footer-contact)::after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%;box-sizing:border-box}
/* hero rings */
.page-intro::before{width:420px;height:420px;right:-300px;top:-10px;border:1px solid #e0c28a;outline:1px solid #ebdcbc;outline-offset:44px}
.page-intro::after{width:12px;height:12px;right:96px;top:44px;background:#1cb0c3;box-shadow:0 0 0 6px var(--paper,#fafaf7),0 0 0 7px #1cb0c3}
/* navy process band */
.process-section::before{width:640px;height:640px;right:-470px;top:10%;border:1px solid #b8935a;outline:1px solid #2a4252;outline-offset:64px}
.process-section::after{width:12px;height:12px;right:100px;top:calc(10% + 60px);background:#1cb0c3;box-shadow:0 0 0 6px var(--navy,#0d1b28),0 0 0 7px #1cb0c3}
/* footer CTA */
.footer-contact::before{width:620px;height:620px;right:-260px;top:-150px;border:1px solid #b8935a;outline:1px solid #2a4252;outline-offset:56px}
.footer-contact::after{width:10px;height:10px;right:330px;top:40px;background:#e0c28a;box-shadow:0 0 0 6px var(--navy,#0d1b28),0 0 0 7px #e0c28a}
@media(max-width:760px){
 .page-intro::before{width:240px;height:240px;right:-170px;top:-24px;outline-offset:26px}
 .page-intro::after{display:none}
 .process-section::before{width:360px;height:360px;right:-270px;top:3%;outline-offset:34px}
 .process-section::after{right:40px;top:calc(3% + 40px)}
 .footer-contact::before{width:340px;height:340px;right:-250px;top:-90px;outline-offset:32px}
 .footer-contact::after{right:60px;top:24px}
}
@media(prefers-reduced-motion:no-preference){
 :is(.page-intro,.process-section,.footer-contact)::before{transform:translate3d(0,calc(var(--cs-py,0) * -150px),0)}
 :is(.page-intro,.process-section,.footer-contact)::after{transform:translate3d(0,calc(var(--cs-py,0) * 110px),0)}
}
@media(forced-colors:active){:is(.page-intro,.process-section,.footer-contact)::before,:is(.page-intro,.process-section,.footer-contact)::after{display:none}}
