/* Nearby care guides and the visible nearby-care links on practice pages. */
.nc-page main [id], #nearby-care { scroll-margin-top:132px; }
.nc-page :is(a,button,summary):focus-visible { outline:3px solid #84bf97; outline-offset:5px; }
.nc-hero .breadcrumb { flex-wrap:wrap; margin-bottom:28px; color:#d3e9dc; opacity:1; }
.nc-hero .breadcrumb span[aria-current] { opacity:1; }
.nc-hero-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:56px; align-items:center; }
.nc-hero h1 { font-size:clamp(2rem,3.3vw,3rem); letter-spacing:-.025em; }
.nc-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.nc-hero .btn-primary, .nc-location-grid .btn-primary { background:#fff; color:var(--green-dark); border-color:#fff; }
.nc-hero .btn-primary:hover, .nc-location-grid .btn-primary:hover { background:var(--green-light); border-color:var(--green-light); }
.nc-hero p.nc-hero-note { font-size:.78rem; color:#d3e9dc; margin-top:19px; }
.nc-label { display:block; color:var(--green); font-size:.72rem; font-weight:600; letter-spacing:.065em; text-transform:uppercase; margin-bottom:13px; }
.nc-visit-card { background:#fff; color:var(--text); border-radius:var(--radius-lg); padding:32px; box-shadow:0 12px 36px rgb(12 40 26 / .15); }
.nc-visit-card h2 { font-size:1.65rem; color:var(--green-dark); margin-bottom:24px; }
.nc-visit-card dl > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:15px; padding:14px 0; border-top:1px solid var(--border); font-size:.84rem; }
.nc-visit-card dt { color:var(--text-muted); }
.nc-visit-card dd { font-weight:500; }
.nc-hero .nc-visit-card > p { font-size:.82rem; line-height:1.8; color:var(--text-mid); margin:14px 0 0; }
.nc-jump { background:var(--green-pale); border-bottom:1px solid var(--border); }
.nc-jump .container { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; padding-block:18px; font-size:.8rem; }
.nc-jump span { color:var(--text-muted); margin-right:8px; }
.nc-jump a { color:var(--green-dark); font-weight:500; padding-block:5px; }
.nc-jump a:hover { text-decoration:underline; }
.nc-page .section h2, .nc-overview h2 { margin-bottom:25px; }
.nc-page .section p, .nc-overview p { font-size:.95rem; line-height:1.85; color:var(--text-mid); margin-top:17px; }
.nc-page .section a:not(.btn), .nc-overview a { color:var(--green); text-decoration:underline; text-underline-offset:3px; }
.nc-page .nc-text-link { display:inline-block; font-size:.9rem; font-weight:500; margin-top:18px; }
.nc-reading { max-width:900px; }
.nc-page .section p + .nc-two, .nc-page .section p + .nc-three { margin-top:26px; }
.nc-two > div > h3:not(:first-child) { margin-top:28px; }
.nc-intro, .nc-overview > .container > p { max-width:900px; margin-bottom:30px; }
.nc-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; align-items:start; }
.nc-three, .nc-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.nc-card { border:1px solid var(--border); border-radius:var(--radius-lg); background:#fff; padding:28px; }
.nc-card h3, .nc-note h3 { font-size:1.22rem; margin-bottom:13px; }
.nc-page .nc-card p, .nc-overview .nc-card p { font-size:.88rem; }
.nc-card > a { display:inline-block; margin-top:18px; font-size:.88rem; font-weight:500; }
.nc-note { padding:30px; background:var(--green-pale); border:1px solid var(--border); border-radius:var(--radius-lg); }
.nc-page .nc-note p { font-size:.87rem; }
.nc-checklist { margin-top:20px; padding-left:20px; color:var(--text-mid); font-size:.88rem; line-height:1.8; }
.nc-checklist li + li { margin-top:12px; }
.nc-resource { margin-top:30px; border-left:4px solid var(--green); background:#fff; padding:26px 30px; border-radius:0 var(--radius) var(--radius) 0; }
.nc-resource h3 { font-size:1.24rem; }
.nc-alert { margin-top:30px; padding:26px 30px; border:1px solid #e2c4b2; background:#fff8f2; border-radius:var(--radius-lg); }
.nc-alert h3, .nc-card--urgent h3 { color:#803b22; }
.nc-card--urgent { background:#fff8f2; border-color:#e2c4b2; }
.nc-page p.nc-source { font-size:.76rem; line-height:1.8; margin-top:20px; color:#59645e; }
.nc-page p.nc-source a { color:var(--green-dark); }
.nc-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin:18px 0 30px; }
.nc-step { display:inline-flex; align-items:center; justify-content:center; width:45px; height:45px; border-radius:50%; background:var(--green-light); color:var(--green); font-size:.9rem; font-weight:600; margin-bottom:20px; }
.nc-steps h3 { font-size:1.2rem; }
.nc-page .nc-steps p { font-size:.88rem; }
.nc-faq-list { margin-top:28px; border-top:1px solid var(--border); }
.nc-faq { border-bottom:1px solid var(--border); }
.nc-faq summary { cursor:pointer; font-size:.98rem; font-weight:500; padding:22px 34px 22px 0; position:relative; list-style:none; color:var(--green-dark); }
.nc-faq summary::-webkit-details-marker { display:none; }
.nc-faq summary::after { content:'+'; position:absolute; right:4px; top:21px; font-size:1.2rem; }
.nc-faq[open] summary::after { content:'-'; }
.nc-faq > div { padding:0 36px 22px 0; }
.nc-page .nc-faq p { font-size:.9rem; margin-top:0; }
.nc-location-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:70px; align-items:start; }
.nc-page .nc-location-grid h2 { color:#fff; }
.nc-page .nc-location-grid p { color:#e0eee5; }
.nc-page .nc-location-grid .nc-booking-note { font-size:.78rem; margin-top:22px; }
.nc-location { font-style:normal; padding:30px; background:rgb(255 255 255 / .08); border:1px solid rgb(255 255 255 / .22); border-radius:var(--radius-lg); }
.nc-location strong { display:block; font-size:1.05rem; margin-bottom:16px; }
.nc-page .nc-location a:not(.btn) { color:#fff; font-size:.95rem; line-height:1.8; }
.nc-location dl { margin-top:22px; }
.nc-location dl > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 18px; padding:11px 0; border-top:1px solid rgb(255 255 255 / .2); font-size:.8rem; }
.nc-page .nc-location p { font-size:.76rem; }
.nc-reference { padding:24px 0; background:var(--green-pale); }
.nc-reference p { color:var(--text-muted); font-size:.73rem; line-height:1.8; max-width:950px; }
.nc-overview .eyebrow { display:block; }
@media(max-width:900px) {
 .nc-hero-grid { gap:30px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
 .nc-three, .nc-overview-grid, .nc-steps { gap:16px; }
 .nc-card, .nc-note, .nc-visit-card { padding:24px; }
 .nc-location-grid { gap:36px; }
}
@media(max-width:700px) {
 .nc-hero-grid, .nc-two, .nc-three, .nc-steps, .nc-location-grid, .nc-overview-grid { grid-template-columns:1fr; }
 .nc-hero h1 { font-size:2rem; }
 .nc-visit-card { margin-top:8px; }
 .nc-hero .breadcrumb { margin-bottom:24px; font-size:.74rem; gap:8px; }
 .nc-jump .container { gap:8px 18px; padding-block:15px; }
 .nc-jump span { width:100%; }
 .nc-two, .nc-location-grid { gap:26px; }
 .nc-resource, .nc-alert { padding:24px; }
 .nc-actions .btn { width:100%; text-align:center; justify-content:center; }
 .nc-faq summary { font-size:.9rem; }
 .nc-faq > div { padding-right:8px; }
 .nc-location { padding:24px; }
}
