body { background: #fff; }

.header { background: rgba(35, 23, 31, .97); }
.hero {
  min-height: 0;
  background:
    linear-gradient(90deg, rgba(23, 18, 21, .94) 0%, rgba(28, 22, 26, .77) 47%, rgba(28, 22, 26, .22) 100%),
    linear-gradient(0deg, rgba(23, 18, 21, .7), transparent 44%),
    url("https://static.wixstatic.com/media/5683bb_19bfb5583be34b81bdc43348cce447e7~mv2.png/v1/fill/w_2560,h_1440,al_c,q_92,enc_avif,quality_auto/5683bb_19bfb5583be34b81bdc43348cce447e7~mv2.png") center / cover no-repeat;
}
.hero-content { max-width: 760px; padding: 104px 0 26px; }
.hero h1 { max-width: 760px; font-size: 4.3rem; }
.hero-lead { max-width: 680px; }
.hero-promises {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  max-width: 820px;
  margin-top: 19px;
  padding-top: 13px;
  border-top: 1px solid rgba(255, 255, 255, .48);
}
.hero-promises > div { display: grid; gap: 2px; align-content: start; }
.hero-promises span { color: #ebc686; font-size: .77rem; font-weight: 800; }
.hero-promises b { font-size: 1rem; line-height: 1.2; }
.hero-promises small { color: rgba(255, 255, 255, .72); font-size: .79rem; }
.hero-actions { margin-top: 18px; }
.trust-item { min-height: 76px; padding: 14px 22px; background: rgba(23, 20, 22, .74); }
.trust-item b { font-size: 1rem; }
.trust-item span { margin-top: 3px; }

.concern-section { background: #fff; }
.concern-section .section-head { margin-bottom: 25px; }
.concern-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.concern-tab { display: grid; grid-template-columns: 48px 1fr; grid-template-rows: auto auto; align-content: center; column-gap: 13px; min-height: 100px; padding: 15px; border: 1px solid #dce7e1; border-radius: 6px; background: #f8faf8; color: #284338; text-align: left; cursor: pointer; }
.concern-tab:hover { border-color: #8eac9b; }
.concern-tab.is-active { border-color: #285c48; background: #e6f0e9; box-shadow: inset 0 -3px #285c48; }
.concern-icon { grid-row: 1 / 3; display: grid; place-items: center; align-self: center; width: 46px; height: 46px; border: 2px solid #36735a; border-radius: 50%; color: #285c48; font-size: 1.5rem; font-weight: 800; }
.concern-tab b { font-size: 1.01rem; line-height: 1.2; }
.concern-tab small { color: #587066; font-size: .78rem; }
.concern-panel { display: grid; grid-template-columns: minmax(0, .87fr) minmax(0, 1.13fr); min-height: 382px; margin-top: 13px; overflow: hidden; border: 1px solid #dce7e1; border-radius: 6px; background: #eaf1ea; }
.concern-visual { position: relative; display: grid; place-items: center; min-height: 375px; overflow: hidden; background: #dcebe2; }
.concern-visual::before { content: ""; position: absolute; inset: 30px; border: 1px solid rgba(27, 91, 64, .25); }
.tooth-shape { position: relative; display: block; width: 210px; height: 270px; background: #fff; clip-path: polygon(11% 3%, 29% 0, 48% 8%, 72% 0, 89% 7%, 98% 23%, 95% 47%, 81% 66%, 72% 97%, 59% 100%, 50% 79%, 41% 100%, 28% 96%, 19% 66%, 5% 47%, 2% 23%); filter: drop-shadow(0 9px 12px rgba(30, 65, 45, .14)); }
.tooth-shape i { position: absolute; display: block; width: 52px; height: 52px; top: 48px; right: 42px; border: 8px solid #ba604d; border-radius: 50%; background: #f4b191; }
.visual-label { position: absolute; bottom: 27px; left: 25px; right: 25px; color: #285c48; font-size: .82rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.concern-panel[data-concern="gums"] .tooth-shape i { width: 135px; height: 25px; top: auto; right: 37px; bottom: 56px; border: 0; border-radius: 40% 40% 10% 10%; background: #dc9a9c; }
.concern-panel[data-concern="tooth"] .tooth-shape i { width: 55px; height: 65px; top: 0; right: 45px; border: 0; border-radius: 0; background: #dcebe2; transform: rotate(25deg); }
.concern-panel[data-concern="check"] .tooth-shape i { width: 66px; height: 30px; top: 87px; right: 69px; border: 0; border-radius: 0 0 60px 60px; background: transparent; box-shadow: 0 8px 0 #76a48a; }
.concern-copy { align-self: center; padding: 30px clamp(25px, 4vw, 58px); }
.concern-copy h3 { margin: 8px 0 16px; color: #234a39; font-family: "Fraunces", Georgia, serif; font-size: 2.55rem; line-height: 1.12; }
.symptom-list { display: flex; flex-wrap: wrap; gap: 7px; }
.symptom-list span { padding: 7px 10px; border: 1px solid #b9d1c0; border-radius: 4px; background: #fff; color: #2e5743; font-size: .81rem; font-weight: 700; }
.concern-copy p { max-width: 490px; margin: 18px 0; color: #3c5549; font-size: .95rem; }
.concern-copy .concern-caution { margin: 11px 0 0; color: #85513e; font-size: .78rem; }
.concern-caution[hidden] { display: none; }

.review-section { background: #fff; border-bottom: 1px solid #e1e9e2; }
.review-section .section-head { max-width: 730px; }
.review-section .section-head p { font-size: .9rem; }
.review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.review-grid blockquote { margin: 0; padding: 27px 30px; border-left: 4px solid #c9a469; background: #f7f8f5; }
.review-stars { color: #b47a29; letter-spacing: 2px; font-size: 1.1rem; }
.review-grid blockquote p { margin: 14px 0; color: #293d31; font-family: "Fraunces", Georgia, serif; font-size: 1.45rem; line-height: 1.32; }
.review-grid footer { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; color: #52665b; font-size: .81rem; font-weight: 700; }
.review-grid footer a { color: #255b42; text-decoration: underline; text-underline-offset: 3px; }

.intent-band { background: #e8f0eb; }
.intent-grid { grid-template-columns: 1fr auto; }
.intent-grid p { max-width: 870px; font-size: 1.03rem; }
.text-link { color: #245c47; font-weight: 800; border-bottom: 2px solid currentColor; white-space: nowrap; }
.text-link span { margin-left: 5px; }

.explorer-section { background: #f5f7f4; }
.explorer-section .section-head { max-width: 900px; }
.explorer {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  background: #fff;
  border: 1px solid #dbe4de;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 20px 55px rgba(32, 57, 45, .08);
}
.explorer-media { min-width: 0; position: relative; background: #222; }
.explorer-media img { width: 100%; height: 100%; min-height: 530px; object-fit: cover; object-position: center; }
.image-label {
  position: absolute;
  left: 16px;
  bottom: 16px;
  padding: 5px 9px;
  border-radius: 4px;
  background: rgba(22, 19, 20, .82);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
}
.explorer-content { padding: clamp(26px, 3.5vw, 48px); align-self: center; }
.explorer-count { margin: 18px 0 6px; color: #47715f; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.explorer-content h3 { color: var(--plum); font-size: clamp(2rem, 3vw, 2.9rem); line-height: 1.1; }
#condition-description { min-height: 74px; margin: 16px 0 0; color: var(--muted); }
.condition-choice { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 20px; border: 1px solid #c8d7ce; background: #c8d7ce; border-radius: 6px; overflow: hidden; }
.condition-tab { display: grid; gap: 1px; min-width: 0; min-height: 58px; border: 0; border-radius: 0; background: #fff; color: #405449; font-size: .88rem; font-weight: 800; cursor: pointer; }
.condition-tab span { font-size: .68rem; font-weight: 700; opacity: .6; }
.condition-tab.is-active { background: #285c48; color: #fff; }
.condition-tab:hover:not(.is-active) { background: #edf5ef; }
.explorer-controls { display: flex; align-items: center; gap: 8px; margin-top: 17px; }
.round-control { width: 39px; height: 39px; flex: 0 0 39px; display: grid; place-items: center; border: 1px solid #9bb4a5; border-radius: 50%; background: #fff; color: #285c48; cursor: pointer; font-size: 1.2rem; }
.round-control:hover { background: #e8f0eb; }
.explorer-controls span { margin-left: 5px; color: #395748; font-size: .8rem; line-height: 1.35; }
.explorer-note { margin: 18px 0 20px; padding-top: 14px; border-top: 1px solid #dfe9e2; color: #6a6c69; font-size: .82rem; }

#services .section-head { max-width: 790px; }
.service { border-color: #e2e7e2; box-shadow: none; }
.service svg { color: #2b664c; }
.service h3 { font-family: "DM Sans", sans-serif; }

.doctor-section { background: #e6efe8; overflow: hidden; }
.doctor-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 6vw, 90px); align-items: center; }
.doctor-visual { position: relative; align-self: stretch; min-height: 510px; margin: 0; background: #c7dacc; overflow: hidden; border-radius: 6px; }
.doctor-visual::before { content: ""; position: absolute; width: 75%; aspect-ratio: 1; left: 14%; top: 11%; border: 1px solid rgba(255, 255, 255, .64); border-radius: 50%; }
.doctor-visual img { position: absolute; z-index: 1; width: 92%; height: 94%; bottom: 0; left: 4%; object-fit: contain; object-position: bottom; }
.doctor-visual figcaption { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 18px 24px; background: linear-gradient(transparent, rgba(21, 31, 25, .82)); color: #fff; font-weight: 800; }
.doctor-visual figcaption span { display: block; font-size: .78rem; font-weight: 500; }
.doctor-copy h2 { max-width: 630px; }
.doctor-copy p { color: #3e5548; max-width: 650px; font-size: 1.04rem; }
.doctor-copy .doctor-intro { margin-top: 18px; color: #203a2a; font-size: 1.14rem; font-weight: 600; }
.doctor-credentials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 26px 0; padding: 18px 0; border-top: 1px solid #b6cab9; border-bottom: 1px solid #b6cab9; }
.doctor-credentials b { display: block; color: #244f3b; line-height: 1.15; }
.doctor-credentials span { display: block; margin-top: 5px; color: #4f6859; font-size: .78rem; line-height: 1.35; }

.visit-section { background: #fff; }
.visit-section .section-head { max-width: 910px; }
.parking-note { display: block; margin-top: 8px; color: #6d756f; font-size: .75rem; }
.visit { box-shadow: none; border-color: #dfe7e1; }
.visit-copy { padding: 44px; }
.visit-copy h2 { margin-top: 8px; }
.arrival-list { display: grid; gap: 0; margin-top: 20px; }
.arrival-list > div { display: grid; grid-template-columns: 145px 1fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid #e3e9e5; }
.arrival-list b { color: #255b42; font-size: .93rem; }
.arrival-list span { color: #546259; font-size: .9rem; }
.map-live { min-height: 610px; display: grid; place-items: center; padding: 28px 28px 78px; background: #eaf2eb; }
.route-diagram { width: 100%; max-width: 490px; color: #203b2e; }
.route-landmark { min-height: 135px; display: grid; align-content: center; gap: 4px; padding: 22px 26px; border-radius: 6px; box-shadow: 0 9px 28px rgba(27, 57, 37, .09); }
.route-landmark small { font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.route-landmark b { font-family: "Fraunces", Georgia, serif; font-size: 1.7rem; line-height: 1.15; }
.route-landmark span { font-size: .84rem; }
.route-mall { background: #fff; }
.route-clinic { background: #285c48; color: #fff; }
.route-path { position: relative; min-height: 96px; display: flex; align-items: center; justify-content: center; gap: 15px; color: #285c48; font-weight: 800; font-size: .85rem; }
.route-path::before, .route-path::after { content: ""; position: absolute; left: 50%; width: 2px; height: 24px; background: #78a48b; transform: translateX(-50%); }
.route-path::before { top: 0; }
.route-path::after { bottom: 0; }
.route-path i { font-size: 1.4rem; font-style: normal; }
.route-diagram p { margin: 13px 0 0; color: #526859; font-size: .76rem; text-align: center; }
.map-open { position: absolute; left: 18px; right: 18px; bottom: 18px; display: flex; justify-content: space-between; gap: 15px; padding: 14px 16px; border-radius: 6px; background: #fff; color: #285c48; font-weight: 800; box-shadow: 0 8px 24px rgba(0, 0, 0, .13); }

.process { border-color: #e5e5e1; background: #e5e5e1; }
.step small { color: #2f6a4c; }
.step h3 { font-family: "DM Sans", sans-serif; }
.cta { background: linear-gradient(90deg, rgba(20, 34, 26, .95), rgba(20, 34, 26, .68)), url("https://static.wixstatic.com/media/5683bb_19bfb5583be34b81bdc43348cce447e7~mv2.png/v1/fill/w_1900,h_900,al_c,q_88,enc_avif,quality_auto/5683bb_19bfb5583be34b81bdc43348cce447e7~mv2.png") center / cover no-repeat; }

@media (max-width: 960px) {
  .hero h1 { font-size: 3.55rem; }
  .concern-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .concern-panel { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .explorer, .doctor-layout { grid-template-columns: 1fr; }
  .explorer-media img { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
  .doctor-visual { min-height: 500px; max-width: 620px; width: 100%; margin-inline: auto; }
  .map-live { min-height: 390px; }
}
@media (max-width: 640px) {
  .hero { background: linear-gradient(90deg, rgba(24, 17, 22, .86), rgba(24, 17, 22, .64)), url("https://static.wixstatic.com/media/5683bb_19bfb5583be34b81bdc43348cce447e7~mv2.png/v1/fill/w_2560,h_1440,al_c,q_92,enc_avif,quality_auto/5683bb_19bfb5583be34b81bdc43348cce447e7~mv2.png") 58% center / cover no-repeat; }
  .hero-content { padding: 86px 0 22px; }
  .hero h1 { margin-top: 10px; font-size: 2.42rem; }
  .hero-lead { margin-top: 12px; font-size: .94rem; line-height: 1.42; }
  .hero-promises { gap: 5px; margin-top: 18px; padding-top: 9px; grid-template-columns: 1fr; }
  .hero-promises > div { grid-template-columns: 25px 1fr; column-gap: 8px; align-items: baseline; }
  .hero-promises span { grid-row: span 2; font-size: .66rem; }
  .hero-promises b { font-size: .86rem; }
  .hero-promises small { font-size: .73rem; }
  .hero-actions { margin-top: 18px; }
  .hero-actions .button.light { display: none; }
  .trust-item { min-height: 59px; padding: 10px 12px; }
  .trust-item b { font-size: .9rem; }
  .trust-item span { margin-top: 2px; font-size: .72rem; }
  .trust-item:nth-child(n + 3) { display: none; }
  .concern-section { padding-top: 30px; }
  .concern-section .section-head { margin-bottom: 17px; }
  .concern-tabs { gap: 6px; }
  .concern-tab { grid-template-columns: 31px 1fr; min-height: 75px; column-gap: 8px; padding: 10px 7px; }
  .concern-icon { width: 30px; height: 30px; font-size: 1rem; border-width: 1px; }
  .concern-tab b { font-size: .84rem; }
  .concern-tab small { font-size: .68rem; }
  .concern-panel { grid-template-columns: 1fr; }
  .concern-visual { min-height: 205px; }
  .concern-visual::before { inset: 14px; }
  .tooth-shape { width: 110px; height: 145px; }
  .tooth-shape i { width: 29px; height: 29px; top: 28px; right: 22px; border-width: 5px; }
  .concern-panel[data-concern="gums"] .tooth-shape i { width: 72px; height: 14px; right: 19px; bottom: 28px; }
  .concern-panel[data-concern="tooth"] .tooth-shape i { width: 30px; height: 37px; right: 23px; }
  .concern-panel[data-concern="check"] .tooth-shape i { width: 36px; height: 15px; top: 47px; right: 38px; }
  .visual-label { bottom: 15px; font-size: .68rem; }
  .concern-copy { padding: 22px 18px; }
  .concern-copy h3 { font-size: 2rem; }
  .concern-copy p { font-size: .87rem; }
  .review-grid { grid-template-columns: 1fr; gap: 10px; }
  .review-grid blockquote { padding: 20px; }
  .review-grid blockquote p { font-size: 1.25rem; }
  .intent-grid { grid-template-columns: 1fr; gap: 12px; }
  .intent-grid p { font-size: .9rem; }
  .text-link { font-size: .87rem; }
  .explorer-content { padding: 22px 18px; }
  .explorer-content h3 { font-size: 2rem; }
  #condition-description { min-height: 0; font-size: .9rem; }
  .condition-tab { font-size: .8rem; }
  .explorer-controls span { font-size: .75rem; }
  .doctor-visual { min-height: 400px; }
  .doctor-copy .doctor-intro { font-size: 1rem; }
  .doctor-credentials { grid-template-columns: 1fr; gap: 9px; }
  .doctor-credentials > div { display: grid; grid-template-columns: 130px 1fr; gap: 8px; }
  .doctor-credentials span { margin-top: 0; }
  .visit-copy { padding: 25px 20px; }
  .arrival-list > div { grid-template-columns: 1fr; gap: 2px; padding: 10px 0; }
  .map-live { min-height: 380px; padding: 26px 16px 76px; }
  .route-landmark { min-height: 94px; padding: 13px 17px; }
  .route-landmark b { font-size: 1.33rem; }
  .route-path { min-height: 68px; }
  .route-path::before, .route-path::after { height: 12px; }
}

@media (max-width: 380px) {
  .hero-promises small { display: none; }
  .hero-promises > div { grid-template-columns: 25px 1fr; min-height: 25px; }
  .trust-item { padding: 8px 9px; }
  .trust-item b { font-size: .83rem; }
  .trust-item span { font-size: .68rem; }
}
