/* Shared colour system: crisp blue with restrained orange. */
.hero-actions .btn:not(.primary){color:var(--site-blue)}
.hero-actions .btn:not(.primary):hover,.hero-actions .btn:not(.primary):focus-visible{color:var(--site-orange);border-color:var(--site-orange)}
.feature-index,.process-step>span,.fit-list>div>span,.error-code{color:var(--site-orange)}
.related-card>span{color:var(--site-blue)}
.related-card>b,.side-card a,.policy-section a,.content article a:not(.btn),.contact-card a:not(.btn),.nav-phone{color:var(--site-blue)}
.related-card:hover>b,.related-card:focus-visible>b,.side-card a:hover,.side-card a:focus-visible,.policy-section a:hover,.policy-section a:focus-visible,.content article a:not(.btn):hover,.content article a:not(.btn):focus-visible,.contact-card a:not(.btn):hover,.contact-card a:not(.btn):focus-visible,.nav-phone:hover,.nav-phone:focus-visible{color:var(--site-orange)}
.policy-section a,.content article a:not(.btn){text-decoration:underline;text-underline-offset:4px}
.process-step{background:#f7f9fc;border:1px solid #dfe6ef;border-radius:10px;padding:28px}
.process-step>span{margin-bottom:28px}
.process-step h3{font-size:2rem}
.feature-tile,.related-card,.side-card,.contact-card{border-color:#dce3ec}
.side-card{background:linear-gradient(145deg,#fff,#f0f4fa)}
.related-card{background:#fff}
@media(max-width:680px){.process-step{padding:24px}}
body{--site-blue:#2459a6;--site-orange:#b34913;--muted:#57616c}
.eyebrow,.cta-box .eyebrow.light,.community-section .eyebrow,.mega-kicker{color:var(--site-blue)}
.hero-panel{background:linear-gradient(145deg,#fff,#f0f4fa);border-color:#dde5ef}
.mega{background:#fff}
.section.soft,.security-band,.cta-box{background:radial-gradient(ellipse at 100% 0%,#e5edf8 0%,transparent 65%),linear-gradient(135deg,#f7f8fa,#edf0f3)}
.community-section .card{background:#fff;border-color:#dce3ec}
.card-number,.principle .num,.solution>span,.community-section .card-number{color:var(--site-orange)}
.text-link,.security-grid .text-link,.mega-foot a,.footer a,.card>span,.solution h3{color:var(--site-blue)}
.text-link:hover,.text-link:focus-visible,.security-grid .text-link:hover,.security-grid .text-link:focus-visible,.mega-foot a:hover,.mega-foot a:focus-visible,.footer a:hover,.footer a:focus-visible,.card:hover>span,.card:focus-visible>span,.solution:hover h3,.solution:focus-visible h3{color:var(--site-orange)}
.text-link:hover,.text-link:focus-visible,.footer a:hover,.footer a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.btn.quiet,.cta-box .btn.secondary,.nav-actions .btn:not(.primary){color:var(--site-blue)}
.btn.quiet:hover,.btn.quiet:focus-visible,.cta-box .btn.secondary:hover,.cta-box .btn.secondary:focus-visible,.nav-actions .btn:not(.primary):hover,.nav-actions .btn:not(.primary):focus-visible{color:var(--site-orange);border-color:var(--site-orange)}
.mega-card strong{color:var(--site-blue)}
.mega-card:hover strong,.mega-card:focus-visible strong,.nav-link:hover{color:var(--site-orange)}

/* Quiet connection graphics; content remains above the decorative layer. */
.hero,.page-hero,.service-hero,.security-band,.cta-box{position:relative;isolation:isolate}
.hero::before,.page-hero::before,.service-hero::before,.security-band::before,.cta-box::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("../images/connection-lines.svg") right top / min(72vw,1000px) auto no-repeat}
.hero::before,.page-hero::before,.service-hero::before{background-image:url("../images/connection-lines.svg"),radial-gradient(ellipse at 90% 25%,rgba(36,89,166,.065),transparent 60%);background-size:min(72vw,1000px) auto,100% 100%;mask-image:linear-gradient(90deg,transparent 20%,#000 70%)}
.security-band::before{opacity:.65;background-position:right center}
.cta-box::before{opacity:.6;border-radius:inherit;background-size:650px auto}
.status-dot{position:relative;flex-shrink:0;background:#279b47;box-shadow:0 0 0 4px rgba(52,199,89,.09)}
.status-dot::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#57e879;box-shadow:0 0 7px 2px rgba(52,199,89,.6),0 0 18px 6px rgba(52,199,89,.2);opacity:.2;animation:power-light 4.8s ease-in-out infinite;pointer-events:none}
@keyframes power-light{0%,100%{opacity:.2}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.status-dot::after{animation:none;opacity:.55}}
@media(max-width:680px){.hero::before,.page-hero::before,.service-hero::before{background-size:650px auto,100% 100%;opacity:.65}.security-band::before,.cta-box::before{opacity:.35}}
