
/* Preserve card typography while using a sequential heading outline. */
body.site #main .amf-subheading{font-family:Arial,Helvetica,sans-serif;font-size:1.6rem;line-height:1.22;letter-spacing:-.025em;font-weight:500;text-wrap:initial}
body.site #main .value h2.amf-subheading{font-family:Georgia,serif;font-size:2rem;margin:27px 0 17px}
body.site #main .contact-info h2.amf-subheading{font-family:Georgia,serif;font-size:1.9rem;margin:0 0 25px}
body.site #main .source-list h3.amf-small-heading{font-size:.83rem;font-weight:600;line-height:1.65;letter-spacing:normal;margin-bottom:10px}
@media(max-width:1100px){body.site #main .value h2.amf-subheading{font-size:1.7rem}}
@media(max-width:760px){body.site #main .value h2.amf-subheading{font-size:1.9rem;margin:20px 0 13px}}
/* Load after the theme styles. All changes stay inside the Amerpass site. */
body.site .hero-content{animation:none!important;opacity:1!important}
@media(max-width:760px){body.site #main .page-head h1{font-size:clamp(2.2rem,10.5vw,2.8rem);overflow-wrap:anywhere;hyphens:auto}}
.site-footer .footer-title{font-family:Arial,Helvetica,sans-serif;font-size:.8rem;font-weight:600;line-height:1.5;color:#f2ce8c;letter-spacing:.07em;text-transform:uppercase;margin-bottom:22px}
.desktop-nav a[aria-current="location"]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold)}
body.site #main.amf-generic,body.site #main .amf-generic{padding:80px 64px}
body.site #main .amf-generic h1,body.site #main.amf-generic h1{font-size:clamp(2.4rem,6vw,3.7rem);overflow-wrap:anywhere}
@media(max-width:760px){body.site #main.amf-generic,body.site #main .amf-generic{padding:60px 25px}}

/* Preserve the complete editorial scene on project detail pages. */
body.site #main .project-banner{height:auto!important;max-width:1360px;padding:0 45px}body.site #main .project-banner>img{width:100%;height:auto!important;aspect-ratio:3/2;object-fit:contain!important;object-position:center!important;border-radius:4px}@media(max-width:760px){body.site #main .project-banner{padding:0 25px}}


/* Give each heading an explicit color, including headings styled by WordPress. */
body.site #main :is(h1, h2, h3, h4) {
  color: var(--ink, #101c36) !important;
}

body.site #main :is(.hero, .ink, .culture-feature, .funding-section, .giving-panel, .project-card)
  :is(h1, h2, h3, h4) {
  color: #fffefa !important;
}

body.site #main .page-head:not(.ink) :is(h1, h2, h3, .lead) {
  color: var(--ink, #101c36) !important;
}

body.site #main :is(.project-aside, .contact-info, .trust-panel, .study, .next-section)
  :is(h1, h2, h3, h4) {
  color: var(--ink, #101c36) !important;
}

body.site #main .priority-details h4 {
  color: #f3d8a4 !important;
}

/* Preserve button contrast independently of the surrounding section. */
body.site #main :is(.gold-button, .gold-button:hover) {
  background: var(--gold, #edb957) !important;
  color: var(--ink, #101c36) !important;
}

body.site #main :is(.ink-button, .ink-button:hover) {
  background: var(--ink, #101c36) !important;
  color: #fffefa !important;
}

body.site #main :is(.outline-button, .outline-button:hover) {
  color: #fffefa !important;
  border-color: #ffffff99 !important;
}

/* The passport has a distinct plaque, shared by its card and detail page. */
body.site #main .project-accent-passport {
  --project-accent: #eadab4;
  --project-accent-ink: #403013;
}
body.site #main .project-banner-caption {
  color: #5d6572;
  font-size: .88rem;
  line-height: 1.6;
  padding-top: 14px;
  max-width: 850px;
}
/* Seven programs share one image and content layout on every language page. */
body.site #main .project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}

body.site #main .project-grid > .project-card {
  display: flex;
  flex-direction: column;
  grid-column: auto;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  background: #101c36;
  color: #fffefa;
  border: 1px solid #26334d;
  border-radius: 5px;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

body.site #main .project-grid > .project-card > img {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  flex: 0 0 auto;
  transform: none;
  border-radius: 0;
  background: #213963;
}

body.site #main .project-card .card-shade,
body.site #main .project-card :is(.platform-word, .journal-word, .media-word) {
  display: none;
}

body.site #main .project-card .project-card-body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 1 1 auto;
  gap: 24px;
  width: 100%;
  height: auto;
  min-height: 0;
  padding: 27px;
  background: #101c36;
  color: #fffefa;
}

body.site #main .project-card .card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  color: #fffefa !important;
  font-size: .82rem;
  line-height: 1.5;
}

body.site #main .project-card .card-top > span {
  color: #fffefa !important;
}

body.site #main .project-card .small-plus {
  flex: 0 0 28px;
  color: #fffefa !important;
  border-color: #ffffff80 !important;
}

