/* ASR Institutional Editorial System · 2026-10-17
   Focused public-only visual layer; not a clone of any third-party brand.
   Real content, clear hierarchy, strong color contrast, restrained motion. */

/* Global header: distinguish primary destinations from utility controls. */
html body > header.asr-unified-header {
  border-bottom: 1px solid #e8e1eb !important;
  box-shadow: 0 1px 0 rgba(54,36,63,.025) !important;
}
html body > header.asr-unified-header .asr-uh-nav > a {
  position: relative !important;
  font-weight: 660 !important;
  font-size: 14px !important;
  color: #312639 !important;
  -webkit-text-fill-color: #312639 !important;
  letter-spacing: -.012em !important;
}
html body > header.asr-unified-header .asr-uh-nav > a::after {
  content: '' !important; position: absolute !important;
  left: 13px !important; right: 13px !important; bottom: 2px !important;
  height: 2px !important; border-radius: 2px !important;
  background: #76349c !important; transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform .22s cubic-bezier(.2,.8,.2,1) !important;
}
html body > header.asr-unified-header .asr-uh-nav > a:is(:hover,:focus-visible,[aria-current="page"])::after {
  transform: scaleX(1) !important;
}
html body > header.asr-unified-header .asr-uh-nav > a[aria-current="page"] {
  color: #662e85 !important; -webkit-text-fill-color: #662e85 !important;
  background: #faf5fc !important;
}
html body > header.asr-unified-header .asr-uh-nav > details > summary {
  font-size: 14px !important; font-weight: 600 !important;
  color: #42374a !important; -webkit-text-fill-color: #42374a !important;
}
html body > header.asr-unified-header .asr-uh-actions > a:focus-visible,
html body > header.asr-unified-header .asr-uh-nav > a:focus-visible {
  outline: 3px solid #863fb2 !important; outline-offset: 3px !important;
}
html body > header.asr-unified-header .asr-uh-dropdown-panel {
  border-radius: 16px !important;
  box-shadow: 0 24px 70px rgba(33,20,41,.13) !important;
}

/* Less visual noise: one typographic convention across four public journeys. */
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-section-head > div > span,
html body .public-site[data-page="research"] main .page-hero .eyebrow,
html body .public-site[data-page="about"] main .asr-about-v3-kicker,
html body .public-site[data-page="careers"] main .asr-careers-eyebrow,
html body.asr-services-light main.asr-services-page .asr-svc-kicker {
  font-size: clamp(12px,.85vw,13px) !important;
  line-height: 1.55 !important;
  font-weight: 750 !important;
  letter-spacing: .11em !important;
}
html body .public-site[data-page="home"] main.home-premium-v131805 .hp-section-head h2,
html body .public-site[data-page="research"] main.research-premium h1,
html body .public-site[data-page="about"] main.about-page h1,
html body .public-site[data-page="careers"] main.asr-careers-page h1,
html body.asr-services-light main.asr-services-page .asr-svc-hero h1 {
  text-wrap: balance !important;
  overflow-wrap: break-word !important;
  letter-spacing: -.048em !important;
  line-height: 1.1 !important;
}
html body .public-site[data-page="about"] main.about-page :is(
 .asr-about-v3-copy > p, .asr-about-v3-intro p, .asr-about-v3-detail p
),
html body .public-site[data-page="careers"] main.asr-careers-page :is(
 .asr-careers-hero-content > p, .asr-careers-section-head p
),
html body .public-site[data-page="research"] main.research-premium :is(
 .rp-intro p, .rp-section-head p
) {
  font-size: clamp(16px,1.16vw,18px) !important;
  line-height: 1.74 !important;
  color: #54475d !important;
  -webkit-text-fill-color: #54475d !important;
}
html body .public-site[data-page="careers"] main.asr-careers-page .asr-careers-hero h1 em {
  color: #70358f !important; -webkit-text-fill-color: #70358f !important;
}
/* A measured action treatment avoids loud purple gradients everywhere. */
html body .public-site[data-page="home"] main.home-premium-v131805 :is(
 .asr-service-lines > article, .asr-home-explore-panel, .hp-research-card
),
html body .public-site[data-page="careers"] main.asr-careers-page :is(
 .asr-careers-role-card, .asr-careers-internship-card
),
html body .public-site[data-page="research"] main.research-premium :is(
 .rp-publication-card, .rp-card
) {
  transition: transform .24s cubic-bezier(.2,.8,.2,1),
    border-color .24s ease, box-shadow .24s ease !important;
}
@media(hover:hover) {
  html body .public-site[data-page="home"] main.home-premium-v131805 .asr-service-lines > article:hover,
  html body .public-site[data-page="research"] main.research-premium .rp-publication-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 16px 40px rgba(59,35,72,.085) !important;
  }
}
/* Avoid side scrolling and keep the same generous margin on small devices. */
@media(max-width:1340px) {
  html body > header.asr-unified-header .asr-uh-nav > a::after { display:none !important; }
  html body > header.asr-unified-header .asr-uh-nav > a[aria-current="page"] {
    border-left: 3px solid #7a409c !important;
    padding-left: 13px !important;
  }
}
@media(max-width:700px) {
  html body .public-site[data-page="careers"] main.asr-careers-page .asr-careers-hero h1,
  html body .public-site[data-page="about"] main.about-page h1 {
    font-size: clamp(34px,8.5vw,50px) !important;
    line-height: 1.1 !important;
  }
  html body .public-site[data-page="careers"] main.asr-careers-page .asr-careers-hero-content > p {
    font-size: 16px !important; line-height: 1.72 !important;
  }
  html body > header.asr-unified-header .asr-uh-nav > a {
    min-height: 46px !important; font-size: 15px !important;
  }
}
@media(prefers-reduced-motion:reduce) {
  html body > header.asr-unified-header .asr-uh-nav > a::after,
  html body .public-site[data-page="home"] main.home-premium-v131805 :is(.asr-service-lines > article,.asr-home-explore-panel,.hp-research-card),
  html body .public-site[data-page="research"] main.research-premium :is(.rp-publication-card,.rp-card) {
    transition: none !important; animation: none !important;
    transform: none !important;
  }
}