.patient-guide { --pg-line:#dce5e8; --pg-teal:#126f72; }
.patient-guide button,.patient-guide input { font:inherit; }
.patient-guide button { cursor:pointer; }
.patient-guide a,.patient-guide button,.patient-guide summary { -webkit-tap-highlight-color:transparent; }
.patient-guide summary:focus-visible,.patient-guide input:focus-visible,.pg-table-scroll:focus-visible { outline:3px solid #168d8c; outline-offset:4px; }
/* The full-width hero reuses medical-index-hero from renewal.css without a visual override. */
.pg-page-nav { display:flex; flex-wrap:wrap; border-block:1px solid var(--pg-line); gap:4px 22px; padding:10px 0; margin:28px 0 48px; }
.pg-page-nav a { display:flex; align-items:center; min-height:44px; color:#5b7182; font-size:14px; font-weight:550; }
.pg-page-nav a[aria-current] { color:#123e60; font-weight:750; box-shadow:inset 0 -2px #c26a3b; }
.pg-hours-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pg-hour { padding:32px; border-radius:20px 48px 20px 20px; background:#fff; border:1px solid var(--pg-line); }
.pg-hour p { margin:0 0 20px; font-size:16px; font-weight:650; }
.pg-hour strong { display:block; font-size:clamp(24px,2.5vw,33px); font-weight:700; white-space:nowrap; letter-spacing:-.04em; }
.pg-hour strong span { color:#92a5ae; font-weight:350; }
.pg-hour small { display:block; margin-top:16px; color:#5b7182; font-size:13px; line-height:1.7; }
.pg-hour.is-cream { background:#f4efe5; border-color:#e7decf; }
.pg-notice { margin-top:24px; padding:24px 30px; border-left:3px solid #c26a3b; border-radius:0 14px 14px 0; background:#f1f4f3; }
.pg-notice strong { font-size:17px; font-weight:700; }
.pg-notice p { margin:10px 0 0; color:#536e80; font-size:15px; line-height:1.85; word-break:keep-all; }
.pg-anchor-chips { display:flex; flex-wrap:wrap; gap:9px; }
.pg-anchor-chips a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 22px; border:1px solid #c5d5db; border-radius:30px; color:#123e60; background:#fff; font-size:15px; }
.pg-anchor-chips a:hover { background:#eaf2f2; border-color:currentColor; }
.pg-schedules { display:grid; gap:22px; margin-top:28px; }
.pg-schedule { display:grid; grid-template-columns:210px minmax(0,1fr); align-items:center; gap:30px; padding:32px; border:1px solid var(--pg-line); border-radius:22px; background:#fff; }
.pg-schedule h3 { margin:12px 0 20px; font-size:28px; font-weight:700; letter-spacing:-.04em; }
.pg-schedule h3 small { font-size:14px; font-weight:500; margin-left:7px; color:#5b7182; }
.pg-schedule .visit-text-link { font-size:13px; }
.pg-table-scroll { overflow-x:auto; min-width:0; }
.pg-schedule-table { width:100%; min-width:585px; border-collapse:collapse; text-align:center; font-size:14px; }
.pg-schedule-table caption { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
.pg-schedule-table th,.pg-schedule-table td { padding:17px 9px; border-bottom:1px solid var(--pg-line); }
.pg-schedule-table thead th { background:#f0f5f6; color:#476477; font-size:13px; font-weight:600; }
.pg-schedule-table tbody th { font-weight:650; color:#5b7182; }
.pg-status { display:inline-block; line-height:1.5; font-size:13px; word-break:keep-all; }
.pg-status.is-clinic { color:#126f72; font-weight:700; }
.pg-status.is-surgery { color:#164e79; font-weight:650; }
.pg-status.is-closed { color:#887d75; }
.pg-status.is-special { color:#8b582c; }
.pg-steps { display:grid; gap:18px; padding:0; margin:0; list-style:none; }
.pg-steps.is-two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pg-steps.is-three-columns { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pg-steps > li { display:flex; align-items:flex-start; gap:22px; min-width:0; padding:30px; border:1px solid var(--pg-line); border-radius:18px; background:#fff; }
.pg-step-number { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid #d5dedf; border-radius:13px; color:#a75b34; background:#fbf8f2; font-size:13px; font-weight:700; }
.pg-steps h3 { margin:4px 0 12px; color:#123e60; font-size:21px; font-weight:700; line-height:1.5; letter-spacing:-.025em; }
.pg-steps p { margin:0; color:#5b7182; font-size:16px; line-height:1.85; word-break:keep-all; }
.pg-related { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px 24px; margin-top:30px; padding:25px 30px; border:1px solid #d5e3e7; border-radius:16px; background:#eef4f5; }
.pg-related p { margin:0; color:#536e80; font-size:16px; line-height:1.7; }
.pg-related > div { display:flex; flex-wrap:wrap; gap:24px; }
.pg-related a { color:#123e60; font-size:15px; font-weight:700; line-height:1.7; }
.pg-related a:hover { text-decoration:underline; text-underline-offset:5px; }
.pg-related span { margin-left:12px; color:#a75b34; }
.pg-care-hero { display:grid; grid-template-columns:1fr 1fr; border-radius:24px 70px 24px 24px; overflow:hidden; background:#fff; border:1px solid var(--pg-line); }
.pg-care-hero > img { width:100%; height:100%; min-height:480px; object-fit:cover; }
.pg-care-hero > div { padding:45px; align-self:center; }
.pg-care-hero h2 { margin:20px 0 24px; font-size:36px; line-height:1.45; letter-spacing:-.04em; font-weight:700; }
.pg-care-hero p:not(.visit-eyebrow) { color:#5b7182; font-size:17px; line-height:1.95; word-break:keep-all; }
.pg-care-since { display:inline-block; margin-top:18px; padding-top:18px; border-top:1px solid var(--pg-line); font-size:13px; color:#657e8d; }
.pg-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pg-benefit-grid .visit-info-card { padding:30px; }
.pg-benefit-grid h3 { margin-top:24px; font-size:22px; }
.pg-booking-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:24px; }
.pg-booking-primary { padding:44px; background:#eef4f5; border:1px solid #cfdee4; border-radius:24px 64px 24px 24px; }
.pg-booking-grid h2 { margin:18px 0 22px; color:#123e60; font-size:32px; font-weight:750; letter-spacing:-.035em; }
.pg-booking-primary > p:not(.visit-eyebrow) { font-size:18px; line-height:1.9; color:#526d7e; margin-bottom:26px; }
.pg-booking-check { display:block; width:fit-content; margin-top:26px; color:#123e60; font-size:14px; line-height:1.8; border-bottom:1px solid #a9c0cc; padding-bottom:6px; }
.pg-booking-phone > a { display:block; margin:10px 0 30px; font-size:clamp(28px,3vw,40px); font-weight:750; color:#123e60; letter-spacing:-.035em; }
.pg-booking-phone dl { margin:0; }
.pg-booking-phone dl div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--pg-line); font-size:16px; }
.pg-booking-phone dt { color:#5b7182; }.pg-booking-phone dd { margin:0; font-weight:600; }
.pg-booking-phone > p:last-child { font-size:13px !important; margin-bottom:0 !important; }
.pg-bullets { padding:0 0 0 20px; margin:0; }
.pg-bullets li { color:#536e80; font-size:16px; line-height:1.9; padding-left:4px; word-break:keep-all; }
.pg-bullets li + li { margin-top:10px; }
.pg-bullets li::marker { color:#b76337; }
.pg-document-process { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pg-document-process .pg-steps { margin-top:25px; gap:22px; }
.pg-document-process .pg-steps > li { padding:0; border:0; gap:20px; }
.pg-document-process .pg-steps h3 { font-size:19px; margin-bottom:7px; }
.pg-document-process .pg-steps p { font-size:15px; }
.pg-download-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.pg-download-grid a { display:flex; align-items:center; gap:22px; padding:28px; border:1px solid #c7d9df; border-radius:18px; background:#fff; color:#123e60; }
.pg-download-grid a:hover { background:#edf4f5; border-color:#123e60; }
.pg-file-type { display:grid; place-items:center; flex-shrink:0; width:45px; height:58px; border:1px solid #bacdd6; border-radius:5px 14px 5px 5px; font-size:11px; font-weight:700; }
.pg-download-grid h3 { font-size:18px; line-height:1.5; font-weight:650; margin:0 0 8px; word-break:keep-all; }
.pg-download-grid p { margin:0; color:#5b7182; font-size:13px; }
.pg-download-grid a > span:last-child { margin-left:auto; font-size:23px; color:#a75b34; }
.pg-section-description { color:#5b7182; margin:0 0 26px; font-size:16px; line-height:1.8; }
.pg-document-accordions { border-top:1px solid #a9bec9; }
.pg-document-accordions details { background:#fff; border-bottom:1px solid var(--pg-line); }
.pg-document-accordions summary { display:flex; align-items:center; gap:24px; list-style:none; cursor:pointer; padding:26px 30px; }
.pg-document-accordions summary::-webkit-details-marker,.pg-fee-item summary::-webkit-details-marker { display:none; }
.pg-document-accordions summary > span { color:#a75b34; font-size:13px; }
.pg-document-accordions h3 { margin:0; font-size:20px; font-weight:650; line-height:1.6; word-break:keep-all; }
.pg-document-accordions summary b { margin-left:auto; color:#168d8c; font-size:24px; font-weight:400; }
.pg-document-accordions details[open] summary b,.pg-fee-item[open] .pg-plus { transform:rotate(45deg); }
.pg-document-body { padding:0 65px 32px; }
.pg-document-body > p { color:#536e80; font-size:16px; line-height:1.8; margin:0 0 18px; }
.pg-document-body .pg-small-note { font-size:14px; background:#f2f6f5; padding:18px; border-radius:10px; margin:22px 0 0; }
.pg-document-body h4 { font-size:17px; font-weight:700; margin:25px 0 14px; }
.pg-fee-controls { padding:32px; border:1px solid var(--pg-line); border-radius:20px; background:#fff; }
.pg-fee-controls label { display:block; margin-bottom:12px; font-size:15px; font-weight:650; }
.pg-fee-input { display:flex; gap:10px; }
.pg-fee-input input { min-width:0; flex:1; height:56px; border:1px solid #a9bec9; border-radius:10px; background:#fff; color:#123e60; padding:0 18px; font-size:17px; }
.pg-fee-input button { min-width:100px; border:1px solid #123e60; border-radius:10px; background:#123e60; color:#fff; font-size:17px; font-weight:650; }
.pg-fee-filters { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.pg-fee-filters button { min-height:44px; border:1px solid #c7d9df; border-radius:30px; padding:10px 18px; color:#476477; background:#fff; font-size:15px; }
.pg-fee-filters button span { font-size:12px; margin-left:7px; }
.pg-fee-filters button[aria-pressed="true"] { color:#126f72; border-color:currentColor; background:#e5f1ee; font-weight:700; }
.pg-fee-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:20px; color:#5b7182; font-size:13px; }
.pg-fee-toolbar p { margin:0; line-height:1.7; }
.pg-fee-toolbar button { padding:10px 0; min-height:44px; border:0; background:none; color:#123e60; flex-shrink:0; }
.pg-fee-result-line { display:flex; justify-content:space-between; gap:20px; margin:26px 0 20px; color:#5b7182; font-size:14px; line-height:1.7; }
.pg-fee-result-line p { margin:0; overflow-wrap:anywhere; }.pg-fee-result-line > span { flex-shrink:0; }
.pg-fee-group { margin-bottom:30px; }
.pg-fee-group h2 { margin:25px 0 18px; font-size:24px; font-weight:700; }
.pg-fee-item { border:1px solid var(--pg-line); border-radius:14px; background:#fff; overflow:hidden; margin-top:10px; }
.pg-fee-item summary { list-style:none; display:flex; gap:25px; align-items:center; padding:24px 28px; cursor:pointer; }
.pg-fee-item summary:hover { background:#f3f7f6; }
.pg-fee-item-heading { flex:1; min-width:0; }.pg-fee-item-heading small { display:block; font-size:12px; color:#6d838e; line-height:1.6; }
.pg-fee-item h3 { color:#123e60; margin:8px 0; font-size:18px; font-weight:650; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
.pg-fee-code { font-size:11px; color:#6d838e; overflow-wrap:anywhere; }
.pg-fee-prices { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:14px 24px; max-width:360px; text-align:right; }
.pg-fee-prices small { display:block; margin-bottom:5px; font-size:12px; color:#6d838e; }
.pg-fee-prices strong { display:block; color:#123e60; font-size:22px; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.pg-fee-prices em { font-size:13px; font-weight:400; margin-left:4px; font-style:normal; }
.pg-plus { color:#168d8c; font-size:24px; font-weight:350; flex-shrink:0; width:20px; text-align:center; }
.pg-fee-detail { padding:0 28px 28px; }.pg-fee-detail dl { display:grid; grid-template-columns:1fr 1fr; margin:0; border-top:1px solid var(--pg-line); }
.pg-fee-detail dl > div { display:grid; grid-template-columns:125px 1fr; gap:12px; padding:15px 18px; border-bottom:1px solid var(--pg-line); background:#f6f8f7; }
.pg-fee-detail .is-full { grid-column:1 / -1; }.pg-fee-detail dt { color:#657b87; font-size:13px; line-height:1.7; }
.pg-fee-detail dd { margin:0; color:#31546b; font-size:14px; line-height:1.8; word-break:keep-all; overflow-wrap:anywhere; }
.pg-fee-more { display:flex; margin:26px auto 0; }.pg-fee-empty { text-align:center; border:1px solid var(--pg-line); border-radius:16px; padding:40px; background:#fff; }
.pg-fee-empty strong { font-size:22px; }.pg-fee-empty p { margin:20px 0; color:#5b7182; line-height:1.8; }
.pg-fee-empty button { border:1px solid #123e60; color:#123e60; background:#fff; padding:12px 20px; border-radius:8px; min-height:44px; }
@media(max-width:1050px) {
 .pg-hours-grid { gap:12px; }.pg-hour { padding:25px; }
 .pg-schedule { grid-template-columns:1fr; gap:22px; }.pg-schedule > header { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; }
 .pg-schedule h3 { margin:0; }.pg-schedule header > a { margin-left:auto; }
 .pg-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pg-steps.is-three-columns { grid-template-columns:1fr; }.pg-care-hero > div { padding:30px; }.pg-care-hero h2 { font-size:29px; }
}
@media(max-width:760px) {
 .pg-page-nav { gap:3px 17px; margin:20px 0 32px; }.pg-page-nav a { font-size:12px; }
 .pg-hours-grid,.pg-booking-grid,.pg-care-hero,.pg-document-process,.pg-download-grid { grid-template-columns:1fr; }
 .pg-hour { padding:26px; }.pg-hour p { margin-bottom:14px; }.pg-hour strong { font-size:30px; }
 .pg-notice { padding:22px; }.pg-notice strong { font-size:16px; }
 .pg-schedule { padding:23px 18px; border-radius:16px; }.pg-schedule > header { display:block; }.pg-schedule h3 { margin:8px 0 13px; font-size:26px; }
 .pg-schedule-table { min-width:560px; }.pg-table-scroll { padding-bottom:8px; }
 .pg-steps.is-two-columns,.pg-benefit-grid { grid-template-columns:1fr; }.pg-steps > li { padding:24px; gap:17px; }.pg-steps h3 { font-size:19px; }.pg-steps p { font-size:15px; }
 .pg-related { padding:22px; }.pg-related p { font-size:15px; }
 .pg-care-hero { border-radius:20px 50px 20px 20px; }.pg-care-hero > img { min-height:0; height:260px; }.pg-care-hero > div { padding:28px; }.pg-care-hero h2 { font-size:30px; }.pg-care-hero p:not(.visit-eyebrow) { font-size:16px; }
 .pg-booking-primary { padding:30px; }.pg-booking-grid h2 { font-size:28px; }.pg-booking-primary > p:not(.visit-eyebrow) { font-size:16px; }
 .pg-bullets li { font-size:15px; }.pg-download-grid a { padding:22px; gap:17px; }.pg-download-grid h3 { font-size:16px; }
 .pg-document-accordions summary { padding:23px 18px; gap:16px; }.pg-document-accordions h3 { font-size:17px; }.pg-document-body { padding:0 22px 25px; }
 .pg-fee-controls { padding:24px 20px; }.pg-fee-input button { min-width:64px; font-size:15px; }.pg-fee-input input { font-size:16px; padding:0 12px; }
 .pg-fee-filters { gap:7px; }.pg-fee-filters button { padding:9px 13px; font-size:13px; }.pg-fee-toolbar { align-items:flex-start; gap:12px; font-size:12px; }.pg-fee-toolbar p { padding-top:10px; }
 .pg-fee-result-line { font-size:12px; }.pg-fee-item summary { display:grid; grid-template-columns:1fr 20px; padding:20px; gap:16px; }.pg-fee-item-heading { grid-column:1; }.pg-plus { grid-column:2;grid-row:1 / 3; }
 .pg-fee-item h3 { font-size:17px; }.pg-fee-prices { grid-column:1; justify-content:flex-start; text-align:left; }.pg-fee-prices strong { font-size:20px; }
 .pg-fee-detail { padding:0 18px 22px; }.pg-fee-detail dl { grid-template-columns:1fr; }.pg-fee-detail dl > div { grid-template-columns:90px 1fr; padding:12px; }
}
