@font-face {
  font-family:Outfit;
  src:url('/assets/outfit.6c18d579fd87c377.woff2') format('woff2');
  font-weight:400 700;
  font-style:normal;
  font-display:swap
}
:root {
  --ink:#132e4b;
  --muted:#52667a;
  --pale:#edf3f8;
  --blue:#254f78;
  --lime:#d2f34b;
  --line:#c9d6e2;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--pale);
  font-synthesis:none;
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
* { box-sizing:border-box }
body { margin:0; font-size:16px }
button,input { font:inherit }
button,a,input { -webkit-tap-highlight-color:transparent }
a { color:inherit; text-underline-offset:4px }
button,a { touch-action:manipulation }
button { cursor:pointer }
button:disabled { cursor:default }
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible {
  outline:3px solid #367bb5;
  outline-offset:5px
}
[hidden] { display:none!important }
h1,h2,h3,p,figure,blockquote { margin:0 }
h1,h2,h3,button,.eyebrow,.brand,.nav-cta,summary {
  font-family:Outfit,Arial,sans-serif
}
h1,h2,h3 { font-weight:500; letter-spacing:-.03em; overflow-wrap:anywhere }
h2 { font-size:clamp(2.4rem,4vw,4rem); line-height:1.06 }
h3 { font-size:1.65rem; line-height:1.15; letter-spacing:0 }
p { line-height:1.65 }
img { display:block; max-width:100% }
.wrap { width:min(1320px,calc(100% - 112px)); margin-inline:auto }
.skip-link {
  position:absolute;
  top:-70px;
  left:24px;
  z-index:30;
  background:var(--ink);
  color:white;
  padding:12px
}
.skip-link:focus { top:12px }
.site-header { min-height:116px; display:flex; align-items:center; justify-content:space-between }
.brand { font-size:2.8rem; font-weight:600; text-decoration:none; letter-spacing:-.08em }
.brand img { width:112px; height:auto }
.site-header nav { display:flex; align-items:center; gap:36px; font:500 1rem Outfit,sans-serif }
.site-header nav a { text-decoration:none; min-height:44px; display:flex; align-items:center }
.site-header nav a:hover { text-decoration:underline }
.nav-cta { border:1px solid var(--ink); padding:13px 19px; border-radius:4px }
.nav-cta span { margin-left:22px }
.hero {
  display:grid;
  grid-template-columns:1.02fr 1fr;
  gap:50px;
  padding-top:24px;
  padding-bottom:64px;
  align-items:stretch
}
.hero-copy { padding:22px 0 6px; min-width:0 }
.eyebrow { text-transform:uppercase; font-size:.75rem; font-weight:500; letter-spacing:.13em }
.status-dot {
  display:inline-block;
  width:7px;
  height:7px;
  background:var(--blue);
  border-radius:50%;
  margin-right:8px;
  vertical-align:middle
}
.hero h1 {
  font-size:clamp(4.8rem,6.75vw,7rem);
  line-height:.99;
  margin:28px 0 26px;
  letter-spacing:-.03em
}
.hero h1 span { color:#547b9e }
.hero-intro { font:500 1.23rem Outfit,sans-serif; margin-bottom:12px }
.hero-description { max-width:460px; color:var(--muted); font-size:1.02rem; line-height:1.65 }
.hero-visual {
  position:relative;
  min-height:750px;
  border-radius:5px;
  overflow:hidden;
  background:var(--blue)
}
.hero-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:40% 48%;
  position:absolute;
  inset:0
}
.hero-visual:after {
  content:'';
  position:absolute;
  inset:65% 0 0;
  background:linear-gradient(transparent,rgba(15,40,64,.8))
}
.hero-visual figcaption {
  position:absolute;
  bottom:28px;
  left:28px;
  right:28px;
  color:#fff;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:8px
}
.hero-visual figcaption span:first-child { font-size:.75rem; letter-spacing:.14em }
.hero-visual figcaption span:last-child { font:500 1.45rem Outfit,sans-serif }
.preview-link {
  display:flex;
  align-items:center;
  gap:30px;
  width:fit-content;
  min-height:48px;
  margin-top:18px;
  font:500 1rem Outfit,sans-serif
}
.preview-link span { font-size:1.5rem; text-decoration:none }
.waitlist-form { margin-top:30px; max-width:560px; min-width:0 }
.email-label { display:block; font-size:1rem; margin-bottom:9px; font-weight:600 }
.email-row {
  display:flex;
  border:1px solid #b2c4d4;
  border-radius:4px;
  background:#f9fcff;
  padding:5px;
  gap:4px
}
.email-row input {
  background:transparent;
  min-width:0;
  flex:1;
  border:0;
  padding:12px 9px;
  color:var(--ink);
  font-size:1rem
}
.email-row input::placeholder { color:#617386 }
.primary {
  background:var(--lime);
  border:0;
  border-radius:2px;
  color:var(--ink);
  font-size:1rem;
  font-weight:500;
  padding:15px 17px;
  white-space:nowrap;
  min-height:48px
}
.primary:hover { background:#c5e73c }
.primary span { margin-left:13px }
.primary:disabled { opacity:.7 }
.permission {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:1rem;
  margin-top:6px;
  min-height:44px;
  line-height:1.4;
  cursor:pointer
}
.permission input {
  appearance:auto;
  accent-color:var(--ink);
  width:18px;
  height:18px;
  margin:0;
  flex-shrink:0
}
.form-note { font-size:.8rem; color:var(--muted); line-height:1.6 }
.form-status { font-size:1rem; margin-top:10px; line-height:1.5 }
.form-status:empty { display:none }
.form-status[data-state=error] { color:#9c303a }
.form-status[data-state=success] { font-weight:600 }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden }
.intro-band { background:#dfe9f2; padding:60px 0 }
.intro-layout { display:grid; grid-template-columns:.65fr 1.7fr 1fr; gap:38px; align-items:start }
.intro-layout .eyebrow { padding-top:8px }
.intro-layout h2 { font-size:clamp(2rem,2.8vw,2.9rem) }
.intro-layout>p:last-child { color:var(--muted) }
.coach-preview { padding-top:104px; padding-bottom:72px }
.preview-heading {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  column-gap:100px;
  row-gap:18px;
  align-items:end;
  margin-bottom:38px
}
.preview-heading>.eyebrow { grid-column:1/-1 }
.preview-heading>p:last-child { color:var(--muted); max-width:410px; padding-bottom:4px }
.preview-canvas {
  display:grid;
  grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);
  grid-template-areas:"media coach" "rail coach";
  background:var(--ink);
  color:var(--pale);
  align-items:stretch
}
.preview-media { grid-area:media; min-width:0; background:var(--blue) }
.video-frame { position:relative; background:var(--blue) }
.video-frame video,.video-frame img { display:block; width:100%; height:auto; object-fit:contain }
.video-frame figure { margin:0 }
.video-frame figcaption { padding:12px 20px }
.coach-preview[data-enhanced] .video-frame { aspect-ratio:16/9 }
.coach-preview[data-enhanced] .video-frame video,
.coach-preview[data-enhanced] .video-frame figure { position:absolute; inset:0; width:100%; height:100% }
.coach-preview[data-enhanced] .video-frame img { height:100% }
.coach-preview[data-enhanced] .video-frame figcaption { display:none }
.moment-label {
  position:absolute;
  top:16px;
  left:16px;
  padding:6px 12px;
  font-size:1rem;
  line-height:1.5;
  border:1px solid #edf3f866;
  background:#102a43b3;
  backdrop-filter:blur(8px)
}
.foot-marker {
  position:absolute;
  left:51.5%;
  top:83%;
  width:12%;
  height:5%;
  border:2px solid var(--lime);
  border-top:0;
  border-radius:0 0 50% 50%;
  transform:translate(-50%,-20%);
  filter:drop-shadow(0 1px 2px #102a43)
}
.coach-preview[data-moment=ready] .foot-marker { left:33.5%; top:81%; width:22% }
.coach-preview[data-held=true]:not([data-moment=serve]) .moment-label {
  top:83%;
  left:61%;
  transform:translateY(-50%);
  padding:4px 9px;
  font-size:clamp(.75rem,1.1vw,1rem);
  border-color:#d2f34b80
}
.coach-preview[data-held=true]:not([data-moment=serve]) .moment-label:before {
  content:'';
  position:absolute;
  right:100%;
  top:50%;
  width:22px;
  height:1px;
  background:var(--lime)
}
.coach-preview[data-held=true][data-moment=ready] .moment-label { left:48%; top:81% }
.replay-rail {
  grid-area:rail;
  display:grid;
  grid-template-columns:80px minmax(0,1fr);
  gap:20px;
  align-items:center;
  padding:14px 20px;
  background:var(--blue)
}
.play-toolbar {
  display:flex;
  align-items:center;
  justify-content:center
}
.play-toolbar button {
  width:100%;
  min-height:64px;
  color:var(--ink);
  background:var(--lime);
  border:0;
  border-radius:3px;
  padding:8px 4px;
  font-size:.875rem;
  text-align:center;
  line-height:1.5;
  transition:transform 150ms ease-out
}
.play-toolbar button:hover { background:#ddf59e }
.play-toolbar button:before { content:'▶'; display:block; font-size:1rem; margin-bottom:4px }
.coach-preview[data-playing=true] .play-toolbar button:before { content:'Ⅱ' }
.play-toolbar button:active,.moment-track button:active { transform:scale(.97) }
.coach-preview button:focus-visible { outline:3px solid var(--pale); outline-offset:4px }
.media-status { padding:0 20px 20px; color:var(--pale); font-size:1rem }
.media-status:empty { display:none }
.coach-copy {
  grid-area:coach;
  align-self:center;
  padding:32px clamp(24px,3vw,44px);
  min-width:0
}
.coach-copy section+section { margin-top:32px }
.coach-preview[data-enhanced] .coach-copy section { margin:0; min-height:15rem }
.coach-preview:not([data-enhanced]) .replay-rail { display:none }
.coach-copy .eyebrow { color:#c1d2e0; font-size:.75rem; letter-spacing:.08em }
.coach-copy h3 { font-size:clamp(2rem,3vw,3rem); margin:20px 0; line-height:1.1 }
.coach-copy section>p:last-child { color:#d6e4f0; font-size:1rem; line-height:1.65 }
.coach-timeline>p { font-size:.75rem; color:#c1d2e0; margin-bottom:10px }
.moment-track {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,3.2rem),1fr));
  gap:0
}
.moment-track button {
  position:relative;
  min-width:0;
  min-height:48px;
  padding:16px 0 0;
  text-align:left;
  color:#c1d2e0;
  background:transparent;
  border:0;
  border-top:1px solid #c1d2e066;
  transition:transform 150ms ease-out
}
.moment-track button:before {
  content:'';
  position:absolute;
  top:-5px;
  left:0;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#c1d2e0
}
.moment-track span { display:block; font-size:1rem; line-height:1.5; overflow-wrap:anywhere }
.moment-track button:hover,.moment-track button[aria-pressed=true] { color:var(--lime) }
.moment-track button[aria-pressed=true]:before {
  background:var(--lime);
  box-shadow:0 0 0 4px #d2f34b26
}
.moment-track button[aria-pressed=true] span { font-weight:600 }
.coach-preview[data-mode=complete] .play-toolbar button {
  background:transparent;
  color:var(--pale);
  box-shadow:inset 0 0 0 1px #c1d2e080
}
.coach-practice { border-left:2px solid var(--lime); padding:0 0 0 20px; margin-top:24px }
.coach-practice .eyebrow { color:var(--lime) }
.coach-practice h4 { font:500 1.3rem Outfit,sans-serif; margin:10px 0 }
.coach-practice p { font-size:.9375rem; line-height:1.55; color:#d6e4f0 }
.create-plan {
  display:block;
  width:100%;
  margin-top:22px;
  padding:15px 16px;
  min-height:48px;
  text-align:left;
  color:var(--ink);
  background:var(--lime);
  border:0;
  border-radius:2px;
  line-height:1.4
}
.create-plan:after { content:'↓'; margin-left:12px }
.create-plan:hover { background:#ddf59e }
.practice-sheet {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);
  column-gap:clamp(32px,5vw,80px);
  padding:0 clamp(24px,5vw,72px) 0;
  background:#f5f3e9;
  color:var(--ink);
  scroll-margin-top:24px
}
.plan-source {
  grid-column:1/-1;
  position:relative;
  display:flex;
  align-items:baseline;
  gap:12px 24px;
  flex-wrap:wrap;
  padding:28px 0;
  border-bottom:1px solid #132e4b30
}
.plan-source:before {
  content:'';
  position:absolute;
  left:0;
  top:0;
  width:2px;
  height:22px;
  background:var(--lime)
}
.plan-source span { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em }
.plan-source p { font:400 1.125rem/1.5 Outfit,sans-serif }
.plan-heading { grid-column:1; padding-top:40px; max-width:740px }
.plan-heading h3:focus { outline:none }
.plan-heading h3 {
  margin:20px 0 24px;
  font-size:clamp(2.5rem,4.2vw,4rem);
  line-height:1.04;
  letter-spacing:-.03em
}
.plan-heading>p:last-child { color:var(--muted); font-size:1rem }
.plan-workspace { display:contents }
.plan-court {
  grid-column:2;
  grid-row:2 / span 2;
  align-self:center;
  max-width:360px;
  width:100%;
  margin:36px auto;
  padding:20px 16px;
  background:var(--blue);
  box-shadow:12px 12px 0 #132e4b0d;
  color:var(--lime)
}
.plan-court svg { display:block; width:100%; height:auto; overflow:visible }
.court-ground { fill:#315d83 }
.court-lines { fill:none; stroke:#edf3f880; stroke-width:1.5 }
.court-net { fill:none; stroke:var(--pale); stroke-width:3 }
.practice-path {
  fill:none;
  stroke:var(--lime);
  stroke-width:2;
  marker-end:url(#plan-arrow)
}
.practice-ball { fill:none; stroke:#c1d2e0; stroke-width:1.5; stroke-dasharray:4 5 }
.court-player { fill:var(--pale) }
.court-ready { fill:var(--lime); stroke:var(--ink); stroke-width:1.5 }
.court-partner { fill:var(--blue); stroke:var(--pale); stroke-width:2 }
.plan-court text { fill:var(--pale); font:13px Arial,sans-serif; text-anchor:middle }
.plan-court figcaption { margin-top:18px; font-size:.8125rem; color:#d6e4f0; text-align:center }
.plan-steps { grid-column:1; list-style:none; margin:32px 0 24px; padding:0; min-width:0 }
.plan-steps>li { border-top:1px solid #132e4b30; padding:0 0 26px }
.plan-steps h4 { margin:0 }
.plan-steps button {
  display:grid;
  grid-template-columns:2rem minmax(0,1fr) auto;
  align-items:baseline;
  gap:16px;
  width:100%;
  padding:22px 0 12px;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  font-size:clamp(1.3rem,2.2vw,1.8rem);
  font-weight:500;
  line-height:1.2
}
.plan-step-number { font:400 .8125rem/1.4 Arial,sans-serif; font-variant-numeric:tabular-nums }
.plan-step-arrow { font-size:1.2rem }
.coach-preview .practice-sheet button:focus-visible { outline-color:var(--ink) }
.coach-preview[data-enhanced] .plan-steps button[aria-pressed=false] { color:var(--muted) }
.coach-preview[data-enhanced] .plan-steps button[aria-pressed=false] .plan-step-arrow {
  visibility:hidden
}
.plan-steps [data-plan-detail] { padding-left:48px }
.plan-steps [data-plan-detail]>p { color:var(--muted); font-size:1rem }
.plan-steps .plan-dose { color:var(--ink); font-weight:600; margin:6px 0 12px }
.plan-footer {
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:20px 40px;
  padding:28px 0 32px;
  border-top:1px solid #132e4b30
}
.plan-footer p { font-size:.9375rem; color:var(--muted) }
.plan-footer a { display:inline-flex; gap:24px; align-items:center; min-height:48px; line-height:1.5 }
@media(prefers-reduced-motion:no-preference) {
  .practice-sheet[data-revealed=true] { animation:plan-enter 260ms ease-out }
  .practice-sheet[data-revealed=true] .court-lines { animation:court-draw 280ms ease-out }
  .practice-sheet[data-revealed=true] [data-plan-diagram]:not([hidden]) .practice-path {
    animation:court-draw 420ms ease-out
  }
}
@keyframes plan-enter {
  from { opacity:0; transform:translateY(12px) }
  to { opacity:1; transform:translateY(0) }
}
@keyframes court-draw {
  from { stroke-dasharray:1; stroke-dashoffset:1 }
  to { stroke-dasharray:1; stroke-dashoffset:0 }
}
.sample-disclosure { font-size:.8rem; margin-top:16px; color:var(--muted) }
.benefits {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  padding-top:45px;
  padding-bottom:92px
}
.benefits-heading h2 { margin:20px 0 24px }
.benefits-heading>p:last-child { color:var(--muted); max-width:370px }
.benefit-answers article { padding:26px 0; border-top:1px solid var(--line) }
.benefit-answers article:first-child { padding-top:0; border:0 }
.benefit-answers h3 { font-size:1.55rem; margin-bottom:12px }
.benefit-answers p { color:var(--muted) }
.how { padding-top:40px; padding-bottom:90px; border-top:1px solid var(--line) }
.how-heading { display:flex; justify-content:space-between; align-items:center; gap:40px }
.how-heading h2 { font-size:clamp(1.8rem,2.8vw,2.75rem); max-width:700px }
.steps {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  padding:0;
  margin:40px 0 0
}
.step-number { font:400 .85rem Outfit,sans-serif; display:block; margin-bottom:22px }
.steps h3 { margin-bottom:14px; font-size:1.45rem }
.steps p { color:var(--muted); max-width:340px }
.text-link { display:inline-flex; align-items:center; min-height:48px; font:500 1rem Outfit,sans-serif }
.filming-link { margin-top:28px; gap:12px }
.coach-story { background:var(--ink); color:var(--pale); padding:100px 0 }
.story-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:100px }
.story-layout .eyebrow { color:#b4c8d9 }
.story-layout h2 { margin-top:26px; font-size:clamp(3rem,4.6vw,5rem) }
.story-invitation { color:#b4c8d9; margin:26px 0 20px }
.story-body { padding-top:40px }
.large-copy { font:400 1.65rem/1.4 Outfit,sans-serif }
.story-body>p+p { margin-top:23px; color:#b4c8d9 }
.relationship-example { margin:32px 0; padding:24px 0 24px 26px; border-left:2px solid #6589a8 }
.relationship-example>.eyebrow { font-size:.7rem }
.relationship-example blockquote { font:400 1.5rem/1.4 Outfit,sans-serif; margin:20px 0 }
.relationship-example>p:last-child { color:#b4c8d9; font-size:1rem }
.guide-feature {
  position:relative;
  display:block;
  padding:38px 36px 70px;
  background:#dfe9f2;
  text-decoration:none;
  border-radius:3px
}
.guide-feature:hover { background:#d4e2ed }
.guide-tag { font-size:.75rem; letter-spacing:.12em; font-weight:600 }
.guide-feature h3,.guide-feature h2 { font-size:2rem; line-height:1.13; margin:30px 0 15px }
.guide-feature p { font-size:1rem; color:var(--muted); max-width:300px }
.guide-arrow { position:absolute; right:30px; bottom:26px; font-size:1.8rem }
.faq {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:100px;
  padding-top:100px;
  padding-bottom:100px
}
.faq h2 { margin-top:22px }
.faq-list { min-width:0 }
.faq-list details { border-top:1px solid var(--line) }
.faq-list details:last-child { border-bottom:1px solid var(--line) }
summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:1.05rem;
  font-weight:500;
  padding:24px 0
}
summary::-webkit-details-marker { display:none }
summary>span { font-weight:300; font-size:1.5rem; line-height:1; flex-shrink:0 }
details[open] summary>span { transform:rotate(45deg) }
details>p { padding:0 30px 25px 0; font-size:1rem; color:var(--muted) }
.launch-section { background:#dfe9f2; padding:80px 0 }
.launch-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center }
.launch-layout h2 { margin:20px 0; font-size:clamp(3.3rem,5vw,5.1rem) }
.launch-layout p { color:var(--muted); max-width:450px }
.launch-layout .waitlist-form { margin-top:0 }
footer { padding:64px 0 35px }
.footer-layout { display:flex; justify-content:space-between; gap:50px }
.footer-brand { font:600 2.5rem Outfit,sans-serif; letter-spacing:-.08em; text-decoration:none }
.footer-layout p { font-size:1rem; color:var(--muted); margin-top:9px }
.footer-layout span { display:block; font-size:.8rem; margin-top:30px; color:var(--muted) }
.footer-layout nav {
  display:flex;
  gap:22px;
  align-items:flex-start;
  flex-wrap:wrap;
  font-size:.875rem;
  padding-top:10px
}
.footer-layout nav>a,.footer-layout nav>button { min-height:44px; display:flex; align-items:center }
.footer-layout button {
  font:inherit;
  background:none;
  color:inherit;
  padding:0;
  border:0;
  text-decoration:underline;
  text-underline-offset:4px
}
.consent {
  position:fixed;
  z-index:20;
  bottom:20px;
  left:20px;
  max-width:450px;
  padding:24px;
  background:#f5f9fc;
  border:1px solid var(--line);
  box-shadow:0 8px 40px #132e4b26;
  border-radius:5px
}
.consent p { font-size:1rem }
.consent p+p { margin-top:8px }
.actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:17px }
.actions button {
  font-size:1rem;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--ink);
  background:var(--ink);
  color:white;
  border-radius:3px
}
.editorial { max-width:1000px; padding-top:30px; padding-bottom:100px }
.breadcrumbs { display:flex; gap:12px; color:var(--muted); font-size:.875rem; flex-wrap:wrap }
.editorial-header { margin:58px 0 48px; max-width:850px }
.editorial-header h1 { font-size:clamp(3rem,6vw,5.5rem); line-height:1.05; margin:20px 0 25px }
.intro { font-size:1.15rem; color:var(--muted); max-width:700px }
.reading-meta { font-size:.8rem; color:var(--muted); margin-top:22px }
.article-body { max-width:710px }
.information-section { margin-bottom:45px }
.information-section h2 { font-size:1.8rem; margin-bottom:18px; letter-spacing:-.025em }
.information-section p { font-size:1rem; color:var(--muted); margin-bottom:16px; line-height:1.8 }
.information-section a { color:var(--ink) }
.back-home { display:inline-flex; align-items:center; min-height:44px; margin-top:24px; font-size:1rem }
.hub-feature { margin-bottom:58px; max-width:710px }
.hub-feature h2 { margin:22px 0 18px }
.shell>main:not(.editorial):not(:has(.hero)) { padding:90px 56px; min-height:50vh }
.shell>main>h1 { font-size:4rem }
.shell>main>.intro { margin:25px 0 }
@media(min-width:1600px) {
  .hero-visual { min-height:800px }
  .hero h1 { font-size:7.5rem }
}
@media(max-width:1100px) {
  .wrap { width:calc(100% - 64px) }
  .hero { gap:30px }
  .hero h1 { font-size:5.5rem }
  .email-row { flex-wrap:wrap }
  .email-row input { width:100%; flex-basis:100%; padding:13px 10px }
  .email-row button { width:100%; display:flex; justify-content:space-between }
  .intro-layout { grid-template-columns:1.4fr 1fr }
  .intro-layout>.eyebrow { grid-column:1/-1 }
  .preview-heading,.benefits,.story-layout,.faq,.launch-layout { gap:40px }
  .coach-copy { padding:26px }
  .how-heading { display:block }
  .how-heading h2 { margin-top:20px }
  .steps { gap:25px }
  .footer-layout nav { max-width:340px }
}
@media(max-width:800px) {
  .preview-canvas { grid-template-columns:1fr; grid-template-areas:"media" "rail" "coach" }
  .coach-copy { padding:28px 24px 32px }
  .coach-preview[data-enhanced] .coach-copy section { min-height:13rem }
  .coach-copy h3 { font-size:2.3rem; margin:16px 0 }
  .replay-rail { grid-template-columns:4rem minmax(0,1fr); gap:12px; padding:12px }
  .moment-track span { font-size:.875rem }
}
@media(max-width:720px) {
  .wrap { width:calc(100% - 40px) }
  .site-header { min-height:88px }
  .brand img { width:95px }
  .site-header nav { gap:12px }
  .site-header nav>a:first-child { display:none }
  .site-header nav>a:nth-child(2) { font-size:.875rem }
  .nav-cta { font-size:.875rem; padding:11px 12px }
  .nav-cta span { margin-left:8px }
  .hero { grid-template-columns:1fr; padding-top:5px; padding-bottom:38px; gap:34px }
  .hero-copy { padding:8px 0 0 }
  .hero h1 { font-size:clamp(2.75rem,14vw,6.3rem); margin:23px 0 }
  .hero .eyebrow { font-size:.65rem; letter-spacing:.08em }
  .hero-intro { font-size:1.15rem }
  .hero-description { font-size:1rem; max-width:500px }
  .waitlist-form { margin-top:25px; max-width:none }
  .email-row { flex-wrap:wrap }
  .email-row input,.email-row button { width:100%; flex-basis:100%; font-size:1rem }
  .primary span { margin-left:8px }
  .hero-visual { min-height:430px; height:112vw; max-height:560px }
  .hero-visual figcaption { bottom:24px; left:24px }
  .intro-band { padding:40px 0 }
  .intro-layout { display:block }
  .intro-layout h2 { font-size:2.2rem; margin:18px 0 }
  .intro-layout>p:last-child { max-width:470px }
  .coach-preview { padding-top:65px; padding-bottom:45px }
  .preview-heading { display:block; margin-bottom:26px }
  .preview-heading h2 { margin:18px 0 20px; font-size:2.5rem }
  .coach-copy h3 { font-size:2.1rem }
  .moment-label { top:10px; left:10px; padding:3px 8px }
  .sample-disclosure { font-size:.8rem }
  .plan-source { display:block; padding-top:28px }
  .plan-source p { margin-top:10px }
  .plan-heading { padding-top:32px }
  .practice-sheet { display:block }
  .plan-workspace { display:flex; flex-direction:column }
  .plan-court { order:2; max-width:260px; margin:0 auto 32px }
  .plan-steps .plan-court { margin:24px auto 0 }
  .plan-steps button { gap:12px; grid-template-columns:1.5rem minmax(0,1fr) auto }
  .plan-steps [data-plan-detail] { padding-left:0 }
  .plan-footer a { gap:16px }
  .benefits { display:block; padding-top:25px; padding-bottom:45px }
  .benefits-heading h2 { font-size:2.6rem }
  .benefits-heading>p:last-child { max-width:450px }
  .benefit-answers { margin-top:30px }
  .benefit-answers article:first-child { padding-top:26px; border-top:1px solid var(--line) }
  .benefit-answers h3 { font-size:1.5rem }
  .how { padding-top:32px; padding-bottom:55px }
  .how-heading h2 { font-size:2rem }
  .steps { grid-template-columns:1fr; margin-top:30px; gap:26px }
  .steps>li { display:grid; grid-template-columns:minmax(28px,max-content) 1fr; column-gap:14px }
  .step-number { grid-row:1/3; margin:5px 0 0 }
  .steps p { max-width:none; grid-column:2 }
  .filming-link { margin-top:25px; align-items:flex-start; line-height:1.5 }
  .coach-story { padding:60px 0 }
  .story-layout { display:block }
  .story-layout h2 { margin-top:22px; font-size:clamp(2.6rem,11vw,3.8rem) }
  .story-body { padding-top:32px }
  .large-copy { font-size:1.5rem }
  .story-body>p+p { margin-top:20px }
  .relationship-example { padding-left:20px }
  .relationship-example blockquote { font-size:1.4rem }
  .faq { display:block; padding-top:60px; padding-bottom:65px }
  .faq h2 { margin:18px 0 30px; font-size:2.8rem }
  summary { font-size:1rem; padding:21px 0 }
  .launch-section { padding:55px 0 }
  .launch-layout { display:block }
  .launch-layout h2 { font-size:clamp(2.7rem,12vw,3.8rem); margin:18px 0 }
  .launch-layout .waitlist-form { margin-top:30px }
  footer { padding:45px 0 30px }
  .footer-layout { display:block }
  .footer-layout nav { margin-top:24px; max-width:none; column-gap:25px; row-gap:6px }
  .footer-layout span { margin-top:20px }
  .consent { left:12px; right:12px; bottom:12px; padding:20px; max-width:none }
  .editorial { padding-top:12px; padding-bottom:60px }
  .editorial-header { margin:38px 0 }
  .editorial-header h1 { font-size:3.2rem; overflow-wrap:anywhere }
  .intro { font-size:1.03rem }
  .information-section h2 { font-size:1.7rem; letter-spacing:0 }
  .information-section { margin-bottom:35px }
  .shell>main:not(.editorial):not(:has(.hero)) { padding:60px 20px }
}
@media(max-width:370px) {
  .site-header nav>a:nth-child(2) { display:none }
  .coach-copy { padding:24px 20px }
  .coach-copy h3 { font-size:1.9rem }
  .play-toolbar { align-items:stretch }
  .play-toolbar button { width:100% }
  .hero-visual figcaption { left:20px; right:20px }
}
@media(prefers-reduced-motion:reduce) {
  :root { scroll-behavior:auto }
  *,*:before,*:after { transition:none!important; animation:none!important }
}
