/* Shared semantic type scale, loaded after page-specific presentation. */
.legacy-contact-page a.legacy-map-address { text-decoration: underline; text-underline-offset: 3px; }
.legacy-contact-page .legacy-map-directions { margin: 16px 0 24px; }
.legacy-skip-link { position: fixed; top: -100px; left: 16px; z-index: 99999; padding: 12px 20px; background: #faf7f0; color: #292822; }
.legacy-skip-link:focus { top: 12px; }
.legacy-submenu-toggle { width: 32px; min-height: 44px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.legacy-nav-item:has(.legacy-submenu-toggle) > .legacy-nav-link::after { display: none; }
.legacy-article-content p.legacy-article-author { color: #655a48; margin: 0 0 24px; }
.legacy-article-toc { border-block: 1px solid #d7c9b4; margin: 32px 0; padding: 18px 0; }
.legacy-article-toc summary { cursor: pointer; font-weight: 600; }
.legacy-article-toc li { margin: 10px 0; }
.legacy-article-toc a { text-decoration: underline; text-underline-offset: 3px; }
.legacy-article-content h2[id] { scroll-margin-top: 130px; }
.legacy-article-page { padding-top: 110px; }
.legacy-article-content { max-width: 880px; }
.legacy-article-content h1 { margin: 24px 0 32px; }
.legacy-article-cover { width: 100%; height: auto; display: block; margin-bottom: 40px; }
.article-table-scroll { max-width: 100%; overflow-x: auto; margin: 24px 0; }
.article-table-scroll table { width: 100%; border-collapse: collapse; font: 400 16px/1.5 var(--legacy-font); background: #faf7f0; }
.article-table-scroll :is(th,td) { padding: 12px; border: 1px solid #d7c9b4; text-align: left; overflow-wrap: anywhere; }
.article-table-scroll thead { background: #eee6d9; }
.legacy-article-content h2 { margin: 48px 0 22px; }
.legacy-article-content p + p { margin-top: 18px; }
.legacy-article-content .legacy-button { margin-top: 32px; }
.legacy-article-content p a.legacy-inline-link { color: #795e36; text-decoration: underline; text-underline-offset: 3px; }
.legacy-article-content p a.legacy-inline-link:hover { color: #49381f; }
.legacy-service-description { margin: 24px 0; }
.legacy-service-description p + p { margin-top: 22px; }
.legacy-category-faq h2 { margin-bottom: 32px; }
.legacy-category-faq .legacy-copy { margin-top: 28px; }
.legacy-article-content .legacy-back-blog {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid #ac8d60;
  border-radius: 4px;
  background: #faf7f0;
  color: #514b40;
  font: 400 14px/1.4 var(--legacy-font);
  text-decoration: none;
}
.legacy-article-content .legacy-back-blog:hover { background: #eee6d9; }
.legacy-article-content .legacy-back-blog:focus-visible { outline: 2px solid #795e36; outline-offset: 3px; }
body.legacy-site .legacy-blog-grid .legacy-post-card h2 { font-size: 32px !important; margin-bottom: 18px; }
.legacy-blog-grid .legacy-post-card img { width: 100%; height: auto; object-fit: contain; }
body.legacy-site {
  --type-display: 64px;
  --type-section: 48px;
  --type-subheading: 24px;
  --type-card: 20px;
  --type-body: 17px;
  --legacy-body-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --legacy-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
body.legacy-site main h1,
body.legacy-site main h2 {
  font-family: 'Ccoco Editorial', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  line-height: 1.08;
}
body.legacy-site main h1 { font-size: var(--type-display) !important; }
body.legacy-site main h2 { font-size: var(--type-section) !important; }
body.legacy-site main h3 { font: 400 var(--type-subheading)/1.35 var(--legacy-font) !important; }
body.legacy-site main h4 { font: 600 var(--type-card)/1.4 var(--legacy-font) !important; }
body.legacy-site main :is(p,li) { font-family: var(--legacy-font) !important; font-size: var(--type-body) !important; line-height: 1.65; }
body.legacy-site main p a { font-family: inherit !important; font-size: inherit !important; font-weight: 400 !important; line-height: inherit; }
body.legacy-site main :is(.legacy-post-card,.legacy-qr-card,.legacy-location-card) h3 { font-size: var(--type-card) !important; }
body.legacy-site main .legacy-visit-subheading { font-size: var(--type-body) !important; line-height: 1.5; }
body.legacy-site main :is(.legacy-eyebrow,.legacy-hero-kicker) { font-size: 14px !important; }
body.legacy-site main :is(.legacy-tile-label,.legacy-treatment-card strong) { font-size: var(--type-card) !important; line-height: 1.3; }
body.legacy-site main .legacy-treatment-card span span { font: 400 16px/1.6 var(--legacy-font); }
body.legacy-site main :is(.legacy-faq-list summary,.legacy-contact-action strong) { font-size: var(--type-body); }
body.legacy-site .legacy-footer :is(p,li,a) { font-family: var(--legacy-font) !important; font-size: 14px; line-height: 1.65; }
/* Keep type sizes constant; narrow screens reflow rather than shrink text. */
body.legacy-site { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.legacy-site main :is(h1,h2,h3,h4,p,li) { overflow-wrap: anywhere; }
body.legacy-site .legacy-nav a { font-size: 14px !important; }
body.legacy-site .legacy-treatment-directory-title { font-size: 20px !important; }
body.legacy-site .legacy-number-row span:last-child { font-size: 16px !important; }
body.legacy-site .editorial-card-action { font-size: 12px !important; }
body.legacy-site .legacy-button { font-size: 16px !important; white-space: normal; }
body.legacy-site .legacy-home-hero-button { font-size: 13px !important; white-space: normal; }
body.legacy-site .legacy-contact-action span { font-size: 13px !important; }
body.legacy-site .legacy-contact-action strong { font-size: 17px !important; overflow-wrap: anywhere; }
@media(max-width:760px) {
  body.legacy-site .legacy-home-hero { height: auto; min-height: 100svh; }
  body.legacy-site .legacy-home-hero h1 { max-width: 100%; }
  body.legacy-site .legacy-contact-action { flex-wrap: wrap; }
}

/* Blog index: open editorial columns, with a shared reading-link baseline. */
.legacy-blog-page .legacy-section {
  background: #faf7f0 !important;
  padding: 56px 5% 88px;
}
.legacy-blog-page .legacy-blog-grid {
  width: 100%;
  max-width: none;
  margin: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 72px 36px;
}
body.legacy-site .legacy-blog-page .legacy-post-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #292822;
  text-decoration: none;
}
.legacy-blog-page .legacy-post-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1746 / 901;
  object-fit: contain;
  border-radius: 0;
}
.legacy-blog-page .legacy-post-card div {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 26px 0 0;
}
body.legacy-site .legacy-blog-page .legacy-post-card h2 {
  font-size: 32px !important;
  line-height: 1.18;
  margin: 0 0 18px;
}
.legacy-blog-page .legacy-post-card p { margin: 0 0 32px; }
.legacy-blog-page .legacy-post-card span {
  margin-top: auto;
  padding-top: 16px;
  color: #795e36;
  font: 600 17px/1.5 var(--legacy-font);
}
.legacy-blog-page .legacy-post-card:hover span { text-decoration: underline; text-underline-offset: 5px; }
.legacy-blog-page .legacy-post-card:focus-visible { outline: 2px solid #795e36; outline-offset: 8px; }
@media(min-width:1001px) {
  .legacy-blog-page .legacy-post-card:nth-child(3n + 4)::before {
    content: "";
    position: absolute;
    top: -36px;
    left: 0;
    width: calc(300% + 72px);
    border-top: 1px solid #d7c9b4;
  }
}
@media(min-width:601px) and (max-width:1000px) {
  .legacy-blog-page .legacy-post-card:nth-child(2n + 3)::before {
    content: "";
    position: absolute;
    top: -36px;
    left: 0;
    width: calc(200% + 36px);
    border-top: 1px solid #d7c9b4;
  }
}
@media(max-width:1000px) {
  .legacy-blog-page .legacy-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width:600px) {
  .legacy-blog-page .legacy-section { padding: 32px 24px 56px; }
  .legacy-blog-page .legacy-blog-grid { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .legacy-blog-page .legacy-post-card + .legacy-post-card::before {
    content: "";
    position: absolute;
    top: -24px;
    left: 0;
    width: 100%;
    border-top: 1px solid #d7c9b4;
  }
}
