:root{
  --fs-bg:#04101a;
  --fs-bg-deep:#020912;
  --fs-bg-soft:#06121d;
  --fs-panel:#071827;
  --fs-panel-strong:#0a2030;
  --fs-line:rgba(255,255,255,.12);
  --fs-text:#f7fbff;
  --fs-body:#c8d6df;
  --fs-muted:#a8bac7;
  --fs-blue:#2fb1f2;
  --fs-blue-bright:#62d4ff;
  --fs-green:#79e2aa;
  --fs-orange:#ff9a5c;
  --fs-purple:#9b6cff;
  --fs-pink:#f16aa9;
  --fs-focus:#8edcff;
  --fs-light:#f5f9fb;
  --fs-light-panel:#ffffff;
  --fs-light-text:#102c3b;
  --fs-light-body:#4d6470;
  --fs-light-muted:#667d89;
  --fs-light-link:#006da8;
  --fs-accent-connect:#62d4ff;
  --fs-accent-see:#f16aa9;
  --fs-accent-control:#79e2aa;
  --fs-accent-track:#62d4ff;
  --fs-accent-find:#ff9a5c;
  --fs-accent-use:#79e2aa;
}

html{background:var(--fs-bg-deep);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{background:var(--fs-bg);color:var(--fs-text)}
main{color:var(--fs-text)}
main h1,main h2,main h3,main h4,main h5,main h6{color:var(--fs-text);overflow-wrap:anywhere}
main p,main li{color:var(--fs-body);overflow-wrap:anywhere}
main small,.muted,.fine{color:var(--fs-muted)}
main strong,main b{color:inherit}
main a:not([class*="btn"]):not(.fs-btn):not(.dbtn):not(.cbtn):not(.cta):not(.btn):not(.arrow):not(.external):not(.p):not(.primary){color:var(--fs-blue-bright);text-underline-offset:.18em;overflow-wrap:anywhere}
main a:not([class*="btn"]):not(.fs-btn):not(.dbtn):not(.cbtn):not(.cta):not(.btn):not(.arrow):not(.external):not(.p):not(.primary):hover{color:#b9ecff}
img,video{max-width:100%;height:auto}
table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
pre,code{max-width:100%;overflow-wrap:anywhere}

/* Canonical dark surfaces */
.fs-home,.dp:not(.healthcare),.cp,.contact-upgrade,.fs-visual-story,.fs-partner-logos,.fs-trust-section,.fs-sector-trust,.s2hero,.cshero{color:var(--fs-text)}
.fs-home p,.dp:not(.healthcare) p,.cp p,.contact-upgrade p,.fs-visual-story p,.fs-trust-head p,.s2hero p,.cshero p{color:var(--fs-body)}
.fs-solution-copy p,.fs-sector-copy p,.ccard p,.dcard p,.fs-proof-copy p,.fs-proof-side p{color:#d3e0e8}
.fs-vstep small,.fs-logo-tile small,.fs-trust-card small{color:#a9bdc9}
.fs-k,.dk,.ck,.cu-k,.s2k,.fs-trust-k{filter:saturate(1.08) brightness(1.08)}

/* Navigation hover continuity and stable dropdown geometry */
.header .nav-mega{position:relative}
.header .nav-mega::after{content:'';position:absolute;left:-14px;right:-14px;top:100%;height:18px}
.header .nav-mega:hover>.mega-panel,.header .nav-mega:focus-within>.mega-panel,.header .mega-panel:hover{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.header .mega-panel{margin-top:0!important}
@media(min-width:821px){
  .header .nav-mega>a,.header nav>a:not(.cta){border-radius:0!important}
  .header .mega-panel a:not(.cta){border-radius:12px!important}
  .header .mega-panel img,.header .mega-panel picture{border-radius:8px!important;clip-path:none!important}
}

/* Buttons and focus states */
.fs-btn.primary,.dbtn.p,.cbtn.p{box-shadow:0 10px 34px rgba(47,177,242,.2)}
main a.p,main button.p,main a.primary,main button.primary,.fs-btn.primary,.dbtn.p,.cbtn.p,.ab.p{color:#05202b!important}
main a.p:hover,main button.p:hover,main a.primary:hover,main button.primary:hover,.fs-btn.primary:hover,.dbtn.p:hover,.cbtn.p:hover,.ab.p:hover{color:#05202b!important}
.fs-btn.ghost,.dbtn.g,.cbtn.g{color:#fff;border-color:rgba(255,255,255,.32);background:rgba(5,19,31,.48)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--fs-focus)!important;outline-offset:3px!important}

/* Shared branded colour roles */
.fs-tone-connect,.fs-tone-track{color:var(--fs-accent-connect)!important}
.fs-tone-see{color:var(--fs-accent-see)!important}
.fs-tone-control,.fs-tone-use{color:var(--fs-accent-control)!important}
.fs-tone-find{color:var(--fs-accent-find)!important}

/* Light content surfaces retained where they improve reading comfort */
.dp.healthcare,.dp.healthcare .dsec,.dp.healthcare .dstatbar,.s2original,.hub3original,.uoriginal{color:var(--fs-light-text)}
.dp.healthcare h1,.dp.healthcare h2,.dp.healthcare h3,.s2original h1,.s2original h2,.s2original h3,.s2original h4,.hub3original h1,.hub3original h2,.hub3original h3,.hub3original h4,.uoriginal h1,.uoriginal h2,.uoriginal h3,.uoriginal h4{color:var(--fs-light-text)}
.dp.healthcare p,.dp.healthcare li,.s2original p,.s2original li,.hub3original p,.hub3original li,.uoriginal p,.uoriginal li{color:var(--fs-light-body)}
.s2original small,.hub3original small,.uoriginal small{color:var(--fs-light-muted)}
.s2original a:not(.btn):not(.cta),.hub3original a:not(.btn):not(.cta),.uoriginal a:not(.btn):not(.cta){color:var(--fs-light-link)}

#main>.hero+.section.light,#main>.hero~.section.light,.section.light,.detail-band.light,.current-context.light-context{color:var(--fs-light-text)}
.section.light h1,.section.light h2,.section.light h3,.section.light h4,.detail-band.light h1,.detail-band.light h2,.detail-band.light h3,.current-context.light-context h1,.current-context.light-context h2,.current-context.light-context h3{color:var(--fs-light-text)!important}
.section.light p,.section.light li,.detail-band.light p,.detail-band.light li,.current-context.light-context p,.current-context.light-context li{color:var(--fs-light-body)!important}
.section.light .eyebrow,.detail-band.light .eyebrow,.current-context.light-context .eyebrow{color:#006da8!important}
.section.light .decision-card,.section.light .proof-card,.section.light .card,.section.light .start-here,.section.light .quick{color:var(--fs-light-text)}
.section.light .decision-card p,.section.light .proof-card p,.section.light .card p,.section.light .start-here p,.section.light .quick p{color:var(--fs-light-body)!important}

input,textarea,select{color:#122d3b;background:#fff;border-color:#c8d6df;max-width:100%}
input::placeholder,textarea::placeholder{color:#6a7e89;opacity:1}
label{color:inherit}

.fs-solution-copy p,.fs-sector-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.fs-proof-copy p,.fs-proof-side p{max-width:62ch}

.s2detail{margin:0;background:var(--fs-light);color:var(--fs-light-text);border:0}
.s2detail>summary{list-style:none;cursor:pointer;padding:22px max(20px,calc((100% - 1180px)/2));background:#eaf2f6;color:var(--fs-light-text);border-top:1px solid #d9e5eb;border-bottom:1px solid #d9e5eb;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:18px}
.s2detail>summary::-webkit-details-marker{display:none}
.s2detail>summary span{font-size:.76rem;color:var(--fs-light-link);font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.s2detail[open]>summary span{font-size:0}
.s2detail[open]>summary span:after{content:'Hide detail';font-size:.76rem}
.s2detail-body{background:var(--fs-light)}

.fs-buyer-guide{padding:58px 0;border-bottom:1px solid var(--fs-line);background:var(--fs-bg-soft);color:var(--fs-text)}
.fs-buyer-guide .fs-bg-wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.fs-buyer-guide .fs-bg-head{display:grid;grid-template-columns:.82fr 1.18fr;gap:32px;align-items:end;margin-bottom:24px}
.fs-buyer-guide .fs-bg-head h2{font-size:clamp(2.25rem,4.5vw,4rem);line-height:.98;letter-spacing:-.045em;margin:.35rem 0 0;color:var(--fs-text)}
.fs-buyer-guide .fs-bg-head p{margin:0;max-width:680px;color:var(--fs-body);line-height:1.6}
.fs-bg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fs-bg-card{border:1px solid var(--fs-line);border-radius:20px;padding:22px;background:linear-gradient(145deg,var(--fs-panel-strong),var(--fs-panel));min-height:164px}
.fs-bg-card b{display:block;color:var(--fs-text);font-size:1.08rem;margin-bottom:8px}
.fs-bg-card p{margin:0;color:var(--fs-body);line-height:1.5;font-size:.9rem}

/* Partner product-page hero copy must not inherit the global CTA .lead surface. */
.pp .hero p.lead{background:transparent;color:#a9bdc8;padding:0;margin:0;font-weight:400;font-size:1.17rem;line-height:1.68;max-width:720px}

@media(max-width:800px){.fs-buyer-guide .fs-bg-head{grid-template-columns:1fr}.fs-bg-grid{grid-template-columns:1fr}.s2detail>summary{padding-inline:20px}}
@media(max-width:520px){.fs-buyer-guide{padding:46px 0}.fs-buyer-guide .fs-bg-wrap{width:min(100% - 28px,1180px)}.fs-btn,.dbtn,.cbtn,.cta,.btn{max-width:100%;white-space:normal;text-align:center;justify-content:center}}