/* Final colour roles. Loaded after page styles so each surface owns its copy. */
:root{
  --fs-light-muted:#526b79;
  --fs-light-link:#006799;
}
.fs-theme{
  --fs-surface-heading:var(--fs-text);
  --fs-surface-copy:var(--fs-body);
  --fs-surface-muted:var(--fs-muted);
  --fs-surface-link:var(--fs-blue-bright);
  --fs-surface-accent:var(--fs-blue-bright);
  color:var(--fs-surface-copy);
}
.fs-theme :where(.section.light,.detail-band.light,.current-context.light-context,.wfsec.light,.cg-section.light,.s2original,.hub3original,.uoriginal,.article-body,.solution-hero,.secondary-sector-hero,.challenge-section,.fr13-hero,.fr13-visibility-panel,.fr13-portal-card,.fr13-driver-card,.csoriginal .section,.csoriginal .page-hero){
  --fs-surface-heading:var(--fs-light-text);
  --fs-surface-copy:var(--fs-light-body);
  --fs-surface-muted:var(--fs-light-muted);
  --fs-surface-link:var(--fs-light-link);
  --fs-surface-accent:var(--fs-light-link);
  background-color:var(--fs-light);
}
.fs-theme :where(.section.light,.detail-band.light,.current-context.light-context,.wfsec.light,.cg-section.light,.solution-hero,.secondary-sector-hero,.challenge-section,.fr13-hero,.article-body){background:var(--fs-light)!important}
.fs-theme :where(.team-exec-card,.team-leader-card,.team-member-card,.team-close,.fr13-process-cta,.fr13-faq-card,.solution-principle,.cshero,.csband,.fs-gap,.fs-gap-card,.dcta,.ccta,.article-cta){
  --fs-surface-heading:var(--fs-text);
  --fs-surface-copy:var(--fs-body);
  --fs-surface-muted:var(--fs-muted);
  --fs-surface-link:var(--fs-blue-bright);
  --fs-surface-accent:var(--fs-blue-bright);
}
/* Layered important declarations win over old unlayered page overrides. */
@layer fs-readability{
  .fs-theme :where(h1,h2,h3,h4,h5,h6){color:var(--fs-surface-heading)!important}
  .fs-theme :where(p,li,dt,dd,blockquote,figcaption){color:var(--fs-surface-copy)!important}
  .fs-theme :where(small,.fine,.muted,.source-note,.cp-source,.team-personal,.fr13-visibility-list span,.fr13-product-top span,.rtls-faq-contact small){color:var(--fs-surface-muted)!important}
  .fs-theme a:not([class*="btn"]):not(.cta):not(.lmb):not(.hwb):not(.ab):not(.p):not(.primary):not(.external):not(.acquisition-growth-cta):not(.rtls-faq-contact):not(.fs-inline-primary){color:var(--fs-surface-link)!important}
  .fs-theme :where(.eyebrow,.wfk,.fr13-panel-kicker,.team-dept-number,.solution-icon,.tag,.step){color:var(--fs-surface-accent)!important}
  .fs-theme :where(.dcta,.ccta,.team-close,.fr13-process-cta,.fr13-faq-card,.solution-principle,.article-cta){background:linear-gradient(125deg,#0a263b,#04101a)!important;border:1px solid #23506a}
  .fs-theme :where(.fs-inline-primary,.at-btn-primary,.ftc-btn-primary,.vf-btn-primary,.cs-btn:not(.ghost),.lmb:not(.g),.cta:not(.ghost),.fs-btn.primary,.dbtn.p,.cbtn.p,.hwb.p,.ab.p,.spbtn:not(.alt)){
    color:#05202b!important;
    background:linear-gradient(120deg,#62d4ff,#2fb1f2)!important;
    text-shadow:none!important;
  }
  .fs-theme :where(.fs-inline-primary,.at-btn-primary,.ftc-btn-primary,.vf-btn-primary,.cs-btn:not(.ghost),.lmb:not(.g),.cta:not(.ghost)) *{color:inherit!important}
  .fs-theme :where(.cta.ghost,.fs-btn.ghost,.dbtn.g,.cbtn.g,.lmb.g,.cs-btn.ghost){color:var(--fs-surface-heading)!important;background:transparent!important;border-color:var(--fs-surface-muted)!important}
  .fs-theme .wfchannel-panel .wflist span{color:var(--fs-light-body)!important}
  .fs-theme .rtls-faq-contact{color:#05202b!important;background:#62d4ff!important}
  .fs-theme .rtls-faq-contact :is(small,span,b){color:#05202b!important}
  .fs-theme .fr13-phone-row figcaption{color:var(--fs-light-muted)!important}
}
/* Restrained depth and a consistent accent make cards feel part of one system. */
.fs-theme :where(.dcard,.ccard,.fs-bg-card,.sl-card,.team-exec-card,.team-leader-card,.team-member-card){box-shadow:0 16px 48px #02091222}
.fs-theme :where(.sl-card,.fs-bg-card,.dcard,.ccard){border-color:#345064}
.fs-theme :where(.sl-card,.fs-bg-card,.dcard,.ccard):hover{border-color:#62d4ff}
.fs-theme :where(p,li){line-height:1.65}
.fs-theme :where(input,textarea,select){font-size:max(16px,1rem)}
.fs-theme a:focus-visible,.fs-theme button:focus-visible{outline:3px solid #0082bb!important;outline-offset:4px!important;box-shadow:0 0 0 7px #f5f9fb!important}
@media(max-width:600px){
  .fs-theme :where(.actions,.at-actions,.ftc-actions,.vf-actions){flex-wrap:wrap;gap:12px}
  .fs-theme :where(.cta,[class*="btn"],.lmb){min-height:44px;max-width:100%;white-space:normal;overflow-wrap:normal;align-content:center}
}
@media(prefers-reduced-motion:reduce){
  .fs-theme *, .fs-theme *::before,.fs-theme *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* Nested panels keep their own colour roles even inside a contrasting band. */
.fs-theme :where(.aside-card,.article-content){
  --fs-surface-heading:var(--fs-light-text);--fs-surface-copy:var(--fs-light-body);--fs-surface-muted:var(--fs-light-muted);--fs-surface-link:var(--fs-light-link);--fs-surface-accent:var(--fs-light-link);
}
.fs-theme :where(.pressure-card,.operational-card,.cg-feature,.cg-faq details,.fr13-hero-console,.article-answer,.rtls-faq-panel,.article-cta){
  --fs-surface-heading:var(--fs-text);--fs-surface-copy:var(--fs-body);--fs-surface-muted:var(--fs-muted);--fs-surface-link:var(--fs-blue-bright);--fs-surface-accent:var(--fs-blue-bright);
}
@layer fs-readability{
  .fs-theme :where(.breadcrumb,.hero-rule span,.fr13-proof-chips span,.cg-kicker){color:var(--fs-surface-muted)!important}
  .fs-theme :where(.fr13-hero h1 em,.fr13-use-icon,.fr13-process-track article>span,.wfstep>i,.number,.article-step-grid article>span){color:var(--fs-surface-accent)!important}
  .fs-theme .signal{color:#a94d12!important}
  .fs-theme .fr13-phone-row figcaption span{color:var(--fs-light-muted)!important}
  .fs-theme .rtls-outcome-grid article>span,.fs-theme .rtls-flow>i{color:#62d4ff!important}
  .fs-theme .acquisition-growth a.acquisition-growth-cta{color:#05202b!important;background:#62d4ff!important}
  .fs-theme .zone-list article.pink>b,.fs-theme .fr13-deviation-card>span{color:#05202b!important}
  .fs-theme .gse-hero h1 span{color:#ff6a9f!important}
  .fs-theme .article-aside .aside-card>span{color:#a62966!important}
  .fs-theme .solution-showcase-action i,.fs-theme .vfd-nav i{color:#05202b!important}
  .fs-theme .vfd-donut small{color:#102c3b!important}
  .fs-theme .solution-card .solution-icon{color:#006799!important}
}
.fs-theme :where(.usecase-card,.use-card,.sector-faq details,.faq-grid details,.secondary-sector-faq details){
  --fs-surface-heading:var(--fs-text);--fs-surface-copy:var(--fs-body);--fs-surface-muted:var(--fs-muted);--fs-surface-link:var(--fs-blue-bright);--fs-surface-accent:var(--fs-blue-bright);
}
@layer fs-readability{
  .fs-theme :where(.section.light,.detail-band.light,.current-context.light-context,.wfsec.light,.cg-section.light,.solution-hero,.secondary-sector-hero,.challenge-section,.fr13-hero,.article-body){background:var(--fs-light)!important}
}
.fs-theme :where(.sector-story,.faq details){
  --fs-surface-heading:var(--fs-text);--fs-surface-copy:var(--fs-body);--fs-surface-muted:var(--fs-muted);--fs-surface-link:var(--fs-blue-bright);--fs-surface-accent:var(--fs-blue-bright);
}
@layer fs-readability{
  .fs-theme :where(.pressure-card,.operational-card,.cg-feature,.cg-faq details,.fr13-hero-console,.article-answer,.rtls-faq-panel,.sector-story,.faq details,.use-card){background:#071827!important}
  .fs-theme :where(.aside-card,.article-content){background:var(--fs-light)!important}
}
@layer fs-readability{
  .fs-theme summary{color:var(--fs-surface-heading)!important}
  .fs-theme .rtls-outcomes article span{color:#62d4ff!important}
  .fs-theme .fr13-process-cta>span{color:#05202b!important;background:#62d4ff!important}
  .fs-theme .zone-list article.pink>b{background:#ff8fbd!important}
  .fs-theme .vfd-donut small{background:#f5f9fb!important}
}
.fs-theme .s2detail{
  --fs-surface-heading:var(--fs-light-text);--fs-surface-copy:var(--fs-light-body);--fs-surface-muted:var(--fs-light-muted);--fs-surface-link:var(--fs-light-link);--fs-surface-accent:var(--fs-light-link);
}
@layer fs-readability{
  .fs-theme .rtls-flow article>span,.fs-theme .rtls-deploy-grid article>span{color:#62d4ff!important}
}
