.hdr__bar {
  gap: .5rem;
  min-height: 4rem;
}

.hdr__logo img { height: 2.25rem; }

@media (max-width: 360px) {
  .hdr__logo img { height: 1.625rem; }
}

.nav,
.hdr__cta { display: none; }

.hdr__langs { margin-left: auto; }

.burger {
  display: grid;
  place-content: center;
  gap: .3125rem;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 50%;
  background: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.burger span {
  display: block;
  width: 1.375rem;
  height: 1.5px;
  border-radius: 1px;
  background: var(--ink);
}

.mobnav {
  position: fixed;
  inset: 0;
  z-index: 300;
}

.mobnav__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 17, 17, .4);
  animation: mobnavFade .25s var(--ease);
}

.mobnav__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: min(24rem, 100%);
  padding: .75rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));
  overflow-y: auto;
  background: var(--bg);
  animation: mobnavIn .3s var(--ease);
}

@keyframes mobnavIn { from { transform: translateX(100%); } to { transform: none; } }
@keyframes mobnavFade { from { opacity: 0; } to { opacity: 1; } }

.mobnav__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .75rem;
}

.mobnav__logo { width: auto; height: 2.25rem; }

.mobnav__x {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 50%;
  background: var(--bg-soft);
  color: var(--ink);
  cursor: pointer;
}

.mobnav__x svg { width: 1.25rem; height: 1.25rem; }

.mobnav__nav {
  display: flex;
  flex-direction: column;
}

.mobnav__link {
  display: flex;
  align-items: center;
  min-height: 3rem;
  border-bottom: 1px solid var(--line);
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink);
}

.mobnav__link--sub {
  padding-left: .875rem;
  font-size: 1rem;
  font-weight: 400;
}

.mobnav__link[aria-current="page"] { color: var(--champagne-ink); }

.mobnav__group {
  padding-top: 1.125rem;
  padding-bottom: .25rem;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
}

.mobnav__foot {
  display: flex;
  flex-direction: column;
  gap: .625rem;
  margin-top: auto;
  padding-top: 1.5rem;
}

.mobnav__phone {
  margin-top: .5rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
}

.mobnav__fact { font-size: .875rem; color: var(--muted); }

.hdr__socials { display: none; }

.mobnav__socials {
  display: flex;
  gap: .5rem;
  margin-top: 1rem;
}

.mobnav__socials .hdr__social {
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--line);
  color: var(--ink);
}

.hero__scene {
  position: relative;
  height: 26rem;
}

.hero__bg {
  width: 100%;
  object-position: 62% center;
}

.hero__scene::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 55%, rgba(255, 255, 255, .9) 88%, #fff 100%);
}

.hero__doctor {
  left: 50%;
  height: 100%;
  transform: translateX(-50%);
}

.hero__doctor .ph { width: 18rem; }

.hero__wrap {
  display: block;
  min-height: 0;
  margin-top: -2.5rem;
}

.hero__copy {
  max-width: none;
  padding: 0 0 2rem;
}

.hero__title { font-size: clamp(2.125rem, 9vw, 3.5rem); }

.hero__dirs {
  gap: .5rem;
  font-size: .9375rem;
}

.hero__lead { font-size: 1rem; }

.hero__perks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 2rem;
}

.hero__perks li {
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem;
}

.hero__perk-ic { width: 2.75rem; height: 2.75rem; }

.hero__perks b,
.hero__perks i { font-size: .8125rem; line-height: 1.3; }

.hero__slot {
  position: static;
  width: 100%;
  margin-bottom: 2.5rem;
  padding: 1rem;
  gap: 1rem;
  background: var(--bg-soft);
  box-shadow: none;
}

.hero__slot-ic { width: 3rem; height: 3rem; }
.hero__slot-go { display: none; }
.hero__motto { display: none; }

@media (min-width: 761px) {
  .hero__scene { height: 34rem; }
  .hero__bg { object-position: 68% center; }
}

@media (max-width: 400px) {
  .hero__scene { height: 22rem; }
  .hero__perks { grid-template-columns: minmax(0, 1fr); }
  .hero__perks li { flex-direction: row; align-items: center; }
}

.plus { padding: 0 0 2.5rem; }

.plus__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

@media (max-width: 760px) {
  .plus__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .625rem;
  }

  .plus__card { padding: 1.25rem .75rem 1.125rem; }
  .plus__ic { width: 2.75rem; height: 2.75rem; }
  .plus__card h3 { margin-top: .75rem; font-size: .875rem; }
  .plus__card p { font-size: .75rem; }
}

.dirs__cards {
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem;
}

.dcard { grid-template-columns: 6.5rem minmax(0, 1fr); }
.dcard__media { min-height: 0; }

