/* Insurance information: separate the clinic's combined fee from covered copayments. */
.insurance-section { padding-bottom: 64px; }
.insurance-panel { background: var(--soft); border-top: 3px solid var(--green); padding: 40px; }
.insurance-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 34px; }
.insurance-heading .eyebrow { margin-bottom: 12px; }
.insurance-heading h2 { font-size: clamp(1.75rem,3vw,2.5rem); }
.insurance-heading > p { color: var(--muted); font-size: .9375rem; margin: 0; }
.insurance-price-title { font: 500 1.35rem/1.7 var(--serif); margin: 0 0 8px; }
.insurance-price-label { color: var(--green); font-size: .9375rem; margin: 0 0 20px; }
.insurance-rates { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; background: white; border-block: 1px solid var(--line); }
.insurance-rates > div { padding: 24px; border-left: 1px solid var(--line); }
.insurance-rates > div:first-child { border-left: 0; }
.insurance-rates dt { font-size: 1rem; }
.insurance-rates dt span { font-size: .8125rem; color: var(--muted); }
.insurance-rates dd { margin: 8px 0 0; color: var(--green); white-space: nowrap; }
.insurance-rates strong { font: 400 clamp(2rem,3.5vw,3rem)/1.4 Georgia,serif; margin-right: 5px; }
.insurance-price-note { margin: 20px 0 36px; }
.insurance-price-note p { font-size: .875rem; color: var(--muted); line-height: 2; margin: 0; }
.insurance-price-note p + p { margin-top: 7px; }
.insurance-price-note strong { color: var(--ink); font-weight: 500; }
.insurance-scope-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.insurance-scope { padding-top: 24px; border-top: 1px solid #aebfb4; }
.insurance-scope h3, .insurance-before-visit h3 { font-size: 1.15rem; margin: 0 0 14px; font-weight: 500; }
.insurance-scope p, .insurance-scope li, .insurance-before-visit p { color: var(--muted); font-size: .9375rem; line-height: 2; }
.insurance-scope ul { padding-left: 1.3em; margin: 0 0 18px; }
.insurance-scope li + li { margin-top: 7px; }
.insurance-scope strong { color: var(--ink); font-weight: 500; }
.insurance-scope .insurance-consent { border-left: 2px solid var(--gold); padding-left: 16px; color: var(--ink); margin: 0; }
.insurance-before-visit { border-top: 1px solid var(--line); padding-top: 28px; margin-top: 32px; }
.insurance-before-visit p { margin-bottom: 12px; }
.insurance-before-visit .text-link { margin-top: 10px; }
.insurance-other-shares { margin-top: 30px; padding: 22px 24px; border-left: 3px solid var(--gold); background: white; }
.insurance-other-shares h3 { color: var(--green); font-size: 1.1rem; font-weight: 500; margin: 0 0 10px; }
.insurance-other-shares p { color: var(--muted); font-size: .9375rem; line-height: 2; margin: 0; }
.insurance-sources { margin-top: 28px; border-top: 1px solid var(--line); padding-top: 20px; font-size: .8125rem; color: var(--muted); }
.insurance-sources p { margin-bottom: 8px; }
.insurance-sources a { display: table; text-decoration: underline; text-underline-offset: 4px; margin-top: 6px; overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .insurance-section { padding-bottom: 40px; }
  .insurance-panel { padding: 26px 20px; }
  .insurance-heading { display: block; margin-bottom: 26px; }
  .insurance-heading > p { margin-top: 18px; }
  .insurance-heading > p br { display: none; }
  .insurance-price-title { font-size: 1.2rem; }
  .insurance-price-label { font-size: .875rem; }
  .insurance-rates { grid-template-columns: minmax(0,1fr); }
  .insurance-rates > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-left: 0; border-top: 1px solid var(--line); padding: 18px 16px; }
  .insurance-rates > div:first-child { border-top: 0; }
  .insurance-rates dd { margin: 0; }
  .insurance-rates strong { font-size: 2rem; }
  .insurance-scope-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
}

