/* =========================================================
   Agripoli Impact v0.35
   Premium SVG ring + cinematic threshold transitions
   Scoped to .page-impact only.
   ========================================================= */

/* Remove every historical endpoint / orbit marker implementation. */
.page-impact .impact-ring-signal,
.page-impact svg.impact-ring-signal,
.page-impact .impact-ring-signal-dot,
.page-impact .impact-ring-signal-halo,
.page-impact .impact-ring-gloss,
.page-impact .ap-ring-sheen,
.page-impact .impact-orbit-dot,
.page-impact [class*="ring-marker"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  pointer-events:none !important;
}

.page-impact .impact-meter-card{
  position:relative;
  overflow:hidden !important;
  border-color:rgba(47,185,128,.14) !important;
  background:
    radial-gradient(circle at 10% 5%,rgba(92,216,164,.09),transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.97),rgba(244,251,247,.97)) !important;
  box-shadow:0 28px 70px rgba(17,52,39,.10) !important;
}
.page-impact .impact-meter-card::after{
  content:"";
  position:absolute;
  inset:-40% -20%;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.5) 48%,rgba(116,225,178,.12) 54%,transparent 64%);
  transform:translateX(-60%);
  opacity:.45;
  animation:apPanelSheenV035 10s ease-in-out infinite;
}

.page-impact .impact-meter-shell{
  position:relative;
  z-index:2;
  grid-template-columns:260px minmax(0,1fr) !important;
  gap:42px !important;
  align-items:center !important;
}
.page-impact .impact-meter-top{
  position:relative;
  z-index:2;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
}
.page-impact .impact-meter-top>div{width:min(100%,700px)}
.page-impact .impact-meter-top p{max-width:58ch !important;margin-inline:auto !important}