.dcard__num {
  top: .5rem;
  left: .5rem;
  width: 2rem;
  height: 2rem;
}

.dcard__body { padding: 1rem 1rem .5rem; }
.dcard__name { font-size: 1.125rem; }

.dcard__name a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
}

.dcard__list { display: none; }
.dcard__more { margin-top: .25rem; }

.offer {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  padding: 1.75rem 1.25rem 1.5rem;
}

@media (min-width: 761px) {
  .dirs__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dcard { grid-template-columns: minmax(0, 1fr); }
  .dcard__media { aspect-ratio: 16 / 10; }
  .offer { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .offer__cta { grid-column: 1 / -1; }
}

.diag__media {
  position: relative;
  width: 100%;
  height: 15rem;
  -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent);
  mask-image: linear-gradient(180deg, #000 70%, transparent);
}

.diag__media img { object-position: 64% center; }

.diag__copy {
  margin-left: 0;
  padding: 1rem 0 2.5rem;
}

.diag__lead { font-size: 1.0625rem; }

.diag__steps {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-top: 1.75rem;
}

.diag__step {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  column-gap: 1rem;
  padding-bottom: 1.25rem;
}

.diag__num {
  grid-row: span 2;
  margin-bottom: 0;
}

.diag__step b { align-self: end; }

.diag__step:not(:last-child)::after {
  top: 3.25rem;
  bottom: 0;
  left: 1.625rem;
  right: auto;
  width: 1px;
  height: auto;
  background: var(--line);
}

.about__grid,
.about__grid:not(:has(.stats)) {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
}

.about__photo {
  order: -1;
  aspect-ratio: 4 / 3;
}

.about__quote { font-size: 1.0625rem; }

.stats,
.stats--row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 1rem;
  padding: 1.25rem;
}

.stats .stats__item + .stats__item,
.stats--row .stats__item + .stats__item {
  padding: 0;
  border: 0;
}

.stats dt { font-size: 1.75rem; }

.res__head { margin-bottom: 1.5rem; }

.res__tabs {
  flex-wrap: nowrap;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}

.res__tabs::-webkit-scrollbar { display: none; }
.res__tab { flex: none; padding: 0 .875rem; }

.case {
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem;
}

.cmp { aspect-ratio: 4 / 3; border-radius: var(--r-lg); }
.case__info { flex-direction: column; align-items: stretch; gap: .75rem; padding: 1rem; border-radius: var(--r-lg); }
.case__title { font-size: 1.0625rem; }
.case__rows { flex-direction: column; gap: .375rem; }
.case__btn { width: 100%; margin-left: 0; }

.tech { padding-top: 0; }

.tech__media {
  position: relative;
  width: 100%;
  height: 15rem;
  -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent);
  mask-image: linear-gradient(180deg, #000 60%, transparent);
}

.tech__media img { object-position: 82% center; }
.tech__media::after { display: none; }

.tech__media .ph::after { top: 1rem; bottom: auto; }

.tech__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .625rem;
  margin-top: 1.75rem;
}

.tech__card { padding: 1.25rem 1rem; border-radius: var(--r-lg); }
.tech__ic { width: 2.5rem; height: 2.5rem; }
.tech__card h3 { margin-top: .875rem; font-size: .9375rem; }
.tech__card p { font-size: .8125rem; }

.cblock__head {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.cblock__facts li { padding: .875rem 1rem; }

.cblock__card { padding: 1.25rem 1rem; border-radius: var(--r-lg); }

.calc-inline {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "tabs"
    "chart"
    "label"
    "opts"
    "result"
    "note"
    "ctas";
  grid-template-rows: none;
}

.calc-inline > .calc-tabs { max-width: none; }
.calc-inline > .calc-result { margin-top: 1.25rem; }
.calc-inline > .calc-chart { overflow-x: auto; }

.cblock__more .btn { width: 100%; }

.inst__box {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}

.inst__facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 1rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
}

.inst__side { min-height: 24rem; border-radius: var(--r-lg); }
.ccard { right: 1rem; bottom: 1rem; width: calc(100% - 2rem); padding: 1.25rem; }
.ccard__big b { font-size: 2.75rem; }
.ccard__term b { font-size: 2rem; }

.inst__bar {
  flex-direction: column;
  align-items: flex-start;
  gap: .75rem;
  padding: 1.25rem;
  border-radius: var(--r-lg);
}

.reviews__head { margin-bottom: 1.5rem; }
.reviews__track { grid-auto-columns: calc((100% - 1.25rem) / 2); }

