.home-restored {
  --mobile-ink: #173b46;
  --mobile-teal: #155564;
  --mobile-muted: #3d5960;
  --mobile-line: #c9dcda;
  --mobile-wash: #edf5f2;
}

.granov-line-icon { display: block; flex: none; width: 18px; height: 18px; }
.home-restored .clinic-text-link .granov-line-icon { color: currentColor; }
.home-restored .veneers-campaign h2 { color: var(--mobile-ink); }
.home-restored .veneers-campaign__button {
  border-color: var(--mobile-teal);
  color: var(--mobile-teal);
}
.home-restored .veneers-campaign__button:hover { background: #edf5f2; color: #103e49; }
.home-restored .veneers-campaign__button > span { background: var(--mobile-teal); }
.home-restored .veneers-campaign__details .granov-line-icon { width: 16px; height: 16px; }
.home-restored .clinic-about__note { grid-template-columns: 1fr; }
.home-restored .home-scene--learn { min-height: 0; background: #e9f3f0; overflow: hidden; }
.home-restored .home-scene--learn::after { content: none; }
.home-restored .home-scene--learn .home-scene__copy {
  width: min(1320px, calc(100% - 40px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .55fr);
  gap: clamp(32px, 8vw, 130px);
  align-items: center;
  padding-block: clamp(35px, 5vw, 68px);
}
.home-restored .home-scene--learn .home-scene__copy > * { max-width: none; }
.home-restored .home-scene--learn h2 { max-width: 20ch; margin-bottom: 14px; }
.home-restored .home-scene--learn .granov-library__text > p:not(.clinic-eyebrow) {
  margin: 0 0 10px;
  color: var(--mobile-muted);
  font-size: 16px;
  line-height: 1.6;
}
.home-restored .granov-library__topics {
  border-block: 1px solid var(--mobile-line);
  padding: 16px 0;
  margin: 0;
  list-style: none;
}
.home-restored .granov-library__topics li {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--mobile-ink);
  padding: 6px 0;
  font-size: 14px;
}
.home-restored .granov-library__topics .granov-line-icon { color: var(--mobile-teal); }
.home-restored .granov-library__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 11px 15px;
  margin-top: 12px;
  background: var(--mobile-teal);
  border-radius: 5px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}
.home-restored .granov-library__cta:hover { background: #103e49; }

.clinic-map .clinic-map__viewer--local {
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 0;
  background: #eaf0eb;
}
.clinic-local-map { display: grid; align-content: center; margin: 0; }
.clinic-local-map svg { display: block; width: 100%; max-height: 360px; }
.clinic-local-map figcaption {
  padding: 0 14px 10px;
  color: #3c5550;
  font-size: 11px;
  text-align: right;
}
.clinic-local-map__links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  align-items: center;
  padding: 10px 14px;
  background: #f6faf8;
  border-top: 1px solid var(--mobile-line);
}
.clinic-local-map__links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: #174e5d;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: 14px;
  font-weight: 700;
}
.clinic-local-map__links .clinic-local-map__primary {
  border-radius: 5px;
  padding: 0 12px;
  background: var(--mobile-teal);
  color: #fff;
  text-decoration: none;
}
.clinic-map .clinic-map__entrance {
  margin: 4px 0 12px;
  color: var(--mobile-muted);
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 780px) {
  .home-restored { --mobile-gutter: clamp(16px, 4.5vw, 24px); }
  .home-restored .main { padding-top: 0; }
  .home-restored .launch-hero--photographic { padding-bottom: 0 !important; background: #fafcfb; }
  .home-restored .launch-hero--photographic .launch-hero__inner {
    width: auto;
    padding: 22px var(--mobile-gutter) 17px;
    min-height: 0;
  }
  .home-restored .launch-hero--photographic .launch-hero__copy { max-width: none; }
  .home-restored .launch-hero--photographic .launch-hero__location {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #345f62;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 700;
  }
  .home-restored .launch-hero--photographic h1 {
    margin: 15px 0 10px;
    font-size: clamp(33px, 8.5vw, 54px);
    line-height: 1.04;
    letter-spacing: -.055em;
    text-wrap: wrap;
  }
  .home-restored .launch-hero--photographic .launch-hero__lead {
    color: var(--mobile-muted);
    font-size: 16px;
    line-height: 1.5;
  }
  .home-restored .launch-hero--photographic .launch-hero__actions {
    order: 0;
    flex-direction: row;
    align-items: center;
    column-gap: 14px;
    row-gap: 4px;
    margin-top: 16px;
  }
  .home-restored .launch-hero__button {
    flex-direction: row-reverse;
    min-height: 48px;
    padding: 10px 13px;
    gap: 12px;
    background: var(--mobile-teal);
    border-color: var(--mobile-teal);
    border-radius: 5px;
    font-size: 14px;
  }
  .home-restored .launch-hero__button .granov-line-icon { width: 18px; height: 18px; }
  .home-restored .launch-hero--photographic .launch-hero__phones a {
    min-height: 44px;
    font-size: 13px;
    color: var(--mobile-teal);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .home-restored .launch-hero--photographic .launch-hero__phones :is(svg, small) { display: none; }
  .home-restored .launch-hero--photographic .launch-hero__features {
    order: 1;
    flex-flow: row wrap;
    column-gap: 12px;
    row-gap: 3px;
    margin: 10px 0 0;
  }
  .home-restored .launch-hero--photographic .launch-hero__features > span {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    font-size: 11px;
  }
  .home-restored .launch-hero__features svg { width: 14px; height: 14px; }
  .home-restored .launch-hero--photographic .launch-hero__facts {
    order: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 13px 0 0;
    padding-top: 12px;
    border-color: var(--mobile-line);
  }
  .home-restored .launch-hero__facts > div { gap: 3px; }
  .home-restored .launch-hero--photographic .launch-hero__facts dt { font-size: clamp(21px, 5.8vw, 29px); }
  .home-restored .launch-hero--photographic .launch-hero__facts dd { font-size: 12px; }
  .home-restored .launch-hero--photographic .scene-photo--hero {
    left: auto;
    right: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1.95;
  }
  .home-restored .launch-hero--photographic .scene-photo--hero img { height: 100%; object-position: center; }
  .home-restored .launch-hero--photographic::after { content: none; }

  .home-restored .doctor-profile-c {
    margin-block: 0;
    background: #f3f7f7;
  }
  .home-restored .doctor-profile-c .home-scene__copy {
    width: calc(100% - 2 * var(--mobile-gutter));
    padding-block: 28px 14px;
  }
  .home-restored .doctor-profile-c .scene-photo {
    margin: 0;
    width: 100%;
  }
  .home-restored .doctor-profile-c .scene-photo img {
    height: auto;
    aspect-ratio: 1.62;
    object-fit: cover;
    object-position: right 16%;
  }
  .home-restored .doctor-profile-c::after { content: none; }
  .home-restored .doctor-profile-c figcaption { padding-inline: var(--mobile-gutter); }

  .home-restored .clinic-about {
    padding-block: 28px 30px;
    border-top: 1px solid #dce9e4;
    background: var(--mobile-wash);
  }
  .home-restored .clinic-about__layout,
  .home-restored .veneers-campaign > .container,
  .home-restored .services > .container,
  .home-restored .clinic-benefits__layout,
  .home-restored .clinic-map__layout {
    width: 100%;
    padding-inline: var(--mobile-gutter);
  }
  .home-restored .clinic-about__layout { gap: 20px; }
  .home-restored .clinic-about__intro { position: relative; }
  .home-restored .clinic-about .clinic-eyebrow,
  .home-restored .clinic-benefits .clinic-eyebrow,
  .home-restored .home-scene--learn .clinic-eyebrow,
  .home-restored .granov-veneers-kicker {
    margin: 0 0 10px;
    color: #2c6669;
    font-size: 11px;
    letter-spacing: .11em;
    font-weight: 700;
    text-transform: uppercase;
  }
  .home-restored .clinic-about h2,
  .home-restored .clinic-benefits__intro h2,
  .home-restored .home-scene--learn h2,
  .home-restored .veneers-campaign h2 {
    font-size: clamp(29px, 7.1vw, 41px);
    line-height: 1.12;
    text-wrap: pretty;
  }
  .home-restored .clinic-about__lead,
  .home-restored .clinic-about__lead--doctor {
    margin: 13px 0;
    color: var(--mobile-muted);
    font-size: 16px;
    line-height: 1.55;
  }
  .home-restored .clinic-about .clinic-text-link,
  .home-restored .clinic-benefits .clinic-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    margin: 0;
  }
  .home-restored .clinic-about__photo { position: relative; }
  .home-restored .clinic-about__photo img { height: auto; aspect-ratio: 1.75; border-radius: 5px 30px 5px 5px; }
  .home-restored .clinic-about__photo figcaption { margin: 7px 0 0; color: var(--mobile-muted); }
  .home-restored .granov-about-mark {
    display: block;
    position: absolute;
    width: 70px;
    height: 70px;
    right: 6px;
    bottom: 20px;
    color: #d9f1eb;
    pointer-events: none;
  }
  .home-restored .clinic-about__note { padding: 12px 0 0; margin-top: 12px; border-color: var(--mobile-line); }
  .home-restored .clinic-about__note p { font-size: 14px; line-height: 1.55; }
  .home-restored .clinic-about__note strong { font-size: 17px; margin-bottom: 3px; }

  .home-restored .veneers-campaign { padding-block: 30px 34px; background: #fbfcfa; }
  .home-restored .veneers-campaign__layout { grid-template-columns: 1fr; gap: 16px; }
  .home-restored .veneers-campaign h2 { margin-bottom: 12px; }
  .home-restored .veneers-campaign__lead { font-size: 16px; line-height: 1.55; }
  .home-restored .veneers-campaign__lead p { margin: 0 0 8px; }
  .home-restored .veneers-campaign__actions { flex-direction: row; flex-wrap: wrap; gap: 5px 10px; margin: 13px 0 0; }
  .home-restored .veneers-campaign__button {
    min-height: 48px;
    padding: 4px 4px 4px 13px;
    gap: 10px;
    font-size: 14px;
  }
  .home-restored .veneers-campaign__button > span { width: 36px; height: 36px; flex-basis: 36px; }
  .home-restored .veneers-campaign__actions > .veneers-campaign__details {
    min-height: 44px;
    border: 0;
    padding: 0;
    border-radius: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: 14px;
  }
  .home-restored .veneers-campaign__visual { background: transparent; }
  .home-restored .veneers-campaign__visual .smile-compare { border-radius: 6px 24px 6px 6px; }

  .home-restored .services { padding-block: 30px; }
  .home-restored .services .services__title {
    margin-bottom: 16px;
    color: var(--mobile-ink);
    font-size: clamp(29px, 7.1vw, 41px);
  }
  .home-restored .services .services__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--mobile-line);
  }
  .home-restored .services .services-item {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    gap: 4px;
    height: auto;
    min-height: 57px;
    grid-template-rows: minmax(0, auto);
    padding: 8px 1px;
    border: 0;
    border-top: 1px solid var(--mobile-line);
    border-radius: 0;
    background: none;
    box-shadow: none;
    text-decoration: none;
  }
  .home-restored .services .services-item::before,
  .home-restored .services .services-item::after,
  .home-restored .services .services-item__icon { display: none; }
  .home-restored .services .services-item__link {
    position: static;
    width: 18px;
    height: 18px;
    transform: none;
    grid-column: 2;
    grid-row: 1;
  }
  .home-restored .services .services-item__link svg { width: 18px; height: 18px; display: block; }
  .home-restored .services .services-item__link circle { display: none; }
  .home-restored .services .services-item__link path { stroke: #286673; stroke-width: 3px; }
  .home-restored .services .services-item__name {
    position: static;
    display: block;
    grid-column: 1;
    grid-row: 1;
    width: auto;
    min-height: 0;
    padding: 0;
    margin: 0;
    align-self: center;
    transform: none;
    color: var(--mobile-ink);
    background: transparent;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
    overflow-wrap: anywhere;
  }
  .home-restored .services .services__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    min-width: 130px;
    padding: 8px 15px;
    color: var(--mobile-teal);
    border: 1px solid var(--mobile-line);
    border-radius: 5px;
    background: #fff;
    text-decoration: none;
  }

  .home-restored .clinic-benefits {
    padding-block: 30px;
    margin-block: 0;
    background: #173f46;
    color: #fff;
  }
  .home-restored .clinic-benefits__layout { gap: 20px; }
  .home-restored .clinic-benefits__intro h2,
  .home-restored .clinic-benefits h3 { color: #fff; }
  .home-restored .clinic-benefits .clinic-eyebrow,
  .home-restored .clinic-benefits .clinic-text-link { color: #b8e7df; }
  .home-restored .clinic-benefits__intro > p:last-child {
    margin-top: 9px;
    color: #d4e8e4;
    line-height: 1.55;
  }
  .home-restored .clinic-benefits__list li {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    border-top: 1px solid #517279;
    padding: 13px 0;
  }
  .home-restored .clinic-benefits__list li:first-child { border-top: 1px solid #517279; padding-top: 13px; }
  .home-restored .clinic-benefits__number { font-size: 15px; color: #b5e3dc; }
  .home-restored .clinic-benefits h3 { font-size: 17px; margin-bottom: 4px; }
  .home-restored .clinic-benefits__list p { color: #d4e8e4; font-size: 14px; line-height: 1.55; }
  .home-restored .clinic-benefits .clinic-text-link { width: fit-content; }

  .home-restored .home-scene--learn { margin-block: 0; }
  .home-restored .home-scene--learn .home-scene__copy {
    width: calc(100% - 2 * var(--mobile-gutter));
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding-block: 30px;
  }
  .home-restored .granov-library__topics { padding-block: 6px; }
  .home-restored .clinic-map { padding-block: 30px; }
  .home-restored .clinic-map__layout { gap: 16px; }
  .home-restored .clinic-map__info address { margin-top: 12px; }
  .home-restored .clinic-map__hours { margin: 8px 0 13px; }
}

@media (min-width: 781px) {
  .granov-about-mark, .granov-veneers-kicker { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .home-restored .launch-hero__button, .home-restored .veneers-campaign__button { transition: none; }
}

@media (max-width: 780px) {
  .home-restored :is(.clinic-about__layout, .clinic-benefits__layout, .clinic-map__layout) { grid-template-columns: minmax(0, 1fr); }
  .home-restored :is(.clinic-about__layout, .clinic-benefits__layout, .clinic-map__layout) > * { min-width: 0; }
  .home-restored .clinic-about h2 br { display: none; }
  .home-restored .scene-photo--hero picture { display: block; height: 100%; }
}

@media (max-width: 780px) {
  .home-restored .clinic-benefits--cards .clinic-benefits__layout { display: grid; }
  .home-restored .clinic-benefits--cards .clinic-benefits__intro > p:last-child { margin: 0; }
  .home-restored .clinic-benefits__cards { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .home-restored .clinic-benefits__card {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 4px 13px;
    align-items: start;
    padding: 13px 0;
    border: 0;
    border-top: 1px solid #517279;
    border-radius: 0;
    background: none;
    color: #d4e8e4;
    overflow: visible;
    box-shadow: none;
  }
  .home-restored .clinic-benefits__card :is(h3, p, .clinic-text-link) { grid-column: 2; margin: 0; }
  .home-restored .clinic-benefits__card h3 { color: #fff; line-height: 1.35; }
  .home-restored .clinic-benefits__card p { font-size: 14px; line-height: 1.55; }
  .home-restored .clinic-benefits__card .clinic-text-link { color: #b8e7df; font-size: 14px; }
  .home-restored .clinic-benefits__card-index {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: #b5e3dc;
    font-size: 13px;
    line-height: 1.7;
  }
  .home-restored .clinic-benefits__card::before,
  .home-restored .clinic-benefits__card::after,
  .home-restored .clinic-benefits__art { display: none; }
}
