/* Service choices stay steady and easy to reach beside the animated story. */
html{scroll-padding-top:100px}
[hidden]{display:none!important}
#faqSec{scroll-margin-top:0}
.hd{width:min(940px,calc(100% - 48px));height:60px;padding:8px 12px}
.hd-logo{height:30px;gap:8px}
.hd-logo span,.hd-nav,.hd-mail{font-size:14px}
.hd-nav{gap:24px;margin-inline:20px}
.hd-right{gap:12px}
.hd-nav a{min-height:44px;display:inline-flex;align-items:center}
.hd:focus-within{transform:translateX(-50%)}
.explore-services{position:absolute;right:0;top:6.4vw;min-height:44px;display:inline-flex;align-items:center;gap:16px;color:#fff;text-decoration:none;font-size:clamp(14px,1.111vw,18px);pointer-events:auto;border-bottom:1px solid #ffffff50;transition:border-color .2s,color .2s}
.explore-services:hover{color:var(--signal);border-color:var(--signal)}
.acc{width:min(780px,72vw)}
.acc-q{padding:22px 16px;gap:16px}
.acc-x{width:18px;height:18px;transition:transform .24s ease}
.acc-item.open{background:#f5f6f4}
.acc-p{transition:height .26s cubic-bezier(.2,.7,.3,1),opacity .18s ease}
.acc-pi{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:0 16px 26px 56px}
.acc-pi p{width:auto;font-size:16px;line-height:1.65;max-width:48ch}
.acc-action{display:flex;flex-direction:column;align-items:flex-start;gap:9px;max-width:240px}
.acc-link{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;margin:0;padding:12px 17px;background:#170a2b;border:1px solid #170a2b;border-radius:6px;color:#fff;font-size:14px;line-height:1.4;text-decoration:none;transition:background .18s,color .18s}
.acc-link::after{content:'↗';font-size:18px;line-height:1}
.acc-link:hover{opacity:1;background:#2c1944;color:#fff}
.acc-link:focus-visible{outline-color:#170a2b;outline-offset:3px}
.acc-action .acc-note{font:400 11px/1.5 'General Sans',sans-serif;color:#555;margin:0}
.split .wi,.split .ch{will-change:auto}
#loader{transition:opacity .32s ease}
#loader.out{transform:none}
/* The readable document also works without WebGL, scripts, or motion. */
html:not(.js) #gl,html:not(.js) #galOvl,html:not(.js) #brainOvl{display:none}
html:not(.js) #heroOvl{display:block!important;position:relative!important;padding:130px 6vw 70px!important;max-width:1100px;margin:auto}
html:not(.js) #heroH1{font-size:clamp(42px,6vw,80px);line-height:1.05;margin-bottom:28px;max-width:850px!important}
html:not(.js) .hx-bottom{display:flex!important;flex-direction:column;gap:20px;max-width:700px}
html:not(.js) .hx-support{font-size:18px;line-height:1.6}
html:not(.js) .explore-services{position:static;align-self:flex-start}
html:not(.js) .hero-tags{display:none}
html:not(.js) .hx-cta{align-self:flex-start}
html:not(.js) [data-rv]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
html:not(.js) .split .ch,html:not(.js) .split .wi{opacity:1!important;transform:none!important}
html:not(.js):not(.services-interactive) .acc-p{height:auto!important;opacity:1!important}
html:not(.js):not(.services-interactive) .acc-x{display:none}
@media(max-width:1023.98px){
  .hd{width:calc(100% - 32px);top:16px;height:56px;padding:8px 12px}
  .hd-nav{margin:0}
  .explore-services{position:static;align-self:flex-start;margin-top:4px;font-size:15px}
  .acc{width:100%;margin-top:32px}
  .acc-q{padding:19px 12px}
  .acc-pi{padding:0 14px 24px;grid-template-columns:1fr;gap:18px}
  .acc-action{max-width:none;align-items:stretch}
  .acc-link{min-height:48px;justify-content:space-between;padding:13px 16px;font-size:15px}
  .acc-action .acc-note{text-align:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  #ldCanvas{display:none}
}
@media(max-width:390px){
  .hd-logo span{display:none}
}
