/* People, Planet, Profit is the opening section beneath the navigation. */
.page-mor-our-philosophies #philosophy { padding-top: 240px; }
.phil-bcorp-link { display: block; width: fit-content; max-width: min(100%, 900px); margin: 48px auto 0; text-align: center; color: var(--cream); font: 300 clamp(28px, 3.2vw, 44px)/1.2 var(--font-display); letter-spacing: -.01em; text-wrap: balance; text-decoration: underline; text-decoration-color: var(--brass-lt); text-decoration-thickness: 1px; text-underline-offset: 6px; transition: color .2s; }
.phil-bcorp-link:hover { color: var(--brass-lt); text-decoration-thickness: 2px; }
.phil-bcorp-link:focus-visible { outline: 2px solid var(--cream); outline-offset: 5px; }
@media(max-width:1100px) {
  .page-mor-our-philosophies #philosophy { padding-top: 200px; }
}
@media(max-width:760px) {
  .page-mor-our-philosophies #philosophy { padding-top: 160px; }
}

    .mission-introduction { background: var(--cream); padding-top: 48px; padding-bottom: 48px; }
    .mission-introduction .philosophy-detail { display: block; max-width: 960px; padding: 32px 0; text-align: center; }
    .mission-introduction h2 { margin-bottom: 24px; }
    .mission-introduction .mission-summary { font-family: var(--font-display); font-size: clamp(26px,2.5vw,36px); line-height: 1.45; color: var(--forest); }
    .mission-summary em { color: #896719; }
    .mission-commitments { display: grid; grid-template-columns: 1fr 1fr 1.6fr; margin-top: 56px; border-top: 1px solid var(--forest); text-align: left; }
    .mission-commitment { padding: 36px 32px 0 0; }
    .mission-commitment + .mission-commitment { padding-left: 32px; border-left: 1px solid var(--border); }
    .mission-figure { margin-bottom: 20px; color: var(--forest); font: 300 clamp(56px,5vw,72px)/1 var(--font-display); }
    .mission-figure span { margin-left: 6px; color: #896719; font-size: 24px; }
    .mission-introduction .mission-commitment p { font: 400 14px/1.75 var(--font-body); color: var(--muted); }
    .mission-introduction .mission-quote { margin: 0; padding: 36px 0 0 36px; border-left: 1px solid var(--border); }
    .mission-introduction .mission-quote p { font: italic 400 26px/1.45 var(--font-display); color: var(--forest); }
    .mission-introduction .mission-quote cite { margin-top: 22px; color: #896719; font: 400 10px/1.8 var(--font-body); letter-spacing: .14em; text-transform: uppercase; }
    @media(max-width:760px) {
      .mission-commitments { grid-template-columns: 1fr 1fr; margin-top: 40px; }
      .mission-commitment { padding: 28px 20px 28px 0; }
      .mission-commitment + .mission-commitment { padding: 28px 0 28px 20px; }
      .mission-figure { margin-bottom: 16px; }
      .mission-introduction .mission-quote { grid-column: 1 / -1; padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--border); }
    }
    .mission-read-full { border: 0; border-bottom: 1px solid var(--brass); background: none; font-family: var(--font-body); cursor: pointer; }
    .mission-read-full:focus-visible, .mission-dialog-close:focus-visible { outline: 2px solid var(--forest); outline-offset: 5px; }
    body:has(.mission-dialog[open]) { overflow: hidden; }
    .mission-dialog { width: calc(100% - 48px); max-width: 780px; max-height: calc(100dvh - 48px); margin: auto; padding: 40px 48px; border: 1px solid var(--border); background: var(--cream); color: var(--forest); overflow: auto; }
    .mission-dialog::backdrop { background: rgba(14,42,31,.72); backdrop-filter: blur(5px); }
    .mission-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
    .mission-dialog h2 { font: 300 40px/1.15 var(--font-display); }
    .mission-dialog-close { flex-shrink: 0; padding: 12px 16px; border: 1px solid var(--border); background: none; color: var(--forest); font: 400 13px/1.5 var(--font-body); cursor: pointer; }
    .mission-dialog p { margin-bottom: 22px; font: 400 16px/1.85 var(--font-body); }
    @media(max-width:760px) {
      .mission-dialog { width: calc(100% - 32px); max-height: calc(100dvh - 32px); padding: 28px 24px; }
      .mission-dialog-header { gap: 16px; margin-bottom: 24px; }
      .mission-dialog h2 { font-size: 32px; }
      .mission-dialog-close { padding: 10px 12px; }
    }
    #b-corp .section-kicker { margin-bottom: 20px; }

/* One continuous collection, with the same presentation for every organization. */
.charity-profiles { background: var(--cream); }
.charity-section-heading { max-width: 1240px; margin: 0 auto; padding: 64px 52px 24px; }
.charity-section-heading h2 { margin-top: 16px; font: 300 clamp(36px,4vw,52px)/1.12 var(--font-display); color: var(--forest); }
.charity-section-heading p { max-width: 650px; margin-top: 20px; color: var(--muted); font-size: 15px; line-height: 1.85; }
.charity-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; max-width: 1240px; margin: 0 auto; padding: 16px 52px 36px; align-items: start; }
.charity-card { min-width: 0; min-height: 414px; background: #ece7de; border: 1px solid rgba(181,137,42,.22); scroll-margin-top: 120px; }
.charity-card-link { display: flex; flex-direction: column; align-items: flex-start; min-height: 350px; padding: 28px; color: var(--forest); }
.charity-card:has(.charity-card-link:hover) { border-color: var(--brass); }
.charity-card-link:focus-visible, .charity-card-details summary:focus-visible { outline: 2px solid var(--forest); outline-offset: 5px; }
.charity-logo-image { display: flex; align-items: center; justify-content: center; width: 100%; height: 120px; padding: 20px; background: #fff; }
.charity-logo-image img { display: block; width: 100%; height: auto; max-width: 340px; max-height: 80px; object-fit: contain; }
.charity-logo-image img.charity-logo-wings { max-width: 95px; }
.charity-logo-unicef { background: #00aeef; }
.charity-logo-planned-parenthood { background: #00286e; }
.charity-card h3 { margin-top: 24px; font: 400 clamp(28px,2.6vw,34px)/1.15 var(--font-display); color: var(--forest); letter-spacing: -.01em; }
.charity-card-purpose { margin-top: 12px; font-size: 13px; line-height: 1.65; color: var(--muted); }
.charity-card-visit { display: inline-flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 24px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.charity-card-details { margin: 0 28px 24px; padding-top: 16px; border-top: 1px solid var(--border); }
.charity-card-details summary { cursor: pointer; font: 400 13px/1.65 var(--font-body); color: var(--forest); }
.charity-card-bio { padding-top: 16px; }
.charity-card-bio p { margin-bottom: 14px; font-size: 14px; line-height: 1.85; color: var(--muted); }
.charity-section-footer { max-width: 1240px; margin: 0 auto; padding: 0 52px 72px; }
.charity-section-footer p { max-width: 780px; color: var(--muted); font-size: 15px; line-height: 1.85; }
.charity-planning-link { margin-top: 28px; }
@media(max-width:1000px) {
  .charity-section-heading { padding-right: 32px; padding-left: 32px; }
  .charity-grid { padding-right: 32px; padding-left: 32px; }
  .charity-section-footer { padding-right: 32px; padding-left: 32px; }
}
@media(max-width:760px) {
  .charity-section-heading { padding: 48px 24px 16px; }
  .charity-grid { grid-template-columns: 1fr; gap: 16px; padding: 16px 24px 28px; }
  .charity-card-link { min-height: 350px; padding: 24px; }
  .charity-card-details { margin-right: 24px; margin-left: 24px; }
  .charity-section-footer { padding: 0 24px 48px; }
}

.bcorp-statement { background: var(--cream-warm, #EDE8DF); padding: clamp(56px, 7vw, 96px) 24px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.bcorp-statement__inner { max-width: 820px; margin: 0 auto; text-align: center; }
.bcorp-statement .phil-kicker { color: #1b4332; }
.bcorp-statement__copy { margin: 18px 0 28px; color: #1b4332; font: 300 clamp(22px, 2.4vw, 32px)/1.4 var(--font-display); }
.bcorp-statement__copy[data-placeholder] { outline: 2px dashed #b58e2e; padding: 12px; }
.bcorp-statement__link { color: #1b4332; text-decoration: underline; text-decoration-color: #b58e2e; text-underline-offset: 5px; font-weight: 500; }
.bcorp-statement__link:hover { color: var(--forest-mid); }
/* Nov 2: layout. Nav (green), Mission (cream), PPP (original green), B Corp, Philanthropy, CTA */
.page-mor-our-philosophies #nav:not(.scrolled) { background: var(--forest); }
.page-mor-our-philosophies .mission-introduction { background: var(--cream); padding-top: 224px; }
.page-mor-our-philosophies #philosophy { padding-top: 120px; }
.page-mor-our-philosophies .bcorp-statement { background: var(--cream-warm); }
.page-mor-our-philosophies .charity-profiles { background: var(--cream); }
.page-mor-our-philosophies .charity-profiles .section-kicker { color: var(--forest-mid); }
.page-mor-our-philosophies #cta .btn-primary { color: var(--forest-deep); }
@media (max-width: 900px) { .page-mor-our-philosophies .mission-introduction { padding-top: 160px; } }
