/* Shared editorial treatment modules. */
.clinic-module { padding:76px 0; }
.clinic-module-heading { display:grid; grid-template-columns:1.05fr .95fr; align-items:end; gap:48px; margin-bottom:36px; }
.clinic-module-kicker { display:inline-flex; align-items:center; gap:9px; color:#8c6828; font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; margin-bottom:13px; }
.clinic-module-kicker::before { content:''; width:22px; height:1px; background:#b58b3b; }
.clinic-module-heading h2,.clinic-journey-heading h2 { margin:0; max-width:650px; color:#25221e; font-size:clamp(29px,3.2vw,42px); font-weight:600; line-height:1.15; letter-spacing:-.035em; }
.clinic-module-heading > p { max-width:510px; margin:0 0 2px; color:#635d54; font-size:16px; line-height:1.75; }
.clinic-options { background:#faf7f0; }
.clinic-options-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.clinic-option { position:relative; display:flex; flex-direction:column; padding:27px; border:1px solid #e3ddcf; border-radius:20px; background:#fff; transition:border-color .2s ease,box-shadow .2s ease; }
.clinic-option:hover { border-color:#b58b3b; box-shadow:0 10px 25px rgba(37,34,30,.04); }
.clinic-option-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; }
.clinic-option-symbol { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border:1px solid #e5d6b7; border-radius:13px; color:#8c6828; background:#fcf9f2; font-size:19px; font-weight:600; }
.clinic-option-index { color:#766a57; font-size:12px; font-variant-numeric:tabular-nums; letter-spacing:.05em; }
.clinic-option h3 { margin:0 0 12px; font-size:22px; line-height:1.25; color:#25221e; font-weight:600; letter-spacing:-.025em; }
.clinic-option h3 a { color:inherit; }
.clinic-option > p { flex:1; margin:0; font-size:15px; line-height:1.75; color:#635d54; }
.clinic-option-link { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-top:24px; padding-top:18px; border-top:1px solid #eee8dc; color:#8c6828; font-size:13px; font-weight:600; }
.clinic-option-link:hover { color:#73531e; }
.clinic-option-link > span { font-size:21px; line-height:1; }
.clinic-eligibility { background:#fff; }
.clinic-eligibility-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:0; }
.clinic-eligibility-grid > * { width:auto; padding:0; margin:0; }
.clinic-eligibility-grid > .col-lg-12 { grid-column:1/-1; }
.clinic-eligibility .candidacy-card { height:100%; margin:0; padding:30px; border:1px solid #e3ddcf; border-radius:20px; background:#fff; box-shadow:none; }
.clinic-eligibility .candidacy-card.caution { background:#faf7f0; border-color:#e3d6bb; }
.clinic-eligibility .candidacy-card h3 { display:flex; align-items:center; gap:13px; min-height:48px; font-size:22px; font-weight:600; line-height:1.3; letter-spacing:-.025em; margin-bottom:18px; color:#25221e; }
.clinic-eligibility .candidacy-card h3 i { display:flex; justify-content:center; align-items:center; width:42px; height:42px; flex:0 0 42px; border:1px solid #e5d6b7; border-radius:12px; background:#fcf9f2; color:#8c6828; font-size:18px; }
.clinic-eligibility .candidacy-card ul { padding:0; margin:0; list-style:none; }
.clinic-eligibility .candidacy-card ul li { display:flex; align-items:flex-start; gap:11px; margin:0; padding:15px 0; border-bottom:1px solid #ece6da; font-size:15px; line-height:1.65; color:#5c574f; }
.clinic-eligibility .candidacy-card ul li:last-child { border-bottom:0; padding-bottom:0; }
.clinic-eligibility .candidacy-card ul li i { position:static; flex:0 0 15px; width:15px; margin-top:5px; font-size:13px; color:#8c6828; }
.clinic-eligibility .treatment-cta-band { margin-top:28px; border-radius:20px; }
.clinic-journey { background:#faf7f0; }
.clinic-journey-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:74px; align-items:start; }
.clinic-journey-heading { position:sticky; top:125px; }
.clinic-journey-heading > p { margin:22px 0 0; font-size:16px; line-height:1.75; color:#635d54; }
.clinic-timeline { list-style:none; margin:0; padding:0; }
.clinic-timeline > li { position:relative; display:grid; grid-template-columns:46px 1fr; gap:20px; padding-bottom:30px; }
.clinic-timeline > li::before { content:''; position:absolute; left:22px; top:48px; bottom:3px; width:1px; background:#ded2b8; }
.clinic-timeline > li:last-child::before { display:none; }
.clinic-timeline > li:last-child { padding-bottom:0; }
.clinic-timeline-number { position:relative; display:flex; align-items:center; justify-content:center; width:46px; height:46px; border:1px solid #d8c69e; border-radius:50%; color:#8c6828; background:#fff; font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; z-index:1; }
.clinic-timeline-copy { padding:7px 0 26px; border-bottom:1px solid #e6dfd2; }
.clinic-timeline > li:last-child .clinic-timeline-copy { padding-bottom:0; border-bottom:0; }
.clinic-timeline-copy h3 { margin:0 0 10px; color:#25221e; font-size:23px; font-weight:600; line-height:1.3; letter-spacing:-.025em; }
.clinic-timeline-copy p { margin:0; color:#635d54; font-size:15px; line-height:1.8; }
.clinic-journey-cta { margin-top:32px; padding:27px 28px; border:1px solid #514735; border-radius:18px; background:#25221e; }
.clinic-journey-cta h3 { color:#fff; margin:0 0 13px; font-size:22px; font-weight:600; }
.clinic-journey-cta p { color:#e5dfd2; margin:0; font-size:15px; line-height:1.8; }
.clinic-journey-cta a { color:#e4c888; text-decoration:underline; text-underline-offset:4px; }
.clinic-comparison { background:#fff; }
.clinic-comparison .treatment-compare-wrap { border:1px solid #e1dacb; border-radius:20px; overflow-x:auto; background:#fff; }
.clinic-comparison .treatment-compare { display:table; width:100%; min-width:680px; margin:0; border-collapse:separate; border-spacing:0; border-radius:0; box-shadow:none; table-layout:fixed; }
.clinic-comparison .treatment-compare caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.clinic-comparison .treatment-compare thead { display:table-header-group; }
.clinic-comparison .treatment-compare tbody { display:table-row-group; }
.clinic-comparison .treatment-compare tr { display:table-row; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.clinic-comparison .treatment-compare th,.clinic-comparison .treatment-compare td { display:table-cell; padding:21px 24px; border:0; border-bottom:1px solid #ece6da; vertical-align:middle; font-size:14px; line-height:1.6; color:#5c574f; background:#fff; text-align:left; }
.clinic-comparison .treatment-compare th::before,.clinic-comparison .treatment-compare td::before { display:none; }
.clinic-comparison .treatment-compare thead th { background:#25221e; color:#fff; font-size:15px; font-weight:600; }
.clinic-comparison .treatment-compare thead th.col-highlight { color:#25221e; background:#e4d0a0; }
.clinic-comparison .treatment-compare thead th:first-child,.clinic-comparison .treatment-compare tbody th { width:26%; }
.clinic-comparison .treatment-compare tbody th { color:#25221e; background:#faf8f3; font-weight:500; }
.clinic-comparison .treatment-compare td.cell-best { color:#6b501f; font-weight:500; background:#fcf8ee; }
.clinic-comparison .treatment-compare tbody tr:last-child th,.clinic-comparison .treatment-compare tbody tr:last-child td { border-bottom:0; }
.clinic-compare-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin-bottom:16px; padding:5px; border:1px solid #e1dacb; border-radius:15px; background:#f4f0e8; }
.clinic-compare-controls[hidden],.clinic-comparison [hidden] { display:none!important; }
.clinic-compare-choice { display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 11px; border:0; border-radius:10px; background:transparent; font:inherit; font-size:13px; font-weight:600; line-height:1.4; color:#5c574f; text-align:center; cursor:pointer; }
.clinic-compare-choice[aria-pressed=true] { background:#25221e; color:#fff; box-shadow:0 2px 5px rgba(37,34,30,.1); }
.clinic-compare-choice:focus-visible { outline:3px solid #8c6828; outline-offset:2px; }
@media(max-width:991px) { .clinic-module-heading { gap:28px; } .clinic-options-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .clinic-journey-layout { gap:40px; grid-template-columns:.8fr 1.2fr; } .clinic-eligibility .candidacy-card { padding:25px; } }
@media(max-width:767px) {
 .clinic-module { padding:50px 0; }
 .clinic-module-heading { grid-template-columns:1fr; gap:18px; margin-bottom:27px; }
 .clinic-module-heading h2,.clinic-journey-heading h2 { font-size:30px; }
 .clinic-module-heading > p,.clinic-journey-heading > p { font-size:15px; line-height:1.75; }
 .clinic-options-grid,.clinic-eligibility-grid,.clinic-journey-layout { grid-template-columns:1fr; }
 .clinic-options-grid { gap:14px; }
 .clinic-option { padding:24px; }
 .clinic-option-top { margin-bottom:21px; }
 .clinic-option h3 { font-size:22px; }
 .clinic-eligibility .candidacy-card { padding:23px; }
 .clinic-eligibility .candidacy-card h3 { font-size:21px; }
 .clinic-eligibility-grid { gap:16px; }
 .clinic-journey-layout { gap:31px; }
 .clinic-journey-heading { position:static; }
 .clinic-journey-heading > p { margin-top:18px; }
 .clinic-timeline > li { grid-template-columns:40px 1fr; gap:16px; padding-bottom:23px; }
 .clinic-timeline > li::before { left:19px; top:43px; }
 .clinic-timeline-number { width:40px; height:40px; font-size:13px; }
 .clinic-timeline-copy { padding-top:5px; padding-bottom:21px; }
 .clinic-timeline-copy h3 { font-size:21px; }
 .clinic-journey-cta { padding:24px; }
 .clinic-comparison .treatment-compare th,.clinic-comparison .treatment-compare td { padding:17px 16px; font-size:13px; }
 .clinic-comparison.has-column-switch .treatment-compare { min-width:0; }
 .clinic-comparison.has-column-switch .treatment-compare thead th:first-child,.clinic-comparison.has-column-switch .treatment-compare tbody th { width:45%; }
 .clinic-comparison .treatment-compare thead th { font-size:13px; }
 .clinic-comparison .treatment-compare-wrap { border-radius:16px; }
}
@media(prefers-reduced-motion:reduce) { .clinic-option { transition:none; } }