body.site #main .project-card .card-bottom {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 auto;
  min-width: 0;
  margin-top: 0;
}

body.site #main .project-card .status-label {
  color: #f1d091 !important;
  font-size: .78rem;
  line-height: 1.6;
  letter-spacing: .055em;
  overflow-wrap: anywhere;
}

body.site #main .project-card .card-bottom :is(h2, h3) {
  color: #fffefa !important;
  font-size: 1.65rem;
  line-height: 1.25;
  margin: 12px 0 16px;
  overflow-wrap: break-word;
}

body.site #main .project-card .card-bottom p {
  color: #d8deea !important;
  font-size: .98rem;
  line-height: 1.65;
  margin: 0 0 25px;
  max-width: none;
}

body.site #main .project-card .card-link {
  color: #fffefa !important;
  border-color: #cbd4e3 !important;
  font-size: .88rem;
  line-height: 1.5;
  margin-top: auto;
  padding: 3px 0;
}

body.site #main .project-card:hover {
  color: #fffefa;
  transform: translateY(-3px);
  box-shadow: 0 12px 24px #101c3626;
}

body.site #main .project-card:focus-visible {
  outline: 3px solid #98691d;
  outline-offset: 5px;
}

/* Linked achievements: a:is(.achievement, .foundation-achievement) > strong + span + small. */
body.site #main .foundation-strip > .container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding-top: 24px;
  padding-bottom: 24px;
}

body.site #main .foundation-strip :is(.achievement, .foundation-achievement) {
  display: grid;
  grid-template-columns: minmax(58px, auto) minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 17px;
  row-gap: 4px;
  min-width: 0;
  padding: 15px 12px;
  background: transparent;
  color: #101c36;
  border-radius: 4px;
  text-decoration: none;
  transition: background .2s ease;
}

body.site #main .foundation-strip :is(.achievement, .foundation-achievement) > strong {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
  width: auto;
  color: #8e601c !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.7rem, 3.5vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
}

body.site #main .foundation-strip :is(.achievement, .foundation-achievement) > span {
  grid-column: 2;
  grid-row: 1;
  color: #101c36 !important;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
}

body.site #main .foundation-strip :is(.achievement, .foundation-achievement) > small {
  display: block;
  grid-column: 2;
  grid-row: 2;
  color: #5d6572 !important;
  font-size: .85rem;
  line-height: 1.5;
}

body.site #main .foundation-strip :is(.achievement, .foundation-achievement):hover {
  background: #e8e1d2;
}

body.site #main .foundation-strip :is(.achievement, .foundation-achievement):focus-visible {
  outline: 3px solid #101c36;
  outline-offset: 3px;
}

@media (max-width: 1050px) {
  body.site #main .project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  body.site #main .foundation-strip > .container {
    gap: 12px;
  }

  body.site #main .foundation-strip :is(.achievement, .foundation-achievement) {
    column-gap: 12px;
    padding-left: 6px;
    padding-right: 6px;
  }
}

@media (max-width: 760px) {
  body.site #main .project-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  body.site #main .project-card .project-card-body {
    padding: 25px;
    gap: 22px;
  }

  body.site #main .project-card .card-bottom :is(h2, h3) {
    font-size: 1.7rem;
  }

  body.site #main .foundation-strip > .container {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    padding-top: 18px;
    padding-bottom: 18px;
  }

  body.site #main .foundation-strip :is(.achievement, .foundation-achievement) {
    grid-template-columns: 65px minmax(0, 1fr);
    gap: 4px 18px;
    padding: 19px 8px;
  }

  body.site #main .foundation-strip :is(.achievement, .foundation-achievement) + :is(.achievement, .foundation-achievement) {
    border-top: 1px solid #d7d1c5;
    border-radius: 0;
  }

  body.site #main .foundation-strip :is(.achievement, .foundation-achievement) > strong {
    font-size: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.site #main .project-card,
  body.site #main .foundation-strip :is(.achievement, .foundation-achievement) {
    transition: none;
  }

  body.site #main .project-card:hover {
    transform: none;
  }
}

/* Program category plaques repeat their color on the corresponding page. */
body.site #main .project-accent-research {
  --project-accent: #d6e4ed;
  --project-accent-ink: #102f44;
}

body.site #main .project-accent-amerpass {
  --project-accent: #edc778;
  --project-accent-ink: #302113;
}

body.site #main .project-accent-publishing {
  --project-accent: #e2dbef;
  --project-accent-ink: #31234f;
}

body.site #main .project-accent-media {
  --project-accent: #d8e8de;
  --project-accent-ink: #173e2c;
}

body.site #main .project-accent-culture {
  --project-accent: #eedad4;
  --project-accent-ink: #56271d;
}

body.site #main .project-accent-guidance {
  --project-accent: #d7e9e7;
  --project-accent-ink: #143c3b;
}

body.site #main .project-card .card-top > span:not(.small-plus),
body.site #main .project-head .eyebrow {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding: 6px 10px;
  background: var(--project-accent, #edc778);
  color: var(--project-accent-ink, #302113) !important;
  border-radius: 3px;
  line-height: 1.5;
}
