/* Local copies keep the exported Tilda layout stable when its CDN is unavailable. */
@import url("./assets/vendor/tilda/tilda-grid-3.0.min.css");
@import url("./assets/vendor/tilda/tilda-blocks-page154473416.min.css");
@import url("./assets/vendor/tilda/tilda-animation-2.0.min.css");
@import url("./assets/vendor/tilda/tilda-popup-1.1.min.css");
@import url("./assets/vendor/tilda/tilda-forms-1.0.min.css");
@import url("./assets/vendor/tilda/tilda-menusub-1.0.min.css");
@import url("./assets/vendor/tilda/tilda-zoom-2.0.min.css");
@import url("./assets/vendor/tilda/tilda-zero-form-errorbox.min.css");

:root {
  color-scheme: light;
  --cmx-font: Inter, Arial, sans-serif;
  --cmx-text: #000;
  --cmx-muted: #717171;
  --cmx-surface: #fff;
  --cmx-canvas: #f8f8f8;
  --cmx-primary: #21ab1a;
  --cmx-primary-hover: #50c74c;
  --cmx-radius: 8px;
  --cmx-treatment-title: 40px;
  --cmx-treatment-title-line: 1.1;
  --cmx-treatment-title-spacing: -1.2px;
  --cmx-treatment-subtitle: 16px;
  --cmx-treatment-body: 16px;
  --cmx-treatment-button: 16px;
}

.cosmetolog-form-status {
  display: none;
  width: 100%;
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 8px;
  font: 400 12px/1.4 var(--t-text-font, Arial, sans-serif);
}

.cosmetolog-form-status.is-visible {
  display: block;
}

.cosmetolog-form-status.is-success {
  color: #12620e;
  background: #ecf9eb;
  border: 1px solid #91b590;
}

.cosmetolog-form-status.is-error {
  color: #8f1713;
  background: #fff0ef;
  border: 1px solid #e8a29e;
}

.cosmetolog-form-status a {
  color: inherit;
  font-weight: 600;
}

#rec2476942981 .t-submit:disabled,
#rec2477242221 .t-submit:disabled {
  cursor: wait;
  opacity: 0.72;
}

/* Keep the original poster visible until the VK iframe is ready. */
#rec2477062241 .t396__elem[data-elem-type="video"] iframe {
  border: 0;
}

#rec2477062241 .tn-elem[data-elem-id="1684502460868"],
#rec2477062241 .tn-elem[data-elem-id="1772634519894000001"] {
  display: none !important;
}

.cosmetolog-premium-headline {
  max-width: 100%;
  font-size: 42px !important;
  line-height: 1.04 !important;
  letter-spacing: -1.6px !important;
}

.cosmetolog-premium-headline__line {
  display: block;
  white-space: nowrap;
}

.cosmetolog-premium-word {
  position: relative;
  display: inline-block;
  color: #178613;
  background: linear-gradient(105deg, #126f0f 5%, #21ab1a 37%, #b28a35 50%, #21ab1a 63%, #126f0f 95%);
  background-size: 280% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 7px rgb(33 171 26 / 10%));
}

.cosmetolog-premium-word::after {
  position: absolute;
  right: 1%;
  bottom: -4px;
  left: 1%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #21ab1a 30%, #c4a04a 50%, #21ab1a 70%, transparent);
  box-shadow: 0 0 9px rgb(33 171 26 / 36%);
  content: "";
  transform: scaleX(0.16);
  transform-origin: center;
  opacity: 0;
}

