/* Service information uses the clinic's existing fonts, colours and components. */
.service-page .service-hero{padding:48px 0 64px;border-bottom:1px solid var(--line)}
.service-page .breadcrumbs{font-size:.8rem;color:var(--muted);margin-bottom:34px}
.service-page .breadcrumbs a{text-underline-offset:3px}
.service-page .breadcrumbs span{margin:0 8px;color:var(--soft)}
.service-page .service-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:64px;align-items:start}
.service-page h1{font-size:clamp(2.2rem,4.6vw,3.65rem);line-height:1.13;max-width:20ch}
.service-page h1 em{color:var(--blue);font-weight:400}
.service-page .lead{font-size:1.1rem;color:var(--muted);margin-top:24px;max-width:56ch}
.service-page .service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;list-style:none}
.service-page .service-tags li{font-size:.78rem;padding:6px 12px;background:var(--sand);border-radius:30px}
.service-page .service-price{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:16px;padding:30px;box-shadow:var(--shadow-md)}
.service-page .service-price .price-label{font-size:.8rem;color:var(--muted)}
.service-page .service-price .price{font:500 3rem/1.3 "Lora",Georgia,serif;margin:8px 0}
.service-page .service-price p{font-size:.88rem;color:var(--muted);margin:12px 0}
.service-page .service-price .btn{width:100%;padding:14px 16px;margin-top:12px;font-size:.9rem;text-align:center}
.service-page .service-price .fee-note{font-size:.77rem;margin-top:14px}
.service-page .service-body{padding-top:58px;padding-bottom:58px}
.service-page .service-content section{padding:0;margin:0 0 42px}
.service-page .service-content h2{font-size:1.9rem;margin-bottom:20px}
.service-page .service-content h3{font-size:1.18rem;margin:24px 0 10px}
.service-page .service-content p{margin:0 0 16px;color:var(--ink-2)}
.service-page .service-content ul,.service-page .service-content ol{padding-left:22px;margin:16px 0}
.service-page .service-content li{margin:10px 0;padding-left:4px;color:var(--ink-2)}
.service-page .service-content a,.service-page .service-professional a{color:var(--blue);text-underline-offset:3px}
.service-page .service-professional{border-top:1px solid var(--line);padding-top:28px;font-size:.9rem}
.service-page .service-professional img{height:100px;width:100px;border-radius:50%;object-fit:cover;object-position:center 17%;margin-bottom:18px}
.service-page .service-professional h2{font-size:1.25rem;margin:0 0 12px}
.service-page .service-professional p{margin:12px 0;color:var(--muted)}
.service-page .service-professional a{display:inline-block;margin:5px 0}
.service-page .service-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.91rem}
.service-page .service-table th,.service-page .service-table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.service-page .service-table th{color:var(--muted);font-weight:500}
.service-page .service-table td:last-child{white-space:nowrap;font-weight:600}
.service-page details{border-top:1px solid var(--line);padding:17px 0}
.service-page summary{cursor:pointer;font-weight:600;line-height:1.5;padding-right:8px}
.service-page details p{padding-top:14px}
.service-page .service-contact{background:var(--sand);padding:34px;border-radius:14px;margin-top:38px}
.service-page .service-contact h2{font-size:1.65rem;margin-bottom:14px}
.service-page .service-contact p{color:var(--muted);margin-bottom:20px}
.service-page .service-contact .btn{color:#fff}
.service-page .related-services{border-top:1px solid var(--line);padding:42px 0 54px}
.service-page .related-services h2{font-size:1.7rem;margin-bottom:22px}
.service-page .related-links{display:flex;gap:16px;flex-wrap:wrap}
.service-page .related-links a{padding:18px 22px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--blue);background:var(--white)}
.service-page .related-links a:hover{border-color:var(--blue)}
.service-page footer{padding:32px 0}
.service-page .service-footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.83rem;margin-bottom:20px}
.service-page .service-footer-links a{color:var(--muted);text-underline-offset:3px}
.service-page .service-legal{font-size:.75rem;color:var(--muted);max-width:90ch}
.service-page .service-nav-link{font-size:.85rem;color:var(--muted)}
.service-page a:focus-visible,.service-page summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.service-detail-links{margin-top:18px;display:flex;gap:10px 20px;flex-wrap:wrap}
.service-detail-links a{color:var(--blue);font-size:.84rem;text-underline-offset:4px}
@media(max-width:850px){
 .service-page .service-grid{grid-template-columns:1fr;gap:30px}
 .service-page .service-hero{padding:28px 0 38px}
 .service-page .breadcrumbs{margin-bottom:28px}
 .service-page .service-price{max-width:none}
 .service-page .service-professional{display:grid;grid-template-columns:100px 1fr;gap:0 22px}
 .service-page .service-professional img{grid-row:1/6}
 .service-page .service-professional p{margin-top:0}
 .service-page .service-body{padding-top:38px;padding-bottom:34px}
}
@media(max-width:560px){
 .service-page .service-nav-link{display:none}
 .service-page .nav-cta{max-width:155px;white-space:normal;text-align:center}
 .service-page h1{font-size:2.2rem}
 .service-page .service-price{padding:24px}
 .service-page .service-content h2{font-size:1.7rem}
 .service-page .service-contact{padding:26px}
 .service-page .service-professional{display:block}
 .service-page .service-table th,.service-page .service-table td{padding:12px 5px;font-size:.83rem}
}
.service-page [id]{scroll-margin-top:110px}