/* Clinic-wide FAQ and direct entry points. Shared for audio-preserving navigation. */
.home-faq-entry { display: flex; align-items: center; justify-content: space-between; gap: 36px; padding-block: 58px; }
.home-faq-entry h2 { font-size: clamp(1.65rem, 2.8vw, 2.35rem); margin-bottom: 14px; }
.home-faq-entry .eyebrow { margin-bottom: 12px; }
.home-faq-entry p:not(.eyebrow) { margin: 0; color: var(--muted); }
.home-faq-entry .button { flex-shrink: 0; }
.clinic-faq-hint { color: var(--muted); font-size: .875rem; margin: 22px 0 0; }
.page-jumps.clinic-faq-jumps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.clinic-faq-content { padding-bottom: 72px; }
.clinic-faq-group { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: 60px; border-top: 2px solid var(--green); padding-block: 38px 62px; }
.clinic-faq-group-heading .eyebrow { color: var(--green); margin: 0 0 12px; }
.clinic-faq-group-heading h2 { font-size: clamp(1.3rem, 2.3vw, 1.8rem); letter-spacing: .025em; line-height: 1.7; margin-bottom: 12px; }
.clinic-faq-group-heading > p:last-child { color: var(--muted); font-size: .875rem; margin: 0; }
.clinic-faq-list { min-width: 0; }
.clinic-faq-item { border-bottom: 1px solid var(--line); }
.clinic-faq-item summary { display: flex; padding: 20px 0; gap: 20px; font-size: 1rem; line-height: 1.85; color: var(--ink); }
.clinic-faq-item:first-child summary { padding-top: 0; }
.clinic-faq-item summary > span { color: var(--green); font-size: 1.35rem; line-height: 1.4; }
.clinic-faq-item[open] summary { color: var(--green); }
.clinic-faq-answer { padding: 0 36px 24px 0; color: var(--muted); font-size: .9375rem; line-height: 2; overflow-wrap: anywhere; }
.clinic-faq-answer p { margin: 0 0 14px; }
.clinic-faq-answer p:last-child { margin-bottom: 0; }
.clinic-faq-answer strong { color: var(--ink); font-weight: 600; }
.clinic-faq-answer a { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1000px) {
  .clinic-faq-group { grid-template-columns: minmax(0, .85fr) minmax(0, 2fr); gap: 32px; }
}
@media (max-width: 720px) {
  .home-faq-entry { display: block; padding-block: 44px; }
  .home-faq-entry .button { margin-top: 24px; width: 100%; }
  .page-jumps.clinic-faq-jumps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-faq-content { padding-bottom: 16px; }
  .clinic-faq-group { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 28px 42px; }
  .clinic-faq-group-heading .eyebrow { margin-bottom: 6px; }
  .clinic-faq-group-heading h2 { font-size: 1.4rem; margin-bottom: 8px; }
  .clinic-faq-item summary { gap: 16px; padding-block: 18px; }
  .clinic-faq-answer { padding-right: 0; padding-bottom: 22px; }
}

