/* About Us. Every rule is scoped to a class starting "au-". */

.au-lede { max-width: 760px; margin-left: auto; margin-right: auto; font-size: 17px; }

/* Our History: four fact tiles beside the story and quote */
.au-history-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 56px 120px; align-items: start; max-width: 1240px; margin: 0 auto; }
.au-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 560px; }
.au-facts li { display: flex; flex-direction: column; align-items: center; padding: 24px 16px; border: 1px solid #c9dcf0; border-radius: var(--radius); background: #f1f6fc; text-align: center; }
.au-facts .icon-tile { width: 48px; height: 48px; background: var(--steel-soft); color: var(--steel); font-size: 22px; margin-bottom: 18px; }
.au-facts strong { font-family: var(--font-head); font-size: 36px; line-height: 1.1; color: var(--navy-text); }
.au-facts li > span:last-child { font-size: 14px; color: var(--text); }
.au-story > p { font-size: 17px; line-height: 1.75; }
.au-story strong { color: #475569; }
.au-quote { position: relative; margin: 36px 0 0; padding: 28px 28px 24px 96px; border-left: 3px solid var(--steel); border-radius: 0 var(--radius) var(--radius) 0; background: #eef3f9; }
.au-quote > .icon { position: absolute; left: 22px; top: 24px; width: 30px; height: 30px; color: var(--steel); opacity: .35; }
.au-quote p { margin: 0; font-family: var(--font-head); font-style: italic; font-size: 21px; line-height: 1.4; color: var(--navy-text); }
.au-quote .au-quote-by { margin-top: 18px; font-style: normal; font-size: 14px; color: #475569; }

/* Mission Statement on navy */
.au-mission { background: linear-gradient(135deg, #1a2b4b 0%, #1d3768 50%, #1a2b4b 100%); text-align: center; color: #e2e8f0; }
.au-mission .icon-tile { margin-bottom: 24px; }
.au-mission h2 { font-family: var(--font-head); font-size: clamp(32px, 4vw, 48px); letter-spacing: -.02em; color: #fff; }
.au-mission p { max-width: 820px; margin: 24px auto 0; font-size: 22px; line-height: 1.8; }

/* Our Focus cards */
.au-focus { max-width: 1220px; margin: 0 auto; }
.au-focus .icon-tile { background: var(--steel-soft); color: var(--steel); }
.au-focus h3 { margin-bottom: 14px; font-family: var(--font-head); font-weight: 400; font-size: 24px; }
.au-focus p { font-size: 15px; }

/* Our Instructors */
.au-team { background: #fafcfc; }
.au-person { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; max-width: 1180px; margin: 0 auto; }
.au-person + .au-person { margin-top: 72px; }
.au-photo { margin: 0; }
.au-photo img { width: 100%; max-width: 570px; }
.au-bio h3 { font-family: var(--font-head); font-size: 32px; letter-spacing: -.01em; }
.au-role { margin: 10px 0 26px; color: var(--steel-text); }
.au-bio > p:not(.au-role) { line-height: 1.8; }
.au-bio h4 { margin: 32px 0 18px; font-family: var(--font-head); font-size: 14px; letter-spacing: .04em; text-transform: uppercase; }
.au-tags { display: flex; flex-wrap: wrap; gap: 10px 8px; }
.au-tags li { padding: 6px 12px; border-radius: 999px; background: #eef0f3; color: var(--navy-text); font-size: 14px; }
.au-awards { display: grid; gap: 16px; }
.au-awards li { display: flex; align-items: center; gap: 16px; padding: 22px 16px; border: 1px solid #edf0f4; border-radius: 12px; background: #fff; }
.au-awards .icon-tile { width: 40px; height: 40px; border-radius: 10px; background: #f1f6fc; color: var(--steel); font-size: 20px; }
.au-awards strong { display: block; color: #0d121b; font-size: 16px; font-weight: 600; }
.au-awards li span:not(.icon-tile) { display: block; font-size: 14px; line-height: 1.45; }

/* Organizations We've Supported, on navy */
.au-partners { background: linear-gradient(135deg, #1a2b4b 0%, #1d3768 50%, #1a2b4b 100%); color: rgb(255 255 255 / 75%); }
.au-partners .eyebrow { color: #fff; }
.au-partners h2 { color: #fff; text-wrap: balance; }
.au-partners .lede { font-size: 18px; }
.au-partners .section-head { margin-bottom: 40px; }
.au-partner-count { display: flex; align-items: center; justify-content: center; gap: 16px; width: min(400px, 100%); margin: 0 auto 44px; padding-bottom: 22px; border-bottom: 2px solid; border-image: linear-gradient(90deg, transparent, var(--steel), transparent) 1; }
.au-partner-number { font-family: var(--font-head); font-size: 44px; line-height: 1; background: linear-gradient(90deg, #4892dc, #a5d2ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.au-partner-count p { margin: 0; line-height: 1.35; }
.au-partner-count strong { display: block; color: #fff; font-weight: 400; }
.au-partner-count p span { font-size: 14px; }
.au-orgs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; max-width: 1280px; margin: 0 auto; }
.au-orgs li { display: flex; align-items: center; justify-content: center; min-height: 67px; padding: 12px 10px; border: 1px solid rgb(255 255 255 / 10%); border-radius: 4px; background: rgb(255 255 255 / 5%); color: rgb(255 255 255 / 72%); font-size: 11px; font-weight: 500; line-height: 15px; letter-spacing: .3px; text-transform: uppercase; text-align: center; }
.au-more { max-width: 1280px; margin: 0 auto; }
.au-more > summary { width: max-content; margin: 36px auto 0; list-style: none; cursor: pointer; color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.au-more > summary::-webkit-details-marker { display: none; }
.au-more[open] > summary { display: none; }
.au-more .au-orgs { margin-top: 24px; }
.au-case-studies { max-width: 512px; margin: 64px auto 0; text-align: center; }
.au-case-studies p { margin-bottom: 14px; font-size: 18px; }
.au-case-studies .btn { width: 100%; }

/* Countries Served */
.au-regions .tab-list { gap: 4px 12px; margin-bottom: 28px; }
.au-regions .tab-list [role="tab"] { display: inline-flex; align-items: center; gap: 6px; padding: 10px 12px; border: 1px solid transparent; border-radius: 8px; background: none; color: var(--navy-text); font-family: var(--font-head); font-size: 18px; font-weight: 400; }
.au-regions .tab-list [role="tab"] .icon { width: 16px; height: 16px; color: var(--steel); }
.au-regions .tab-list [role="tab"][aria-selected="true"] { border-color: #a9cbee; background: #f1f6fc; color: var(--navy-text); }
.au-regions .tab-list [role="tab"]:hover { color: var(--steel-text); }
.au-countries { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 9px; max-width: 1060px; margin: 0 auto; }
.au-countries li { padding: 8px 15px; border-radius: 999px; background: #f1f3f5; color: var(--navy-text); font-size: 14px; }
.au-counters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1150px; margin: 50px auto 0; }
.au-counters li { display: flex; flex-direction: column; padding: 32px 30px 30px; border: 1px solid #c9dcf0; border-radius: 12px; background: #f5f8fc; font-size: 14px; }
.au-counter-number { font-family: var(--font-head); font-size: 34px; line-height: 1.1; color: var(--navy-text); margin-bottom: 6px; font-variant-numeric: lining-nums; }

/* Interested in Collaborating? */
.au-collab { background: #f2f4f7; }
.au-collab-card { max-width: 1280px; margin: 0 auto; padding: 48px 32px 40px; border: 1px solid #e5e9ef; text-align: center; }
.au-collab-card h2 { font-family: var(--font-head); font-size: clamp(32px, 4vw, 48px); letter-spacing: -.02em; margin-bottom: 24px; }
.au-collab-card > p:not(.eyebrow) { max-width: 760px; margin-left: auto; margin-right: auto; font-size: 19px; line-height: 1.5; }
.au-collab-card a:not(.btn) { color: var(--steel-text); text-decoration: none; }
.au-collab-card .btn { margin-top: 20px; }
.au-ways { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 18px; max-width: 780px; margin: 34px auto 0; padding-top: 34px; border-top: 1px solid #cfd5dd; color: var(--text); font-size: 14px; letter-spacing: .08em; }
.au-collab-card > p.au-ways-label { max-width: 780px; margin: 34px auto 0; padding-top: 30px; border-top: 1px solid #cfd5dd; font-size: 14.5px; }
.au-ways-label + .au-ways { margin-top: 14px; padding-top: 0; border-top: 0; }
.au-ways li { display: flex; align-items: center; gap: 10px; }
.au-ways .icon { width: 24px; height: 24px; opacity: .8; }
.au-collab-note { max-width: 860px; margin: 40px auto 0; text-align: center; font-size: 14px; color: var(--text); }

@media (max-width: 1100px) {
  .au-history-inner, .au-person { grid-template-columns: 1fr; gap: 48px; }
  .au-facts { margin: 0 auto; width: 100%; }
  .au-photo { max-width: 520px; margin: 0 auto; }
  .au-orgs { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 760px) {
  .au-facts { gap: 10px; }
  .au-facts strong { font-size: 30px; }
  .au-quote { padding: 64px 20px 20px 22px; }
  .au-quote p { font-size: 19px; }
  .au-mission p { font-size: 18px; }
  .au-bio h3 { font-size: 28px; }
  .au-orgs { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .au-orgs li { padding: 10px 8px; }
  .au-regions .tab-list [role="tab"] { font-size: 16px; padding: 8px 10px; }
  .au-counters { grid-template-columns: 1fr; }
  .au-collab-card { padding: 40px 20px 32px; }
  .au-collab-card > p:not(.eyebrow) { font-size: 17px; }
  .au-ways { flex-direction: column; align-items: center; }
}

/* Banner (2026-11-05): the photo's three people (the team) stand to the right; their heads span rows
   285-400 of 876, 39% down at their middle. Centred, the heads slid up under the see-through header, so the
   heads' middle is held at 240px, the middle of the banner's part below the header: the photo is 45.6vw tall
   where it covers by width, so the heads' middle is 17.8vw below its top. clamp() keeps the photo filling the
   banner. Narrow screens, where it covers by height, keep it centred. */
.au-hero { background-position: 50% clamp(100%, calc(240px - 17.8vw), 0px); }


/* ---- Dark mode, generated by tools/darkmode.py when the site is built. Don't edit this part in site/; change the light rule in src/, or add a hand-written dark rule. ---- */
@media (prefers-color-scheme: dark) {
  .au-facts li { border-color: #333f4b; background-color: #181d28; }
  .au-facts .icon-tile { color: #7ebaf9; }
  .au-story strong { color: #bbcbe3; }
  .au-quote { border-left-color: #4892dc; background-color: #1a202a; }
  .au-quote > .icon { color: #7ebaf9; }
  .au-quote .au-quote-by { color: #bbcbe3; }
  .au-mission h2 { color: #ffffff; }
  .au-focus .icon-tile { color: #7ebaf9; }
  .au-team { background-color: #131923; }
  .au-tags li { background-color: #1c222c; }
  .au-awards li { border-color: #2f3641; background-color: #111620; }
  .au-awards .icon-tile { background-color: #181d28; color: #7ebaf9; }
  .au-awards strong { color: #dee6f3; }
  .au-partners .eyebrow { color: #ffffff; }
  .au-partners h2 { color: #ffffff; }
  .au-partner-count strong { color: #ffffff; }
  .au-orgs li { border-color: rgb(42 49 60 / 10%); background-color: rgb(17 22 32 / 5%); }
  .au-more > summary { color: #ffffff; }
  .au-regions .tab-list [role="tab"] .icon { color: #7ebaf9; }
  .au-regions .tab-list [role="tab"][aria-selected="true"] { border-color: #31465c; background-color: #181d28; }
  .au-countries li { background-color: #1a1f2a; }
  .au-counters li { border-color: #333f4b; background-color: #161c26; }
  .au-collab { background-color: #191f29; }
  .au-collab-card { border-color: #323844; }
  .au-ways { border-top-color: #393f4b; }
  .au-collab-card > p.au-ways-label { border-top-color: #393f4b; }
}
