/* Public site QC: scoped layouts, accessible controls, stable anchor spacing. */
html { scroll-padding-top: 100px; }
main section[id] { scroll-margin-top: 100px; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline:2px solid #4a83dc;
  outline-offset: 5px;
}
main h1, main h2, main h3 { text-wrap: balance; }

/* Team portraits are normal document content, never a testimonial overlay. */
#about-people { padding-block: clamp(64px, 6vw, 96px) !important; }
#about-people h2 { font-size: clamp(34px, 4.5vw, 70px) !important; }
#about-people .acre-team-grid {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
}
#about-people .acre-team-grid > sc-for { display: contents; }
#about-people .acre-team-card { min-width: 0; }
#about-people .acre-team-portrait { aspect-ratio: 4 / 5; }
#about-people .acre-team-portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#about-people .acre-team-card h3 {
  font-size: clamp(18px, 1.45vw, 24px) !important;
  line-height: 1.12 !important;
  overflow-wrap: normal;
}
#about-people [data-team-role] { line-height: 1.6; }

header a { text-decoration: none; }
header nav[aria-label="Main"] { min-width: 0; }
header nav[aria-label="Main"] a[aria-current="page"] { text-decoration: underline; text-underline-offset: 7px; }
.acre-nav-group { align-items: center; gap: 2px; }
.acre-submenu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  min-width: 26px;
  height: 44px;
  padding: 0;
  border:0;
  background:transparent;
  color:inherit;
  font: 16px/1 sans-serif;
  cursor: pointer;
}
.acre-submenu-toggle:hover, .acre-submenu-toggle[aria-expanded="true"] { background:rgb(var(--acre-rgb) / .15); }
[data-mega-panel] a:hover { border-top-color: #4a83dc !important; }
[data-mega-panel] a:focus-visible { outline-offset: 0; }
@media (min-width: 1440px) {
  header > div:first-child { gap: 24px !important; }
  header nav[aria-label="Main"] { gap: 18px !important; }
}
header [data-burger], [aria-label="Close menu"] {
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}
nav[aria-label="Mobile"] a {
  text-decoration: none;
  min-height: 44px;
}
nav[aria-label="Mobile"] a[aria-current="page"] { color:var(--acre-accent) !important; }
nav[aria-label="Mobile"] .acre-mobile-subpage {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 12px 0 12px 18px !important;
  border-top:0 !important;
  color:var(--acre-muted) !important;
}
.acre-mobile-nav { margin-top: 24px !important; }
.acre-mobile-group { border-top:1px solid var(--acre-border); }
.acre-mobile-row { align-items: center; }
.acre-mobile-primary {
  flex: 1;
  padding: 15px 0;
  color:var(--acre-text);
  font: 700 clamp(25px, 7vw, 34px)/1.15 Archivo, sans-serif;
  letter-spacing: -.02em;
  text-transform: uppercase;
}
.acre-mobile-toggle {
  flex: 0 0 44px;
  border:0;
  background:transparent;
  color:var(--acre-text);
  font: 22px/1 sans-serif;
  cursor: pointer;
}
.acre-mobile-toggle[aria-expanded="true"] { background:rgb(var(--acre-rgb) / .08); }
.acre-mobile-submenu { display: flex; flex-direction: column; padding-bottom: 12px; }
.acre-mobile-apply { margin-top: 24px !important; flex-shrink: 0; }
#acre-mobile-menu > div:first-child { flex-shrink: 0; }

@media (max-width: 1100px) {
  #about-people .acre-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 84px; }
  main section[id] { scroll-margin-top: 84px; }
  #about-people .acre-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  #about-people .acre-team-card h3 { font-size: 19px !important; }
  #about-people [data-team-role] { font-size: 9px !important; letter-spacing: .1em !important; }
  header [data-nav-logo] { max-width: calc(100vw - 100px) !important; height: auto !important; max-height: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}

/* The whole category is the disclosure target. */
.acre-nav-disclosure { display:flex; align-items:center; gap:10px; min-height:44px; padding:6px 0; border:0; background:none; color:var(--acre-text); cursor:pointer; font:11px 'IBM Plex Mono',monospace; letter-spacing:.18em; text-transform:uppercase; }
.acre-nav-disclosure[aria-expanded="true"] span[aria-hidden="true"] { transform:rotate(180deg); }
.acre-mobile-row.acre-mobile-primary { display:flex; width:100%; align-items:center; justify-content:space-between; border:0; background:none; text-align:left; cursor:pointer; }
.acre-mobile-row.acre-mobile-primary span[aria-hidden="true"] { font-size:22px; font-weight:400; }