/* Four opt-in headline motions are selected with ?headline_motion=1..4. */
.cosmetolog-premium-word--1 {
  background: linear-gradient(100deg, #126f0f 0 36%, #21ab1a 43%, #f1d990 49%, #21ab1a 55%, #126f0f 64% 100%);
  background-size: 360% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  animation: cosmetolog-premium-silk-glint 5.6s cubic-bezier(0.45, 0, 0.25, 1) infinite;
}

.cosmetolog-premium-word--1::after {
  display: none;
}

.cosmetolog-premium-word--2 {
  color: #11820f;
  background: none;
  -webkit-text-fill-color: currentColor;
  animation: cosmetolog-premium-emerald-aura 3.2s ease-in-out infinite;
}

.cosmetolog-premium-word--2::after {
  bottom: -5px;
  height: 3px;
  background: radial-gradient(circle, #d2b45e 0 12%, #21ab1a 34%, transparent 72%);
  box-shadow: 0 0 14px rgb(33 171 26 / 45%);
  animation: cosmetolog-premium-aura-line 3.2s ease-in-out infinite;
}

.cosmetolog-premium-word--3 {
  background: linear-gradient(90deg, #126f0f, #21ab1a 58%, #ad8738);
  background-clip: text;
  -webkit-background-clip: text;
  animation: cosmetolog-premium-cinematic-reveal 4.8s cubic-bezier(0.22, 1, 0.36, 1) infinite;
  transform-origin: left center;
}

.cosmetolog-premium-word--3::after {
  right: 0;
  left: 0;
  background: linear-gradient(90deg, #c7a34d, #21ab1a);
  transform-origin: left;
  animation: cosmetolog-premium-reveal-line 4.8s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.cosmetolog-premium-word--4 {
  background: linear-gradient(110deg, #0f7010 0 43%, #e2c36b 49%, #fff2b4 52%, #21ab1a 58%, #0f7010 100%);
  background-size: 340% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  animation: cosmetolog-premium-jewel-sweep 4.4s ease-in-out infinite;
}

.cosmetolog-premium-word--4::after {
  bottom: -3px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0 8%, #c7a34d 28%, #21ab1a 58%, transparent 92%);
  transform-origin: right;
  animation: cosmetolog-premium-signature-line 4.4s cubic-bezier(0.33, 1, 0.68, 1) infinite;
}

.cosmetolog-hero-actions {
  position: absolute;
  z-index: 20;
  top: 350px;
  left: calc(50% - 600px + 19px);
  display: grid;
  width: 560px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  text-align: center;
}

.cosmetolog-hero-action {
  display: flex;
  min-width: 0;
  height: 47px;
  align-items: center;
  justify-content: center;
  border: 1px solid #179311;
  border-radius: 8px;
  color: #fff !important;
  background: linear-gradient(105deg, #168f11, #21ab1a 55%, #2abb24);
  box-shadow: 0 7px 18px rgb(24 130 19 / 15%);
  font: 600 14px/1.2 Inter, Arial, sans-serif;
  text-align: center;
  text-decoration: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
  cursor: pointer;
}

.cosmetolog-hero-action--primary {
  font-size: 15px;
}

.cosmetolog-hero-action--secondary {
  border-color: #21ab1a;
  color: #157c11 !important;
  background: #fff;
  box-shadow: 0 7px 18px rgb(24 130 19 / 9%);
}

.cosmetolog-hero-actions__microcopy {
  grid-column: 1 / -1;
  color: #4c584c;
  font: 500 13px/1.35 Inter, Arial, sans-serif;
}

.cosmetolog-hero-actions__phone {
  grid-column: 1 / -1;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  color: #126e10 !important;
  font: 600 13px/1.35 Inter, Arial, sans-serif;
  text-decoration: underline;
  text-decoration-color: rgb(18 110 16 / 32%);
  text-underline-offset: 3px;
}

.cosmetolog-hero-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgb(24 130 19 / 23%);
  filter: saturate(1.05);
}

.cosmetolog-hero-action:focus-visible,
.cosmetolog-hero-actions__phone:focus-visible,
.cosmetolog-doctor-review:focus-visible,
.cosmetolog-review-badge__link:focus-visible,
.cosmetolog-task-card:focus-visible,
.cosmetolog-contact-dialog button:focus-visible,
.cosmetolog-contact-dialog a:focus-visible,
.cosmetolog-booking-dialog button:focus-visible,
.cosmetolog-booking-dialog input:focus-visible,
.cosmetolog-booking-dialog a:focus-visible,
.cosmetolog-review-source a:focus-visible,
.cosmetolog-faq-item summary:focus-visible,
.cosmetolog-faq-cta button:focus-visible {
  outline: 3px solid #c7a34d;
  outline-offset: 3px;
}

#rec2477062241 .cosmetolog-benefit {
  position: absolute;
  isolation: isolate;
  display: block !important;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0 !important;
  border: 1px solid #21ab1a;
  border-radius: 9px;
  background: linear-gradient(135deg, #fff 0%, #fff 70%, #f3fbf2 100%);
  box-shadow: 0 10px 24px rgb(27 105 23 / 7%);
}

#rec2477062241 .cosmetolog-benefit::after {
  position: absolute;
  z-index: -1;
  top: -35%;
  left: -55%;
  width: 38%;
  height: 175%;
  background: linear-gradient(90deg, transparent, rgb(255 255 255 / 82%), transparent);
  content: "";
  transform: rotate(13deg);
  animation: cosmetolog-card-shimmer 6.5s ease-in-out infinite;
}

.cosmetolog-benefit__content {
  display: grid;
  height: 100%;
  box-sizing: border-box;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 18px 18px 18px 20px;
}

.cosmetolog-benefit__label {
  min-width: 0;
  color: #101710;
  font: 500 17px/1.28 Inter, Arial, sans-serif;
  letter-spacing: -0.18px;
  text-align: left;
}

.cosmetolog-benefit__icon {
  display: block;
  width: 54px;
  height: 54px;
  fill: #21ab1a;
  filter: drop-shadow(0 5px 8px rgb(33 171 26 / 18%));
}

.cosmetolog-review-badge {
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.cosmetolog-review-badge:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgb(0 0 0 / 10%);
}

.cosmetolog-review-badge__link {
  position: absolute;
  z-index: 20;
  inset: 0;
  border-radius: inherit;
}

#rec2477062241 .tn-elem[data-elem-id="1784226860875000001"].cosmetolog-video {
  left: calc(50% - 600px + 695px) !important;
  width: 410px !important;
  height: auto !important;
  aspect-ratio: 9 / 16;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 8px;
  background: #101510;
}

.cosmetolog-video .tn-atom {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  background-position: center !important;
  background-size: cover !important;
}

.cosmetolog-video__player {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: inherit;
  background: #101510;
  object-fit: cover;
}

/* The cover's painted CTA is one accessible button, not a second analytics path. */
.cosmetolog-video__cover {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  cursor: pointer;
  touch-action: manipulation;
}

.cosmetolog-video__cover[hidden] {
  display: none;
}

.cosmetolog-video__cover:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -6px;
  box-shadow: inset 0 0 0 9px #188814;
}

.cosmetolog-video__cover[aria-busy="true"]::after {
  content: "Запускаем видео…";
  position: absolute;
  right: 12%;
  bottom: 3%;
  left: 12%;
  padding: 12px 4px;
  border-radius: 999px;
  color: #fff;
  background: #188814;
  font: 600 clamp(12px, 2vw, 17px)/1.4 Inter, Arial, sans-serif;
  text-align: center;
}

@media screen and (max-width: 1199px) {
  #rec2477062241 .tn-elem[data-elem-id="1784226860875000001"].cosmetolog-video {
    left: calc(50% - 480px + 540px) !important;
    width: 371px !important;
  }
}

@media screen and (max-width: 959px) {
  #rec2477062241 .tn-elem[data-elem-id="1784226860875000001"].cosmetolog-video {
    left: 50% !important;
    width: min(440px, calc(100% - 40px)) !important;
    transform: translateX(-50%) !important;
  }
}

.cosmetolog-rejuvenation-gallery {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cosmetolog-rejuvenation-result {
  overflow: hidden;
  margin: 0;
  border: 1px solid rgb(33 171 26 / 18%);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 26px rgb(27 67 25 / 8%);
  aspect-ratio: 4 / 3;
}

.cosmetolog-rejuvenation-result img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease, filter 220ms ease;
}

.cosmetolog-rejuvenation-result__open {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: zoom-in;
}

.cosmetolog-rejuvenation-result__open:hover img {
  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.025);
}

.cosmetolog-rejuvenation-result__open:focus-visible {
  outline: 3px solid #c7a34d;
  outline-offset: -3px;
}

.cosmetolog-gallery-lightbox {
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  box-sizing: border-box;
  place-items: center;
  padding: clamp(18px, 4vw, 48px);
  border: 0;
  background: transparent;
}

.cosmetolog-gallery-lightbox[open] {
  display: grid;
}

.cosmetolog-gallery-lightbox::backdrop {
  background: rgb(8 18 8 / 86%);
  backdrop-filter: blur(7px);
}

.cosmetolog-gallery-lightbox--fallback {
  position: fixed;
  z-index: 100000;
  inset: 0;
  background: rgb(8 18 8 / 86%);
  backdrop-filter: blur(7px);
}

.cosmetolog-gallery-lightbox__content {
  position: relative;
  display: grid;
  max-width: min(1100px, 92vw);
  max-height: 92vh;
  box-sizing: border-box;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 18px;
  background: #101510;
  box-shadow: 0 28px 80px rgb(0 0 0 / 48%);
}

.cosmetolog-gallery-lightbox__image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(92vh - 86px);
  margin: auto;
  border-radius: 10px;
  object-fit: contain;
}

.cosmetolog-gallery-lightbox__caption {
  margin: 0;
  padding: 0 42px 2px 4px;
  color: #fff;
  font: 500 14px/1.4 Inter, Arial, sans-serif;
}

.cosmetolog-gallery-lightbox__close {
  position: absolute;
  z-index: 2;
  top: -16px;
  right: -16px;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0 0 3px;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 62%);
  border-radius: 50%;
  color: #173417;
  background: #fff;
  box-shadow: 0 9px 28px rgb(0 0 0 / 30%);
  cursor: pointer;
  font: 300 34px/1 Arial, sans-serif;
}

.cosmetolog-gallery-lightbox__close:focus-visible {
  outline: 3px solid #c7a34d;
  outline-offset: 3px;
}

body.cosmetolog-gallery-lightbox-open {
  overflow: hidden;
}

.cosmetolog-treatment {
  box-sizing: border-box;
  margin: 0 14px;
  color: var(--cmx-text);
  background: var(--cmx-surface);
  border-radius: var(--cmx-radius);
  font-family: var(--cmx-font);
}

.cosmetolog-treatment__inner {
  display: grid;
  box-sizing: border-box;
  width: min(1160px, calc(100% - 12px));
  margin: 0 auto;
  padding: 20px 0;
  grid-template-areas:
    "copy gallery"
    "cta gallery";
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  align-items: start;
  gap: 18px 60px;
}

.cosmetolog-treatment__copy {
  grid-area: copy;
  min-width: 0;
}

.cosmetolog-treatment__title {
  margin: 0 0 16px;
  font: 500 var(--cmx-treatment-title)/var(--cmx-treatment-title-line) var(--cmx-font);
  letter-spacing: var(--cmx-treatment-title-spacing);
}

.cosmetolog-treatment__subtitle {
  margin: 0 0 20px;
  color: var(--cmx-muted);
  font: 400 var(--cmx-treatment-subtitle)/1.5 var(--cmx-font);
}

