
/* V1.0.2 Impact at Scale - cache-busted 1024 */
.impact-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 15%,rgba(25,118,210,.12),transparent 28%),
    radial-gradient(circle at 88% 80%,rgba(201,154,56,.12),transparent 30%),
    linear-gradient(180deg,#071f46 0%,#0a3472 100%);
  color:#fff;
}
.impact-section:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 95%);
  pointer-events:none;
}
.impact-section .container{position:relative;z-index:2}
.impact-section .section-kicker{color:#78c9ff}
.impact-section .section-title{color:#fff;max-width:780px}
.impact-section .section-copy{color:#c9d9ec}
.impact-stage{
  display:grid;
  grid-template-columns:1.15fr 1.85fr;
  gap:18px;
  align-items:stretch;
}
.impact-story{
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.045));
  backdrop-filter:blur(14px);
  padding:28px;
  box-shadow:0 22px 60px rgba(0,0,0,.16);
  position:relative;
  overflow:hidden;
}
.impact-story:after{
  content:"";
  position:absolute;
  width:250px;height:250px;border-radius:50%;
  right:-95px;bottom:-110px;
  background:radial-gradient(circle,rgba(53,184,255,.28),transparent 68%);
}
.impact-story-label{
  position:relative;z-index:2;
  font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#8fd4ff;
}
.impact-story h3{
  position:relative;z-index:2;
  font-size:clamp(26px,3.3vw,42px);
  line-height:1.03;
  letter-spacing:-.035em;
  margin:12px 0 14px;
}
.impact-story p{
  position:relative;z-index:2;
  margin:0;color:#d7e4f2;font-size:13px;line-height:1.75;
}
.impact-story-line{
  position:relative;z-index:2;
  height:2px;
  background:rgba(255,255,255,.12);
  margin:24px 0 18px;
  overflow:hidden;
}
.impact-story-line span{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,#c99a38,#35b8ff);
  transition:width 1.35s cubic-bezier(.2,.8,.2,1);
}
.impact-section.in-view .impact-story-line span{width:100%}
.impact-story-foot{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.impact-story-foot div{
  padding:12px;border-radius:13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)
}
.impact-story-foot strong{display:block;font-size:12px;color:#fff}
.impact-story-foot span{display:block;font-size:10px;color:#bcd0e5;margin-top:3px}

.impact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.impact-card{
  min-width:0;
  position:relative;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  padding:21px 18px;
  background:linear-gradient(155deg,rgba(255,255,255,.105),rgba(255,255,255,.035));
  backdrop-filter:blur(12px);
  overflow:hidden;
  opacity:0;
  transform:translateY(22px);
  transition:opacity .6s ease,transform .6s ease,border-color .18s,background .18s;
}
.impact-section.in-view .impact-card{opacity:1;transform:none}
.impact-section.in-view .impact-card:nth-child(2){transition-delay:.08s}
.impact-section.in-view .impact-card:nth-child(3){transition-delay:.16s}
.impact-section.in-view .impact-card:nth-child(4){transition-delay:.24s}
.impact-section.in-view .impact-card:nth-child(5){transition-delay:.32s}
.impact-section.in-view .impact-card:nth-child(6){transition-delay:.40s}
@media(hover:hover) and (pointer:fine){
  .impact-card:hover{
    border-color:rgba(120,201,255,.5);
    background:linear-gradient(155deg,rgba(255,255,255,.14),rgba(255,255,255,.055));
    transform:translateY(-4px);
  }
}
.impact-card:before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#35b8ff,#c99a38);
}
.impact-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#86d2ff;
  font-size:18px;
}
.impact-value{
  margin-top:18px;
  font-size:clamp(31px,3vw,43px);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:900;
  color:#fff;
  white-space:nowrap;
}
.impact-label{
  margin-top:7px;
  color:#e9f3fb;
  font-weight:850;
  font-size:12px;
}
.impact-context{
  margin-top:5px;
  color:#aac0d6;
  font-size:10px;
  line-height:1.45;
}
.impact-progress{
  margin-top:14px;
  height:5px;border-radius:99px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.impact-progress span{
  display:block;height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,#35b8ff,#c99a38);
  transition:width 1.25s cubic-bezier(.2,.8,.2,1);
}
.impact-section.in-view .impact-card[data-meter="100"] .impact-progress span{width:100%}
.impact-section.in-view .impact-card[data-meter="95"] .impact-progress span{width:95%}
.impact-section.in-view .impact-card[data-meter="90"] .impact-progress span{width:90%}
.impact-section.in-view .impact-card[data-meter="85"] .impact-progress span{width:85%}
.impact-section.in-view .impact-card[data-meter="80"] .impact-progress span{width:80%}
.impact-section.in-view .impact-card[data-meter="70"] .impact-progress span{width:70%}

@media(max-width:1050px){
  .impact-stage{grid-template-columns:1fr}
}
@media(max-width:820px){
  .impact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .impact-grid{grid-template-columns:1fr}
  .impact-story{padding:22px}
  .impact-story-foot{grid-template-columns:1fr}
  .impact-value{font-size:36px}
}
@media(prefers-reduced-motion:reduce){
  .impact-card{opacity:1;transform:none}
  .impact-progress span,.impact-story-line span{transition:none!important}
}