/* Premium SVG ring: no conic endpoint, no marker, no dark/black stroke. */
.page-impact .impact-ring{
  --impact-energy:.10;
  position:relative !important;
  isolation:isolate;
  width:clamp(220px,24vw,252px);
  height:clamp(220px,24vw,252px);
  margin:0 auto !important;
  padding:0 !important;
  overflow:visible !important;
  border-radius:50%;
  background:transparent !important;
  box-shadow:
    0 28px 64px rgba(17,52,39,.12),
    0 0 0 1px rgba(47,185,128,.07) !important;
  transition:box-shadow .42s ease,filter .42s ease,transform .42s cubic-bezier(.22,1,.36,1) !important;
}
.page-impact .impact-ring::before{
  content:"" !important;
  position:absolute !important;
  inset:17px !important;
  z-index:1 !important;
  border-radius:50% !important;
  background:
    linear-gradient(125deg,rgba(255,255,255,.52),transparent 38%),
    radial-gradient(circle at 50% 15%,#fff 0%,#fbfefc 30%,#f1f9f5 72%,#e9f5ef 100%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(47,185,128,.065),
    inset 0 18px 28px rgba(255,255,255,.98),
    inset 0 -16px 26px rgba(47,185,128,.045),
    0 0 0 7px rgba(255,255,255,.46) !important;
}
.page-impact .impact-ring::after{
  content:"" !important;
  position:absolute !important;
  inset:-18px !important;
  z-index:-1 !important;
  border-radius:50% !important;
  background:radial-gradient(circle,rgba(47,185,128,var(--impact-energy)),rgba(47,185,128,.04) 48%,rgba(47,185,128,0) 75%) !important;
  filter:blur(14px) !important;
  opacity:.78 !important;
  transform:scale(.97);
  transition:opacity .42s ease,transform .42s ease,background .18s linear !important;
}
.page-impact .impact-ring.ap-live{
  transform:translateY(-2px);
  box-shadow:
    0 32px 72px rgba(17,52,39,.13),
    0 0 34px rgba(47,185,128,.11),
    0 0 0 1px rgba(47,185,128,.09) !important;
}
.page-impact .impact-ring.ap-live::after{opacity:1 !important;transform:scale(1.04)}
.page-impact .impact-ring.ap-complete{
  filter:drop-shadow(0 0 20px rgba(47,185,128,.22));
  animation:apRingCompleteV035 1.15s cubic-bezier(.22,1,.36,1) both;
}

.page-impact .impact-ring-svg{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  overflow:visible;
  transform:rotate(-90deg);
  pointer-events:none;
}
.page-impact .impact-ring-track,
.page-impact .impact-ring-progress,
.page-impact .impact-ring-highlight{
  fill:none !important;
  vector-effect:non-scaling-stroke;
  stroke-linecap:butt !important;
}
.page-impact .impact-ring-track{
  stroke:rgba(47,185,128,.095) !important;
  stroke-width:14 !important;
  filter:none !important;
}
.page-impact .impact-ring-progress{
  stroke:url(#impactStrokeGradientV032) !important;
  stroke-width:14 !important;
  stroke-dasharray:100 !important;
  stroke-dashoffset:100;
  filter:drop-shadow(0 1px 2px rgba(47,185,128,.16)) !important;
  transition:stroke-dashoffset .17s cubic-bezier(.22,1,.36,1),filter .35s ease !important;
}
.page-impact .impact-ring.ap-live .impact-ring-progress{
  filter:drop-shadow(0 2px 4px rgba(47,185,128,.24)) !important;
}
.page-impact .impact-ring-highlight{
  stroke:rgba(255,255,255,.64) !important;
  stroke-width:2.2 !important;
  stroke-dasharray:100 !important;
  stroke-dashoffset:100;
  opacity:.76;
  filter:none !important;
  transition:stroke-dashoffset .17s cubic-bezier(.22,1,.36,1),opacity .35s ease !important;
}

.page-impact .impact-ring-inner{
  position:absolute !important;
  inset:30px !important;
  z-index:4 !important;
  width:auto !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  text-align:center !important;
  box-sizing:border-box !important;
  overflow:hidden;
  border-radius:50%;
}
.page-impact .impact-ring-inner::before{
  content:"";
  position:absolute;
  inset:-55% -75%;
  z-index:-1;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.78) 49%,rgba(118,225,179,.10) 54%,transparent 64%);
  transform:translateX(-45%) rotate(8deg);
  opacity:0;
  pointer-events:none;
}
.page-impact .impact-ring.ap-live .impact-ring-inner::before{
  opacity:.8;
  animation:apRingSheenV035 6.6s ease-in-out infinite;
}
.page-impact .impact-ring-kicker{margin:0 !important;font-size:9.5px !important;line-height:1.2 !important;letter-spacing:.13em !important;white-space:nowrap !important}
.page-impact .impact-ring-value{display:flex !important;align-items:flex-start !important;justify-content:center !important;width:100% !important;margin:0 !important;white-space:nowrap !important;line-height:.9 !important}
.page-impact .impact-ring-value strong{
  display:block !important;
  min-width:2ch !important;
  margin:0 !important;
  text-align:right !important;
  font-variant-numeric:tabular-nums !important;
  line-height:.9 !important;
  transform:none;
  transition:color .24s ease,text-shadow .24s ease,transform .24s cubic-bezier(.22,1,.36,1) !important;
}
.page-impact .impact-ring.ap-live .impact-ring-value strong{color:#17342b !important;text-shadow:0 2px 0 rgba(255,255,255,.75),0 8px 22px rgba(47,185,128,.09) !important}
.page-impact .impact-ring-value strong.ap-count-hit{animation:apCounterHitV035 .44s cubic-bezier(.2,1.4,.35,1) both}
.page-impact .impact-ring-value span{flex:0 0 auto !important;margin-left:3px !important}
.page-impact .impact-ring-note{display:block !important;max-width:16ch !important;margin:1px 0 0 !important;font-size:12px !important;line-height:1.3 !important;text-wrap:balance}
.page-impact .ap-ring-biolabel{display:block !important;max-width:100% !important;margin:1px 0 0 !important;font-size:8.5px !important;font-weight:800 !important;line-height:1.2 !important;letter-spacing:.11em !important;white-space:nowrap !important;color:#2FB980 !important;opacity:0 !important;transform:translateY(4px);transition:opacity .35s ease,transform .35s ease !important}
.page-impact .ap-ring-biolabel.is-on{opacity:1 !important;transform:translateY(0)}

/* Cinematic threshold cards. */
.page-impact .impact-scale{width:100%;min-width:0;display:flex;flex-direction:column;gap:14px}
.page-impact .impact-step{
  --step-fill:0%;
  --step-focus:0;
  position:relative !important;
  isolation:isolate;
  overflow:hidden !important;
  grid-template-columns:62px minmax(0,1fr) 20px !important;
  column-gap:14px !important;
  align-items:center !important;
  min-width:0 !important;
  opacity:calc(.43 + (var(--step-focus) * .22)) !important;
  transform:translateY(calc(12px - (var(--step-focus) * 8px))) scale(calc(.987 + (var(--step-focus) * .008))) !important;
  background-color:rgba(255,255,255,.94) !important;
  background-image:
    linear-gradient(100deg,rgba(47,185,128,.16),rgba(47,185,128,.03)),
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,252,250,.96)) !important;
  background-repeat:no-repeat !important;
  background-position:left center,center !important;
  background-size:var(--step-fill) 100%,100% 100% !important;
  border-color:rgba(23,52,43,.075) !important;
  box-shadow:0 8px 20px rgba(23,52,43,.04) !important;
  transition:
    opacity .5s ease,
    transform .66s cubic-bezier(.22,1,.36,1),
    background-size .54s cubic-bezier(.22,1,.36,1),
    box-shadow .56s ease,
    border-color .56s ease !important;
}
.page-impact .impact-step::before{
  content:"";
  position:absolute;
  inset:1px;
  z-index:1;
  border-radius:calc(1em - 1px);
  pointer-events:none;
  background:linear-gradient(108deg,transparent 18%,rgba(255,255,255,.08) 34%,rgba(221,255,240,.93) 49%,rgba(255,255,255,.10) 64%,transparent 82%);
  background-size:240% 100%;
  background-position:160% 0;
  opacity:0;
}
.page-impact .impact-step::after{pointer-events:none}
.page-impact .impact-step>strong,.page-impact .impact-step>span,.page-impact .impact-step>.impact-dot{position:relative;z-index:2;min-width:0}
.page-impact .impact-step>span{overflow-wrap:break-word;opacity:.68;transition:opacity .36s ease,color .36s ease !important}
.page-impact .impact-step>strong{transition:color .36s ease,text-shadow .36s ease,transform .36s ease !important}
.page-impact .impact-step.is-approaching{
  opacity:.78 !important;
  transform:translateY(3px) scale(.995) !important;
  border-color:rgba(47,185,128,.15) !important;
  box-shadow:0 12px 28px rgba(23,52,43,.055),0 0 18px rgba(47,185,128,.04) !important;
}
.page-impact .impact-step.is-approaching>span{opacity:.86;color:#5b7169}
.page-impact .impact-step.is-approaching>strong{color:#4b7865}
.page-impact .impact-step.is-complete{
  --step-focus:1;
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  background-size:100% 100%,100% 100% !important;
  border-color:rgba(47,185,128,.31) !important;
  box-shadow:0 18px 38px rgba(23,52,43,.095),0 0 30px rgba(47,185,128,.09),inset 4px 0 0 rgba(47,185,128,.67) !important;
}
.page-impact .impact-step.is-complete>span{opacity:1;color:#526a61}
.page-impact .impact-step.is-complete>strong{color:#2a684f;text-shadow:0 1px 0 rgba(255,255,255,.9)}
.page-impact .impact-step .impact-dot{
  display:block !important;
  justify-self:center !important;
  align-self:center !important;
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(47,185,128,.19) !important;
  box-shadow:none !important;
  transform:scale(.76) !important;
  transition:background .34s ease,box-shadow .34s ease,transform .44s cubic-bezier(.22,1,.36,1) !important;
}
.page-impact .impact-step .impact-dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(47,185,128,.16);opacity:0;transform:scale(.65);transition:opacity .36s ease,transform .44s cubic-bezier(.22,1,.36,1)}
.page-impact .impact-step.is-approaching .impact-dot{transform:scale(.90) !important;background:rgba(47,185,128,.38) !important;box-shadow:0 0 0 3px rgba(47,185,128,.075) !important}
.page-impact .impact-step.is-complete .impact-dot{transform:scale(1.08) !important;background:#2FB980 !important;box-shadow:0 0 0 4px rgba(47,185,128,.13),0 5px 14px rgba(47,185,128,.23) !important}
.page-impact .impact-step.is-complete .impact-dot::after{opacity:1;transform:scale(1)}
.page-impact .impact-step.ap-just-hit{animation:apImpactCardHitV035 .86s cubic-bezier(.22,1,.36,1) both !important}
.page-impact .impact-step.ap-just-hit::before{opacity:1;animation:apImpactSweepV035 1.12s cubic-bezier(.2,.8,.2,1) both}
.page-impact .impact-step.ap-just-hit>strong{animation:apImpactNumberV035 .76s cubic-bezier(.2,1.4,.35,1) both}
.page-impact .impact-step.ap-just-hit .impact-dot{animation:apImpactDotHitV035 .82s ease both !important}

/* Premium final card. */
.page-impact .impact-step[data-threshold="50"]{
  overflow:visible !important;
  margin-top:5px;
  background-color:#f8fdf9 !important;
  border:1.5px solid #2FB980 !important;
  box-shadow:0 11px 34px rgba(47,185,128,.15),inset 0 0 0 1px rgba(255,255,255,.65) !important;
}
.page-impact .impact-step[data-threshold="50"] strong{color:#2FB980;font-size:1.3em}
.page-impact .impact-step[data-threshold="50"]::after{
  content:"PREMIUM";
  position:absolute;
  left:12px !important;
  top:-11px !important;
  z-index:4;
  padding:4px 10px;
  border-radius:999px;
  background:#2FB980;
  color:#fff;
  font-size:10px;
  font-weight:800;
  line-height:1;
  letter-spacing:.12em;
  box-shadow:0 6px 16px rgba(47,185,128,.35);
}
.page-impact .impact-step[data-threshold="50"].is-complete{box-shadow:0 20px 42px rgba(47,185,128,.21),0 0 34px rgba(47,185,128,.11),inset 4px 0 0 rgba(47,185,128,.72),inset 0 0 0 1px rgba(255,255,255,.65) !important}

@keyframes apPanelSheenV035{0%,12%{transform:translateX(-65%);opacity:0}24%{opacity:.46}42%,100%{transform:translateX(65%);opacity:0}}
@keyframes apRingSheenV035{0%,18%{transform:translateX(-48%) rotate(8deg);opacity:0}34%{opacity:.8}58%,100%{transform:translateX(48%) rotate(8deg);opacity:0}}
@keyframes apRingCompleteV035{0%{transform:translateY(-2px) scale(1)}45%{transform:translateY(-4px) scale(1.025)}100%{transform:translateY(-2px) scale(1)}}
@keyframes apCounterHitV035{0%{transform:scale(.96)}55%{transform:scale(1.075)}100%{transform:scale(1)}}
@keyframes apImpactSweepV035{0%{background-position:160% 0;opacity:0}16%{opacity:1}100%{background-position:-70% 0;opacity:0}}
@keyframes apImpactCardHitV035{0%{transform:translateY(7px) scale(.988)}42%{transform:translateY(-4px) scale(1.018)}72%{transform:translateY(1px) scale(1.006)}100%{transform:translateY(0) scale(1)}}
@keyframes apImpactNumberV035{0%{transform:scale(.93);opacity:.76}55%{transform:scale(1.13);opacity:1}100%{transform:scale(1)}}
@keyframes apImpactDotHitV035{0%{box-shadow:0 0 0 0 rgba(47,185,128,.30)}50%{box-shadow:0 0 0 12px rgba(47,185,128,.055),0 5px 16px rgba(47,185,128,.26)}100%{box-shadow:0 0 0 4px rgba(47,185,128,.13),0 5px 14px rgba(47,185,128,.23)}}

@media (max-width:1040px){
  .page-impact .impact-meter-shell{grid-template-columns:1fr !important;justify-items:center !important;gap:30px !important}
  .page-impact .impact-scale{width:min(100%,680px)}
}
@media (max-width:760px){
  .page-impact .impact-meter-card{padding:20px 14px !important;border-radius:24px}
  .page-impact .impact-meter-card::after{animation-duration:12s}
  .page-impact .impact-meter-shell{gap:23px !important}
  .page-impact .impact-ring{width:194px;height:194px}
  .page-impact .impact-ring::before{inset:14px !important}
  .page-impact .impact-ring-inner{inset:25px !important;padding:0 !important}
  .page-impact .impact-ring-kicker{font-size:8.8px !important;letter-spacing:.11em !important}
  .page-impact .impact-ring-value{font-size:43px !important}
  .page-impact .impact-ring-value span{font-size:17px !important;transform:translateY(7px) !important}
  .page-impact .impact-ring-note{font-size:11.5px !important;max-width:15ch !important}
  .page-impact .ap-ring-biolabel{font-size:7.8px !important;letter-spacing:.09em !important}
  .page-impact .impact-scale{gap:13px}
  .page-impact .impact-step{
    grid-template-columns:52px minmax(0,1fr) 18px !important;
    column-gap:10px !important;
    padding:12px 10px !important;
    border-radius:15px;
    min-height:74px;
  }
  .page-impact .impact-step>strong{font-size:17px !important}
  .page-impact .impact-step>span{font-size:12.3px !important;line-height:1.46 !important}
  .page-impact .impact-step .impact-dot{width:9px !important;height:9px !important;min-width:9px !important;min-height:9px !important}
  .page-impact .impact-step[data-threshold="50"] strong{font-size:1.18em !important}
  .page-impact .impact-step[data-threshold="50"]::after{font-size:9px;padding:3px 8px;top:-9px !important;left:10px !important}
}
@media (max-width:390px){
  .page-impact .impact-meter-card{padding:18px 12px !important}
  .page-impact .impact-ring{width:184px;height:184px}
  .page-impact .impact-ring-inner{inset:24px !important}
  .page-impact .impact-step{grid-template-columns:48px minmax(0,1fr) 16px !important;column-gap:9px !important;padding:11px 9px !important}
  .page-impact .impact-step>strong{font-size:16px !important}
  .page-impact .impact-step>span{font-size:12px !important}
}
@media (prefers-reduced-motion:reduce){
  .page-impact .impact-meter-card::after,
  .page-impact .impact-ring,
  .page-impact .impact-ring::after,
  .page-impact .impact-ring-inner::before,
  .page-impact .impact-ring-value strong,
  .page-impact .ap-ring-biolabel,
  .page-impact .impact-step,
  .page-impact .impact-step::before,
  .page-impact .impact-step .impact-dot,
  .page-impact .impact-ring-progress,
  .page-impact .impact-ring-highlight{transition:none !important;animation:none !important}
  .page-impact .impact-step{transform:none !important}
}

/* =========================================================
   Agripoli Impact v0.36 — exact scroll matching + mobile stability
   ========================================================= */
.page-impact .impact-ring,
.page-impact .impact-ring.ap-live{
  transform:none !important;
}
.page-impact .impact-ring-progress,
.page-impact .impact-ring-highlight{
  transition:none !important;
}
.page-impact .impact-ring-inner{
  inset:30px !important;
  overflow:visible !important;
}
.page-impact .impact-ring-value{
  display:grid !important;
  grid-template-columns:2.15ch auto !important;
  align-items:start !important;
  justify-content:center !important;
  column-gap:3px !important;
  width:auto !important;
  min-width:0 !important;
}
.page-impact .impact-ring-value strong{
  width:2.15ch !important;
  min-width:2.15ch !important;
  max-width:2.15ch !important;
  text-align:right !important;
  transform:none !important;
  letter-spacing:-.045em !important;
}
.page-impact .impact-ring-value span{
  margin:0 !important;
  transform:translateY(8px) !important;
}
.page-impact .impact-ring-value strong.ap-count-hit{
  animation:apCounterGlowV036 .54s ease both !important;
}

.page-impact .impact-step{
  --step-fill:0%;
  --step-focus:0;
  opacity:calc(.50 + (var(--step-focus) * .50)) !important;
  transform:none !important;
  background-size:var(--step-fill) 100%,100% 100% !important;
  transition:
    opacity .12s linear,
    background-size .12s linear,
    box-shadow .26s ease,
    border-color .26s ease !important;
  min-height:84px;
}
.page-impact .impact-step.is-approaching,
.page-impact .impact-step.is-complete{
  transform:none !important;
}
.page-impact .impact-step.ap-just-hit{
  animation:apImpactCardHitV036 .72s ease both !important;
}
.page-impact .impact-step.ap-just-hit>strong{
  animation:apImpactNumberV036 .68s ease both !important;
}
.page-impact .impact-step.ap-just-hit .impact-dot{
  animation:apImpactDotHitV036 .72s ease both !important;
}
.page-impact .impact-step.ap-just-hit::before{
  animation:apImpactSweepV036 .95s ease both !important;
}

@keyframes apCounterGlowV036{
  0%{color:#17342b;text-shadow:0 0 0 rgba(47,185,128,0)}
  45%{color:#2a684f;text-shadow:0 0 18px rgba(47,185,128,.22)}
  100%{color:#17342b;text-shadow:0 2px 0 rgba(255,255,255,.75),0 8px 22px rgba(47,185,128,.09)}
}
@keyframes apImpactCardHitV036{
  0%{box-shadow:0 8px 20px rgba(23,52,43,.04)}
  45%{box-shadow:0 20px 42px rgba(47,185,128,.18),0 0 34px rgba(47,185,128,.12),inset 4px 0 0 rgba(47,185,128,.72)}
  100%{box-shadow:0 18px 38px rgba(23,52,43,.095),0 0 30px rgba(47,185,128,.09),inset 4px 0 0 rgba(47,185,128,.67)}
}
@keyframes apImpactNumberV036{
  0%{color:#4f6d61;text-shadow:none}
  45%{color:#2FB980;text-shadow:0 0 18px rgba(47,185,128,.24)}
  100%{color:#2a684f;text-shadow:0 1px 0 rgba(255,255,255,.9)}
}
@keyframes apImpactDotHitV036{
  0%{box-shadow:0 0 0 0 rgba(47,185,128,.24)}
  50%{box-shadow:0 0 0 12px rgba(47,185,128,.06),0 5px 16px rgba(47,185,128,.25)}
  100%{box-shadow:0 0 0 4px rgba(47,185,128,.13),0 5px 14px rgba(47,185,128,.23)}
}
@keyframes apImpactSweepV036{
  0%{opacity:0;background-position:160% 0}
  22%{opacity:1}
  100%{opacity:0;background-position:-70% 0}
}

@media (max-width:760px){
  .page-impact .impact-meter-card{padding:20px 14px !important}
  .page-impact .impact-meter-shell{gap:22px !important}
  .page-impact .impact-ring{width:190px !important;height:190px !important}
  .page-impact .impact-ring-inner{inset:25px !important;gap:4px !important}
  .page-impact .impact-ring-kicker{font-size:8.8px !important;letter-spacing:.11em !important}
  .page-impact .impact-ring-value{font-size:43px !important;grid-template-columns:2.15ch auto !important}
  .page-impact .impact-ring-value strong{width:2.15ch !important;min-width:2.15ch !important;max-width:2.15ch !important}
  .page-impact .impact-ring-value span{font-size:18px !important;transform:translateY(7px) !important}
  .page-impact .impact-ring-note{font-size:11.5px !important;line-height:1.28 !important;max-width:15ch !important}
  .page-impact .ap-ring-biolabel{font-size:7.8px !important;letter-spacing:.09em !important}
  .page-impact .impact-scale{gap:12px !important;width:100% !important}
  .page-impact .impact-step{
    grid-template-columns:52px minmax(0,1fr) 18px !important;
    column-gap:10px !important;
    padding:12px 11px !important;
    min-height:82px !important;
    border-radius:18px !important;
  }
  .page-impact .impact-step>strong{font-size:18px !important;line-height:1 !important;white-space:nowrap !important}
  .page-impact .impact-step>span{font-size:12.5px !important;line-height:1.45 !important}
  .page-impact .impact-step .impact-dot{width:9px !important;height:9px !important;min-width:9px !important;min-height:9px !important}
  .page-impact .impact-step[data-threshold="50"]{margin-top:7px !important}
  .page-impact .impact-step[data-threshold="50"]::after{top:-9px !important;left:10px !important;font-size:9px !important;padding:3px 8px !important}
}

@media (max-width:420px){
  .page-impact .impact-meter-card{padding-inline:12px !important}
  .page-impact .impact-ring{width:184px !important;height:184px !important}
  .page-impact .impact-ring-inner{inset:24px !important}
  .page-impact .impact-ring-value{font-size:41px !important}
  .page-impact .impact-step{grid-template-columns:49px minmax(0,1fr) 16px !important;padding:11px 10px !important}
  .page-impact .impact-step>span{font-size:12px !important}
}

@media (prefers-reduced-motion:reduce){
  .page-impact .impact-ring-progress,
  .page-impact .impact-ring-highlight,
  .page-impact .impact-step,
  .page-impact .impact-ring-value strong{transition:none !important;animation:none !important}
}

.page-impact .impact-ring.ap-complete{
  animation:apRingCompleteV036 .95s ease both !important;
}
@keyframes apRingCompleteV036{
  0%{filter:drop-shadow(0 0 12px rgba(47,185,128,.12))}
  48%{filter:drop-shadow(0 0 28px rgba(47,185,128,.30))}
  100%{filter:drop-shadow(0 0 20px rgba(47,185,128,.22))}
}

/* =========================================================
   v0.37 — premium fill, bio-label finish, mobile overflow guard
   ========================================================= */
.page-impact .impact-ring-track,
.page-impact .impact-ring-progress,
.page-impact .impact-ring-highlight,
.page-impact .impact-ring-origin{
  fill:none !important;
  vector-effect:non-scaling-stroke !important;
  stroke-linecap:round !important;
}
.page-impact .impact-ring-track{
  stroke:rgba(47,185,128,.105) !important;
  stroke-width:14 !important;
}
.page-impact .impact-ring-origin{
  stroke:rgba(105,216,170,.84) !important;
  stroke-width:14 !important;
  stroke-dasharray:3.2 96.8 !important;
  stroke-dashoffset:0 !important;
  opacity:.9 !important;
  filter:none !important;
}
.page-impact .impact-ring-progress{
  stroke-width:14 !important;
  stroke-linecap:round !important;
  transition:stroke-dashoffset .18s cubic-bezier(.22,1,.36,1),stroke .32s ease !important;
}
.page-impact .impact-ring-highlight{
  stroke:rgba(255,255,255,.46) !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  opacity:.54 !important;
}
.page-impact .impact-ring.ap-live .impact-ring-progress{
  filter:drop-shadow(0 0 5px rgba(47,185,128,.20)) !important;
}
.page-impact .impact-meter-card.is-biolabel-ready .impact-ring::after{
  opacity:1 !important;
  transform:scale(1.08) !important;
  filter:blur(16px) !important;
}
.page-impact .impact-meter-card.is-biolabel-ready .impact-ring-value strong{
  color:#17342b !important;
  text-shadow:0 2px 0 rgba(255,255,255,.82),0 0 24px rgba(47,185,128,.18) !important;
}
.page-impact .ap-ring-biolabel{
  white-space:normal !important;
  max-width:100% !important;
  text-align:center !important;
  font-size:8.2px !important;
  line-height:1.15 !important;
  letter-spacing:.09em !important;
  font-weight:900 !important;
  opacity:0 !important;
  transform:translateY(5px) scale(.94) !important;
  transition:opacity .34s ease,transform .44s cubic-bezier(.22,1,.36,1),letter-spacing .44s ease,text-shadow .44s ease !important;
}
.page-impact .ap-ring-biolabel.is-on{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  letter-spacing:.12em !important;
  text-shadow:0 0 18px rgba(47,185,128,.22) !important;
  animation:apBioLabelWakeV037 1.65s cubic-bezier(.22,1,.36,1) both !important;
}
.page-impact .impact-meter-card.is-biolabel-ready .impact-biolabel{
  animation:apBioPanelLiftV037 1.05s cubic-bezier(.22,1,.36,1) both !important;
  box-shadow:0 26px 58px rgba(17,52,39,.18),0 0 36px rgba(47,185,128,.16) !important;
}
@keyframes apBioLabelWakeV037{
  0%{opacity:0;transform:translateY(7px) scale(.9);filter:blur(2px)}
  36%{opacity:1;transform:translateY(-1px) scale(1.045);filter:blur(0)}
  66%{transform:translateY(0) scale(.985)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes apBioPanelLiftV037{
  0%{transform:translateY(0)}
  42%{transform:translateY(-5px)}
  100%{transform:translateY(0)}
}

@media (max-width:760px){
  .page-impact .impact-meter-card{
    max-width:100% !important;
    overflow:hidden !important;
    padding:18px 12px !important;
  }
  .page-impact .impact-meter-shell{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:18px !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .page-impact .impact-ring{
    width:min(68vw,188px) !important;
    height:min(68vw,188px) !important;
    max-width:188px !important;
    max-height:188px !important;
    overflow:visible !important;
  }
  .page-impact .impact-ring::before{inset:14px !important}
  .page-impact .impact-ring::after{inset:-11px !important}
  .page-impact .impact-ring-inner{
    inset:27px !important;
    gap:4px !important;
    overflow:hidden !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .page-impact .impact-ring-kicker{
    font-size:8px !important;
    line-height:1.12 !important;
    letter-spacing:.08em !important;
    white-space:normal !important;
    max-width:15ch !important;
    text-align:center !important;
    text-wrap:balance;
  }
  .page-impact .impact-ring-value{
    font-size:40px !important;
    line-height:.9 !important;
    grid-template-columns:2.08ch auto !important;
  }
  .page-impact .impact-ring-value strong{
    width:2.08ch !important;
    min-width:2.08ch !important;
    max-width:2.08ch !important;
  }
  .page-impact .impact-ring-value span{
    font-size:16px !important;
    transform:translateY(6px) !important;
  }
  .page-impact .impact-ring-note{
    font-size:10.8px !important;
    line-height:1.28 !important;
    max-width:14ch !important;
    text-align:center !important;
    text-wrap:balance;
  }
  .page-impact .ap-ring-biolabel{
    font-size:7px !important;
    line-height:1.12 !important;
    letter-spacing:.055em !important;
    max-width:14ch !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
  .page-impact .ap-ring-biolabel.is-on{letter-spacing:.07em !important}
  .page-impact .impact-scale{
    width:100% !important;
    max-width:100% !important;
    gap:12px !important;
    overflow:hidden !important;
  }
  .page-impact .impact-step{
    grid-template-columns:48px minmax(0,1fr) 16px !important;
    column-gap:9px !important;
    padding:11px 9px !important;
    min-height:72px !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .page-impact .impact-step>strong{font-size:16px !important;line-height:1 !important}
  .page-impact .impact-step>span{
    font-size:11.8px !important;
    line-height:1.36 !important;
    min-width:0 !important;
    overflow-wrap:break-word !important;
  }
  .page-impact .impact-step .impact-dot{
    width:8px !important;
    height:8px !important;
    min-width:8px !important;
    min-height:8px !important;
  }
  .page-impact .impact-step[data-threshold="50"]::after{
    font-size:8px !important;
    left:9px !important;
    top:-8px !important;
    padding:3px 7px !important;
  }
  .page-impact .impact-biolabel{
    grid-template-columns:1fr !important;
    padding:18px 16px !important;
    border-radius:18px !important;
    gap:12px !important;
    text-align:left !important;
  }
  .page-impact .impact-biolabel strong{font-size:18px !important}
  .page-impact .impact-biolabel p{font-size:13px !important;line-height:1.55 !important}
  .page-impact .impact-badge{
    justify-self:start !important;
    white-space:normal !important;
    max-width:100% !important;
    font-size:10px !important;
    line-height:1.25 !important;
    text-align:center !important;
  }
}

@media (max-width:390px){
  .page-impact .impact-ring{
    width:min(70vw,178px) !important;
    height:min(70vw,178px) !important;
  }
  .page-impact .impact-ring-inner{inset:25px !important}
  .page-impact .impact-ring-kicker{font-size:7.5px !important;max-width:14ch !important}
  .page-impact .impact-ring-value{font-size:37px !important}
  .page-impact .impact-ring-note{font-size:10px !important}
  .page-impact .ap-ring-biolabel{font-size:6.5px !important;max-width:13ch !important}
  .page-impact .impact-step{grid-template-columns:45px minmax(0,1fr) 14px !important;padding:10px 8px !important}
  .page-impact .impact-step>span{font-size:11.4px !important}
}

/* =========================================================
   v0.38 — full mobile text and circle overflow containment
   ========================================================= */
@media (max-width:760px){
  html,
  body,
  .page-impact{
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  .page-impact,
  .page-impact *{
    box-sizing:border-box !important;
  }
  .page-impact .shell{
    width:100% !important;
    max-width:100% !important;
    padding-left:clamp(14px,4vw,18px) !important;
    padding-right:clamp(14px,4vw,18px) !important;
    overflow-x:clip !important;
  }
  .page-impact .impact-hero{
    padding-top:102px !important;
    padding-bottom:48px !important;
    overflow:hidden !important;
  }
  .page-impact .impact-hero-grid,
  .page-impact .impact-meter-shell,
  .page-impact .impact-proof,
  .page-impact .impact-grid,
  .page-impact .impact-cta-box,
  .page-impact .footer-grid,
  .page-impact .footer-links{
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:clip !important;
  }
  .page-impact .impact-copy,
  .page-impact .impact-meter-card,
  .page-impact .impact-meter-top,
  .page-impact .impact-scale,
  .page-impact .impact-biolabel,
  .page-impact .impact-cta-box,
  .page-impact .impact-card,
  .page-impact .impact-proof article{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .page-impact .impact-copy h1,
  .page-impact .impact-meter-top h2,
  .page-impact .section-heading h2,
  .page-impact .impact-cta-box h2{
    max-width:100% !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:auto;
    letter-spacing:0 !important;
  }
  .page-impact .impact-copy h1{
    font-size:clamp(32px,9.6vw,42px) !important;
    line-height:1.08 !important;
    max-width:10.8ch !important;
  }
  .page-impact .impact-meter-top h2,
  .page-impact .section-heading h2,
  .page-impact .impact-cta-box h2{
    font-size:clamp(25px,7.4vw,34px) !important;
    line-height:1.14 !important;
  }
  .page-impact p,
  .page-impact .impact-proof span,
  .page-impact .impact-card p,
  .page-impact .impact-step span,
  .page-impact .footer-grid p{
    max-width:100% !important;
    min-width:0 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    letter-spacing:0 !important;
  }
  .page-impact .eyebrow{
    max-width:100% !important;
    overflow-wrap:break-word !important;
    letter-spacing:.09em !important;
  }
  .page-impact .impact-meter-card{
    padding:18px 12px !important;
    border-radius:22px !important;
    overflow:hidden !important;
    contain:layout paint;
  }
  .page-impact .impact-meter-top{
    align-items:center !important;
    text-align:center !important;
  }
  .page-impact .impact-meter-top p{
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:13px !important;
    line-height:1.55 !important;
  }
  .page-impact .impact-ring{
    width:clamp(156px,54vw,176px) !important;
    height:clamp(156px,54vw,176px) !important;
    max-width:calc(100vw - 96px) !important;
    max-height:calc(100vw - 96px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .page-impact .impact-ring::before{
    inset:13px !important;
  }
  .page-impact .impact-ring::after{
    inset:-8px !important;
    filter:blur(10px) !important;
  }
  .page-impact .impact-ring-svg{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
  }
  .page-impact .impact-ring-track,
  .page-impact .impact-ring-origin,
  .page-impact .impact-ring-progress{
    stroke-width:12.5 !important;
  }
  .page-impact .impact-ring-highlight{
    stroke-width:1.8 !important;
  }
  .page-impact .impact-ring-inner{
    inset:24px !important;
    overflow:hidden !important;
    gap:3px !important;
  }
  .page-impact .impact-ring-kicker{
    font-size:7.4px !important;
    line-height:1.1 !important;
    letter-spacing:.065em !important;
    max-width:13.5ch !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }
  .page-impact .impact-ring-value{
    font-size:clamp(34px,10vw,38px) !important;
    line-height:.9 !important;
    grid-template-columns:2.05ch auto !important;
    column-gap:2px !important;
  }
  .page-impact .impact-ring-value strong{
    width:2.05ch !important;
    min-width:2.05ch !important;
    max-width:2.05ch !important;
  }
  .page-impact .impact-ring-value span{
    font-size:15px !important;
    transform:translateY(5px) !important;
  }
  .page-impact .impact-ring-note{
    font-size:9.6px !important;
    line-height:1.22 !important;
    max-width:13ch !important;
    margin-top:0 !important;
    overflow-wrap:break-word !important;
  }
  .page-impact .ap-ring-biolabel{
    font-size:6.25px !important;
    line-height:1.08 !important;
    letter-spacing:.04em !important;
    max-width:12ch !important;
    overflow-wrap:anywhere !important;
    white-space:normal !important;
  }
  .page-impact .ap-ring-biolabel.is-on{
    letter-spacing:.052em !important;
  }
  .page-impact .impact-step{
    grid-template-columns:42px minmax(0,1fr) 12px !important;
    column-gap:8px !important;
    padding:10px 8px !important;
    min-height:68px !important;
    border-radius:14px !important;
    overflow:hidden !important;
  }
  .page-impact .impact-step>strong{
    font-size:15px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .page-impact .impact-step>span{
    font-size:11px !important;
    line-height:1.32 !important;
  }
  .page-impact .impact-step .impact-dot{
    width:7px !important;
    height:7px !important;
    min-width:7px !important;
    min-height:7px !important;
  }
  .page-impact .impact-step[data-threshold="50"]{
    margin-top:8px !important;
  }
  .page-impact .impact-step[data-threshold="50"]::after{
    max-width:calc(100% - 20px) !important;
    font-size:7px !important;
    line-height:1 !important;
    letter-spacing:.08em !important;
    top:-7px !important;
    left:8px !important;
    padding:3px 6px !important;
    white-space:nowrap !important;
  }
  .page-impact .impact-biolabel{
    padding:16px 14px !important;
    border-radius:17px !important;
  }
  .page-impact .impact-biolabel strong{
    font-size:17px !important;
    line-height:1.16 !important;
  }
  .page-impact .impact-biolabel p{
    font-size:12.5px !important;
    line-height:1.5 !important;
  }
  .page-impact .impact-badge,
  .page-impact .impact-mail,
  .page-impact .header-cta{
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }
  .page-impact .impact-cta-actions,
  .page-impact .footer-links{
    justify-content:flex-start !important;
    gap:10px !important;
  }
}

@media (max-width:390px){
  .page-impact .shell{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .page-impact .impact-copy h1{
    font-size:clamp(30px,9.3vw,36px) !important;
    max-width:10.4ch !important;
  }
  .page-impact .impact-ring{
    width:clamp(150px,52vw,166px) !important;
    height:clamp(150px,52vw,166px) !important;
  }
  .page-impact .impact-ring-inner{
    inset:22px !important;
  }
  .page-impact .impact-ring-kicker{
    font-size:6.9px !important;
    max-width:13ch !important;
  }
  .page-impact .impact-ring-value{
    font-size:34px !important;
  }
  .page-impact .impact-ring-note{
    font-size:9.1px !important;
    max-width:12.5ch !important;
  }
  .page-impact .ap-ring-biolabel{
    font-size:5.9px !important;
    max-width:11.5ch !important;
  }
  .page-impact .impact-step{
    grid-template-columns:39px minmax(0,1fr) 11px !important;
    padding:9px 7px !important;
  }
  .page-impact .impact-step>span{
    font-size:10.5px !important;
  }
}

/* =========================================================
   v0.40 - ring seam, premium motion, symmetric scale cards
   ========================================================= */
.page-impact .impact-ring-origin{
  display:none !important;
}

.page-impact .impact-ring-track{
  stroke:rgba(47,158,110,.16) !important;
  stroke-dasharray:none !important;
  stroke-dashoffset:0 !important;
  stroke-linecap:round !important;
}

.page-impact .impact-ring-progress,
.page-impact .impact-ring-highlight{
  stroke-linecap:round !important;
  transition:stroke-dashoffset 1.4s cubic-bezier(.16,1,.3,1),filter .6s ease !important;
}

.page-impact .impact-ring-progress{
  filter:drop-shadow(0 2px 6px rgba(31,158,110,.26)) !important;
}

.page-impact .impact-ring::before{
  inset:20px !important;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.26) 0%,rgba(248,252,250,.13) 46%,rgba(240,248,244,0) 80%),
    radial-gradient(circle at 50% 50%,#fff 0%,#fbfefc 44%,#f3f9f6 100%) !important;
  box-shadow:
    rgba(47,185,128,.067) 0 0 0 1px inset,
    rgba(255,255,255,.80) 0 10px 22px inset,
    rgba(47,185,128,.045) 0 -14px 24px inset !important;
}

.page-impact .impact-ring-value{
  align-items:baseline !important;
}

.page-impact .impact-ring-value span{
  align-self:baseline !important;
  line-height:1 !important;
  transform:none !important;
}

.page-impact .impact-meter-shell{
  grid-template-columns:252px minmax(240px,1fr) !important;
  gap:36px !important;
}

.page-impact .impact-step{
  grid-template-columns:58px minmax(0,1fr) 18px !important;
  min-height:92px !important;
  align-content:center !important;
}

.page-impact .impact-step>span{
  font-size:13.5px !important;
  line-height:1.35 !important;
  text-wrap:pretty !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.page-impact .impact-step>strong{
  white-space:nowrap !important;
}

@media (max-width:1040px){
  .page-impact .impact-meter-shell{
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }
}

@media (max-width:760px){
  .page-impact .impact-ring-value{
    font-size:clamp(34px,11vw,54px) !important;
  }

  .page-impact .impact-ring-inner{
    inset:12% !important;
  }

  .page-impact .impact-scale{
    width:min(100%,360px) !important;
  }

  .page-impact .impact-step{
    grid-template-columns:58px minmax(0,1fr) 18px !important;
    min-height:88px !important;
  }

  .page-impact .impact-step>span{
    font-size:13px !important;
    line-height:1.34 !important;
    overflow-wrap:break-word !important;
  }
}