/* Dedicated reading paths, in the clinic's established green palette. */
[id] { scroll-margin-top: 108px; }
body { overflow-x: clip; }
.header #navigation a[aria-current="page"] { color: var(--green); text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 2px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 25px; color: var(--muted); font-size: .8125rem; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 4px; }
.page-heading { padding-block: 58px 60px; }
.page-heading h1 { font: 500 clamp(2rem,4.5vw,4rem)/1.5 var(--serif); letter-spacing: .015em; margin: 0 0 24px; }
.page-heading .eyebrow { margin-bottom: 22px; }
.page-lead { color: var(--muted); font-size: 1.0625rem; line-height: 2; margin: 0; }
.page-jumps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 26px; margin-top: 38px; border-bottom: 1px solid var(--line); }
.page-jumps > a { display: flex; gap: 12px; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); padding: 19px 2px; font-size: .9375rem; color: var(--green); }
.page-jumps > a:hover, .footer-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
.page-jumps .jump-mark { display: grid; place-items: center; flex: 0 0 1.75rem; width: 1.75rem; height: 1.75rem; border: 1px solid var(--gold); border-radius: 50%; background: #c4a55b0a; color: var(--green); transition: background-color .2s ease, border-color .2s ease; }
.jump-mark svg { display: block; width: 1rem; height: 1rem; transition: transform .2s ease; }
.page-jumps > a:is(:hover, :focus-visible) .jump-mark { background: #c4a55b22; border-color: #9c7c36; }
.page-jumps > a:is(:hover, :focus-visible) .jump-mark svg { transform: translate(1px, -1px); }
@media (prefers-reduced-motion: reduce) {
  .page-jumps .jump-mark, .jump-mark svg { transition: none; }
  .page-jumps > a:is(:hover, :focus-visible) .jump-mark svg { transform: none; }
}
.page-next { display: flex; flex-wrap: wrap; gap: 18px; padding-block: 48px 72px; }
.page-next .button { flex: 1 1 260px; }
.footer { flex-wrap: wrap; }
.footer-links { flex: 1 0 100%; display: flex; flex-wrap: wrap; gap: 12px 30px; padding-block: 22px; border-block: 1px solid var(--line); font-size: .875rem; }
.footer .brand { flex: 1 0 100%; }
.footer > p { margin-right: auto; }

/* A shorter homepage: introductions and useful destinations. */
[data-page="index"] .hero-description { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
[data-page="index"] .hero-description p { max-width: 45em; }
[data-page="index"] .hero-description .text-link { flex: none; }
[data-page="index"] .hero-features { margin-top: 28px; }
.home-section.section, .home-section > .section { padding-block: 76px; }
.home-section .section-top { margin-bottom: 32px; }
.home-section .care-path { padding-block: 27px; }
.price-preview .section-top { align-items: center; }
.price-preview .section-top .button { flex: none; }
.preview-price-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--line); }
.preview-price-grid > div { padding: 26px 32px; border-left: 1px solid var(--line); }
.preview-price-grid > div:first-child { border-left: 0; padding-left: 0; }
.preview-price-grid h3 { font-weight: 500; font-size: 1.1rem; margin: 0 0 7px; }
.preview-price-grid span { font-size: .875rem; color: var(--muted); }
.preview-price-grid p { margin: 6px 0 0; color: var(--green); font-variant-numeric: tabular-nums; }
.preview-price-grid strong { font: 400 clamp(2rem,3.5vw,3rem)/1.4 var(--display); letter-spacing: -.04em; margin-right: 5px; }
.preview-price-note { margin: 20px 0 0; color: var(--muted); font-size: .875rem; line-height: 1.9; max-width: 65em; }
.home-athletes { background: var(--soft); }
.athlete-teaser { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1fr); align-items: center; gap: 72px; }
.teaser-photo { width: 100%; max-width: 455px; }
.teaser-photo .archive-print { padding: 10px; }
.teaser-photo figcaption strong { font-size: .875rem; }
.teaser-copy { min-width: 0; }
.teaser-copy h2, .teaser-copy h3 { font: 500 clamp(1.8rem,3vw,3rem)/1.7 var(--serif); margin: 0 0 20px; }
.teaser-name { font-size: .9375rem; color: var(--green); letter-spacing: .04em; margin: 0 0 20px; }
.teaser-draft { border-block: 1px solid var(--line); padding-block: 16px; font-size: .9375rem; color: var(--green); }
.teaser-copy > p:not([class]) { color: var(--muted); line-height: 2; margin: 22px 0; }
.teaser-copy .text-link { display: table; margin-top: 20px; }
.athlete-list { padding-block: 0 88px; }
.athlete-list .athlete-teaser { margin-top: 70px; padding-top: 60px; border-top: 1px solid var(--line); }
.archive-record-copy h2 { margin: 0 0 12px; font: 500 clamp(1.4rem,2.6vw,2.2rem)/1.6 var(--serif); }
[data-page="athletes"] { background: var(--soft); }
.athlete-list .teaser-copy h3 { font-size: clamp(2.5rem,4.5vw,4rem); letter-spacing: .06em; }
[data-page="athlete-takeshita"] .athlete-archive > .section { padding-top: 40px; }
[data-page="athlete-takeshita"] .archive-feature { margin-top: 0; }
.archive-profile h1 { margin: 0; font: 500 clamp(2.8rem,5vw,4.6rem)/1.3 var(--serif); letter-spacing: .07em; }
.archive-pro-heading h2 { margin: 0 0 20px; font: 500 clamp(1.7rem,3vw,2.7rem)/1.7 var(--serif); }
.archive-memory-copy h2 { margin: 0 0 26px; font: 500 clamp(1.7rem,3vw,2.4rem)/1.85 var(--serif); }
.archive-timeline h3 { margin: 0 0 12px; font: 500 1.25rem/1.7 var(--serif); }

