/* Method */
.protocol {
  padding-top: clamp(112px, 13vw, 200px);
  padding-bottom: clamp(120px, 14vw, 214px);
}
.protocol-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.55fr);
  gap: clamp(34px, 8vw, 140px);
  align-items: end;
}
.protocol-heading > p {
  margin-top: 0;
}
.protocol-steps {
  list-style: none;
  padding: 0;
  margin: clamp(76px, 8vw, 120px) 0 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}
.protocol-steps li {
  position: relative;
  min-height: 260px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  border-radius: var(--card-radius);
  color: var(--ink);
  background: var(--surface-soft);
  transition: background-color 0.28s ease;
}
.protocol-steps li:hover {
  background: #dfe7ef;
}
.protocol-steps li > span {
  position: relative;
  z-index: 1;
  font-size: 10px;
  letter-spacing: 0;
  color: var(--quiet);
}
.protocol-steps h3,
.protocol-steps p {
  position: relative;
  z-index: 1;
}
.protocol-steps h3 {
  margin-top: auto;
  font-size: 22px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 430;
}
.protocol-steps p {
  max-width: 30ch;
  margin-top: 11px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}
/* Adaptive protocols */
.technology {
  padding-top: clamp(108px, 12vw, 184px);
  padding-bottom: clamp(112px, 13vw, 196px);
  background: var(--surface-soft);
}
.technology-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, 0.6fr);
  gap: clamp(32px, 6vw, 120px);
  align-items: end;
}
.technology-heading > p {
  margin-top: 0;
}
.adaptive-layout {
  margin-top: clamp(112px, 13vw, 190px);
}
.adaptive-system {
  border-top: 1px solid var(--border);
}
.adaptive-stage {
  min-height: 215px;
  padding: 34px 0;
  display: grid;
  grid-template-columns: 48px minmax(180px, 0.72fr) minmax(220px, 1fr);
  gap: clamp(20px, 3vw, 50px);
  align-items: start;
  border-bottom: 1px solid var(--border);
  opacity: 0.42;
  transition: opacity 0.35s ease;
}
.adaptive-stage.is-current {
  opacity: 1;
}
.adaptive-stage > span {
  padding-top: 3px;
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--quiet);
}
.adaptive-stage h3 {
  font-size: clamp(25px, 2.5vw, 38px);
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 420;
}
.adaptive-stage p {
  max-width: 48ch;
  font-size: var(--body-copy-size);
  line-height: 1.45;
  letter-spacing: -0.018em;
  color: var(--muted);
}

/* Whole athlete */
.care-media > .card-stack:first-child {
  margin-top: clamp(70px, 8vw, 122px);
}
.care-card--light img {
  object-position: center 54%;
}
.care-card--dark img {
  filter: saturate(0.86) contrast(0.96);
}
.care-card--light::after {
  content: "";
  position: absolute;
  inset: 58% 0 0;
  background: linear-gradient(180deg, transparent, rgba(7, 11, 14, 0.38));
}
.care-card--dark::after {
  content: "";
  position: absolute;
  inset: 44% 0 0;
  background: linear-gradient(180deg, transparent, rgba(8, 7, 6, 0.58));
}
