/* Fluid vertical rhythm. Typography is inherited without resizing headings. */
:root{--scene-space:clamp(28px,4.6svh,64px);--scene-gap:clamp(20px,3.4svh,40px)}
@media(min-width:761px){
  .section{padding-block:var(--scene-space)}
  .section-label{margin-bottom:var(--scene-gap)}
  .section-heading{margin-bottom:var(--scene-gap)}
  .approach-top{margin-bottom:var(--scene-gap)}
  .goal-row{padding-block:clamp(16px,2.5svh,28px)}
  .formats{padding-top:var(--scene-space)}
  .format-picker{margin-top:clamp(28px,4.6svh,50px);padding-top:clamp(22px,3.5svh,34px)}
  .format-photo{height:clamp(180px,25svh,275px)}
  .format-body{padding-top:clamp(18px,2.8svh,28px)}
  .format-body h3{margin-block:clamp(12px,2svh,19px)}
  .format-body>p:not(.eyebrow){min-height:0}
  .format-body ul{margin-block:clamp(16px,2.5svh,25px) clamp(18px,3svh,30px)}
  .format-body li{padding-block:clamp(5px,1svh,8px)}
  .card-cta{min-height:54px;padding-block:clamp(13px,2svh,20px)}
  .hero{height:auto;min-height:100svh;padding-bottom:72px}
  .hero-topline{padding-top:clamp(106px,14.5svh,132px)}
  .hero-copy{margin-top:clamp(18px,3svh,38px)}
  .hero-eyebrow{margin-bottom:14px}
  .hero-description{margin-top:18px}
  .hero-buttons{margin-top:18px}
  .athlete-wrap{top:120px;height:calc(100% - 132px)}
  .hero-bottom{bottom:18px}
  .hero-side{gap:20px;top:36%}
  .manifesto{height:auto;min-height:calc(100svh - 74px);display:flex;align-items:center}
  .manifesto-content{padding-block:clamp(24px,4svh,60px)}
  .manifesto-content .eyebrow{margin-bottom:clamp(14px,2.4svh,28px)}
  .manifesto-content>p:not(.eyebrow){margin-block:clamp(14px,2.4svh,24px)}
  .manifesto-foot{bottom:16px}
  .first-intro>p{margin-block:clamp(18px,3svh,30px)}
  .steps li{padding-block:clamp(13px,2svh,24px)}
  .steps li:first-child{padding-top:0}
  .steps h3{margin-bottom:7px}
  .steps p{max-width:none}
  .coach-index{margin-bottom:clamp(15px,2.5svh,25px)}
  .coach-quote{margin-block:clamp(22px,3.6svh,40px) 14px}
  .coach-principles>.eyebrow{padding-bottom:18px}
  .coach-principles article{padding-block:clamp(15px,2.4svh,24px) clamp(18px,2.8svh,28px)}
  .team-head{margin-bottom:clamp(24px,4svh,60px)}
  .team-caption{margin-top:clamp(24px,4.5svh,50px)}
  .faq summary{padding-block:clamp(16px,2.6svh,24px)}
  .faq details p{padding-bottom:20px}
  .final{min-height:calc(100svh - 74px);padding-block:clamp(28px,4svh,60px);display:grid;grid-template-columns:1fr 1fr;justify-items:center;align-content:center;gap:14px 32px}
  .final>.eyebrow,.final>.display{grid-column:1/-1}
  .final>.display{margin:0}
  .final>.final-copy{grid-column:1;justify-self:end;text-align:left}
  .final>.button{grid-column:2;justify-self:start;align-self:center;margin:0}
}
/* A laptop composition uses spare horizontal space instead of shrinking type. */
@media(min-width:1000px) and (max-height:900px){
  :root{--scene-space:clamp(24px,4svh,36px);--scene-gap:clamp(18px,3.2svh,28px)}
  .first-layout,.coach-layout{column-gap:clamp(42px,4.6vw,70px)}
  .hero-word{bottom:7%;mask-image:none}
  .team{display:grid;grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);column-gap:clamp(34px,4vw,64px)}
  .team>.section-label{grid-column:1/-1}
  .team-head{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;margin:0}
  .team-head>p{max-width:280px}
  .team-spark{font-size:60px}
  .team-portraits{grid-column:2;grid-row:2;height:clamp(300px,calc(100svh - 240px),490px);max-height:none;margin:0}
  .team-caption{grid-column:2;grid-row:3;margin-top:50px;gap:20px;line-height:1.6}
}
@media(min-width:761px) and (max-height:680px){
  .hero-topline{padding-top:102px}
  .hero-copy{margin-top:12px}
  .hero-eyebrow{margin-bottom:10px}
  .hero-description,.hero-buttons{margin-top:14px}
  .hero{padding-bottom:64px}
  .final{padding-block:20px;gap:10px 28px}
}
/* On narrow screens content keeps its natural height; only excess gaps go. */
@media(max-width:760px){
  .section{padding-block:clamp(36px,6svh,60px)}
  .section-label{margin-bottom:28px}
  .section-heading,.approach-top{margin-bottom:28px}
  .formats,.faq{padding-top:24px}
  .format-picker{margin-top:30px;padding-top:24px}
  .first-intro>p{margin-block:20px}
  .steps{margin-top:32px}
  .steps li{padding-block:20px}
  .coach-quote{margin-top:24px}
  .coach-principles{margin-top:30px}
  .team-head{margin-bottom:32px}
  .team-caption{margin-top:46px}
  .final{padding-block:44px;min-height:0}
  .final .display{margin-block:26px 20px}
  .final .button{margin-top:24px}
}
@media(min-width:761px){html{scroll-padding-top:74px}}
@media(max-width:760px){html{scroll-padding-top:70px}}

/* Leave the full brand word readable beneath the controls on laptop screens. */
@media(min-width:761px) and (max-height:900px){
  .hero h1{font-size:clamp(88px,9.2vw,144px);line-height:.84}
  .hero h1 .motion-line{padding-block:.05em .08em;margin-block:-.05em -.08em}
  .hero .hero-word{mask-image:none;opacity:.44!important;bottom:7%}
}

@media(min-width:761px) and (max-height:900px){
  .hero-buttons>.text-link{background:#080808c7;border-radius:30px;padding:12px 16px;color:#d4d1c8}
}
