/* Provider portal: clear clinical information and a small set of access routes. */
:root { --pp-ink:#102f43; --pp-text:#304c5d; --pp-muted:#627687; --pp-green:#087e91; --pp-line:#dce7ec; --pp-paper:#fff; --pp-soft:#eff7fa; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; color:var(--pp-text); background:white; font:15px/1.75 'Manrope','Segoe UI',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { color:var(--pp-ink); }
h1,h2 { font-weight:600; line-height:1.12; letter-spacing:-.045em; }
h2 { font-size:clamp(30px,3vw,42px); }
h3 { font-size:17px; line-height:1.45; letter-spacing:-.02em; }
p { color:var(--pp-muted); }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
img { max-width:100%; display:block; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #058599; outline-offset:5px; }
main:focus { outline:none; }
.pp-wrap { max-width:1320px; padding-inline:clamp(24px,5vw,64px); margin:auto; }
.pp-section { padding-block:72px; }
.pp-skip { position:fixed; top:-100px; left:20px; padding:12px 20px; background:white; z-index:100; }
.pp-skip:focus { top:12px; }
.pp-header { position:sticky; top:0; z-index:50; height:88px; background:#fffffffa; border-bottom:1px solid var(--pp-line); }
.pp-header-inner { display:flex; justify-content:space-between; align-items:center; height:100%; gap:20px; }
.pp-brand { display:flex; gap:20px; align-items:center; }
.pp-brand img { width:135px; height:36px; object-fit:contain; }
.pp-brand>span { border-left:1px solid var(--pp-line); padding-left:20px; font-size:13px; font-weight:600; color:var(--pp-ink); }
.pp-brand small { display:block; font-size:10px; font-weight:400; color:var(--pp-muted); }
.pp-header nav { display:flex; align-items:center; gap:30px; }
.pp-header nav>a { font-size:12px; font-weight:600; }
.pp-header nav>a[aria-current] { color:var(--pp-green); }
.pp-header nav>.pp-nav-login { padding:12px 19px; border:1px solid #b8d9e1; border-radius:7px; color:var(--pp-green); }
.pp-menu-toggle { display:none; }
.pp-eyebrow { font-size:10px; letter-spacing:.12em; font-weight:700; color:var(--pp-green); margin-bottom:18px; }
.pp-hero { background:#f3f9fc; padding-block:52px; }
.pp-hero-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:center; }
.pp-hero h1 { font-size:clamp(42px,4.3vw,62px); }
.pp-hero h1 em { font-style:normal; color:var(--pp-green); }
.pp-hero-lead { max-width:440px; margin-top:24px; font-size:16px; line-height:1.85; }
.pp-hero-actions { display:flex; align-items:center; gap:25px; margin-top:30px; flex-wrap:wrap; }
.pp-button { display:inline-flex; justify-content:center; align-items:center; gap:25px; padding:14px 22px; border:1px solid var(--pp-green); border-radius:7px; font-size:13px; font-weight:600; background:var(--pp-green); color:white; min-height:50px; }
.pp-button:hover { background:#07697b; }
.pp-text-link { display:inline-flex; align-items:center; gap:15px; color:var(--pp-green); font-size:13px; font-weight:600; }
.pp-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.pp-hero-photo { height:440px; border-radius:16px 16px 64px 16px; overflow:hidden; }
.pp-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:55% center; }
.pp-demo { background:#fff; border-bottom:1px solid var(--pp-line); }
.pp-demo>.pp-wrap { display:flex; gap:20px; align-items:center; padding-block:13px; font-size:10px; color:var(--pp-muted); }
.pp-demo strong { color:var(--pp-green); font-weight:600; }
.pp-demo a { margin-left:auto; color:var(--pp-green); }
.pp-section-heading { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:36px; }
.pp-section-heading>p { max-width:360px; font-size:13px; }
.pp-clinical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.pp-clinical-area { border:1px solid var(--pp-line); border-radius:10px; padding:25px; background:white; }
.pp-clinical-icon,.pp-action-icon { display:grid; place-items:center; width:43px; height:43px; border-radius:10px; background:#e9f5f8; color:var(--pp-green); margin-bottom:19px; }
.pp-clinical-icon svg,.pp-action-icon svg { width:25px; height:25px; }
.pp-clinical-area p { font-size:12px; line-height:1.8; margin-top:11px; }
.pp-care-path { display:flex; align-items:center; gap:25px; padding-top:27px; margin-top:28px; border-top:1px solid var(--pp-line); }
.pp-care-path>span { font-size:9px; letter-spacing:.12em; color:var(--pp-green); font-weight:700; }
.pp-care-path p { font-size:12px; color:var(--pp-text); }
.pp-care-path i { font-style:normal; color:#8aabb9; padding-inline:17px; }
.pp-patients { background:#eff7fa; }
.pp-access-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:90px; align-items:center; }
.pp-section-lead { max-width:480px; margin-top:20px; font-size:14px; }
.pp-access-options { display:flex; gap:22px; margin-top:28px; flex-wrap:wrap; }
.pp-access-options span { display:flex; gap:8px; align-items:center; font-size:11px; color:#416578; }
.pp-access-options svg { width:18px; height:18px; color:var(--pp-green); }
.pp-access-card { padding:28px 32px; border:1px solid #d7e6ec; border-radius:12px; background:white; }
.pp-access-card p { font-size:13px; margin-top:10px; }
.pp-access-card .pp-text-link { margin-top:22px; }
.pp-staff-band { padding-block:38px; border-bottom:1px solid var(--pp-line); }
.pp-staff-band>.pp-wrap { display:flex; justify-content:space-between; align-items:center; gap:35px; }
.pp-staff-band .pp-eyebrow { margin-bottom:8px; }
.pp-staff-band p:last-child { font-size:12px; margin-top:8px; }
.pp-button-outline { background:white; color:var(--pp-green); flex-shrink:0; }
.pp-button-outline:hover { background:#eaf5f8; }
.pp-two-columns { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.pp-contact-email { display:inline-flex; gap:15px; align-items:center; color:var(--pp-green); font-weight:600; font-size:16px; margin-top:22px; overflow-wrap:anywhere; }
.pp-contact-phone { display:block; color:var(--pp-green); font-size:13px; margin-top:10px; }
.pp-support address { font-style:normal; font-size:12px; margin-top:15px; color:var(--pp-muted); white-space:pre-line; }
.pp-parent { display:block; font-size:12px; color:var(--pp-green); margin-top:20px; }
.pp-account-help { border-left:1px solid var(--pp-line); padding-left:40px; }
.pp-account-help>p { font-size:13px; margin-top:12px; }
.pp-visit-note { display:flex; align-items:start; gap:17px; margin-top:26px; padding-top:24px; border-top:1px solid var(--pp-line); }
.pp-visit-note svg { width:27px; height:27px; color:var(--pp-green); }
.pp-visit-note p { font-size:12px; }
.pp-visit-note strong { display:block; color:var(--pp-ink); margin-bottom:7px; }
.pp-footer { background:#123546; color:#dce9ee; padding-block:28px 20px; }
.pp-footer-top,.pp-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.pp-footer-top { padding-bottom:24px; }
.pp-footer-top strong { font-size:14px; }
.pp-footer-top p { font-size:12px; color:#a8c1cc; margin-top:6px; }
.pp-footer-links { font-size:12px; }
.pp-footer-bottom { border-top:1px solid #355768; padding-top:18px; font-size:10px; color:#acc6d1; }
.pp-care-directory { margin-top:25px; border-block:1px solid var(--pp-line); padding-block:18px; }
.pp-care-directory summary { cursor:pointer; font-size:13px; }
.pp-departments,.pp-doctors { display:flex; flex-wrap:wrap; gap:20px; margin-block:20px; font-size:12px; }
.pp-doctors strong,.pp-doctors span { display:block; }
.pp-care-directory>p { font-size:12px; }
@media(max-width:1000px) {
 .pp-hero-grid { gap:32px; }
 .pp-hero-photo { height:380px; }
 .pp-hero h1 { font-size:46px; }
 .pp-access-grid,.pp-two-columns { gap:45px; }
 .pp-clinical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .pp-header { height:76px; }
 .pp-menu-toggle { display:block; padding:8px 12px; border:1px solid var(--pp-line); border-radius:6px; background:white; font-size:12px; }
 .pp-header nav { display:none; position:absolute; top:76px; inset-inline:0; padding:20px 25px; background:white; border-bottom:1px solid var(--pp-line); }
 .pp-header nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:18px; }
 .pp-section-heading { flex-direction:column; align-items:start; gap:18px; }
 .pp-section-heading>p { max-width:600px; }
 .pp-care-path { flex-direction:column; align-items:start; gap:12px; }
}
@media(max-width:600px) {
 .pp-section { padding-block:46px; }
 .pp-brand { gap:12px; }
 .pp-brand img { width:100px; height:30px; }
 .pp-brand>span { padding-left:12px; font-size:11px; }
 .pp-brand small { font-size:9px; }
 .pp-hero { padding-block:35px; }
 .pp-hero-grid { grid-template-columns:1fr; gap:30px; }
 .pp-hero h1 { font-size:42px; }
 .pp-hero-lead { font-size:14px; }
 .pp-hero-actions { gap:20px; }
 .pp-hero-photo { height:285px; border-radius:12px 12px 40px 12px; }
 .pp-demo>.pp-wrap { flex-wrap:wrap; gap:7px 12px; }
 .pp-demo span { flex-basis:100%; order:3; }
 .pp-clinical-grid { grid-template-columns:1fr; gap:14px; }
 .pp-clinical-area { display:flex; gap:18px; padding:22px; }
 .pp-clinical-icon { flex-shrink:0; margin:0; }
 .pp-clinical-area p { margin-top:8px; }
 .pp-care-path p { display:flex; flex-wrap:wrap; row-gap:10px; font-size:11px; }
 .pp-care-path i { padding-inline:9px; }
 .pp-access-grid,.pp-two-columns { grid-template-columns:1fr; gap:30px; }
 .pp-access-card { padding:25px; }
 .pp-staff-band>.pp-wrap { flex-direction:column; align-items:start; gap:23px; }
 .pp-account-help { border-left:0; border-top:1px solid var(--pp-line); padding:25px 0 0; }
 .pp-footer-top,.pp-footer-bottom { flex-wrap:wrap; gap:15px; }
 .pp-contact-email { font-size:14px; }
}
@media(max-width:360px) { .pp-brand img { width:82px; } .pp-brand>span { font-size:10px; } .pp-wrap { padding-inline:20px; } .pp-hero h1 { font-size:38px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Patient tasks use the existing palette and typography. */
[hidden] { display:none !important; }
.pp-hero-note { margin-top:18px; max-width:430px; font-size:11px; }
.pp-quick-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-block:25px; border-bottom:1px solid var(--pp-line); }
.pp-quick-links>a { display:flex; align-items:center; gap:13px; padding:10px 18px; border-right:1px solid var(--pp-line); font-size:12px; font-weight:600; color:var(--pp-ink); }
.pp-quick-links>a:first-child { padding-left:0; }
.pp-quick-links>a:last-child { border-right:0; }
.pp-quick-links>a>svg { width:24px; height:24px; flex-shrink:0; color:var(--pp-green); }
.pp-quick-links small { display:block; margin-top:4px; color:var(--pp-muted); font-size:10px; font-weight:400; }
.pp-quick-links>a>span:last-child { margin-left:auto; color:var(--pp-green); }
.pp-quick-links>a:hover span:first-of-type { color:var(--pp-green); }
.pp-departments { align-items:center; gap:15px 24px; border-top:1px solid var(--pp-line); padding-top:24px; margin:28px 0 0; }
.pp-directory-label { font-size:9px; font-weight:700; letter-spacing:.1em; color:var(--pp-muted); }
.pp-departments a { color:var(--pp-green); }
.pp-directory { border-top:1px solid var(--pp-line); }
.pp-directory-search { min-width:265px; }
.pp-directory-search label { display:block; margin-bottom:8px; color:var(--pp-muted); font-size:11px; }
.pp-directory-search input { width:100%; min-height:46px; border:1px solid #b7cdd7; border-radius:7px; padding:11px 14px; font:inherit; font-size:13px; background:white; color:var(--pp-ink); }
.pp-directory-search input:focus-visible { outline:2px solid var(--pp-green); outline-offset:3px; }
.pp-doctor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.pp-doctor { display:flex; align-items:center; gap:20px; padding:25px 0; border-top:1px solid var(--pp-line); }
.pp-doctor-avatar { display:grid; place-items:center; width:64px; height:64px; flex-shrink:0; border-radius:50%; object-fit:cover; background:#e8f3f6; color:#367082; font-size:18px; font-weight:500; }
.pp-doctor p { font-size:12px; margin-top:3px; }
.pp-doctor small { font-size:11px; color:var(--pp-muted); }
.pp-directory-foot { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-top:24px; }
.pp-directory-foot p,.pp-empty { font-size:12px; }
.pp-directory-foot a { flex-shrink:0; }
.pp-empty { padding:25px 0; }
.pp-pricing { background:#f7fafb; border-top:1px solid var(--pp-line); }
.pp-pricing-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.pp-pricing-note { font-size:12px; margin-top:18px; max-width:390px; }
.pp-fee-list { padding:8px 28px 0; border:1px solid var(--pp-line); border-radius:12px; background:white; }
.pp-fee-row { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:24px 0; border-bottom:1px solid var(--pp-line); }
.pp-fee-row h3 { font-size:15px; }
.pp-fee-row p { font-size:11px; margin-top:4px; }
.pp-fee-row>strong { flex-shrink:0; font-size:19px; font-weight:600; color:var(--pp-ink); }
.pp-fee-footer { padding-block:20px; }
.pp-visit-steps { margin-top:28px; }
.pp-visit-steps>div { display:flex; align-items:baseline; gap:20px; margin-top:20px; }
.pp-visit-steps>div>span { color:var(--pp-green); font-size:12px; font-weight:600; }
.pp-visit-steps strong { display:block; color:var(--pp-ink); margin-bottom:3px; font-weight:600; }
.pp-visit-steps p { font-size:12px; }
.pp-faq { border-top:1px solid var(--pp-line); }
.pp-faq details { border-bottom:1px solid var(--pp-line); padding:20px 0; }
.pp-faq summary { display:flex; justify-content:space-between; gap:20px; align-items:center; cursor:pointer; list-style:none; font-size:14px; font-weight:600; color:var(--pp-ink); }
.pp-faq summary::-webkit-details-marker { display:none; }
.pp-faq summary span { font-size:20px; color:var(--pp-green); font-weight:400; }
.pp-faq details[open] summary span { transform:rotate(45deg); }
.pp-faq details>p { font-size:12px; margin-top:13px; padding-right:25px; }
.pp-faq .pp-text-link { margin-top:12px; font-size:12px; }
.pp-footer-links { display:flex; gap:22px; flex-wrap:wrap; }
.pp-mobile-link { margin-top:22px; }
.pp-public-stats { display:flex; gap:30px; flex-wrap:wrap; margin-top:25px; font-size:12px; }
.pp-public-stats strong { color:var(--pp-green); font-size:20px; margin-right:8px; }
.pp-noscript { padding-block:20px; font-size:13px; }
.pp-site .abm-header,.pp-site .apm-header { background:var(--pp-green); }
.pp-site .abm-dialog,.pp-site .apm-dialog { font-family:'Manrope','Segoe UI',Arial,sans-serif; border-radius:12px; }
.pp-site .abm-btn-primary,.pp-site .apm-btn-primary,.pp-site .abm-slot.abm-selected,.pp-site .abm-progress-bar { background:var(--pp-green); }
.pp-site .abm-slot.abm-selected { border-color:var(--pp-green); }
.pp-site .abm-slot { border-radius:6px; min-height:42px; }
.pp-site .abm-slot small { display:block; font-size:10px; font-weight:400; }
.pp-site .abm-close,.pp-site .apm-close { min-width:36px; min-height:36px; }
.pp-site .abm-step-title,.pp-site .apm-step-title { color:var(--pp-green); }
@media(max-width:1100px) { .pp-quick-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 0; } .pp-quick-links>a:nth-child(2n) { border-right:0; } .pp-quick-links>a:nth-child(3) { padding-left:0; } .pp-pricing-grid { gap:45px; } }
@media(max-width:600px) {
 .pp-quick-links { padding-block:18px; gap:12px; }
 .pp-quick-links>a,.pp-quick-links>a:first-child,.pp-quick-links>a:nth-child(3) { padding:8px 0; border:0; gap:9px; align-items:flex-start; }
 .pp-quick-links>a>span:last-child { display:none; }
 .pp-quick-links>a>svg { width:20px; height:20px; }
 .pp-quick-links small { font-size:10px; }
 .pp-quick-links>a { font-size:11px; }
 .pp-directory-search { min-width:0; width:100%; }
 .pp-doctor-grid,.pp-pricing-grid { grid-template-columns:1fr; gap:0; }
 .pp-doctor { padding:20px 0; gap:15px; }
 .pp-doctor-avatar { width:52px; height:52px; font-size:16px; }
 .pp-doctor h3 { font-size:15px; }
 .pp-directory-foot { flex-direction:column; align-items:start; gap:14px; }
 .pp-fee-list { margin-top:28px; padding-inline:20px; }
 .pp-fee-row { gap:14px; }
 .pp-fee-row h3 { font-size:13px; }
 .pp-fee-row>strong { font-size:16px; }
 .pp-footer-links { gap:12px 20px; }
 .pp-site .abm-body,.pp-site .apm-body { padding:20px; }
}

/* Optional hospital editorial profile, shared by provider sites. */
.pp-hospital .pp-hero { background:#eef6f8; padding-block:64px; }
.pp-hospital .pp-hero h1 { font-size:clamp(38px,4.1vw,59px); }
.pp-hospital .pp-hero-photo { position:relative; border-radius:14px; height:470px; }
.pp-hospital .pp-hero-photo figcaption { position:absolute; inset:auto 20px 20px; background:#ffffffed; padding:16px 20px; border-radius:8px; font-size:11px; color:var(--pp-muted); }
.pp-hospital .pp-hero-photo figcaption span { display:block; font-weight:700; color:var(--pp-green); font-size:14px; margin-bottom:4px; }
.pp-hospital .pp-brand img { width:155px; height:54px; }
.pp-hospital-about { border-bottom:1px solid var(--pp-line); }
.pp-hospital-image { border-radius:12px; overflow:hidden; min-width:0; }
.pp-hospital-image img { display:block; width:100%; height:360px; object-fit:cover; }
.pp-hospital-about .pp-two-columns,.pp-hospital-education .pp-two-columns { align-items:center; gap:64px; }
.pp-hospital-values { display:flex; flex-wrap:wrap; gap:18px; padding-block:25px; }
.pp-hospital-values span { display:flex; align-items:center; gap:8px; color:var(--pp-green); font-size:12px; }
.pp-hospital-values svg { width:21px; height:21px; }
.pp-hospital-education { background:#f5f9fa; }
.pp-hospital-links { margin-top:24px; border-top:1px solid var(--pp-line); }
.pp-hospital-links a { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid var(--pp-line); font-size:13px; color:var(--pp-green); font-weight:600; }
.pp-hospital-links a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:900px) { .pp-hospital .pp-hero-photo { height:360px; } .pp-hospital-about .pp-two-columns,.pp-hospital-education .pp-two-columns { gap:32px; } }
@media(max-width:600px) { .pp-hospital .pp-hero { padding-block:36px; } .pp-hospital .pp-hero-photo { height:300px; } .pp-hospital-image img { height:280px; } .pp-hospital .pp-brand img { width:112px; height:42px; } .pp-hospital .pp-brand>span { padding-left:12px; } }

.pp-doctor-book { grid-column:1 / -1; margin-top:8px; padding-top:14px; border-top:1px solid var(--pp-line); }
.pp-hospital .pp-doctor { border:1px solid var(--pp-line); border-radius:10px; padding:24px; display:grid; grid-template-columns:80px minmax(0,1fr); gap:16px; align-items:center; }
.pp-hospital .pp-doctor-avatar { width:80px; height:80px; object-fit:cover; border-radius:10px; }
@media(max-width:600px) { .pp-hospital .pp-doctor { padding:18px; grid-template-columns:64px minmax(0,1fr); } .pp-hospital .pp-doctor-avatar { width:64px; height:64px; } }