.cosmetolog-treatment__body {
  font: 400 var(--cmx-treatment-body)/1.5 var(--cmx-font);
}

.cosmetolog-treatment__body p {
  margin: 0 0 24px;
}

.cosmetolog-treatment__body p:last-child {
  margin-bottom: 0;
}

.cosmetolog-treatment__cta {
  display: flex;
  box-sizing: border-box;
  grid-area: cta;
  align-self: end;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid var(--cmx-primary);
  border-radius: var(--cmx-radius);
  color: #fff !important;
  background: var(--cmx-primary);
  cursor: pointer;
  font: 500 var(--cmx-treatment-button)/1.2 var(--cmx-font);
  letter-spacing: -0.01em;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s, border-color 0.2s;
}

.cosmetolog-treatment__cta:hover {
  background: var(--cmx-primary-hover);
  border-color: var(--cmx-primary-hover);
}

.cosmetolog-treatment__cta:focus-visible {
  outline: 3px solid #c7a34d;
  outline-offset: 3px;
}

.cosmetolog-treatment__gallery {
  grid-area: gallery;
  align-self: start;
  min-width: 0;
  padding: 16px;
  border-radius: var(--cmx-radius);
  background: var(--cmx-canvas);
}

@media screen and (max-width: 1199px) {
  .cosmetolog-treatment {
    --cmx-treatment-title: 36px;
    --cmx-treatment-title-spacing: -1.08px;
    --cmx-treatment-subtitle: 14px;
    --cmx-treatment-button: 14px;
  }

  .cosmetolog-treatment__inner {
    gap: 18px 40px;
  }
}

@media screen and (max-width: 959px) {
  .cosmetolog-treatment__inner {
    width: min(600px, calc(100% - 12px));
    grid-template-areas: "copy" "gallery" "cta";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 20px;
  }
}

@media screen and (max-width: 639px) {
  .cosmetolog-treatment {
    --cmx-treatment-title: 20px;
    --cmx-treatment-title-line: 1.2;
    --cmx-treatment-title-spacing: -0.6px;
    --cmx-treatment-subtitle: 12px;
    --cmx-treatment-button: 12px;
    margin: 0 6px;
  }

  .cosmetolog-treatment__inner {
    width: min(441px, calc(100% - 28px));
    gap: 16px;
    padding: 10px 0;
  }

  .cosmetolog-treatment__title {
    margin-bottom: 8px;
  }

  .cosmetolog-treatment__gallery {
    padding: 8px;
  }

  .cosmetolog-treatment__cta {
    min-height: 44px;
  }
}

@media screen and (max-width: 479px) {
  .cosmetolog-treatment {
    --cmx-treatment-body: 14px;
  }

  .cosmetolog-treatment__inner {
    width: min(335px, calc(100% - 28px));
  }
}

#rec2475454011 .cosmetolog-doctor-actions {
  display: grid !important;
  width: 455px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#rec2475454011 .cosmetolog-doctor-actions > .tn-atom,
.cosmetolog-doctor-review {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  width: auto !important;
  min-width: 0;
  height: 47px !important;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  border: 1px solid #21ab1a !important;
  border-radius: 8px !important;
  font: 600 14px/1.2 Inter, Arial, sans-serif !important;
  text-align: center;
  text-decoration: none !important;
}

.cosmetolog-doctor-review {
  color: #157b11 !important;
  background: #fff !important;
  box-shadow: 0 7px 18px rgb(24 130 19 / 9%);
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.cosmetolog-doctor-review:hover {
  color: #fff !important;
  background: #21ab1a !important;
  transform: translateY(-2px);
}

.cosmetolog-floating-social {
  display: grid !important;
  width: 50px !important;
  height: 50px !important;
  box-sizing: border-box;
  place-items: center;
  overflow: visible;
  background: #fff !important;
}

.cosmetolog-floating-social .t898__svg__wrapper {
  display: grid !important;
  width: 50px !important;
  height: 50px !important;
  place-items: center;
  pointer-events: none;
}

.cosmetolog-floating-social .t898__svg__bg {
  display: none !important;
}

.cosmetolog-floating-social .t-sociallinks__svg {
  display: block;
  width: 29px !important;
  height: 29px !important;
}

@keyframes cosmetolog-premium-silk-glint {
  0%, 58%, 100% {
    background-position: 100% 0;
    filter: drop-shadow(0 2px 6px rgb(33 171 26 / 10%));
  }
  76% {
    background-position: 0 0;
    filter: drop-shadow(0 2px 8px rgb(199 163 77 / 25%));
  }
}

@keyframes cosmetolog-premium-emerald-aura {
  0%, 100% {
    filter: drop-shadow(0 1px 4px rgb(33 171 26 / 10%));
    letter-spacing: inherit;
    transform: translateY(0);
  }
  46% {
    color: #19a317;
    filter: drop-shadow(0 2px 11px rgb(33 171 26 / 48%)) drop-shadow(0 0 16px rgb(210 180 94 / 22%));
    letter-spacing: 0.018em;
    transform: translateY(-1px);
  }
}

@keyframes cosmetolog-premium-aura-line {
  0%, 100% { opacity: 0.12; transform: scaleX(0.32); }
  46% { opacity: 0.95; transform: scaleX(0.9); }
}

@keyframes cosmetolog-premium-cinematic-reveal {
  0%, 8% { clip-path: inset(0 100% 0 0); opacity: 0; transform: translateY(5px); }
  24%, 78% { clip-path: inset(0 0 0 0); opacity: 1; transform: translateY(0); }
  92%, 100% { clip-path: inset(0 0 0 0); opacity: 0.88; transform: translateY(0); }
}

@keyframes cosmetolog-premium-reveal-line {
  0%, 10% { opacity: 0; transform: scaleX(0); }
  30%, 72% { opacity: 0.9; transform: scaleX(1); }
  92%, 100% { opacity: 0; transform: scaleX(1); }
}

@keyframes cosmetolog-premium-jewel-sweep {
  0%, 48%, 100% { background-position: 100% 0; filter: drop-shadow(0 2px 6px rgb(33 171 26 / 12%)); }
  70% { background-position: 0 0; filter: drop-shadow(0 3px 10px rgb(199 163 77 / 34%)); }
}

@keyframes cosmetolog-premium-signature-line {
  0%, 42% { opacity: 0; transform: scaleX(0); }
  62%, 78% { opacity: 0.92; transform: scaleX(1); }
  100% { opacity: 0; transform: scaleX(1); }
}

@keyframes cosmetolog-card-shimmer {
  0%, 72% { left: -55%; opacity: 0; }
  78% { opacity: 0.8; }
  92%, 100% { left: 125%; opacity: 0; }
}

.cosmetolog-section-anchor {
  display: block;
  height: 0;
  scroll-margin-top: 96px;
}

#rec683702249 .t228__list_item {
  padding: 0 11px !important;
}

#rec683702249 .t-sociallinks__wrapper {
  align-items: center;
  gap: 8px;
}

#rec683702249 .t-sociallinks__item {
  margin: 0 !important;
}

/* Keep the social-icon row and phone number; replace only the generic CTA. */
#rec683702249 .t228__right_buttons_but:nth-child(2) {
  display: none !important;
}

.cosmetolog-header-actions {
  box-sizing: border-box;
  font-family: Inter, Arial, sans-serif;
}

