/* Quiet, decorative motion behind the content across every section. */
.story-section,.modules-section,.why-section,.about-section,.contact-section,body>footer,.login-story,.login-form-side{position:relative;isolation:isolate;overflow:hidden}
.story-section:before,.modules-section:before,.why-section:before,.about-section:before,.contact-section:before,body>footer:before,.login-story:before,.login-form-side:before{content:"";position:absolute;inset:-70px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 25%,#1a5ce019,transparent 42%),radial-gradient(ellipse at 85% 70%,#00c7a31a,transparent 40%),linear-gradient(90deg,transparent 49.7%,#398fba0b 50%,transparent 50.3%);background-size:auto,auto,90px 90px;animation:section-drift 20s ease-in-out infinite alternate}
.modules-section:before,.contact-section:before,.login-form-side:before{animation-delay:-9s}
.why-section:before,.login-story:before{background:radial-gradient(ellipse at 20% 35%,#2375d52b,transparent 50%),radial-gradient(ellipse at 85% 60%,#00c7a328,transparent 48%);animation-delay:-5s}
@keyframes section-drift{from{transform:translate3d(-10px,-8px,0)}to{transform:translate3d(10px,8px,0)}}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important}
[data-edit],.modules-grid h3,.modules-grid h3+p{white-space:pre-wrap;overflow-wrap:anywhere}
.edit-grid textarea,.insight-grid-edit textarea{width:100%;min-height:88px;padding:11px;border:1px solid #dde3f0;border-radius:7px;font:13px 'DM Sans',sans-serif;resize:vertical}
.login-motion-toggle{position:fixed;bottom:16px;right:18px;z-index:10;border:1px solid #afbdd0;border-radius:20px;padding:8px 13px;background:#f7f9fc;color:#35516f;cursor:pointer;font-size:11px}
@media(prefers-reduced-motion:reduce){body *,body *:before,body *:after{animation:none!important;transition:none!important}.login-motion-toggle{display:none}}

/* Limit the animated paint area and avoid continuous blur during scroll. */
.story-section:before,.modules-section:before,.why-section:before,.about-section:before,.contact-section:before,body>footer:before,.login-story:before,.login-form-side:before{inset:0 auto auto 0;width:100%;height:min(560px,100%);animation-duration:28s;contain:paint}
#mainNav{background:#fcfdff;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:#11243b}
.reveal{transform:translateY(10px);transition:opacity .35s ease-out,transform .35s ease-out}
.floating-contact{transition:background-color .18s ease,transform .18s ease}
.floating-contact:hover{transform:translateY(-2px)}
.motion-offscreen:before,.motion-offscreen:after,.motion-offscreen *,body.motion-inactive *,body.motion-inactive *:before,body.motion-inactive *:after{animation-play-state:paused!important}
@media(hover:none){.module-card:hover,.floating-contact:hover,.btn-primary:hover{transform:none}}
@media(max-width:800px){.story-section:before,.modules-section:before,.why-section:before,.about-section:before,.contact-section:before,body>footer:before{animation-name:mobile-glow;animation-duration:12s}.hero-glow2{animation:none}.hero-grid-bg{opacity:.65}}
@keyframes mobile-glow{from{opacity:.5}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.reveal{transform:none;transition:none}body *,body *:before,body *:after{animation:none!important}}
