.family-plan,
.recap-layout,
.offer-panel,
.scan-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 6vw, 82px);
  align-items: center;
}
.family-plan {
  padding-block: clamp(46px, 6vw, 85px);
}
.plan-intro h2,
.recap-layout h2 {
  margin: 13px 0;
}
.plan-intro > p,
.recap-layout > div > p {
  max-width: 460px;
  margin: 12px 0 22px;
}
.plan-facts > div {
  display: flex;
  gap: 15px;
  padding: 19px 0;
  border-top: 1px solid var(--line);
}
.plan-facts b {
  font-family: Display, sans-serif;
  font-size: 24px;
  color: var(--blue);
}
.plan-facts strong,
.recap-paper strong {
  display: block;
}
.plan-facts strong {
  font-size: 18px;
}
.recap-strip {
  background: var(--cream);
  padding: clamp(35px, 6vw, 75px) 0;
}
.recap-paper,
.parent-note,
.offer-panel {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 18px;
}
.recap-paper {
  padding: clamp(22px, 3vw, 42px);
  border-top: 4px solid var(--ink);
}
.recap-paper h3 {
  font-size: 23px;
  margin: 12px 0;
}
.recap-paper p {
  margin: 0.7em 0;
}
.parent-note,
.offer-panel {
  padding: clamp(22px, 4vw, 50px);
  margin-block: 35px;
}
.parent-note p {
  max-width: 82ch;
  margin: 12px 0;
}
.guide-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 45px;
}
.guide-cards h2,
.parent-note h2,
.offer-panel h2 {
  font-size: clamp(23px, 2.5vw, 34px);
  line-height: 1.12;
  letter-spacing: -0.035em;
  margin: 12px 0;
}
.guide-cards p + p,
.offer-panel p + p {
  margin-top: 12px;
}
.offer-panel {
  grid-template-columns: 0.8fr 1.3fr;
}
.offer-panel > div:first-child {
  border-left: 4px solid var(--blue);
  padding-left: 18px;
}
.offer-price {
  font:
    700 clamp(72px, 10vw, 125px) / 1 Display,
    sans-serif;
  letter-spacing: -0.045em;
  display: block;
}
.offer-panel small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}
.offer-panel .btn {
  margin-top: 14px;
}
.scan-feature {
  background: var(--cream);
  color: var(--ink);
  padding-block: clamp(44px, 7vw, 100px);
}
.scan-layout {
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(26px, 4vw, 66px);
}
.scan-intro .scan-brand {
  width: min(100%, 330px);
  height: auto;
  margin: 16px 0 26px;
}
.scan-overline,
.scan-top,
.scan-frame {
  font:
    bold 11px/1.3 Manrope,
    sans-serif;
  letter-spacing: 0.13em;
}
.scan-overline {
  color: var(--blue);
}
.scan-intro h1,
.scan-intro h2 {
  font:
    700 clamp(52px, 6.3vw, 90px) / 0.93 Display,
    sans-serif;
  letter-spacing: -0.03em;
  margin: 0 0 20px;
}
.scan-intro em {
  color: var(--ink);
  font-style: normal;
}
.scan-action p,
.scan-foot p {
  color: var(--ink);
  line-height: 1.55;
}
.scan-launch {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  background: var(--blue);
  color: var(--paper);
  border-radius: 28px;
  font-weight: 800;
  padding: 12px 21px;
  margin-top: 20px;
}
.scan-launch span {
  font-size: 19px;
}
.scan-study {
  margin: 0;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  color: var(--ink);
}
.scan-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 19px;
  color: var(--muted);
}
.scan-image {
  position: relative;
  background: var(--ink);
}
.scan-image img {
  width: 100%;
  height: auto;
  display: block;
}
.scan-frame {
  position: absolute;
  left: 15px;
  bottom: 12px;
  padding: 4px 8px;
  border-radius: 5px;
  background: var(--ink);
  color: var(--paper);
  font-size: 9px;
}
.scan-controls {
  display: flex;
  gap: 6px;
  padding: 15px 17px 5px;
  flex-wrap: wrap;
}
.scan-controls button {
  border: 1px solid var(--blue);
  background: transparent;
  color: var(--blue);
  font-weight: 700;
  border-radius: 25px;
  padding: 8px 14px;
}
.scan-controls button[aria-pressed="true"] {
  background: var(--blue);
  color: var(--paper);
  border-color: var(--blue);
}
.scan-caption {
  padding: 9px 19px 12px;
  min-height: 90px;
}
.scan-caption strong {
  font-size: 19px;
  color: var(--ink);
}
.scan-caption p,
.scan-study figcaption {
  color: var(--muted);
  font-size: 13px;
}
.scan-study figcaption {
  border-top: 1px solid var(--line);
  padding: 11px 19px;
}
.scan-foot {
  border-top: 1px solid var(--line);
  margin-top: 26px;
  padding-top: 18px;
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: space-between;
}
.scan-foot p {
  max-width: 690px;
}
.scan-foot a {
  color: var(--blue);
  font-weight: 700;
}
.interest-page {
  max-width: 1080px;
  margin: auto;
  padding: 28px clamp(16px, 4vw, 48px) 65px;
}
.interest-wordmark {
  width: 110px;
  margin-bottom: 32px;
}
.interest-page h1 {
  font:
    700 clamp(48px, 7vw, 84px) / 0.96 Display,
    sans-serif;
  letter-spacing: -0.035em;
}
.interest-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(22px, 4vw, 50px);
  align-items: start;
}
.interest-grid > section {
  margin-top: 20px;
}
.interest-grid h2 {
  margin: 12px 0;
}
.interest-grid p {
  margin: 12px 0;
}
.pilot-form,
.interest-done {
  border: 1px solid var(--line);
  padding: clamp(16px, 3vw, 30px);
  border-radius: 18px;
  background: var(--paper);
}
.pilot-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.pilot-form legend {
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 10px;
}
.pilot-form > fieldset > label,
.pilot-form .kids-inputs label {
  display: grid;
  gap: 5px;
  margin: 11px 0;
  font-weight: 700;
  font-size: 14px;
}
.pilot-form input:not([type="checkbox"]),
.pilot-form select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--paper);
  padding: 9px;
  color: var(--ink);
}
.kids-inputs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
}
.pilot-form .checkline,
.pilot-form > fieldset > label.checkline {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 7px;
  font-weight: 500;
}
.day-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.day-options label {
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.pilot-form input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  accent-color: var(--blue);
}
.pilot-form .day-picks {
  margin-top: 17px;
}
.day-picks legend {
  font-size: 14px;
  margin-bottom: 4px;
}
.pilot-form button,
.interest-done a {
  border: 1px solid var(--ink);
  border-radius: 22px;
  background: transparent;
  padding: 8px 13px;
  font-weight: 700;
}
.pilot-form .primary {
  background: var(--blue);
  color: var(--paper);
  margin-top: 8px;
  border-color: var(--blue);
}
.pilot-form .muted {
  font-size: 12px;
  color: var(--muted);
}
.pilot-form .error {
  color: var(--ink);
  font-weight: 800;
}
.pilot-form .small-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
@media (max-width: 830px) {
  .family-plan,
  .recap-layout,
  .offer-panel,
  .interest-grid {
    grid-template-columns: 1fr;
  }
  .scan-foot {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .guide-cards {
    grid-template-columns: 1fr;
  }
  .scan-caption {
    min-height: auto;
  }
  .interest-grid > section {
    margin-top: 5px;
  }
}
.plan-guide {
  margin: 10px 0 10px 8px;
  display: inline-block;
}

.hero-pilot-status {
  font-weight: 800;
  color: var(--blue);
  margin-bottom: 6px;
}
.hero.pilot-hero .athlete-title {
  font-size: clamp(44px, 5.35vw, 82px);
  line-height: .96;
}
@media (max-width: 650px) {
  .hero.pilot-hero .athlete-title {
    font-size: clamp(30px, 9.6vw, 54px);
    margin-block: 12px;
  }
}
.camp-look {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
  gap: clamp(20px, 5vw, 64px);
  align-items: center;
  padding-block: clamp(28px, 5vw, 64px);
}
.camp-look img { width: 100%; height: auto; border-radius: 8px; }
.camp-look h2 { margin: 8px 0; font: 700 clamp(30px, 4vw, 56px)/1 Display, sans-serif; }
.camp-look p { max-width: 40ch; margin-bottom: 12px; }
@media (max-width: 650px) {
  .camp-look { grid-template-columns: 1fr; gap: 16px; }
}
.hero-offer {
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.45;
}
.hero-location {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
}
.hero-location .ico {
  width: 16px;
  height: 16px;
}
.hero-camp {
  margin-top: 12px;
}
.pilot-hero .actions {
  margin-top: 16px;
}
.pilot-hero .actions .btn,
.pilot-hero .text-link {
  font-size: 14px;
}
.pilot-hero .text-link,
.family-plan .text-link {
  min-height: 44px;
}
.family-band {
  border-top: 1px solid var(--line);
}
.home-workouts {
  padding-block: clamp(36px, 5vw, 72px);
}
.home-workouts .section-title {
  margin: 12px 0 24px;
}
.scan-layout {
  grid-template-areas: "intro study" "action study";
  align-items: end;
  row-gap: 12px;
}
.scan-intro {
  grid-area: intro;
}
.scan-study {
  grid-area: study;
  align-self: center;
}
.scan-action {
  grid-area: action;
  align-self: start;
}
.scan-prompt {
  padding: 12px 17px 0;
  font-size: 14px;
  font-weight: 700;
}
.scan-controls {
  padding-top: 9px;
}
.scan-controls button,
.pilot-form button,
.pilot-form select,
.pilot-form input:not([type="checkbox"]) {
  min-height: 44px;
}
.pilot-form select,
.pilot-form input:not([type="checkbox"]) {
  font-size: 16px;
}
.pilot-form .rehearsal-note {
  margin: 0 0 14px;
  font-size: 14px;
}
@media (max-width: 830px) {
  .scan-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "intro" "study" "action";
    gap: 17px;
  }
  .scan-intro h1,
  .scan-intro h2 {
    margin: 0;
  }
  .scan-intro .scan-brand {
    display: block;
    width: min(78%, 310px);
    margin: 12px 0 18px;
  }
  .scan-action .scan-launch {
    margin-top: 12px;
  }
}
@media (max-width: 650px) {
  .menu-toggle {
    min-width: 44px;
    min-height: 44px;
  }
  .pilot-hero {
    gap: 14px;
    padding: 18px 0 26px;
  }
  .pilot-hero .eyebrow {
    font-size: 10px;
    letter-spacing: 0.09em;
  }
  .hero.pilot-hero h1 {
    font-size: clamp(46px, 12.9vw, 76px);
    line-height: 0.96;
    margin: 14px 0 18px;
  }
  .pilot-hero h1 .highlight {
    margin-inline-start: 0.08em;
  }
  .pilot-hero .desktop-break {
    display: none;
  }
  .pilot-hero .hero-visual.bean-hero {
    min-height: 0;
    aspect-ratio: 1.6;
    margin: 0 4px 14px;
  }
  .pilot-hero .hero-visual > img {
    object-position: center 39%;
  }
  .pilot-hero .hero-tag {
    font-size: 20px;
    padding: 10px 15px;
    bottom: 8%;
  }
  .pilot-hero .photo-label {
    bottom: -13px;
  }
  .pilot-hero .actions {
    gap: 4px 16px;
  }
  .family-plan {
    gap: 10px;
    padding-block: 30px;
  }
  .family-plan .plan-intro > p {
    margin-bottom: 4px;
  }
  .plan-facts > div {
    padding: 12px 0;
  }
  .recap-layout {
    gap: 12px;
  }
  .recap-layout > div > p {
    margin-bottom: 0;
  }
  .home-workouts .workout-card {
    min-height: 215px;
  }
  .home-workouts .workout-content {
    bottom: 15px;
  }
  .scan-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .scan-controls button {
    padding-inline: 6px;
  }
  .pilot-form .preference-picks {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .scan-feature {
    padding-block: 30px;
  }
}

@media (max-width: 360px) {
  .day-options label {
    padding-inline: 5px;
    gap: 5px;
  }
}

.mindset-guide { background:var(--ink); color:var(--paper); padding-block:clamp(34px,5.5vw,80px); }
.mindset-layout { display:grid; grid-template-columns:0.8fr 1.2fr; gap:clamp(26px,5vw,80px); align-items:start; }
.mindset-lead .eyebrow { color:var(--paper); }
.mindset-lead h2 { font:700 clamp(47px,5.6vw,78px)/.95 Display,sans-serif; text-transform:uppercase; margin:16px 0; }
.mindset-lead p { color:var(--cream); line-height:1.6; max-width:39ch; }
.value-list details { border-top:1px solid var(--blue); }
.value-list details:last-child { border-bottom:1px solid var(--blue); }
.value-list summary { display:flex; align-items:center; gap:13px; padding:12px 3px; min-height:52px; list-style:none; cursor:pointer; }
.value-list summary::-webkit-details-marker { display:none; }
.play-number { flex:0 0 30px; color:var(--lime); font:700 22px/1 Display,sans-serif; }
.play-label { display:grid; gap:2px; min-width:0; }
.play-label strong { font-size:clamp(19px,2vw,25px); line-height:1.2; }
.play-label small { color:var(--cream); font-size:14px; }
.value-toggle { margin-left:auto; font-size:23px; padding:0 8px; }
.value-toggle::before { content:"+"; }
.value-list details[open] .value-toggle::before { content:"−"; }
.value-body { padding:0 12px 18px 45px; line-height:1.55; }
.value-body p { margin:0 0 8px; }
.value-body dl { margin:14px 0 0; border-left:2px solid var(--paper); padding-left:12px; }
.value-body dt { color:var(--paper); text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.09em; }
.value-body dd { margin:1px 0 9px; }
.mindset-invite, .station-mindset { padding-block:clamp(24px,3.5vw,46px); }
.mindset-invite h2 { font:700 clamp(34px,4vw,55px)/1.08 Display,sans-serif; text-transform:uppercase; margin:12px 0; }
.mindset-invite p { max-width:65ch; }
.mindset-invite .text-link,.station-mindset .text-link,.recap-layout .text-link { min-height:44px; }
.station-mindset { padding:16px clamp(14px,3vw,38px); background:var(--paper); border-top:1px solid var(--line); border: 1px solid var(--line); }
.station-mindset p { margin:4px 0; }
@media(max-width:750px){ .mindset-layout{grid-template-columns:1fr;} .mindset-lead p{max-width:62ch;} .value-body{padding-left:6px;} }

.camp-lead { padding-block:clamp(38px,6vw,76px) 26px; }
.camp-lead h1 { margin-block:12px; font-size:clamp(50px,7.5vw,104px); max-width:16ch; }
.camp-lead p { font-size:clamp(17px,1.8vw,22px); max-width:58ch; }
.camp-calendar { display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,4vw,52px); align-items:center; padding:clamp(19px,3vw,35px); background:var(--paper); color:var(--ink); border-radius:14px; border: 1px solid var(--line); }
.camp-calendar .eyebrow,.camp-calendar a {color:var(--blue);}
.camp-calendar h2,.camp-follow h2 { margin:7px 0; font-size:clamp(22px,2.3vw,32px); line-height:1.12; }
.camp-calendar a { display:inline-flex; align-items:center; min-height:44px; }
.camp-dates { display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:0; list-style:none; }
.camp-dates li { border:1px solid var(--line); border-radius:5px; padding:6px 10px; font-weight:700; white-space:nowrap; background: var(--cream); }
.camp-holiday { font-size:14px; margin-top:10px; }
.camp-rates { padding-block:clamp(25px,4vw,48px) 18px; }
.camp-rates h2 { margin:8px 0 12px; font-size:clamp(35px,4.5vw,62px); }
.camp-rate-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--paper); }
.camp-rate-grid article { padding:clamp(18px,3vw,32px); }
.camp-rate-grid article+article { border-left:1px solid var(--line); background:var(--paper); }
.camp-rate-grid h3 {font-size:clamp(18px,2vw,25px);}
.camp-amount {font:700 clamp(50px,6vw,78px)/1 Display,sans-serif; margin:6px 0;}
.camp-rate-grid strong+p { margin-top:5px; max-width:48ch; }
.camp-calculator {display:flex; gap:10px 16px; align-items:center; flex-wrap:wrap; padding:16px 0; border-bottom:1px solid var(--line);}
.camp-calculator label {font-weight:700;}
.camp-calculator select {min-height:44px; font:inherit; border-radius:6px; padding:7px 10px; background:var(--paper); color:var(--ink); border:1px solid var(--muted);}
.camp-follow {display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px 28px; align-items:center; padding:8px 0 clamp(40px,5vw,70px);}
@media(max-width:700px){
 .camp-calendar {grid-template-columns:1fr; gap:8px;}
 .camp-lead h1 {max-width:13ch;}
 .camp-calculator output {flex-basis:100%;}
}
@media(max-width:485px){
 .camp-rate-grid {grid-template-columns:1fr;}
 .camp-rate-grid article+article {border-left:0; border-top:1px solid var(--line);}
}
