/* The self-pay solution tells the practice's revenue story. Product demos stay on Core. */
.selfpay-solution{--selfpay-navy:#315074;--selfpay-green:#287457;--selfpay-mint:#e8f5ed;color:var(--fg-2)}
.selfpay-solution h1,.selfpay-solution h2,.selfpay-solution h3{color:var(--selfpay-navy)}
.selfpay-solution h2{max-width:800px;line-height:1.18;margin-bottom:20px}
.selfpay-solution p{line-height:1.75}
.selfpay-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,5vw,72px);padding-block:48px 72px}
.selfpay-hero-copy .eyebrow{color:var(--selfpay-green)}
.selfpay-hero h1{font-size:clamp(2.75rem,4.4vw,4rem);line-height:1.1;letter-spacing:-.04em;max-width:730px;margin-bottom:24px;text-wrap:initial}
.selfpay-hero .lead{max-width:650px;margin:0;font-size:1.125rem;line-height:1.75}
.selfpay-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px}
.selfpay-actions .button{white-space:normal;text-align:left;line-height:1.5;gap:16px}
.selfpay-proof{background:var(--selfpay-mint);border:1px solid #cee4d7;border-radius:16px;padding:34px 36px;position:relative}
.selfpay-proof>.eyebrow{font-size:.625rem;letter-spacing:.11em;color:var(--selfpay-green);margin:0 0 20px}
.selfpay-proof h2{font-size:1.3125rem;margin:0 0 24px;letter-spacing:-.015em}
.selfpay-proof h2 span{display:block;font-weight:400;font-size:.8125rem;line-height:1.6;color:#4c6960;margin-top:5px;letter-spacing:0}
.selfpay-proof-number{display:block;font-size:clamp(3.5rem,5.1vw,4.75rem);line-height:1;letter-spacing:-.055em;font-weight:600;color:var(--selfpay-green);margin-bottom:14px}
.selfpay-proof>p:not(.eyebrow){font-size:.9375rem;color:#3e5d52;margin:0 0 26px;max-width:360px}
.selfpay-proof>a{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:22px;padding-top:22px;border-top:1px solid #c3dbcd;color:var(--selfpay-green);font-size:.875rem;font-weight:500}
.selfpay-proof>a:hover{text-decoration:underline;text-underline-offset:4px}
.selfpay-section{padding-block:72px;border-top:1px solid var(--border-default);scroll-margin-top:110px}
.selfpay-section-intro{max-width:780px}
.selfpay-section-intro>p{font-size:1.0625rem;max-width:680px;margin:0}
.selfpay-problem{background:#f7f9fb}
.selfpay-leaks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}
.selfpay-leaks>div{border-top:3px solid #4fb988;padding-top:22px}
.selfpay-index{display:block;color:#55706b;font-size:.6875rem;letter-spacing:.08em;font-weight:500;margin-bottom:18px}
.selfpay-leaks h3{font-size:1.25rem;line-height:1.4;max-width:350px;margin:0 0 14px;letter-spacing:-.02em}
.selfpay-leaks p{font-size:.9375rem;margin:0}
.selfpay-table-scroll{overflow:auto;border:1px solid var(--border-default);border-radius:12px;margin-top:32px;background:white}
.selfpay-table-scroll:focus-visible{outline:3px solid var(--hm-blue-600);outline-offset:5px}
.selfpay-comparison{width:100%;border-collapse:separate;border-spacing:0;min-width:650px;table-layout:fixed;text-align:left}
.selfpay-comparison caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.selfpay-comparison th,.selfpay-comparison td{vertical-align:top;padding:22px 26px;font-size:.9375rem;line-height:1.7;border-bottom:1px solid var(--border-default)}
.selfpay-comparison thead th{background:#f0f4f8;font-size:.8125rem;font-weight:500;color:#52667c;padding-block:18px}
.selfpay-comparison th:first-child{width:22%}
.selfpay-comparison tbody th{color:var(--selfpay-navy);font-weight:500;background:white}
.selfpay-comparison td{color:#626f80}
.selfpay-comparison th:last-child{background:var(--selfpay-navy);color:white}
.selfpay-comparison td:last-child{background:#eff8f2;color:#315c48}
.selfpay-comparison tr:last-child th,.selfpay-comparison tr:last-child td{border-bottom:0}
.selfpay-table-source{margin:18px 0 0;font-size:.8125rem}
.selfpay-table-source a{display:inline-flex;align-items:center;gap:12px;color:var(--selfpay-green)}
.selfpay-table-source a:hover{text-decoration:underline;text-underline-offset:4px}
.selfpay-story-section{background:#f7f9fb}
.selfpay-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.selfpay-story-copy>.eyebrow{color:var(--selfpay-green);font-size:.6875rem}
.selfpay-story h2{font-size:clamp(1.875rem,3vw,2.5rem)}
.selfpay-story-copy>p:not(.eyebrow){font-size:1rem;margin:0 0 20px}
.selfpay-story-copy .text-link{display:inline-flex;align-items:center;gap:14px;margin-top:8px;color:var(--selfpay-green);line-height:1.6}
.selfpay-story .selfpay-story-quote{margin:0;padding:36px;background:white;border-color:#dce5ee;border-top:3px solid #4fb988}
.selfpay-story-quote blockquote p{font-size:1.25rem;line-height:1.7;letter-spacing:-.015em}
.selfpay-story-quote .case-testimonial-person{padding-top:24px;border-top:1px solid var(--border-default)}
.selfpay-story-quote .case-testimonial-person>span>span{font-size:.75rem;line-height:1.65}
.selfpay-launch{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.selfpay-launch li{padding:26px 22px;border:1px solid var(--border-default);border-radius:12px;background:#f8fafb}
.selfpay-week{display:block;font-size:.75rem;font-weight:500;color:var(--selfpay-green);margin-bottom:20px}
.selfpay-launch h3{font-size:1.125rem;line-height:1.4;margin:0 0 12px}
.selfpay-launch p{font-size:.875rem;margin:0}
.selfpay-products-section{padding-bottom:48px}
.selfpay-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.selfpay-products>a{position:relative;display:block;padding:25px 48px 25px 25px;border:1px solid var(--border-default);border-radius:12px;transition:background .15s,border-color .15s}
.selfpay-products h3{font-size:1.0625rem;line-height:1.45;margin:0 0 8px}
.selfpay-products p{font-size:.875rem;margin:0;line-height:1.65}
.selfpay-products .hm-icon{position:absolute;right:23px;top:30px;color:var(--selfpay-green)}
.selfpay-products>a:hover{border-color:#8cc8a5;background:#f2f9f4}
.selfpay-close{margin-top:28px;align-items:center}
.selfpay-close h2{color:white;margin-bottom:12px;max-width:600px}
.selfpay-close p{margin:0}
.selfpay-close .button{flex-shrink:0}
@media(max-width:1100px){.selfpay-hero{gap:32px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.selfpay-proof{padding:30px 28px}.selfpay-story{gap:36px}.selfpay-launch{grid-template-columns:repeat(2,minmax(0,1fr))}.selfpay-comparison th,.selfpay-comparison td{padding:20px}.selfpay-products{gap:16px}}
@media(max-width:850px){.selfpay-hero{grid-template-columns:1fr;padding-top:36px;gap:36px}.selfpay-hero h1{font-size:clamp(2.75rem,6.2vw,3.5rem);max-width:700px}.selfpay-proof{max-width:none}.selfpay-proof>p:not(.eyebrow){max-width:540px}.selfpay-proof-number{font-size:4rem}.selfpay-leaks{gap:24px}.selfpay-story{grid-template-columns:1fr;gap:32px}.selfpay-products{grid-template-columns:1fr}.selfpay-products>a{padding-block:22px}.selfpay-section{padding-block:56px}.selfpay-close{display:flex;align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:650px){.selfpay-hero{padding-block:32px 48px}.selfpay-hero h1{font-size:2.5rem;line-height:1.12}.selfpay-hero .lead{font-size:1rem}.selfpay-actions{align-items:stretch;flex-direction:column}.selfpay-actions .button{justify-content:space-between}.selfpay-proof{padding:28px 24px}.selfpay-proof-number{font-size:3.75rem}.selfpay-leaks{grid-template-columns:1fr;gap:28px;margin-top:30px}.selfpay-leaks>div{padding-top:18px}.selfpay-index{margin-bottom:12px}.selfpay-leaks h3{max-width:none}.selfpay-section{padding-block:44px;scroll-margin-top:96px}.selfpay-section h2{font-size:1.875rem}.selfpay-section-intro>p{font-size:1rem}.selfpay-comparison{min-width:620px}.selfpay-comparison th,.selfpay-comparison td{padding:16px;font-size:.875rem}.selfpay-comparison tbody th{position:sticky;left:0;background:#f7f9fb;box-shadow:1px 0 0 var(--border-default)}.selfpay-launch{gap:14px}.selfpay-launch li{padding:22px 18px}.selfpay-launch h3{font-size:1rem}.selfpay-story .selfpay-story-quote{padding:28px 24px}.selfpay-story-quote blockquote p{font-size:1.125rem}.selfpay-close .button{white-space:normal}}
@media(max-width:430px){.selfpay-launch{grid-template-columns:1fr}.selfpay-week{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.selfpay-products>a{transition:none}}