/* Full rates live together, including the original plan conditions. */
[data-page="pricing"] .treatment-pricing { padding-top: 20px; }
#seitai-pricing { margin-top: 40px; max-width: 780px; }
#seitai-pricing > .text-link { display: table; margin-top: 18px; }
.care-fee-link .text-link { display: table; margin-top: 20px; }
.pricing-faq { padding-top: 0; }
.pricing-faq .faq { margin-top: 0; }
.pricing-faq .faq > h2 { font-size: 1.6rem; }
[data-page="care"] .care-section > .section { padding-top: 38px; }
[data-page="care"] .athlete-story > .chapter-heading { margin-bottom: 0; }

/* Keep the expanded menu usable at all widths, including landscape tablets. */
@media (max-width: 1760px) {
  .header .menu-toggle { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 0; background: white; color: var(--green); cursor: pointer; }
  .menu-lines { width: 19px; height: 12px; border-block: 1px solid currentColor; position: relative; }
  .menu-lines::after { content: ""; width: 19px; height: 1px; background: currentColor; position: absolute; left: 0; top: 5px; }
  .header #navigation { display: none; position: absolute; top: 84px; left: 0; right: 0; background: white; padding: 18px 32px 24px; flex-direction: column; align-items: stretch; gap: 0; border-bottom: 1px solid var(--line); box-shadow: 0 14px 20px #123c3410; max-height: calc(100dvh - 164px); overflow-y: auto; }
  .header #navigation.open { display: flex; }
  .header #navigation > a { font-size: 1rem; padding: 14px 4px; border-bottom: 1px solid var(--line); }
  .header #navigation > .button { margin-top: 18px; padding-inline: 22px; }
}
@media (max-width: 1000px) {
  .athlete-teaser { gap: 36px; }
  .page-jumps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .price-preview .section-top { display: block; }
  .price-preview .section-top .button { margin-top: 20px; }
}
@media (max-width: 720px) {
  [id] { scroll-margin-top: 98px; }
  .header #navigation { top: 76px; padding-inline: 20px; }
  .breadcrumbs { padding-top: 18px; gap: 8px; font-size: .75rem; }
  .page-heading { padding-block: 36px 40px; }
  .page-heading h1 { font-size: clamp(1.75rem,7.4vw,2.5rem); margin-bottom: 18px; overflow-wrap: anywhere; }
  .page-heading .eyebrow { font-size: .75rem; margin-bottom: 16px; }
  .page-lead { font-size: 1rem; }
  .page-lead br { display: none; }
  .page-jumps { margin-top: 26px; gap: 0 18px; }
  .page-jumps > a { gap: 6px; padding-block: 16px; font-size: .875rem; }
  .page-jumps .jump-mark { flex-basis: 1.375rem; width: 1.375rem; height: 1.375rem; }
  .jump-mark svg { width: .875rem; height: .875rem; }
  .home-section.section, .home-section > .section { padding-block: 48px; }
  [data-page="index"] .hero-description { display: block; padding-top: 22px; }
  [data-page="index"] .hero-description .text-link { display: table; margin-top: 10px; }
  [data-page="index"] .hero-photo { aspect-ratio: 1.15; }
  [data-page="index"] .hero { gap: 24px; }
  .preview-price-grid { grid-template-columns: 1fr; }
  .preview-price-grid > div, .preview-price-grid > div:first-child { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; padding: 18px 0; border-left: 0; border-top: 1px solid var(--line); }
  .preview-price-grid > div:first-child { border-top: 0; }
  .preview-price-grid h3 { font-size: 1rem; margin: 0 0 5px; }
  .preview-price-grid span { grid-column: 1; }
  .preview-price-grid p { grid-column: 2; grid-row: 1 / 3; margin: 0; }
  .preview-price-grid strong { font-size: 2rem; }
  .athlete-teaser { grid-template-columns: 1fr; gap: 28px; }
  .teaser-copy { grid-row: 1; }
  .teaser-copy h2 { font-size: 1.8rem; }
  .teaser-photo { max-width: 360px; margin-inline: auto; }
  .teaser-copy > p:not([class]) { margin-block: 16px; }
  .teaser-copy .button { width: 100%; font-size: .9375rem; padding-inline: 16px; }
  .teaser-copy .text-link { margin-top: 14px; }
  .athlete-list { padding-bottom: 56px; }
  .athlete-list .athlete-teaser { padding-top: 36px; margin-top: 40px; }
  .page-next { padding-block: 30px 44px; gap: 14px; }
  .page-next .button { font-size: .9375rem; }
  .footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
  [data-page="athlete-takeshita"] .athlete-archive > .section { padding-top: 28px; }
  .archive-profile h1 { font-size: 2.8rem; }
  .archive-memory-copy h2 { font-size: 1.65rem; }
  .archive-timeline h3 { font-size: 1.2rem; }
  [data-page="care"] .care-section > .section { padding-top: 24px; }
}

