@font-face{font-family:Cambon;src:url('/assets/cambon.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
    @font-face{font-family:TTNorms;src:url('/assets/ttnorms.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
    :root{--midnight:#011043;--black:#0B0C0C;--white:#fff;--sage:#C6D3AD;--sage-2:#E7EDDC;--ice:#C5DDEF;--ice-2:#F0F8FF;--heron:#D9DEE1;--paper:#FAFBFB;--cobalt:#408DF1;--serif:Cambon,Georgia,serif;--sans:TTNorms,Arial,sans-serif;--max:1616px;--pad:20px;--container-pad:clamp(24px,5vw,64px)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--black);font-family:var(--sans);font-size:16px;line-height:1.58;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}.skip-link{position:absolute;left:-999px;top:12px;background:var(--midnight);color:#fff;padding:12px 16px;z-index:10000}.skip-link:focus{left:12px}.container{width:min(var(--max),calc(100% - var(--pad)*2));margin:0 auto;padding-left:var(--container-pad);padding-right:var(--container-pad)}.eyebrow{font:900 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(1,16,67,.76)}.rule{height:1px;background:var(--black);opacity:1}h1,h2,h3{font-family:var(--serif);font-weight:300;letter-spacing:-.052em;color:var(--midnight)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;background:var(--midnight);color:#fff!important;text-decoration:none;border:0;border-radius:0;font-weight:900}
    .hero{background:var(--hero-sage,#EEF1E8);padding:clamp(58px,7vw,104px) 0 clamp(48px,6vw,78px);border-bottom:1px solid rgba(1,16,67,.12)}.hero .container{width:min(var(--max),calc(100% - var(--pad)*2));padding-left:0;padding-right:0}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2vw,24px);align-items:start}.hero-title{grid-column:1/-1}.hero h1{font-size:clamp(44px,5vw,72px);line-height:.98;margin:18px 0 0;max-width:1240px;text-wrap:balance}.hero-intro{max-width:900px;margin-top:0}.hero p{font-size:clamp(17px,1.35vw,21px);color:rgba(11,12,12,.76);margin:0}
    .toolbar{background:#fff;border-bottom:1px solid rgba(1,16,67,.12);padding:18px 0;position:sticky;top:88px;z-index:40}.toolbar-inner{display:flex;gap:12px;align-items:center;justify-content:space-between}.search{width:min(520px,100%);min-height:44px;border:1px solid rgba(1,16,67,.28);padding:0 14px;font-family:var(--sans);font-size:15px;border-radius:0}.count{font-size:13px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:rgba(1,16,67,.72)}
    .insights{padding:clamp(54px,7vw,94px) 0;background:#fff}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{display:flex;flex-direction:column;min-height:100%;border:1px solid rgba(1,16,67,.16);background:#fff;text-decoration:none;color:inherit;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.card[hidden]{display:none!important}.card:hover{transform:translateY(-4px);box-shadow:0 22px 58px rgba(1,16,67,.10);border-color:rgba(1,16,67,.34)}.thumb{aspect-ratio:1.62/1;background:var(--ice-2);overflow:hidden;border-bottom:1px solid rgba(1,16,67,.10)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb.placeholder{position:relative;display:grid;place-items:end start;padding:22px;color:var(--midnight);background:linear-gradient(135deg,#EEF1E8 0%,#F0F8FF 58%,#fff 100%);overflow:hidden}.thumb.placeholder:before{content:'';position:absolute;inset:18px;border:1px solid rgba(1,16,67,.18)}.thumb.placeholder:after{content:'ACS Resource Archive';position:relative;font-family:var(--serif);font-weight:300;font-size:clamp(25px,2vw,38px);line-height:1;letter-spacing:-.052em;max-width:210px}.card-body{padding:24px;display:flex;flex-direction:column;flex:1}.meta{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(1,16,67,.68);font-weight:900}.card h2{font-size:clamp(25px,2vw,34px);line-height:1.05;margin:12px 0 12px}.card p{margin:0 0 22px;color:rgba(11,12,12,.72)}.read{margin-top:auto;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--midnight)}
    .article-hero{background:var(--hero-sage,#EEF1E8);padding:clamp(46px,6vw,82px) 0 clamp(44px,5.5vw,76px);border-bottom:1px solid rgba(1,16,67,.12)}.article-hero-grid{display:grid;grid-template-columns:minmax(0,760px) minmax(340px,520px);gap:clamp(34px,5vw,72px);align-items:center}.article-hero-copy{max-width:760px}.article-visual{align-self:stretch;min-height:390px;position:relative;background:#fff;border:1px solid rgba(1,16,67,.18);box-shadow:0 24px 70px rgba(1,16,67,.10);padding:12px}.article-visual:before{content:'';position:absolute;inset:-16px 28px 34px -18px;background:rgba(198,211,173,.52);z-index:0}.article-hero-img{position:relative;z-index:1;width:100%;height:100%;min-height:390px;max-height:520px;object-fit:cover;background:var(--ice-2)}.article-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 18px;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:rgba(1,16,67,.72)}.article-title{font-size:clamp(40px,4.15vw,64px);line-height:1.01;margin:14px 0 20px;max-width:760px}.article-hero p{max-width:680px;font-size:clamp(17px,1.2vw,20px);line-height:1.58;color:rgba(11,12,12,.76);margin:0}.article-shell{background:#fff;padding:clamp(46px,6vw,86px) 0}.article-grid{display:grid;grid-template-columns:minmax(0,760px) minmax(280px,340px);gap:clamp(42px,6vw,92px);align-items:start;justify-content:start}.article-content{font-size:18px;line-height:1.7;color:rgba(11,12,12,.87);max-width:760px}.article-content h1,.article-content h2,.article-content h3{margin:1.55em 0 .5em;line-height:1.1}.article-content h2{font-size:clamp(30px,2.6vw,40px)}.article-content h3{font-size:clamp(23px,2vw,30px);letter-spacing:-.04em}.article-content p{margin:0 0 1.08em}.article-content ul,.article-content ol{padding-left:1.2em;margin:0 0 1.35em}.article-content li{margin:.45em 0}.article-content blockquote{margin:34px 0;padding:26px 30px;border-left:4px solid var(--midnight);background:#F6F8F1;color:var(--midnight);font-family:var(--serif);font-size:clamp(25px,2.2vw,34px);line-height:1.14;letter-spacing:-.045em}.article-content img{margin:30px 0;border:1px solid rgba(1,16,67,.12)}.article-content a{color:var(--midnight);font-weight:900;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.side{position:sticky;top:126px;display:grid;gap:18px}.side-card{background:#EEF1E8;border:1px solid rgba(1,16,67,.16);padding:26px}.side-card.dark{background:var(--midnight);color:#fff}.side-card.dark h2{color:#fff}.side-card.dark .eyebrow,.side-card.dark p,.side-card.dark a{color:rgba(255,255,255,.78)}.side-card.dark .btn{background:#fff;color:var(--midnight)!important}.side h2{font-size:clamp(28px,2.5vw,34px);line-height:1.04;margin:10px 0 12px}.side p{color:rgba(11,12,12,.72);margin:0 0 14px}.side .toc{display:grid;gap:10px;margin-top:14px}.side .toc a{font-size:14px;line-height:1.25;text-decoration:none;color:rgba(1,16,67,.82)}.side .related{border-top:1px solid rgba(1,16,67,.16);padding-top:16px;margin-top:6px}.side .related p{font-size:14px;line-height:1.35;margin:12px 0 0}.side .related strong{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(1,16,67,.58)}.back{display:inline-flex;margin-bottom:22px;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--midnight)}

    .footer{background:var(--midnight);color:#fff;padding:54px 0 30px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:34px}.footer-logo{width:210px;height:auto;filter:brightness(0) invert(1)}.footer p,.footer a{display:block;color:rgba(255,255,255,.76);text-decoration:none;margin:8px 0}.footer h3{font:900 12px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.62)}.legal{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.62);font-size:13px}.legal div{display:flex;gap:18px}
    @media(max-width:1020px){.hero-grid,.article-hero-grid,.article-grid,.footer-grid{grid-template-columns:1fr}.article-visual{min-height:320px}.article-hero-img{min-height:320px}.toolbar{top:72px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.side{position:relative;top:auto}}@media(max-width:640px){.container{width:calc(100% - 32px);padding-left:16px;padding-right:16px}.grid{grid-template-columns:1fr}.toolbar-inner{display:grid}.hero h1{font-size:clamp(38px,11vw,52px)}.article-title{font-size:clamp(36px,10vw,48px)}.article-hero{padding-top:36px}.article-visual{min-height:250px;padding:8px}.article-visual:before{inset:-10px 18px 24px -10px}.article-hero-img{min-height:250px}.article-content{font-size:16.5px}.side-card{padding:22px}.legal{display:grid}.legal div{display:grid;gap:4px}}

:root{--acs-dark-text-primary:#fff;--acs-dark-text-secondary:rgba(255,255,255,.78);--acs-dark-text-muted:rgba(255,255,255,.64)}
  body :is(.support-flow,.operating,.cta-action-card,.ctapanel,.cta-panel,.final-card,.contact-band,.catalog,.mission,.legacy,.proof,.proof-grid,.proof-item,.why-photo-panel,.dark,.midnight,.map-visual,.side-card.dark,.consult-card,.footer){color:var(--acs-dark-text-primary)!important}
  body :is(.support-flow,.operating,.cta-action-card,.ctapanel,.cta-panel,.final-card,.contact-band,.catalog,.mission,.legacy,.proof,.proof-grid,.proof-item,.why-photo-panel,.dark,.midnight,.map-visual,.side-card.dark,.consult-card,.footer)
    :is(h1,h2,h3,h4,h5,h6,strong,b,.flow-title,.kicker,.eyebrow,.num,.label,.stat,.metric){color:var(--acs-dark-text-primary)!important}
  body :is(.support-flow,.operating,.cta-action-card,.ctapanel,.cta-panel,.final-card,.contact-band,.catalog,.mission,.legacy,.proof,.proof-grid,.proof-item,.why-photo-panel,.dark,.midnight,.map-visual,.side-card.dark,.consult-card,.footer)
    :is(p,li,dd,figcaption,small,span,em,i,cite,blockquote,label,legend){color:var(--acs-dark-text-secondary)!important}
  body :is(.support-flow,.operating,.cta-action-card,.ctapanel,.cta-panel,.final-card,.contact-band,.catalog,.mission,.legacy,.proof,.proof-grid,.proof-item,.why-photo-panel,.dark,.midnight,.map-visual,.side-card.dark,.consult-card,.footer)
    a:not(.btn):not(.topcta):not(.acs-btn){color:var(--acs-dark-text-primary)!important}
  body :is(.support-flow,.operating,.cta-action-card,.ctapanel,.cta-panel,.final-card,.contact-band,.catalog,.mission,.legacy,.dark,.midnight,.map-visual,.side-card.dark,.consult-card)
    :is(.btn.ghost,.btn.light,.btn.outline,a.btn.ghost,a.btn.light,a.btn.outline){color:var(--acs-dark-text-primary)!important;border-color:rgba(255,255,255,.72)!important;background:transparent!important}
  body :is(.support-flow,.operating,.cta-action-card,.ctapanel,.cta-panel,.final-card,.contact-band,.catalog,.mission,.legacy,.dark,.midnight,.map-visual,.side-card.dark,.consult-card)
    :is(.btn.sage,a.btn.sage){color:#0B0C0C!important;border-color:var(--sage,#CFE8D5)!important;background:var(--sage,#CFE8D5)!important}
html body main figure.why-photo-panel figcaption.why-photo-caption,html body main figure.why-photo-panel figcaption.why-photo-caption *{color:#fff!important}

/* Site-wide QA guardrail: exactly one canonical footer; visible text should render black, white, or gray—not Midnight blue. */
:root{--acs-text-black:#0B0C0C;--acs-text-gray:#4B5560;--acs-footer-bg:#011043}
body :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,label,legend,blockquote,cite,span,strong,em,small,b,i,a:not(.btn):not(.topcta):not(.acs-btn)):not(.skip):not(.skip-link):not(.footer *):not(.acs-topbar *):not(.btn *):not(.topcta *):not(.acs-btn *):not(.proof *):not(.catalog *):not(.operating *):not(.cta-panel *):not(.ctapanel *):not(.final-card *):not(.cta-action-card *):not(.consult-card *):not(.support-flow *):not(.mission *):not(.dark *):not(.midnight *){color:var(--acs-text-black)!important}
body :is(p,li,dd,figcaption,small,blockquote,cite,.meta,.date,.excerpt,.eyebrow,.kicker,.count,.article-meta,.card-meta,.lede + p):not(.footer *):not(.acs-topbar *):not(.proof *):not(.catalog *):not(.operating *):not(.cta-panel *):not(.ctapanel *):not(.final-card *):not(.cta-action-card *):not(.consult-card *):not(.support-flow *):not(.mission *):not(.dark *):not(.midnight *){color:var(--acs-text-gray)!important}
.acs-topbar,.acs-topbar :is(a,button,span,li,div):not(.topcta):not(.topcta *){color:var(--acs-text-black)!important}
.acs-topbar .topcta,.acs-topbar .topcta *{color:#fff!important}
.btn.light,.btn.sage,.btn.ghost,.side .btn,.side-card .btn,.sidebar .btn,.article-sidebar .btn,.side-card.dark .btn,.team .btn{color:var(--acs-text-black)!important;border-color:var(--acs-text-black)!important}
main :is(div,h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,label,legend,blockquote,cite,span,strong,em,small,b,i,a:not(.btn):not(.topcta):not(.acs-btn)):not(.footer):not(.footer *):not(.btn):not(.btn *):not(.topcta):not(.topcta *):not(.acs-btn):not(.acs-btn *):not(.proof):not(.proof *):not(.catalog):not(.catalog *):not(.operating):not(.operating *):not(.cta-panel):not(.cta-panel *):not(.ctapanel):not(.ctapanel *):not(.final-card):not(.final-card *):not(.cta-action-card):not(.cta-action-card *):not(.consult-card):not(.consult-card *):not(.support-flow):not(.support-flow *):not(.mission):not(.mission *):not(.dark):not(.dark *):not(.midnight):not(.midnight *){color:var(--acs-text-black)!important}
html body main :is(#acsTextOverride,h3,strong,span,b,i,.btn.ghost,.btn.sage):not(.footer *):not(.btn *):not(.topcta *):not(.acs-btn *):not(.proof):not(.proof *):not(.catalog):not(.catalog *):not(.operating):not(.operating *):not(.cta-panel):not(.cta-panel *):not(.ctapanel):not(.ctapanel *):not(.final-card):not(.final-card *):not(.cta-action-card):not(.cta-action-card *):not(.consult-card):not(.consult-card *):not(.support-flow):not(.support-flow *):not(.mission):not(.mission *):not(.dark):not(.dark *):not(.midnight):not(.midnight *){color:var(--acs-text-black)!important;border-color:var(--acs-text-black)!important}
body.team main a.btn,body main .team a.btn,main a.btn[href="/contact/"]{color:var(--acs-text-black)!important;border-color:var(--acs-text-black)!important}
body :is(.ctapanel,.ctapanel div,.ctapanel h2,.ctapanel h3,.ctapanel span,.cta-action-card,.cta-action-card span,.final-cta .kicker,.num,.final-email):not(.footer):not(.footer *),#contact .final-email{color:var(--acs-text-black)!important}
body :is(.ctapanel p,.cta-action-card p,.final-cta p,.trust-row,.trust-row span):not(.footer *){color:var(--acs-text-gray)!important}
.footer{background:var(--acs-footer-bg)!important;color:#fff!important;padding:54px 0 30px!important}
.footer .footer-grid{display:grid!important;grid-template-columns:1.4fr repeat(3,1fr)!important;gap:34px!important}
.footer .footer-logo{width:196px!important;height:auto!important;filter:brightness(0) invert(1)!important;margin-bottom:20px!important}
.footer p,.footer a,.footer span{display:block;color:rgba(255,255,255,.76)!important;text-decoration:none;margin:8px 0}
.footer .footer-social{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin:22px 0 0!important}
.footer .footer-social a{position:relative!important;display:inline-grid!important;place-items:center!important;width:38px!important;height:38px!important;min-height:0!important;padding:0!important;margin:0!important;border:1px solid rgba(255,255,255,.24)!important;background:rgba(255,255,255,.055)!important;color:#fff!important;text-decoration:none!important;line-height:1!important;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s ease,border-color .2s ease!important}
.footer .footer-social a:hover{transform:translateY(-2px)!important;background:rgba(198,211,173,.16)!important;border-color:rgba(198,211,173,.58)!important;color:#fff!important}
.footer .footer-social a:focus-visible{outline:3px solid var(--sage,#C6D3AD)!important;outline-offset:3px!important}
.footer .footer-social svg{display:block!important;width:18px!important;height:18px!important;fill:currentColor!important}
.footer .footer-social .social-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.footer h3{font:900 12px/1 var(--sans,Arial,sans-serif)!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:rgba(255,255,255,.62)!important;margin:0 0 12px!important}
.footer .legal{border-top:1px solid rgba(255,255,255,.18)!important;margin-top:34px!important;padding-top:22px!important;display:flex!important;justify-content:space-between!important;gap:24px!important;flex-wrap:wrap!important}
.footer .legal div{display:flex!important;gap:18px!important;flex-wrap:wrap!important}
@media(max-width:1020px){.footer .footer-grid{grid-template-columns:1fr!important}}
@media(max-width:640px){.footer{padding:44px 0 26px!important}.footer .footer-social{margin-top:18px!important;gap:8px!important}.footer .footer-social a{width:36px!important;height:36px!important}.footer .legal{display:grid!important}}

/* ACS targeted visual contrast repair — 2026-05-13
   Purpose: fix verified text visibility regressions without reintroducing broad dark-surface overrides. */

/* Header/nav: when the global nav is on a Midnight/tinted surface, foreground must be light. */
html body .acs-topbar.acs-nav-on-tint,
html body .acs-topbar.acs-nav-on-tint :is(a,span,li,div):not(.acs-btn):not(.acs-btn *){
  color:var(--black,#0B0C0C)!important;
}
html body .acs-topbar .acs-navlinks > a:not(.acs-btn),
html body .acs-topbar.acs-nav-on-tint .acs-navlinks > a:not(.acs-btn){
  color:var(--black,#0B0C0C)!important;
}
html body .acs-topbar.acs-nav-on-tint .acs-mega-trigger,
html body .acs-topbar .acs-mega-trigger.acs-mega-trigger.acs-mega-trigger,
html body .acs-topbar.acs-nav-on-tint .acs-btn,
html body .acs-topbar.acs-nav-on-tint a.acs-btn{
  color:#fff!important;
}
html body .acs-topbar.acs-nav-on-tint .acs-btn,
html body .acs-topbar.acs-nav-on-tint a.acs-btn{
  background:var(--midnight,#011043)!important;
  border-color:rgba(255,255,255,.72)!important;
}
html body .acs-topbar:not(.acs-nav-on-tint) .acs-btn,
html body .acs-topbar:not(.acs-nav-on-tint) a.acs-btn{
  color:#fff!important;
}

/* Homepage capability catalog is rendered as a light section in this build. */
main .catalog{
  background:#fff!important;
  color:var(--black,#0B0C0C)!important;
}
main .catalog .section-head :is(.eyebrow,h2,p),
main .catalog .capability-expand p{
  color:var(--black,#0B0C0C)!important;
}
main .catalog .section-head p{
  border-color:rgba(1,16,67,.16)!important;
}
main .catalog .section-head .rule{
  background:rgba(1,16,67,.18)!important;
}
main .catalog .service{
  background:var(--midnight,#011043)!important;
  color:#fff!important;
}
main .catalog .service :is(h3,small,p,li,span,strong){
  color:#fff!important;
}

/* Light proof/metrics strips, especially Team, must remain dark text on light/sage/ice. */
body.team main .proof,
body.team main .proof *{
  color:var(--midnight,#011043)!important;
}
body.team main .proof span,
body.team main .proof p{
  color:rgba(1,16,67,.72)!important;
}

/* Business Email Exposure: route-card is a light card inside a dark section. */
html body main section.dark.dark aside.route-card.route-card,
html body main section.dark.dark aside.route-card.route-card h1,
html body main section.dark.dark aside.route-card.route-card h2,
html body main section.dark.dark aside.route-card.route-card h3,
html body main section.dark.dark aside.route-card.route-card h4,
html body main section.dark.dark aside.route-card.route-card h5,
html body main section.dark.dark aside.route-card.route-card h6,
html body main section.dark.dark aside.route-card.route-card p,
html body main section.dark.dark aside.route-card.route-card li,
html body main section.dark.dark aside.route-card.route-card strong,
html body main section.dark.dark aside.route-card.route-card span,
html body main section.dark.dark aside.route-card.route-card small,
html body main section.dark.dark aside.route-card.route-card a{
  color:var(--black,#0B0C0C)!important;
}
html body main section.dark.dark aside.route-card.route-card{
  background:#fff!important;
}
html body main section.dark .safe-item > span{
  color:var(--midnight,#011043)!important;
}

/* Contact form label sits on sage/light form panel, not a dark surface. */
html body main .form-card span.form-label,
html body main .contact-card span.form-label,
html body main .contact-form span.form-label,
html body main span.form-label{
  color:var(--black,#0B0C0C)!important;
}

/* Sage brand-unification sections must use black text, not inherited dark-surface white. */
html body main section.legacy.legacy,
html body main section.legacy.legacy :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small,.eyebrow,.kicker),
html body main section.legacy.legacy .featured-press,
html body main section.legacy.legacy .featured-press :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small,.eyebrow,.kicker){
  color:var(--black,#0B0C0C)!important;
}
html body main section.legacy.legacy .featured-press .rule{
  background:var(--black,#0B0C0C)!important;
  opacity:1!important;
}

/* Canonical ACS footer — one visual footer system across every page. */
html body footer.footer,
html body .footer{
  background:var(--midnight,#011043)!important;
  color:#fff!important;
  padding:56px 0 30px!important;
  border:0!important;
  box-shadow:none!important;
}
html body .footer .container{
  width:min(var(--max,1616px),calc(100% - var(--pad,20px)*2))!important;
  margin:0 auto!important;
  padding-left:var(--container-pad,clamp(24px,5vw,64px))!important;
  padding-right:var(--container-pad,clamp(24px,5vw,64px))!important;
}
html body .footer .footer-grid{
  display:grid!important;
  grid-template-columns:1.4fr repeat(3,minmax(0,1fr))!important;
  gap:34px!important;
  align-items:start!important;
  padding:0 0 38px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.13)!important;
}
html body .footer .footer-logo{
  width:196px!important;
  max-width:min(196px,70vw)!important;
  height:auto!important;
  margin:0 0 20px!important;
  filter:brightness(0) invert(1)!important;
}
html body .footer h3{
  margin:0 0 12px!important;
  color:rgba(255,255,255,.62)!important;
  font:900 12px/1 var(--sans,TTNorms,Arial,sans-serif)!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
html body .footer p,
html body .footer a,
html body .footer span{
  display:block!important;
  margin:8px 0!important;
  color:rgba(255,255,255,.76)!important;
  font:400 14px/1.55 var(--sans,TTNorms,Arial,sans-serif)!important;
  text-decoration:none!important;
}
html body .footer p{
  max-width:360px!important;
}
html body .footer a:hover{
  color:#fff!important;
}
html body .footer .legal{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:24px!important;
  flex-wrap:wrap!important;
  margin:0!important;
  padding:24px 0 0!important;
  border:0!important;
  color:rgba(255,255,255,.58)!important;
}
html body .footer .legal div{
  display:flex!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
html body .footer .legal span,
html body .footer .legal a{
  margin:0!important;
  color:rgba(255,255,255,.58)!important;
  font-size:13px!important;
}
@media(max-width:1020px){
  html body .footer .footer-grid{grid-template-columns:1fr 1fr!important;gap:30px 28px!important}
}
@media(max-width:640px){
  html body .footer{padding:44px 0 26px!important}
  html body .footer .container{width:calc(100% - 32px)!important;padding-left:20px!important;padding-right:20px!important}
  html body .footer .footer-grid{grid-template-columns:1fr!important;gap:26px!important;padding-bottom:32px!important}
  html body .footer .legal{display:grid!important;gap:16px!important;padding-top:22px!important}
  html body .footer .legal div{display:grid!important;gap:10px!important}
}

/* Final CTA/card variants that render light should use dark text; dark action cards stay light. */
main .final-card:not(.dark):not(.midnight),
main .final-card:not(.dark):not(.midnight) :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small,.eyebrow,a.final-secondary){
  color:var(--black,#0B0C0C)!important;
}
main .final-card:not(.dark):not(.midnight) .btn:not(.light):not(.sage):not(.ghost),
main .cta-action-card .btn:not(.light):not(.sage):not(.ghost),
main .hero .btn:not(.light):not(.sage):not(.ghost){
  color:#fff!important;
  background:var(--midnight,#011043)!important;
  border-color:var(--midnight,#011043)!important;
}
main .final-card:not(.dark):not(.midnight) .btn.light,
main .final-card:not(.dark):not(.midnight) .btn.ghost,
main .final-card:not(.dark):not(.midnight) a.final-secondary{
  color:var(--black,#0B0C0C)!important;
  border-color:var(--black,#0B0C0C)!important;
}

/* If a CTA action card is explicitly Midnight/dark, preserve readable foreground. */
main .cta-action-card,
main .cta-action-card :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small,.eyebrow){
  color:#fff!important;
}

/* Final high-specificity contrast guardrail for dark ACS surfaces.
   Outranks the sitewide black-text normalizer that includes #acsTextOverride in :is(). */
html body main:is(#main,#content,:not(#acsTextOverride)) :is(.proof,.proof-grid,.operating,.support-flow,.cta-action-card,.contact-band,.dark,.dark-band,.midnight,.proof-strip-premium,.journey-v2,.catalog .service,.hero.dark,.capability-map,.blanket-ring,.blanket-center,.operating-layer-v2,.operating-head,.ba-card.after,.tech-map,.tech-core)
  :is(h1,h2,h3,h4,h5,h6,strong,b,.eyebrow,.kicker,.label,.num,.stat,.metric,a:not(.btn)):not(.contact-card *):not(.route-card *){
  color:#fff!important;
}
html body main:is(#main,#content,:not(#acsTextOverride)) :is(.proof,.proof-grid,.operating,.support-flow,.cta-action-card,.contact-band,.dark,.dark-band,.midnight,.proof-strip-premium,.journey-v2,.catalog .service,.hero.dark,.capability-map,.blanket-ring,.blanket-center,.operating-layer-v2,.operating-head,.ba-card.after,.tech-map,.tech-core)
  :is(p,li,small,span,em,i,dd,dt,figcaption,label,legend,blockquote,cite):not(.contact-card *):not(.route-card *){
  color:rgba(255,255,255,.80)!important;
}
html body main:is(#main,#content,:not(#acsTextOverride)) :is(.hero.dark,.contact-band,.dark,.midnight) :is(.btn.ghost,.btn.light,.btn.outline,a.btn.ghost,a.btn.light,a.btn.outline){
  color:#fff!important;
  border-color:rgba(255,255,255,.72)!important;
}
html body main:is(#main,#content,:not(#acsTextOverride)) .catalog .service :is(h3,small,p,li,span,strong,a:not(.btn)),
html body main:is(#main,#content,:not(#acsTextOverride)) .catalog .service .service-icon{
  color:#fff!important;
}
html body main:is(#main,#content,:not(#acsTextOverride)) .contact-band :is(.contact-card,.route-card),
html body main:is(#main,#content,:not(#acsTextOverride)) .contact-band :is(.contact-card,.route-card) :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small,label,legend,em,a:not(.btn)){
  color:var(--black,#0B0C0C)!important;
}
html body main:is(#main,#content,:not(#acsTextOverride)) section.cta.dark .cta-box,
html body main:is(#main,#content,:not(#acsTextOverride)) section.cta.dark .cta-box :is(#acsTextOverride,h1,h2,h3,h4,h5,h6,p,li,strong,span,small,label,legend,em,a:not(.btn)){
  color:var(--black,#0B0C0C)!important;
}