.cosmetolog-header-actions--desktop {
  padding: 10px 22px;
  border-top: 1px solid #e5f0e3;
  border-bottom: 1px solid #dcebd9;
  background: linear-gradient(180deg, #fff 0%, #f6fbf5 100%);
  box-shadow: 0 7px 20px rgb(17 76 17 / 6%);
}

.cosmetolog-header-actions__list {
  display: grid;
  width: min(1180px, 100%);
  margin: 0 auto;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.cosmetolog-header-actions__button {
  display: flex;
  box-sizing: border-box;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 11px;
  border: 1px solid #159b11;
  border-radius: 10px;
  color: #fff !important;
  background: linear-gradient(110deg, #168d12, #21ab1a);
  box-shadow: 0 4px 10px rgb(19 123 16 / 12%);
  font: 600 13px/1.25 Inter, Arial, sans-serif;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.cosmetolog-header-actions__button:hover {
  background: #168f11;
  box-shadow: 0 7px 16px rgb(19 123 16 / 19%);
  transform: translateY(-1px);
}

.cosmetolog-header-actions__button:focus-visible {
  outline: 3px solid #c7a34d;
  outline-offset: 2px;
}

.cosmetolog-header-actions--mobile {
  display: none;
}

@media screen and (max-width: 980px) {
  .cosmetolog-header-actions--desktop {
    display: none;
  }

  #rec683702249 .t228.tmenu-mobile__menucontent_fixed {
    height: calc(100dvh - 64px) !important;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  #rec683702249 .cosmetolog-header-actions--mobile {
    display: block;
    width: 100%;
    padding: 10px 18px;
  }

  #rec683702249 .cosmetolog-header-actions--mobile .cosmetolog-header-actions__list {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  #rec683702249 .cosmetolog-header-actions__button {
    width: 100%;
    min-height: 43px;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cosmetolog-header-actions__button {
    transition: none;
  }

  .cosmetolog-header-actions__button:hover {
    transform: none;
  }
}

.cosmetolog-map {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
  background: #e8e8e6;
}

.cosmetolog-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.cosmetolog-map__link {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  padding: 10px 14px;
  border-radius: 8px;
  color: #fff !important;
  background: #21ab1a;
  box-shadow: 0 4px 16px rgb(0 0 0 / 18%);
  font: 600 13px/1.2 Inter, Arial, sans-serif;
  text-decoration: none;
}

.cosmetolog-map__link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}

.cosmetolog-conversion-section {
  position: relative;
  box-sizing: border-box;
  padding: 76px 20px;
  color: #142114;
  background: #fff;
  font-family: Inter, Arial, sans-serif;
}

.cosmetolog-conversion-container {
  width: min(1160px, 100%);
  margin: 0 auto;
}

.cosmetolog-conversion-header {
  max-width: 760px;
  margin-bottom: 34px;
}

.cosmetolog-conversion-eyebrow {
  margin: 0 0 9px;
  color: #188814;
  font: 700 12px/1.3 Inter, Arial, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cosmetolog-conversion-header h2,
.cosmetolog-contact-dialog h2 {
  margin: 0;
  color: #101810;
  font: 600 clamp(30px, 4vw, 48px)/1.07 Inter, Arial, sans-serif;
  letter-spacing: -0.035em;
}

.cosmetolog-conversion-description {
  max-width: 720px;
  margin: 16px 0 0;
  color: #586258;
  font: 400 17px/1.55 Inter, Arial, sans-serif;
}

.cosmetolog-task-planner {
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 4%, rgb(199 163 77 / 14%), transparent 31%),
    linear-gradient(180deg, #f7faf6, #fff 62%);
}

.cosmetolog-task-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.cosmetolog-task-card {
  position: relative;
  display: grid;
  min-height: 160px;
  box-sizing: border-box;
  grid-template-rows: auto 1fr auto;
  gap: 9px;
  padding: 22px;
  border: 1px solid #dce9db;
  border-radius: 16px;
  color: #142114;
  background: rgb(255 255 255 / 92%);
  box-shadow: 0 12px 30px rgb(30 83 27 / 6%);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.cosmetolog-task-card:hover,
.cosmetolog-task-card.is-selected {
  border-color: #21ab1a;
  box-shadow: 0 16px 36px rgb(28 127 23 / 13%);
  transform: translateY(-2px);
}

.cosmetolog-task-card.is-selected::after {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #21ab1a;
  content: "✓";
  font: 700 14px/1 Inter, Arial, sans-serif;
}

.cosmetolog-task-card strong {
  max-width: calc(100% - 28px);
  font-size: 18px;
  line-height: 1.25;
}

.cosmetolog-task-card > span:not(.cosmetolog-task-card__action) {
  color: #667066;
  font-size: 14px;
  line-height: 1.45;
}

.cosmetolog-task-card__action {
  color: #188814;
  font-size: 13px;
  font-weight: 700;
}

.cosmetolog-no-pressure {
  display: grid;
  margin-top: 26px;
  padding: 30px;
  border: 1px solid rgb(33 171 26 / 38%);
  border-radius: 18px;
  grid-template-columns: minmax(190px, 0.85fr) minmax(220px, 1fr) minmax(340px, 1.7fr);
  align-items: center;
  gap: 22px;
  background: linear-gradient(110deg, #fff, #f2fbf1);
  box-shadow: 0 14px 34px rgb(35 104 31 / 7%);
}

.cosmetolog-no-pressure h3,
.cosmetolog-no-pressure p {
  margin: 0;
}

.cosmetolog-no-pressure h3 {
  font-size: 25px;
  line-height: 1.15;
}

.cosmetolog-no-pressure p {
  color: #5e695e;
  font-size: 14px;
  line-height: 1.5;
}

.cosmetolog-no-pressure ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 10px;
  list-style: none;
}

.cosmetolog-no-pressure li {
  position: relative;
  padding-left: 29px;
  font-size: 14px;
  line-height: 1.4;
}

.cosmetolog-no-pressure li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #21ab1a;
  content: "✓";
  font-size: 12px;
  font-weight: 700;
}

.cosmetolog-independent-reviews {
  background: #f7f9f6;
}

.cosmetolog-review-source-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.cosmetolog-review-source {
  display: grid;
  min-height: 210px;
  box-sizing: border-box;
  grid-template-rows: auto 1fr auto;
  gap: 18px;
  padding: 24px;
  border: 1px solid #e1e8df;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 28px rgb(35 80 32 / 6%);
}

.cosmetolog-review-source__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.cosmetolog-review-source h3,
.cosmetolog-review-source p {
  margin: 0;
}

.cosmetolog-review-source h3 {
  font-size: 18px;
  line-height: 1.25;
}

.cosmetolog-review-source__top strong {
  padding: 7px 10px;
  border-radius: 999px;
  color: #13740f;
  background: #eaf8e9;
  font-size: 16px;
}

.cosmetolog-review-source p {
  color: #5d675d;
  font-size: 14px;
  line-height: 1.55;
}

.cosmetolog-review-source a {
  width: max-content;
  color: #188814 !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.cosmetolog-faq {
  background: linear-gradient(180deg, #fff, #f6faf5);
}

.cosmetolog-faq-list {
  border-top: 1px solid #dfe7dd;
}

.cosmetolog-faq-item {
  border-bottom: 1px solid #dfe7dd;
}

.cosmetolog-faq-item summary {
  position: relative;
  padding: 22px 52px 22px 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  list-style: none;
  cursor: pointer;
}

.cosmetolog-faq-item summary::-webkit-details-marker {
  display: none;
}

.cosmetolog-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 4px;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #bcdabb;
  border-radius: 50%;
  color: #188814;
  content: "+";
  font-size: 22px;
  font-weight: 400;
  transform: translateY(-50%);
  transition: transform 180ms ease, background 180ms ease;
}

.cosmetolog-faq-item[open] summary::after {
  color: #fff;
  background: #21ab1a;
  transform: translateY(-50%) rotate(45deg);
}

.cosmetolog-faq-item p {
  max-width: 820px;
  margin: -4px 0 22px;
  color: #596359;
  font-size: 15px;
  line-height: 1.6;
}

.cosmetolog-faq-cta {
  display: flex;
  margin-top: 30px;
  padding: 24px 26px;
  border-radius: 16px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: #132313;
  box-shadow: 0 18px 40px rgb(12 43 10 / 14%);
}

.cosmetolog-faq-cta > div {
  display: grid;
  gap: 5px;
  color: #fff;
}

.cosmetolog-faq-cta strong {
  font-size: 19px;
}

.cosmetolog-faq-cta span {
  color: rgb(255 255 255 / 72%);
  font-size: 14px;
}

.cosmetolog-faq-cta button {
  box-sizing: border-box;
  min-width: 210px;
  padding: 14px 22px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: #21ab1a;
  font: 700 14px/1.2 Inter, Arial, sans-serif;
  cursor: pointer;
}

.cosmetolog-contact-dialog {
  z-index: 2147483639;
  width: min(620px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  box-sizing: border-box;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: #142114;
  background: transparent;
  box-shadow: 0 28px 90px rgb(0 0 0 / 28%);
  font-family: Inter, Arial, sans-serif;
}

.cosmetolog-contact-dialog::backdrop {
  background: rgb(10 20 10 / 58%);
  backdrop-filter: blur(5px);
}

.cosmetolog-contact-dialog--fallback {
  position: fixed;
  top: 50%;
  left: 50%;
  display: block;
  margin: 0;
  transform: translate(-50%, -50%);
}

.cosmetolog-contact-dialog__panel {
  position: relative;
  overflow: auto;
  max-height: calc(100dvh - 32px);
  box-sizing: border-box;
  padding: 34px;
  border: 1px solid rgb(33 171 26 / 23%);
  border-radius: 20px;
  background:
    radial-gradient(circle at 95% 0%, rgb(199 163 77 / 14%), transparent 34%),
    #fff;
}

.cosmetolog-contact-dialog__close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #dce6da;
  border-radius: 50%;
  place-items: center;
  color: #263026;
  background: #fff;
  font: 300 28px/1 Inter, Arial, sans-serif;
  cursor: pointer;
}

.cosmetolog-contact-dialog h2 {
  max-width: 470px;
  padding-right: 32px;
  font-size: 34px;
}

.cosmetolog-contact-dialog__intro {
  margin: 12px 0 22px;
  color: #5c665c;
  font-size: 15px;
  line-height: 1.5;
}

.cosmetolog-contact-dialog__selected {
  display: grid;
  margin-bottom: 16px;
  padding: 13px 15px;
  border-left: 3px solid #21ab1a;
  border-radius: 0 9px 9px 0;
  gap: 4px;
  background: #f2faf1;
}

.cosmetolog-contact-dialog__selected span,
.cosmetolog-contact-dialog__message-label {
  color: #687268;
  font-size: 12px;
  font-weight: 600;
}

.cosmetolog-contact-dialog__selected strong {
  font-size: 15px;
}

.cosmetolog-contact-dialog__message-label {
  display: block;
  margin: 0 0 7px;
}

.cosmetolog-contact-dialog__message {
  display: block;
  width: 100%;
  min-height: 92px;
  resize: vertical;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid #d5e3d3;
  border-radius: 10px;
  color: #273027;
  background: #fbfcfb;
  font: 400 14px/1.45 Inter, Arial, sans-serif;
}

.cosmetolog-contact-dialog__copy {
  margin-top: 9px;
  padding: 8px 11px;
  border: 1px solid #b9d9b7;
  border-radius: 7px;
  color: #177914;
  background: #fff;
  font: 700 12px/1.2 Inter, Arial, sans-serif;
  cursor: pointer;
}

.cosmetolog-contact-dialog__copy-status {
  margin-left: 10px;
  color: #177914;
  font-size: 12px;
}

.cosmetolog-contact-dialog__channels {
  display: grid;
  margin-top: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.cosmetolog-contact-channel {
  display: flex;
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #179311;
  border-radius: 9px;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  background: #21ab1a;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
}

.cosmetolog-contact-channel--phone {
  border-color: #df2c2c;
  background: #ec3b3b;
}

.cosmetolog-contact-dialog__hint {
  margin: 12px 0 0;
  color: #737b73;
  font-size: 12px;
  line-height: 1.4;
}

body.cosmetolog-contact-dialog-open {
  overflow: hidden;
}

body.cosmetolog-contact-dialog-open #rec1982999281 {
  visibility: hidden;
}

.cosmetolog-booking-dialog {
  z-index: 2147483640;
  width: min(720px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  box-sizing: border-box;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: #142114;
  background: transparent;
  box-shadow: 0 28px 90px rgb(0 0 0 / 30%);
  font-family: Inter, Arial, sans-serif;
}

.cosmetolog-booking-dialog::backdrop {
  background: rgb(10 20 10 / 62%);
  backdrop-filter: blur(5px);
}

.cosmetolog-booking-dialog--fallback {
  position: fixed;
  top: 50%;
  left: 50%;
  display: block;
  margin: 0;
  transform: translate(-50%, -50%);
}

.cosmetolog-booking-dialog__panel {
  position: relative;
  overflow: auto;
  max-height: calc(100dvh - 32px);
  box-sizing: border-box;
  padding: 34px;
  border: 1px solid rgb(33 171 26 / 25%);
  border-radius: 20px;
  background:
    radial-gradient(circle at 96% 0%, rgb(199 163 77 / 15%), transparent 34%),
    #fff;
}

.cosmetolog-booking-dialog__close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #dce6da;
  border-radius: 50%;
  place-items: center;
  color: #263026;
  background: #fff;
  font: 300 28px/1 Inter, Arial, sans-serif;
  cursor: pointer;
}

.cosmetolog-booking-dialog h2 {
  max-width: 520px;
  margin: 0;
  padding-right: 44px;
  font-size: 34px;
  line-height: 1.1;
}

.cosmetolog-booking-service {
  display: grid;
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 3px solid #21ab1a;
  border-radius: 0 10px 10px 0;
  gap: 5px;
  background: #f2faf1;
}

.cosmetolog-booking-service strong {
  font-size: 15px;
}

.cosmetolog-booking-service span {
  color: #5d685d;
  font-size: 13px;
}

.cosmetolog-booking-interactive[hidden],
.cosmetolog-booking-state[hidden] {
  display: none !important;
}

.cosmetolog-booking-state {
  display: grid;
  min-height: 300px;
  box-sizing: border-box;
  padding: 18px 0 8px;
  place-items: center;
  outline: none;
}

.cosmetolog-booking-state > * {
  width: min(100%, 570px);
  box-sizing: border-box;
}

.cosmetolog-booking-status {
  margin: 16px 0;
  padding: 14px;
  border-radius: 10px;
  color: #4f5d4f;
  background: #f5f7f5;
  font-size: 14px;
  line-height: 1.45;
}

.cosmetolog-booking-status.is-error {
  color: #8c2626;
  background: #fff1f1;
}

.cosmetolog-booking-status button {
  margin-left: 5px;
  padding: 5px 9px;
  border: 1px solid #21ab1a;
  border-radius: 6px;
  color: #157c11;
  background: #fff;
  font-weight: 700;
  cursor: pointer;
}

.cosmetolog-booking-dates,
.cosmetolog-booking-times {
  display: flex;
  overflow-x: auto;
  padding: 2px 2px 9px;
  gap: 8px;
  scrollbar-width: thin;
}

.cosmetolog-booking-times {
  flex-wrap: wrap;
  overflow: visible;
  margin-top: 4px;
  padding-bottom: 16px;
}

.cosmetolog-booking-date,
.cosmetolog-booking-time {
  flex: 0 0 auto;
  padding: 10px 13px;
  border: 1px solid #cfe1cd;
  border-radius: 9px;
  color: #284128;
  background: #fff;
  font: 600 13px/1.2 Inter, Arial, sans-serif;
  cursor: pointer;
}

.cosmetolog-booking-date.is-selected,
.cosmetolog-booking-time.is-selected {
  border-color: #1b9c16;
  color: #fff;
  background: #21ab1a;
  box-shadow: 0 7px 18px rgb(33 171 26 / 19%);
}

.cosmetolog-booking-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.cosmetolog-booking-form[hidden],
.cosmetolog-video-error[hidden] {
  display: none;
}

.cosmetolog-booking-step {
  margin: 0 0 12px;
  color: #344334;
  font: 600 14px/1.5 Inter, Arial, sans-serif;
}

.cosmetolog-booking-step--contacts {
  grid-column: 1 / -1;
  margin: 4px 0 0;
}

.cosmetolog-booking-feedback {
  margin: 0 0 14px;
  color: #ba2525;
  font: 400 13px/1.5 var(--cmx-font);
}

.cosmetolog-booking-status a,
.cosmetolog-booking-form-status a {
  color: var(--cmx-primary);
  text-decoration: underline;
}

.cosmetolog-booking-form [aria-invalid="true"] {
  border-color: #ba2525;
  outline: 2px solid rgb(186 37 37 / 18%);
}

.cosmetolog-booking-time:disabled,
.cosmetolog-booking-date:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.cosmetolog-video-error {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 18px;
  padding: 24px;
  border-radius: inherit;
  color: #fff;
  background: rgb(20 30 20 / 88%);
  text-align: center;
  font: 400 14px/1.5 Inter, Arial, sans-serif;
}

.cosmetolog-video-error button {
  min-height: 44px;
  padding: 12px 18px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--cmx-primary);
  font: 600 14px/1.4 Inter, Arial, sans-serif;
  cursor: pointer;
}

.cosmetolog-video-error button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cosmetolog-video-error button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.cosmetolog-booking-form > label:not(.cosmetolog-booking-consent) {
  display: grid;
  gap: 7px;
  color: #344334;
  font-size: 13px;
  font-weight: 700;
}

.cosmetolog-booking-form input[type="text"],
.cosmetolog-booking-form input[type="tel"] {
  width: 100%;
  height: 48px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid #cddacb;
  border-radius: 9px;
  color: #1a251a;
  background: #fff;
  font: 400 15px/1.2 Inter, Arial, sans-serif;
}

.cosmetolog-booking-trap {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.cosmetolog-booking-consent {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  gap: 10px;
  color: #596459;
  font-size: 12px;
  line-height: 1.4;
}

.cosmetolog-booking-consent input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin: 0;
  accent-color: #21ab1a;
}

.cosmetolog-booking-consent a {
  color: #157c11;
}

.cosmetolog-booking-submit {
  min-height: 49px;
  grid-column: 1 / -1;
  border: 1px solid #179311;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(105deg, #168f11, #21ab1a 55%, #2abb24);
  box-shadow: 0 9px 22px rgb(24 130 19 / 18%);
  font: 700 14px/1.2 Inter, Arial, sans-serif;
  cursor: pointer;
}

.cosmetolog-booking-submit:disabled {
  opacity: 0.48;
  box-shadow: none;
  cursor: not-allowed;
}

.cosmetolog-booking-submit.is-submitting {
  opacity: 1;
  background-size: 220% 100%;
  animation: cosmetolog-booking-button-flow 1.1s linear infinite;
}

.cosmetolog-booking-submit.is-success {
  opacity: 1;
  border-color: #b9943f;
  background: linear-gradient(105deg, #11780d, #20a91a 58%, #b9943f);
}

.cosmetolog-booking-form-status {
  min-height: 20px;
  grid-column: 1 / -1;
  color: #5b665b;
  font-size: 13px;
  line-height: 1.4;
}

.cosmetolog-booking-form-status.is-error {
  color: #a12626;
}

.cosmetolog-booking-form-status.is-success {
  color: #116d0e;
}

.cosmetolog-booking-progress,
.cosmetolog-booking-success {
  position: relative;
  overflow: hidden;
  border: 1px solid rgb(33 171 26 / 25%);
  border-radius: 14px;
  background:
    radial-gradient(circle at 90% 0%, rgb(199 163 77 / 16%), transparent 38%),
    linear-gradient(135deg, #f8fcf7, #fff);
  box-shadow: 0 12px 30px rgb(23 92 20 / 10%);
}

.cosmetolog-booking-progress {
  display: flex;
  align-items: center;
  min-height: 172px;
  box-sizing: border-box;
  padding: 28px 30px;
  gap: 18px;
}

.cosmetolog-booking-progress::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 28%;
  background: linear-gradient(90deg, transparent, rgb(255 255 255 / 85%), transparent);
  content: "";
  transform: skewX(-18deg);
  animation: cosmetolog-booking-sheen 1.15s ease-in-out infinite;
}

.cosmetolog-booking-progress__emblem {
  position: relative;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  border: 3px solid rgb(33 171 26 / 18%);
  border-top-color: #21ab1a;
  border-right-color: #b9943f;
  border-radius: 50%;
  animation: cosmetolog-booking-orbit 0.8s linear infinite;
}

.cosmetolog-booking-progress__emblem::after {
  position: absolute;
  inset: 11px;
  border-radius: 50%;
  background: #21ab1a;
  box-shadow: 0 0 0 5px rgb(33 171 26 / 10%);
  content: "";
}

.cosmetolog-booking-progress__copy {
  display: grid;
  gap: 4px;
}

.cosmetolog-booking-progress__copy strong {
  color: #173917;
  font-size: 20px;
  line-height: 1.2;
}

.cosmetolog-booking-progress__copy span {
  color: #617061;
  font-size: 14px;
  line-height: 1.45;
}

.cosmetolog-booking-success {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  min-height: 236px;
  box-sizing: border-box;
  padding: 24px;
  gap: 2px 14px;
  animation: cosmetolog-booking-success-reveal 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.cosmetolog-booking-success__check {
  display: grid;
  width: 46px;
  height: 46px;
  grid-row: 1 / span 3;
  border-radius: 50%;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #21ab1a, #12850d);
  box-shadow: 0 8px 20px rgb(33 171 26 / 25%), inset 0 0 0 1px rgb(255 255 255 / 40%);
  font: 800 24px/1 Inter, Arial, sans-serif;
  animation: cosmetolog-booking-check-arrive 0.62s 0.12s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.cosmetolog-booking-success__title {
  color: #143b12;
  font-size: 20px;
  line-height: 1.2;
}

.cosmetolog-booking-success p {
  margin: 3px 0 12px;
  color: #5b685b;
  font-weight: 400;
}

.cosmetolog-booking-success__details {
  display: grid;
  grid-column: 2;
  margin: 0;
  padding-top: 11px;
  border-top: 1px solid rgb(33 171 26 / 16%);
  gap: 7px;
}

.cosmetolog-booking-success__row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px;
  padding: 7px 9px;
  border-radius: 8px;
  background: rgb(238 248 236 / 72%);
}

.cosmetolog-booking-success__details dt {
  color: #718071;
  font-weight: 500;
}

.cosmetolog-booking-success__details dd {
  min-width: 0;
  margin: 0;
  color: #173317;
  font-weight: 700;
}

.cosmetolog-booking-success__details a {
  color: #157c11;
  text-decoration: underline;
  text-decoration-color: rgb(21 124 17 / 32%);
  text-underline-offset: 3px;
}

.cosmetolog-booking-success__row--date dd,
.cosmetolog-booking-success__row--time dd {
  color: #0f7810;
  font-size: 15px;
}

@keyframes cosmetolog-booking-button-flow {
  from { background-position: 100% 0; }
  to { background-position: -120% 0; }
}

@keyframes cosmetolog-booking-orbit {
  to { transform: rotate(360deg); }
}

@keyframes cosmetolog-booking-sheen {
  0% { left: -40%; opacity: 0; }
  30% { opacity: 1; }
  100% { left: 120%; opacity: 0; }
}

@keyframes cosmetolog-booking-success-reveal {
  from { opacity: 0; transform: translateY(10px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes cosmetolog-booking-check-arrive {
  from { opacity: 0; transform: scale(0.45) rotate(-18deg); }
  to { opacity: 1; transform: scale(1) rotate(0); }
}

body.cosmetolog-booking-dialog-open {
  overflow: hidden;
}

body.cosmetolog-booking-dialog-open #rec1982999281 {
  visibility: hidden;
}

.cosmetolog-soft-offer {
  position: fixed;
  z-index: 999990;
  left: 22px;
  bottom: 22px;
  box-sizing: border-box;
  width: min(410px, calc(100vw - 44px));
  max-height: min(380px, calc(100dvh - 44px));
  padding: 20px 20px 16px;
  overflow: auto;
  border: 1px solid rgb(33 171 26 / 32%);
  border-radius: 18px;
  background:
    radial-gradient(circle at 12% 0%, rgb(243 255 238 / 96%), transparent 48%),
    linear-gradient(145deg, rgb(255 255 255 / 98%), rgb(248 252 247 / 98%));
  box-shadow: 0 18px 52px rgb(18 54 19 / 20%), 0 2px 10px rgb(18 54 19 / 8%);
  color: #142a16;
  font-family: Arial, sans-serif;
  opacity: 0;
  transform: translateY(18px) scale(0.985);
  pointer-events: none;
  transition: opacity 240ms ease, transform 240ms cubic-bezier(.2, .75, .25, 1);
}

.cosmetolog-soft-offer[hidden] {
  display: none !important;
}

.cosmetolog-soft-offer::before {
  position: absolute;
  top: 0;
  left: -35%;
  width: 28%;
  height: 100%;
  background: linear-gradient(100deg, transparent, rgb(255 255 255 / 72%), transparent);
  content: "";
  opacity: 0;
  pointer-events: none;
}

.cosmetolog-soft-offer.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.cosmetolog-soft-offer.is-visible::before {
  animation: cosmetolog-soft-offer-sheen 1.35s 180ms ease-out 1;
}

.cosmetolog-soft-offer__close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  place-items: center;
  border: 1px solid rgb(26 111 28 / 18%);
  border-radius: 50%;
  background: rgb(255 255 255 / 86%);
  color: #365138;
  font: 400 26px/1 Arial, sans-serif;
  cursor: pointer;
}

.cosmetolog-soft-offer__eyebrow {
  margin: 0 42px 5px 0;
  color: #178016;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.25;
  text-transform: uppercase;
}

.cosmetolog-soft-offer h2 {
  margin: 0 38px 8px 0;
  color: #132b16;
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -.025em;
  line-height: 1.12;
}

.cosmetolog-soft-offer__copy {
  margin: 0 0 13px;
  color: #536254;
  font-size: 14px;
  line-height: 1.42;
}

.cosmetolog-soft-offer__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.cosmetolog-soft-offer__action {
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #19a719;
  border-radius: 10px;
  font: 700 13px/1.2 Arial, sans-serif;
  cursor: pointer;
}

.cosmetolog-soft-offer__action--primary {
  background: linear-gradient(135deg, #159e15, #23bd1d);
  box-shadow: 0 7px 17px rgb(24 160 24 / 22%);
  color: #fff;
}

.cosmetolog-soft-offer__action--secondary {
  background: #fff;
  color: #168415;
}

.cosmetolog-soft-offer__close:focus-visible,
.cosmetolog-soft-offer__action:focus-visible {
  outline: 3px solid rgb(30 174 27 / 28%);
  outline-offset: 2px;
}

.cosmetolog-soft-offer__warning {
  margin: 10px 0 0;
  color: #718071;
  font-size: 10.5px;
  line-height: 1.3;
}

@keyframes cosmetolog-soft-offer-sheen {
  0% { left: -35%; opacity: 0; }
  20% { opacity: .8; }
  100% { left: 112%; opacity: 0; }
}

@media screen and (max-width: 1199px) {
  #rec683702249 .t228__list_item {
    padding: 0 7px !important;
  }

  .cosmetolog-premium-headline {
    font-size: 36px !important;
  }

  .cosmetolog-hero-actions {
    top: 337px;
    left: calc(50% - 480px + 10px);
    width: 474px;
    gap: 8px;
  }

  .cosmetolog-hero-action {
    height: 45px;
  }

  #rec2477062241 .cosmetolog-benefit {
    transform: translateY(100px) !important;
  }

  #rec2475454011 .cosmetolog-doctor-actions {
    width: 432px !important;
  }
}

@media screen and (max-width: 959px) {
  .cosmetolog-premium-headline {
    font-size: 29px !important;
    line-height: 1.04 !important;
    letter-spacing: -0.8px !important;
  }

  .cosmetolog-hero-actions {
    top: 280px;
    left: calc(50% - 320px + 21px);
    width: 600px;
    gap: 10px;
  }

  #rec2475454011 .cosmetolog-doctor-actions {
    width: 600px !important;
  }

  #rec2476746831 .cosmetolog-rejuvenation-layout {
    grid-template-areas:
      "copy"
      "gallery"
      "cta";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 20px;
  }

  .cosmetolog-task-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cosmetolog-no-pressure {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cosmetolog-no-pressure ul {
    grid-column: 1 / -1;
  }

  .cosmetolog-review-source-grid {
    grid-template-columns: 1fr;
  }

  .cosmetolog-review-source {
    min-height: 0;
  }
}

@media screen and (max-width: 639px) {
  .cosmetolog-premium-headline {
    font-size: 24px !important;
    line-height: 1.02 !important;
    letter-spacing: -0.55px !important;
  }

  .cosmetolog-hero-actions {
    top: 260px;
    left: calc(50% - 240px + 21px);
    width: 440px;
    gap: 6px 8px;
  }

  .cosmetolog-hero-action {
    height: 48px;
    font-size: 14px;
  }

  .cosmetolog-hero-actions__microcopy,
  .cosmetolog-hero-actions__phone {
    font-size: 12px;
  }

  .cosmetolog-benefit__content {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 9px;
    padding: 13px 14px 13px 15px;
  }

  .cosmetolog-benefit__label {
    font-size: 14px;
  }

  .cosmetolog-benefit__icon {
    width: 44px;
    height: 44px;
  }

  #rec2477062241 .cosmetolog-benefit {
    transform: translateY(22px) !important;
  }

  #rec2475454011 .cosmetolog-doctor-actions {
    width: 440px !important;
    gap: 8px;
  }

  #rec2475454011 .cosmetolog-doctor-actions > .tn-atom,
  .cosmetolog-doctor-review {
    height: 38px !important;
    font-size: 12px !important;
  }

  .cosmetolog-map {
    height: 420px;
  }

  .cosmetolog-conversion-section {
    padding: 58px 16px;
  }

  .cosmetolog-conversion-header {
    margin-bottom: 26px;
  }

  .cosmetolog-conversion-header h2 {
    font-size: 32px;
  }

  .cosmetolog-conversion-description {
    font-size: 15px;
  }

  .cosmetolog-task-grid,
  .cosmetolog-no-pressure {
    grid-template-columns: 1fr;
  }

  .cosmetolog-task-card {
    min-height: 138px;
    padding: 19px;
  }

  .cosmetolog-no-pressure {
    padding: 23px;
  }

  .cosmetolog-no-pressure ul {
    grid-column: auto;
  }

  .cosmetolog-faq-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .cosmetolog-faq-cta button {
    min-width: 0;
    max-width: 100%;
    width: 100%;
  }
}

