/* One shared desktop canvas; mobile and tablet layouts retain their own rhythm. */
@media (min-width:1151px){
  :root{--desktop-canvas:1920px;--desktop-gutter:clamp(36px,3.3vw,84px)}
  .wrap,.legal-wrap{width:100%;max-width:var(--desktop-canvas);padding-inline:var(--desktop-gutter);margin-inline:auto}
  .site-header{height:112px;gap:clamp(24px,2vw,42px)}
  .desktop-nav{gap:clamp(24px,2.2vw,44px);margin-left:auto}
  .website-language{margin-left:0}
  .hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(48px,5vw,112px);padding-top:24px;padding-bottom:52px}
  .hero h1{font-size:clamp(72px,6.2vw,116px);letter-spacing:-.06em;max-width:800px}
  html:not([lang^="de"]) .hero h1{font-size:clamp(66px,5.8vw,106px);letter-spacing:-.055em}
  .hero-lead{font-size:clamp(16px,1vw,19px);max-width:35ch}
  .hero-note{font-size:12px;max-width:56ch}
  .hero-actions{gap:22px 30px;margin-top:32px}
  .hero-stage{padding-inline:28px;gap:20px}
  .hero-stage .phone,.hero-stage:hover .phone{width:min(413px,max(294px,calc((100svh - 240px)*.4613 + 20px)),28vw);--radius:48px}
  .section{padding-block:clamp(90px,6vw,120px)}
  .section h2,.sports-heading h2,.app-intro h2,.creator-copy h2,.training-usecases-heading h2{font-size:clamp(48px,3.7vw,72px);line-height:1.1;letter-spacing:-.045em}
  .heading-row>p,.sports-heading>p{font-size:16px;max-width:34ch}
  .idea .idea-bottom{gap:clamp(42px,4.5vw,90px)}
  .idea-intro>p{max-width:40ch}
  .idea .steps{gap:clamp(24px,2.2vw,44px)}
  .idea .steps p{max-width:36ch}
  .training-stories{gap:clamp(24px,2vw,38px)}
  .story-photo{height:clamp(320px,24vw,430px)}
  .story-copy{padding:clamp(30px,2.4vw,46px)}
  .story-copy h3{font-size:clamp(32px,2.5vw,46px)}
  .story-copy>p{font-size:15px;max-width:58ch}
  .sports-connections{gap:clamp(28px,2.8vw,54px);margin-top:40px}
  .sports-connections-intro h3{font-size:24px}
  .sports-connections strong{font-size:15px}
  .app-section{gap:clamp(60px,6vw,120px)}
  .app-intro>p:not(.small-note){font-size:16px;max-width:48ch}
  .app-entry p{max-width:60ch}
  .training-usecases-grid{column-gap:clamp(48px,5vw,96px)}
  .training-usecase>p{max-width:68ch}
  .creator-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(60px,7vw,140px)}
  .creator-copy>p{font-size:18px;max-width:48ch}
  .creator-preview{width:min(100%,480px)}
  .plan-grid{gap:clamp(24px,2vw,38px)}
  .plan{padding:clamp(34px,2.6vw,50px)}
  .plan-summary{max-width:60ch}
  .check-list li{font-size:14px}
  .membership-comparison th,.membership-comparison td{padding-block:20px}
  .membership-comparison th:first-child{width:64%}
  .membership-comparison table{font-size:15px}
  .outlook.section{gap:clamp(64px,6vw,120px);padding-block:96px 72px}
  .outlook h2{font-size:clamp(48px,3.7vw,72px)}
  .outlook-list p{font-size:15px;max-width:66ch}
  .feedback-panel{padding:clamp(36px,3vw,58px);gap:48px}
  .feedback-panel h2{font-size:clamp(30px,2.7vw,48px)}
  .feedback-panel p{font-size:16px;max-width:68ch}
  .closing{padding-block:76px 84px}
  .closing h2{font-size:clamp(48px,4.4vw,80px);letter-spacing:-.045em}
  .footer{padding-top:44px;padding-bottom:32px}
  .footer-top{gap:36px}
  /* Legal sections use the same canvas, with a comfortable reading column. */
  .legal-wrap{padding-top:35px;padding-bottom:80px}
  .legal-header{min-height:77px;margin-bottom:64px}
  .legal-header>.text-link{margin-left:auto}
  .legal-wrap h1{font-size:clamp(60px,5vw,88px);letter-spacing:-.045em}
  .legal-lead{font-size:17px;max-width:72ch}
  .legal-menu{margin-bottom:56px}
  .legal-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(48px,6vw,116px);padding-block:40px}
  .legal-section h2{font-size:clamp(27px,2.2vw,38px);line-height:1.2;max-width:20ch;overflow-wrap:break-word}
  .legal-copy{min-width:0;max-width:76ch}
  .legal-section p,.legal-section ul{font-size:16px;line-height:1.8}
  .legal-copy>:first-child{margin-top:0}
}
