/* Shared visual rules for the static landing template and DoctorPay's home calculator. */
:root { --foreground:#111b30; --primary:#1247bd; --muted-foreground:#5e6d83; --border:#dbe4ef; --radius:.75rem; }
html { scroll-behavior:auto; }

.hero,.providers,.breadcrumbs,.site-footer__inner,.section-container { width:min(100% - 2rem,75rem); }
.hero { min-height:27rem; gap:clamp(2rem,5vw,4.5rem); padding-block:3rem; }
.hero--with-media { grid-template-columns:minmax(0,.95fr) minmax(22rem,1.05fr); }
.hero__copy { max-width:35rem; }
.hero h1 { font-size:clamp(2rem,3.25vw,3rem); letter-spacing:-.025em; line-height:1.4; }
.hero__description { font-size:1.05rem; line-height:1.95; }
.hero__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.75rem; }
.hero__actions .button { min-width:11.5rem; }
.hero__media { min-height:22rem; border-radius:1rem; background:#eaf1ff; }

.calculator { padding-block:4rem; border:0; background:#f7faff; }
.calculator__heading { max-width:40rem; margin-bottom:2rem; }
.calculator__heading>span,.related-services__heading>div>span { color:var(--primary); font-size:.95rem; font-weight:700; }
.calculator__heading h2 { margin-top:.25rem; font-size:clamp(1.85rem,2.8vw,2.45rem); line-height:1.5; }
.calculator__heading p { margin-top:.5rem; color:var(--muted-foreground); font-size:1rem; }
.calculator__layout { grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,5rem); }
.calculator__side { max-width:none; }
.calculator__side>h3 { margin:0; font-size:1.5rem; font-weight:600; line-height:1.4; }
.calculator__side>p { margin-top:.5rem; max-width:36rem; color:var(--muted-foreground); font-size:1rem; line-height:1.75; }
.calculator__benefits { gap:.5rem; margin-top:2rem; }
.calculator__benefits li { align-items:center; gap:1rem; padding:1rem 1.5rem; background:#fff; }
.calculator__benefits li::before { content:none; }
.calculator__benefit-icon { display:grid; width:auto; height:auto; flex:none; padding:.5rem; place-items:center; border-radius:999px; background:#f1f5f9; }
.calculator__benefit-icon img { width:2.5rem; height:2.5rem; }
.calculator__benefits h3 { margin-bottom:.5rem; font-size:1.125rem; font-weight:700; line-height:1.4; }
.calculator__benefits p { margin-top:0; max-width:none; color:var(--muted-foreground); font-size:1rem; line-height:1.6; }
@media (max-width:48rem) { .calculator__side>h3 { font-size:1.25rem; } .calculator__side>p { font-size:.75rem; line-height:1.5; } .calculator__benefits { gap:0; } .calculator__benefits li { gap:1rem; padding:.75rem 0; } .calculator__benefit-icon { padding:.25rem; } .calculator__benefit-icon img { width:2rem; height:2rem; } .calculator__benefits h3 { margin-bottom:.25rem; font-size:1rem; } .calculator__benefits p { font-size:.875rem; } }
.calculator__card { width:100%; max-width:29rem; margin-inline:auto; border-color:#cfd9e8; border-radius:1rem; box-shadow:none; }
.calculator__products { border-bottom:1px solid var(--border); }
.calculator__products button { min-height:5rem; padding:.75rem .45rem; border-inline-start:1px solid var(--border); font-size:.9rem; line-height:1.55; }
.calculator__products button:hover { color:var(--primary); background:#f3f7ff; }
.calculator__products button[aria-pressed="true"],.calculator__products button[aria-pressed="true"]:hover { color:#fff; background:var(--primary); }
.calculator__amount { grid-template-columns:3.5rem minmax(0,1fr) 3.5rem; gap:.75rem; padding:1.75rem 1.5rem 1rem; }
.calculator__amount button { width:3.5rem; height:3.5rem; border-radius:.65rem; font-size:1.8rem; transition:background-color .2s ease,transform .2s ease; }
.calculator__amount button:hover { background:#e6eefc; transform:translateY(-1px); }
.calculator__amount strong { font-size:clamp(1.65rem,2.8vw,2.15rem); font-variant-numeric:tabular-nums; }
.calculator input[type="range"] { width:calc(100% - 3rem); margin-inline:1.5rem; }
.calculator__range-labels { padding-inline:1.5rem; padding-bottom:1.5rem; }
.calculator__result { padding:.95rem 1.5rem; }
.calculator__result:first-child { padding-block:1.25rem; background:#f7faff; }
.calculator__result span { font-size:.92rem; }
.calculator__result strong { font-size:1rem; font-variant-numeric:tabular-nums; }
.calculator__result:first-child strong { font-size:clamp(1.65rem,2.6vw,2rem); }
.calculator__cta { width:calc(100% - 3rem); min-height:3.5rem; margin:1.5rem; border-radius:.65rem; background:#111b30; font-size:1rem; }
.calculator__cta:hover { background:#263550; }
.calculator__disclosure { max-width:29rem; margin-top:.85rem; }

.calculator__terms { display:flex; gap:.75rem; padding:1.5rem 1.5rem 0; }
.calculator__terms[hidden] { display:none; }
.calculator__terms button { flex:1; display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:.9rem 0; border:2px solid var(--border); border-radius:.65rem; background:#fff; cursor:pointer; transition:border-color .15s ease,background-color .15s ease; }
.calculator__terms button:hover { border-color:#cfd9e8; }
.calculator__terms button strong { font-size:1.5rem; line-height:1.2; font-weight:800; color:#1f2937; font-variant-numeric:tabular-nums; }
.calculator__terms button small { font-size:.85rem; font-weight:600; color:#6b7280; }
.calculator__terms button[aria-pressed="true"] { border-color:var(--primary); background:#edf3ff; }
.calculator__terms button[aria-pressed="true"] strong,.calculator__terms button[aria-pressed="true"] small { color:var(--primary); }

.calculator__milestones { position:relative; padding:2.75rem 1.5rem 0; }
.calculator__milestone-bubble { position:absolute; top:-2.5rem; left:0; transform:translateX(-50%); padding:.35rem .75rem; border-radius:1rem; color:#fff; background:#1a3faa; font-size:.8rem; font-weight:700; white-space:nowrap; box-shadow:0 .3rem .6rem rgb(15 23 43 / .18); }
.calculator__milestone-bubble::after { content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:.3rem solid transparent; border-top-color:#1a3faa; }
.calculator__milestone-track { position:relative; display:flex; justify-content:space-between; }
.calculator__milestone-track::before { content:""; position:absolute; top:.9rem; inset-inline:.9rem; height:.3rem; border-radius:999px; background:var(--border); }
.calculator__milestone { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:.3rem; border:0; background:none; cursor:pointer; font:inherit; }
.calculator__milestone::before { content:""; display:grid; width:1.8rem; height:1.8rem; place-items:center; border-radius:999px; border:2px solid var(--border); background:#fff; }
.calculator__milestone span,.calculator__milestone small { color:var(--muted-foreground); font-size:.72rem; }
.calculator__milestone[aria-pressed="true"]::before { border-color:var(--primary); background:var(--primary); }
.calculator__milestone[aria-pressed="true"] span,.calculator__milestone[aria-pressed="true"] small { color:var(--primary); font-weight:700; }
.calculator__panel-disclosure { padding:1.25rem 1.5rem 0; color:var(--muted-foreground); font-size:.85rem; line-height:1.85; }
.calculator__panel-benefits { display:grid; margin:1rem 1.5rem 0; border-top:1px solid var(--border); }
.calculator__panel-benefits li { display:flex; align-items:center; justify-content:space-between; padding:.85rem 0; border-bottom:1px solid var(--border); font-size:.92rem; font-weight:600; color:var(--foreground); }
.calculator__panel-benefits li span[aria-hidden] { display:grid; width:1.35rem; height:1.35rem; flex:none; place-items:center; border-radius:999px; color:#fff; background:#16a34a; font-size:.65rem; }
.calculator__panel .calculator__cta { margin:1.5rem; }

.seo-section { padding-block:1.5rem; }
.seo-content-card { border:1px solid var(--border); border-radius:1rem; background:#fff; overflow:hidden; }
.seo-content-card h2 { margin:0; }
.seo-content-card__header { display:flex; align-items:center; gap:.75rem; min-height:4.5rem; padding:1rem 1.25rem; font-size:clamp(1.1rem,2vw,1.4rem); font-weight:700; color:var(--foreground); }
.seo-content-card__icon { display:grid; width:2.25rem; height:2.25rem; flex:none; place-items:center; border-radius:.6rem; color:var(--primary); background:#edf3ff; }
.seo-content-card__icon svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.seo-content-card__toggle { display:flex; width:100%; align-items:center; justify-content:center; gap:.5rem; padding:.9rem 1.25rem; border:0; border-top:1px solid var(--border); background:transparent; font:inherit; font-size:.92rem; font-weight:700; color:var(--primary); cursor:pointer; transition:background-color .15s ease; }
.seo-content-card__toggle:hover { background:#f7faff; }
.seo-content-card__indicator { display:grid; width:1.5rem; height:1.5rem; flex:none; place-items:center; font-size:1rem; transition:transform .2s ease; }
.seo-content-card__toggle[aria-expanded="true"] .seo-content-card__indicator { transform:rotate(180deg); }
.guide-steps__heading { margin:0 0 2rem; font-size:clamp(1.5rem,3vw,2rem); color:var(--foreground); }
.guide-steps__track { display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding:0; margin:0; list-style:none; }
.guide-steps__step { position:relative; padding-inline-end:1.25rem; opacity:0; transform:translateY(.75rem); transition:opacity .5s ease, transform .5s ease; transition-delay:calc(var(--step-index) * .08s); }
.guide-steps__step.is-visible { opacity:1; transform:translateY(0); }
.guide-steps__step::after { content:""; position:absolute; inset-inline-end:0; top:1.1rem; width:1.25rem; height:2px; background:var(--border); }
.guide-steps__step:last-child::after { display:none; }
.guide-steps__number { display:grid; width:2.5rem; height:2.5rem; margin-bottom:1rem; place-items:center; border:2px solid var(--primary); border-radius:999px; color:var(--primary); background:#fff; font-size:1.05rem; font-weight:700; }
.guide-steps__step p { margin:0; color:var(--muted-foreground); font-size:.95rem; line-height:1.8; }
@media (max-width:64rem) { .guide-steps__track { grid-template-columns:1fr 1fr; gap:2rem 1rem; } .guide-steps__step::after { display:none; } }
@media (max-width:48rem) { .guide-steps__track { grid-template-columns:1fr; gap:1.75rem; } }
.rich-content { max-width:none; padding:0 1.25rem 1.5rem; color:#384860; font-size:1rem; line-height:2; }

.related-services { padding-block:3.5rem; background:#fff; }
.calculator,.related-services,.faq { scroll-margin-top:6rem; }
.related-services__heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.related-services__heading h2 { font-size:clamp(1.4rem,2.2vw,1.9rem); line-height:1.5; }
.related-services__heading p { max-width:41rem; margin:.4rem 0 0; color:var(--muted-foreground); font-size:.96rem; line-height:1.85; }
.related-services__controls { display:flex; flex:none; gap:.5rem; }
.related-services__controls button { display:grid; width:2.5rem; height:2.5rem; place-items:center; border:1px solid var(--border); border-radius:999px; color:var(--primary); background:#fff; cursor:pointer; transition:background-color .2s ease,color .2s ease,transform .2s ease,opacity .2s ease; }
.related-services__controls button:hover:not(:disabled) { color:#fff; background:var(--primary); transform:translateY(-1px); }
.related-services__controls button:disabled { color:#d1d5db; cursor:default; }
.related-services__controls svg { width:1.15rem; height:1.15rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.5; }
.related-services__viewport { outline:none; }
.related-services__viewport:focus-visible { outline:3px solid var(--ring); outline-offset:4px; border-radius:1rem; }
.related-services__links { display:flex; flex-wrap:wrap; gap:1rem; }
.related-services--carousel .related-services__viewport { overflow-x:auto; padding:.15rem .15rem .75rem; scroll-behavior:smooth; scroll-snap-type:inline mandatory; scrollbar-width:none; }
.related-services--carousel .related-services__viewport::-webkit-scrollbar { display:none; }
.related-services--carousel .related-services__links { flex-wrap:nowrap; }
.related-services__links>a { flex:0 0 auto; scroll-snap-align:start; }
.related-services__links a { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; width:16.25rem; height:16.25rem; min-width:0; padding:1.5rem; border:1px solid var(--border); border-radius:1.5rem; color:var(--foreground); background:#fff; text-align:right; text-decoration:none; transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.related-services__links a::before { content:""; position:absolute; top:-4.5rem; inset-inline-start:-3rem; z-index:0; width:14rem; height:14rem; border-radius:50%; background:radial-gradient(circle, rgb(18 71 189 / .16), transparent 70%); filter:blur(14px); opacity:0; transition:opacity .3s ease; pointer-events:none; }
.related-services__links a:hover { border-color:var(--primary); transform:translateY(-3px); box-shadow:0 1rem 2rem rgb(15 23 43 / .1); }
.related-services__links a:hover::before { opacity:1; }
.related-services__icon { position:relative; z-index:1; display:block; width:3.5rem; height:3.5rem; margin-bottom:2.5rem; }
.related-services__icon img { width:3.5rem; height:3.5rem; object-fit:contain; }
.related-services__card-copy { position:relative; z-index:1; display:grid; gap:.5rem; min-width:0; }
.related-services__card-copy strong { font-size:1.05rem; font-weight:700; line-height:1.5; }
.related-services__card-copy small { display:-webkit-box; overflow:hidden; color:var(--muted-foreground); font-size:.85rem; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:3; }

.faq { padding-block:3rem; background:#fff; }
.faq .section-container { max-width:64rem; }
.faq__intro { display:grid; justify-items:start; gap:.5rem; margin-bottom:1.75rem; text-align:right; }
.faq__intro h2 { font-size:clamp(1.4rem,2.2vw,1.9rem); }
.faq__intro p { max-width:40rem; color:var(--muted-foreground); font-size:1rem; }
.faq__list { display:grid; gap:.75rem; border:0; background:transparent; }
.faq details { overflow:hidden; border:1px solid var(--border); border-radius:.9rem; background:#fff; }
.faq summary { min-height:4.5rem; justify-content:space-between; text-align:right; }
.faq__indicator { flex:none; }
.faq details[open] .faq__indicator { transform:rotate(45deg); }

.final-cta__panel { text-align:center; }
.final-cta__panel .button { margin-inline:auto; }

@media (max-width:64rem) { .site-nav,.header-phone,.header-merchant { display:none; }.mobile-menu { position:relative; display:block; }.site-header__inner { justify-content:space-between; gap:1rem; }.mobile-menu summary { display:flex; width:2.75rem; height:2.75rem; align-items:center; justify-content:center; cursor:pointer; list-style:none; }.mobile-menu summary::-webkit-details-marker { display:none; }.mobile-menu nav { position:absolute; top:calc(100% + .5rem); inset-inline-start:0; width:min(17rem,calc(100vw - 2rem)); padding:.75rem 1rem; border:1px solid var(--border); border-radius:var(--radius); background:#fff; box-shadow:0 .75rem 2rem rgb(15 23 43 / .12); }.mobile-menu a { display:block; min-height:2.75rem; padding:.5rem 0; text-decoration:none; }.hero--with-media { grid-template-columns:minmax(0,1fr) minmax(19rem,.9fr); } }
@media (max-width:48rem) { .hero { min-height:0; padding-block:2.25rem 2.75rem; }.hero--with-media { grid-template-columns:1fr; }.hero__media { min-height:0; order:initial; }.hero__media img { aspect-ratio:16/10; object-fit:cover; }.hero h1 { max-width:none; font-size:2rem; }.hero__actions { display:grid; grid-template-columns:1fr; }.hero__actions .button { min-width:0; width:100%; }.calculator { padding-block:3rem; }.calculator__layout { grid-template-columns:1fr; gap:2rem; }.calculator__card { width:100%; max-width:none; }.calculator__products button { min-height:4.75rem; padding-inline:.25rem; font-size:.8rem; }.calculator__amount { grid-template-columns:3rem minmax(0,1fr) 3rem; padding-inline:1rem; }.calculator__amount button { width:3rem; height:3rem; }.calculator input[type="range"] { width:calc(100% - 2rem); margin-inline:1rem; }.calculator__range-labels,.calculator__result { padding-inline:1rem; }.calculator__cta { width:calc(100% - 2rem); margin:1rem; }.related-services { padding-block:3rem; }.related-services__heading { align-items:start; }.related-services__heading p { font-size:.9rem; }.related-services__controls { gap:.4rem; }.related-services__controls button { width:2.5rem; height:2.5rem; }.related-services__links a { width:13.5rem; height:13.5rem; padding:1.1rem; }.related-services__icon,.related-services__icon img { width:3rem; height:3rem; }.faq__intro { justify-items:center; text-align:center; }.faq summary { position:relative; justify-content:center; padding-inline:3rem; font-size:.93rem; text-align:center; }.faq__indicator { position:absolute; inset-inline-start:1rem; top:50%; transform:translateY(-50%); }.faq details[open] .faq__indicator { transform:translateY(-50%) rotate(45deg); } }
@media (max-width:26.25rem) { .header-cta { padding-inline:.6rem; font-size:.76rem; }.related-services__links a { width:11rem; height:11rem; } }
@media (prefers-reduced-motion:reduce) { .related-services--carousel .related-services__viewport { scroll-behavior:auto; }.related-services__controls button,.related-services__links a,.related-services__links a::before,.calculator__amount button { transition:none; } }
