.why-effort-page {
  background:
    radial-gradient(circle at 74% 8%, rgba(15,99,246,.08), transparent 24rem),
    radial-gradient(circle at 10% 22%, rgba(34,78,132,.18), transparent 28rem),
    #040506;
}

.why-effort-page main { overflow: hidden; }

.effort-shell {
  width: min(100%, 1240px);
  margin-inline: auto;
}

.effort-kicker {
  margin: 0;
  color: var(--orange);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.effort-kicker span { margin-inline: 7px; color: var(--soft); }

.effort-opening {
  padding: 92px clamp(20px, 5.5vw, 78px) clamp(28px, 3.4vw, 44px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 70% 22%, rgba(15,99,246,.08), transparent 25rem),
    linear-gradient(180deg, rgba(9,18,32,.7), rgba(4,5,6,.98) 72%);
  scroll-margin-top: 92px;
}

.effort-opening h1,
.effort-section h2,
.effort-close h2 {
  margin: 0;
  font-family: var(--condensed);
  font-weight: 900;
  line-height: .95;
  text-transform: uppercase;
  text-wrap: balance;
}

.effort-opening h1 {
  max-width: 900px;
  margin-top: 12px;
  font-size: clamp(34px, 3.25vw, 56px);
}

.effort-opening h1 span,
.effort-opening h2 span,
.effort-section h2 span,
.effort-close h2 span {
  display: block;
  color: var(--orange);
}

.compact-heading p,
.meaning-grid p,
.rep-grid p,
.season-heading p,
.performance-grid p,
.intention-grid p,
.loop-grid p,
.close-grid p {
  margin: 0;
  color: #d7dee8;
  font-size: clamp(15px, .96vw, 17px);
  line-height: 1.48;
}

.opportunity-block {
  max-width: 960px;
  margin-top: clamp(24px, 3vw, 38px);
}

.opportunity-statement {
  margin: 10px 0 0;
  color: white;
  font-family: var(--condensed);
  font-size: clamp(23px, 2.1vw, 34px);
  font-weight: 900;
  line-height: 1.02;
  text-transform: uppercase;
  text-wrap: balance;
}

.opportunity-statement strong {
  display: block;
  margin-top: 6px;
  color: var(--yellow);
}

.compact-heading {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(340px, .78fr);
  align-items: end;
  gap: clamp(24px, 4.6vw, 58px);
  margin-top: clamp(34px, 4.2vw, 56px);
}

.effort-section {
  scroll-margin-top: 92px;
  padding: clamp(28px, 3.4vw, 46px) clamp(20px, 5.5vw, 78px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.effort-section h2,
.effort-close h2 {
  margin-top: 8px;
  font-size: clamp(25px, 2.05vw, 36px);
}

.athlete-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 18px;
}

.athlete-compare article,
.rep-examples,
.input-output,
.max-shift article {
  padding: clamp(15px, 1.6vw, 22px);
  border: 1px solid rgba(98,141,192,.24);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(24,43,69,.9), rgba(8,14,24,.96));
  box-shadow: 0 18px 42px rgba(0,0,0,.2);
}

.athlete-compare article.is-active { border-color: rgba(45,134,255,.4); }

.athlete-compare span,
.max-shift span,
.input-output span {
  display: block;
  color: var(--yellow);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.athlete-compare article > strong {
  display: block;
  margin-top: 7px;
  color: white;
  font-family: var(--condensed);
  font-size: 22px;
  line-height: .95;
  text-transform: uppercase;
}

.athlete-compare ul {
  display: grid;
  gap: 7px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}

.athlete-compare li {
  color: #e7edf6;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.28;
}

.athlete-compare li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--orange);
}

.effort-takeaway,
.rep-takeaway,
.practice-takeaway,
.performance-takeaway,
.season-statement {
  margin-top: clamp(18px, 2.2vw, 28px);
  padding-top: 12px;
  border-top: 2px solid var(--orange);
  color: white;
  font-family: var(--condensed);
  font-size: clamp(22px, 1.7vw, 30px);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.effort-takeaway strong,
.rep-takeaway strong,
.season-statement strong,
.performance-takeaway strong,
.effort-close h2 span {
  display: block;
  color: var(--orange);
}

.effort-takeaway.compact { font-size: clamp(22px, 1.9vw, 30px); }

.season-section {
  background:
    radial-gradient(circle at 74% 40%, rgba(15,99,246,.08), transparent 27rem),
    linear-gradient(180deg, #040506, #07101d 50%, #040506);
}

.season-heading,
.meaning-grid,
.rep-grid,
.performance-grid,
.intention-grid,
.close-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(380px, .78fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: center;
}

.season-graphic {
  margin-top: 18px;
  padding: clamp(14px, 1.5vw, 20px);
  border: 1px solid rgba(45,134,255,.24);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(22,40,64,.94), rgba(7,13,22,.97));
  box-shadow: 0 24px 58px rgba(0,0,0,.28);
}

.season-axis {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-left: 170px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.season-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-top: 13px;
}

.season-label b { display: block; color: white; font-size: 16px; }

.season-label small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.season-dots {
  min-height: 62px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background-color: rgba(1,5,10,.38);
}

.season-dots.modest {
  background-image:
    radial-gradient(circle, rgba(255,255,255,.34) 0 3.3px, transparent 3.8px),
    radial-gradient(circle, rgba(15,99,246,.66) 0 3.2px, transparent 3.7px),
    radial-gradient(circle, rgba(45,134,255,.58) 0 3px, transparent 3.5px);
  background-size: 23px 21px, 118px 39px, 166px 43px;
  background-position: 7px 9px, 28px 18px, 82px 7px;
}

.season-dots.engaged {
  background-image:
    radial-gradient(circle, rgba(255,255,255,.38) 0 3.3px, transparent 3.8px),
    radial-gradient(circle, rgba(15,99,246,.86) 0 3.4px, transparent 3.9px),
    radial-gradient(circle, rgba(45,134,255,.82) 0 3.2px, transparent 3.7px);
  background-size: 23px 21px, 56px 27px, 76px 31px;
  background-position: 7px 9px, 21px 18px, 39px 8px;
}

.season-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 16px;
  margin: 14px 0 0 170px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.season-legend span { display: inline-flex; align-items: center; gap: 7px; }
.season-legend i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.42); }
.season-legend span:nth-child(2) i { background: var(--orange); }
.season-legend span:nth-child(3) i { background: var(--yellow); }

