/* ASR public readability authority · 2026-09-28
   Final public-only contrast and typography layer for Home, Services and shared header. */
body.asr-public-authority-v20260928{--asr-readable-text:#f7f7f9;--asr-readable-copy:#c9c9d1;--asr-readable-muted:#aaaab4;--asr-readable-soft:#8f8f99;--asr-readable-line:#2b2b31}

/* Shared public header — black, crisp and readable. */
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header,.asr-static-header){background:#030304!important;background-image:none!important;border-bottom:1px solid #29292f!important;color:#fff!important;box-shadow:0 8px 30px rgba(0,0,0,.22)!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header,.asr-static-header) :where(.header-inner,.shell){min-height:78px!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header,.asr-static-header) :where(nav a,nav button,.asr-current-services-nav,.asr-current-tutorials-nav){color:#d2d2d9!important;font-size:14px!important;font-weight:650!important;line-height:1.2!important;letter-spacing:-.01em!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header,.asr-static-header) :where(nav a,nav button,.asr-current-services-nav,.asr-current-tutorials-nav):hover,
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header,.asr-static-header) :where(nav a[aria-current="page"],nav button.active){color:#fff!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header) .brand-asr{color:#fff!important;font-size:24px!important;font-weight:850!important;letter-spacing:-.05em!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header) .brand>span:last-child{color:#f2f2f5!important;font-size:11px!important;font-weight:700!important;line-height:1.13!important;letter-spacing:.025em!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header) .brand>i{background:#5d5d66!important;opacity:1!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header) .header-actions :where(a,button,span){font-size:13px!important;font-weight:650!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header) .login-link{color:#e1e1e6!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header) .icon-btn{color:#e8e8ec!important;background:#0b0b0d!important;border-color:#33333a!important}
body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header) .primary.small{background:#fff!important;color:#050506!important;border-color:#fff!important;font-weight:760!important}
/* Explicitly beat the old Services white-header parity rule. */
body.asr-public-authority-v20260928 .asr-shared-public-header nav a[href="/services/"],
body.asr-public-authority-v20260928 .asr-shared-public-header nav a[href="/services/"]:hover,
body.asr-public-authority-v20260928 .asr-shared-public-header nav a[href="/services/"][aria-current="page"]{color:#fff!important;background:transparent!important;font-size:14px!important;font-weight:700!important}

/* Home — raise every secondary text surface above tiny-caption territory. */
body.asr-public-authority-v20260928 [data-asr-home-authority] :where(p,li){color:var(--asr-readable-copy)!important}
body.asr-public-authority-v20260928 [data-asr-home-authority] small{color:var(--asr-readable-muted)!important}
.asr28-kicker{font-size:12px!important;color:#bca8ff!important;letter-spacing:.13em!important}
.asr28-home-hero h1 em{color:#c7c7ce!important}
.asr28-home-hero .asr28-lede{font-size:19px!important;line-height:1.72!important;color:#d0d0d6!important}
.asr28-domain-line span{font-size:13px!important;color:#b3b3bd!important;line-height:1.5!important}
.asr28-operating>header span{font-size:12px!important;color:#b0b0ba!important}
.asr28-operating-row i{font-size:12px!important}
.asr28-operating-row b{font-size:17px!important;line-height:1.35!important}
.asr28-operating-row p{font-size:14px!important;line-height:1.62!important;color:#c5c5cd!important}
.asr28-operating-foot{font-size:13px!important;line-height:1.6!important;color:#ababB5!important}
.asr28-definition span{font-size:11px!important;color:#ababB5!important}
.asr28-definition b{font-size:18px!important;line-height:1.5!important}
.asr28-section-head p{font-size:17px!important;line-height:1.72!important;color:#c8c8d0!important}
.asr28-cap-row>span{font-size:12px!important;color:#9c9ca7!important}
.asr28-cap-row h3{font-size:22px!important;line-height:1.3!important}
.asr28-cap-row p{font-size:15px!important;line-height:1.68!important;color:#c6c6ce!important}
.asr28-cap-row strong{font-size:12px!important;line-height:1.55!important;color:#b1b1bb!important;letter-spacing:.07em!important}
.asr28-pipeline i{font-size:12px!important}
.asr28-pipeline b{font-size:17px!important;line-height:1.35!important}
.asr28-pipeline p{font-size:14px!important;line-height:1.65!important;color:#c5c5cd!important}
.asr28-pipeline small{font-size:12.5px!important;line-height:1.58!important;color:#a8a8b2!important}
.asr28-pipeline-note b{font-size:13px!important}
.asr28-pipeline-note p{font-size:14.5px!important;line-height:1.65!important;color:#c5c5cd!important}
.asr28-output span{font-size:11px!important;color:#a4a4ae!important}
.asr28-output h3{font-size:23px!important;line-height:1.3!important}
.asr28-output p{font-size:14.5px!important;line-height:1.68!important;color:#c7c7cf!important}
.asr28-output strong{font-size:12.5px!important;color:#bca8ff!important}
.asr28-standard-copy p{font-size:17px!important;line-height:1.72!important;color:#c9c9d1!important}
.asr28-principle span{font-size:11px!important}
.asr28-principle b{font-size:16px!important;line-height:1.4!important}
.asr28-principle p{font-size:14px!important;line-height:1.62!important;color:#c3c3cc!important}
.asr28-closing p{font-size:16px!important;line-height:1.7!important;color:#c9c9d1!important}
.asr28-closing a{font-size:14px!important;line-height:2!important}

/* Legacy/dynamic Home blocks retained below the new opening. */
body.asr-public-authority-v20260928 main.home-premium-v131805>.hp-section :where(p,li,small){color:#c5c5cd!important;font-size:14px!important;line-height:1.65!important}
body.asr-public-authority-v20260928 main.home-premium-v131805>.hp-section :where(h2,h3,h4,b,strong){color:#f5f5f7!important}
body.asr-public-authority-v20260928 main.home-premium-v131805>.hp-section :where(.eyebrow,[class*="kicker"],.section-title>span,.card-top>span){color:#bca8ff!important;font-size:12px!important}

/* Services — consistent contrast and comfortable reading size. */
body.asr-public-authority-v20260928 .asr-services-page{color:#f7f7f9!important}
body.asr-public-authority-v20260928 .asr-services-page :where(p,li){color:#c8c5ce!important}
.asr-svc-kicker{font-size:12px!important;color:#c3b4ff!important}
.asr-svc-hero h1 em{color:#bca8ff!important}
.asr-svc-lead{font-size:19px!important;line-height:1.72!important;color:#d0ccd4!important}
.asr-svc-actions a{font-size:14px!important}
.asr-svc-hero-aside span{font-size:12px!important;color:#aaa4b0!important}
.asr-svc-hero-aside b{font-size:16.5px!important;line-height:1.5!important;color:#f6f4f8!important}
.asr-svc-strip span{font-size:12px!important;color:#aaa4b0!important}
.asr-svc-strip b{font-size:17px!important;line-height:1.45!important}
.asr-svc-section-head>span{font-size:12px!important;color:#bca8ff!important}
.asr-svc-section-head p{font-size:16.5px!important;line-height:1.72!important;color:#c5c0ca!important}
.asr-svc-card-top span{font-size:12px!important;color:#aaa4b0!important}
.asr-svc-card h3{font-size:27px!important;line-height:1.28!important}
.asr-svc-card p{font-size:15.5px!important;line-height:1.72!important;color:#c8c3cc!important}
.asr-svc-deliverables span{font-size:12.5px!important;line-height:1.35!important;color:#ded9e2!important;border-color:#37303f!important}
.asr-svc-process i{font-size:12px!important}
.asr-svc-process h3{font-size:19px!important}
.asr-svc-process p{font-size:14.5px!important;line-height:1.64!important;color:#c0bbc5!important}
.asr-svc-output-grid span{font-size:12px!important;color:#bca8ff!important}
.asr-svc-output-grid h3{font-size:19px!important;line-height:1.4!important}
.asr-svc-output-grid p{font-size:14.5px!important;line-height:1.65!important;color:#c2bdc7!important}
.asr-svc-audience h3{font-size:25px!important;line-height:1.35!important}
.asr-svc-audience p{font-size:15.5px!important;line-height:1.72!important;color:#c8c3cc!important}
.asr-svc-audience li{font-size:14.5px!important;line-height:1.55!important;color:#d0cbd4!important}
.asr-svc-engage-copy p{font-size:16px!important;line-height:1.74!important;color:#c7c2cc!important}
.asr-svc-engage-steps span{font-size:12px!important}
.asr-svc-engage-steps h3{font-size:18px!important}
.asr-svc-engage-steps p{font-size:14px!important;line-height:1.62!important;color:#bbb6c1!important}
.asr-svc-cta p{font-size:15.5px!important;line-height:1.7!important;color:#c7c2cc!important}
.asr-svc-cta-actions a{font-size:14px!important}
.asr-svc-boundary{font-size:12.5px!important;line-height:1.65!important;color:#aaa4b0!important}

@media(max-width:900px){
 body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header) nav.open :where(a,button){font-size:15px!important;color:#ededf1!important;line-height:1.35!important}
 body.asr-public-authority-v20260928 :where(.site-header,.asr-shared-public-header) nav.open{background:#050506!important;border-color:#313137!important}
}
@media(max-width:720px){
 .asr28-kicker,.asr-svc-kicker{font-size:11.5px!important}
 .asr28-home-hero .asr28-lede,.asr-svc-lead{font-size:16.5px!important;line-height:1.68!important}
 .asr28-section-head p,.asr-svc-section-head p,.asr28-standard-copy p,.asr-svc-engage-copy p{font-size:15.5px!important}
 .asr28-cap-row p,.asr28-output p,.asr28-pipeline p,.asr-svc-card p,.asr-svc-process p,.asr-svc-output-grid p,.asr-svc-audience p,.asr-svc-engage-steps p{font-size:14.5px!important}
 .asr28-domain-line span{font-size:12.5px!important}
}
