.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:#10332f;color:#fff;padding:12px 18px;border-radius:4px;font-weight:700;text-decoration:none}
.skip-link:focus{top:12px;outline:3px solid #e2a589;outline-offset:2px}
main:focus{outline:none}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #10332f;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.hero a:focus-visible,.end-cta a:focus-visible,.interlude a:focus-visible,footer a:focus-visible,.fv-hero a:focus-visible,.fv-end a:focus-visible,.nav-cta:focus-visible{outline-color:#fff;box-shadow:0 0 0 6px #10332f}
.section-index,.reviews-label{color:#3d6050}
.office-hours>span,.location-tag{color:#3f6050}
.location-copy small{color:#4d6558}
.reviews-links small{color:#46594f}
.location-tab{color:#566f5e}
.location-tab.active{color:var(--ink)}
.location-card{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}
.location-copy,.location-copy *{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.location-card{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.location-copy h3{font-size:clamp(40px,15vw,52px)}.location-copy{padding-left:22px;padding-right:22px}.phone-link{font-size:20px}}
.footer-bottom a{color:inherit;text-decoration:underline}
.pv h2{font-size:clamp(24px,3vw,32px);margin:40px 0 12px}
.pv p,.pv li{line-height:1.75;font-size:17px;color:#2f4b43}
.pv ul{padding-left:22px}
.pv{max-width:760px}
.faq-first-visit small{color:#3d6050}
.location-tab:last-child{margin-right:0}
@media(max-width:360px){.locations .section-heading h2,.section-heading h2{font-size:clamp(34px,11.5vw,46px);overflow-wrap:break-word}}

/* Sitewide reading scale: soften oversized section headers and give body copy more room. */
body :is(p, .impl-list, .ac-treatment-links a, .fv-card ul) { font-size: max(18px, 1.06em) !important; line-height: 1.7; }
body h2:not(.hero h2) { font-size: clamp(2.55rem, 4.6vw, 5.2rem) !important; }
body h3 { font-size: clamp(1.5rem, 1.95vw, 1.7rem) !important; }
@media (max-width: 640px) {
  body h2:not(.hero h2) { font-size: clamp(2.35rem, 9.4vw, 2.65rem) !important; }
  body :is(p, .impl-list, .ac-treatment-links a, .fv-card ul) { font-size: max(17px, 1.04em) !important; }
}
.office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.office-grid .location-card{grid-template-columns:1fr;min-height:0;border-radius:28px;overflow:hidden}
.office-grid .location-copy{padding:clamp(26px,3vw,48px)}
.office-grid .location-copy h3{font-size:clamp(38px,4vw,58px);margin:24px 0 16px}
.office-grid .location-art{min-height:250px}
.office-grid .location-actions{flex-wrap:wrap;gap:16px}
.office-grid .location-copy small{display:block}
.location-switch{display:none!important}
@media(max-width:760px){.office-grid{grid-template-columns:1fr;gap:20px}.office-grid .location-art{min-height:220px}}
.office-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;align-items:stretch}
.office-layout .office-grid{grid-template-columns:1fr;gap:18px}
.office-layout .location-card{border-radius:24px}
.office-layout .location-copy{padding:clamp(22px,2.4vw,34px)}
.office-layout .location-copy h3{margin:17px 0 12px}
.office-layout .location-art.shared-office-art{min-height:100%;min-height:720px;border-radius:28px}
.office-layout .shared-office-art .art-sun{width:210px;height:210px;left:50%;top:18%}
.office-layout .shared-office-art .art-hill{bottom:-36%}
.office-layout .shared-office-art .hill-two{bottom:-58%}
.office-layout .shared-office-art span{font-size:12px;letter-spacing:.17em;bottom:38px;right:38px}
@media(max-width:760px){.office-layout{grid-template-columns:1fr}.office-layout .office-grid{gap:18px}.office-layout .location-art.shared-office-art{min-height:310px}.office-layout .shared-office-art .art-sun{width:160px;height:160px;top:12%}.office-layout .shared-office-art .art-hill{bottom:-67%}.office-layout .shared-office-art .hill-two{bottom:-88%}}

/* Office details side by side, landscape below. */
#locations .section-heading{display:block}#locations .section-heading h2{font-size:clamp(40px,4.8vw,68px);line-height:1.15}#locations .section-heading>p{max-width:560px;margin:24px 0 0;font-size:16px;line-height:1.7}
#locations .office-layout{display:block}#locations .office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}#locations .location-card{display:block;min-height:0;height:auto}#locations .location-copy{padding:clamp(26px,3vw,44px)}#locations .location-copy h3{font-size:clamp(38px,4vw,58px);margin:24px 0 16px}#locations .location-actions{flex-wrap:wrap;gap:16px}
#locations .shared-office-art{height:270px;min-height:270px;margin-top:24px;border-radius:28px}#locations .shared-office-art .art-sun{top:24px;left:50%;width:160px;height:160px}#locations .shared-office-art .art-hill{width:125%;height:220px;bottom:-140px;left:-22%;transform:rotate(-12deg)}#locations .shared-office-art .hill-two{bottom:-155px;left:25%;transform:rotate(12deg)}
@media(max-width:600px){#locations .office-grid{grid-template-columns:1fr;gap:18px}#locations .location-copy{padding:30px}#locations .section-heading h2{font-size:42px}#locations .section-heading>p{font-size:15px}#locations .shared-office-art{height:230px;min-height:230px}#locations .shared-office-art .art-sun{width:135px;height:135px;top:24px}#locations .shared-office-art .art-hill{height:190px;bottom:-110px}#locations .shared-office-art .hill-two{bottom:-130px}}

/* Keep the care explorer inside its reading width, including larger tablet text. */
#care .care-layout{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
#care .care-list,#care .care-detail,#care .section-heading>div,#care .section-heading>p{min-width:0}
#care .care-tab>span:first-child{min-width:0;overflow-wrap:break-word}
#care .care-detail{padding:clamp(28px,3.4vw,44px)}
#care .care-detail p,#care .care-detail h3{overflow-wrap:break-word}
@media(max-width:1050px){
 #care .section-heading{display:block}
 #care .section-heading>p{max-width:560px;margin-top:24px}
 #care .care-layout{grid-template-columns:minmax(0,1fr)}
 #care .care-detail{min-height:0}
 #care .care-detail h3{margin-top:65px}
 #care .care-detail p{max-width:640px}
 #care .care-link{margin-top:24px}
}

/* Expanded treatment guidance, draft for review. */
#care .care-detail h3{margin-top:70px}#care .care-info{border-top:1px solid #aac4ae;padding-top:20px;margin-top:20px}#care .care-info h4{font:700 15px Manrope,sans-serif;letter-spacing:-.02em;margin:0 0 10px}#care .care-info p{margin-bottom:0}#care .care-tags{margin-top:24px}#care .care-link{margin-top:24px;gap:20px}#care .care-layout{align-items:start}

#care .care-more-x{}
#care #care-more{margin-top:26px}
#care .care-item{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #aac4ae;padding:14px 0;color:inherit;text-decoration:none}
#care .care-item span{display:block;min-width:0}
#care .care-item b{display:block;font:700 16px Manrope,sans-serif;letter-spacing:-.02em;overflow-wrap:break-word}
#care .care-item em{display:block;font-style:normal;font-size:14px;line-height:1.5;color:#456557;margin-top:3px;overflow-wrap:break-word}
/* Care explorer: footer link matches the item rows' prominence and carries the same circle arrow as the tabs. */
#care .care-link{align-items:center;font:700 16px Manrope,sans-serif;letter-spacing:-.02em}
#care .care-link>span{font-size:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1.5px solid #8fb09a;border-radius:50%;flex:none;transition:background .2s,color .2s,border-color .2s}
#care .care-link>span::before{content:"\2192";font:700 18px/1 Manrope,sans-serif;color:#376e57}
#care .care-link:hover>span,#care .care-link:focus-visible>span{background:#376e57;border-color:#376e57}
#care .care-link:hover>span::before,#care .care-link:focus-visible>span::before{color:#fff}
#care .care-item i{font-style:normal;font-weight:700;flex:none}
#care a.care-item:hover b,#care a.care-item:focus-visible b{text-decoration:underline}
#care .care-detail h3{margin-top:60px}
#care .care-detail{min-height:0}
@media (max-width:1000px){#care .care-detail h3{margin-top:50px}}
#care .care-tab .tab-plus{font-size:0;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1.5px solid #8fb09a;border-radius:50%;flex:none;transition:background .2s,color .2s,border-color .2s}
#care .care-tab .tab-plus::before{content:"\2192";font:700 18px/1 Manrope,sans-serif;color:#376e57}
#care .care-tab.active .tab-plus,#care .care-tab:hover .tab-plus{background:#376e57;border-color:#376e57}
#care .care-tab.active .tab-plus::before,#care .care-tab:hover .tab-plus::before{color:#fff}
@media(max-width:1050px){#care .care-tab .tab-plus::before{content:"\2193"}}

/* Homepage H1 now carries the location keywords; the warm tagline stays as the large subhead. */
.hero h1.seo-h1{font:700 11px/1.4 'DM Sans',sans-serif!important;letter-spacing:.18em;text-transform:uppercase;color:#c2d9d0;margin:58px 0 0;white-space:normal}
.hero-copy>p.hero-tagline{font:600 clamp(4.1rem,6.65vw,7.8rem)/1.08 Manrope,sans-serif!important;letter-spacing:-.064em;max-width:none;color:var(--paper);margin:18px 0 25px;white-space:nowrap}
.hero-tagline em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em;color:#d0e9d7}
@media(max-width:1050px){.hero-copy>p.hero-tagline{font-size:clamp(60px,6.4vw,85px)!important}}
@media(max-width:760px){.hero-copy>p.hero-tagline{font-size:clamp(53px,11.7vw,84px)!important;margin:16px 0 20px}.hero h1.seo-h1{margin-top:48px}}
@media(max-width:420px){.hero-copy>p.hero-tagline{font-size:51px!important}}
.hero h1.seo-h1{display:flex;align-items:center;gap:12px}
.hero h1.seo-h1::before{content:"";width:28px;height:1px;background:#a8cfc0;flex:none}

/* Care explorer: tablet shows the selected topic beside its category list. */
@media (min-width: 761px) and (max-width: 1050px) {
  #care .care-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: 24px; }
  #care .care-tab { font-size: clamp(23px, 2.6vw, 28px); gap: 12px; padding: 24px 4px; }
  #care .care-tab:hover, #care .care-tab.active { padding-left: 10px; }
  #care .care-tab .tab-plus { width: 32px; height: 32px; }
  #care .care-tab .tab-plus::before { content: "\2192"; }
  #care .care-detail { padding: 28px; }
  #care .care-detail h3 { font-size: clamp(30px, 3.5vw, 37px); }
}
@media (max-width: 760px) {
  #care .care-layout { grid-template-columns: minmax(0, 1fr); }
  #care .care-tab .tab-plus::before { content: "\2192"; }
}

/* Direct treatment links above the care explorer. */
#care .treatment-browse { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin: 0 0 24px; }
#care .treatment-browse .text-link { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; padding: 10px 0; font-size: 17px; font-weight: 700; }
#care .treatment-browse .text-link span { margin-left: 0; }
@media (max-width: 600px) {
  #care .treatment-browse { flex-direction: column; align-items: stretch; gap: 0; }
  #care .treatment-browse .text-link { justify-content: space-between; }
}

/* Doctor profile disclosure. */
.pore-bio[hidden] { display: none; }
.pore-bio-toggle, .pore-bio-close { background: transparent; color: var(--ink); border: 0; border-bottom: 1px solid #a8cfc0; min-height: 44px; padding: 10px 0; }
.pore-bio-toggle { display: inline-flex; align-items: center; gap: 24px; margin-top: 4px; font-weight: 600; }
.pore-bio-toggle span { margin: 0; transition: transform .2s; }
.pore-bio-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.pore-bio-close { margin-top: 10px; }
/* Give the profile disclosure the site's filled button treatment. */
.pore-bio-toggle { border: 1px solid var(--ink); border-radius: 50px; background: var(--ink); color: var(--paper); padding: 12px 20px; gap: 20px; margin-top: 8px; font-size: 13px; font-weight: 700; }
.doctor-info .pore-bio-toggle span { color: inherit; font-size: 17px; letter-spacing: 0; }
.pore-bio-toggle:hover { background: var(--deep); }
.pore-bio-toggle:focus-visible { outline: 3px solid #679075; outline-offset: 4px; }

/* Homepage section labels: text only, with a clearer weight. */
.section-index{font-family:Manrope,sans-serif;font-size:13px;font-weight:800;letter-spacing:.14em;color:#38564b}

/* Decorative chapter and step numbers removed throughout the site. */
.impl-steps li::before{content:none;display:none}
/* Consistent, stronger labels across all pages. */
.section-index,.eyebrow,.location-tag,.care-kicker,.reviews-label,.doctor-info>span,.portrait-caption>span:first-child,.office-hours>span,.faq-first-visit small,.interlude-inner>span,.end-cta>.shell>span:first-child{
font-family:Manrope,sans-serif;font-size:15px;font-weight:800;line-height:1.5;letter-spacing:.08em;color:#254c40}
.fv-hero .eyebrow,.interlude-inner>span,.end-cta>.shell>span:first-child{color:#c7e0ce}
@media(max-width:360px){.fv-end .fv-books .button{white-space:normal;text-align:left;gap:10px}.fv-end .fv-books .button>span{flex:none}}

/* Floating make-an-appointment button with office chooser (all pages). Bottom-left keeps it clear of the chat widget bottom-right. */
.appt-fab{position:fixed;left:18px;bottom:18px;z-index:9000}
.appt-fab-btn{display:inline-flex;align-items:center;gap:12px;background:#376e57;color:#fff;border:0;border-radius:50px;padding:15px 22px;font:700 14px Manrope,sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(23,54,42,.28)}
.appt-fab-btn i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border:1.5px solid rgba(255,255,255,.65);border-radius:50%;font-size:16px;line-height:1;flex:none}
.appt-fab-btn:hover{background:#254c40}
.appt-fab-btn:focus-visible,.appt-fab-menu a:focus-visible{outline:3px solid #f4b860;outline-offset:2px}
.appt-fab-menu{position:absolute;left:0;bottom:calc(100% + 12px);background:#fff;border:1px solid #cfe0d2;border-radius:14px;box-shadow:0 14px 40px rgba(23,54,42,.22);padding:10px;min-width:290px}
.appt-fab-menu[hidden]{display:none}
.appt-fab-title{margin:4px 10px 8px;font:700 11px 'DM Sans',sans-serif;letter-spacing:.14em;color:#647f70;text-transform:uppercase}
.appt-fab-menu a{display:block;padding:12px 14px;border-radius:9px;text-decoration:none;color:#1f2f27}
.appt-fab-menu a:hover{background:#e8f1e9}
.appt-fab-menu a b{display:block;font-size:15px}
.appt-fab-menu a span{display:block;font-size:12.5px;color:#5a7264;margin-top:2px}
@media(max-width:600px){.appt-fab{left:12px;bottom:12px}.appt-fab-btn{padding:12px 16px;font-size:12.5px;gap:9px}.appt-fab-btn i{width:21px;height:21px;font-size:14px}.appt-fab-menu{min-width:min(78vw,300px)}}

/* While the office chooser is open, lift it above the chat widget layer so the transient chat teaser never covers it; closed state stays below the chat panel. */
.appt-fab:has(.appt-fab-menu:not([hidden])){z-index:9999998}

/* Circle arrows site-wide + larger way-card footer links (requested by Dr. Pore, Oct 31).
   Glyph kept visible with text presentation (U+FE0E in markup + font-variant-emoji) so iOS
   never swaps it for the blue emoji square; circle uses currentColor for dark/light contexts. */
.way-go{font-size:15px;align-items:center}
.way-go b,#care .care-item i{width:32px;height:32px}
.button>span,.nav-cta>span{width:28px;height:28px}
.text-link>span,.map-link>span,.phone-link>span,.ac-back>span,.ac-treatment-links a>span,.faq-topics a>span,.hero-emergency a>span,a[aria-label*="reviews on Google"]>span{width:26px;height:26px}
.way-go b,#care .care-item i,.button>span,.nav-cta>span,.text-link>span,.map-link>span,.phone-link>span,.ac-back>span,.ac-treatment-links a>span,.faq-topics a>span,.hero-emergency a>span,a[aria-label*="reviews on Google"]>span{font-variant-emoji:text;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid currentColor;border-radius:50%;flex:none;font-style:normal;line-height:1;font-size:15px}
.map-link>span,.phone-link>span,.ac-back>span,.ac-treatment-links a>span,.faq-topics a>span,.hero-emergency a>span,a[aria-label*="reviews on Google"]>span{margin-left:8px}

/* Larger same-day emergency sentence in the hero (requested by Dr. Pore, Oct 31). */
.hero-emergency{font-size:15px}
