/* Conditions and restrictions. Theme tokens and typography are inherited from the shared homepage shell. */
.cl-intro { padding-top: 0; }
.cl-intro-note { max-width: none; }
.cl-intro-note p { margin: 0; }
.cl-intro-note p + p { margin-top: 16px; }
.cl-intro-note a { color: var(--blue); text-underline-offset: 4px; }
.cl-intro-note strong { color: var(--ink); font-weight: 600; }
.cl-section-heading { align-items: flex-start; gap: 48px; }
.cl-section-heading > h2 { flex: 0 1 48%; }
.cl-section-heading > p { flex: 0 1 52%; max-width: 600px; margin: 0; }
.cl-section-heading .cl-detail-link { margin-left: auto; align-self: center; }
.cl-process-list { padding: 0; margin: 40px 0 0; list-style: none; }
.cl-process-list li { display: grid; grid-template-columns: 88px minmax(220px, .86fr) minmax(0, 1.3fr); gap: 32px; align-items: start; padding: 30px 0; border-top: 1px solid var(--line); }
.cl-process-list li:last-child { border-bottom: 1px solid var(--line); }
.cl-process-list h3 { margin: 2px 0 0; line-height: 1.3; color: var(--ink); }
.cl-process-list p { margin: 0; color: var(--muted); }
.cl-step-number { font-family: var(--display); color: var(--blue); font-size: 48px; line-height: 1.1; font-weight: 500; letter-spacing: -.02em; }
.cl-surface-section { padding-inline: 32px; background: var(--surface); border-block: 1px solid var(--line); }
.cl-editorial-grid { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.4fr); gap: 80px; align-items: start; }
.cl-editorial-grid .section-title { max-width: 400px; margin-bottom: 24px; }
.cl-editorial-grid > div > p:last-child { margin-bottom: 0; }
.cl-document-list, .cl-health-list, .cl-legal-list { list-style: none; padding: 0; margin: 0; }
.cl-process-list > li, .cl-document-list > li, .cl-health-list > li, .cl-legal-list > li { margin-top: 0; }
.cl-document-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.cl-document-list li { display: flex; gap: 16px; align-items: baseline; border-bottom: 1px solid var(--line); padding: 21px 0; color: var(--ink); }
.cl-document-list li::before { content: ""; width: 14px; height: 2px; background: var(--blue); flex: 0 0 14px; transform: translateY(-5px); }
.cl-document-list li:nth-child(-n+2) { padding-top: 0; }
.cl-footnote { margin: 24px 0 0; font-size: 15px; line-height: 1.65; color: var(--muted); }
.cl-footnote strong { color: var(--ink); font-weight: 500; }
.cl-support-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 40px; }
.cl-support-item { padding: 0 28px; border-left: 1px solid var(--line); }
.cl-support-item:first-child { border-left: 0; padding-left: 0; }
.cl-support-item:last-child { padding-right: 0; }
.cl-support-item h3 { margin: 0 0 20px; color: var(--ink); line-height: 1.3; }
.cl-support-item > p:not(.cl-support-value) { font-size: 16px; line-height: 1.65; color: var(--muted); }
.cl-support-item > p:last-child { margin-bottom: 0; }
.cl-support-item .text-link { display: inline-block; margin-top: 8px; font-size: 15px; }
.cl-support-value { font: 500 32px/1.3 var(--display); color: var(--blue); margin: 0 0 16px; }
.cl-support-value span { white-space: nowrap; }
.cl-extra-pay { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.4fr); gap: 80px; margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--line); }
.cl-extra-pay h3 { margin: 0 0 16px; }
.cl-extra-pay p { margin: 0; }
.cl-extra-pay-list { margin: 0; }
.cl-extra-pay-list > div { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.cl-extra-pay-list > div:first-child { padding-top: 0; }
.cl-extra-pay-list dt { font: 500 24px/1.3 var(--display); color: var(--blue); }
.cl-extra-pay-list dd { margin: 0; color: var(--muted); }
.cl-comparison-section { padding-top: 0; }
.cl-table-wrap { overflow-x: auto; margin-top: 32px; border: 1px solid var(--line); border-radius: 4px; }
.cl-table { border-collapse: collapse; width: 100%; text-align: left; font-size: 16px; }
.cl-table th, .cl-table td { padding: 22px 24px; vertical-align: top; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); }
.cl-table th:last-child, .cl-table td:last-child { border-right: 0; }
.cl-table tbody tr:last-child th, .cl-table tbody tr:last-child td { border-bottom: 0; }
.cl-table thead th { background: var(--surface); color: var(--ink); font-family: var(--display); font-weight: 500; letter-spacing: .03em; text-transform: uppercase; font-size: 18px; }
.cl-table tbody th { color: var(--ink); font-weight: 500; }
.cl-table tbody td { color: var(--muted); }
.cl-comparison-table { min-width: 700px; }
.cl-comparison-table th:first-child { width: 27%; }
.cl-comparison-table td { width: 36.5%; }
.cl-consultation { padding: 56px 32px; background: var(--surface); border-block: 1px solid var(--line); }
.cl-consultation-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 64px; align-items: center; }
.cl-consultation h2 { font: 500 36px/1.2 var(--display); text-transform: uppercase; color: var(--ink); max-width: 640px; margin: 0 0 16px; }
.cl-consultation p { color: var(--muted); margin: 0; max-width: 660px; }
.cl-consultation-actions { display: flex; flex-direction: column; gap: 18px; text-align: center; }
.cl-consultation-actions .button { min-width: 240px; }
.cl-consultation-actions > a { color: var(--ink); text-decoration: none; font-size: 16px; font-variant-numeric: tabular-nums; }
.cl-consultation-actions > a:hover { color: var(--blue); }
.cl-page-links { display: flex; flex-wrap: wrap; gap: 16px 40px; padding: 28px 0; margin-top: 16px; border-bottom: 1px solid var(--line); }
.cl-page-links a { color: var(--blue); text-decoration: none; font: 500 18px/1.3 var(--display); text-transform: uppercase; letter-spacing: .025em; }
.cl-page-links a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 6px; }
#health, #fitness, #age, #legal { scroll-margin-top: 110px; }
.cl-list-intro { margin: 0 0 24px; color: var(--muted); }
.cl-list-intro strong { color: var(--ink); }
.cl-health-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.cl-health-list li { border-top: 1px solid var(--line); padding: 20px 0; font-size: 18px; color: var(--ink); }
.cl-health-list li:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
.cl-fitness-section { padding-top: 0; }
.cl-fitness-table { margin-top: 32px; border: 1px solid var(--line); }
.cl-fitness-table th:first-child { width: 160px; text-align: center; }
.cl-fitness-table tbody th { color: var(--blue); font: 500 42px/1 var(--display); padding: 22px 24px; }
.cl-fitness-table tbody td { vertical-align: middle; font-size: 18px; }
.cl-age-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; align-items: center; }
.cl-age-value { font: 500 84px/1.1 var(--display); letter-spacing: -.03em; color: var(--blue); margin: 24px 0 12px; }
.cl-age-value span { font-size: 30px; letter-spacing: 0; }
.cl-age-caption { font-size: 15px; margin: 0; }
.cl-age-copy p { margin: 0; color: var(--muted); }
.cl-age-copy p + p { margin-top: 24px; }
.cl-age-copy strong { color: var(--ink); }
.cl-legal-list li { border-top: 1px solid var(--line); padding: 22px 0; font-size: 18px; color: var(--ink); }
.cl-legal-list li:last-child { border-bottom: 1px solid var(--line); }