/* Public pricing renewal — 10 October 2026. */
.rates-updated { color: var(--muted); font-size: .8125rem; margin: 12px 0 0; }
.registration-home-link { margin-top: 20px; }
.registration-entry { border-left: 3px solid var(--green); background: var(--soft); padding: 26px 30px; margin: 32px 0; }
.registration-entry h3 { font-family: var(--serif); margin-bottom: 12px; }
.registration-entry p { color: var(--muted); margin-bottom: 14px; }
.registered-athletes { background: var(--soft); border-block: 1px solid var(--line); }
.registered-athletes .section-top h2 { font-size: clamp(1.8rem, 3.3vw, 2.9rem); }
.registered-athletes .section-top .eyebrow { margin: 16px 0 0; }
.registration-lead { max-width: 55em; color: var(--muted); }
.registration-formula { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; color: var(--green); padding: 24px 0; border-block: 1px solid var(--line); margin-block: 30px 0; }
.registration-formula > strong { font-family: var(--serif); font-size: clamp(1.3rem, 2.6vw, 2rem); font-weight: 500; }
.registration-formula > span { color: var(--gold); font-size: 1.4rem; }
.registration-formula > small { flex: 1 0 100%; font-size: .9375rem; color: var(--muted); }
.registration-block { margin-top: 42px; }
.registration-block > h3 { display: flex; gap: 18px; align-items: baseline; font-size: 1.45rem; margin-bottom: 12px; }
.registration-step { color: var(--green); font-family: var(--display); font-size: 1.15rem; font-weight: 400; }
.registration-block > p { color: var(--muted); }
.registration-periods { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.registration-period { padding: 26px 22px; border: 1px solid var(--line); border-top: 3px solid var(--green); background: white; min-width: 0; }
.registration-period h4 { font-size: 1.15rem; margin: 0; }
.registration-price { color: var(--green); margin: 10px 0; white-space: nowrap; }
.registration-price strong { font: 400 clamp(2rem,3vw,2.7rem)/1.4 var(--display); letter-spacing: -.045em; margin-right: 4px; }
.registration-period > p:last-child { color: var(--muted); font-size: .875rem; margin-bottom: 0; }
.renewal-table { width: 100%; table-layout: fixed; border-collapse: collapse; border-top: 1px solid var(--line); margin: 20px 0; }
.renewal-table th, .renewal-table td { padding: 18px 12px; border-bottom: 1px solid var(--line); line-height: 1.7; }
.renewal-table th { text-align: left; font-weight: 500; }
.renewal-table thead th { font-size: .8125rem; color: var(--muted); background: transparent; }
.renewal-table thead th:first-child { width: 65%; }
.renewal-table thead th:last-child, .renewal-table td { text-align: right; }
.renewal-table td { white-space: nowrap; color: var(--green); font-variant-numeric: tabular-nums; }
.renewal-table td strong { font-size: 1.2rem; font-weight: 500; }
.renewal-table small { display: block; font-size: .8125rem; font-weight: 400; color: var(--muted); white-space: normal; }
.registration-enrolment { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; margin: 38px 0 26px; border-top: 1px solid var(--line); padding-top: 30px; }
.registration-enrolment h3 { font-size: 1.1rem; margin: 0 0 12px; }
.registration-enrolment ul, .registration-enrolment ol { padding-left: 1.5em; margin: 0; color: var(--muted); }
.registration-enrolment li + li { margin-top: 8px; }
.registration-enrolment a, .treatment-note a, .pricing-faq a { text-decoration: underline; text-underline-offset: 4px; }
.seitai-inclusions { padding-block: 18px; margin: 24px 0; border-block: 1px solid var(--line); }
.seitai-inclusions h4 { font-size: 1rem; margin: 0 0 12px; }
.seitai-inclusions ul { margin: 0; padding-left: 1.35em; color: var(--muted); font-size: .9375rem; }
.seitai-inclusions li + li { margin-top: 8px; }
.seitai-inclusions > p { font-size: .875rem; color: var(--muted); margin: 15px 0 0; }
.device-special-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.device-special-grid .special-panel { background: white; }
.device-special-grid .renewal-table thead th:first-child { width: 57%; }
.device-special-grid .renewal-table th, .device-special-grid .renewal-table td { padding-inline: 0; }
.device-special-grid .special-panel > p:not(.eyebrow) { color: var(--muted); }
.device-special-grid .plan-note { margin-bottom: 0; }
.initial-fee-note { padding: 28px 32px; margin-top: 28px; border: 1px solid var(--line); background: var(--soft); }
.initial-fee-note h3 { font-size: 1.2rem; margin-bottom: 14px; }
.initial-fee-note p { color: var(--muted); margin-bottom: 12px; }
.initial-fee-note .initial-fee-total { color: var(--green); font-size: 1.05rem; }
.plan-heading h3 + .eyebrow { margin-top: 8px; margin-bottom: 12px; }
.device-chapter { align-items: baseline; }
.device-chapter > div { min-width: 0; }
.device-chapter h2 { font: 500 clamp(2rem,5.4vw,4.5rem)/1.5 var(--serif); letter-spacing: .03em; margin: 0; color: var(--green); }
.device-chapter p { font: 500 .875rem/1.7 var(--sans); letter-spacing: .18em; margin: 12px 0 0; color: var(--muted); }
[data-page="recovery"] .page-heading h1 { margin-bottom: 12px; }
[data-page="recovery"] h3 + .eyebrow { margin-top: 14px; }
.hydrogen-initial-hint .text-link { display: table; margin-top: 8px; }
@media (max-width: 900px) {
  .registration-periods { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .device-special-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .registration-entry { padding: 22px; }
  .registration-formula { gap: 10px 14px; }
  .registration-formula > strong { font-size: clamp(1.05rem,4.8vw,1.4rem); }
  .registration-formula > small { font-size: .875rem; }
  .registration-periods { gap: 12px; }
  .registration-period { padding: 20px 14px; }
  .registration-price strong { font-size: 2rem; }
  .registration-block > h3 { font-size: 1.25rem; gap: 12px; }
  .registration-enrolment { grid-template-columns: 1fr; gap: 26px; }
  .registered-athletes .button { width: 100%; padding-inline: 16px; font-size: .9375rem; }
  .renewal-table th, .renewal-table td { padding: 16px 0; font-size: .9375rem; }
  .renewal-table th { padding-right: 12px; }
  .renewal-table td strong { font-size: 1.125rem; }
  .initial-fee-note { padding: 24px 22px; }
  .device-chapter h2 { font-size: clamp(1.8rem,8vw,2.9rem); }
  .device-chapter p { font-size: .75rem; margin-top: 8px; letter-spacing: .12em; }
  .device-page-english { letter-spacing: .08em; }
}
