.hero h1 span,
.hero .champion-sport {
  color: var(--mint);
}

.hero .actions .button {
  background: transparent;
  color: #fff;
}

/* Контент до 1040 px: одна сетка и пропорции на всех экранах.
   Масштаб сохраняет пропорции исходной сетки шириной 1200 px. */
.section-divider + section {
  --content-unit: min(0.0733333333vw, 0.8666666667px);
  --section-space: calc(80 * var(--content-unit));
  --wave-height: calc(64 * var(--content-unit));
  padding: calc(var(--section-space) + var(--wave-height))
    max(6%, calc((100% - 1040px) / 2)) var(--section-space);
  font-size: calc(16 * var(--content-unit));
}
.section-divider + section h2 {
  font-size: calc(68 * var(--content-unit));
  margin-top: calc(22 * var(--content-unit));
  margin-bottom: calc(30 * var(--content-unit));
  padding-bottom: calc(22 * var(--content-unit));
}
.section-divider + section h2::after {
  width: calc(64 * var(--content-unit));
  height: calc(3 * var(--content-unit));
  box-shadow: calc(12 * var(--content-unit)) calc(7 * var(--content-unit)) 0 #58c8d54d;
}
.section-divider + section .bodycopy {
  font-size: calc(14 * var(--content-unit));
}
.section-divider + .about {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8%;
}
.about > div:last-child {
  padding: calc(20 * var(--content-unit)) 0 calc(20 * var(--content-unit))
    calc(32 * var(--content-unit));
}
.about .about-photo {
  height: calc(540 * var(--content-unit));
}
.about .about-biography {
  font-size: calc(16 * var(--content-unit));
}
.about-biography p:first-child {
  font-size: calc(18 * var(--content-unit));
}
.about-arrow {
  width: calc(40 * var(--content-unit));
  height: calc(48 * var(--content-unit));
  font-size: calc(23 * var(--content-unit));
}
.about-previous { left: calc(10 * var(--content-unit)); }
.about-next { right: calc(10 * var(--content-unit)); }

/* На телефоне фото и биография идут последовательно без уменьшения текста. */
@media (max-width: 760px) {
  .section-divider + .about {
    --content-unit: 1px;
    --section-space: 48px;
    --wave-height: 36px;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .about .about-photo {
    height: clamp(320px, 110vw, 460px);
  }
  .about > div:last-child {
    min-width: 0;
    border-left: 0;
    padding: 0;
  }
  .section-divider + .about h2 {
    font-size: 40px;
    margin-top: 0;
    margin-bottom: 24px;
    padding-bottom: 18px;
  }
  .section-divider + .about .about-biography {
    font-size: 16px;
    line-height: 1.7;
  }
}
/* Следующая волна перекрывает низ секции на свою высоту. */
.section-divider + #achievements {
  padding-bottom: calc(var(--section-space) + var(--wave-height));
}
#achievements > h2 { margin-top: 0; }
#achievements .milestones {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: calc(16 * var(--content-unit));
  margin-top: calc(35 * var(--content-unit));
}
#achievements .milestones article {
  padding: calc(28 * var(--content-unit));
}
#achievements .milestones article h3 {
  font-size: calc(27 * var(--content-unit));
  overflow-wrap: normal;
  color: #fff;
}
#achievements .milestones article:nth-child(odd) h3 { color: var(--mint); }
#achievements .milestones article::after {
  width: calc(16 * var(--content-unit));
  height: calc(16 * var(--content-unit));
}
#gallery .section-head {
  display: flex;
  margin-bottom: calc(35 * var(--content-unit));
}
#gallery .section-head h2 { margin-bottom: 0; }
#gallery .editorial-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(26 * var(--content-unit)) calc(20 * var(--content-unit));
}
#gallery .story-tile .story-caption {
  padding: calc(64 * var(--content-unit)) calc(44 * var(--content-unit))
    calc(22 * var(--content-unit)) calc(22 * var(--content-unit));
}
#gallery .story-tile .story-caption strong {
  font-size: calc(25 * var(--content-unit));
}
#gallery .story-tile .story-caption::after {
  right: calc(18 * var(--content-unit));
  bottom: calc(24 * var(--content-unit));
  font-size: calc(20 * var(--content-unit));
}
.section-divider + section .button {
  font-size: calc(10 * var(--content-unit));
  letter-spacing: calc(1.6 * var(--content-unit));
  gap: calc(45 * var(--content-unit));
  padding: calc(18 * var(--content-unit)) calc(24 * var(--content-unit));
}
#interests .hobby-collage {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: calc(20 * var(--content-unit));
  padding: calc(30 * var(--content-unit)) calc(5 * var(--content-unit));
}
#interests .hobby.hobby-photo {
  grid-column: span 2;
  height: calc(280 * var(--content-unit));
  min-height: 0;
  padding: calc(24 * var(--content-unit));
}
#interests .hobby.h4 { grid-column: 2 / span 2; }
#interests .hobby-photo > h3 {
  left: calc(24 * var(--content-unit));
  right: calc(20 * var(--content-unit));
  bottom: calc(20 * var(--content-unit));
  font-size: calc(32 * var(--content-unit));
}
.section-divider + .contact {
  display: flex;
  gap: calc(30 * var(--content-unit));
}
.contact h2 { max-width: calc(650 * var(--content-unit)); }
.contact-links { gap: calc(18 * var(--content-unit)); }
.contact-links > a:not(.button) { font-size: calc(13 * var(--content-unit)); }

