/* Admin-uploaded news cards and gallery settings */
.donate-submit:disabled{opacity:.58;cursor:not-allowed}.method-action[aria-disabled="true"]{cursor:default;opacity:.72}.contact-placeholder{display:inline-block;color:inherit;text-decoration:underline;text-decoration-color:#8995A5}
.news-card img,.news-article>img{width:100%;height:auto;max-height:520px;object-fit:cover;margin:0 0 18px;border-radius:3px}.news-card{background:#fff;padding:24px;margin-bottom:16px}.news-card h2{font-size:clamp(25px,3vw,38px);margin:10px 0}.news-card span{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.entry-content{max-width:820px;font-size:16px;line-height:1.8;margin-top:30px}.oltera-gallery-row{display:inline-flex;vertical-align:top;flex-direction:column;gap:8px;margin:0 14px 14px 0;padding:10px;background:#fff;border:1px solid #ccd0d4}.oltera-gallery-row img{width:140px;height:100px;object-fit:cover}.gallery-grid .gallery-card{margin:0}

/* Keep a compact foundation label above the sticky header, like the earlier design. */
body{padding-top:36px}
.announcement{position:fixed;top:0;left:0;right:0;width:100%;height:36px;min-height:36px;z-index:1000;gap:0;background:#E8EDEF;color:#102D50;font-size:14px;line-height:1.2;letter-spacing:.12em}
.site-header{top:36px;z-index:999}
body.admin-bar{padding-top:68px}
body.admin-bar .announcement{top:32px}
body.admin-bar .site-header{top:68px}



/* Preserve the larger header while keeping the foundation label compact. */
body{padding-top:36px}
.announcement{height:36px;min-height:36px;font-size:14px;line-height:1.2;letter-spacing:.12em}
.site-header{top:36px;min-height:150px;padding-block:14px}
@media(min-width:1200px){
  .site-header .brand-logo{width:clamp(270px,22vw,350px)}
  .main-nav{gap:clamp(18px,2vw,30px);font-size:15px!important}
  .nav-donate{padding:15px 21px;font-size:15px}
}
@media(min-width:1600px){
  body{padding-top:36px}
  .announcement{height:36px;min-height:36px;font-size:14px}
  .site-header{top:36px;min-height:226px;padding-block:20px}
  .site-header .brand-logo{width:clamp(380px,21vw,440px)}
  .main-nav{gap:clamp(28px,2.4vw,50px);font-size:20px!important}
  .nav-donate{padding:20px 28px;font-size:20px}
}
@media(max-width:1199px) and (min-width:681px){
  body{padding-top:36px}
  .announcement{height:36px;min-height:36px;font-size:12px}
  .site-header{top:36px;min-height:124px;padding-block:10px}
}
@media(max-width:680px){
  body{padding-top:32px}
  .announcement{height:32px;min-height:32px;font-size:11px;letter-spacing:.1em}
  .site-header{top:32px;min-height:104px;padding-block:8px}
  .site-header .brand-logo{width:clamp(170px,52vw,205px)}
}
@media(max-width:420px){
  .site-header{min-height:96px}
  .site-header .brand-logo{width:clamp(160px,49vw,188px)}
}
body.admin-bar{padding-top:68px}
body.admin-bar .announcement{top:32px}
body.admin-bar .site-header{top:68px}
@media(max-width:782px){
  body.admin-bar{padding-top:78px}
  body.admin-bar .announcement{top:46px}
  body.admin-bar .site-header{top:78px}
}
@media(max-width:1024px){
  .hero.section-wrap{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    padding:0 19px!important;
  }
  .hero.section-wrap .hero-copy{padding:32px 0 24px!important}
  /* On narrow screens keep the difficult-period photo as wide as the approach photo. */
  .about-section.section-wrap{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    padding:0 19px!important;
  }
  .about-section .about-copy{padding:0 0 28px!important}
  /* Match both photos to the full-width, 3:2 approach image on narrow screens. */
  .hero .hero-visual,
  .about-section .about-photo{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    transform:none!important;
    overflow:hidden!important;
  }
  .hero .hero-visual{
    height:auto!important;
    min-height:0!important;
    aspect-ratio:3/2!important;
  }
  .about-section .about-photo{
    position:relative!important;
    left:auto!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:3/2!important;
  }
  .hero .hero-visual>img,
  .about-section .about-photo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* Match the original static header proportions and typography. */
body{padding-top:28px}
.announcement{height:28px;min-height:28px;font:600 12px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.site-header{top:28px;min-height:116px;padding-block:8px;background:var(--paper);transition:background-color .24s ease,border-color .24s ease,backdrop-filter .24s ease;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}
.site-header.is-scrolled{background:rgba(247,246,242,.32);border-bottom-color:rgba(137,149,165,.2);-webkit-backdrop-filter:saturate(130%) blur(12px);backdrop-filter:saturate(130%) blur(12px)}
.site-header .brand-logo{width:clamp(230px,24vw,280px);height:auto}
@media(min-width:1600px){
  .site-header{min-height:116px;padding-block:8px}
  .site-header .brand-logo{width:clamp(230px,24vw,280px)}
}
@media(max-width:850px){.site-header{min-height:108px}}
@media(max-width:680px){
  body{padding-top:25px}
  .announcement{height:25px;min-height:25px;font-size:12px!important}
  .site-header{top:25px;min-height:96px;padding-block:7px}
  .site-header .brand-logo{width:205px}
}
@media(max-width:420px){.site-header{min-height:88px}.site-header .brand-logo{width:188px}}
body.admin-bar{padding-top:60px}
body.admin-bar .announcement{top:32px}
body.admin-bar .site-header{top:60px}
@media(max-width:782px){
  body.admin-bar{padding-top:71px}
  body.admin-bar .announcement{top:46px}
  body.admin-bar .site-header{top:71px}
}

/* Keep the foundation ribbon and navigation attached as one sticky unit. */
body,body.admin-bar{padding-top:0!important}
.site-chrome{position:sticky;top:0;z-index:30;isolation:isolate;display:flex;flex-direction:column;gap:0!important;margin:0;padding:0;background:var(--paper)}
.site-chrome .announcement{position:relative;top:auto;left:auto;right:auto;display:flex;align-items:center;justify-content:center;width:100%;height:28px!important;min-height:28px!important;margin:0!important;padding:0!important;background:#E8EDEF;color:#102D50;font:600 12px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.site-chrome .site-header{position:relative;top:auto;z-index:auto;height:116px!important;min-height:116px!important;max-height:116px!important;margin:0!important;padding-block:0!important;background:var(--paper)}
.site-chrome .site-header.is-scrolled{background:rgba(247,246,242,.32);border-bottom-color:rgba(137,149,165,.2);-webkit-backdrop-filter:saturate(130%) blur(12px);backdrop-filter:saturate(130%) blur(12px)}
.site-chrome .site-header .brand-logo{width:clamp(230px,24vw,280px);height:auto}
.site-chrome .foundation-ribbon,.site-chrome .foundation-ribbon span{font:600 12px/1.2 'DM Sans',Arial,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase}
.site-chrome .foundation-ribbon{position:relative;top:auto;z-index:auto;display:flex;align-items:center;justify-content:center;width:100%;height:28px!important;min-height:28px!important;flex:0 0 28px;margin:0!important;padding:0 20px;background:#E8EDEF;color:#102D50}
.site-chrome .foundation-ribbon span{width:min(1480px,calc(100% - 80px));text-align:center}
.site-chrome .main-nav{gap:28px;font-size:12px!important;font-weight:600}
.site-chrome .nav-donate{padding:11px 15px;font-size:12px!important}
body.admin-bar .site-chrome{top:0!important}
@media(max-width:900px){.site-chrome .site-header .brand-logo{width:clamp(220px,26vw,250px)}}
@media(max-width:850px){.site-chrome .site-header{height:108px!important;min-height:108px!important;max-height:108px!important}.site-chrome .main-nav{gap:16px}}
@media(max-width:782px){body.admin-bar .site-chrome{top:0!important}}
@media(max-width:680px){
  .site-chrome .foundation-ribbon{height:25px!important;min-height:25px!important;flex-basis:25px;padding-inline:19px}
  .site-chrome .site-header{height:96px!important;min-height:96px!important;max-height:96px!important;padding-block:0!important}
  .site-chrome .site-header .brand-logo{width:205px}
}
@media(max-width:420px){.site-chrome .site-header{height:88px!important;min-height:88px!important;max-height:88px!important}.site-chrome .site-header .brand-logo{width:188px}}
@media(max-width:360px){.site-chrome .site-header .brand-logo{width:165px}}
@media(max-width:700px){
  .site-footer .footer-side,.site-footer .footer-meta{align-items:center!important;justify-content:center!important;text-align:center!important}
  .site-footer .footer-meta{width:100%;flex-direction:column;gap:9px}
}

/* Match the static site's natural header height and keep both rows sticky. */
.site-chrome{position:static!important;display:contents!important}
.site-chrome .foundation-ribbon{position:sticky!important;top:0!important;z-index:1001!important;height:28px!important;min-height:28px!important;max-height:28px!important;flex:none!important;font:600 12px/1.2 'DM Sans',Arial,sans-serif!important;letter-spacing:.12em!important}
.site-chrome .site-header{position:sticky!important;top:28px!important;z-index:1000!important;box-sizing:border-box!important;height:auto!important;min-height:116px!important;max-height:none!important;flex:none!important;padding-block:8px!important}
body.admin-bar .site-chrome .foundation-ribbon{top:32px!important}
body.admin-bar .site-chrome .site-header{top:60px!important}
@media(max-width:782px){body.admin-bar .site-chrome .foundation-ribbon{top:0!important}body.admin-bar .site-chrome .site-header{top:25px!important}}
@media(max-width:850px){.site-chrome .site-header{top:28px!important;height:auto!important;min-height:108px!important;max-height:none!important}body.admin-bar .site-chrome .site-header{top:60px!important}}
@media(max-width:680px){
  .site-chrome .foundation-ribbon{top:0!important;height:25px!important;min-height:25px!important;max-height:25px!important;font-size:12px!important}
  .site-chrome .site-header{top:25px!important;height:auto!important;min-height:96px!important;max-height:none!important;padding-block:7px!important}
  body.admin-bar .site-chrome .foundation-ribbon{top:0!important}
  body.admin-bar .site-chrome .site-header{top:25px!important}
}
@media(max-width:420px){.site-chrome .site-header{height:auto!important;min-height:88px!important;max-height:none!important}}

/* Fixed chrome avoids sticky positioning being clipped in mobile previews. */
.site-chrome{position:fixed!important;display:flex!important;flex-direction:column!important;gap:0!important;top:0!important;left:0!important;right:0!important;width:100%!important;margin:0!important;padding:0!important;z-index:1002!important;background:var(--paper)!important}
.site-chrome .foundation-ribbon{position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:auto!important;flex:none!important}
.site-chrome .site-header{position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:auto!important;flex:none!important}
body{padding-top:144px!important}
body.admin-bar .site-chrome{top:0!important}
@media(max-width:850px){body{padding-top:136px!important}}
@media(max-width:782px){body.admin-bar #wpadminbar{position:fixed!important}body.admin-bar .site-chrome{top:46px!important}}
@media(max-width:680px){body{padding-top:121px!important}}
@media(max-width:420px){body{padding-top:113px!important}}

/* Keep the full header in document flow so it never covers page content. */
body,body.admin-bar{padding-top:0!important}
.site-chrome{position:sticky!important;display:flex!important;flex-direction:column!important;gap:0!important;top:0!important;left:auto!important;right:auto!important;width:100%!important;margin:0!important;padding:0!important;z-index:1002!important;background:var(--paper)!important}
.site-chrome .foundation-ribbon{position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:auto!important}
.site-chrome .site-header{position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:auto!important;height:auto!important;min-height:116px!important;max-height:none!important;flex:none!important;padding-block:8px!important}
body.admin-bar .site-chrome{top:0!important}
@media(max-width:850px){.site-chrome .site-header{min-height:108px!important}}
@media(max-width:782px){body.admin-bar .site-chrome{top:0!important}}
@media(max-width:680px){.site-chrome .foundation-ribbon{height:25px!important;min-height:25px!important;max-height:25px!important}.site-chrome .site-header{min-height:96px!important;padding-block:7px!important}}
@media(max-width:420px){.site-chrome .site-header{min-height:88px!important}}
.site-chrome .foundation-ribbon{display:flex!important;visibility:visible!important;opacity:1!important}

/* Keep the header directly after WordPress's own toolbar offset. Core already
   reserves that space in the document; the theme must not add another margin. */
body.admin-bar #wpadminbar{position:fixed!important;top:0!important}

.method-action[aria-disabled="true"]{cursor:not-allowed;opacity:.58;pointer-events:none}
body.admin-bar .site-chrome{top:32px!important;margin-top:0!important}
body.admin-bar .site-chrome .foundation-ribbon{display:flex!important;visibility:visible!important;opacity:1!important}
@media(max-width:782px){
  body.admin-bar #wpadminbar{position:fixed!important;top:0!important}
  body.admin-bar .site-chrome{top:46px!important;margin-top:0!important}
}

/* No top spacer, including for logged-in WordPress views. The admin toolbar
   overlays the page instead of reserving a blank band above the ribbon. */
html{margin-top:0!important}
body,body.admin-bar{margin:0!important;padding-top:0!important}
.site-chrome,body.admin-bar .site-chrome{top:0!important;margin-top:0!important;padding-top:0!important}
body.admin-bar #wpadminbar{position:fixed!important;top:0!important}


/* WordPress Group blocks add an inner wrapper; expose its children to the theme grid/flex layouts. */
.wp-block-group > .wp-block-group__inner-container{display:contents}


/* Make the directions lead as prominent as in the mobile reference. */
.directions-heading p{font-weight:600!important}


/* Reduce the navigation row while preserving the ribbon above it. */
.site-chrome .site-header{height:96px!important;min-height:96px!important;max-height:96px!important;padding-block:0!important;box-sizing:border-box!important}
@media(max-width:850px){.site-chrome .site-header{height:88px!important;min-height:88px!important;max-height:88px!important}}
@media(max-width:680px){.site-chrome .site-header{height:80px!important;min-height:80px!important;max-height:80px!important}}
@media(max-width:420px){.site-chrome .site-header{height:76px!important;min-height:76px!important;max-height:76px!important}}

/* Align the home hero and focus text with the reference desktop proportions. */
@media(min-width:681px){
  .hero.section-wrap .hero-visual{margin-top:28px!important}
  .hero.section-wrap .image-caption{line-height:1.05!important}
  .intro-inner>p{font-size:clamp(23px,2.6vw,32px)!important;line-height:1.35!important}
}
@media(max-width:680px){
  .hero.section-wrap .hero-visual{margin-top:0!important}
  .hero.section-wrap .image-caption{line-height:1.05!important}
  .intro-inner>p{font-size:clamp(23px,2.6vw,32px)!important;line-height:1.35!important}
}

/* Match the reference spacing in the home page directions heading. */
.directions-section>.section-wrap>.eyebrow{margin-bottom:28px!important}
.directions-heading h2{line-height:1.1!important}
.directions-heading>p{margin-top:24px!important;font-size:16px!important;line-height:1.7!important}
@media(max-width:680px){
  .directions-section>.section-wrap>.eyebrow{margin-bottom:22px!important}
  .directions-heading h2{line-height:1.1!important}
  .directions-heading>p{margin-top:18px!important;font-size:16px!important;line-height:1.7!important}
}

/* Match the approach section typography and photo caption to the reference. */
.belief-copy h2{font-size:var(--type-h2)!important;line-height:1.1!important;font-weight:650!important;letter-spacing:-.045em!important}
.belief-copy>p:last-child{font-size:16px!important;line-height:1.7!important;color:#8995A5!important}
.belief-photo-caption{font-size:clamp(14px,1.45vw,18px)!important;line-height:1.05!important}
@media(max-width:680px){
  .belief-copy h2{font-size:var(--type-h2)!important;line-height:1.1!important}
  .belief-copy>p:last-child{font-size:16px!important;line-height:1.7!important}
  .belief-photo-caption{font-size:14px!important;line-height:1.05!important}
}

/* Match the difficult-period section typography to the reference. */
.about-section .about-copy h2{font-size:var(--type-h2)!important;line-height:1.1!important;font-weight:650!important;letter-spacing:-.045em!important}
.about-section .about-copy p{font-size:16px!important;line-height:1.7!important}

/* Keep the help prompt compact like the reference's two-line caption. */
@media(min-width:901px){
  .help-reference-heading>p{width:360px!important;max-width:360px!important;flex:0 0 360px!important;font-size:16px!important;line-height:1.7!important}
}
@media(min-width:681px) and (max-width:900px){
  .help-reference-heading>p{max-width:430px!important;font-size:16px!important;line-height:1.7!important}
}
@media(max-width:680px){
  .help-reference-heading>p{font-size:clamp(13px,4vw,16px)!important;line-height:1.7!important}
}
.help-reference-step h3{font-size:21px!important;line-height:1.25!important;font-weight:650!important}
.help-reference-step p{font-size:15px!important;line-height:1.65!important}
.partner-list li{line-height:1.6!important}

/* Fund documents: match the site typography and keep every PDF easy to open. */
.documents-page>.hero-lead{max-width:760px;margin-bottom:0}
.documents-list{max-width:960px;margin:42px 0 0;border-top:1px solid #8995A544}
.document-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #8995A544}
.document-icon{width:48px;height:48px;display:grid;place-items:center;background:#E8EDEF;color:#102D50}
.document-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.document-copy h2{margin:0;font:600 18px/1.3 'Manrope',Arial,sans-serif;letter-spacing:-.025em;color:#102D50}
.document-copy p{margin:6px 0 0;color:#8995A5;font:400 14px/1.6 'DM Sans',Arial,sans-serif}
.document-open{display:inline-flex;align-items:center;gap:12px;color:#102D50;font:600 13px/1.4 'DM Sans',Arial,sans-serif;white-space:nowrap}
.document-open:hover{text-decoration:underline;text-underline-offset:4px}
.document-open span:last-child{font-size:17px}
.documents-empty{margin:0;padding:24px 0;color:#8995A5;font:400 16px/1.7 'DM Sans',Arial,sans-serif}
@media(max-width:680px){
  .documents-list{margin-top:30px}
  .document-card{grid-template-columns:40px minmax(0,1fr);gap:13px;padding:18px 0}
  .document-icon{width:40px;height:40px}
  .document-copy h2{font-size:16px}
  .document-copy p{font-size:13px}
  .document-open{grid-column:2;font-size:13px}
}

/* Shared body-copy typography in both language versions. */
main .belief-copy > p:not(.eyebrow),
main .about-section .about-copy > p:not(.eyebrow) {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
}

@media (max-width: 680px) {
  main .belief-copy > p:not(.eyebrow),
  main .about-section .about-copy > p:not(.eyebrow) {
    font-size: 16px !important;
  }
}

/* Use the same compact line height for photo captions on every screen. */
main .hero-visual .image-caption,
main .belief-photo-caption {
  line-height: 1 !important;
}

/* Published report items */
.reports-published{padding-top:28px;padding-bottom:72px}
.reports-published .report-list{margin-top:26px}
.reports-published .report-list article{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.reports-published .report-list article h2,.reports-published .report-list article p{margin:0}
.reports-published .report-list article .button{margin-top:8px}
@media(max-width:680px){.reports-published{padding-top:18px;padding-bottom:52px}}
