/* Kinetic editorial details; all text stays visible without JavaScript. */
.rise-motion-enhanced .site-header::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:3px;background:linear-gradient(90deg,#0878e8,#58c8f4);transform:scaleX(var(--rise-scroll-progress,0));transform-origin:left;pointer-events:none}
.home-page .overview-section,.home-page .about-section,.home-page .flow-section{position:relative;isolation:isolate;overflow:clip}
.home-page .overview-section::before{content:"";position:absolute;width:min(70vw,850px);aspect-ratio:1;right:-32%;top:-20%;border:1px solid #0878e81c;border-radius:50%;box-shadow:0 0 0 65px #0878e806,0 0 0 130px #0878e804;z-index:-1;pointer-events:none}
.home-page .about-section::before{content:"RISE";position:absolute;right:-.035em;top:-.035em;font:900 clamp(160px,25vw,400px)/1 Arial,sans-serif;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px #0878e814;z-index:-1;pointer-events:none;white-space:nowrap}
.home-page .about-section::after{content:"";position:absolute;width:470px;aspect-ratio:1;left:-340px;bottom:30px;border:1px solid #0878e81a;border-radius:50%;box-shadow:0 0 0 45px #0878e806;z-index:-1;pointer-events:none}
.home-page .flow-section::before{content:"NEXT";position:absolute;left:-.015em;top:20px;font:900 clamp(150px,25vw,390px)/1 Arial,sans-serif;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px #0878e813;z-index:-1;pointer-events:none}
.home-page .section-heading h2{position:relative}
.rise-motion-enhanced .section-heading h2::after{width:62px;transform-origin:left center}
.rise-motion-enhanced .motion-inview .section-heading h2::after{animation:rise-rule-in 1.1s cubic-bezier(.16,1,.3,1) both}
.rise-motion-enhanced .about-section::before{animation:rise-outline-drift 18s ease-in-out infinite alternate}
.rise-motion-enhanced .overview-section::before{animation:rise-orbit-drift 16s ease-in-out infinite alternate}
.rise-motion-enhanced .about-section::after{animation:rise-orbit-drift 13s ease-in-out infinite alternate-reverse}
.rise-motion-enhanced .flow-section::before{animation:rise-outline-drift 21s ease-in-out infinite alternate-reverse}
.rise-motion-enhanced .about-photo img{transition:scale .9s cubic-bezier(.16,1,.3,1),filter .9s;scale:1.015}
.rise-motion-enhanced .about-card:hover .about-photo img{scale:1.07}
.rise-motion-enhanced [data-rise-tilt]{transform:perspective(1000px) rotateX(var(--rise-tilt-x,0deg)) rotateY(var(--rise-tilt-y,0deg));transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .35s;transform-style:preserve-3d}
.rise-motion-enhanced .about-card:hover,.rise-motion-enhanced .compact-profile:hover{box-shadow:0 20px 55px #062a5517}
.rise-motion-enhanced .compact-portrait{outline:1px solid #0878e822;outline-offset:5px}
.rise-motion-enhanced .flow-photo img{height:100%;object-fit:cover;transform:translateY(var(--rise-photo-shift,0px)) scale(1.09);transform-origin:center;will-change:transform}
.rise-motion-enhanced .flow-connector path{stroke:#379be3;stroke-width:2;stroke-dasharray:4 10;animation:rise-path-travel 2.8s linear infinite}
.rise-motion-enhanced .flow-node span{position:relative;isolation:isolate;transition:box-shadow .35s,scale .35s}
.rise-motion-enhanced .flow-node span::before{content:"";position:absolute;inset:-11px;border:1px solid #0878e850;border-radius:50%;pointer-events:none;animation:rise-node-wave 4s ease-out infinite;animation-delay:var(--rise-step-delay,0s)}
.rise-motion-enhanced .flow-step:nth-child(2){--rise-step-delay:.6s}
.rise-motion-enhanced .flow-step:nth-child(3){--rise-step-delay:1.2s}
.rise-motion-enhanced .flow-step:nth-child(4){--rise-step-delay:1.8s}
.rise-motion-enhanced .flow-step:hover .flow-node span{scale:1.1;box-shadow:0 0 0 8px #0878e815}
.rise-motion-enhanced .flow-example{transition:border-color .3s,color .3s}
.rise-motion-enhanced .flow-step:hover .flow-example{border-color:#3998e0;color:#1c6fac}
.rise-motion-enhanced .button{overflow:hidden;isolation:isolate}
.rise-motion-enhanced .button::before{content:"";position:absolute;inset:-70% auto -70% -60%;width:35%;background:linear-gradient(90deg,transparent,#ffffff38,transparent);transform:skewX(-22deg) translateX(-120%);pointer-events:none;z-index:-1}
.rise-motion-enhanced .button:hover::before{animation:rise-button-sheen .8s ease-out}
.rise-motion-enhanced .button:hover svg{translate:7px 0}
.rise-motion-enhanced .consultation-panel{transition:box-shadow .7s}
.rise-motion-enhanced .consultation-panel::before{animation:rise-contact-orbit 16s ease-in-out infinite alternate}
.rise-motion-enhanced .consultation-panel::after{animation:rise-contact-rule 4s ease-in-out infinite alternate;transform-origin:left}
.rise-motion-enhanced .consultation-actions>.button{transition:box-shadow .3s,translate .3s,background .3s}
.rise-motion-enhanced .consultation-actions>.button:hover{translate:0 -3px;box-shadow:0 12px 30px #0003}
.rise-motion-enhanced .consultation-kicker::before{animation:rise-kicker-pulse 2.8s ease-in-out infinite}
.rise-motion-enhanced .hero-skip-link{animation:rise-skip-bob 2.8s ease-in-out infinite}

/* Decorative loops only run inside visible sections and while motion is on. */
.rise-motion-enhanced [data-motion-section]:not(.motion-inview)::before,
.rise-motion-enhanced [data-motion-section]:not(.motion-inview)::after,
.rise-motion-enhanced [data-motion-section]:not(.motion-inview) *,
.rise-motion-enhanced [data-motion-section]:not(.motion-inview) *::before,
.rise-motion-enhanced [data-motion-section]:not(.motion-inview) *::after,
.rise-motion-enhanced[data-motion-layer="paused"] *,
.rise-motion-enhanced[data-motion-layer="paused"] *::before,
.rise-motion-enhanced[data-motion-layer="paused"] *::after{animation-play-state:paused!important}
html[data-motion="off"] .rise-motion-enhanced [data-rise-tilt],html.rise-editing .rise-motion-enhanced [data-rise-tilt]{transform:none!important}
html[data-motion="off"] .rise-motion-enhanced .flow-photo img,html.rise-editing .rise-motion-enhanced .flow-photo img{transform:none;will-change:auto}
html.rise-editing .rise-motion-enhanced .section-heading h2::after{animation:none}
@media(hover:none){.rise-motion-enhanced [data-rise-tilt]{transform:none}.rise-motion-enhanced .about-card:hover .about-photo img{scale:1.015}}
@media(max-width:767px){.home-page .overview-section::before{width:470px;right:-390px;top:20px;box-shadow:0 0 0 42px #0878e806}.home-page .about-section::before{top:10px;font-size:170px}.home-page .flow-section::before{top:15px;font-size:160px}.rise-motion-enhanced .flow-photo img{transform:translateY(calc(var(--rise-photo-shift,0px) * .5)) scale(1.09)}.rise-motion-enhanced .flow-node span::before{inset:-8px}.rise-motion-enhanced .section-heading h2::after{width:46px}}
@media(prefers-reduced-motion:reduce){.rise-motion-enhanced *, .rise-motion-enhanced *::before,.rise-motion-enhanced *::after{animation:none!important;transition:none!important}.rise-motion-enhanced [data-rise-tilt],.rise-motion-enhanced .flow-photo img{transform:none!important;will-change:auto}.rise-motion-enhanced .about-photo img{scale:1}}

@keyframes rise-rule-in{from{scale:.08 1;opacity:0}to{scale:1 1;opacity:1}}
@keyframes rise-outline-drift{from{transform:translateX(1.5%)}to{transform:translateX(-5%)}}
@keyframes rise-orbit-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-24px,22px,0) scale(1.06)}}
@keyframes rise-path-travel{to{stroke-dashoffset:-56}}
@keyframes rise-node-wave{0%,15%{scale:.75;opacity:0}30%{opacity:.6}70%,100%{scale:1.5;opacity:0}}
@keyframes rise-button-sheen{from{left:-60%;transform:skewX(-22deg) translateX(-120%)}to{left:160%;transform:skewX(-22deg) translateX(0)}}
@keyframes rise-contact-orbit{from{transform:translate(0,0) scale(.94)}to{transform:translate(-30px,32px) scale(1.12)}}
@keyframes rise-contact-rule{from{scale:1 1}to{scale:1.65 1}}
@keyframes rise-kicker-pulse{0%,100%{box-shadow:0 0 0 0 #5caaf000}50%{box-shadow:0 0 0 5px #5caaf01c}}
@keyframes rise-skip-bob{0%,100%{translate:0 0}50%{translate:0 5px}}