@media (max-width: 1024px) {
  .cl-section-heading { gap: 32px; }
  .cl-process-list li { grid-template-columns: 64px minmax(180px, .9fr) minmax(0, 1.2fr); gap: 24px; }
  .cl-editorial-grid, .cl-extra-pay, .cl-age-grid { gap: 40px; }
  .cl-editorial-grid, .cl-extra-pay { grid-template-columns: minmax(200px, .8fr) minmax(0, 1.3fr); }
  .cl-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 0; }
  .cl-support-item:nth-child(3) { border-left: 0; padding-left: 0; }
  .cl-support-item:nth-child(2) { padding-right: 0; }
  .cl-consultation-inner { gap: 40px; }
  .cl-age-value { font-size: 72px; }
}

@media (max-width: 720px) {
  .cl-surface-section, .cl-consultation { padding-inline: 24px; }
  .cl-section-heading { display: block; }
  .cl-section-heading > p { margin-top: 20px; }
  .cl-section-heading .cl-detail-link { display: inline-block; margin-top: 20px; }
  .cl-process-list { margin-top: 28px; }
  .cl-process-list li { grid-template-columns: 52px minmax(0, 1fr); gap: 12px 20px; padding: 28px 0; }
  .cl-step-number { grid-column: 1; grid-row: 1 / 3; font-size: 38px; }
  .cl-process-list h3 { grid-column: 2; margin-top: 0; }
  .cl-process-list p { grid-column: 2; font-size: 16px; }
  .cl-editorial-grid, .cl-extra-pay, .cl-age-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .cl-editorial-grid .section-title { max-width: none; margin-bottom: 20px; }
  .cl-document-list { column-gap: 24px; }
  .cl-document-list li { font-size: 16px; gap: 12px; padding-block: 18px; }
  .cl-support-item { padding-inline: 20px; }
  .cl-support-item h3 { font-size: 20px; }
  .cl-support-value { font-size: 28px; }
  .cl-support-item > p:not(.cl-support-value) { font-size: 15px; }
  .cl-extra-pay { margin-top: 40px; padding-top: 32px; }
  .cl-table th, .cl-table td { padding: 18px; }
  .cl-desktop-break { display: none; }
  .cl-consultation { padding-block: 40px; }
  .cl-consultation-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .cl-consultation h2 { font-size: 30px; }
  .cl-consultation-actions { align-items: flex-start; text-align: left; }
  .cl-page-links { gap: 18px 28px; padding-block: 24px; }
  .cl-page-links a { font-size: 17px; }
  .cl-health-list { column-gap: 24px; }
  .cl-health-list li { font-size: 16px; }
  .cl-fitness-table th:first-child { width: 100px; }
  .cl-fitness-table thead th { font-size: 16px; }
  .cl-fitness-table tbody td { font-size: 16px; }
  .cl-fitness-table tbody th { font-size: 36px; padding: 20px 16px; }
  .cl-age-value { font-size: 72px; margin-top: 24px; }
  .cl-age-value span { font-size: 26px; }
  .cl-legal-list li { font-size: 17px; padding: 20px 0; }
}

@media (max-width: 420px) {
  .cl-document-list, .cl-health-list { grid-template-columns: minmax(0, 1fr); }
  .cl-document-list li:nth-child(2) { padding-top: 18px; }
  .cl-health-list li:nth-last-child(2) { border-bottom: 0; }
  .cl-support-grid { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 28px; }
  .cl-support-item, .cl-support-item:first-child, .cl-support-item:last-child { border-left: 0; border-bottom: 1px solid var(--line); padding: 24px 0; }
  .cl-support-item:first-child { padding-top: 0; }
  .cl-support-item:last-child { border-bottom: 0; padding-bottom: 0; }
  .cl-support-item h3 { margin-bottom: 14px; }
  .cl-extra-pay-list > div { grid-template-columns: 108px minmax(0, 1fr); gap: 18px; }
  .cl-extra-pay-list dt { font-size: 22px; }
  .cl-extra-pay-list dd { font-size: 15px; }
  .cl-fitness-table th:first-child { width: 88px; }
  .cl-fitness-table thead th { font-size: 15px; padding: 14px 10px; }
  .cl-fitness-table tbody td { padding: 18px 14px; }
  .cl-consultation-actions { align-items: stretch; text-align: center; }
}
