/* Local QA remediations. Preserve the pastel surfaces, use readable heading ink. */
#content { width:100%; max-width:none; outline:none; }
body .site-main.elementor-page-content { width:100%;max-width:none;padding-inline:0; }
.elementor .elementor-heading-title.tlc-mint-ink { color:#315e51 !important; }
.elementor .elementor-heading-title.tlc-peach-ink { color:#96522e !important; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:3px solid #164b99 !important;outline-offset:3px; }
.a11y-panel { width:min(300px,calc(100vw - 66px)) !important; }
.tlc-lightbox { position:fixed !important;inset:0 !important;margin:auto !important;box-sizing:border-box;width:96vw;max-width:1400px;height:94dvh;max-height:94dvh;padding:16px;border:0;border-radius:8px;background:#102822;color:#fff;z-index:2147483647;overflow:auto; }
.tlc-lightbox::backdrop { background:#001c18e8; }
.tlc-lightbox-toolbar { display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap; }
.tlc-photo-counter { margin-right:auto; }
.tlc-lightbox button { background:#fff;color:#173e32;border:2px solid #fff;border-radius:6px;min-height:44px;min-width:44px;padding:8px 14px;cursor:pointer;font:16px/1.4 Arial,sans-serif; }
.tlc-lightbox button:focus-visible { outline-color:#ffd290 !important; }
.tlc-lightbox-stage { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:75%; }
.tlc-lightbox figure { margin:16px 0;flex:1;min-width:0;overflow:auto;text-align:center; }
.tlc-lightbox img { max-width:100%;max-height:68dvh;width:auto;height:auto;object-fit:contain; }
.tlc-lightbox img.tlc-photo-zoomed { max-width:none;max-height:none;width:150%; }
.tlc-lightbox figcaption { color:#fff;font:16px/1.5 Arial,sans-serif;margin-top:8px; }
.tlc-lightbox [hidden] { display:none !important; }
.tlc-carousel-controls { display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0;position:relative;z-index:2; }
.tlc-carousel-controls button { min-width:32px;min-height:32px;border:1px solid #315e51;background:#fff;color:#315e51;border-radius:6px;font:14px/1.3 Arial,sans-serif;padding:6px;cursor:pointer; }
.tlc-carousel-controls button[aria-current=true] { background:#315e51;color:#fff; }
body.a11y-reduced-motion *,body.a11y-reduced-motion *::before,body.a11y-reduced-motion *::after { animation:none !important;transition:none !important;scroll-behavior:auto !important; }
body.a11y-reduced-motion .elementor-invisible { visibility:visible !important;opacity:1 !important; }
@media(max-width:600px) { .tlc-lightbox{padding:10px}.tlc-lightbox-stage{gap:5px}.tlc-lightbox-toolbar{gap:6px}.tlc-lightbox button{font-size:14px;padding:8px}.tlc-photo-counter{width:100%} .elementor-177 .e-form-slot { min-width:0;width:100%; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important; } .elementor-invisible{visibility:visible!important;opacity:1!important;} }
.elementor-element-fe21266 .swiper-pagination { position:relative !important; inset:auto !important; transform:none !important; width:100% !important; display:flex; justify-content:center; align-items:center; gap:0; margin:12px 0 0; }
.elementor-element-fe21266 .swiper-pagination button.swiper-pagination-bullet { position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;min-width:24px;min-height:24px;margin:0;padding:0 !important;border:0 !important;border-radius:50%;background:transparent !important;box-shadow:none !important;opacity:1; }
.elementor-element-fe21266 .swiper-pagination button.swiper-pagination-bullet::before { content:'';display:block;width:6px;height:6px;border-radius:50%;background:#000;opacity:.2; }
.elementor-element-fe21266 .swiper-pagination button.swiper-pagination-bullet-active::before { opacity:1; }
.elementor-element-fe21266 .tlc-carousel-controls { margin:2px 0 0; }
.elementor-element-fe21266 .tlc-carousel-controls button { background:transparent;border:0;padding:4px 8px;min-height:28px;font-size:13px;text-decoration:underline;text-underline-offset:3px; }
.elementor-element-fe21266 .swiper-wrapper { align-items:stretch; }
.elementor-element-fe21266 .swiper-slide { height:auto; }
.elementor-element-fe21266 .swiper-slide > .e-con { height:100%; }
.tlc-reviews-paused .ti-reviews-container-wrapper { transform:var(--tlc-review-position) !important;transition:none !important; }
body.a11y-high-contrast .elementor .elementor-heading-title,body.a11y-negative-contrast .elementor .elementor-heading-title { color:inherit !important; }
.tlc-sitemap { max-width:1200px;margin:auto;padding:56px 24px; }
.tlc-sitemap h1 { color:#315e51;font-size:clamp(40px,6vw,64px); }
.tlc-sitemap h2 { color:#96522e;font-size:28px; }
.tlc-sitemap-sections { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:32px; }
.tlc-sitemap li { margin-bottom:12px;line-height:1.6; }
.tlc-sitemap a { color:#315e51;text-decoration:underline;text-underline-offset:3px; }
.tlc-carousel-controls button.tlc-playback-button,
.elementor-element-fe21266 .tlc-carousel-controls button.tlc-playback-button {
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;min-width:36px;min-height:36px;padding:6px;
  border:1px solid #315e51;border-radius:50%;background:transparent;color:#315e51;text-decoration:none;
}
.tlc-playback-button > span { display:flex; }
.tlc-playback-button svg { display:block;flex:none; }
.tlc-carousel-controls .tlc-playback-button:hover { background:#315e51;color:white; }
/* Article reading order is image, body, related cards in the source as well. */
.elementor-345 .elementor-element-a5d1eea,
.elementor-345 .elementor-element-a5d1eea > .e-con-inner {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-template-rows:auto 1fr;align-items:start;gap:0;
}
.elementor-345 .elementor-element-a5d1eea > .e-con-inner { grid-column:1 / -1; }
.elementor-345 .elementor-element-2a6a73c { grid-column:1;grid-row:1;width:100%;--width:100%; }
.elementor-345 .elementor-element-ca846c8 { grid-column:2;grid-row:1 / span 2;width:100%;--width:100%;padding:32px; }
.elementor-345 .elementor-element-5ba8eee { grid-column:1;grid-row:2;width:100%;min-width:0; }
@media(max-width:767px) {
  .elementor-345 .elementor-element-a5d1eea,
  .elementor-345 .elementor-element-a5d1eea > .e-con-inner { grid-template-columns:minmax(0,1fr);grid-template-rows:auto; }
  .elementor-345 .elementor-element-2a6a73c { grid-column:1;grid-row:1; }
  .elementor-345 .elementor-element-ca846c8 { grid-column:1;grid-row:2;padding:24px 8px; }
  .elementor-345 .elementor-element-5ba8eee { grid-column:1;grid-row:3; }
  .elementor-345 .elementor-element-95617a3 img { height:auto;max-height:360px;aspect-ratio:4 / 3;object-fit:cover; }
}
/* Keep the dentist's head visible without changing the Extractions image panel. */
.elementor-230.post-153 .elementor-element.elementor-element-12efe58 img {
  object-position:center top;
}
/* Theme button padding must not squeeze the accessibility glyph. */
.a11y-widget .a11y-toggle { padding:0 !important; }
.a11y-widget .a11y-toggle > svg { flex:0 0 26px !important;width:26px !important;min-width:26px !important;height:26px !important;display:block !important; }
/* Keep faces near the top of the wide service photos in their existing frames. */
.elementor-230.post-155 .elementor-element.elementor-element-12efe58 img,
.elementor-230.post-944 .elementor-element.elementor-element-12efe58 img,
.elementor-230.post-149 .elementor-element.elementor-element-12efe58 img,
.elementor-230.post-384 .elementor-element.elementor-element-12efe58 img,
.elementor-230.post-163 .elementor-element.elementor-element-12efe58 img,
.elementor-230.post-159 .elementor-element.elementor-element-12efe58 img {
  object-position:center top;
}
/* Favor the family on the left in the narrow mobile portrait crop. */
@media(max-width:767px) {
  .elementor-230.post-163 .elementor-element.elementor-element-fe38382 img { object-position:35% center; }
  .elementor-230.post-159 .elementor-element.elementor-element-fe38382 img { object-position:65% center; }
}
/* Fill the homepage hero with video on phones and tablets. */
@media(max-width:1024px) {
  .elementor-2 .elementor-element-2e886556 > .elementor-background-video-container {
    inset:0;width:100%;height:100%;overflow:hidden;
  }
  .elementor-2 .elementor-element-2e886556 .elementor-background-video-hosted {
    width:100% !important;height:100% !important;max-width:none !important;
    object-fit:cover;object-position:center;
  }
}
