/* Shared approved navy, cyan and purple for public-site heroes and footers. */
body.brand-unified{--hero-navy:#051e2c;--hero-cyan:#42e4ec;--hero-accent:#78e7eb;--hero-purple:#8b5cf6;--hero-copy:#c0cdd8}
body.brand-unified :is(.hero:not(.home-arches),.audience-hero,.how-hero,.contact-hero,.page-hero),
body.brand-unified footer.site-footer,
body.brand-unified :is(.journey-section,.audience-closing,.closing,.about-closing){background:var(--hero-navy)!important;color:#fff}
body.brand-unified .signal-strip{display:none}
body.brand-unified :is(.site-header,.policy-header){background:var(--hero-navy)!important;border-color:transparent!important;backdrop-filter:none!important}
body.brand-unified .home-arches .site-header{background:transparent!important}
body.brand-unified :is(.site-header,.policy-header,.site-footer) .site-brand{color:#fff!important}
body.brand-unified .site-brand:before{background-image:url('/brand-insight-loop-cyan-20261004.svg')}
body.brand-unified .site-brand .brand-i{color:var(--hero-cyan)!important}
body.brand-unified .site-brand .x{color:var(--hero-purple)!important;-webkit-text-fill-color:var(--hero-purple)!important}
body.brand-unified .site-links>a,body.brand-unified .portal-menu>summary,
body.brand-unified .policy-nav a{color:#d1dbe2!important}
body.brand-unified .site-links>a:hover,body.brand-unified .site-links>a[aria-current=page],
body.brand-unified .policy-nav a:hover{color:#fff!important}
body.brand-unified .site-links>a:after{background:var(--hero-cyan)!important}
/* Give the sign-in label and chevron genuine breathing room inside the pill. */
body.brand-unified .site-header .portal-menu>summary{
 display:flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;
 min-height:44px;padding:8px 16px!important;border:1px solid var(--hero-cyan);
 border-radius:999px;font-family:Inter,ui-sans-serif,sans-serif;font-size:.94rem;
 font-weight:600;line-height:1.5;white-space:nowrap
}
body.brand-unified .portal-menu>summary:after{margin:0;flex:none}
body.brand-unified .portal-options{top:calc(100% + 8px);background:var(--hero-navy)!important;border-color:var(--hero-purple)!important}
body.brand-unified .site-links .portal-options a,
body.brand-unified .site-links .portal-options .portal-option-title{color:#fff!important}
body.brand-unified .site-links .portal-options .portal-option-description{color:var(--hero-copy)!important}
body.brand-unified .site-links .portal-options a:hover,
body.brand-unified .policy-nav a:hover{background:#123b4b!important}
/* Match the approved homepage scale, weight and rhythm at each viewport. */
body.brand-unified.marketing-page .hero-layout h1,
body.brand-unified .how-hero h1,body.brand-unified .page-hero h1{
 font-family:Manrope,Inter,ui-sans-serif,sans-serif!important;
 font-size:clamp(2.5rem,5.1vw,4.5rem)!important;font-weight:800!important;
 line-height:1.12!important;letter-spacing:-.045em!important;color:#fff!important
}
body.brand-unified.marketing-page .hero-layout h1 span,
body.brand-unified .how-hero h1 span{font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
body.brand-unified.marketing-page .hero-layout h1 .accent,
body.brand-unified.marketing-page .audience-hero .audience-copy h1>span,
body.brand-unified .about-hero h1 span,
body.brand-unified .how-hero h1 .hero-line-accent{color:var(--hero-accent)!important}
body.brand-unified.marketing-page .hero-layout h1 .hero-title-lead,
body.brand-unified.candidate-page .audience-hero .audience-copy h1 .headline-bridge{color:#fff!important}
body.brand-unified.candidate-page .audience-hero .audience-copy h1 .candidate-match-line span:last-child{color:var(--hero-accent)!important}
body.brand-unified.marketing-page .hero-layout .hero-layout-kicker,
body.brand-unified .how-hero .how-eyebrow{
 color:var(--hero-accent)!important;font-family:Inter,ui-sans-serif,sans-serif!important;
 font-size:.76rem!important;font-weight:700!important;line-height:1.5!important;letter-spacing:.19em!important;text-transform:uppercase
}
body.brand-unified.marketing-page .hero-layout .hero-layout-kicker:before,
body.brand-unified .how-hero .how-eyebrow:before{content:"";display:block;width:36px;height:2px;flex:0 0 36px;background:var(--hero-accent)!important}
body.brand-unified.marketing-page .hero-layout :is(.lead,.audience-lead,.contact-intro,.about-hero-intro p),
body.brand-unified .how-hero .how-lead{
 font-family:Inter,ui-sans-serif,sans-serif!important;font-size:1.125rem!important;
 font-weight:500!important;line-height:1.7!important;color:var(--hero-copy)!important
}
body.brand-unified .about-hero .about-tagline,
body.brand-unified .audience-hero .audience-entry-note{color:var(--hero-copy)!important}
body.brand-unified .about-hero .human-judgement,
body.brand-unified .audience-hero .entry-sign-in{color:var(--hero-accent)!important}
body.brand-unified :is(.hero,.audience-hero,.how-hero,.page-hero,.contact-hero,.journey-section,.audience-closing,.closing,.about-closing) :is(.btn-primary,.action-primary,.section-action,.text-link){
 background:var(--hero-cyan)!important;border:1px solid var(--hero-cyan)!important;
 color:#041e2c!important;border-radius:999px!important;box-shadow:none!important
}
body.brand-unified :is(.hero,.audience-hero,.how-hero,.page-hero,.contact-hero,.journey-section,.audience-closing,.closing,.about-closing) :is(.btn-secondary,.action-secondary){
 background:transparent!important;border:2px solid var(--hero-cyan)!important;
 color:#fff!important;border-radius:999px!important;box-shadow:none!important
}
body.brand-unified :is(.hero,.audience-hero,.how-hero,.page-hero,.contact-hero) :is(.btn-primary,.action-primary,.btn-secondary,.action-secondary){
 font-family:Inter,ui-sans-serif,sans-serif!important;font-size:.94rem!important;font-weight:700!important;line-height:1.5!important;min-height:51px;box-sizing:border-box
}
body.brand-unified :is(.hero,.audience-hero,.how-hero,.page-hero,.contact-hero,.journey-section,.audience-closing,.closing,.about-closing) :is(.btn-primary,.action-primary,.section-action,.text-link):hover{background:#8af2f5!important;border-color:#8af2f5!important}
body.brand-unified :is(.hero,.audience-hero,.how-hero,.page-hero,.contact-hero) :is(.btn-secondary,.action-secondary):hover{background:#123b4b!important}
body.brand-unified :is(.journey-section,.audience-closing,.closing,.about-closing) :is(.journey-tag,.section-kicker,.entry-sign-in){color:var(--hero-accent)!important}
body.brand-unified :is(.journey-section,.audience-closing,.closing,.about-closing) p,
body.brand-unified .site-footer .copyr{color:var(--hero-copy)!important}
body.brand-unified .site-footer nav a{color:#d1dbe2!important}
body.brand-unified .site-footer nav a:hover{color:var(--hero-accent)!important}
body.brand-unified :is(.hero,.audience-hero,.how-hero,.page-hero,.contact-hero,.site-header,.policy-header,.site-footer,.journey-section,.audience-closing,.closing,.about-closing) :is(a,button,summary):focus-visible{outline-color:var(--hero-accent)!important}
@media(max-width:1120px) and (min-width:861px){
 body.brand-unified .site-nav{gap:20px}
 body.brand-unified .site-links{gap:16px}
 body.brand-unified .site-header .portal-menu>summary{padding:8px 16px!important;font-size:.88rem}
}
@media(max-width:860px){
 body.brand-unified .site-links{background:var(--hero-navy)!important;border-color:var(--hero-purple)!important}
 body.brand-unified .site-links>a:hover{background:#123b4b!important}
 body.brand-unified .menu-toggle{background:transparent!important;border-color:var(--hero-cyan)!important}
 body.brand-unified .menu-toggle span{background:var(--hero-cyan)!important}
 body.brand-unified .portal-options{position:static;width:100%;box-shadow:none}
 body.brand-unified .site-header .portal-menu>summary{justify-content:space-between;margin:8px 12px}
}
@media(max-width:620px){
 body.brand-unified.marketing-page .hero-layout .hero-layout-kicker{font-size:.7rem!important;letter-spacing:.12em!important}
 body.brand-unified.marketing-page .hero-layout :is(.lead,.audience-lead,.contact-intro,.about-hero-intro p),
 body.brand-unified .how-hero .how-lead{font-size:1.0625rem!important}
}

/* Full desktop opening view, matching Home without clipping taller content. */
@media(min-width:861px){
 body.brand-unified.marketing-page :is(.audience-hero,.about-hero,.contact-hero){
  display:flex;flex-direction:column;box-sizing:border-box;
  min-height:100vh!important;min-height:100svh!important
 }
 body.brand-unified.marketing-page :is(.audience-hero,.about-hero,.contact-hero)>.site-header{flex:none}
 body.brand-unified.marketing-page :is(.audience-hero,.about-hero,.contact-hero)>.hero-layout{
  flex:1;box-sizing:border-box;align-content:start!important;
  padding-top:clamp(56px,12svh,120px)!important;
  padding-bottom:56px!important
 }
}

/* Informational pages use content-sized heroes; Home and audience pages retain their opening view. */
@media(min-width:861px){
 body.brand-unified.marketing-page :is(.about-hero,.contact-hero){min-height:0!important}
 body.brand-unified.marketing-page :is(.about-hero,.contact-hero)>.hero-layout{flex:none;padding-bottom:80px!important}
}

/* Slightly quieter About headline balances the adjacent introduction. */
body.brand-unified.marketing-page.about-page .about-hero .hero-layout h1{font-size:clamp(2.375rem,4.8vw,4.25rem)!important}

/* Keep audience and Home headlines on the shared scale despite older page overrides. */
body.brand-unified.marketing-page:not(.about-page) :is(.hero,.audience-hero,.contact-hero) .hero-layout h1{font-size:clamp(2.5rem,5.1vw,4.5rem)!important;line-height:1.12!important;letter-spacing:-.045em!important}