@media screen and (max-width: 479px) {
  html,
  body,
  #allrecords {
    max-width: 100%;
    overflow-x: clip;
  }

  .cosmetolog-soft-offer {
    left: 8px;
    right: 8px;
    bottom: 8px;
    width: auto;
    max-height: 25dvh;
    padding: 13px 13px 10px;
    border-radius: 14px;
  }

  .cosmetolog-soft-offer__close {
    top: 7px;
    right: 7px;
    width: 30px;
    height: 30px;
    font-size: 23px;
  }

  .cosmetolog-soft-offer__eyebrow {
    margin: 0 34px 3px 0;
    font-size: 9px;
  }

  .cosmetolog-soft-offer h2 {
    margin: 0 32px 5px 0;
    font-size: 17px;
    line-height: 1.08;
  }

  .cosmetolog-soft-offer__copy {
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1.28;
  }

  .cosmetolog-soft-offer__actions {
    gap: 7px;
  }

  .cosmetolog-soft-offer__action {
    min-height: 34px;
    padding: 6px 7px;
    border-radius: 8px;
    font-size: 11.5px;
  }

  .cosmetolog-soft-offer__warning {
    margin-top: 6px;
    font-size: 8.8px;
    line-height: 1.2;
  }

  #allrecords .t396__artboard {
    max-width: 100%;
    overflow-x: clip !important;
  }

  .cosmetolog-premium-headline {
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  .cosmetolog-premium-headline__line + .cosmetolog-premium-headline__line {
    margin-top: 2px;
  }

  .cosmetolog-hero-actions {
    top: 296px;
    left: 50%;
    width: min(335px, calc(100% - 20px));
    transform: translateX(-50%);
  }

  .cosmetolog-hero-actions__microcopy {
    padding: 0 10px;
  }

  #rec2477062241 .tn-elem[data-elem-id="1784532187317000001"] .tn-atom {
    line-height: 1.45 !important;
  }

  #rec2477062241 .cosmetolog-benefit {
    transform: translateY(var(--cosmetolog-mobile-benefit-shift, 70px)) !important;
  }

  .cosmetolog-benefit__content {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 8px;
    padding: 10px 7px 10px 10px;
  }

  .cosmetolog-benefit__label {
    overflow-wrap: break-word;
    font-size: 13px;
    line-height: 1.2;
  }

  .cosmetolog-benefit__icon {
    width: 40px;
    height: 40px;
  }

  #rec2477062241 .tn-elem[data-elem-id="1784226860875000001"] {
    top: var(--cosmetolog-mobile-video-top, 600px) !important;
    left: 50% !important;
    width: min(440px, calc(100% - 40px)) !important;
    height: auto !important;
    aspect-ratio: 9 / 16;
    transform: translateX(-50%) !important;
  }

  #rec2477062241 .tn-elem[data-elem-id="1684502526107"] {
    height: 100% !important;
  }

  #rec2477062241 .t396__artboard,
  #rec2477062241 .t396__carrier,
  #rec2477062241 .t396__filter {
    height: 1106px !important;
  }

  #rec2475454011 .cosmetolog-doctor-actions {
    width: 335px !important;
  }

  #rec2476746831 .cosmetolog-rejuvenation-gallery-host .tn-atom {
    padding: 8px;
  }

  .cosmetolog-rejuvenation-gallery {
    gap: 8px;
  }

  .cosmetolog-gallery-lightbox {
    padding: 14px;
  }

  .cosmetolog-gallery-lightbox__content {
    max-width: calc(100vw - 28px);
    padding: 8px;
    border-radius: 13px;
  }

  .cosmetolog-gallery-lightbox__close {
    top: 8px;
    right: 8px;
  }

  .cosmetolog-gallery-lightbox__caption {
    padding-right: 48px;
    font-size: 12px;
  }

  #rec2476746831 .cosmetolog-rejuvenation-layout {
    gap: 16px;
    padding: 10px 0 !important;
  }

  .cosmetolog-conversion-section {
    padding: 50px 12px;
  }

  .cosmetolog-conversion-header h2 {
    font-size: 29px;
  }

  .cosmetolog-task-card strong {
    font-size: 17px;
  }

  .cosmetolog-faq-item summary {
    padding-top: 19px;
    padding-bottom: 19px;
    font-size: 16px;
  }

  .cosmetolog-contact-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }

  .cosmetolog-contact-dialog__panel {
    max-height: calc(100dvh - 20px);
    padding: 28px 18px 22px;
    border-radius: 16px;
  }

  .cosmetolog-contact-dialog__close {
    top: 11px;
    right: 11px;
  }

  .cosmetolog-contact-dialog h2 {
    padding-right: 38px;
    font-size: 28px;
  }

  .cosmetolog-contact-dialog__channels {
    grid-template-columns: 1fr;
  }

  .cosmetolog-booking-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }

  .cosmetolog-booking-dialog__panel {
    max-height: calc(100dvh - 20px);
    padding: 27px 17px 20px;
    border-radius: 16px;
  }

  .cosmetolog-booking-dialog__close {
    top: 10px;
    right: 10px;
  }

  .cosmetolog-booking-dialog h2 {
    padding-right: 38px;
    font-size: 27px;
  }

  .cosmetolog-booking-service {
    margin: 15px 0;
    padding: 12px;
  }

  .cosmetolog-booking-state {
    min-height: 330px;
    padding: 10px 0 0;
  }

  .cosmetolog-booking-progress {
    min-height: 210px;
    padding: 24px 18px;
  }

  .cosmetolog-booking-form {
    grid-template-columns: 1fr;
  }

  .cosmetolog-booking-consent,
  .cosmetolog-booking-submit,
  .cosmetolog-booking-form-status {
    grid-column: auto;
  }

  .cosmetolog-booking-success {
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 285px;
    padding: 15px;
    gap: 2px 11px;
  }

  .cosmetolog-booking-success__check {
    width: 40px;
    height: 40px;
  }

  .cosmetolog-booking-success__details {
    grid-column: 1 / -1;
    margin-top: 10px;
  }
}

@media screen and (max-width: 359px) {
  .cosmetolog-hero-action {
    padding: 0 4px;
    font-size: 11px;
    line-height: 1.12;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cosmetolog-premium-word,
  .cosmetolog-premium-word::after,
  #rec2477062241 .cosmetolog-benefit::after {
    animation: none !important;
  }

  .cosmetolog-hero-action,
  .cosmetolog-doctor-review,
  .cosmetolog-review-badge,
  .cosmetolog-task-card,
  .cosmetolog-faq-item summary::after,
  .cosmetolog-soft-offer {
    transition: none !important;
  }

  .cosmetolog-soft-offer::before {
    animation: none !important;
  }

  .cosmetolog-booking-submit,
  .cosmetolog-booking-progress::after,
  .cosmetolog-booking-progress__emblem,
  .cosmetolog-booking-success,
  .cosmetolog-booking-success__check {
    animation: none !important;
  }

  .cosmetolog-rejuvenation-result img {
    transition: none !important;
  }
}