/* Мобильная версия сохраняет читаемый размер текста, а не масштаб всей страницы. */
@media (max-width: 760px) {
  .section-divider + section {
    --content-unit: 1px;
    --section-space: 48px;
    --wave-height: 36px;
    font-size: 16px;
  }
  .section-divider + section h2 {
    font-size: clamp(32px, 8vw, 40px);
    overflow-wrap: anywhere;
  }
  .section-divider + section .bodycopy {
    font-size: 16px;
    line-height: 1.7;
  }
  #achievements .milestones {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
  }
  #achievements .milestones article {
    padding: 20px 12px;
  }
  #achievements .milestones article h3 {
    font-size: clamp(18px, 4.6vw, 22px);
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  #gallery .section-head {
    display: block;
    margin-bottom: 24px;
  }
  #gallery .section-head .button {
    margin-top: 20px;
  }
  #gallery .editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 12px;
  }
  #gallery .tile.story-tile {
    aspect-ratio: auto;
  }
  #gallery .story-tile .story-caption {
    position: relative;
    padding: 12px 18px 4px 0;
    background: none;
  }
  #gallery .story-tile .story-caption strong {
    font-size: 16px;
    overflow-wrap: anywhere;
  }
  #gallery .story-tile .story-caption::after {
    right: 0;
    bottom: 6px;
    font-size: 18px;
  }
  #interests .hobby-collage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 12px;
    padding: 24px 4px;
  }
  #interests .hobby.hobby-photo {
    grid-column: auto;
    height: 210px;
    padding: 12px;
  }
  #interests .hobby.h5 {
    grid-column: 1 / -1;
  }
  #interests .hobby-photo > h3 {
    left: 12px;
    right: 12px;
    bottom: 16px;
    font-size: 20px;
    overflow-wrap: anywhere;
  }
  .section-divider + .contact {
    display: block;
  }
  .contact-links {
    margin-top: 24px;
    gap: 18px;
  }
  .contact-links > a:not(.button) {
    font-size: 16px;
    overflow-wrap: anywhere;
  }
  .hero .actions {
    flex-wrap: wrap;
  }
  .hero .actions .button,
  .section-divider + section .button {
    font-size: 14px;
    letter-spacing: 0.5px;
    gap: 16px;
    padding: 16px;
  }
  nav {
    font-size: 13px;
    letter-spacing: 0.4px;
  }
  .language-switch {
    font-size: 14px;
  }
  footer {
    font-size: 13px;
  }
}