@media (max-width: 760px) {
  .reviews__nav { display: none; }
  .reviews__track { grid-auto-columns: 86%; gap: .75rem; }
  .rcard { padding: 1.5rem 1.25rem; border-radius: var(--r-lg); }
}

.insta__box {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.75rem 1.25rem 1.25rem;
  border-radius: var(--r-lg);
}

.insta__lead { margin: .75rem 0 1.25rem; }
.insta__head .btn { width: 100%; }
.insta__grid { gap: .5rem; }
.insta__tile { border-radius: var(--r-md); }
.insta__tile .ph::after { display: none; }
.insta__tile .ph::before { width: 1.5rem; height: 1.5rem; }

.faq__head {
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}

.faq__item summary { padding: 1rem 1.125rem; font-size: .9375rem; }
.faq__a { padding: 0 1.125rem 1.125rem; font-size: .9375rem; }

@media (max-width: 760px) {
  .faq__list { grid-template-columns: minmax(0, 1fr); }
  .faq__ask { width: 100%; }
}

.contacts__head {
  flex-direction: column;
  align-items: stretch;
  margin-bottom: 1.5rem;
}

.contacts__tab { flex: 1; padding: 0 .75rem; }

.contacts__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
}

.contacts__map { min-height: 20rem; border-radius: var(--r-lg); }

.final { padding: 2.5rem 0; }

.final__card {
  padding: 2rem 1.25rem;
  border-radius: var(--r-lg);
}

.final__tooth {
  top: 1rem;
  right: -2rem;
  width: 9rem;
  height: 9rem;
  transform: none;
  color: rgba(184, 155, 114, .25);
}

.final__title { font-size: 1.875rem; }

.kbf__head {
  flex-direction: column;
  align-items: stretch;
  margin-bottom: 1.25rem;
}

.kbf__grid {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(16rem, 82%);
  gap: .75rem;
  margin: 0 calc(var(--pad) * -1);
  padding: 0 var(--pad) .25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 0 var(--pad);
  scrollbar-width: none;
}

.kbf__grid::-webkit-scrollbar { display: none; }

.kbf__grid .kb-card { scroll-snap-align: start; }

.kbf .kb-card a { min-height: 12rem; }

.ftr { padding-top: 2rem; }

.ftr__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2rem 1.5rem;
}

.ftr__brand,
.ftr__col:last-child { grid-column: 1 / -1; }

.ftr__logo { height: 2.25rem; }

.ftr__col a {
  display: flex;
  align-items: center;
  min-height: 2.75rem;
}

.ftr__bottom {
  flex-direction: column;
  align-items: flex-start;
  margin-top: 1.5rem;
}

.svc { padding: 1.5rem 0 2.5rem; }
.crumbs { margin-bottom: 1.25rem; }

.svc__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}

.svc__title { font-size: clamp(1.875rem, 8vw, 2.75rem); }
.svc__photo { aspect-ratio: 4 / 3; border-radius: var(--r-lg); }

.incl { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.incl__card { padding: 1.5rem 1.25rem; border-radius: var(--r-lg); }
.incl__card h3 { margin-top: .75rem; font-size: 1.125rem; }

.flow {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.flow__step {
  padding: 0 0 1.5rem 4.25rem;
  min-height: 3.25rem;
}

.flow__step:not(:last-child)::after {
  top: 3.25rem;
  bottom: 0;
  left: 1.625rem;
  right: auto;
  width: 1px;
  height: auto;
}

.pgroup { padding: 1.25rem 1rem; }
.pgroup__name { font-size: 1.125rem; }
.pgroup__row td { font-size: .9375rem; }
.pgroup__val { padding-left: 1rem !important; }

.rel__list { grid-template-columns: minmax(0, 1fr); }

.rel__card { padding: 1rem 1.25rem; }

.svc__photo--portrait { aspect-ratio: 1 / 1; }

.about-stats { padding-bottom: 2rem; }

.about-stats .stats__item + .stats__item {
  padding-left: 0;
  border-left: 0;
}

.approach { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.approach__item { padding: 1.25rem; border-radius: var(--r-lg); }

.timeline__item {
  grid-template-columns: minmax(0, 1fr);
  gap: .375rem;
  padding: 1.125rem 0;
}

.certs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }

.kb-list__grid { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.kb-card a { padding: 1.25rem; border-radius: var(--r-lg); }

.kb__head { margin: .5rem 0 1.5rem; }
.kb__lead { font-size: 1rem; }
.kb__body h2 { margin-top: 1.75rem; font-size: 1.25rem; }
.kb__faq-title { font-size: 1.25rem; }
.kb__cta { padding: 1.25rem; border-radius: var(--r-lg); }

.land__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}

.land__answer { font-size: 1.125rem; }

.land__side { position: static; }
