/* Service page geometry follows the selected Kinetic Systems boards. */
.service-page { --service-ink: #0B0E0C; --service-ivory: #F1EEE5; --service-gold: #D7BC72; --service-gold-dark: #997936; }
.service-page *, .service-page *::before, .service-page *::after { box-sizing: border-box; }
.service-page h1, .service-page h2, .service-page h3, .service-page p, .service-page figure { margin: 0; }
.service-page ol { list-style: none; margin: 0; padding: 0; }
.service-light { background: var(--service-ivory); color: var(--service-ink); --section-gold: var(--service-gold-dark); }
.service-dark { background: var(--service-ink); color: var(--service-ivory); --section-gold: var(--service-gold); }
.service-page .eyebrow { margin: 0 0 clamp(14px, 1.55vw, 22px); color: var(--section-gold); font-weight: 500; }
.service-page .service-section-title { font-size: clamp(44px, 6.35vw, 91px); font-weight: 850; letter-spacing: -.047em; line-height: 1.03; }
.service-page h1 { font-weight: 850; line-height: .99; letter-spacing: -.048em; }
.service-page h1 span, .service-page h2 span { color: var(--section-gold); }
.service-page .service-lead { font-size: clamp(20px, 2.12vw, 30px); line-height: 1.3; font-weight: 400; }
.service-hero { position: relative; isolation: isolate; overflow: hidden; }
.service-hero .wrap { position: relative; z-index: 1; }
.service-page .button { margin-top: clamp(22px, 2.15vw, 31px); font-size: clamp(17px, 1.92vw, 27px); }
.service-page .service-button-outline { background: transparent; border: 1px solid var(--service-gold); color: var(--service-gold); }
.service-line-art { position: absolute; color: var(--service-gold-dark); opacity: .8; pointer-events: none; }
.service-line-art svg, .service-focus-decoration svg { width: 100%; height: 100%; }
.performance-hero { padding: clamp(20px, 2.2vw, 32px) 0; }
.performance-hero-grid { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); align-items: center; gap: clamp(28px, 3.9vw, 56px); }
.performance-hero .service-hero-copy { padding: clamp(18px, 2.1vw, 30px) 0; }
.performance-hero h1 { font-size: clamp(60px, 8.65vw, 124px); margin-bottom: clamp(18px, 1.9vw, 27px); }
.performance-speaking-photo { width: 100%; border: 2px solid #C4A55A; aspect-ratio: 388 / 410; }
.performance-speaking-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.performance-hero-lines { width: 62%; height: 100%; right: -3%; top: 0; z-index: -1; }
.performance-focus { position: relative; overflow: hidden; padding: clamp(28px, 2.85vw, 41px) 0 clamp(24px, 2.55vw, 37px); }
.performance-focus .wrap { position: relative; z-index: 1; }
.performance-focus .service-section-title { margin-bottom: clamp(28px, 3vw, 43px); }
.service-focus-decoration { position: absolute; right: -3%; top: 0; width: 30%; height: 100%; color: #B39446; opacity: .65; }
.service-three-up { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-three-up li { display: flex; gap: clamp(18px, 2.4vw, 35px); padding: 0 clamp(20px, 3.1vw, 45px); border-left: 1px solid var(--section-gold); }
.service-three-up li:first-child { border-left: 0; padding-left: 0; }
.service-three-up li:last-child { padding-right: 0; }
.service-number { color: var(--section-gold); font-size: clamp(29px, 3.25vw, 46px); line-height: 1; letter-spacing: -.045em; flex: 0 0 auto; }
.service-three-up h3 { font-size: clamp(20px, 2.03vw, 29px); font-weight: 750; line-height: 1.13; letter-spacing: -.025em; }
.service-three-up p { font-size: clamp(18px, 1.75vw, 25px); line-height: 1.3; margin-top: clamp(12px, 1.1vw, 16px); }
.performance-focus-grid { min-height: clamp(142px, 14vw, 200px); }
.performance-focus-grid .service-number::after { content: ''; display: inline-block; vertical-align: .28em; width: clamp(24px, 3.1vw, 45px); height: 2px; background: currentColor; margin-left: clamp(14px, 2.4vw, 34px); }
.performance-focus-grid li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.performance-focus-grid li > div { padding-left: clamp(34px, 5.4vw, 78px); margin-top: clamp(-3px, -.3vw, -1px); }
.performance-practical { padding: clamp(24px, 2.25vw, 32px) 0; }
.performance-practical-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(28px, 3.8vw, 55px); align-items: stretch; }
.performance-practical .service-section-title { font-size: clamp(42px, 6.2vw, 89px); margin-bottom: clamp(13px, 1.45vw, 21px); }
.service-priority-list { border-left: 1px solid #BDA365; padding-left: clamp(26px, 3.75vw, 54px) !important; align-self: stretch; display: grid; grid-template-rows: repeat(3, 1fr); }
.service-priority-list li { display: flex; align-items: center; gap: clamp(30px, 3.8vw, 55px); border-bottom: 1px solid #C8B37B; }
.service-priority-list li:last-child { border-bottom: 0; }
.service-priority-list li > span { display: flex; align-items: center; gap: clamp(22px, 2.5vw, 36px); font-size: clamp(30px, 3vw, 43px); line-height: 1; color: var(--service-gold-dark); }
.service-priority-list li > span::after { content: ''; width: clamp(26px, 3vw, 43px); height: 1px; background: currentColor; }
.service-priority-list h3 { font-size: clamp(23px, 2.55vw, 36px); font-weight: 750; letter-spacing: -.03em; }
.performance-faq { padding: clamp(26px, 2.7vw, 39px) 0 clamp(24px, 2.3vw, 33px); }
.service-faq-row > summary { list-style: none; display: grid; align-items: center; grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr) auto; gap: clamp(24px, 3.9vw, 56px); cursor: pointer; }
.service-faq-row > summary::-webkit-details-marker { display: none; }
.service-faq-row > summary:focus-visible { outline: 3px solid var(--section-gold); outline-offset: 5px; }
.service-faq-question { font-weight: 750; font-size: clamp(20px, 2.05vw, 29px); line-height: 1.1; letter-spacing: -.025em; }
.service-faq-preview { font-size: clamp(17px, 1.65vw, 24px); line-height: 1.25; border-left: 1px solid var(--section-gold); padding-left: clamp(28px, 4.05vw, 58px); }
.service-faq-toggle { color: var(--section-gold); font-size: clamp(32px, 3.4vw, 49px); font-weight: 300; line-height: 1; transition: transform .16s ease; }
.service-faq-row[open] .service-faq-toggle { transform: rotate(45deg); }
.service-faq-detail { font-size: clamp(17px, 1.6vw, 23px); line-height: 1.4; padding: clamp(20px, 2.1vw, 30px) 0 0; margin-top: 18px; border-top: 1px solid #BDA36566; }
.service-faq-detail a { color: var(--section-gold); text-underline-offset: .16em; }
.performance-faq-row { padding: clamp(18px, 1.8vw, 26px) 0; border-bottom: 1px solid #BDA365; }
.performance-faq-row:last-child { border-bottom: 0; padding-bottom: 0; }
.performance-faq-row:first-of-type { padding-top: 0; }
.performance-faq-row .service-faq-toggle { font-size: clamp(26px, 2.5vw, 36px); }
.performance-faq-row .service-faq-preview { padding-left: clamp(26px, 3.8vw, 54px); }
.service-page .service-booking-close { background: linear-gradient(110deg, #DDC37F, #EACF88 53%, #D6B66E); color: var(--service-ink); padding: clamp(23px, 2.2vw, 32px) 0; }
.service-page .service-close-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.service-close-grid h2 { font-weight: 850; font-size: clamp(34px, 4.2vw, 60px); line-height: 1.04; letter-spacing: -.04em; }
.service-close-grid > .button { margin-top: 0; background: var(--service-ink); color: var(--service-ivory); width: 100%; position: relative; }
.service-close-grid > .button::before { content: ''; position: absolute; left: calc(clamp(32px, 5vw, 72px) / -2); top: -6px; bottom: -6px; width: 1px; background: #6D592B; }
.virtual-hero { padding: clamp(38px, 4vw, 58px) 0 clamp(26px, 2.7vw, 39px); }
.virtual-hero-copy { width: 76%; position: relative; }
.virtual-hero h1 { font-size: clamp(42px, 6.35vw, 91px); margin-bottom: clamp(16px, 1.8vw, 26px); white-space: nowrap; }
.virtual-hero .service-lead { font-size: clamp(19px, 1.95vw, 28px); line-height: 1.18; }
.virtual-hero .button { margin-top: clamp(19px, 1.9vw, 27px); }
.virtual-ribbon { position: absolute; z-index: -1; right: 0; top: 0; height: 132%; width: auto; aspect-ratio: 1.5; pointer-events: none; }
.virtual-ribbon img { display: block; width: 100%; height: 100%; }
.virtual-hero-guides { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; color: #AD9147; opacity: .8; pointer-events: none; }
.virtual-fit { padding: clamp(27px, 2.65vw, 38px) 0 clamp(19px, 1.9vw, 27px); }
.virtual-fit-intro { display: grid; grid-template-columns: minmax(0, 1.54fr) minmax(0, 1fr); gap: clamp(23px, 2.45vw, 35px); align-items: center; padding-bottom: clamp(24px, 2.6vw, 37px); border-bottom: 1px solid #C3A361; }
.virtual-fit-intro .service-section-title { font-size: clamp(40px, 5.65vw, 81px); line-height: 1; }
.virtual-fit-intro p { border-left: 1px solid #B99952; padding-left: clamp(25px, 2.65vw, 38px); font-size: clamp(18px, 1.8vw, 26px); line-height: 1.2; }
.virtual-fit-grid { padding: clamp(20px, 1.85vw, 27px) 0 !important; border-bottom: 1px solid #C3A361; }
.virtual-fit-grid li { gap: clamp(20px, 2.9vw, 42px); padding: 0 clamp(20px, 3.4vw, 49px); }
.virtual-fit-grid .service-number { font-size: clamp(26px, 2.9vw, 42px); }
.virtual-fit-grid .service-number::after { content: ''; display: inline-block; vertical-align: .28em; width: clamp(20px, 2.8vw, 40px); height: 1px; background: currentColor; margin-left: clamp(10px, 1.2vw, 18px); }
.virtual-fit-grid p { font-size: clamp(16px, 1.55vw, 22px); margin-top: clamp(10px, 1.1vw, 16px); }
.virtual-clinical { padding: clamp(24px, 2.6vw, 37px) 0 clamp(21px, 2.05vw, 30px); }
.virtual-clinical-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 2.8vw, 40px); align-items: center; }
.virtual-panel-photo { aspect-ratio: 2.1; width: 100%; }
.virtual-panel-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 68.6%; }
.virtual-clinical-copy h2 { font-size: clamp(31px, 3.95vw, 57px); font-weight: 850; line-height: 1.08; letter-spacing: -.045em; white-space: nowrap; }
.service-gold-rule { width: clamp(25px, 2.45vw, 35px); height: 1px; background: var(--section-gold); display: block; margin: clamp(19px, 2vw, 29px) 0; }
.virtual-clinical-copy p { font-size: clamp(17px, 1.75vw, 25px); line-height: 1.25; max-width: 38ch; }
.virtual-credentials { display: flex; align-items: center; gap: clamp(18px, 2vw, 29px); color: var(--service-ivory); text-decoration: none; font-size: clamp(12px, 1.25vw, 18px); margin-top: clamp(24px, 2.55vw, 37px); }
.virtual-credentials > span { width: clamp(28px, 2.8vw, 40px); height: 1px; background: var(--service-gold); flex: 0 0 auto; }
.virtual-credentials:hover { text-decoration: underline; text-underline-offset: .2em; }
.virtual-faq { padding: clamp(29px, 3vw, 43px) 0 clamp(22px, 2.15vw, 31px); }
.virtual-faq-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: clamp(18px, 1.8vw, 26px); gap: 20px; }
.virtual-faq-heading .service-section-title { font-size: clamp(43px, 5.5vw, 79px); }
.virtual-faq-heading > span { height: 1px; width: 14%; background: #B99952; align-self: center; margin-top: 18px; }
.virtual-faq-row { border: 1px solid #B99952; padding: clamp(22px, 2.15vw, 31px) clamp(24px, 2.4vw, 35px); margin-top: clamp(14px, 1.4vw, 20px); }
.virtual-faq-row > summary { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.08fr) auto; gap: clamp(22px, 3.25vw, 47px); }
.virtual-faq-row .service-faq-question { font-size: clamp(21px, 2.1vw, 30px); }
.virtual-faq-row .service-faq-preview { font-size: clamp(16px, 1.55vw, 22px); padding-left: clamp(25px, 2.4vw, 35px); min-height: clamp(39px, 4.5vw, 65px); display: flex; align-items: center; }
.virtual-booking-close .service-close-grid { max-width: 1000px; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
.virtual-booking-close .service-close-grid h2 { font-size: clamp(36px, 4vw, 58px); }
.inperson-hero { padding: clamp(40px, 4.2vw, 60px) 0 clamp(26px, 2.7vw, 39px); }
.inperson-hero-copy { width: 81%; }
.inperson-hero h1 { font-size: clamp(49px, 7.65vw, 110px); white-space: nowrap; }
.inperson-hero .service-gold-rule { margin: clamp(12px, 1.3vw, 19px) 0 clamp(14px, 1.6vw, 23px); }
.inperson-hero .service-lead { font-size: clamp(22px, 2.5vw, 36px); line-height: 1.24; }
.inperson-hero .button { margin-top: clamp(20px, 2.1vw, 30px); }
.inperson-ribbon { position: absolute; z-index: -1; width: auto; height: 137%; aspect-ratio: 1.5; right: -3%; top: 0; pointer-events: none; }
.inperson-ribbon img { display: block; width: 100%; height: 100%; }
.inperson-hero-guides { position: absolute; z-index: -1; inset: 0; height: 100%; width: 100%; color: #BDA35F; pointer-events: none; }
.inperson-care { padding-top: clamp(17px, 1.75vw, 25px); }
.inperson-care-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(26px, 3.2vw, 46px); align-items: stretch; }
.inperson-care-copy { padding-top: clamp(24px, 2.8vw, 40px); padding-bottom: clamp(40px, 4vw, 58px); }
.inperson-care .service-section-title { font-size: clamp(45px, 5.65vw, 81px); line-height: 1.04; white-space: nowrap; }
.inperson-care .service-gold-rule { margin: clamp(19px, 2.2vw, 32px) 0 clamp(22px, 2.35vw, 34px); }
.inperson-care-list li { display: flex; gap: clamp(20px, 2.5vw, 36px); border-top: 1px solid #B99B54; padding: clamp(22px, 2.25vw, 32px) 0; }
.inperson-care-list .service-number { font-size: clamp(33px, 4vw, 58px); }
.inperson-care-list .service-number::after { content: ''; display: inline-block; vertical-align: .28em; width: clamp(28px, 4.5vw, 65px); height: 1px; background: currentColor; margin-left: clamp(20px, 2.2vw, 32px); }
.inperson-care-list h3 { font-weight: 750; letter-spacing: -.03em; line-height: 1.12; font-size: clamp(24px, 2.65vw, 38px); }
.inperson-care-list p { font-size: clamp(18px, 1.9vw, 27px); line-height: 1.3; margin-top: 8px; }
.inperson-soccer-photo { width: 100%; height: 100%; aspect-ratio: 720/930; }
.inperson-soccer-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
.inperson-practical { padding: clamp(28px, 3.05vw, 44px) 0 clamp(20px, 2vw, 29px); }
.inperson-practical .service-section-title { font-size: clamp(44px, 6.35vw, 91px); white-space: nowrap; }
.inperson-practical-grid { margin-top: clamp(25px, 3vw, 43px) !important; }
.inperson-practical-grid li { padding: 0 clamp(20px, 2.75vw, 40px); gap: clamp(10px, 1.45vw, 21px); }
.inperson-practical-grid .service-number { font-size: clamp(28px, 3.2vw, 46px); }
.inperson-practical-grid .service-number::after { content: ''; display: inline-block; vertical-align: .28em; width: clamp(20px, 2.8vw, 40px); height: 1px; background: currentColor; margin-left: clamp(9px, .9vw, 13px); }
.inperson-practical-grid h3 { font-size: clamp(19px, 2vw, 28px); }
.inperson-practical-grid p { font-size: clamp(17px, 1.75vw, 25px); margin-top: 10px; }
.inperson-faq { border-top: 1px solid #C8BFA8; padding: clamp(27px, 2.9vw, 42px) 0; }
.inperson-faq-grid { display: grid; grid-template-columns: .35fr 2.25fr; gap: clamp(18px, 2.05vw, 30px); }
.inperson-faq-grid > .eyebrow { border-right: 1px solid #BDA15B; margin: 0; padding-top: 16px; line-height: 1.7; }
.inperson-faq-row { border-bottom: 1px solid #BDA15B; padding: clamp(12px, 1.1vw, 16px) clamp(20px, 2.1vw, 30px); }
.inperson-faq-row:first-child { padding-top: 10px; }
.inperson-faq-row:last-child { border-bottom: 0; padding-bottom: 4px; }
.inperson-faq-row > summary { grid-template-columns: minmax(0, .92fr) minmax(0, 1.5fr) auto; gap: clamp(20px, 2.3vw, 33px); }
.inperson-faq-row .service-faq-question { font-size: clamp(19px, 2vw, 28px); }
.inperson-faq-row .service-faq-preview { font-size: clamp(17px, 1.95vw, 28px); padding-left: clamp(25px, 3.05vw, 44px); }
.inperson-faq-row .service-faq-toggle { font-size: 23px; }
@media (min-width: 1441px) { .virtual-ribbon, .inperson-ribbon { right: max(0px, calc((100vw - 1440px)/2)); } }
@media (max-width: 1000px) and (min-width: 701px) {
  .service-three-up li { padding-left: 22px; padding-right: 22px; }
  .virtual-fit-grid li { gap: 17px; }
  .virtual-fit-grid .service-number::after { width: 17px; margin-left: 8px; }
  .inperson-care-list .service-number::after { width: 29px; margin-left: 15px; }
  .inperson-care-list li { gap: 20px; }
  .inperson-care-list h3 { font-size: 25px; }
}
@media (max-width: 700px) {
  .service-page .service-section-title { font-size: clamp(34px, 9.75vw, 59px); line-height: 1.05; }
  .service-page .eyebrow { margin-bottom: 17px; }
  .service-page .service-lead { font-size: 18px; line-height: 1.35; }
  .service-page .button { font-size: 16px; margin-top: 23px; min-height: 48px; }
  .service-page .desktop-break { display: none; }
  .performance-hero { padding: 34px 0 30px; }
  .performance-hero-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .performance-hero .service-hero-copy { padding: 0; }
  .performance-hero h1 { font-size: clamp(46px, 13.6vw, 78px); margin-bottom: 20px; }
  .performance-speaking-photo { max-width: 480px; margin-inline: auto; aspect-ratio: 388/410; }
  .performance-hero-lines { width: 100%; height: 54%; top: auto; bottom: 0; right: -22%; }
  .performance-focus, .performance-practical, .performance-faq { padding: 34px 0; }
  .performance-focus .service-section-title { margin-bottom: 30px; }
  .service-focus-decoration { width: 67%; height: 53%; opacity: .4; }
  .service-three-up { grid-template-columns: minmax(0,1fr); }
  .service-three-up li { border-left: 0; border-top: 1px solid var(--section-gold); padding: 23px 0; gap: 24px; }
  .service-three-up li:first-child { border-top: 0; padding-top: 0; }
  .service-three-up li:last-child { padding-bottom: 0; }
  .service-three-up h3 { font-size: 22px; }
  .service-three-up p { font-size: 17px; margin-top: 10px; }
  .service-number { font-size: 30px; }
  .performance-focus-grid { min-height: 0; }
  .performance-focus-grid li { display: grid; grid-template-columns: 57px minmax(0,1fr); gap: 14px; }
  .performance-focus-grid li > div { margin-top: 0; padding-left: 0; }
  .performance-focus-grid .service-number::after { display: block; width: 28px; margin: 12px 0 0; }
  .performance-practical-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .performance-practical .service-section-title { font-size: clamp(34px, 10.2vw, 58px); margin-bottom: 17px; }
  .service-priority-list { border-left: 0; border-top: 1px solid #BDA365; padding-left: 0 !important; }
  .service-priority-list li { padding: 18px 0; gap: 24px; }
  .service-priority-list li > span { font-size: 30px; gap: 18px; }
  .service-priority-list li > span::after { width: 28px; }
  .service-priority-list h3 { font-size: 23px; }
  .service-faq-row > summary { grid-template-columns: minmax(0,1fr) auto; gap: 15px; }
  .service-faq-question { font-size: 21px; grid-column: 1; }
  .service-faq-preview { font-size: 17px; grid-column: 1; border-left: 0; padding: 0; }
  .service-faq-toggle { grid-column: 2; grid-row: 1 / span 2; font-size: 32px; }
  .service-faq-detail { font-size: 16px; padding-top: 17px; }
  .performance-faq-row { padding: 20px 0; }
  .performance-faq-row .service-faq-preview { padding-left: 0; }
  .service-page .service-booking-close { padding: 28px 0; }
  .service-page .service-close-grid, .virtual-booking-close .service-close-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .service-close-grid h2, .virtual-booking-close .service-close-grid h2 { font-size: clamp(31px, 9.1vw, 48px); line-height: 1.05; }
  .service-close-grid > .button { width: auto; justify-self: start; margin: 0; }
  .service-close-grid > .button::before { display: none; }
  .virtual-hero { padding: 35px 0 226px; }
  .virtual-hero-copy { width: 100%; }
  .virtual-hero h1 { font-size: clamp(28px, 8.3vw, 52px); margin-bottom: 21px; white-space: nowrap; }
  .virtual-hero .service-lead { max-width: 30ch; font-size: 18px; line-height: 1.3; }
  .virtual-ribbon { top: auto; bottom: -21%; height: 73%; width: auto; right: -20%; opacity: .92; }
  .virtual-hero-guides { width: 135%; height: 62%; top: auto; bottom: 0; left: -12%; opacity: .5; }
  .virtual-fit { padding: 32px 0; }
  .virtual-fit-intro { grid-template-columns: minmax(0,1fr); gap: 21px; padding-bottom: 25px; }
  .virtual-fit-intro .service-section-title { font-size: clamp(34px, 10vw, 60px); }
  .virtual-fit-intro p { border-left: 1px solid #B99952; padding-left: 18px; font-size: 18px; line-height: 1.35; }
  .virtual-fit-grid { padding: 24px 0 !important; }
  .virtual-fit-grid li { gap: 23px; }
  .virtual-fit-grid .service-number { font-size: 29px; }
  .virtual-fit-grid .service-number::after { display: block; margin: 12px 0 0; width: 28px; }
  .virtual-fit-grid p { font-size: 17px; }
  .virtual-clinical { padding: 25px 0 32px; }
  .virtual-clinical-grid { grid-template-columns: minmax(0,1fr); gap: 27px; }
  .virtual-panel-photo { aspect-ratio: 2.1; }
  .virtual-clinical-copy h2 { font-size: clamp(28px, 8.3vw, 47px); }
  .service-gold-rule { margin: 19px 0; }
  .virtual-clinical-copy p { font-size: 18px; line-height: 1.35; }
  .virtual-credentials { font-size: 12px; line-height: 1.3; margin-top: 22px; gap: 16px; }
  .virtual-credentials > span { width: 25px; }
  .virtual-faq { padding: 32px 0; }
  .virtual-faq-heading { margin-bottom: 24px; }
  .virtual-faq-heading .service-section-title { font-size: clamp(34px, 10vw, 58px); }
  .virtual-faq-heading > span { display: none; }
  .virtual-faq-row { padding: 22px 18px; margin-top: 16px; }
  .virtual-faq-row > summary { grid-template-columns: minmax(0,1fr) auto; gap: 16px; }
  .virtual-faq-row .service-faq-question { font-size: 21px; }
  .virtual-faq-row .service-faq-preview { font-size: 17px; padding-left: 0; min-height: 0; }
  .inperson-hero { padding: 34px 0 214px; }
  .inperson-hero-copy { width: 100%; }
  .inperson-hero h1 { font-size: clamp(31px, 9.4vw, 58px); white-space: nowrap; }
  .inperson-hero .service-lead { font-size: 18px; max-width: 28ch; }
  .inperson-ribbon { top: auto; bottom: -38%; right: -28%; height: 99%; }
  .inperson-hero-guides { top: auto; bottom: 0; height: 67%; width: 140%; left: -25%; }
  .inperson-care { padding: 32px 0 0; }
  .inperson-care-grid { grid-template-columns: minmax(0,1fr); gap: 27px; }
  .inperson-care-copy { padding: 0; }
  .inperson-care .service-section-title { font-size: clamp(32px, 9.5vw, 58px); }
  .inperson-care .service-gold-rule { margin: 21px 0 25px; }
  .inperson-care-list li { padding: 23px 0; gap: 18px; }
  .inperson-care-list .service-number { font-size: 34px; }
  .inperson-care-list .service-number::after { display: block; width: 29px; margin: 11px 0 0; }
  .inperson-care-list h3 { font-size: 23px; }
  .inperson-care-list p { font-size: 17px; }
  .inperson-soccer-photo { width: 100%; height: auto; aspect-ratio: 720/1000; }
  .inperson-practical { padding: 32px 0; }
  .inperson-practical .service-section-title { font-size: clamp(33px, 9.4vw, 57px); white-space: normal; }
  .inperson-practical-grid { margin-top: 30px !important; }
  .inperson-practical-grid li { gap: 22px; }
  .inperson-practical-grid .service-number { font-size: 29px; }
  .inperson-practical-grid .service-number::after { display: block; width: 27px; margin: 12px 0 0; }
  .inperson-practical-grid h3 { font-size: 22px; }
  .inperson-practical-grid p { font-size: 17px; }
  .inperson-faq { padding: 32px 0; }
  .inperson-faq-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .inperson-faq-grid > .eyebrow { border-right: 0; padding: 0; margin: 0; }
  .inperson-faq-grid > .eyebrow br { display: none; }
  .inperson-faq-row { padding: 20px 0; }
  .inperson-faq-row > summary { grid-template-columns: minmax(0,1fr) auto; gap: 14px; }
  .inperson-faq-row .service-faq-question { font-size: 21px; }
  .inperson-faq-row .service-faq-preview { padding: 0; font-size: 17px; }
  .inperson-faq-row .service-faq-toggle { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) { .service-faq-toggle { transition: none; } }

.service-page .service-light.service-hero .button { background: var(--service-gold); color: var(--service-ink); }
/* Board comparison refinements. Answers stay visible; expansion can increase height. */
.service-page .service-close-grid h2 { white-space: normal; }
.service-page .service-close-grid > .button { white-space: nowrap; font-size: clamp(16px, 1.8vw, 25px); padding-inline: clamp(16px, 1.95vw, 28px); gap: 12px; }
.performance-hero .service-hero-copy { padding: 0; }
.performance-hero h1 { line-height: .88; font-size: clamp(60px, 8.75vw, 126px); margin-bottom: clamp(15px, 1.5vw, 22px); }
.performance-focus .eyebrow { margin-bottom: 8px; }
.performance-focus .service-section-title { margin-bottom: clamp(25px, 2.55vw, 37px); }
.performance-focus-grid li { padding-right: 14px; }
.performance-practical .service-section-title { line-height: .95; }
.performance-practical .service-lead { font-size: clamp(19px, 1.99vw, 28px); }
.performance-faq { padding-bottom: clamp(14px, 1.35vw, 20px); }
.performance-faq-row { padding-block: clamp(14px, 1.4vw, 20px); }
.virtual-hero h1 { line-height: .86; }
.virtual-hero .service-button-outline { min-height: 42px; padding-block: 8px; }
.virtual-fit-intro { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
.virtual-fit-intro p { font-size: clamp(17px, 1.7vw, 24px); line-height: 1.23; padding-left: clamp(23px, 2.65vw, 38px); }
.virtual-fit-grid li { padding-left: 25px; padding-right: 4px; gap: 19px; }
.virtual-fit-grid li:first-child { padding-left: 0; }
.virtual-fit-grid li:last-child { padding-right: 0; }
.virtual-clinical-grid { width: min(1320px, calc(100% - 6vw)); grid-template-columns: minmax(0, 1.64fr) minmax(0, 1fr); }
.virtual-clinical-copy h2 { font-size: clamp(30px, 3.8vw, 55px); }
.virtual-faq-row { padding-block: clamp(17px, 1.75vw, 25px); }
.virtual-faq-row .service-faq-preview { min-height: 42px; }
.virtual-faq-row + .virtual-faq-row .service-faq-preview { min-height: 30px; }
.virtual-booking-close .service-close-grid { width: min(900px, calc(100% - var(--gutter)*2)); grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); }
.virtual-booking-close .service-close-grid h2 { font-size: clamp(34px, 3.7vw, 53px); }
.inperson-care-list li { padding-block: clamp(20px, 2vw, 29px); gap: clamp(17px, 1.8vw, 26px); }
.inperson-care-list .service-number { font-size: clamp(33px, 3.6vw, 52px); }
.inperson-care-list .service-number::after { width: clamp(29px, 4.5vw, 65px); margin-left: clamp(17px, 2vw, 29px); }
.inperson-care-list h3 { font-size: clamp(23px, 2.4vw, 35px); }
.inperson-soccer-photo { height: auto; aspect-ratio: 423/545; align-self: start; }
.inperson-practical-grid li { padding-right: 8px; padding-left: 24px; gap: 12px; }
.inperson-practical-grid li:first-child { padding-left: 0; }
.inperson-practical-grid li:last-child { padding-right: 0; }
.inperson-practical-grid h3 { font-size: clamp(18px, 1.9vw, 27px); }
.inperson-practical-grid p { font-size: clamp(16px, 1.65vw, 24px); }
.inperson-faq-row .service-faq-preview { font-size: clamp(16px, 1.75vw, 25px); }
@media (min-width: 901px) and (max-width: 1100px) {
  .performance-hero { height: calc(100vw * .4453125); padding-block: calc(100vw * .02246094); }
  .performance-hero-grid { height: 100%; }
  .performance-speaking-photo { height: 100%; }
  .performance-focus { height: calc(100vw * .30566406); padding-top: calc(100vw * .02832031); padding-bottom: 0; }
  .performance-practical { height: calc(100vw * .22851563); padding-block: calc(100vw * .02246094); }
  .performance-practical-grid { height: 100%; align-items: center; }
  .performance-practical .eyebrow { margin-bottom: 13px; }
  .performance-faq { min-height: calc(100vw * .2109375); }
  .service-page .service-booking-close { padding-block: calc(100vw * .01953125); min-height: 0; }
  .performance-page .service-close-grid h2 { line-height: 1; }
  .virtual-hero { height: calc(100vw * .34765625); padding-top: calc(100vw * .0390625); padding-bottom: 0; }
  .virtual-fit { height: calc(100vw * .25976563); padding-top: calc(100vw * .02539063); padding-bottom: 0; }
  .virtual-fit-intro { padding-bottom: calc(100vw * .0234375); }
  .virtual-fit-grid { padding-block: calc(100vw * .01953125) !important; }
  .virtual-clinical { height: calc(100vw * .3125); padding-top: calc(100vw * .02636719); padding-bottom: calc(100vw * .01953125); }
  .virtual-clinical-grid { height: 100%; }
  .virtual-panel-photo { height: 100%; aspect-ratio: auto; }
  .virtual-faq { min-height: calc(100vw * .27929688); padding-top: calc(100vw * .03027344); padding-bottom: calc(100vw * .02148438); }
  .virtual-faq-row { padding-block: calc(100vw * .01757813); }
  .virtual-faq-row + .virtual-faq-row { padding-block: calc(100vw * .01757813); }
  .virtual-booking-close .service-close-grid > .button { min-height: 45px; padding-block: 9px; }
  .virtual-booking-close .service-close-grid { width: min(900px, calc(100% - var(--gutter)*2)); }
  .inperson-hero { height: calc(100vw * .38986556); padding-top: calc(100vw * .04136505); padding-bottom: 0; }
  .inperson-hero h1 { line-height: .91; }
  .inperson-hero .service-lead { font-size: calc(100vw * .02481903); }
  .inperson-hero .button { min-height: 47px; padding-block: 10px; }
  .inperson-care { height: calc(100vw * .5811789); padding-top: calc(100vw * .01758014); }
  .inperson-care-grid { height: 100%; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
  .inperson-care-copy { padding-top: calc(100vw * .02998966); padding-bottom: 0; }
  .inperson-soccer-photo { height: 100%; aspect-ratio: auto; }
  .inperson-care .service-section-title { font-size: calc(100vw * .05729059); line-height: .99; }
  .inperson-care .service-gold-rule { margin-top: calc(100vw * .0237849); margin-bottom: calc(100vw * .0237849); }
  .inperson-care-list li { padding-block: calc(100vw * .02068252); }
  .inperson-practical { height: calc(100vw * .24922441); padding-top: calc(100vw * .02998966); padding-bottom: 0; }
  .inperson-practical .eyebrow { margin-bottom: 9px; }
  .inperson-practical-grid { margin-top: calc(100vw * .02895553) !important; }
  .inperson-faq { min-height: calc(100vw * .15305067); padding-block: calc(100vw * .02585315); }
  .inperson-faq-row { padding: 10px 24px; }
  .inperson-faq-row:last-child { padding-bottom: 4px; }
}
@media (max-width: 700px) {
  .service-page .service-close-grid > .button { font-size: 16px; }
  .service-page .service-close-grid h2 { white-space: normal; }
  .performance-hero h1 { font-size: clamp(44px, 13.5vw, 78px); line-height: .98; }
  .performance-focus .eyebrow { margin-bottom: 17px; }
  .performance-focus-grid li { padding-right: 0; }
  .performance-practical .service-section-title { font-size: clamp(31px, 9.7vw, 56px); line-height: 1.05; }
  .performance-practical .service-lead { font-size: 18px; }
  .performance-faq { padding: 34px 0; }
  .performance-faq-row { padding: 20px 0; }
  .performance-faq-row .service-faq-question br { display: none; }
  .virtual-hero h1 { line-height: .99; }
  .virtual-hero .service-button-outline { min-height: 48px; padding-block: 12px; }
  .virtual-ribbon { height: 270px; bottom: -55px; right: -80px; }
  .virtual-fit-intro { grid-template-columns: minmax(0,1fr); }
  .virtual-fit-intro p { font-size: 18px; line-height: 1.35; padding-left: 18px; }
  .virtual-fit-grid li { padding: 23px 0; gap: 23px; }
  .virtual-fit-grid li:first-child { padding-top: 0; }
  .virtual-fit-grid li:last-child { padding-bottom: 0; }
  .virtual-clinical-grid { width: min(1320px, calc(100% - var(--gutter)*2)); grid-template-columns: minmax(0,1fr); }
  .virtual-clinical-copy h2 { font-size: clamp(27px, 8vw, 47px); }
  .virtual-faq-row { padding: 22px 18px; }
  .virtual-faq-row .service-faq-preview, .virtual-faq-row + .virtual-faq-row .service-faq-preview { min-height: 0; }
  .virtual-booking-close .service-close-grid { grid-template-columns: minmax(0,1fr); width: min(1320px, calc(100% - var(--gutter)*2)); gap: 24px; }
  .virtual-booking-close .service-close-grid h2 { font-size: clamp(31px, 9.1vw, 48px); }
  .inperson-care-list li { padding: 23px 0; gap: 18px; }
  .inperson-care-list .service-number { font-size: 34px; }
  .inperson-care-list .service-number::after { width: 29px; margin: 11px 0 0; }
  .inperson-care-list h3 { font-size: 23px; }
  .inperson-soccer-photo { height: auto; aspect-ratio: 720/1000; }
  .inperson-practical-grid li { padding: 23px 0; gap: 22px; }
  .inperson-practical-grid li:first-child { padding-top: 0; }
  .inperson-practical-grid li:last-child { padding-bottom: 0; }
  .inperson-practical-grid h3 { font-size: 22px; }
  .inperson-practical-grid p { font-size: 17px; }
  .inperson-faq-row .service-faq-preview { font-size: 17px; }
}
.service-page .virtual-panel-photo, .service-page .inperson-soccer-photo { min-height: 0; overflow: hidden; }
.service-page .virtual-panel-photo img, .service-page .inperson-soccer-photo img { min-height: 0; }
@media (min-width: 901px) {
  .performance-hero .service-lead { width: calc(100% + 30px); max-width: none; }
  .performance-focus-grid li { grid-template-rows: 34px minmax(0,1fr); }
  .performance-focus-grid p { font-size: clamp(17px, 1.7vw, 24px); }
  .virtual-fit-intro { grid-template-columns: minmax(0, 1.61fr) minmax(0, 1fr); }
  .virtual-fit-intro .service-section-title { font-size: clamp(42px, 5.85vw, 84px); white-space: nowrap; }
  .virtual-fit-intro p { width: calc(100% + 18px); font-size: clamp(17px, 1.66vw, 24px); }
  .virtual-fit-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0,.93fr); }
  .virtual-fit-grid p { font-size: clamp(15px, 1.5vw, 22px); }
  .inperson-page .wrap { width: min(1320px, calc(100% - 10.13vw)); }
  .inperson-care-grid { width: min(1350px, calc(100% - 7.07vw)) !important; margin-left: max(calc((100% - 1320px)/2), 5.065vw); margin-right: 0; }
  .inperson-ribbon { right: -8%; height: 132%; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .performance-hero .service-hero-copy { transform: translateY(-8px); }
  .performance-hero .button { margin-top: 15px; }
  .performance-focus { padding-top: calc(100vw * .02246094); }
  .performance-focus .service-section-title { font-size: calc(100vw * .067); margin-bottom: 28px; }
  .virtual-hero { padding-top: calc(100vw * .03125); }
  .virtual-hero h1 { font-size: calc(100vw * .0665); line-height: .84; margin-bottom: 20px; }
  .virtual-clinical-grid, .inperson-care-grid { grid-template-rows: minmax(0,1fr); }
  .virtual-faq { padding-top: calc(100vw * .02148438); }
  .virtual-faq-row + .virtual-faq-row { padding-block: 16px; }
  .inperson-practical-grid li { padding-left: 18px; }
  .inperson-practical-grid li:first-child { padding-left: 0; }
  .inperson-practical-grid h3 { font-size: calc(100vw * .0185); white-space: nowrap; }
  .inperson-faq { padding-block: calc(100vw * .02275078); }
  .inperson-faq-row .service-faq-preview { font-size: calc(100vw * .017); }
  .inperson-faq-row { padding-inline: 18px; }
}
.performance-faq-row .service-faq-toggle, .inperson-faq-row .service-faq-toggle { display: none; }
.performance-faq-row > summary { grid-template-columns: minmax(0,.467fr) minmax(0,1fr); }
.inperson-faq-row > summary { grid-template-columns: minmax(0,.92fr) minmax(0,1.5fr); }
@media (min-width: 901px) {
  .virtual-faq > .wrap { width: min(1340px, calc(100% - 9.765625vw)); }
  .virtual-faq-heading { margin-inline: 10px; }
  .virtual-faq-row > summary { grid-template-columns: minmax(0,1.14fr) minmax(0,1.18fr) auto; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .virtual-clinical-copy { transform: translateY(-6px); }
  .inperson-hero-copy { transform: translateY(-6px); }
  .inperson-hero .button { margin-top: 15px; }
  .inperson-care-copy { transform: translateY(-3px); }
  .inperson-care .service-section-title { line-height: .9; }
  .inperson-practical-grid { grid-template-columns: minmax(0,1fr) minmax(0,1.052fr) minmax(0,.935fr); }
  .inperson-practical-grid li { padding-left: 27px; gap: 8px; }
  .inperson-practical-grid li:first-child { padding-left: 0; }
  .inperson-practical-grid h3 { font-size: calc(100vw * .01706); }
  .inperson-faq-row { padding-inline: 32px; padding-block: 14px; }
  .inperson-faq-row:first-child { padding-top: 12px; padding-bottom: 18px; }
  .inperson-faq-row .service-faq-preview { font-size: calc(100vw * .01602); }
}
@media (max-width: 700px) {
  .performance-faq-row > summary, .inperson-faq-row > summary { grid-template-columns: minmax(0,1fr); }
  .virtual-faq-heading { margin-inline: 0; }
  .performance-faq-row .service-faq-preview, .inperson-faq-row .service-faq-preview { grid-column: 1; }
}
@media (min-width: 701px) { .service-focus-decoration { width: 39%; right: 0; } }
.performance-desktop-break { display: none; }
@media (min-width: 901px) {
  .performance-desktop-break { display: initial; }
  .performance-lead-first { white-space: nowrap; font-size: clamp(19px, 2vw, 29px); }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .inperson-faq { padding-block: calc(100vw * .0196484); }
  .inperson-page .service-booking-close { min-height: calc(100vw * .09203723); }
}
@media (min-width: 901px) {
  .performance-focus-grid li { padding-right: 0; }
  .performance-focus-grid li:nth-child(2) { padding-left: clamp(32px,3.7vw,53px); }
  .performance-focus-grid li:nth-child(3) { padding-left: clamp(36px,4.5vw,65px); }
  .performance-focus-grid li:first-child > div { padding-left: clamp(42px,5.57vw,80px); }
  .performance-focus-grid li:nth-child(3) > div { padding-left: clamp(46px,6.25vw,90px); }
  .performance-practical-grid { grid-template-columns: minmax(0,1.335fr) minmax(0,1fr); gap: 0; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .performance-hero h1 { font-size: calc(100vw * .09); }
  .performance-focus .service-section-title { font-size: calc(100vw * .0695); margin-bottom: 25.5px; }
  .performance-practical .service-section-title { font-size: calc(100vw * .0599); }
  .performance-page .service-close-grid { grid-template-columns: minmax(0,2fr) minmax(0,1fr); }
  .performance-page .service-close-grid > .button::before { left: -66px; }
  .virtual-fit-intro .service-section-title { font-size: calc(100vw * .0574); }
  .virtual-faq-heading .service-section-title { font-size: calc(100vw * .0565); }
  .virtual-booking-close .service-close-grid { width: calc(100% * .73730469); margin-left: 16.30859375%; margin-right: 0; grid-template-columns: minmax(0,1.58241758fr) minmax(0,1fr); gap: calc(100vw * .04882813); }
}
@media (min-width: 901px) {
  .performance-hero h1 { white-space: nowrap; }
  .performance-hero-grid { grid-template-rows: minmax(0,1fr); }
  .performance-speaking-photo { min-height: 0; overflow: hidden; }
}
@media (min-width: 901px) and (max-width: 1100px) { .inperson-care-list p { font-size: calc(100vw * .018); line-height: 1.25; } }

/* Actual reference pixel-row comparison: mean vertical error6.14px→2.71px; two headline lines and photograph unchanged. */
@media(min-width:901px) and (max-width:1100px){.performance-hero .eyebrow{margin-bottom:3px}.performance-hero h1{line-height:.858}}

/* Let the complete booking label define its desktop button width. */
@media (min-width: 1200px) {
  .virtual-booking-close .service-close-grid { grid-template-columns: minmax(0, 1fr) max-content; }
  .virtual-booking-close .service-close-grid > .button { width: max-content; min-width: max-content; justify-self: end; }
}

/* Keep the in-person copy field clear while retaining both ribbon curves. */
@media (min-width: 701px) {
  .inperson-ribbon {
    -webkit-mask-image: radial-gradient(ellipse 60% 30% at 0% 45%, transparent 0%, transparent 65%, #000 95%, #000 100%);
    mask-image: radial-gradient(ellipse 60% 30% at 0% 45%, transparent 0%, transparent 65%, #000 95%, #000 100%);
  }
}

@media (max-width: 700px) {
  .inperson-ribbon {
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, transparent 20%, #000 36%, #000 100%);
    mask-image: linear-gradient(180deg, transparent 0%, transparent 20%, #000 36%, #000 100%);
  }
  .inperson-hero-guides {
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, transparent 20%, #000 36%, #000 100%);
    mask-image: linear-gradient(180deg, transparent 0%, transparent 20%, #000 36%, #000 100%);
  }
}
