
/* IFCRR website expansion / cleanup styles — 2026-08-23 */

/* Keep photographs clear and unfiltered. Text is separated from images instead of tinting the whole image. */
.content-hero{background:#f5f8fb;padding:4.25rem 0;border-bottom:1px solid #dfe7ef;color:#31445b}
.content-hero.compact-hero{padding:3.5rem 0}
.content-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:2.5rem;align-items:center}
.content-hero-copy{min-width:0}
.content-hero-copy h1{color:#0b223f;margin-top:.35rem}
.content-hero-copy p{color:#31445b}
.content-hero-copy .lead{font-size:1.12rem;line-height:1.65;color:#23364b}
.content-hero-image{overflow:hidden;border-radius:18px;box-shadow:0 16px 36px rgba(6,22,40,.14);background:#fff}
.content-hero-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}

/* Never display image descriptions as captions; descriptions remain in alt text for accessibility. */
.topic-image figcaption{display:none !important}

/* Light-background content and cards must always use dark readable text. */
.section:not(.section-navy),.section-light,.content-hero{color:#31445b}
.section:not(.section-navy) h1,.section:not(.section-navy) h2,.section:not(.section-navy) h3,
.section-light h1,.section-light h2,.section-light h3{color:#0b223f}
.section:not(.section-navy) p,.section:not(.section-navy) li,.section-light p,.section-light li{color:#31445b}
.program-card,.topic-card,.training-link-card,.feature-card:not(.dark-card),.outcome-card,.fact-card,.subnav-grid a,.audience-grid span{color:#31445b;background:#fff}
.program-card h3,.topic-card h3,.training-link-card h3,.feature-card:not(.dark-card) h3,.outcome-card h3,.fact-card strong{color:#0b223f}
.program-card p,.topic-card p,.training-link-card p,.feature-card:not(.dark-card) p,.outcome-card p,.outcome-card li,.fact-card span,.audience-grid span{color:#31445b}

/* Featured-card layouts */
.topic-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}
.topic-card{border:1px solid #dfe7ef;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(9,33,61,.08)}
.topic-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.topic-card-body{padding:1.1rem 1.15rem 1.3rem}
.topic-card h3{margin:0 0 .55rem;font-size:1.15rem;line-height:1.25}
.topic-card p{margin:.45rem 0 .8rem}
.topic-card a{font-weight:700}
.topic-card.small-card img{aspect-ratio:16/10}
.training-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:2rem}
.training-link-card{border:1px solid #dfe7ef;border-radius:16px;padding:1.1rem 1.15rem;box-shadow:0 10px 28px rgba(9,33,61,.06)}
.training-link-card h3{margin:0 0 .45rem;font-size:1.08rem}
.training-link-card p{margin:.4rem 0 .8rem}
.training-link-card a{font-weight:700}

/* Long-form public pages */
.narrow-max{max-width:880px;margin-inline:auto}
.narrow-max h2{margin-top:0}
.narrow-max h3{margin-top:1.8rem}
.narrow-max .check-list{margin-top:1rem}
.narrow-max .button-row{margin-top:1.5rem}

/* Programs sub-navigation */
.section-subnav{background:#f6f8fb;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
.section-subnav .container{padding:1rem 0}
.subnav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}
.subnav-grid a{border:1px solid #dfe7ef;border-radius:12px;padding:.8rem .95rem;font-weight:700;color:#0b223f;text-decoration:none}
.subnav-grid a:hover{border-color:#0b4ea2;color:#0b4ea2}
.footer-links-extended{display:grid;gap:.45rem}

/* Retain homepage treatment; do not add a full-page blue filter to the new split heroes. */
.hero.home-hero-with-image{position:relative;overflow:hidden;color:#fff;background:#0b223f;min-height:34rem;display:flex;align-items:center}
.hero.home-hero-with-image .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero.home-hero-with-image::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,40,.58) 0%,rgba(6,22,40,.34) 40%,rgba(6,22,40,.08) 100%)}
.hero.home-hero-with-image .hero-content{position:relative;z-index:2;width:100%}
.hero.home-hero-with-image .hero-copy{max-width:42rem}

@media (max-width:900px){
  .content-hero-grid{grid-template-columns:1fr;gap:1.75rem}
  .content-hero-image{max-width:720px}
}
@media (max-width:700px){
  .content-hero{padding:3rem 0}
  .hero.home-hero-with-image{min-height:30rem}
}


/* 2026-08-23 rebuild */
.page-photo{padding:2rem 0 0;background:#fff}
.page-photo .topic-image{max-width:1080px;margin:0 auto}
.page-photo .topic-image img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 16px 36px rgba(6,22,40,.15)}
.page-hero .container p:last-child{max-width:52rem}
.program-image img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 14px 30px rgba(6,22,40,.12)}
.program-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:2rem;align-items:start}
.outcome-card{border:1px solid #dfe7ef;border-radius:16px;padding:1.15rem 1.2rem;box-shadow:0 10px 28px rgba(9,33,61,.06);background:#fff}
.integrated{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.integrated-flow{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;margin-top:1rem}
.integrated-flow > div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:1rem 1.2rem;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:145px;color:#fff}
.integrated-flow .arrow{background:none;border:none;padding:0;min-width:auto;font-size:1.8rem;font-weight:700}
.integrated-flow .icon{width:2rem;height:2rem;margin-bottom:.45rem}
.section-subnav{position:sticky;top:0;z-index:10}
@media (max-width:900px){.program-detail{grid-template-columns:1fr}.outcome-card{order:2}}
@media (max-width:700px){.page-photo{padding:1.5rem 0 0}.section-subnav{position:static}}
