:root {
      --rose: #bc797d;
      --rose-dark: #965d61;
      --rose-soft: #dfa7a8;
      --blush: #f0d7d4;
      --cream: #fff8f2;
      --ink: #2a2522;
      --serif: "Cormorant Garamond", Georgia, serif;
      --sans: "Montserrat", Arial, sans-serif;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { background: var(--ink); color: var(--cream); font-family: var(--sans); }
    a { color: inherit; text-decoration: none; }
    button { border: 0; color: inherit; font: inherit; }

    .nav {
      position: absolute;
      z-index: 20;
      top: 22px;
      left: 0;
      width: 100%;
      padding: 0 32px;
      pointer-events: none;
      animation: navEnter .85s cubic-bezier(.22, 1, .36, 1) both;
    }

    @keyframes navEnter {
      from { opacity: 0; transform: translateY(calc(-100% - 30px)); }
      to { opacity: 1; transform: translateY(0); }
    }

    .nav__bar {
      display: flex;
      align-items: center;
      gap: 26px;
      width: min(1150px, 100%);
      min-height: 108px;
      margin: auto;
      padding: 10px 30px 10px 44px;
      border-radius: 30px;
      background: var(--rose);
      box-shadow: 0 16px 38px rgba(32, 25, 24, .2);
      pointer-events: auto;
    }

    .brand {
      position: relative;
      flex: 0 0 250px;
      width: 250px;
      height: 78px;
      overflow: hidden;
    }
    .brand img {
      position: absolute;
      top: 50%;
      left: -80px;
      display: block;
      width: 380px;
      height: auto;
      transform: translateY(-50%);
    }

    .nav__links { display: flex; align-items: center; gap: 22px; flex: 1; align-self: stretch; }
    .nav__link {
      position: relative;
      display: flex;
      align-items: center;
      height: 100%;
      padding: 4px 0;
      color: rgba(255, 248, 242, .92);
      font-size: 16px;
      font-weight: 400;
      letter-spacing: 0;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .nav__link::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 20px;
      left: 0;
      height: 1px;
      background: currentColor;
      transform: scaleX(0);
      transition: transform .25s ease;
    }
    .nav__link:hover::after,
    .nav__link.active::after { transform: scaleX(1); }
    .caret { display: inline-block; margin: 0 0 3px 7px; border: solid currentColor; border-width: 0 1px 1px 0; padding: 3px; transform: rotate(45deg); }

    .nav__item { position: relative; display: flex; align-items: center; height: 100%; }
    .nav__submenu {
      position: absolute;
      top: 100%;
      left: -10px;
      width: 224px;
      padding: 0;
      background: #fff;
      box-shadow: 0 12px 25px rgba(43, 35, 33, .1);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
    }
    .nav__submenu a {
      display: block;
      padding: 15px 28px;
      color: var(--rose);
      font-size: 13px;
      font-weight: 400;
      line-height: 1.25;
      text-transform: uppercase;
      transition: background .2s ease, color .2s ease;
    }
    .nav__submenu a:hover { background: #fbefec; color: var(--rose-dark); }
    .nav__item--has-submenu:hover .nav__submenu,
    .nav__item--has-submenu:focus-within .nav__submenu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .nav__cta {
      display: grid;
      place-items: center;
      flex: 0 0 36px;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: #f3dcd6;
      color: var(--rose-dark);
      transition: transform .25s ease, background .25s ease;
    }
    .nav__cta:hover { background: var(--cream); transform: scale(1.04); }
    .nav__toggle { display: none; }

    .slider { position: relative; min-height: 560px; height: 100svh; overflow: hidden; }
    .slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      visibility: hidden;
      transition: opacity 1s ease, visibility 1s ease;
    }
    .slide.active { z-index: 1; opacity: 1; visibility: visible; }
    .slide__image { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.015); transition: transform 7s ease; }
    .slide.active .slide__image { transform: scale(1.06); }
    .slide--portrait { background: #edf1f2; }
    .slide--portrait .slide__image {
      display: block;
      width: min(100%, 1080px);
      margin-left: auto;
      object-position: center 12%;
      transform: scale(1);
    }
    .slide--portrait.active .slide__image { transform: scale(1); }
    .slide__shade {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(32, 28, 26, .62) 0%, rgba(32, 28, 26, .31) 49%, rgba(32, 28, 26, .07) 78%);
    }
    .slide__content {
      position: absolute;
      z-index: 2;
      top: 50%;
      left: 50%;
      width: min(660px, calc(100% - 190px));
      transform: translate(-50%, -43%);
    }
    .slide--portrait .slide__content {
      left: 11%;
      width: min(590px, calc(100% - 190px));
      transform: translateY(-43%);
    }
    .slide__eyebrow { margin-bottom: 11px; color: var(--rose-soft); font-size: 11px; font-weight: 600; letter-spacing: .31em; text-transform: uppercase; }
    .slide h1 { max-width: 720px; font-family: var(--serif); font-size: clamp(52px, 5.1vw, 82px); font-weight: 400; line-height: .98; letter-spacing: -.02em; }
    .slide h1 em { display: block; color: var(--rose-soft); font-weight: 400; }
    .slide__lead { max-width: 590px; margin-top: 14px; color: rgba(255, 248, 242, .88); font-size: 16px; line-height: 1.75; }
    .button {
      display: inline-flex;
      align-items: center;
      gap: 16px;
      margin-top: 34px;
      padding: 18px 34px;
      border-radius: 999px;
      background: var(--rose);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .27em;
      text-transform: uppercase;
      transition: background .25s ease, transform .25s ease;
    }
    .button:hover { background: var(--rose-dark); transform: translateY(-2px); }
    .button span { font-size: 18px; font-weight: 400; letter-spacing: 0; }

    .arrow {
      position: absolute;
      z-index: 5;
      top: 55%;
      display: grid;
      place-items: center;
      width: 52px;
      height: 52px;
      border: 1px solid rgba(255, 248, 242, .5);
      border-radius: 50%;
      background: rgba(42, 37, 34, .24);
      backdrop-filter: blur(5px);
      cursor: pointer;
      transform: translateY(-50%);
      transition: background .25s ease;
    }
    .arrow:hover { background: rgba(42, 37, 34, .52); }
    .arrow--prev { left: 24px; }
    .arrow--next { right: 24px; }
    .arrow::before { content: ""; width: 10px; height: 10px; border: solid var(--cream); border-width: 1px 1px 0 0; }
    .arrow--prev::before { margin-left: 5px; transform: rotate(-135deg); }
    .arrow--next::before { margin-right: 5px; transform: rotate(45deg); }

    .dots { position: absolute; z-index: 5; bottom: 25px; left: 50%; display: flex; gap: 12px; transform: translateX(-50%); }
    .dot { width: 9px; height: 9px; border: 1px solid rgba(255, 248, 242, .7); border-radius: 50%; background: transparent; cursor: pointer; }
    .dot.active { background: var(--rose-soft); transform: scale(1.15); }

    .attention {
      overflow: hidden;
      padding: 110px 24px 120px;
      background: #fdf8f4;
      color: var(--ink);
    }
    .attention__wrap { width: min(1080px, 100%); margin: 0 auto; }
    .attention__heading { margin-bottom: 66px; text-align: center; }
    .attention__eyebrow,
    .area-card__eyebrow {
      color: var(--rose);
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .3em;
      text-transform: uppercase;
    }
    .attention__heading h2 {
      margin-top: 16px;
      color: var(--ink);
      font-family: var(--serif);
      font-size: clamp(42px, 4vw, 58px);
      font-weight: 400;
      line-height: .95;
    }
    .attention__ornament { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 25px; color: var(--rose); }
    .attention__ornament span { width: 46px; height: 1px; background: currentColor; opacity: .65; }
    .attention__ornament i { width: 5px; height: 5px; border: 1px solid currentColor; transform: rotate(45deg); }
    .attention__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; align-items: stretch; }
    .area-card {
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border: 1px solid rgba(42, 37, 34, .2);
      border-radius: 15px;
      background: #fffaf6;
      opacity: 0;
      transition: opacity .85s ease, transform .85s cubic-bezier(.22, 1, .36, 1), box-shadow .3s ease;
    }
    .area-card--left { transform: translateX(-110px); }
    .area-card--right { transform: translateX(110px); }
    .area-card.is-visible { opacity: 1; transform: translateX(0); }
    .area-card:hover { box-shadow: 0 22px 45px rgba(70, 54, 49, .1); }
    .area-card__media { position: relative; height: 290px; overflow: hidden; }
    .area-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.92); transition: transform .8s ease; }
    .area-card:hover .area-card__media img { transform: scale(1.025); }
    .area-card--left .area-card__media img { object-position: center 32%; }
    .area-card--right .area-card__media img { object-position: center 38%; }
    .area-card__number {
      position: absolute;
      bottom: 18px;
      left: 21px;
      color: #fff;
      font-family: var(--serif);
      font-size: 34px;
      font-style: italic;
      line-height: 1;
      text-shadow: 0 2px 12px rgba(0, 0, 0, .4);
    }
    .area-card__body { display: flex; flex: 1; flex-direction: column; padding: 36px 36px 34px; }
    .area-card__body h3 { margin-top: 12px; color: var(--ink); font-family: var(--serif); font-size: 27px; font-weight: 400; line-height: 1.1; }
    .area-card__body h3 em { color: var(--rose); font-weight: 400; }
    .area-card__intro { margin-top: 11px; color: #756963; font-size: 12px; line-height: 1.55; }
    .area-card__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin: 28px 0 30px; }
    .area-card__columns h4 { margin-bottom: 10px; color: var(--rose); font-size: 9px; font-weight: 600; letter-spacing: .27em; text-transform: uppercase; }
    .area-card__columns ul { list-style: none; }
    .area-card__columns li {
      position: relative;
      padding: 6px 0 6px 14px;
      border-bottom: 1px solid rgba(42, 37, 34, .08);
      color: #655a55;
      font-size: 10.5px;
      line-height: 1.45;
      break-inside: avoid;
    }
    .area-card__columns li::before { content: ""; position: absolute; top: 11px; left: 1px; width: 5px; height: 5px; border: 1px solid var(--rose); transform: rotate(45deg); }
    .area-card__columns--reconstructive { display: block; }
    .area-card__columns--reconstructive ul { columns: 2; column-gap: 28px; }
    .area-card__columns--reconstructive li::before { border-color: #5f5550; }
    .area-card__button {
      display: inline-flex;
      align-items: center;
      align-self: flex-start;
      gap: 13px;
      margin-top: auto;
      padding: 14px 21px;
      border: 1px solid var(--ink);
      border-radius: 999px;
      color: var(--ink);
      font-size: 8px;
      font-weight: 600;
      letter-spacing: .22em;
      text-transform: uppercase;
      transition: background .25s ease, color .25s ease, transform .25s ease;
    }
    .area-card__button--rose { border-color: var(--rose); background: var(--rose); color: #fff; }
    .area-card__button:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
    .area-card__button--rose:hover { border-color: var(--rose-dark); background: var(--rose-dark); }
    .area-card__button span { font-size: 14px; letter-spacing: 0; }

    .features {
      position: relative;
      overflow: hidden;
      padding: 112px 24px 124px;
      background:
        radial-gradient(circle at 8% 15%, rgba(217, 168, 168, .17), transparent 30%),
        radial-gradient(circle at 92% 90%, rgba(240, 224, 218, .09), transparent 26%),
        linear-gradient(135deg, #443a37 0%, #684849 52%, #8e5759 100%);
    }
    .features::before {
      content: "";
      position: absolute;
      top: -220px;
      right: -120px;
      width: 520px;
      height: 520px;
      border: 1px solid rgba(255, 248, 242, .12);
      border-radius: 50%;
    }
    .features__wrap { position: relative; z-index: 1; width: min(1180px, 100%); margin: 0 auto; }
    .features__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 58px; }
    .features__heading > p { max-width: 190px; padding-bottom: 9px; color: var(--rose-soft); font-size: 10px; font-weight: 600; letter-spacing: .28em; line-height: 1.7; text-transform: uppercase; }
    .features__heading h2 { color: var(--cream); font-family: var(--serif); font-size: clamp(45px, 5vw, 68px); font-weight: 400; line-height: .95; text-align: right; }
    .features__heading h2 em { color: var(--rose-soft); font-weight: 400; }
    .features__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .feature-card {
      min-height: 365px;
      padding: 34px 32px 38px;
      border: 1px solid rgba(255, 255, 255, .13);
      opacity: 0;
      transform: translateY(55px);
      transition: opacity .7s ease, transform .8s cubic-bezier(.22, 1, .36, 1), box-shadow .3s ease;
    }
    .feature-card:nth-child(2) { transition-delay: .12s; }
    .feature-card:nth-child(3) { transition-delay: .24s; }
    .feature-card.is-visible { opacity: 1; transform: translateY(0); }
    .feature-card:hover { box-shadow: 0 22px 45px rgba(20, 13, 12, .18); transform: translateY(-5px); }
    .feature-card--light { background: #f7e9e3; color: var(--ink); }
    .feature-card--rose { background: #bd7a7e; color: #fffaf6; }
    .feature-card--ink { background: #2f2927; color: #fffaf6; }
    .feature-card__top { display: flex; align-items: flex-start; justify-content: space-between; }
    .feature-card__number { font-family: var(--serif); font-size: 17px; font-style: italic; opacity: .64; }
    .feature-card__icon { display: grid; place-items: center; width: 70px; height: 70px; border: 1px solid currentColor; border-radius: 50%; opacity: .9; }
    .feature-card__icon svg { width: 38px; height: 38px; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
    .feature-card__line { width: 44px; height: 1px; margin: 60px 0 24px; background: currentColor; opacity: .45; }
    .feature-card h3 { color: inherit; font-family: var(--serif); font-size: 31px; font-weight: 400; line-height: 1.05; }
    .feature-card h3 em { display: block; color: var(--rose); font-weight: 400; }
    .feature-card--rose h3 em,
    .feature-card--ink h3 em { color: #edc6c4; }
    .feature-card > p { max-width: 30ch; margin-top: 17px; color: inherit; font-size: 12.5px; line-height: 1.75; opacity: .78; }

    .mission { overflow: hidden; padding: 116px 24px 122px; background: #fffaf6; color: var(--ink); }
    .mission__wrap { width: min(1160px, 100%); margin: 0 auto; }
    .mission__intro { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(45px, 7vw, 100px); align-items: start; padding-bottom: 70px; }
    .mission__label { display: flex; align-items: center; gap: 18px; padding-top: 13px; }
    .mission__label span { color: var(--rose); font-family: var(--serif); font-size: 36px; font-style: italic; }
    .mission__label p { color: var(--rose-dark); font-size: 10px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; }
    .mission__intro blockquote { position: relative; padding-left: 38px; border-left: 3px solid var(--rose); color: #514642; font-family: var(--serif); font-size: clamp(28px, 3.1vw, 43px); font-style: italic; line-height: 1.34; }
    .mission__intro blockquote em { color: var(--rose); font-weight: 400; }
    .mission__pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
    .mission-card { position: relative; min-height: 285px; padding: 31px 29px 34px; border: 1px solid rgba(180, 114, 116, .13); background: #f8ece7; transition: background .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease; }
    .mission-card:nth-child(2) { transform: translateY(24px); background: #efd9d3; }
    .mission-card:hover { z-index: 1; background: var(--rose); color: #fffaf6; transform: translateY(-7px); box-shadow: 0 22px 45px rgba(84, 57, 54, .14); }
    .mission-card:nth-child(2):hover { transform: translateY(17px); }
    .mission-card > span { color: var(--rose); font-family: var(--serif); font-size: 24px; font-style: italic; transition: color .3s ease; }
    .mission-card__line { width: 38px; height: 1px; margin: 28px 0 22px; background: var(--rose); transition: background .3s ease, width .3s ease; }
    .mission-card:hover .mission-card__line { width: 64px; background: #fffaf6; }
    .mission-card:hover > span { color: #fffaf6; }
    .mission-card h2 { color: inherit; font-family: var(--serif); font-size: 27px; font-weight: 400; }
    .mission-card p { margin-top: 13px; color: inherit; font-size: 12px; line-height: 1.75; opacity: .75; }

    .procedures-hero { position: relative; display: grid; height: 360px; place-items: center; overflow: hidden; padding: 95px 24px 20px; background: #f3d9d7; color: var(--ink); text-align: center; }
    .procedures-hero > div { position: relative; z-index: 1; }
    .procedures-hero p { color: var(--rose-dark); font-size: 10px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; }
    .procedures-hero h1 { margin-top: 9px; font-family: var(--serif); font-size: clamp(52px, 6vw, 76px); font-weight: 400; line-height: 1; }
    .procedures-hero span { display: block; margin-top: 13px; color: #776964; font-size: 11px; letter-spacing: .08em; }
    .procedures-hero > svg { position: absolute; right: -55px; bottom: -55px; width: 245px; color: rgba(255, 255, 255, .65); }
    .procedures-intro { padding: 100px 24px 70px; background: #fffaf6; text-align: center; }
    .procedures-intro > p { color: var(--rose); font-size: 9px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; }
    .procedures-intro h2 { margin-top: 15px; font-family: var(--serif); font-size: clamp(41px, 4.4vw, 58px); font-weight: 400; line-height: .98; }
    .procedures-intro h2 em { color: var(--rose); font-weight: 400; }
    .procedures-intro > div { display: flex; align-items: center; justify-content: center; gap: 13px; margin-top: 24px; color: var(--rose); }
    .procedures-intro > div span { width: 46px; height: 1px; background: currentColor; }
    .procedures-intro > div i { width: 5px; height: 5px; border: 1px solid currentColor; transform: rotate(45deg); }
    .procedure-catalog { overflow: hidden; padding: 0 24px 120px; background: #fffaf6; }
    .procedure-row { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); min-height: 520px; width: min(1180px, 100%); margin: 0 auto 34px; overflow: hidden; border: 1px solid rgba(42, 37, 34, .09); background: #f8ece7; opacity: 0; transform: translateX(-90px); transition: opacity .8s ease, transform .9s cubic-bezier(.22, 1, .36, 1); }
    .procedure-row--reverse { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); background: #f4eee8; transform: translateX(90px); }
    .procedure-row--reverse .procedure-row__image { order: 2; }
    .procedure-row.is-visible { opacity: 1; transform: translateX(0); }
    .procedure-row__image { overflow: hidden; min-height: 520px; }
    .procedure-row__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
    .procedure-row:hover .procedure-row__image img { transform: scale(1.025); }
    #funcion-bienestar .procedure-row__image img { object-position: center; }
    #restaurar-sanar .procedure-row__image img { object-position: center 28%; }
    #rostro-armonia .procedure-row__image img { object-position: center; }
    #cuerpo-contorno .procedure-row__image img { object-position: center; }
    #sin-quirofano .procedure-row__image img { object-position: center 34%; }
    .procedure-row__content { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 58px clamp(38px, 5vw, 70px); }
    .procedure-row__number { position: absolute; top: 30px; right: 34px; color: rgba(180, 114, 116, .45); font-family: var(--serif); font-size: 38px; font-style: italic; }
    .procedure-row__eyebrow { color: var(--rose); font-size: 9px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; }
    .procedure-row__content h2 { margin: 12px 0 27px; font-family: var(--serif); font-size: clamp(36px, 4vw, 52px); font-weight: 400; line-height: .95; }
    .procedure-row__content h2 em { color: var(--rose); font-weight: 400; }
    .procedure-row__content ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; list-style: none; }
    .procedure-row__content li { position: relative; padding: 9px 0 9px 16px; border-bottom: 1px solid rgba(42, 37, 34, .08); color: #665a55; font-size: 11px; line-height: 1.45; }
    .procedure-row__content li::before { content: ""; position: absolute; top: 14px; left: 1px; width: 5px; height: 5px; border: 1px solid var(--rose); transform: rotate(45deg); }
    .self-care-cta { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; min-height: 570px; overflow: hidden; padding: 80px max(6vw, 30px) 0; background: linear-gradient(120deg, #a96669 0%, #bd7a7e 54%, #ce9698 100%); color: #fffaf6; }
    .self-care-cta::before { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(255, 250, 246, .16); pointer-events: none; }
    .self-care-cta::after { content: ""; position: absolute; top: -250px; left: -170px; width: 480px; height: 480px; border: 1px solid rgba(255, 250, 246, .11); border-radius: 50%; pointer-events: none; }
    .self-care-cta__content { position: relative; z-index: 2; display: flex; align-self: center; align-items: center; flex-direction: column; justify-self: center; width: min(720px, 100%); padding-bottom: 80px; text-align: center; }
    .self-care-cta__content > p { color: rgba(255, 250, 246, .7); font-size: 9px; font-weight: 600; letter-spacing: .31em; text-transform: uppercase; }
    .self-care-cta h2 { margin-top: 18px; color: #fffaf6; font-family: var(--serif); font-size: clamp(52px, 5.2vw, 76px); font-weight: 400; line-height: .94; }
    .self-care-cta h2 em { font-weight: 400; }
    .self-care-cta__content > span { display: block; max-width: 510px; margin-top: 28px; font-family: var(--serif); font-size: 20px; font-style: italic; line-height: 1.55; }
    .self-care-cta__content > a { display: inline-flex; align-items: center; gap: 18px; margin-top: 30px; padding: 16px 25px; border-radius: 999px; background: #fffaf6; color: var(--rose-dark); font-size: 9px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
    .self-care-cta__content > a { box-shadow: 0 12px 28px rgba(79, 46, 46, .12); transition: background .25s ease, color .25s ease, transform .25s ease; }
    .self-care-cta__content > a:hover { background: var(--ink); color: #fff; transform: translateY(-3px); }
    .self-care-cta__content b { font-size: 15px; }
    .self-care-cta > img { position: absolute; right: 2%; bottom: -25%; width: min(47vw, 610px); height: 120%; object-fit: contain; object-position: center bottom; }

    .gallery-hero { position: relative; display: grid; height: 360px; place-items: center; overflow: hidden; padding: 92px 24px 20px; background: linear-gradient(135deg, #f3d9d7, #efd0ce); text-align: center; }
    .gallery-hero > div:first-child { position: relative; z-index: 1; }
    .gallery-hero p { color: var(--rose-dark); font-size: 9px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; }
    .gallery-hero h1 { margin-top: 10px; font-family: var(--serif); font-size: clamp(54px, 6vw, 78px); font-weight: 400; line-height: .95; }
    .gallery-hero span { display: block; margin-top: 15px; color: #736560; font-family: var(--serif); font-size: 17px; font-style: italic; }
    .gallery-hero__rings { position: absolute; right: -85px; bottom: -115px; width: 310px; height: 310px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 50%; }
    .gallery-hero__rings::before,
    .gallery-hero__rings::after { content: ""; position: absolute; border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; }
    .gallery-hero__rings::before { inset: 28px; }
    .gallery-hero__rings::after { inset: 57px; }
    .gallery-section { padding: 105px 24px 125px; background: #fffaf6; }
    .gallery-section__heading { width: min(1220px, 100%); margin: 0 auto 52px; text-align: center; }
    .gallery-section__heading p { color: var(--rose); font-size: 9px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; }
    .gallery-section__heading h2 { margin-top: 14px; font-family: var(--serif); font-size: clamp(42px, 4.4vw, 59px); font-weight: 400; }
    .gallery-section__heading h2 em { color: var(--rose); font-weight: 400; }
    .gallery-grid { columns: 3 320px; column-gap: 18px; width: min(1240px, 100%); margin: 0 auto; }
    .gallery-item { position: relative; display: block; width: 100%; margin: 0 0 18px; break-inside: avoid; overflow: hidden; background: #ead8d2; cursor: zoom-in; opacity: 0; transform: translateY(45px) scale(.985); transition: opacity .65s ease, transform .75s cubic-bezier(.22, 1, .36, 1), box-shadow .3s ease; }
    .gallery-item.is-visible { opacity: 1; transform: translateY(0) scale(1); }
    .gallery-item::after { content: "+"; position: absolute; right: 18px; bottom: 18px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 50%; background: rgba(42, 37, 34, .22); color: #fff; font-family: var(--serif); font-size: 24px; opacity: 0; transform: translateY(8px); transition: opacity .3s ease, transform .3s ease, background .3s ease; }
    .gallery-item img { display: block; width: 100%; height: auto; min-height: 220px; object-fit: cover; filter: saturate(.94); transition: transform .85s cubic-bezier(.22, 1, .36, 1), filter .4s ease; }
    .gallery-item:hover { z-index: 1; box-shadow: 0 20px 45px rgba(50, 37, 34, .17); }
    .gallery-item:hover img { transform: scale(1.065); filter: saturate(1.03); }
    .gallery-item:hover::after { opacity: 1; transform: translateY(0); }
    .gallery-item:focus-visible { outline: 3px solid var(--rose); outline-offset: 3px; }
    body.lightbox-open { overflow: hidden; }
    .gallery-lightbox { position: fixed; z-index: 500; inset: 0; display: grid; grid-template-columns: 80px minmax(0, 1fr) 80px; align-items: center; padding: 50px; background: rgba(29, 24, 22, .94); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease; }
    .gallery-lightbox.is-open { opacity: 1; visibility: visible; }
    .gallery-lightbox figure { display: flex; align-items: center; flex-direction: column; justify-content: center; min-width: 0; height: calc(100vh - 100px); }
    .gallery-lightbox figure img { max-width: 100%; max-height: calc(100% - 42px); object-fit: contain; box-shadow: 0 25px 70px rgba(0, 0, 0, .35); transform: scale(.96); transition: transform .4s ease; }
    .gallery-lightbox.is-open figure img { transform: scale(1); }
    .gallery-lightbox figcaption { margin-top: 17px; color: rgba(255, 250, 246, .72); font-size: 9px; letter-spacing: .18em; text-align: center; text-transform: uppercase; }
    .gallery-lightbox__close { position: absolute; top: 22px; right: 28px; width: 48px; height: 48px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 50%; color: #fff; font-family: var(--serif); font-size: 32px; cursor: pointer; }
    .gallery-lightbox__arrow { display: grid; place-items: center; width: 54px; height: 54px; margin: auto; border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; color: #fff; cursor: pointer; }
    .gallery-lightbox__arrow:hover,
    .gallery-lightbox__close:hover { background: var(--rose); border-color: var(--rose); }
    .gallery-lightbox__arrow span { width: 11px; height: 11px; border: solid currentColor; border-width: 1px 1px 0 0; }
    .gallery-lightbox__arrow--prev span { margin-left: 5px; transform: rotate(-135deg); }
    .gallery-lightbox__arrow--next span { margin-right: 5px; transform: rotate(45deg); }
    .gallery-lightbox__counter { position: absolute; bottom: 24px; right: 30px; color: rgba(255, 255, 255, .65); font-family: var(--serif); font-size: 15px; letter-spacing: .12em; }

    .page-hero {
      position: relative;
      height: 300px;
      max-height: 300px;
      overflow: hidden;
      background: #f3d9d7;
      color: #3a322f;
    }
    .page-hero__media {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      width: 320px;
      height: 300px;
      padding: 0;
    }
    .page-hero__media img {
      display: block;
      width: 100%;
      height: 300px;
      max-width: none;
      object-fit: cover;
      object-position: center;
    }
    .page-hero--procedures .page-hero__media img { object-position: center 33%; }
    .page-hero--gallery .page-hero__media img { object-position: center 42%; }
    .page-hero--contact .page-hero__media img { object-position: center 24%; }
    .page-hero__panel {
      position: absolute;
      inset: 0;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-width: 0;
      width: 100%;
      height: 300px;
      padding: 90px 180px 0;
      background: transparent;
      text-align: center;
    }
    .page-hero__brand {
      margin: 0 0 12px;
      color: var(--rose);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .34em;
      text-transform: uppercase;
    }
    .page-hero__panel h1 {
      margin: 0;
      color: #3a322f;
      font-family: var(--serif);
      font-size: clamp(44px, 5vw, 64px);
      font-weight: 400;
      line-height: .92;
      letter-spacing: -.02em;
    }
    .page-hero__icon {
      position: absolute;
      right: -25px;
      bottom: -30px;
      width: 250px;
      height: 250px;
      color: rgba(255, 255, 255, .9);
    }

    .doctor-about {
      overflow: hidden;
      padding: 120px 24px;
      background: #fffaf6;
      color: var(--ink);
    }

    .trajectory {
      overflow: hidden;
      padding: 110px 24px 120px;
      background: #f8ece7;
      color: var(--ink);
    }
    .trajectory__wrap { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); align-items: start; gap: clamp(55px, 7vw, 100px); width: min(1240px, 100%); margin: 0 auto; }
    .trajectory__heading { max-width: 620px; margin-bottom: 58px; }
    .trajectory__heading > p {
      color: var(--rose);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .31em;
      text-transform: uppercase;
    }
    .trajectory__heading h2 {
      margin-top: 16px;
      color: var(--ink);
      font-family: var(--serif);
      font-size: clamp(40px, 4.4vw, 58px);
      font-weight: 400;
      line-height: 1.02;
    }
    .trajectory__heading h2 em { color: var(--rose); font-weight: 400; }
    .trajectory__list {
      display: grid;
      gap: 0;
      list-style: none;
      border-top: 1px solid rgba(42, 37, 34, .12);
    }
    .trajectory__item {
      display: grid;
      grid-template-columns: 88px minmax(0, 1fr);
      gap: 28px;
      align-items: start;
      padding: 34px 0;
      border-bottom: 1px solid rgba(42, 37, 34, .12);
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .7s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
    }
    .trajectory__item.is-visible { opacity: 1; transform: translateY(0); }
    .trajectory__item:nth-child(2) { transition-delay: .08s; }
    .trajectory__item:nth-child(3) { transition-delay: .16s; }
    .trajectory__item:nth-child(4) { transition-delay: .24s; }
    .trajectory__marker {
      color: var(--rose);
      font-family: var(--serif);
      font-size: 28px;
      font-style: italic;
      line-height: 1;
    }
    .trajectory__item h3 {
      margin-bottom: 10px;
      color: var(--ink);
      font-family: var(--serif);
      font-size: 28px;
      font-weight: 400;
    }
    .trajectory__item p {
      max-width: 58ch;
      color: #6f625d;
      font-size: 13px;
      line-height: 1.75;
    }
    .trajectory__portrait {
      position: sticky;
      top: 42px;
      align-self: start;
      min-height: 760px;
      overflow: visible;
      background: transparent;
    }
    .trajectory__portrait img { position: absolute; z-index: 1; right: -8%; bottom: -2px; width: 116%; height: 94%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 18px 30px rgba(62, 44, 41, .13)); }
    .doctor-about__wrap { display: grid; grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); align-items: center; gap: clamp(60px, 7vw, 110px); width: min(1220px, 100%); margin: 0 auto; }
    .doctor-about__visual { position: relative; padding: 0 0 36px 36px; opacity: 0; transform: translateX(-120px); transition: opacity .9s ease, transform 1s cubic-bezier(.22, 1, .36, 1); }
    .doctor-about.is-visible .doctor-about__visual { opacity: 1; transform: translateX(0); }
    .doctor-about__visual::before { display: none; }
    .doctor-about__visual { min-height: 610px; }
    .doctor-about__photo { position: absolute; z-index: 1; overflow: hidden; box-shadow: 0 20px 45px rgba(64, 45, 42, .12); }
    .doctor-about__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
    .doctor-about__photo--back { top: 0; right: 0; width: 64%; height: 86%; border-radius: 3px 80px 3px 3px; }
    .doctor-about__photo--back img { object-position: center 34%; }
    .doctor-about__photo--front { bottom: -2%; left: -7%; z-index: 2; width: 55%; height: 47%; border: 3px solid #fffaf6; }
    .doctor-about__photo--front img { object-position: center 36%; }
    .doctor-about__visual:hover .doctor-about__photo--back img { transform: scale(1.025); }
    .doctor-about__visual:hover .doctor-about__photo--front img { transform: scale(1.035); }
    .doctor-about__index { position: absolute; z-index: 2; bottom: 4px; left: 14px; color: var(--rose-dark); font-family: var(--serif); font-size: 26px; font-style: italic; }
    .doctor-about__seal {
      position: absolute;
      z-index: 3;
      right: -35px;
      bottom: 2px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 118px;
      height: 118px;
      border: 1px solid rgba(255, 250, 246, .55);
      border-radius: 50%;
      background: var(--rose);
      color: #fffaf6;
      box-shadow: 0 16px 35px rgba(70, 51, 49, .18);
    }
    .doctor-about__seal span { font-family: var(--serif); font-size: 24px; }
    .doctor-about__seal small { font-size: 7px; letter-spacing: .19em; text-transform: uppercase; }
    .doctor-about__content { max-width: 580px; }
    .doctor-about__content .reveal-copy { opacity: 0; transform: translateX(70px); transition: opacity .65s ease, transform .75s cubic-bezier(.22, 1, .36, 1); }
    .doctor-about.is-visible .reveal-copy { opacity: 1; transform: translateX(0); }
    .doctor-about.is-visible .reveal-copy:nth-child(2) { transition-delay: .1s; }
    .doctor-about.is-visible .reveal-copy:nth-child(3) { transition-delay: .18s; }
    .doctor-about.is-visible .reveal-copy:nth-child(4) { transition-delay: .26s; }
    .doctor-about.is-visible .reveal-copy:nth-child(5) { transition-delay: .34s; }
    .doctor-about.is-visible .reveal-copy:nth-child(6) { transition-delay: .42s; }
    .doctor-about.is-visible .reveal-copy:nth-child(7) { transition-delay: .5s; }
    .doctor-about__eyebrow { color: var(--rose); font-size: 10px; font-weight: 600; letter-spacing: .31em; text-transform: uppercase; }
    .doctor-about__content h2 { margin-top: 18px; color: var(--ink); font-family: var(--serif); font-size: clamp(43px, 4.2vw, 61px); font-weight: 400; line-height: 1.02; }
    .doctor-about__content h2 em { display: block; color: var(--rose); font-weight: 400; }
    .doctor-about__rule { display: flex; align-items: center; gap: 11px; margin: 28px 0; color: var(--rose); }
    .doctor-about__rule span { width: 64px; height: 1px; background: currentColor; }
    .doctor-about__rule i { width: 5px; height: 5px; border: 1px solid currentColor; transform: rotate(45deg); }
    .doctor-about__lead { color: #4c423e; font-family: var(--serif); font-size: 20px; line-height: 1.55; }
    .doctor-about__text { margin-top: 17px; color: #71645e; font-size: 13px; line-height: 1.8; }
    .doctor-about__credentials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 25px; margin-top: 30px; list-style: none; }
    .doctor-about__credentials li { position: relative; padding-left: 18px; color: #625651; font-size: 11px; line-height: 1.45; }
    .doctor-about__credentials li::before { content: ""; position: absolute; top: 5px; left: 1px; width: 6px; height: 6px; border: 1px solid var(--rose); transform: rotate(45deg); }
    .doctor-about__button {
      display: inline-flex;
      align-items: center;
      gap: 19px;
      margin-top: 35px;
      padding: 15px 24px;
      border: 1px solid var(--ink);
      border-radius: 999px;
      color: var(--ink);
      font-size: 9px;
      font-weight: 600;
      letter-spacing: .23em;
      text-transform: uppercase;
    }
    .doctor-about__button:hover { background: var(--ink); color: #fff; }
    .doctor-about__button span { font-size: 16px; letter-spacing: 0; transition: transform .25s ease; }
    .doctor-about__button:hover span { transform: translateX(4px); }

    .testimonials {
      position: relative;
      overflow: hidden;
      padding: 112px 24px 106px;
      background: #f8ece7;
      color: var(--ink);
    }
    .testimonials::before,
    .testimonials::after { content: ""; position: absolute; border: 1px solid rgba(180, 114, 116, .18); border-radius: 50%; pointer-events: none; }
    .testimonials::before { top: -260px; left: -170px; width: 520px; height: 520px; }
    .testimonials::after { right: -130px; bottom: -300px; width: 470px; height: 470px; }
    .testimonials__heading { position: relative; z-index: 1; width: min(1080px, 100%); margin: 0 auto 30px; text-align: center; }
    .testimonials__heading > p { color: var(--rose); font-size: 9px; font-weight: 600; letter-spacing: .31em; text-transform: uppercase; }
    .testimonials__heading h2 { margin-top: 14px; color: var(--ink); font-family: var(--serif); font-size: clamp(42px, 4.5vw, 60px); font-weight: 400; line-height: 1; }
    .testimonials__heading h2 em { color: var(--rose); font-weight: 400; }
    .testimonial-slider { position: relative; z-index: 1; width: min(1120px, 100%); margin: 0 auto; padding: 18px 100px 0; }
    .testimonial-slider__viewport { overflow: hidden; }
    .testimonial-slider__track { display: flex; transition: transform .85s cubic-bezier(.22, 1, .36, 1); will-change: transform; }
    .testimonial-slide {
      display: flex;
      flex: 0 0 100%;
      min-height: 360px;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 25px 60px 32px;
      text-align: center;
    }
    .testimonial-slide__quote { height: 65px; color: var(--rose); font-family: Georgia, serif; font-size: 94px; line-height: 1; opacity: .6; }
    .testimonial-slide blockquote { max-width: 780px; color: #3f3633; font-family: var(--serif); font-size: clamp(23px, 2.4vw, 33px); font-style: italic; line-height: 1.42; }
    .testimonial-slide footer { display: flex; flex-direction: column; gap: 5px; margin-top: 25px; }
    .testimonial-slide footer strong { color: var(--rose-dark); font-family: var(--serif); font-size: 17px; font-style: italic; font-weight: 400; }
    .testimonial-slide footer span { color: #796b65; font-size: 8px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; }
    .testimonial-arrow {
      position: absolute;
      z-index: 2;
      top: 50%;
      display: grid;
      place-items: center;
      width: 54px;
      height: 54px;
      border: 1px solid var(--rose);
      border-radius: 50%;
      background: transparent;
      color: var(--rose-dark);
      cursor: pointer;
      transform: translateY(-50%);
      transition: background .25s ease, color .25s ease, transform .25s ease;
    }
    .testimonial-arrow:hover { background: var(--rose); color: #fff; transform: translateY(-50%) scale(1.05); }
    .testimonial-arrow--prev { left: 16px; }
    .testimonial-arrow--next { right: 16px; }
    .testimonial-arrow span { width: 10px; height: 10px; border: solid currentColor; border-width: 1px 1px 0 0; }
    .testimonial-arrow--prev span { margin-left: 4px; transform: rotate(-135deg); }
    .testimonial-arrow--next span { margin-right: 4px; transform: rotate(45deg); }
    .testimonial-controls { display: flex; align-items: center; justify-content: center; gap: 17px; margin-top: 4px; }
    .testimonial-dot { position: relative; width: 43px; height: 30px; color: #8d7b74; font-family: var(--serif); font-size: 12px; cursor: pointer; }
    .testimonial-dot::after { content: ""; position: absolute; right: 0; bottom: 1px; left: 0; height: 1px; background: var(--rose); transform: scaleX(.35); transition: transform .3s ease; }
    .testimonial-dot.active { color: var(--rose-dark); }
    .testimonial-dot.active::after { transform: scaleX(1); }

    .meet-doctor {
      overflow: hidden;
      padding: 108px 24px 112px;
      background: #fffaf6;
      color: var(--ink);
    }
    .meet-doctor__header {
      width: min(760px, 100%);
      margin: 0 auto 42px;
      text-align: center;
    }
    .meet-doctor__script {
      margin: 0;
      color: var(--rose);
      font-family: "Allura", "Cormorant Garamond", cursive;
      font-size: clamp(42px, 5vw, 58px);
      line-height: 1;
    }
    .meet-doctor__header h2 {
      margin-top: 10px;
      color: #3a322f;
      font-family: var(--serif);
      font-size: clamp(40px, 4.8vw, 56px);
      font-weight: 400;
      line-height: 1;
    }
    .meet-doctor__card {
      width: min(920px, 100%);
      margin: 0 auto;
      padding: clamp(42px, 5vw, 58px) clamp(28px, 5vw, 72px) clamp(48px, 5vw, 62px);
      border-radius: 2px;
      background: #f8e8e6;
      text-align: center;
      box-shadow: 0 18px 45px rgba(84, 57, 54, .06);
      transition: transform .55s cubic-bezier(.22, 1, .36, 1), box-shadow .55s ease;
    }
    .meet-doctor.is-visible .meet-doctor__card {
      box-shadow: 0 24px 55px rgba(84, 57, 54, .08);
    }
    .meet-doctor__card .reveal-copy {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .7s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
    }
    .meet-doctor.is-visible .reveal-copy {
      opacity: 1;
      transform: translateY(0);
    }
    .meet-doctor.is-visible .meet-doctor__header .reveal-copy:nth-child(1) { transition-delay: .05s; }
    .meet-doctor.is-visible .meet-doctor__header .reveal-copy:nth-child(2) { transition-delay: .12s; }
    .meet-doctor.is-visible .meet-doctor__avatar.reveal-copy { transition-delay: .18s; }
    .meet-doctor.is-visible .meet-doctor__text.reveal-copy { transition-delay: .28s; }
    .meet-doctor.is-visible .meet-doctor__identity.reveal-copy { transition-delay: .38s; }
    .meet-doctor.is-visible .meet-doctor__social.reveal-copy { transition-delay: .48s; }
    .meet-doctor__avatar {
      width: 168px;
      height: 168px;
      margin: 0 auto 34px;
      overflow: hidden;
      border-radius: 50%;
      border: 4px solid rgba(255, 250, 246, .85);
      box-shadow: 0 14px 32px rgba(84, 57, 54, .12);
      transition: transform .45s ease, box-shadow .45s ease;
    }
    .meet-doctor.is-visible .meet-doctor__avatar:hover {
      transform: scale(1.04);
      box-shadow: 0 18px 38px rgba(84, 57, 54, .16);
    }
    .meet-doctor__avatar img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
    }
    .meet-doctor__text {
      max-width: 58ch;
      margin: 0 auto;
      color: #5f534e;
      font-size: 13px;
      line-height: 1.85;
    }
    .meet-doctor__text strong {
      display: block;
      margin-top: 18px;
      color: var(--rose-dark);
      font-family: var(--sans);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
      line-height: 1.5;
      text-transform: uppercase;
    }
    .meet-doctor__identity { margin-top: 34px; }
    .meet-doctor__name {
      margin: 0;
      color: #3a322f;
      font-family: var(--serif);
      font-size: clamp(28px, 3vw, 34px);
      font-weight: 400;
    }
    .meet-doctor__role {
      margin: 8px 0 0;
      color: #7a6d68;
      font-size: 12px;
      letter-spacing: .04em;
    }
    .meet-doctor__social {
      display: flex;
      justify-content: center;
      gap: 18px;
      margin-top: 28px;
    }
    .meet-doctor__social-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 38px;
      height: 38px;
      color: var(--rose);
      transition: color .25s ease, transform .25s ease;
    }
    .meet-doctor__social-link svg { width: 22px; height: 22px; }
    .meet-doctor__social-link:hover {
      color: var(--rose-dark);
      transform: translateY(-3px);
    }

    .appointment {
      position: relative;
      display: grid;
      min-height: 520px;
      place-items: center;
      overflow: hidden;
      padding: 105px 24px;
      background: linear-gradient(135deg, #b47274 0%, #bd7c80 54%, #a9676a 100%);
      color: #fffaf6;
      text-align: center;
    }
    .appointment::before { content: ""; position: absolute; inset: 17px; border: 1px solid rgba(255, 250, 246, .16); pointer-events: none; }
    .appointment__ornament { position: absolute; width: 390px; height: 390px; border: 1px solid rgba(255, 250, 246, .13); border-radius: 50%; }
    .appointment__ornament::before { content: ""; position: absolute; inset: 27px; border: 1px solid rgba(255, 250, 246, .1); border-radius: inherit; }
    .appointment__ornament--left { bottom: -280px; left: -130px; }
    .appointment__ornament--right { top: -285px; right: -120px; }
    .appointment__content { position: relative; z-index: 1; width: min(680px, 100%); opacity: 0; transform: translateY(45px); transition: opacity .75s ease, transform .85s cubic-bezier(.22, 1, .36, 1); }
    .appointment.is-visible .appointment__content { opacity: 1; transform: translateY(0); }
    .appointment__eyebrow { margin-bottom: 17px; color: rgba(255, 250, 246, .72); font-size: 9px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; }
    .appointment h2 { color: #fffaf6; font-family: var(--serif); font-size: clamp(47px, 5.4vw, 70px); font-weight: 400; line-height: .93; }
    .appointment h2 em { font-weight: 400; }
    .appointment__text { max-width: 570px; margin: 24px auto 0; color: rgba(255, 250, 246, .84); font-size: 13px; line-height: 1.75; }
    .appointment__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin-top: 35px; }
    .appointment__button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      min-width: 190px;
      padding: 16px 24px;
      border: 1px solid #fffaf6;
      border-radius: 999px;
      font-size: 9px;
      font-weight: 600;
      letter-spacing: .22em;
      text-transform: uppercase;
      transition: background .25s ease, color .25s ease, transform .25s ease;
    }
    .appointment__button--light { background: #fffaf6; color: var(--rose-dark); }
    .appointment__button--outline { background: transparent; color: #fffaf6; }
    .appointment__button:hover { background: var(--ink); border-color: var(--ink); color: #fff; transform: translateY(-3px); }
    .appointment__button span { font-size: 15px; letter-spacing: 0; transition: transform .25s ease; }
    .appointment__button:hover span { transform: translateX(4px); }

    .site-footer { background: #fffaf6; color: var(--ink); }
    .site-footer__accent { height: 38px; background: var(--rose); }
    .site-footer__inner { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 78px 0 30px; }
    .site-footer__grid { display: grid; grid-template-columns: 1.45fr repeat(3, 1fr); gap: clamp(38px, 6vw, 85px); padding-bottom: 64px; }
    .site-footer__brand-column { max-width: 320px; }
    .site-footer__logo { position: relative; display: block; width: 210px; height: 70px; overflow: hidden; }
    .site-footer__logo img { position: absolute; top: 50%; left: -65px; width: 335px; max-width: none; transform: translateY(-50%); }
    .site-footer__brand-column > p { margin-top: 22px; color: #6f625d; font-size: 12px; line-height: 1.7; }
    .site-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; font-style: normal; }
    .site-footer__column h2 { margin-bottom: 5px; color: var(--ink); font-family: var(--sans); font-size: 10px; font-weight: 600; letter-spacing: .25em; text-transform: uppercase; }
    .site-footer__column a,
    .site-footer__column span { color: #756862; font-size: 11px; line-height: 1.4; transition: color .2s ease, transform .2s ease; }
    .site-footer__column a:hover { color: var(--rose-dark); transform: translateX(3px); }
    .site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 28px; border-top: 1px solid rgba(42, 37, 34, .12); }
    .site-footer__bottom p,
    .site-footer__bottom a,
    .site-footer__bottom span { color: #8a7b74; font-size: 8px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
    .site-footer__bottom > div { display: flex; gap: 8px; }
    .site-footer__bottom a:hover { color: var(--rose-dark); }

    .back-to-top {
      position: fixed;
      z-index: 18;
      bottom: 24px;
      left: 24px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--rose-dark);
      opacity: 0;
      visibility: hidden;
      transform: translateY(14px);
      transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
    }
    .back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
    .back-to-top span {
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      border: 1px solid var(--rose);
      border-radius: 50%;
      background: rgba(255, 248, 242, .92);
      box-shadow: 0 8px 22px rgba(42, 37, 34, .12);
      font-size: 21px;
      transition: background .25s ease, color .25s ease, transform .25s ease;
    }
    .back-to-top strong { font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
    .back-to-top:hover span { background: var(--rose); color: #fff; transform: translateY(-3px); }

    @media (min-width: 1281px) {
      .slide--portrait .slide__image {
        -webkit-mask-image: linear-gradient(to right, transparent 0, rgba(0, 0, 0, .35) 110px, #000 320px);
        mask-image: linear-gradient(to right, transparent 0, rgba(0, 0, 0, .35) 110px, #000 320px);
      }
    }

    @media (max-width: 900px) {
      .nav { top: 14px; padding: 0 16px; }
      .nav__bar { position: relative; min-height: 74px; padding: 9px 13px 9px 24px; border-radius: 24px; gap: 12px; }
      .brand { flex-basis: auto; flex: 1; width: auto; height: 52px; }
      .brand img { left: -44px; width: 210px; }
      .nav__cta { width: 42px; height: 42px; flex-basis: 42px; }
      .nav__toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 42px;
        height: 42px;
        padding: 10px;
        border-radius: 50%;
        background: rgba(255, 248, 242, .16);
        cursor: pointer;
      }
      .nav__toggle span { display: block; width: 100%; height: 1.5px; background: var(--cream); transition: transform .25s ease, opacity .25s ease; }
      .menu-open .nav__toggle span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
      .menu-open .nav__toggle span:nth-child(2) { opacity: 0; }
      .menu-open .nav__toggle span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
      .nav__links {
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px 22px 18px;
        border-radius: 20px;
        background: var(--rose);
        box-shadow: 0 18px 36px rgba(32, 25, 24, .22);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
      }
      .menu-open .nav__links { opacity: 1; visibility: visible; transform: translateY(0); }
      .nav__link { min-height: 48px; height: auto; font-size: 13px; }
      .nav__link::after { display: none; }
      .nav__item { display: block; height: auto; }
      .nav__submenu {
        position: static;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        background: rgba(255, 255, 255, .1);
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: max-height .3s ease;
      }
      .nav__submenu a { padding: 13px 18px; color: var(--cream); font-size: 11px; }
      .nav__item--has-submenu:hover .nav__submenu,
      .nav__item--has-submenu:focus-within .nav__submenu { transform: none; }
      .nav__item.submenu-open .nav__submenu { max-height: 180px; }
      .nav__item.submenu-open .caret { transform: rotate(225deg); margin-bottom: -2px; }
      .slider { min-height: 620px; }
      .slide__image { object-position: 57% center; }
      .slide__shade { background: linear-gradient(0deg, rgba(32, 28, 26, .76) 0%, rgba(32, 28, 26, .27) 72%, rgba(32, 28, 26, .18) 100%); }
      .slide__content { top: auto; bottom: 82px; left: 0; width: 100%; padding: 0 30px; transform: none; }
      .slide--portrait .slide__content { left: 0; width: 100%; transform: none; }
      .slide--portrait .slide__image { object-position: 57% center; }
      .slide h1 { font-size: clamp(46px, 12vw, 68px); }
      .slide__lead { font-size: 14px; line-height: 1.6; }
      .button { margin-top: 24px; padding: 16px 24px; letter-spacing: .2em; }
      .arrow { top: 50%; width: 42px; height: 42px; }
      .arrow--prev { left: 12px; }
      .arrow--next { right: 12px; }
      .attention { padding: 82px 20px 90px; }
      .attention__heading { margin-bottom: 45px; }
      .attention__grid { grid-template-columns: 1fr; gap: 30px; }
      .area-card__media { height: 250px; }
      .area-card__body { padding: 31px 25px 30px; }
      .area-card__columns { gap: 20px; }
      .features { padding: 82px 20px 92px; }
      .features__heading { display: block; margin-bottom: 42px; }
      .features__heading > p { margin-bottom: 18px; }
      .features__heading h2 { text-align: left; }
      .features__grid { grid-template-columns: 1fr; }
      .feature-card { min-height: 315px; }
      .feature-card__line { margin-top: 35px; }
      .mission { padding: 86px 20px 96px; }
      .meet-doctor { padding: 86px 20px 92px; }
      .meet-doctor__card { padding: 38px 24px 44px; }
      .mission__intro { grid-template-columns: 1fr; gap: 30px; padding-bottom: 55px; }
      .mission__pillars { grid-template-columns: 1fr; }
      .mission-card,
      .mission-card:nth-child(2) { min-height: 230px; transform: none; }
      .mission-card:nth-child(2):hover { transform: translateY(-7px); }
      .procedures-hero { height: 330px; padding-top: 90px; }
      .procedure-row,
      .procedure-row--reverse { grid-template-columns: 1fr; min-height: 0; }
      .procedure-row--reverse .procedure-row__image { order: 0; }
      .procedure-row__image { min-height: 340px; }
      .procedure-row__content { padding: 52px 38px 58px; }
      .self-care-cta { grid-template-columns: 1fr; min-height: 700px; padding-bottom: 250px; }
      .self-care-cta__content { padding-bottom: 0; }
      .self-care-cta > img { right: -8%; bottom: -37%; width: 70vw; height: 95%; }
      .gallery-hero { height: 330px; }
      .gallery-section { padding: 80px 18px 95px; }
      .gallery-grid { columns: 2 260px; }
      .gallery-lightbox { grid-template-columns: 55px minmax(0, 1fr) 55px; padding: 40px 15px; }
      .page-hero,
      .page-hero__media,
      .page-hero__panel { height: 300px; max-height: 300px; }
      .page-hero__media { width: 300px; }
      .page-hero__media img { height: 300px; }
      .page-hero__panel { padding: 82px 120px 0; }
      .page-hero__icon { right: -18px; bottom: -22px; width: 190px; height: 190px; }
      .trajectory { padding: 86px 20px 95px; }
      .trajectory__wrap { grid-template-columns: 1fr; }
      .trajectory__item { grid-template-columns: 64px minmax(0, 1fr); gap: 18px; padding: 28px 0; }
      .trajectory__portrait { position: relative; top: auto; width: min(560px, 100%); min-height: 680px; margin: 0 auto; }
      .doctor-about { padding: 86px 20px 95px; }
      .doctor-about__wrap { grid-template-columns: 1fr; gap: 64px; }
      .doctor-about__visual { width: min(620px, calc(100% - 30px)); }
      .doctor-about__content { max-width: 680px; }
      .testimonials { padding: 82px 18px 80px; }
      .testimonial-slider { padding: 10px 60px 0; }
      .testimonial-slide { min-height: 390px; padding: 22px 25px 28px; }
      .testimonial-arrow { width: 44px; height: 44px; }
      .testimonial-arrow--prev { left: 4px; }
      .testimonial-arrow--next { right: 4px; }
      .appointment { min-height: 480px; padding: 85px 20px; }
      .site-footer__inner { padding-top: 60px; }
      .site-footer__grid { grid-template-columns: repeat(2, 1fr); gap: 46px 55px; }
      .back-to-top { bottom: 16px; left: 16px; }
      .back-to-top span { width: 40px; height: 40px; }
      .back-to-top strong { display: none; }
    }

    @media (max-width: 560px) {
      .attention__heading h2 { font-size: 41px; }
      .area-card__columns { grid-template-columns: 1fr; }
      .area-card__columns--reconstructive ul { columns: 1; }
      .area-card__media { height: 210px; }
      .features__heading h2 { font-size: 44px; }
      .page-hero {
        grid-template-columns: 1fr;
        height: auto;
        max-height: none;
      }
      .page-hero__media {
        justify-content: center;
        width: 100%;
        height: 240px;
        padding: 0;
        background: #f3d9d7;
      }
      .page-hero__media img {
        width: 100%;
        max-width: none;
        height: 240px;
        max-height: none;
        object-fit: cover;
      }
      .page-hero__panel {
        position: relative;
        inset: auto;
        width: 100%;
        height: auto;
        min-height: 150px;
        padding: 32px 24px 48px;
      }
      .page-hero__panel h1 { font-size: 44px; }
      .page-hero__icon { right: -12px; bottom: -15px; width: 120px; height: 120px; }
      .meet-doctor__avatar { width: 148px; height: 148px; }
      .meet-doctor__text { font-size: 12.5px; }
      .trajectory__heading h2 { font-size: 40px; }
      .trajectory__item h3 { font-size: 24px; }
      .trajectory__portrait { min-height: 540px; }
      .trajectory__portrait img { right: -12%; width: 124%; }
      .doctor-about__visual { width: calc(100% - 18px); min-height: 490px; padding: 0 0 23px 20px; }
      .doctor-about__photo--back { width: 68%; height: 82%; border-radius: 3px 58px 3px 3px; }
      .doctor-about__photo--front { bottom: 0; left: -3%; width: 61%; height: 46%; border-width: 2px; }
      .doctor-about__seal { right: -18px; width: 92px; height: 92px; }
      .doctor-about__seal span { font-size: 20px; }
      .doctor-about__credentials { grid-template-columns: 1fr; }
      .doctor-about__content h2 { font-size: 43px; }
      .testimonial-slider { padding-right: 35px; padding-left: 35px; }
      .testimonial-slide { min-height: 440px; padding-right: 5px; padding-left: 5px; }
      .testimonial-slide blockquote { font-size: 23px; }
      .testimonial-arrow { top: auto; bottom: 0; }
      .testimonial-arrow--prev { left: calc(50% - 85px); }
      .testimonial-arrow--next { right: calc(50% - 85px); }
      .testimonial-controls { margin-top: 65px; }
      .appointment h2 { font-size: 47px; }
      .appointment__actions { align-items: stretch; flex-direction: column; }
      .appointment__button { width: 100%; }
      .site-footer__inner { width: min(100% - 38px, 560px); }
      .site-footer__grid { grid-template-columns: 1fr; gap: 38px; padding-bottom: 45px; }
      .site-footer__brand-column { max-width: 320px; }
      .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 14px; }
      .site-footer__bottom > div { flex-wrap: wrap; }
      .procedures-hero { height: 300px; }
      .procedures-hero span { font-size: 9px; }
      .procedures-intro { padding: 78px 20px 55px; }
      .procedure-catalog { padding: 0 14px 85px; }
      .procedure-row__image { min-height: 265px; }
      .procedure-row__content { padding: 45px 25px 48px; }
      .procedure-row__content ul { grid-template-columns: 1fr; }
      .procedure-row__number { top: 20px; right: 23px; }
      .self-care-cta { min-height: 650px; padding: 70px 24px 230px; }
      .self-care-cta h2 { font-size: 56px; }
      .self-care-cta > img { right: -26%; bottom: -35%; width: 105vw; }
      .gallery-hero { height: 300px; }
      .gallery-grid { columns: 1; }
      .gallery-lightbox { display: block; padding: 65px 14px 95px; }
      .gallery-lightbox figure { height: calc(100vh - 160px); }
      .gallery-lightbox__arrow { position: absolute; bottom: 25px; }
      .gallery-lightbox__arrow--prev { left: calc(50% - 70px); }
      .gallery-lightbox__arrow--next { right: calc(50% - 70px); }
      .gallery-lightbox__counter { right: 18px; bottom: 38px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
      .nav { animation: none; }
      .area-card { opacity: 1; transform: none; }
      .feature-card { opacity: 1; transform: none; }
      .doctor-about__visual,
      .doctor-about__content .reveal-copy { opacity: 1; transform: none; }
      .meet-doctor__card .reveal-copy,
      .appointment__content { opacity: 1; transform: none; }
      .procedure-row { opacity: 1; transform: none; }
      .gallery-item { opacity: 1; transform: none; }
    }