.season-statement {
  display: grid;
  gap: 5px;
  max-width: 940px;
}

.rep-section,
.real-days-section { background: linear-gradient(180deg, #050607, #08101b); }

.rep-examples {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
}

.rep-examples p,
.effort-facet-grid span,
.max-shift p {
  margin: 0;
  color: #dce4ee;
  font-size: 13px;
  font-weight: 740;
  line-height: 1.33;
}

.rep-examples p {
  padding-left: 11px;
  border-left: 2px solid rgba(15,99,246,.72);
}

.rep-examples strong { color: var(--yellow); }

.meaning-section,
.performance-section {
  background:
    radial-gradient(circle at 12% 40%, rgba(32,73,124,.16), transparent 25rem),
    #05080d;
}

.meaning-grid small {
  display: block;
  margin-top: 11px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}

.effort-facet-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.effort-facet-grid article {
  min-height: 78px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(16,32,54,.72);
}

.effort-facet-grid b {
  color: white;
  font-family: var(--condensed);
  font-size: 19px;
  line-height: .95;
  text-transform: uppercase;
}

.effort-facet-grid b::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 3px;
  background: var(--orange);
}

.effort-facet-grid span { display: block; margin-top: 5px; font-size: 12px; }

.practice-takeaway {
  max-width: 960px;
  font-size: clamp(23px, 2vw, 32px);
}

.performance-grid > div:first-child > strong {
  display: block;
  margin: 10px 0;
  color: var(--yellow);
  font-family: var(--condensed);
  font-size: clamp(22px, 1.8vw, 30px);
  line-height: .95;
  text-transform: uppercase;
}

.input-output {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
}

.input-output > i {
  color: var(--orange);
  font-size: 29px;
  font-style: normal;
  font-weight: 950;
}

.input-output div { display: grid; gap: 6px; }

.input-output b {
  padding: 7px 9px;
  border-radius: 999px;
  color: white;
  background: rgba(255,255,255,.065);
  font-size: 12px;
}

.input-output div:last-child b { background: rgba(15,99,246,.12); }

.day-cards {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  margin-top: 20px;
}

.day-cards article {
  min-height: 112px;
  padding: 12px;
  border: 1px solid rgba(98,141,192,.2);
  border-radius: 15px;
  background: linear-gradient(160deg, rgba(25,45,72,.82), rgba(8,14,24,.94));
}

.day-cards span {
  color: var(--yellow);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.day-cards p {
  margin: 10px 0 0;
  color: white;
  font-size: 13px;
  font-weight: 780;
  line-height: 1.3;
}

.max-shift {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 12px;
}

.max-shift i {
  display: grid;
  place-items: center;
  color: var(--orange);
  font-style: normal;
  font-size: 27px;
  font-weight: 950;
}

.max-shift p + p { margin-top: 7px; }
.max-shift b { color: var(--yellow); }

.reflection-path {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 690px;
  margin-top: 22px;
  padding: 14px 18px;
  border: 1px solid rgba(45,134,255,.22);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(10,22,38,.78);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.reflection-path i {
  flex: 1;
  height: 2px;
  min-width: 18px;
  border-radius: 99px;
  background: linear-gradient(90deg, rgba(15,99,246,.25), rgba(45,134,255,.78));
}

.effort-close {
  padding: clamp(34px, 3.6vw, 48px) clamp(20px, 5.5vw, 78px);
  background:
    radial-gradient(circle at 22% 30%, rgba(15,99,246,.1), transparent 24rem),
    #040506;
  scroll-margin-top: 92px;
}

.close-grid { align-items: start; }
.close-grid p + p { margin-top: 9px; }

.close-grid a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  color: var(--yellow);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 1180px) {
  .day-cards { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  .compact-heading,
  .season-heading,
  .meaning-grid,
  .rep-grid,
  .performance-grid,
  .intention-grid,
  .close-grid {
    grid-template-columns: 1fr;
  }

  .effort-opening { padding-top: 96px; }
  .effort-opening h1 { font-size: clamp(32px, 9vw, 46px); }
  .effort-section h2, .effort-close h2 { font-size: clamp(28px, 7.8vw, 38px); }
  .athlete-compare, .rep-examples { grid-template-columns: 1fr; }
  .season-axis { display: none; }
  .season-row { grid-template-columns: 1fr; gap: 8px; }
  .season-legend { margin-left: 0; }
  .input-output, .max-shift { grid-template-columns: 1fr; }
  .input-output > i, .max-shift i { transform: rotate(180deg); }
}

@media (max-width: 640px) {
  .effort-opening,
  .effort-section,
  .effort-close {
    padding-inline: 18px;
  }

  .effort-facet-grid,
  .day-cards { grid-template-columns: 1fr 1fr; }

  .season-dots { min-height: 72px; }

  .reflection-path {
    align-items: stretch;
    flex-direction: column;
    border-radius: 20px;
  }

  .reflection-path i {
    width: 2px;
    height: 18px;
    min-width: 0;
    flex: none;
  }
}
