/* A quiet spatial signature. Essential content never depends on these effects. */
.mf-ambient-host{position:relative;isolation:isolate}
.mf-field{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none;contain:paint;opacity:.72;mask-image:linear-gradient(110deg,transparent 22%,#000 73%)}
.mf-field svg{position:absolute;width:88%;height:100%;right:-9%;bottom:-6%;color:#1e8acc;overflow:visible}
.mf-field-contours{stroke:currentColor;stroke-width:.65;fill:none;opacity:.125;transform-origin:60% 70%;animation:mf-contour-drift 26s ease-in-out infinite alternate;animation-play-state:paused}
.mf-field-guide{stroke:currentColor;stroke-width:.7;stroke-dasharray:1 8;fill:none;opacity:.15}
.mf-field-points{fill:#1e8acc;opacity:.17}
.mf-field-registration{stroke:#115e8a;stroke-width:1;fill:none;opacity:.18}
.mf-field-sweep{position:absolute;width:1px;height:26%;left:70%;top:52%;background:linear-gradient(transparent,#1e8acc40 48%,transparent);transform:translateX(-65px) rotate(26deg);transform-origin:center;opacity:0;animation:mf-sweep 19s ease-in-out infinite;animation-play-state:paused}
.mf-ambient-host.mf-ambient-visible.mf-motion-enabled .mf-field-contours,.mf-ambient-host.mf-ambient-visible.mf-motion-enabled .mf-field-sweep{animation-play-state:running}
.mf-ambient-host.sp-hero .mf-field{inset:0 0 40%;opacity:.65}.mf-ambient-host.sp-hero .mf-field svg{right:-3%;bottom:-15%}
.mf-ambient-host.env-hero .mf-field{opacity:.56}
@keyframes mf-contour-drift{from{transform:translate3d(-4px,3px,0)}to{transform:translate3d(4px,-3px,0)}}
@keyframes mf-sweep{0%,12%{opacity:0;transform:translateX(-65px) rotate(26deg)}30%{opacity:.55}58%{opacity:0;transform:translateX(110px) rotate(26deg)}100%{opacity:0;transform:translateX(110px) rotate(26deg)}}

/* Only below-fold editorial elements are animated, once, through the Web
   Animations API. These defaults stay fully visible before or without JS. */
.mf-entry-target{opacity:1;transform:none}
.mf-entry-target:focus-within{opacity:1}
.solution-detail .button,.page-home .button{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
@media(hover:hover) and (pointer:fine){
 .solution-detail .button:not(:disabled):hover,.page-home .button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px 15px #0a3d5c13}
 .solution-detail .text-link:hover,.page-home .text-link:hover{border-bottom-color:#1e8acc}
 .solution-detail input[type=range]::-webkit-slider-thumb{transition:transform .16s}
 .solution-detail input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.06)}
 .solution-detail input[type=range]::-moz-range-thumb{transition:transform .16s}
 .solution-detail input[type=range]:hover::-moz-range-thumb{transform:scale(1.06)}
}
.solution-detail .button:not(:disabled):active,.page-home .button:not(:disabled):active{transform:translateY(0);box-shadow:0 2px 7px #0a3d5c0d}
.solution-detail .srv-interactive-toolbar button:active,.solution-detail .srv-filter button:active,.solution-detail .sp-presets button:active,.solution-detail .env-stage-controls button:active{transform:translateY(1px)}
.solution-detail .faq details[open]>p,.solution-detail .env-faq-items details[open]>p,.solution-detail .sp-questions-list details[open]>p,.solution-detail .faq details[open]>div{animation:mf-answer-arrive .24s ease-out}
@keyframes mf-answer-arrive{from{opacity:.8;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}

.mf-document-hidden .mf-field-contours,.mf-document-hidden .mf-field-sweep,.mf-document-hidden.solution-detail .faq details[open]>p,.mf-document-hidden.solution-detail .env-faq-items details[open]>p,.mf-document-hidden.solution-detail .sp-questions-list details[open]>p,.mf-document-hidden.solution-detail .faq details[open]>div{animation-play-state:paused!important}
.motion-paused .mf-field-contours,.motion-paused .mf-field-sweep{animation:none!important;transform:none!important}.motion-paused .mf-field-sweep{opacity:0}
@media(max-width:760px){
 .mf-field{opacity:.48;mask-image:linear-gradient(180deg,transparent 8%,#000 90%)}
 .mf-field svg{width:140%;height:80%;right:-45%;bottom:-5%}
 .mf-field-contours{stroke-width:.9;opacity:.12}
 .mf-field-sweep{height:18%;left:78%;top:65%}
 .mf-ambient-host.sp-hero .mf-field{inset:0 0 45%;opacity:.4}
 .mf-ambient-host.env-hero .mf-field{opacity:.4}
}
@media(prefers-reduced-motion:reduce){
 .mf-field-contours,.mf-field-sweep,.solution-detail .faq details[open]>p,.solution-detail .env-faq-items details[open]>p,.solution-detail .sp-questions-list details[open]>p,.solution-detail .faq details[open]>div{animation:none!important;transform:none!important}
 .mf-field-sweep{opacity:0}
 .solution-detail input[type=range]::-webkit-slider-thumb{transition:none;transform:none}
 .solution-detail input[type=range]::-moz-range-thumb{transition:none;transform:none}
}
@media print{.mf-field{display:none!important}.mf-entry-target{opacity:1!important;transform:none!important;animation:none!important}}
