.impact-page { background: var(--paper); }
.impact-page .reveal { opacity: 1; transform: none; }
.impact-header { background: rgba(33,29,26,.9); backdrop-filter: blur(12px); }

.impact-hero { min-height: 100svh; display: grid; grid-template-rows: 1fr auto; padding-top: 5rem; color: var(--cream); background: radial-gradient(circle at 82% 18%,rgba(236,177,111,.19),transparent 22%),linear-gradient(132deg,#812f28,#b45137 48%,#49303b); }
.impact-hero-copy { display: flex; flex-direction: column; justify-content: center; max-width: 1300px; padding: 7rem clamp(1.25rem,6vw,7rem) 4rem; }
.impact-back { display: inline-flex; align-self: flex-start; gap: .55rem; margin-bottom: 3.2rem; color: rgba(255,255,255,.65); text-decoration: none; font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; }
.impact-hero h1 { max-width: 1200px; margin: 0; font-family: var(--serif); font-size: clamp(3.5rem,7.5vw,8.4rem); font-weight: 400; line-height: .87; letter-spacing: -.055em; }
.impact-hero h1 em { color: #f3c789; font-weight: 400; }
.impact-hero-copy > p:not(.eyebrow) { max-width: 820px; margin: 2.4rem 0 0; color: rgba(255,255,255,.73); font-size: clamp(1rem,1.4vw,1.25rem); }
.impact-hero-stats { display: grid; grid-template-columns: 1.1fr .7fr 1fr; border-top: 1px solid rgba(255,255,255,.2); }
.impact-hero-stats div { display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; align-items: center; min-height: 150px; padding: 1.5rem clamp(1.25rem,4vw,4rem); }
.impact-hero-stats div + div { border-left: 1px solid rgba(255,255,255,.2); }
.impact-hero-stats strong { color: #f3c789; font-family: var(--serif); font-size: clamp(2.2rem,4vw,4.5rem); font-weight: 400; line-height: .9; }
.impact-hero-stats span { color: rgba(255,255,255,.62); font-size: .76rem; line-height: 1.45; }

.origin-section { border-bottom: 1px solid var(--line); }
.origin-kicker { display: grid; grid-template-columns: 1fr 1.5fr; gap: 3rem; }
.origin-kicker p { margin: 0; color: var(--terracotta); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.origin-story { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem,8vw,9rem); margin-top: 4rem; }
.origin-prose p:not(.lead) { color: #665c54; }

.fhs-case { padding: clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem); color: var(--cream); background: #163742; }
.fhs-case-heading,.fhs-case-body,.fhs-media,.fhs-outcome { width: min(100%,var(--max)); margin-inline: auto; }
.fhs-case-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(3.2rem,7vw,7.5rem); font-weight: 400; line-height: .88; letter-spacing: -.05em; }
.fhs-case-heading h2 em { color: #eeb976; font-weight: 400; }
.fhs-case-body { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(2rem,4vw,4rem); align-items:start; margin-top: clamp(2.5rem,4vw,4rem); }
.fhs-case-copy { color: #e0e7e5; font-size: 1.06rem; line-height: 1.8; }
.fhs-case-copy p:first-child { margin-top: 0; }
.pathway-model { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.pathway-model article { display:grid; grid-template-columns: 2rem minmax(0,1fr); align-content:start; column-gap: .7rem; row-gap: .8rem; padding: clamp(1.2rem,2vw,1.75rem); color:#163742; background:#f4eee5; border-top:3px solid #d8ad75; }
.pathway-model article:last-child { background:#e8c89f; border-top-color:#e8c89f; }
.pathway-model span { padding-top:.25rem; color:#805035; font-size: .78rem; font-weight:700; letter-spacing:.05em; }
.pathway-model h3 { margin:0; font-family:var(--serif); font-size:clamp(1.7rem,2.3vw,2.15rem); font-weight:400; line-height:1.1; letter-spacing:-.025em; }
.pathway-model p { grid-column:2; margin:0; color:#354b50; font-size:1rem; line-height:1.55; }
.fhs-media { display:grid; grid-template-columns:1fr 1fr; gap:4px; height:auto; margin-top:clamp(3rem,6vw,6rem); background:#0e2931; }
.fhs-media figure { position:relative; min-width:0; aspect-ratio:3/2; margin:0; overflow:hidden; }
.fhs-media figure::after { content:''; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(9,27,33,.82)); }
.fhs-media img { width:100%; height:100%; object-fit:cover; }
.fhs-coaching-photo img,
.fhs-team-photo img { object-position:center; }
.fhs-media figcaption { position:absolute; z-index:1; left:1.5rem; right:1.5rem; bottom:1.3rem; color:rgba(255,255,255,.86); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.fhs-outcome { display: grid; grid-template-columns: .35fr 1.65fr; gap: 2rem; align-items: center; margin-top: 4rem; padding-block: 2rem; border-block: 1px solid rgba(255,255,255,.2); }
.fhs-outcome strong { color: #eeb976; font-family: var(--serif); font-size: clamp(4rem,8vw,8rem); font-weight: 400; line-height: 1; }
.fhs-outcome p { max-width: 750px; color: rgba(255,255,255,.7); font-family: var(--serif); font-size: clamp(1.5rem,2.6vw,2.8rem); line-height: 1.12; }

.wp-coaching { background: #f4eee5; }
.wp-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(3rem,9vw,10rem); }
.wp-grid > div p:not(.lead) { color: #665c54; }
.wp-team-photo { position:relative; aspect-ratio:3/2; min-height:0; margin:clamp(2.8rem,6vw,5.5rem) 0 0; overflow:hidden; background:#29373d; }
.wp-team-photo::after { content:''; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,rgba(10,18,21,.72)); pointer-events:none; }
.wp-team-photo img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; object-position:center; }
.wp-team-photo figcaption { position:absolute; z-index:1; left:1.3rem; right:1.3rem; bottom:1.1rem; color:rgba(255,255,255,.86); font-size:.66rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }

.ombura-case { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 720px; color: var(--cream); background: #2a211d; }
.ombura-media { display:grid; grid-template-rows:minmax(390px,1.15fr) minmax(250px,.85fr); min-height:760px; background:#17110f; }
.ombura-media figure { position:relative; min-height:0; margin:0; overflow:hidden; }
.ombura-media figure::after { content:''; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(22,15,13,.72)); }
.ombura-media img { width:100%; height:100%; object-fit:cover; }
.ombura-action img { object-position:center 35%; }
.ombura-group { border-top:4px solid #2a211d; }
.ombura-group img { object-position:center 44%; }
.ombura-media figcaption { position:absolute; z-index:1; left:1.7rem; right:1.7rem; bottom:1.35rem; color:rgba(255,255,255,.84); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.ombura-copy { align-self:center; padding:clamp(3rem,7vw,8rem); }
.ombura-copy h2 { margin:0 0 2rem; font-family:var(--serif); font-size:clamp(3.2rem,6vw,6.8rem); font-weight:400; line-height:.88; letter-spacing:-.045em; }
.ombura-copy h2 em { color:#eeb976; font-weight:400; }
.ombura-copy > p:not(.eyebrow) { color:rgba(255,255,255,.66); }
.ombura-flow { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:2.3rem; }
.ombura-flow span { padding:.5rem .75rem; border:1px solid rgba(255,255,255,.2); border-radius:99px; color:rgba(255,255,255,.72); font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; }

.transfer-heading { display:grid; grid-template-columns:.42fr 1.58fr; gap:2rem; }
.transfer-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:5rem; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.transfer-grid article { min-height:310px; padding:2rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.transfer-grid small { color:var(--terracotta); font-size:.63rem; text-transform:uppercase; letter-spacing:.12em; }
.transfer-grid h3 { margin:3.5rem 0 1rem; font-family:var(--serif); font-size:1.55rem; font-weight:400; line-height:1.08; }
.transfer-grid p { color:#675e57; font-size:.83rem; }

.impact-next { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem); color:var(--cream); background:linear-gradient(125deg,#7f2e28,#b45137 58%,#50303a); }
.impact-next-copy { width:min(100%,calc(var(--max) - 2 * clamp(1.25rem,6vw,7rem))); margin-inline:auto; }
.impact-next h2 { margin:0; font-family:var(--serif); font-size:clamp(3.5rem,8vw,8.4rem); font-weight:400; line-height:.85; letter-spacing:-.055em; }
.impact-next h2 em { color:#f3c789; font-weight:400; }
.impact-next-copy > p:not(.eyebrow) { max-width:720px; color:rgba(255,255,255,.72); }
.impact-next-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.6rem; margin-top:2.5rem; }
.impact-next-actions > a:not(.button) { color:white; text-decoration:none; font-size:.8rem; }

@media (max-width:1050px) {
  .impact-hero-stats { grid-template-columns:1fr; }
  .impact-hero-stats div + div { border-left:0; border-top:1px solid rgba(255,255,255,.2); }
  .origin-story,.wp-grid { grid-template-columns:1fr; }
  .fhs-case-body { grid-template-columns:1fr; }
  .transfer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  .impact-hero-copy { padding-top:7rem; }
  .impact-hero-stats div { min-height:120px; }
  .origin-kicker,.origin-story,.fhs-case-body,.wp-grid,.ombura-case,.transfer-heading { grid-template-columns:1fr; }
  .pathway-model,.transfer-grid { grid-template-columns:1fr; }
  .fhs-media { grid-template-columns:1fr; grid-template-rows:none; height:auto; }
  .fhs-outcome { grid-template-columns:1fr; }
  .ombura-media { min-height:670px; grid-template-rows:390px 280px; }
  .transfer-grid { border-left:0; }
  .transfer-grid article { min-height:0; }
}

/* Prevent long headings from widening small phone layouts. */
.impact-hero { grid-template-columns: minmax(0,1fr); }
.impact-hero-copy,.impact-hero-stats,.impact-hero-stats > div { min-width: 0; }
@media (max-width: 380px) {
  .impact-hero h1 { font-size: 2.8rem; }
}
