:root {
  --cream: #fbf7eb;
  --terracotta: #b34428;
  --chocolate: #2a0c04;
  --dark: #231b16;
  --line: rgba(42, 12, 4, 0.2);
  --pad: clamp(1.15rem, 2.6vw, 2.75rem);
  --header-height: 4.25rem;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: auto; background: var(--cream); }
body { margin: 0; overflow-x: clip; color: var(--chocolate); background: var(--cream); font-family: "Manrope", Arial, sans-serif; font-size: 16px; line-height: 1.45; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { color: var(--cream); background: var(--terracotta); }

.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .8rem 1rem; translate: 0 -150%; color: var(--cream); background: var(--chocolate); }
.skip-link:focus { translate: 0; }

.site-header { position: fixed; z-index: 100; inset: 0 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: var(--header-height); padding: 0 var(--pad); border-bottom: 1px solid rgba(42,12,4,.14); color: var(--chocolate); background: rgba(251,247,235,.84); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: color 420ms ease, background-color 420ms ease, border-color 420ms ease; }
.site-header.on-dark { color: var(--cream); border-color: rgba(251,247,235,.24); background: rgba(35,27,22,.48); }
.wordmark { display: inline-flex; align-items: center; gap: .45rem; width: max-content; font-family: "Prata", Georgia, serif; font-size: 1.2rem; }
.wordmark span { color: var(--terracotta); font-family: Arial, sans-serif; font-size: .85rem; }
.site-header.on-dark .wordmark span { color: var(--cream); }
.desktop-nav { display: flex; gap: clamp(1rem,2.25vw,2.5rem); align-items: center; font-size: .69rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.desktop-nav a, .header-link, .social-links a { position: relative; }
.desktop-nav a::after, .header-link::after, .social-links a::after { position: absolute; right: 0; bottom: -.25rem; left: 0; height: 1px; content: ""; transform: scaleX(0); transform-origin: right; background: currentColor; transition: transform 220ms ease; }
.desktop-nav a:hover::after, .header-link:hover::after, .social-links a:hover::after { transform: scaleX(1); transform-origin: left; }
.header-link { justify-self: end; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.section { position: relative; overflow: clip; }
.section-marker { position: absolute; z-index: 12; top: calc(var(--header-height) + 1.5rem); left: var(--pad); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.micro { margin: 0; font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.display-title { margin: 0; font-family: "Prata", Georgia, serif; font-size: clamp(4.25rem,9.2vw,10rem); font-weight: 400; letter-spacing: -.065em; line-height: .91; text-transform: uppercase; }
.display-title em, .contact-title em { font-weight: 400; }
.body-copy { font-size: clamp(.92rem,1.08vw,1.13rem); }
.body-copy p, .academy-copy p, .results-copy p { margin: 0 0 1.35rem; }

.button { display: inline-flex; width: max-content; max-width: 100%; min-height: 3.6rem; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1rem 1.15rem; border: 1px solid currentColor; font-size: .69rem; font-weight: 700; letter-spacing: .065em; line-height: 1.3; text-transform: uppercase; transition: color 220ms ease, background-color 220ms ease, transform 220ms ease; }
.button span { flex: 0 0 auto; font-size: 1.15rem; line-height: 0; }
.button:hover { transform: translateY(-3px); }
.button-dark { color: var(--cream); border-color: var(--chocolate); background: var(--chocolate); }
.button-dark:hover { color: var(--chocolate); background: transparent; }
.button-cream { color: var(--chocolate); border-color: var(--cream); background: var(--cream); }
.button-cream:hover { color: var(--cream); background: transparent; }
.button-outline { margin-top: 1.5rem; color: var(--cream); background: transparent; }
.button-outline:hover { color: var(--chocolate); background: var(--cream); }
.button-terracotta { color: var(--cream); border-color: var(--terracotta); background: var(--terracotta); }
.button-terracotta:hover { color: var(--terracotta); background: transparent; }

/* 01 — имя и портрет перестраиваются в одну сцену. */
.hero { position: relative; height: 142svh; background: var(--terracotta); }
.hero-stage { position: sticky; z-index: 1; top: 0; height: 100svh; min-height: 40rem; overflow: hidden; background: var(--cream); clip-path: polygon(0 0,100% 0,100% calc(100% - var(--hero-cut,0px)),0 100%); will-change: clip-path; }
.hero-copy { position: absolute; z-index: 7; inset: calc(var(--header-height) + 1.8rem) auto var(--pad) var(--pad); display: flex; width: 38%; flex-direction: column; will-change: transform, opacity; }
.hero-latin { padding-left: .1rem; }
.hero-role { margin: 1.35rem 0 auto; font-family: "Prata", Georgia, serif; font-size: clamp(.95rem,1.14vw,1.25rem); line-height: 1.44; }
.hero-statement { max-width: 28rem; font-size: clamp(.78rem,.86vw,.92rem); font-weight: 700; letter-spacing: -.01em; }
.hero-note { margin: .9rem 0 1.35rem; font-weight: 400; }
.hero-photo-frame { position: absolute; z-index: 2; top: calc(var(--header-height) + 1.05rem); right: 1.2vw; bottom: 2.2vh; width: 48.5%; overflow: hidden; background: #b5a187; transform-origin: 88% 50%; will-change: transform; }
.hero-photo { position: absolute; inset: 0; background-color: #b5a187; background-image: linear-gradient(180deg,transparent 70%,rgba(42,12,4,.1)),url("/assets/anna-hero.webp"); background-repeat: no-repeat; background-position: center top; background-size: contain; transform-origin: 50% 55%; will-change: transform; }
.hero-name { position: absolute; z-index: 8; top: 39%; left: var(--pad); display: flex; width: 56%; margin: 0; flex-direction: column; color: var(--chocolate); font-family: "Prata", Georgia, serif; font-weight: 400; letter-spacing: -.075em; line-height: .78; text-transform: uppercase; pointer-events: none; transform-origin: left center; will-change: transform; }
.hero-name span { display: block; white-space: nowrap; will-change: transform; }
.hero-name-first { font-size: clamp(5.2rem,8.7vw,10.4rem); }
.hero-name-last { margin-top: .08em; font-size: clamp(3.7rem,6.65vw,8rem); }
.hero-index { position: absolute; z-index: 9; right: var(--pad); bottom: var(--pad); color: var(--cream); font-size: .68rem; font-weight: 700; letter-spacing: .14em; }
.hero-scroll { position: absolute; z-index: 9; right: calc(49.5% + 1.25rem); bottom: var(--pad); display: flex; align-items: center; gap: .65rem; font-size: .57rem; font-weight: 700; letter-spacing: .16em; }
.hero-scroll span { display: block; width: 2.4rem; height: 1px; background: currentColor; }

/* 02 — сначала фото и заголовок, затем отдельная читаемая плоскость. */
.mentoring { height: 148svh; color: var(--cream); background: var(--terracotta); }
.mentoring-stage { position: sticky; top: 0; height: 100svh; min-height: 40rem; overflow: hidden; }
.mentoring-stage::after { position: absolute; z-index: 0; inset: auto -12vw -35vh 32vw; height: 68vh; content: ""; border-top: 1px solid rgba(251,247,235,.42); transform: rotate(-7deg); }
.mentoring-photo-wrap { position: absolute; z-index: 3; top: 14vh; bottom: 9vh; left: 5vw; width: min(34vw,31rem); overflow: visible; transform-origin: 50% 70%; will-change: transform; }
.mentoring-photo-wrap::before { position: absolute; z-index: -1; inset: 1.15rem -1.15rem -1.15rem 1.15rem; content: ""; border: 1px solid rgba(251,247,235,.7); }
.mentoring-photo-wrap::after { position: absolute; z-index: 4; inset: 0; content: ""; box-shadow: inset 0 -8rem 8rem -7rem rgba(35,27,22,.42); pointer-events: none; }
.mentoring-photo { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.image-curtain { display: none; }
.vertical-label { position: absolute; top: 1rem; right: -2.15rem; margin: 0; font-size: .56rem; font-weight: 700; letter-spacing: .18em; writing-mode: vertical-rl; }
.mentoring-copy { position: absolute; z-index: 5; inset: 0; }
.mentoring .display-title { position: absolute; z-index: 4; top: 17vh; left: 34vw; width: 64vw; font-size: clamp(4.9rem,8.05vw,9rem); line-height: .82; transform-origin: 15% 35%; will-change: transform, opacity; }
.title-line { display: block; white-space: nowrap; will-change: transform; }
.title-line-two { margin-left: 10vw; color: var(--chocolate); }
.title-line-three { margin-left: 2vw; }
.mentoring-details { position: absolute; z-index: 8; right: 4.5vw; bottom: 7vh; width: min(33vw,31rem); padding: clamp(1.35rem,2.2vw,2.25rem); color: var(--cream); background: rgba(35,27,22,.96); box-shadow: 0 2rem 5rem rgba(42,12,4,.18); will-change: transform, opacity; }
.mentoring-details .button { margin-top: .7rem; }

/* 03 — коробка раскрывается из маски, затем уступает место описанию. */
.academy { height: 146svh; background: var(--cream); }
.academy-stage { position: sticky; top: 0; height: 100svh; min-height: 40rem; overflow: hidden; }
.academy-heading { position: absolute; z-index: 4; top: 17vh; left: var(--pad); width: 66vw; }
.academy-heading .micro { margin-bottom: 1.45rem; }
.academy-title { margin: 0; font-family: "Prata", Georgia, serif; font-size: clamp(5rem,11.5vw,13rem); font-weight: 400; letter-spacing: -.075em; line-height: .8; text-transform: uppercase; transform-origin: left center; will-change: transform, opacity; }
.academy-tagline { position: absolute; top: calc(100% + 1.5rem); right: 2vw; margin: 0; color: var(--terracotta); font-size: clamp(.74rem,1vw,1rem); font-weight: 700; letter-spacing: .06em; line-height: 1.35; }
.academy-visual { position: absolute; z-index: 6; left: 34vw; bottom: 5vh; display: grid; width: min(38vw,35rem); height: min(61vh,36rem); place-items: center; transform-origin: center 70%; will-change: transform; }
.academy-mask { position: relative; z-index: 3; display: grid; width: 100%; height: 100%; overflow: hidden; place-items: center; clip-path: inset(100% 0 0 0); will-change: clip-path; }
.academy-mask img { width: min(34vw,29rem); max-height: 54vh; object-fit: contain; filter: drop-shadow(0 2.3rem 1.8rem rgba(42,12,4,.19)); transform-origin: center bottom; will-change: transform; }
.academy-frame { position: absolute; z-index: 1; width: min(35vw,30rem); aspect-ratio: 1; border: 1px solid var(--terracotta); will-change: transform; }
.academy-rule { position: absolute; z-index: 2; right: -4vw; left: -4vw; height: 1px; background: var(--terracotta); transform-origin: center; will-change: transform; }
.academy-copy { position: absolute; z-index: 8; right: 5vw; bottom: 7vh; width: min(31vw,31rem); padding: clamp(1.2rem,2vw,2rem); font-size: clamp(.92rem,1.06vw,1.12rem); background: rgba(251,247,235,.97); box-shadow: 0 2rem 5rem rgba(42,12,4,.12); will-change: transform, opacity; }
.academy-copy .button { margin-top: 1.1rem; }

/* 04 — самостоятельная типографическая сцена. */
.results { height: 142svh; color: var(--cream); background: var(--chocolate); }
.results-stage { position: sticky; top: 0; height: 100svh; min-height: 40rem; overflow: hidden; }
.results-stage::before { position: absolute; top: 15%; right: -15%; width: 68vw; height: 1px; content: ""; background: rgba(251,247,235,.35); transform: rotate(-11deg); transform-origin: right; }
.results-title-wrap { position: absolute; z-index: 2; top: 27vh; left: var(--pad); width: calc(100% - (var(--pad) * 2)); transform-origin: left center; will-change: transform; }
.results .display-title { font-size: clamp(5rem,10.7vw,12rem); line-height: .82; }
.results .display-title span, .results .display-title em { display: inline-block; white-space: nowrap; will-change: transform, opacity; }
.results .display-title em { color: var(--terracotta); }
.asterisk { position: absolute; top: -3.2rem; right: 2%; color: var(--terracotta); font-size: clamp(3rem,7vw,8rem); will-change: transform; }
.results-copy { position: absolute; z-index: 7; right: 5vw; bottom: 7vh; width: min(31vw,30rem); padding: clamp(1.2rem,2vw,2rem); font-size: clamp(.9rem,1.05vw,1.08rem); color: var(--cream); background: rgba(35,27,22,.96); border: 1px solid rgba(251,247,235,.2); will-change: transform, opacity; }

/* 05 — встречное движение полос раскрывает коммерческий текст. */
.money { height: 148svh; background: var(--cream); }
.money-stage { position: sticky; top: 0; height: 100svh; min-height: 40rem; overflow: hidden; }
.money-stage::before { position: absolute; z-index: 0; inset: 0 56% 0 0; content: ""; background: var(--terracotta); clip-path: polygon(0 0,100% 7%,82% 100%,0 100%); }
.money .section-marker { color: var(--cream); }
.money-kinetic { position: absolute; z-index: 2; top: 18vh; left: var(--pad); display: flex; width: 43vw; height: 64vh; flex-direction: column; justify-content: center; gap: .7rem; transform-origin: left center; will-change: transform; }
.money-band { display: flex; width: min(37vw,34rem); min-height: clamp(5rem,8.5vw,8.8rem); align-items: center; overflow: hidden; border: 1px solid var(--cream); font-family: "Prata", Georgia, serif; font-size: clamp(2.35rem,4.35vw,5rem); letter-spacing: -.06em; line-height: 1; white-space: nowrap; will-change: transform; }
.money-band span { display: block; padding: .25rem 1rem; }
.money-band-one { color: var(--cream); }
.money-band-two { margin-left: 4vw; color: var(--cream); background: var(--chocolate); }
.money-band-three { margin-left: 1.4vw; color: var(--terracotta); background: var(--cream); }
.money-copy { position: absolute; z-index: 5; top: 17vh; right: var(--pad); width: 54vw; padding-left: 3vw; will-change: transform; }
.money-copy .display-title { font-size: clamp(4rem,7.05vw,7.9rem); line-height: .86; }
.money-copy .display-title > span, .money-copy .display-title > em { display: inline-block; will-change: transform, opacity; }
.money-copy .display-title em { color: var(--terracotta); }
.money-copy .body-copy { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; margin: 3rem 0 1.15rem; will-change: transform, opacity; }
.money-copy > .button { will-change: transform, opacity; }

.contact { display: grid; min-height: 100svh; grid-template-columns: minmax(0,1.7fr) minmax(16rem,.55fr); grid-template-rows: auto auto auto; gap: 3rem; align-items: end; padding: clamp(8rem,11vw,11rem) var(--pad) 2.2rem; color: var(--cream); background: var(--terracotta); }
.contact::before { position: absolute; top: -1px; right: 0; left: 0; height: 7vw; content: ""; background: var(--cream); clip-path: polygon(0 0,100% 0,0 100%); }
.contact-title { position: relative; z-index: 2; grid-column: 1 / -1; margin: 0; font-family: "Prata", Georgia, serif; font-size: clamp(5rem,12.2vw,13.5rem); font-weight: 400; letter-spacing: -.075em; line-height: .79; text-transform: uppercase; will-change: transform; }
.contact-title em { -webkit-text-stroke: 1px var(--cream); color: transparent; }
.contact-copy { position: relative; z-index: 2; align-self: start; font-size: clamp(1rem,1.5vw,1.45rem); }
.contact-copy p { margin: 0; }
.contact-invite { padding-top: 2rem; font-family: "Prata", Georgia, serif; font-size: 1.35em; }
.contact-button { position: relative; z-index: 2; grid-column: 1 / -1; display: flex; min-height: clamp(6.5rem,11vw,11rem); align-items: center; justify-content: space-between; padding: 1rem 0; border-top: 1px solid var(--cream); border-bottom: 1px solid var(--cream); font-family: "Prata", Georgia, serif; font-size: clamp(2.1rem,5.1vw,6rem); letter-spacing: -.045em; line-height: 1; transition: padding 260ms ease, color 260ms ease, background-color 260ms ease; }
.contact-button:hover { padding-right: 1.5rem; padding-left: 1.5rem; color: var(--terracotta); background: var(--cream); }
.site-footer { position: relative; z-index: 2; grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 2rem; align-items: flex-end; padding-top: 2rem; font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.social-links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.site-footer p { margin: 0; }

.motion-ready .reveal { opacity: 0; translate: 0 1.4rem; transition: opacity 700ms ease, translate 700ms var(--ease-out); }
.motion-ready .reveal[data-reveal="image"] { opacity: 1; translate: 0; }
.motion-ready .reveal.is-visible { opacity: 1; translate: 0; }
:focus-visible { outline: 3px solid #c51f6f; outline-offset: 4px; }

@media (max-width: 1100px) and (min-width: 981px) {
  .hero-name { top: 41%; }
  .hero-name-last { font-size: 6.15vw; }
  .mentoring .display-title { left: 32vw; font-size: 7vw; }
  .mentoring-details { width: 35vw; }
  .academy-copy, .results-copy { width: 34vw; }
}

@media (max-width: 980px) {
  :root { --header-height: 3.8rem; }
  .site-header { grid-template-columns: 1fr 1fr; }
  .desktop-nav { display: none; }
  .hero, .mentoring, .academy, .results, .money { height: auto; }
  .hero-stage, .mentoring-stage, .academy-stage, .results-stage, .money-stage { position: relative; top: auto; height: auto; min-height: 0; overflow: hidden; clip-path: none; }

  .hero-stage { display: flex; padding-top: var(--header-height); flex-direction: column; }
  .hero-photo-frame { position: relative; top: auto; right: auto; bottom: auto; order: 1; width: 100%; height: min(68svh,43rem); min-height: 31rem; transform-origin: center; }
  .hero-photo { background-position: center top; background-size: contain; transform-origin: center; }
  .hero-name { position: relative; top: auto; left: auto; order: 2; width: auto; padding: 1.6rem var(--pad) 0; line-height: .83; transform-origin: left center; }
  .hero-name-first { font-size: clamp(4rem,14.6vw,8.5rem); }
  .hero-name-last { font-size: clamp(3.4rem,12.2vw,7.1rem); }
  .hero-copy { position: relative; inset: auto; order: 3; width: auto; min-height: 30rem; padding: 2.25rem var(--pad) 3.5rem; }
  .hero-role { margin-bottom: 5rem; }
  .hero-index { top: calc(var(--header-height) + 1rem); right: var(--pad); bottom: auto; }
  .hero-scroll { display: none; }

  .section-marker { top: 1.6rem; }
  .mentoring-stage, .academy-stage, .results-stage, .money-stage { display: grid; grid-template-columns: minmax(0,1fr); gap: 3rem; padding: 7rem var(--pad) 5.5rem; }
  .mentoring-photo-wrap, .mentoring-copy, .mentoring .display-title, .mentoring-details, .academy-heading, .academy-visual, .academy-copy, .results-title-wrap, .results-copy, .money-kinetic, .money-copy { position: relative; inset: auto; width: auto; transform: none; }
  .mentoring-stage::after { inset: auto -20vw 28rem 10vw; }
  .mentoring-photo-wrap { width: min(74vw,35rem); height: auto; min-height: 0; aspect-ratio: 2 / 3; justify-self: start; }
  .mentoring-copy { display: contents; }
  .mentoring .display-title { z-index: 6; margin-top: -10rem; font-size: clamp(4rem,12vw,7.5rem); }
  .title-line-two { margin-left: 11vw; }
  .title-line-three { margin-left: 3vw; }
  .mentoring-details { width: min(100%,35rem); justify-self: end; padding: clamp(1.25rem,4vw,2rem); }

  .academy-heading { padding-top: 1rem; }
  .academy-title { font-size: 13.5vw; }
  .academy-tagline { position: relative; top: auto; right: auto; margin: 1.2rem 0 0 35%; }
  .academy-visual { width: min(82vw,42rem); height: 31rem; justify-self: start; }
  .academy-mask img { width: min(67vw,33rem); max-height: 29rem; }
  .academy-frame { width: min(67vw,32rem); }
  .academy-copy { max-width: 35rem; justify-self: end; }

  .results-stage { min-height: 52rem; align-content: center; }
  .results-title-wrap { width: 100%; }
  .results .display-title { font-size: clamp(4.2rem,11vw,7.5rem); }
  .results-copy { width: min(100%,34rem); justify-self: end; }
  .asterisk { top: -2.8rem; }

  .money-stage::before { inset: 0 0 auto; height: 45rem; clip-path: polygon(0 0,100% 0,100% 87%,0 100%); }
  .money-kinetic { z-index: 2; display: flex; width: 100%; height: 34rem; flex-direction: column; justify-content: center; gap: .65rem; }
  .money-band { width: min(75vw,37rem); }
  .money-copy { z-index: 4; padding: 3rem 0 0; }
  .money-copy .display-title { font-size: clamp(4rem,11vw,7rem); }

  .contact { grid-template-columns: 1fr; grid-template-rows: auto; align-content: center; }
  .contact-title, .contact-copy, .contact-button, .site-footer { grid-column: 1; }
  .contact-copy { justify-self: end; width: min(100%,25rem); }
}

@media (max-width: 640px) {
  .hero-photo-frame { height: 61svh; min-height: 28.5rem; }
  .hero-name { padding-top: 1.25rem; }
  .hero-name-first { font-size: 18vw; }
  .hero-name-last { font-size: 14.4vw; }
  .hero-copy { min-height: 29rem; }
  .button { width: 100%; min-width: 0; white-space: normal; }
  .display-title { font-size: clamp(3.1rem,14.4vw,5.25rem); }

  .mentoring-stage, .academy-stage, .results-stage, .money-stage { padding-top: 6.4rem; padding-bottom: 5rem; }
  .mentoring-stage { gap: 2.5rem; }
  .mentoring-photo-wrap { width: calc(100% - 1.15rem); }
  .mentoring-photo-wrap::before { inset: .75rem -.75rem -.75rem .75rem; }
  .vertical-label { right: -1.75rem; }
  .mentoring .display-title { margin-top: -6.7rem; font-size: 13vw; }
  .title-line-two { margin-left: 8vw; }
  .mentoring-details { width: 100%; }

  .academy-title { margin-top: 1rem; font-size: 15.2vw; }
  .academy-tagline { margin-left: 0; }
  .academy-visual { width: calc(100% + (var(--pad) * 2)); height: 24rem; margin-left: calc(var(--pad) * -1); }
  .academy-mask img { width: 76vw; max-height: 23rem; }
  .academy-frame { width: 72vw; }
  .academy-copy { justify-self: stretch; padding: 0; box-shadow: none; }

  .results-stage { min-height: 49rem; gap: 3.5rem; }
  .results .display-title { font-size: 13.2vw; }
  .results-copy { width: 100%; min-width: 0; padding: 0; border: 0; background: transparent; }
  .asterisk { top: -2.5rem; }

  .money-stage { gap: 2.5rem; }
  .money-stage::before { height: 37rem; }
  .money-kinetic { height: 27rem; }
  .money-band { width: calc(100% - 1rem); min-height: 5.4rem; font-size: 10.5vw; }
  .money-band-two { margin-left: 1rem; }
  .money-band-three { margin-left: .4rem; }
  .money-copy { padding-top: 4rem; }
  .money-copy .display-title { font-size: 12.2vw; }
  .money-copy .body-copy { grid-template-columns: 1fr; gap: 0; margin-top: 2.5rem; }

  .contact { min-width: 0; min-height: auto; grid-template-columns: minmax(0,1fr); padding: 7.5rem var(--pad) 2rem; }
  .contact-title { font-size: 13.1vw; }
  .contact-button { width: 100%; min-width: 0; min-height: 8.5rem; align-items: flex-end; font-size: clamp(1.8rem,8vw,3rem); }
  .contact-button span:first-child { max-width: 82%; }
  .site-footer { flex-direction: column; align-items: flex-start; }
  .social-links { flex-direction: column; }
}

@media (max-height: 720px) and (min-width: 981px) {
  .hero-stage, .mentoring-stage, .academy-stage, .results-stage, .money-stage { min-height: 38rem; }
  .hero-name { top: 39%; }
  .hero-role { font-size: .92rem; }
  .hero-statement { font-size: .76rem; }
  .mentoring .display-title { top: 18vh; font-size: 6.7vw; }
  .mentoring-details { bottom: 5vh; padding: 1.15rem 1.4rem; }
  .mentoring-details .body-copy { font-size: .88rem; }
  .academy-heading { top: 17vh; }
  .academy-copy, .results-copy { bottom: 5vh; padding: 1rem 1.3rem; font-size: .88rem; }
  .academy-copy p, .results-copy p { margin-bottom: .8rem; }
  .money-copy { top: 15vh; }
  .money-copy .body-copy { margin-top: 1.5rem; font-size: .88rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .motion-ready .reveal { opacity: 1; translate: 0; }
  .hero, .mentoring, .academy, .results, .money { height: auto; }
  .hero-stage, .mentoring-stage, .academy-stage, .results-stage, .money-stage { position: relative; top: auto; min-height: 100svh; clip-path: none; }
  .academy-mask { clip-path: none; }
}
