/* Service pages (loaded together with doctors.css, which supplies .dp-*, .qa, .svc-* and .dgrid rules) */
.crumbs{font-size:14px;color:var(--muted);margin-bottom:18px}
.crumbs a{text-decoration:none;color:var(--primary)}

/* hero */
.sv-hero{padding:28px 0 44px;background:linear-gradient(180deg,var(--hero),var(--bg))}
.sv-hero .grid{display:grid;gap:26px;align-items:center}
.sv-info h1{font-size:clamp(30px,4.4vw,48px);margin-bottom:14px;text-wrap:balance}
.sv-lead{font-size:17px;color:var(--muted);max-width:56ch;margin-bottom:22px}
.sv-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 26px}
.sv-facts>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px}
.sv-facts dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-weight:600;margin-bottom:5px}
.sv-facts dd{margin:0;font:600 15px/1.3 var(--sans);color:var(--ink)}
.sv-info .cta{display:flex;flex-wrap:wrap;gap:12px}
.sv-photo{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-l);background:var(--aqua-soft)}
.sv-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:560px){.sv-info .cta .btn{width:100%}}
@media(min-width:900px){.sv-hero{padding:52px 0 68px}.sv-hero .grid{grid-template-columns:1.05fr 1fr;gap:56px}.sv-facts{grid-template-columns:repeat(2,1fr)}}

/* details block */
.sv-details{background:var(--bg)}
.sv-details .dp-text h2{margin-bottom:16px}

/* price table */
.sv-prices{background:var(--surface)}
.ptable{border-top:1.5px solid var(--ink);max-width:880px}
.prow{display:flex;align-items:baseline;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
.prow .pn{font-size:16px;line-height:1.4}
.prow .dots{flex:1;border-bottom:1.5px dotted var(--aqua);transform:translateY(-4px);min-width:16px}
.prow .pv{font:600 18px/1.2 var(--serif);color:var(--primary);white-space:nowrap}
.pnote{max-width:720px;padding:20px 22px;border-radius:var(--r-m);background:var(--hero);border:1px solid var(--line)}
.pnote p{font-size:16px;line-height:1.6;color:#22384f}
.pnote p+p{margin-top:8px}
@media(max-width:560px){.prow{flex-wrap:wrap}.prow .dots{display:none}.prow .pv{margin-left:auto}}

/* services hub */
.sh-hero{padding:36px 0 12px;background:linear-gradient(180deg,var(--hero),var(--bg))}
.sh-hero h1{margin-bottom:16px;max-width:22ch}
.sh-hero .lead{max-width:66ch;margin-bottom:22px}
.sh-hero .cta{display:flex;flex-wrap:wrap;gap:12px}
.sh-group{padding:44px 0 4px}
.sh-group .head{max-width:680px;margin-bottom:22px}
.sh-group .head h2{margin-bottom:8px}
.sh-group .head p{color:var(--muted)}
@media(max-width:560px){.sh-hero .cta .btn{width:100%}}

/* price card shown instead of a photo */
.sv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;box-shadow:var(--shadow-l)}
.sv-card-k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--primary);margin-bottom:6px}
.sv-card-t{font:600 22px/1.2 var(--serif);margin-bottom:14px}
.sv-card-rows>div{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:11px 0;border-top:1px solid var(--line);font-size:15px}
.sv-card-rows span{line-height:1.35}
.sv-card-rows b{font:600 17px/1.2 var(--serif);color:var(--primary);white-space:nowrap}
.sv-card-p{font-size:15.5px;line-height:1.6;color:#22384f;padding:4px 0 12px}
.sv-card-f{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-top:6px;padding:12px 14px;border-radius:var(--r-s);background:var(--aqua-soft);font-size:14.5px}
.sv-card-f b{font-weight:700;color:var(--navy);white-space:nowrap}
.sv-card-a{display:inline-block;margin-top:14px;font-size:14.5px;font-weight:600;color:var(--primary);text-decoration:none;border-bottom:1.5px solid var(--aqua)}
.sv-card-a:hover{border-color:var(--primary)}
