/* IFCRR site-wide update layer — 2026-08-20
   Loaded after assets/css/styles.css. Existing artwork is intentionally retained. */

:root{
  --navy:#071f3b;
  --navy2:#0a315e;
  --blue:#0b63c7;
  --lightblue:#9fd0ff;
  --pale:#eef6ff;
  --light:#f4f8fc;
  --text:#1d2733;
  --muted:#65758a;
  --shadow:0 18px 50px rgba(7,31,59,.14);
  --radius:18px;
}

/* Wide-screen home-page alignment correction. Existing hero artwork is unchanged. */
.hero-content{
  width:min(1180px,90vw);
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
.hero-copy{max-width:780px}

/* Provide a consistent fallback hero treatment on interior pages. */
.page-hero{
  position:relative;
  overflow:hidden;
  padding:96px 0;
  color:#fff;
  background:linear-gradient(135deg,#061b34 0%,#0a315e 100%);
}
.page-hero .container{position:relative;z-index:2}
.page-hero .hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(7,31,59,.88),rgba(7,31,59,.58));
}
.page-hero h1{max-width:980px}
.page-hero p{max-width:850px}

/* Request Pilot stays visually distinct without inheriting the active-link underline. */
.nav .button[aria-current="page"]{
  background:#084e9d;
  border-color:#084e9d;
}

/* Content components added in this revision. */
.center{text-align:center}
.narrow{max-width:820px;margin-left:auto;margin-right:auto}
.top-space{margin-top:34px}
.centered-buttons{justify-content:center}
.button-stack{display:flex;flex-direction:column;gap:14px;align-items:stretch;justify-content:center}
.button-stack .button{width:100%}

.feature-grid{
  display:grid;
  gap:26px;
  margin-top:36px;
}
.feature-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}
.feature-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.feature-card{
  background:#fff;
  border:1px solid rgba(7,31,59,.10);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:0 12px 32px rgba(7,31,59,.08);
}
.feature-card h3{font-size:1.3rem}
.dark-card{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.18);
  box-shadow:none;
}
.dark-card h3{color:#fff}
.dark-card p{color:var(--pale)}

.audience-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-top:34px;
}
.audience-grid span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:88px;
  padding:18px;
  text-align:center;
  font-weight:800;
  color:var(--navy);
  background:#fff;
  border:1px solid rgba(7,31,59,.12);
  border-radius:12px;
}
.compact-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:0;
}

.mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:26px;
}
.mini-grid article{
  padding:22px;
  background:var(--light);
  border-radius:12px;
  border:1px solid rgba(7,31,59,.08);
}
.mini-grid article p:last-child{margin-bottom:0}

.cta-section{background:#eef6ff}
.cta-grid{
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:64px;
  align-items:center;
}
.pilot-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:58px;
  align-items:start;
}
.light-list li{color:var(--pale)}

.footer-contact p{margin:.2rem 0 1rem}
.footer-contact a{word-break:break-word}
.pending-note{line-height:1.45}

/* Forms */
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.wide-form{
  max-width:980px;
  margin:34px auto 0;
}
.wide-form fieldset{margin:0}
.required{color:#b42318}
.checkbox-line{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-weight:600;
  color:var(--text);
}
.checkbox-line input{
  width:auto;
  margin-top:.35rem;
  flex:0 0 auto;
}
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.field-error{
  display:block;
  margin-top:4px;
  color:#b42318;
  font-size:.86rem;
  font-weight:700;
}
input[aria-invalid="true"],
textarea[aria-invalid="true"],
select[aria-invalid="true"]{
  border-color:#b42318;
  outline:2px solid rgba(180,35,24,.12);
}
.form-status{
  padding:12px 14px;
  border-radius:8px;
  background:#fff4f2;
  color:#8a1c12;
  font-weight:700;
}
.result-section{min-height:58vh;display:flex;align-items:center}
.result-title{
  color:var(--navy);
  font-size:clamp(2.1rem,4vw,3.8rem);
  line-height:1.05;
  letter-spacing:-.035em;
  margin:.2em 0 .4em;
}

/* Minor consistency improvements. */
.program-card a{font-weight:800}
.outcome-card p{margin-top:0}
.contact-info{margin:24px 0}
.contact-info p{margin:.45rem 0}
.program-image img{width:100%;height:auto}
.site-footer .footer-contact a{display:block}
.site-footer .pending-note{font-size:.86rem}

/* Avoid extremely long heading lines on ultrawide displays. */
.section h2{max-width:900px}
.center h2{margin-left:auto;margin-right:auto}

@media(max-width:1000px){
  .audience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .feature-grid.three-up{grid-template-columns:1fr}
}

@media(max-width:900px){
  .hero-content{width:90vw;margin-left:auto;margin-right:auto}
  .feature-grid.two-up,
  .mini-grid,
  .cta-grid,
  .pilot-grid,
  .form-grid{grid-template-columns:1fr}
  .audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .button-stack{align-items:flex-start}
  .button-stack .button{width:auto}
}

@media(max-width:560px){
  .hero-content{width:88vw;margin-left:auto;margin-right:auto}
  .page-hero{padding:68px 0}
  .audience-grid,
  .compact-grid{grid-template-columns:1fr}
  .feature-card{padding:22px}
  .wide-form{padding:22px}
}
