@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300..600&family=Manrope:wght@200..800&display=swap');

:root {
  --bg: #f6f2eb;
  --bg-soft: #fbf8f2;
  --surface: #fffdf8;
  --surface-muted: #eee8dc;
  --ink: #20211e;
  --ink-soft: #3e3f3a;
  --muted: #716d63;
  --line: rgba(32, 33, 30, 0.13);
  --line-strong: rgba(32, 33, 30, 0.22);
  --sage: #65766b;
  --sage-dark: #34443c;
  --bronze: #a77952;
  --ivory: #fffaf0;
  --shadow: 0 22px 70px rgba(35, 31, 25, 0.08);
  --shadow-soft: 0 14px 38px rgba(35, 31, 25, 0.06);
  --radius: 8px;
  --container: 1180px;
  --header-height: 76px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-padding-top: var(--header-height);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.82), rgba(246, 242, 235, 0.96) 32rem),
    var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea {
  font: inherit;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  transform: translateY(-140%);
  padding: 10px 14px;
  background: var(--ink);
  color: var(--ivory);
  border-radius: 6px;
  transition: transform 180ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.scroll-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 12000;
  width: 100%;
  height: 3px;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, #9f7425, #d7b56d, #fff1b8);
  box-shadow: 0 0 18px rgba(215, 181, 109, 0.36);
  pointer-events: none;
}

.container {
  width: min(var(--container), calc(100% - 40px));
  margin-inline: auto;
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--bronze);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.03;
}

h1 {
  margin-bottom: 24px;
  font-size: 6rem;
}

h2 {
  margin-bottom: 0;
  font-size: 3.25rem;
}

h3 {
  margin-bottom: 12px;
  font-size: 1.15rem;
  line-height: 1.25;
}

p {
  color: var(--muted);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.1;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.button-primary {
  background: var(--sage-dark);
  color: var(--ivory);
}

.button-primary:hover,
.button-primary:focus-visible {
  background: var(--ink);
}

.button-secondary {
  border-color: rgba(255, 250, 240, 0.58);
  color: var(--ivory);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: var(--header-height);
  background: rgba(251, 248, 242, 0.82);
  border-bottom: 1px solid rgba(32, 33, 30, 0.08);
  backdrop-filter: blur(20px);
  transition: box-shadow 180ms ease, background 180ms ease;
}

.site-header.is-scrolled,
.site-header.menu-open {
  background: rgba(251, 248, 242, 0.96);
  box-shadow: 0 18px 36px rgba(35, 31, 25, 0.06);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--header-height);
  gap: 22px;
}

.brand,
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.brand-logo {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--surface);
}

.brand-text {
  display: grid;
  gap: 1px;
  line-height: 1.1;
}

.brand-text strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.18rem;
  font-weight: 600;
}

.brand-text small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: 26px;
  color: var(--ink-soft);
  font-size: 0.9rem;
  font-weight: 700;
}

.desktop-nav a {
  position: relative;
  padding: 8px 0;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: right;
  background: var(--bronze);
  transition: transform 180ms ease;
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid var(--sage-dark);
  border-radius: 6px;
  color: var(--sage-dark);
  font-size: 0.86rem;
  font-weight: 800;
  transition: background 180ms ease, color 180ms ease;
}

.header-cta:hover,
.header-cta:focus-visible {
  background: var(--sage-dark);
  color: var(--ivory);
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
}

.nav-toggle span:not(.sr-only) {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  background: currentColor;
  transition: transform 180ms ease, opacity 180ms ease;
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.mobile-menu {
  border-top: 1px solid var(--line);
  background: var(--bg-soft);
}

.mobile-menu[hidden] {
  display: none;
}

.mobile-menu-panel {
  display: grid;
  gap: 4px;
  width: min(100% - 40px, var(--container));
  margin-inline: auto;
  padding: 18px 0 24px;
}

.mobile-menu-panel a {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-weight: 750;
}

.mobile-cta {
  margin-top: 10px;
  padding: 14px 16px !important;
  border: 0 !important;
  border-radius: 6px;
  background: var(--sage-dark);
  color: var(--ivory);
  text-align: center;
}

.section-heading {
  max-width: 620px;
}

.section-heading.narrow {
  max-width: 760px;
  margin-bottom: 46px;
}

.section-heading.narrow p:last-child {
  max-width: 620px;
  margin: 22px 0 0;
}

.site-footer {
  padding: 74px 0 30px;
  background: #171816;
  color: var(--ivory);
}

.site-footer p,
.site-footer .muted {
  color: rgba(255, 250, 240, 0.66);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.62fr 0.78fr;
  gap: 54px;
  align-items: start;
}

.footer-brand {
  margin-bottom: 18px;
}

.footer-brand img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.footer-brand span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
}

.site-footer h2 {
  margin-bottom: 18px;
  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 800;
  text-transform: uppercase;
}

.site-footer nav,
.site-footer nav + div,
.footer-grid > div:last-child {
  display: grid;
  gap: 10px;
}

.site-footer a {
  color: rgba(255, 250, 240, 0.86);
  transition: color 180ms ease;
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: #d8b68d;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 54px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 250, 240, 0.14);
  font-size: 0.86rem;
}

.footer-bottom p {
  max-width: 760px;
  margin-bottom: 0;
}

.footer-bottom span {
  white-space: nowrap;
  color: rgba(255, 250, 240, 0.66);
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 600ms ease, transform 600ms ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.zen-clean-page .reveal-up,
.zen-clean-page .reveal-scale,
.zen-clean-page .stagger-item {
  opacity: 0;
  transition:
    opacity 680ms ease,
    transform 680ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

.zen-clean-page .reveal-up,
.zen-clean-page .stagger-item {
  transform: translateY(24px);
}

.zen-clean-page .reveal-scale {
  transform: scale(0.985);
}

.zen-clean-page .reveal-up.is-visible,
.zen-clean-page .reveal-scale.is-visible,
.zen-clean-page .stagger-item.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }

  .zen-clean-page .reveal-up,
  .zen-clean-page .reveal-scale,
  .zen-clean-page .stagger-item {
    opacity: 1;
    transform: none;
    filter: none;
  }
}

@media (max-width: 1060px) {
  h1 {
    font-size: 4.7rem;
  }

  h2 {
    font-size: 2.75rem;
  }

  .desktop-nav {
    gap: 18px;
  }

}

@media (max-width: 860px) {
  :root {
    --header-height: 70px;
  }

  .container {
    width: min(var(--container), calc(100% - 32px));
  }

  h1 {
    font-size: 3.65rem;
  }

  h2 {
    font-size: 2.35rem;
  }

  .desktop-nav,
  .header-cta {
    display: none;
  }

  .nav-toggle {
    display: block;
  }

  .site-header.menu-open {
    isolation: isolate;
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    min-height: 100svh;
    flex-direction: column;
    overflow-y: auto;
  }

  .mobile-menu {
    position: static;
    flex: 1;
    overflow: visible;
    background: rgba(251, 248, 242, 0.98);
    box-shadow: inset 0 1px 0 rgba(35, 31, 25, 0.08);
  }

  .mobile-menu-panel {
    gap: 0;
    padding: 28px 0 max(42px, env(safe-area-inset-bottom));
  }

  .mobile-menu-panel a {
    display: flex;
    min-height: 54px;
    align-items: center;
    line-height: 1.18;
  }

  .brand-text small {
    display: none;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  body {
    font-size: 15px;
  }

  h1 {
    font-size: 3rem;
  }

  h2 {
    font-size: 2rem;
  }

  .button {
    width: 100%;
    padding-inline: 16px;
  }

}

body.procedure-page {
  --procedure-accent: #caa276;
  --procedure-accent-soft: rgba(202, 162, 118, 0.18);
  --procedure-dark: #151713;
  --procedure-deep: #0f1110;
  --procedure-panel: #20231f;
  --procedure-line: rgba(255, 250, 240, 0.14);
  background: var(--procedure-dark);
  color: var(--ivory);
}

.procedure-page--face {
  --procedure-accent: #d0ad87;
  --procedure-accent-soft: rgba(208, 173, 135, 0.2);
}

.procedure-page--body {
  --procedure-accent: #b99b70;
  --procedure-accent-soft: rgba(185, 155, 112, 0.18);
}

.procedure-page--breast {
  --procedure-accent: #c7a694;
  --procedure-accent-soft: rgba(199, 166, 148, 0.18);
}

.procedure-page--injectable {
  --procedure-accent: #bdaf87;
  --procedure-accent-soft: rgba(189, 175, 135, 0.18);
}

.procedure-page--skin,
.procedure-page--medical {
  --procedure-accent: #a9b6a8;
  --procedure-accent-soft: rgba(169, 182, 168, 0.18);
}

.procedure-page--intimate {
  --procedure-accent: #c5a992;
  --procedure-accent-soft: rgba(197, 169, 146, 0.18);
}

.procedure-page--men {
  --procedure-accent: #b9a77c;
  --procedure-accent-soft: rgba(185, 167, 124, 0.18);
}

.procedure-page .site-header {
  background: rgba(16, 18, 16, 0.82);
  border-bottom-color: rgba(255, 250, 240, 0.1);
}

.procedure-page .site-header.is-scrolled,
.procedure-page .site-header.menu-open {
  background: rgba(16, 18, 16, 0.96);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

.procedure-page .brand-text strong,
.procedure-page .desktop-nav,
.procedure-page .site-footer h2 {
  color: var(--ivory);
}

.procedure-page .desktop-nav {
  gap: clamp(10px, 1.2vw, 18px);
  font-size: clamp(0.74rem, 0.78vw, 0.86rem);
}

.procedure-page .brand-text small,
.procedure-page .desktop-nav a {
  color: rgba(255, 250, 240, 0.72);
}

.procedure-page .header-cta {
  border-color: rgba(255, 250, 240, 0.34);
  color: var(--ivory);
}

.procedure-page .header-cta:hover,
.procedure-page .header-cta:focus-visible {
  background: var(--ivory);
  color: var(--ink);
}

.procedure-page .nav-toggle {
  border-color: rgba(255, 250, 240, 0.16);
  background: rgba(255, 255, 255, 0.08);
  color: var(--ivory);
}

.procedure-page .mobile-menu {
  border-top-color: rgba(255, 250, 240, 0.12);
  background:
    radial-gradient(circle at 18% 0%, rgba(197, 169, 146, 0.13), transparent 34%),
    #101210;
}

.procedure-page .mobile-menu-panel a {
  border-bottom-color: rgba(255, 250, 240, 0.12);
  color: var(--ivory);
}

.procedure-hero {
  position: relative;
  display: grid;
  align-items: end;
  min-height: 74svh;
  overflow: hidden;
  padding: 104px 0 72px;
  background: var(--procedure-deep);
}

.procedure-hero__media,
.procedure-hero__media img,
.procedure-hero__shade {
  position: absolute;
  inset: 0;
}

.procedure-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.82) contrast(1.05) brightness(0.68);
}

.procedure-page--face .procedure-hero__media img,
.procedure-page--injectable .procedure-hero__media img,
.procedure-page--skin .procedure-hero__media img {
  object-position: 56% 42%;
}

.procedure-page--body .procedure-hero__media img,
.procedure-page--breast .procedure-hero__media img,
.procedure-page--men .procedure-hero__media img {
  object-position: 50% 46%;
}

.procedure-hero__shade {
  background:
    linear-gradient(90deg, rgba(12, 14, 12, 0.9), rgba(12, 14, 12, 0.62) 46%, rgba(12, 14, 12, 0.18)),
    linear-gradient(0deg, rgba(12, 14, 12, 0.78), rgba(12, 14, 12, 0.06) 48%);
}

.procedure-hero__content {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.procedure-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 34px;
  color: rgba(255, 250, 240, 0.62);
  font-size: 0.88rem;
  font-weight: 700;
}

.procedure-breadcrumbs a {
  color: rgba(255, 250, 240, 0.82);
}

.procedure-breadcrumbs a:hover,
.procedure-breadcrumbs a:focus-visible {
  color: var(--procedure-accent);
}

.procedure-hero .eyebrow,
.procedure-section--dark .eyebrow,
.procedure-final .eyebrow {
  color: var(--procedure-accent);
}

.procedure-hero h1 {
  max-width: 780px;
  margin-bottom: 22px;
  font-size: 5rem;
}

.procedure-hero__lead {
  max-width: 640px;
  margin-bottom: 32px;
  color: rgba(255, 250, 240, 0.78);
  font-size: 1.12rem;
}

.procedure-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.procedure-actions .button-primary {
  background: var(--procedure-accent);
  color: #16130f;
}

.procedure-actions .button-primary:hover,
.procedure-actions .button-primary:focus-visible {
  background: var(--ivory);
}

.procedure-section {
  padding: 96px 0;
}

.procedure-section--dark {
  background:
    linear-gradient(180deg, rgba(255, 250, 240, 0.03), rgba(255, 250, 240, 0)),
    var(--procedure-dark);
  color: var(--ivory);
}

.procedure-section--light {
  background: var(--bg-soft);
  color: var(--ink);
}

.procedure-section--light p,
.procedure-section--light .procedure-muted {
  color: var(--muted);
}

.procedure-intro-grid {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 58px;
  align-items: start;
}

.procedure-intro-copy {
  display: grid;
  gap: 18px;
}

.procedure-intro-copy p {
  margin-bottom: 0;
  font-size: 1.05rem;
}

.procedure-editorial,
.procedure-split {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 58px;
  align-items: start;
}

.procedure-editorial__copy {
  display: grid;
  gap: 18px;
}

.procedure-editorial__copy p {
  margin-bottom: 0;
  font-size: 1.05rem;
}

.procedure-section__head {
  max-width: 800px;
  margin-bottom: 34px;
}

.procedure-section__head h2 {
  margin-bottom: 16px;
}

.procedure-section__head p:not(.eyebrow) {
  max-width: 720px;
}

.procedure-section--dark p {
  color: rgba(255, 250, 240, 0.7);
}

.procedure-visual-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  grid-auto-rows: 250px;
  gap: 16px;
}

.procedure-page--face .procedure-visual-grid,
.procedure-page--injectable .procedure-visual-grid,
.procedure-page--skin .procedure-visual-grid {
  grid-template-columns: 0.86fr 1.14fr;
}

.procedure-page--breast .procedure-visual-grid,
.procedure-page--intimate .procedure-visual-grid {
  grid-template-columns: 1fr 1fr;
}

.procedure-visual,
.procedure-visual-card {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 250, 240, 0.12);
  border-radius: var(--radius);
  background: rgba(255, 250, 240, 0.06);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.18);
}

.procedure-visual:first-child,
.procedure-visual-card--large {
  grid-row: span 2;
}

.procedure-page--breast .procedure-visual:first-child,
.procedure-page--intimate .procedure-visual:first-child {
  grid-row: auto;
}

.procedure-visual img,
.procedure-visual-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.92);
}

.procedure-card-grid,
.procedure-objectives {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.procedure-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.procedure-mini-card,
.procedure-objective-card {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.procedure-mini-card span,
.procedure-objective-card span {
  display: block;
  margin-bottom: 28px;
  color: var(--bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.5rem;
}

.procedure-mini-card h3,
.procedure-objective-card h3 {
  color: var(--ink);
}

.procedure-mini-card p,
.procedure-objective-card p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.96rem;
}

.procedure-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.procedure-timeline li,
.procedure-step {
  position: relative;
  min-height: 220px;
  padding: 24px;
  border: 1px solid rgba(255, 250, 240, 0.14);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.055);
}

.procedure-timeline li::after,
.procedure-step::after {
  content: "";
  position: absolute;
  top: 41px;
  right: -15px;
  width: 16px;
  height: 1px;
  background: rgba(255, 250, 240, 0.24);
}

.procedure-timeline li:last-child::after,
.procedure-step:last-child::after {
  content: none;
}

.procedure-timeline span,
.procedure-step span {
  display: block;
  margin-bottom: 34px;
  color: var(--procedure-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.55rem;
}

.procedure-timeline h3,
.procedure-step h3 {
  color: var(--ivory);
}

.procedure-timeline p,
.procedure-step p {
  margin-bottom: 0;
}

.procedure-details-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: 42px;
  align-items: start;
}

.procedure-details-list {
  display: grid;
  gap: 18px;
}

.procedure-detail-list,
.procedure-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.procedure-detail-card,
.procedure-detail,
.procedure-benefit {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.procedure-detail-card h2,
.procedure-detail h3,
.procedure-benefit h3 {
  margin-bottom: 14px;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
}

.procedure-detail-card h2 {
  font-size: 1.7rem;
}

.procedure-detail-card p,
.procedure-detail p,
.procedure-benefit p {
  margin-bottom: 12px;
  color: var(--muted);
}

.procedure-detail-card p:last-child,
.procedure-detail p:last-child,
.procedure-benefit p:last-child {
  margin-bottom: 0;
}

.procedure-faq-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 48px;
  align-items: start;
}

.procedure-faq-list {
  display: grid;
  gap: 10px;
}

.procedure-faq-item {
  border: 1px solid rgba(255, 250, 240, 0.14);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.055);
}

.procedure-faq-item button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border: 0;
  background: transparent;
  color: var(--ivory);
  cursor: pointer;
  text-align: left;
  font-weight: 800;
}

.faq-icon {
  display: inline-grid;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(255, 250, 240, 0.2);
  border-radius: 50%;
  color: var(--procedure-accent);
}

.faq-icon::before {
  content: "+";
}

.procedure-faq-item.is-open .faq-icon::before {
  content: "-";
}

.procedure-faq-panel {
  padding: 0 22px 22px;
}

.procedure-faq-panel p {
  margin-bottom: 0;
}

.procedure-final {
  position: relative;
  overflow: hidden;
  padding: 96px 0;
  background: var(--procedure-deep);
  color: var(--ivory);
}

.procedure-final__media,
.procedure-final__media img,
.procedure-final__shade {
  position: absolute;
  inset: 0;
}

.procedure-final__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.76) brightness(0.42);
}

.procedure-final__shade {
  background: linear-gradient(90deg, rgba(13, 15, 13, 0.92), rgba(13, 15, 13, 0.62), rgba(13, 15, 13, 0.2));
}

.procedure-final__content {
  position: relative;
  z-index: 2;
  max-width: 720px;
}

.procedure-final__inner {
  position: relative;
  z-index: 2;
  max-width: 720px;
}

.procedure-final h2 {
  margin-bottom: 24px;
}

.procedure-final p {
  max-width: 600px;
  margin-bottom: 30px;
  color: rgba(255, 250, 240, 0.76);
}

@media (max-width: 1060px) {
  .procedure-hero h1 {
    font-size: 4rem;
  }

  .procedure-card-grid,
  .procedure-mini-grid,
  .procedure-detail-list,
  .procedure-benefit-grid,
  .procedure-objectives,
  .procedure-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .procedure-timeline li::after,
  .procedure-step::after {
    content: none;
  }
}

@media (max-width: 860px) {
  .procedure-hero {
    min-height: 76svh;
    padding: 84px 0 58px;
  }

  .procedure-hero h1 {
    font-size: 3.2rem;
  }

  .procedure-intro-grid,
  .procedure-editorial,
  .procedure-split,
  .procedure-details-grid,
  .procedure-faq-grid {
    grid-template-columns: 1fr;
  }

  .procedure-visual-grid,
  .procedure-page--face .procedure-visual-grid,
  .procedure-page--injectable .procedure-visual-grid,
  .procedure-page--skin .procedure-visual-grid,
  .procedure-page--breast .procedure-visual-grid,
  .procedure-page--intimate .procedure-visual-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 280px;
  }

  .procedure-visual:first-child,
  .procedure-visual-card--large {
    grid-row: auto;
  }
}

@media (max-width: 620px) {
  .procedure-section,
  .procedure-final {
    padding: 68px 0;
  }

  .procedure-hero h1 {
    font-size: 2.75rem;
  }

  .procedure-card-grid,
  .procedure-mini-grid,
  .procedure-detail-list,
  .procedure-benefit-grid,
  .procedure-objectives,
  .procedure-timeline {
    grid-template-columns: 1fr;
  }

  .procedure-mini-card,
  .procedure-objective-card,
  .procedure-detail-card,
  .procedure-detail,
  .procedure-benefit {
    padding: 22px;
  }
}

.lux-privilege {
  background:
    linear-gradient(180deg, var(--surface), var(--bg));
  border-top: 1px solid rgba(200, 164, 93, 0.14);
  border-bottom: 1px solid rgba(200, 164, 93, 0.14);
}

.lux-privilege__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.72fr);
  gap: 64px;
  align-items: center;
}

.lux-privilege__copy {
  padding: 44px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(28, 23, 18, 0.92), rgba(8, 7, 5, 0.92));
}

.lux-privilege__copy > p {
  max-width: 660px;
  color: var(--muted);
  line-height: 1.78;
}

.vip-eligibility-alert {
  margin: 24px 0;
  padding: 16px 18px;
  border: 2px solid rgba(255, 91, 82, 0.78);
  border-left-width: 7px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(106, 19, 14, 0.96), rgba(35, 8, 6, 0.95));
  color: #fff4ec;
  box-shadow: 0 20px 54px rgba(106, 19, 14, 0.26);
}

.vip-eligibility-alert strong {
  display: block;
  color: #ffe69b;
  font-family: Manrope, Inter, "Segoe UI", Arial, sans-serif;
  font-size: clamp(0.92rem, 1.3vw, 1.08rem);
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.vip-eligibility-alert span {
  display: block;
  margin-top: 8px;
  color: rgba(255, 250, 240, 0.94);
  font-size: 0.96rem;
  font-weight: 850;
  line-height: 1.55;
}

.vip-eligibility-alert--compact {
  margin: 22px 0 26px;
}

.vip-eligibility-alert--home,
.vip-eligibility-alert--dark {
  max-width: 640px;
  background:
    linear-gradient(135deg, rgba(106, 19, 14, 0.94), rgba(9, 7, 5, 0.96));
}

.lux-privilege__benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 28px 0;
}

.lux-privilege__benefits span {
  position: relative;
  min-height: 68px;
  padding: 14px 14px 14px 34px;
  border: 1px solid rgba(200, 164, 93, 0.15);
  border-radius: 16px;
  background: rgba(5, 4, 3, 0.26);
  color: rgba(246, 239, 229, 0.82);
  line-height: 1.35;
}

.lux-privilege__benefits span strong {
  display: block;
  margin-bottom: 3px;
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.24rem;
  font-weight: 700;
}

.lux-privilege__benefits span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 13px;
  width: 7px;
  height: 7px;
  border: 1px solid var(--gold-soft);
  border-radius: 50%;
  transform: translateY(-50%);
}

.privilege-form {
  display: grid;
  gap: 14px;
}

.privilege-form label {
  display: grid;
  gap: 7px;
}

.privilege-form label span,
.inner-form label span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.privilege-form input,
.inner-form input,
.inner-form select,
.inner-form textarea {
  width: 100%;
  border: 1px solid rgba(200, 164, 93, 0.18);
  border-radius: 6px;
  background: rgba(5, 4, 3, 0.55);
  color: var(--text);
  outline: 0;
  padding: 13px 14px;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.privilege-form input:focus,
.inner-form input:focus,
.inner-form select:focus,
.inner-form textarea:focus {
  border-color: var(--gold-soft);
  box-shadow: 0 0 0 3px rgba(200, 164, 93, 0.13);
}

.privilege-form__check,
.inner-form__check {
  grid-template-columns: auto 1fr;
  align-items: start;
}

.privilege-form__check input,
.inner-form__check input {
  width: 16px;
  margin-top: 3px;
}

.privilege-form__check--critical {
  padding: 12px;
  border: 1px solid rgba(255, 91, 82, 0.58);
  border-radius: 8px;
  background: rgba(106, 19, 14, 0.34);
}

.privilege-form__check--critical span {
  color: #fff4ec !important;
  font-size: 0.88rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1.5;
  text-transform: none !important;
}

.privilege-form__status,
.inner-form__status {
  min-height: 24px;
  margin: 0;
  color: var(--gold-soft) !important;
}

.privilege-card-gallery {
  position: relative;
  min-height: 470px;
}

.privilege-card-gallery::before {
  content: "";
  position: absolute;
  inset: 12% 8% 0;
  border: 1px solid rgba(200, 164, 93, 0.18);
  border-radius: 24px;
  background: radial-gradient(circle at 30% 20%, rgba(226, 199, 130, 0.18), transparent 44%);
  filter: blur(0.2px);
}

.privilege-card-gallery figure {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.28);
  border-radius: 18px;
  background: #080604;
  box-shadow: 0 36px 100px rgba(0, 0, 0, 0.48);
}

.privilege-card-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms ease, filter 420ms ease;
}

.privilege-card-gallery:hover img {
  filter: saturate(1.06) contrast(1.04);
  transform: scale(1.025);
}

.privilege-card-gallery__main {
  inset: 24px 0 auto 0;
  aspect-ratio: 1672 / 941;
}

.privilege-card-gallery__float {
  right: -16px;
  bottom: 12px;
  width: min(58%, 330px);
  aspect-ratio: 1442 / 850;
  transform: rotate(-5deg);
}

.vip-card {
  width: min(780px, 100%);
  aspect-ratio: 1.58 / 1;
  justify-self: center;
  perspective: 1200px;
  cursor: pointer;
  outline: 0;
  filter: drop-shadow(0 34px 80px rgba(0, 0, 0, 0.48));
}

.vip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform var(--motion-long, 900ms) var(--ease-premium, ease);
  transform-style: preserve-3d;
}

.vip-card:hover .vip-card-inner,
.vip-card.is-flipped .vip-card-inner {
  transform: rotateY(180deg);
}

.vip-card-face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 2px solid rgba(226, 199, 130, 0.82);
  border-radius: 28px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: #050505;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.vip-card-front {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 18% 14%, rgba(226, 199, 130, 0.24), transparent 31%),
    radial-gradient(circle at 86% 84%, rgba(200, 164, 93, 0.18), transparent 34%),
    linear-gradient(135deg, #080706, #17120d 46%, #050403);
}

.vip-card-front--image {
  display: block;
  background: #050403;
}

.vip-card-front--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vip-card-front::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(226, 199, 130, 0.32);
  border-radius: 22px;
}

.vip-card-front::after {
  content: "";
  position: absolute;
  inset: auto 10% 16% 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(226, 199, 130, 0.82), transparent);
}

.vip-card-front--image::before {
  inset: 14px;
  z-index: 1;
  border-color: rgba(226, 199, 130, 0.5);
}

.vip-card-front--image::after {
  z-index: 2;
  inset: 0;
  height: auto;
  background: linear-gradient(110deg, transparent 24%, rgba(255, 255, 255, 0.18) 45%, transparent 62%);
  opacity: 0;
  transform: translateX(-125%);
  transition:
    opacity 520ms var(--ease-premium, ease),
    transform 920ms var(--ease-premium, ease);
}

.vip-card:hover .vip-card-front--image::after,
.vip-card.is-flipped .vip-card-front--image::after {
  opacity: 0.62;
  transform: translateX(125%);
}

.front-content {
  position: relative;
  z-index: 1;
  text-align: center;
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
}

.front-content span {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--champagne);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.front-content h3 {
  margin: 0;
  color: var(--gold-soft);
  font-size: clamp(2.6rem, 5.8vw, 5.8rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 0.95;
  text-shadow: 0 10px 32px rgba(0, 0, 0, 0.45);
}

.front-content p {
  margin: 18px 0 0;
  color: var(--text);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: clamp(1.05rem, 2.1vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.vip-card-back {
  transform: rotateY(180deg);
}

.vip-card-back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--motion-long, 900ms) var(--ease-premium, ease);
}

.vip-card:hover .vip-card-back img,
.vip-card.is-flipped .vip-card-back img {
  transform: scale(1.015);
}

.inner-page {
  min-height: 100vh;
}

.inner-page .lux-header {
  background: rgba(5, 4, 3, 0.18);
}

.inner-page .lux-header.is-scrolled,
.inner-page .lux-header.menu-open {
  background: rgba(5, 4, 3, 0.94);
}

.inner-hero {
  position: relative;
  padding: 220px 0 96px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(5, 4, 3, 0.98), rgba(21, 17, 13, 0.82)),
    var(--bg);
}

.inner-hero--background {
  min-height: min(760px, 86svh);
  display: grid;
  align-items: end;
  padding-bottom: clamp(88px, 10vw, 148px);
  background:
    linear-gradient(90deg, rgba(5, 4, 3, 0.94) 0%, rgba(5, 4, 3, 0.78) 42%, rgba(5, 4, 3, 0.24) 100%),
    linear-gradient(180deg, rgba(5, 4, 3, 0.28), rgba(5, 4, 3, 0.92)),
    var(--hero-bg) center / cover,
    var(--bg);
}

.inner-hero--background::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 86% 78%, rgba(200, 164, 93, 0.16), transparent 28%),
    linear-gradient(180deg, transparent, rgba(5, 4, 3, 0.34));
}

.inner-hero::after {
  content: "";
  position: absolute;
  right: -14rem;
  bottom: -16rem;
  width: 36rem;
  height: 36rem;
  border: 1px solid rgba(200, 164, 93, 0.18);
  border-radius: 50%;
}

.inner-hero__content {
  position: relative;
  z-index: 1;
  max-width: 860px;
}

.inner-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.inner-hero__split {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.62fr);
  gap: clamp(36px, 6vw, 86px);
  align-items: center;
}

.inner-hero__media {
  position: relative;
  min-height: 440px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.28);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.42);
}

.inner-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 58%, rgba(5, 4, 3, 0.42)),
    linear-gradient(90deg, rgba(5, 4, 3, 0.12), transparent 42%);
}

.inner-hero__media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  filter: saturate(0.88) brightness(0.86);
  transition: transform 900ms var(--ease-premium, ease), filter 900ms var(--ease-premium, ease);
}

.inner-hero__media:hover img {
  filter: saturate(0.98) brightness(0.92);
  transform: scale(1.035);
}

.inner-hero h1 {
  margin: 0;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 500;
  line-height: 0.98;
}

.inner-hero p:not(.lux-kicker) {
  max-width: 700px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 1.12rem;
  line-height: 1.78;
}

.zen-service-hero {
  position: relative;
  min-height: min(820px, 88svh);
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: 210px 0 110px;
  background:
    radial-gradient(circle at 76% 20%, rgba(200, 164, 93, 0.14), transparent 32%),
    linear-gradient(135deg, rgba(5, 4, 3, 0.98), rgba(21, 17, 13, 0.9) 62%, rgba(5, 4, 3, 0.98));
}

.zen-service-hero::before {
  content: "";
  position: absolute;
  inset: auto -12vw -22vw auto;
  width: 44vw;
  aspect-ratio: 1;
  border: 1px solid rgba(200, 164, 93, 0.2);
  border-radius: 50%;
}

.zen-service-points {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.zen-service-points span {
  padding: 10px 14px;
  border: 1px solid rgba(226, 199, 130, 0.22);
  border-radius: 999px;
  color: rgba(246, 239, 229, 0.84);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.026);
}

.privilege-hero {
  padding-bottom: 64px;
}

.privilege-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.86fr);
  gap: 58px;
  align-items: center;
}

.privilege-note {
  padding: clamp(28px, 5vw, 48px);
  border: 1px solid rgba(200, 164, 93, 0.2);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(200, 164, 93, 0.1), transparent 38%),
    rgba(13, 11, 9, 0.76);
}

.privilege-note h2 {
  margin-bottom: 18px;
  font-size: clamp(2.15rem, 4vw, 3.35rem);
}

.inner-section {
  padding: 104px 0;
  background: var(--bg);
}

.inner-section--soft {
  background: var(--surface);
}

.inner-section__head {
  max-width: 830px;
  margin-bottom: 42px;
}

.inner-editorial {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
  gap: clamp(34px, 6vw, 82px);
  align-items: start;
}

.inner-editorial--media {
  grid-template-columns: minmax(320px, 0.68fr) minmax(0, 0.92fr);
  align-items: center;
}

.inner-copy {
  display: grid;
  gap: 18px;
  max-width: 780px;
}

.inner-section h2 {
  margin: 0;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.1rem, 4vw, 4rem);
  font-weight: 500;
  line-height: 1.06;
}

.inner-section p {
  color: var(--muted);
  line-height: 1.76;
}

.inner-grid,
.inner-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.inner-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inner-card,
.inner-panel,
.inner-placeholder {
  border: 1px solid rgba(200, 164, 93, 0.17);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.026);
}

.inner-card {
  min-height: 220px;
  padding: 28px;
}

.inner-card span {
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.1rem;
}

.inner-card h3,
.inner-panel h3 {
  margin: 28px 0 10px;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  font-weight: 500;
}

.inner-panel {
  padding: 34px;
}

.inner-panel p {
  margin-bottom: 0;
}

.medical-copy {
  display: grid;
  gap: 26px;
  max-width: 980px;
  margin-inline: auto;
}

.medical-copy h2 {
  margin-top: 34px;
  font-size: clamp(1.9rem, 3vw, 3.05rem);
}

.medical-copy h2:first-child {
  margin-top: 0;
}

.medical-copy ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.medical-copy li {
  position: relative;
  padding-left: 24px;
  color: var(--muted);
  line-height: 1.68;
}

.medical-copy li::before {
  content: "";
  position: absolute;
  top: 0.78em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
}

.medical-visual {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.24);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.03);
}

.medical-visual img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.procedure-image-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.procedure-image-card {
  position: relative;
  min-height: clamp(300px, 32vw, 470px);
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: 28px;
  border: 1px solid rgba(200, 164, 93, 0.2);
  border-radius: 24px;
  background: var(--surface);
  isolation: isolate;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
  transition: transform 320ms var(--ease-premium, ease), border-color 320ms ease, box-shadow 320ms ease;
}

.procedure-image-card::before,
.procedure-image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.procedure-image-card::before {
  background:
    linear-gradient(180deg, transparent 10%, rgba(5, 4, 3, 0.28) 42%, rgba(5, 4, 3, 0.92) 100%),
    radial-gradient(circle at 12% 12%, rgba(226, 199, 130, 0.16), transparent 36%);
}

.procedure-image-card::after {
  border: 1px solid rgba(226, 199, 130, 0);
  border-radius: inherit;
  transform: scale(0.96);
  opacity: 0;
  transition: opacity 320ms ease, transform 320ms var(--ease-premium, ease), border-color 320ms ease;
}

.procedure-image-card img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.88) brightness(0.78);
  transition: transform 760ms var(--ease-premium, ease), filter 520ms ease;
}

.procedure-image-card span {
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.75rem, 3vw, 3.1rem);
  line-height: 1;
  text-shadow: 0 14px 34px rgba(0, 0, 0, 0.58);
}

.procedure-image-card em {
  justify-self: start;
  margin-top: 18px;
  padding: 12px 18px;
  border: 1px solid rgba(246, 239, 229, 0.72);
  color: var(--text);
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 260ms ease, transform 320ms var(--ease-premium, ease), border-color 260ms ease, background 260ms ease;
}

.procedure-image-card:hover,
.procedure-image-card:focus-visible {
  border-color: rgba(226, 199, 130, 0.62);
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.42);
  transform: translateY(-7px);
}

.procedure-image-card:hover::after,
.procedure-image-card:focus-visible::after {
  border-color: rgba(226, 199, 130, 0.34);
  opacity: 1;
  transform: scale(1);
}

.procedure-image-card:hover img,
.procedure-image-card:focus-visible img {
  filter: saturate(1) brightness(0.88);
  transform: scale(1.065);
}

.procedure-image-card:hover em,
.procedure-image-card:focus-visible em {
  opacity: 1;
  transform: translateY(0);
}

.inner-price-promo {
  padding: 92px 0;
  border-top: 1px solid rgba(200, 164, 93, 0.16);
  background:
    radial-gradient(circle at 78% 0%, rgba(200, 164, 93, 0.14), transparent 32%),
    linear-gradient(135deg, rgba(13, 11, 9, 0.94), rgba(5, 4, 3, 0.98));
}

.inner-price-promo__box {
  max-width: 920px;
  padding: clamp(30px, 5vw, 58px);
  border: 1px solid rgba(226, 199, 130, 0.24);
  border-radius: 26px;
  background: rgba(5, 4, 3, 0.58);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.3);
}

.inner-price-promo__box p:not(.lux-kicker) {
  max-width: 660px;
  margin: 18px 0 28px;
}

.inner-cta {
  padding: 86px 0;
  background:
    linear-gradient(135deg, rgba(5, 4, 3, 0.98), rgba(28, 23, 18, 0.9));
  border-top: 1px solid rgba(200, 164, 93, 0.16);
  border-bottom: 1px solid rgba(200, 164, 93, 0.16);
}

.inner-cta__box {
  max-width: 760px;
}

.inner-form {
  display: grid;
  gap: 14px;
  padding: 30px;
  border: 1px solid rgba(200, 164, 93, 0.17);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.026);
}

.contact-booking-section {
  background:
    radial-gradient(circle at 10% 0%, rgba(200, 164, 93, 0.12), transparent 28%),
    var(--bg);
}

.contact-panel {
  border-radius: 26px;
}

.inner-form--premium {
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(200, 164, 93, 0.14), transparent 34%),
    rgba(13, 11, 9, 0.86);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.3);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.inner-form label {
  display: grid;
  gap: 7px;
}

.inner-placeholder {
  min-height: 230px;
  display: grid;
  place-items: center;
  padding: 28px;
  color: var(--muted);
  text-align: center;
}

.inner-procedure-visual {
  position: relative;
  z-index: 1;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(200, 164, 93, 0.26);
  border-radius: var(--radius);
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.42);
}

.inner-procedure-visual img {
  width: 100%;
  height: min(54vh, 520px);
  object-fit: cover;
}

.procedure-directory {
  background:
    linear-gradient(180deg, #080706 0%, #0d0c0a 42%, #090807 100%);
}

.procedure-directory__overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(22px, 4vw, 58px);
  align-items: end;
  margin-bottom: 22px;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid rgba(217, 184, 125, 0.2);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(238, 225, 198, 0.08), rgba(98, 122, 105, 0.08)),
    rgba(255, 255, 255, 0.025);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.24);
}

.procedure-directory__overview h2 {
  max-width: 780px;
  margin: 10px 0 0;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.2vw, 3.65rem);
  font-weight: 500;
  line-height: 1.02;
}

.procedure-directory__overview p:not(.lux-kicker) {
  max-width: 720px;
  margin: 16px 0 0;
  color: rgba(246, 239, 229, 0.74);
  line-height: 1.7;
}

.procedure-directory__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: clamp(46px, 6vw, 76px);
}

.procedure-directory__nav a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 0 16px;
  border: 1px solid rgba(217, 184, 125, 0.24);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
  color: rgba(246, 239, 229, 0.78);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.procedure-directory__nav a:hover,
.procedure-directory__nav a:focus-visible {
  border-color: rgba(217, 184, 125, 0.56);
  background: rgba(217, 184, 125, 0.12);
  color: #fff7e8;
  transform: translateY(-2px);
}

.procedure-directory__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 22px;
  align-items: end;
  margin: 0 0 22px;
  padding-top: 8px;
  scroll-margin-top: 180px;
}

.procedure-gallery + .procedure-directory__head {
  margin-top: clamp(64px, 8vw, 108px);
}

.procedure-directory__head .lux-kicker,
.procedure-directory__head h2 {
  grid-column: 1;
}

.procedure-directory__head h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(2.15rem, 4vw, 4.65rem);
  line-height: 0.98;
}

.procedure-directory__count {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  align-self: end;
  padding: 0 14px;
  border: 1px solid rgba(146, 169, 148, 0.34);
  border-radius: 999px;
  background: rgba(98, 122, 105, 0.16);
  color: rgba(235, 240, 226, 0.9);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.procedure-gallery {
  margin-bottom: clamp(20px, 4vw, 34px);
}

.procedure-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 238px), 1fr));
  gap: clamp(14px, 1.7vw, 22px);
}

.procedure-directory-card {
  position: relative;
  min-height: clamp(260px, 26vw, 380px);
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: clamp(18px, 2vw, 26px);
  border: 1px solid rgba(217, 184, 125, 0.18);
  border-radius: 8px;
  background: #11100e;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.26);
  isolation: isolate;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.procedure-gallery-grid .procedure-directory-card:nth-child(7n + 1),
.procedure-gallery-grid .procedure-directory-card:nth-child(11n + 6) {
  grid-column: span 2;
  min-height: clamp(320px, 33vw, 480px);
}

.procedure-directory-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(5, 4, 3, 0.02) 0%, rgba(5, 4, 3, 0.34) 42%, rgba(5, 4, 3, 0.9) 100%),
    linear-gradient(135deg, rgba(217, 184, 125, 0.12), rgba(98, 122, 105, 0.08) 44%, rgba(118, 73, 82, 0.1));
}

.procedure-directory-card img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.94) contrast(1.03) brightness(0.9);
  transform: scale(1.01);
  transition: transform 360ms ease, filter 360ms ease;
}

.procedure-directory-card span {
  max-width: 13ch;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.32rem, 1.8vw, 2rem);
  line-height: 1.04;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.procedure-directory-card small {
  display: block;
  max-width: 95%;
  margin-top: 9px;
  color: rgba(246, 239, 229, 0.76);
  font-size: 0.82rem;
  line-height: 1.35;
}

.procedure-directory-card:hover,
.procedure-directory-card:focus-visible {
  border-color: rgba(217, 184, 125, 0.56);
  box-shadow: 0 26px 82px rgba(0, 0, 0, 0.36);
  transform: translateY(-5px);
}

.procedure-directory-card:hover img,
.procedure-directory-card:focus-visible img {
  filter: saturate(1.04) contrast(1.06) brightness(0.98);
  transform: scale(1.055);
}

@media (max-width: 980px) {
  .procedure-directory__overview,
  .procedure-directory__head {
    grid-template-columns: 1fr;
  }

  .procedure-directory__count {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  .procedure-gallery-grid .procedure-directory-card:nth-child(7n + 1),
  .procedure-gallery-grid .procedure-directory-card:nth-child(11n + 6) {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .procedure-directory__overview {
    padding: 22px;
  }

  .procedure-directory__nav {
    display: grid;
  }

  .procedure-directory__nav a {
    justify-content: center;
  }

  .procedure-gallery-grid {
    grid-template-columns: 1fr;
  }

  .procedure-directory-card {
    min-height: 260px;
  }
}

.procedures-hero {
  position: relative;
  min-height: clamp(500px, 62svh, 680px);
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: clamp(132px, 12vw, 188px) 0 clamp(54px, 7vw, 88px);
  background:
    linear-gradient(90deg, rgba(5, 4, 3, 0.96) 0%, rgba(5, 4, 3, 0.72) 38%, rgba(5, 4, 3, 0.2) 100%),
    linear-gradient(180deg, rgba(5, 4, 3, 0.08) 0%, rgba(5, 4, 3, 0.92) 100%),
    url("assets/optimized/rejuvenare-faciala-hero-1400.jpg") center 38% / cover no-repeat;
  isolation: isolate;
}

.procedures-index-page {
  overflow-x: hidden;
}

.procedures-hero__content,
.procedure-atlas__copy,
.procedure-atlas__controls,
.procedure-atlas__rail,
.procedure-atlas .procedure-gallery-grid {
  min-width: 0;
}

.procedures-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 82% 24%, rgba(217, 184, 125, 0.22), transparent 28%),
    linear-gradient(90deg, rgba(146, 169, 148, 0.12), transparent 48%);
  mix-blend-mode: screen;
  opacity: 0.72;
}

.procedures-hero::after {
  display: none;
}

.procedures-hero__content {
  position: relative;
  z-index: 1;
  max-width: 860px;
}

.procedures-hero h1 {
  max-width: 760px;
  margin: 12px 0 0;
  color: #fff8eb;
  font-size: clamp(3rem, 5.35vw, 6.2rem);
  line-height: 0.92;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.procedures-hero p:not(.lux-kicker) {
  max-width: 680px;
  margin: clamp(18px, 2vw, 26px) 0 0;
  color: rgba(255, 248, 235, 0.76);
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  line-height: 1.75;
}

.procedures-hero__quick {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: min(100%, 820px);
  margin-top: clamp(30px, 4vw, 48px);
}

.procedures-hero__quick a {
  display: grid;
  min-height: 86px;
  align-content: end;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(217, 184, 125, 0.28);
  border-radius: 8px;
  background: rgba(7, 6, 5, 0.42);
  color: rgba(255, 248, 235, 0.88);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.procedures-hero__quick a:hover,
.procedures-hero__quick a:focus-visible {
  border-color: rgba(217, 184, 125, 0.68);
  background: rgba(217, 184, 125, 0.14);
  transform: translateY(-3px);
}

.procedures-hero__quick span {
  color: #d9b87d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.55rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

/* Procedure atlas: 2026 editorial directory */
.procedure-atlas {
  --atlas-ink: #fff8eb;
  --atlas-muted: rgba(246, 239, 229, 0.72);
  --atlas-gold: #d9b87d;
  --atlas-sage: #92a994;
  --atlas-rose: #a66f76;
  --atlas-line: rgba(217, 184, 125, 0.22);
  position: relative;
  overflow: visible;
  padding-top: clamp(42px, 5vw, 72px);
  background:
    radial-gradient(circle at 14% 8%, rgba(146, 169, 148, 0.17), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(166, 111, 118, 0.15), transparent 30%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px) 0 0 / 128px 100%,
    linear-gradient(180deg, #070605 0%, #11100e 42%, #090706 100%);
}

.procedure-atlas::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(217, 184, 125, 0.1), transparent 1px) 0 0 / 100% 96px,
    linear-gradient(90deg, transparent 0%, rgba(255, 248, 235, 0.06) 52%, transparent 100%);
  opacity: 0.48;
  mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent);
}

.procedure-atlas > .lux-shell {
  position: relative;
  z-index: 1;
}

.procedure-atlas__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: center;
  margin-bottom: clamp(22px, 4vw, 42px);
  padding: 0 0 clamp(28px, 4vw, 46px);
  border-bottom: 1px solid rgba(146, 169, 148, 0.2);
}

.procedure-atlas__copy h2 {
  max-width: 780px;
  margin: 12px 0 0;
  color: var(--atlas-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.25rem, 4vw, 4.9rem);
  font-weight: 500;
  line-height: 0.94;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.procedure-atlas__copy > p:not(.lux-kicker) {
  max-width: 720px;
  margin: clamp(18px, 2vw, 26px) 0 0;
  color: var(--atlas-muted);
  font-size: clamp(1rem, 1vw, 1.08rem);
  line-height: 1.76;
}

.procedure-atlas__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 150px));
  gap: 10px;
  width: min(100%, 520px);
  margin-top: clamp(26px, 3vw, 42px);
}

.procedure-atlas__stats span {
  display: grid;
  gap: 4px;
  min-height: 88px;
  align-content: center;
  padding: 18px;
  border: 1px solid rgba(217, 184, 125, 0.2);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 248, 235, 0.06), rgba(146, 169, 148, 0.055)),
    rgba(7, 6, 5, 0.56);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.2);
}

.procedure-atlas__stats strong {
  color: var(--atlas-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 2.8vw, 3rem);
  font-weight: 500;
  line-height: 1;
}

.procedure-atlas__stats small,
.procedure-atlas__image-copy small {
  color: rgba(246, 239, 229, 0.58);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.procedure-atlas__signal {
  position: relative;
  display: grid;
  align-content: end;
  min-height: clamp(340px, 34vw, 480px);
  padding: 0;
  border: 1px solid rgba(217, 184, 125, 0.3);
  border-radius: 8px;
  background: #15110e;
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.42);
  overflow: hidden;
  isolation: isolate;
}

.procedure-atlas__signal::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(6, 5, 4, 0.08) 0%, rgba(6, 5, 4, 0.3) 42%, rgba(6, 5, 4, 0.94) 100%),
    linear-gradient(135deg, rgba(217, 184, 125, 0.12), rgba(146, 169, 148, 0.1) 48%, rgba(166, 111, 118, 0.16));
  pointer-events: none;
}

.procedure-atlas__signal::after {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255, 248, 235, 0.16);
  pointer-events: none;
}

.procedure-atlas__signal img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.95) contrast(1.05) brightness(0.9);
  transform: scale(1.02);
}

.procedure-atlas__image-copy {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 8px;
  align-self: end;
  padding: clamp(28px, 4vw, 42px);
}

.procedure-atlas__image-copy span {
  color: rgba(217, 184, 125, 0.86);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.procedure-atlas__image-copy strong {
  max-width: 8ch;
  color: var(--atlas-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.1rem, 3.2vw, 4.2rem);
  font-weight: 500;
  line-height: 0.96;
}

.procedure-atlas__controls {
  position: sticky;
  top: calc(var(--header-height, 150px) + 10px);
  z-index: 96;
  display: grid;
  grid-template-columns: minmax(280px, 0.64fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  margin-bottom: clamp(22px, 3vw, 34px);
  padding: 12px;
  border: 1px solid rgba(217, 184, 125, 0.24);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 248, 235, 0.045), rgba(146, 169, 148, 0.035)),
    rgba(7, 6, 5, 0.84);
  box-shadow: 0 22px 76px rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(18px);
}

.procedure-atlas__controls::before {
  content: "Filtru rapid";
  display: none;
  align-self: center;
  color: rgba(217, 184, 125, 0.86);
  font-size: 0.64rem;
  font-weight: 950;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.procedure-atlas__jump {
  display: grid;
  gap: 8px;
  min-height: 64px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.035);
}

.procedure-atlas__jump span {
  color: rgba(217, 184, 125, 0.82);
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.procedure-atlas__jump select {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--atlas-ink);
  font: inherit;
  cursor: pointer;
  appearance: none;
}

.procedure-atlas__jump {
  position: relative;
}

.procedure-atlas__jump.is-enhanced {
  padding: 10px;
}

.procedure-atlas__jump.is-enhanced > span {
  padding-inline: 4px;
}

.procedure-atlas__jump.is-enhanced select {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.procedure-jump-menu {
  position: relative;
  min-width: 0;
}

.procedure-jump-menu__button {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 48px;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center;
  gap: 10px;
  padding: 10px 10px 10px 14px;
  border: 1px solid rgba(217, 184, 125, 0.22);
  border-radius: 7px;
  background:
    linear-gradient(135deg, rgba(217, 184, 125, 0.11), rgba(146, 169, 148, 0.055)),
    rgba(10, 8, 6, 0.72);
  color: var(--atlas-ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18) inset;
}

.procedure-jump-menu__button:hover,
.procedure-jump-menu__button:focus-visible,
.procedure-jump-menu.is-open .procedure-jump-menu__button {
  border-color: rgba(245, 225, 170, 0.58);
  background:
    linear-gradient(135deg, rgba(217, 184, 125, 0.18), rgba(146, 169, 148, 0.09)),
    rgba(14, 11, 8, 0.9);
}

.procedure-jump-menu__value {
  min-width: 0;
  overflow: hidden;
  color: rgba(255, 248, 235, 0.92);
  font-size: 0.96rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.procedure-jump-menu__chevron {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(217, 184, 125, 0.2);
  border-radius: 50%;
  background: rgba(217, 184, 125, 0.08);
}

.procedure-jump-menu__chevron::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1px solid rgba(245, 225, 170, 0.9);
  border-bottom: 1px solid rgba(245, 225, 170, 0.9);
  transform: translateY(-2px) rotate(45deg);
  transition: transform 180ms ease;
}

.procedure-jump-menu.is-open .procedure-jump-menu__chevron::before {
  transform: translateY(2px) rotate(225deg);
}

.procedure-jump-menu__panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  z-index: 140;
  display: grid;
  max-height: min(52vh, 390px);
  gap: 4px;
  overflow-y: auto;
  padding: 8px;
  border: 1px solid rgba(245, 225, 170, 0.34);
  border-radius: 10px;
  background:
    radial-gradient(circle at 18% 0%, rgba(217, 184, 125, 0.16), transparent 34%),
    linear-gradient(145deg, rgba(18, 15, 12, 0.98), rgba(7, 6, 5, 0.98));
  box-shadow: 0 26px 84px rgba(0, 0, 0, 0.64);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.procedure-jump-menu.is-open .procedure-jump-menu__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.procedure-jump-menu__option {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: rgba(255, 248, 235, 0.88);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.procedure-jump-menu__option:hover,
.procedure-jump-menu__option:focus-visible,
.procedure-jump-menu__option.is-active {
  border-color: rgba(217, 184, 125, 0.24);
  background: rgba(217, 184, 125, 0.1);
  color: #fff8eb;
}

.procedure-jump-menu__option strong {
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.15;
}

.procedure-jump-menu__option small {
  color: rgba(217, 184, 125, 0.72);
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.procedure-jump-menu__panel::-webkit-scrollbar {
  width: 8px;
}

.procedure-jump-menu__panel::-webkit-scrollbar-track {
  background: rgba(255, 248, 235, 0.06);
  border-radius: 999px;
}

.procedure-jump-menu__panel::-webkit-scrollbar-thumb {
  background: rgba(217, 184, 125, 0.42);
  border-radius: 999px;
}

.procedure-atlas__jump::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 22px;
  width: 9px;
  height: 9px;
  border-right: 1px solid rgba(217, 184, 125, 0.92);
  border-bottom: 1px solid rgba(217, 184, 125, 0.92);
  transform: rotate(45deg);
  pointer-events: none;
}

.procedure-atlas__jump.is-enhanced::after {
  display: none;
}

.procedure-atlas__jump select option {
  background: #0d0b09;
  color: #fff8eb;
}

.procedure-filter-bar {
  display: flex;
  align-items: stretch;
  gap: 6px;
  padding: 4px;
  border: 1px solid rgba(217, 184, 125, 0.22);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.025);
}

.procedure-filter-bar button {
  min-height: 54px;
  padding: 0 14px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: rgba(246, 239, 229, 0.66);
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.procedure-filter-bar button {
  flex: 1;
}

.procedure-filter-bar button:hover,
.procedure-filter-bar button:focus-visible,
.procedure-filter-bar button.is-active {
  background: linear-gradient(135deg, rgba(217, 184, 125, 0.22), rgba(146, 169, 148, 0.16));
  color: var(--atlas-ink);
}

.procedure-atlas__rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: clamp(44px, 6vw, 72px);
}

.procedure-atlas__rail a {
  display: grid;
  min-height: 104px;
  align-content: end;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(217, 184, 125, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 248, 235, 0.055), rgba(146, 169, 148, 0.055)),
    rgba(255, 255, 255, 0.02);
  color: rgba(246, 239, 229, 0.82);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.procedure-atlas__rail a span {
  color: var(--atlas-sage);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0;
}

.procedure-atlas .procedure-directory__head {
  position: relative;
  margin-bottom: 24px;
}

.procedure-atlas .procedure-directory__head h2 {
  max-width: 820px;
  color: var(--atlas-ink);
  font-size: clamp(2.4rem, 4.8vw, 5.6rem);
  overflow-wrap: break-word;
}

.procedure-atlas .procedure-directory__count {
  border-color: rgba(146, 169, 148, 0.44);
  background: rgba(146, 169, 148, 0.13);
}

.procedure-atlas .procedure-gallery-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: clamp(14px, 1.5vw, 22px);
  overflow: visible;
  align-items: start;
}

.procedure-atlas .procedure-directory-card,
.procedure-atlas .procedure-gallery-grid .procedure-directory-card:nth-child(n) {
  grid-column: auto;
  min-height: clamp(292px, 25vw, 370px);
  padding: clamp(18px, 2vw, 28px);
  border-color: rgba(217, 184, 125, 0.18);
  border-radius: 10px;
  background: #11100e;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28);
  content-visibility: auto;
  contain-intrinsic-size: 340px;
  scroll-margin-top: 230px;
  transform-origin: center;
}

.procedure-atlas .procedure-directory-card::before {
  content: attr(data-procedure-kind);
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 1;
  max-width: calc(100% - 32px);
  padding: 8px 10px;
  border: 1px solid rgba(255, 248, 235, 0.18);
  border-radius: 999px;
  background: rgba(7, 6, 5, 0.48);
  color: rgba(255, 248, 235, 0.72);
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.procedure-atlas .procedure-directory-card::after {
  background:
    linear-gradient(180deg, rgba(7, 6, 5, 0.02) 0%, rgba(7, 6, 5, 0.18) 35%, rgba(7, 6, 5, 0.92) 100%),
    linear-gradient(135deg, rgba(217, 184, 125, 0.08), rgba(146, 169, 148, 0.09) 48%, rgba(166, 111, 118, 0.1));
}

.procedure-atlas .procedure-directory-card span {
  max-width: 15ch;
  font-size: clamp(1.28rem, 1.45vw, 1.86rem);
}

.procedure-atlas .procedure-directory-card--contain img {
  top: 14px;
  right: auto;
  bottom: auto;
  left: 14px;
  width: calc(100% - 28px);
  height: calc(100% - 96px);
  padding: 0;
  border: 1px solid rgba(217, 184, 125, 0.2);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 44%, rgba(217, 184, 125, 0.13), transparent 52%),
    #080604;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.procedure-atlas .procedure-directory-card--contain::after {
  background:
    linear-gradient(180deg, rgba(7, 6, 5, 0.02) 0%, rgba(7, 6, 5, 0.08) 48%, rgba(7, 6, 5, 0.86) 100%),
    linear-gradient(135deg, rgba(217, 184, 125, 0.08), rgba(146, 169, 148, 0.08) 48%, rgba(166, 111, 118, 0.1));
}

.procedure-atlas .procedure-directory-card:hover,
.procedure-atlas .procedure-directory-card:focus-visible {
  z-index: 6;
  border-color: rgba(217, 184, 125, 0.62);
  box-shadow: 0 32px 95px rgba(0, 0, 0, 0.44);
  transform: translateY(-6px);
}

.procedure-atlas .procedure-directory-card.is-procedure-target {
  z-index: 7;
  border-color: rgba(245, 225, 170, 0.92);
  box-shadow: 0 0 0 1px rgba(245, 225, 170, 0.4), 0 34px 110px rgba(0, 0, 0, 0.52);
}

.procedure-card-zoom {
  position: fixed;
  left: var(--procedure-zoom-left, 52vw);
  top: var(--procedure-zoom-top, 24vh);
  z-index: 240;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  width: var(--procedure-zoom-width, min(42vw, 620px));
  height: var(--procedure-zoom-height, min(58vh, 520px));
  padding: clamp(14px, 1.6vw, 20px);
  border: 1px solid rgba(245, 225, 170, 0.5);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 22%, rgba(217, 184, 125, 0.14), transparent 42%),
    linear-gradient(145deg, rgba(18, 15, 12, 0.98), rgba(7, 6, 5, 0.96));
  box-shadow: 0 44px 150px rgba(0, 0, 0, 0.78), 0 0 0 1px rgba(255, 248, 235, 0.05) inset;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(0.98);
  transition: opacity 160ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.procedure-card-zoom.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.procedure-card-zoom img {
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 1px solid rgba(217, 184, 125, 0.22);
  border-radius: 8px;
  background: #050403;
  object-fit: contain;
  object-position: center;
}

.procedure-card-zoom span {
  display: block;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(217, 184, 125, 0.2);
  border-radius: 8px;
  background: rgba(7, 6, 5, 0.72);
  color: var(--atlas-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.28rem, 2.1vw, 2.1rem);
  line-height: 1.04;
  text-align: center;
}

@media (hover: hover) and (pointer: fine) {
  .procedure-atlas .procedure-directory-card {
    transform-origin: center;
    will-change: transform;
    transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1), border-color 220ms ease, box-shadow 260ms ease;
  }

  .procedure-atlas .procedure-directory-card:hover,
  .procedure-atlas .procedure-directory-card:focus-visible,
  .procedure-atlas .procedure-directory-card.is-preview-open {
    border-color: rgba(245, 225, 170, 0.82);
    box-shadow: 0 24px 78px rgba(0, 0, 0, 0.44);
    transform: none;
  }

  .procedure-atlas .procedure-directory-card:hover img,
  .procedure-atlas .procedure-directory-card:focus-visible img,
  .procedure-atlas .procedure-directory-card.is-preview-open img {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    object-fit: cover;
    object-position: center;
    filter: saturate(1.06) contrast(1.04) brightness(0.96);
    transform: scale(1.01);
  }

  .procedure-atlas .procedure-directory-card--contain:hover img,
  .procedure-atlas .procedure-directory-card--contain:focus-visible img,
  .procedure-atlas .procedure-directory-card--contain.is-preview-open img {
    top: 14px;
    left: 14px;
    width: calc(100% - 28px);
    height: calc(100% - 96px);
    border: 1px solid rgba(217, 184, 125, 0.24);
    border-radius: 8px;
    background:
      radial-gradient(circle at 50% 44%, rgba(217, 184, 125, 0.15), transparent 52%),
      #080604;
    object-fit: contain;
    transform: none;
  }

  .procedure-atlas .procedure-directory-card:hover span,
  .procedure-atlas .procedure-directory-card:focus-visible span,
  .procedure-atlas .procedure-directory-card.is-preview-open span {
    max-width: 15ch;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: clamp(1.28rem, 1.45vw, 1.86rem);
    backdrop-filter: none;
  }

  .procedure-atlas .procedure-directory-card:hover::after,
  .procedure-atlas .procedure-directory-card:focus-visible::after,
  .procedure-atlas .procedure-directory-card.is-preview-open::after {
    background:
      linear-gradient(180deg, rgba(7, 6, 5, 0.02) 0%, rgba(7, 6, 5, 0.06) 48%, rgba(7, 6, 5, 0.76) 100%),
      linear-gradient(135deg, rgba(217, 184, 125, 0.14), rgba(146, 169, 148, 0.11) 54%, rgba(166, 111, 118, 0.13));
  }
}

.procedure-atlas .procedure-directory-card.is-filtered-out,
.procedure-atlas .procedure-gallery.is-filtered-out,
.procedure-atlas .procedure-directory__head.is-filtered-out {
  display: none;
}

.procedure-atlas__empty {
  margin-top: 34px;
  padding: 24px;
  border: 1px solid rgba(166, 111, 118, 0.32);
  background: rgba(166, 111, 118, 0.1);
  color: rgba(246, 239, 229, 0.78);
  text-align: center;
}

@media (max-width: 1180px) {
  .procedure-atlas__controls {
    top: calc(var(--header-height, 104px) + 8px);
    grid-template-columns: 1fr;
  }

  .procedure-filter-bar {
    overflow-x: auto;
  }

  .procedure-atlas .procedure-gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  }
}

@media (max-width: 760px) {
  .procedure-card-zoom {
    display: none;
  }

  .procedure-atlas {
    --atlas-ink: #fff8eb;
    --atlas-muted: rgba(255, 248, 235, 0.7);
    padding-top: 34px;
    background-color: #020202;
    background:
      linear-gradient(90deg, rgba(217, 184, 125, 0.045) 1px, transparent 1px) 0 0 / 88px 100%,
      radial-gradient(circle at 50% 0%, rgba(217, 184, 125, 0.08), transparent 32%),
      #020202;
  }

  .procedure-atlas::before {
    opacity: 0.26;
    background:
      linear-gradient(180deg, rgba(217, 184, 125, 0.08), transparent 1px) 0 0 / 100% 72px;
  }

  .procedures-hero {
    min-height: auto;
    padding: 138px 0 54px;
    background-position: 58% center;
  }

  .procedures-hero h1 {
    max-width: 340px;
    font-size: clamp(2.35rem, 10.8vw, 3.45rem);
    line-height: 0.98;
    text-wrap: initial;
  }

  .procedures-hero__quick {
    grid-template-columns: 1fr;
  }

  .procedures-hero__quick a {
    min-height: 66px;
  }

  .procedure-atlas__hero {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 18px;
    padding-bottom: 20px;
  }

  .procedures-hero p:not(.lux-kicker),
  .procedure-atlas__copy h2,
  .procedure-atlas__copy > p:not(.lux-kicker),
  .procedure-atlas .procedure-directory__head h2 {
    max-width: min(100%, 340px);
  }

  .procedure-atlas__copy h2 {
    width: min(100%, 300px);
    max-width: 300px;
    font-size: clamp(1.85rem, 7vw, 2.1rem);
    line-height: 1.06;
    text-wrap: initial;
  }

  .procedure-atlas .procedure-directory__head h2 {
    font-size: clamp(2.55rem, 13vw, 4rem);
    line-height: 1;
  }

  .procedure-atlas__stats,
  .procedure-atlas__rail {
    display: none;
  }

  .procedure-atlas__signal {
    display: none;
  }

  .procedure-filter-bar {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 3px;
    border-color: rgba(217, 184, 125, 0.16);
    background: #030303;
    scrollbar-width: none;
  }

  .procedure-filter-bar::-webkit-scrollbar {
    display: none;
  }

  .procedure-atlas__controls {
    position: relative;
    top: auto;
    z-index: 8;
    gap: 6px;
    margin: 0 0 22px;
    padding: 8px;
    border-color: rgba(217, 184, 125, 0.28);
    border-radius: 12px;
    background:
      linear-gradient(145deg, rgba(217, 184, 125, 0.08), transparent 48%),
      #030303;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
    backdrop-filter: none;
  }

  .procedure-atlas__controls::before {
    display: none;
  }

  .procedure-atlas__jump {
    min-height: auto;
    gap: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .procedure-atlas__jump span {
    display: none;
  }

  .procedure-jump-menu__button {
    min-height: 58px;
    grid-template-columns: minmax(0, 1fr) 36px;
    padding: 9px 9px 9px 13px;
    border-color: rgba(245, 225, 170, 0.3);
    border-radius: 10px;
    background:
      radial-gradient(circle at 16% 0%, rgba(217, 184, 125, 0.16), transparent 42%),
      #070605;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.34) inset;
  }

  .procedure-jump-menu__button::before {
    content: "Alege procedura";
    grid-column: 1;
    color: rgba(217, 184, 125, 0.78);
    font-size: 0.56rem;
    font-weight: 950;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
  }

  .procedure-jump-menu__value {
    grid-column: 1;
    color: #fff8eb;
    font-size: 0.96rem;
    font-weight: 700;
  }

  .procedure-jump-menu__chevron {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 32px;
    height: 32px;
    border-color: rgba(245, 225, 170, 0.28);
    background: rgba(217, 184, 125, 0.1);
  }

  .procedure-jump-menu__panel {
    position: fixed;
    inset: auto 10px 10px;
    z-index: 180;
    max-height: min(72vh, 620px);
    padding: 48px 10px 10px;
    border-color: rgba(245, 225, 170, 0.4);
    border-radius: 16px;
    background:
      radial-gradient(circle at 22% 0%, rgba(217, 184, 125, 0.18), transparent 36%),
      #020202;
    box-shadow: 0 -18px 70px rgba(0, 0, 0, 0.78), 0 0 0 1px rgba(255, 248, 235, 0.04) inset;
  }

  .procedure-jump-menu__panel::before {
    content: "Selecteaza rapid";
    position: sticky;
    top: -48px;
    z-index: 1;
    display: block;
    margin: -48px -10px 8px;
    padding: 16px 14px 12px;
    border-bottom: 1px solid rgba(217, 184, 125, 0.16);
    background:
      linear-gradient(180deg, #020202 0%, rgba(2, 2, 2, 0.94) 100%);
    color: rgba(217, 184, 125, 0.86);
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .procedure-jump-menu__option {
    min-height: 52px;
    padding: 11px 12px;
    border-color: rgba(217, 184, 125, 0.12);
    border-radius: 11px;
    background:
      linear-gradient(135deg, rgba(255, 248, 235, 0.035), transparent),
      #070605;
  }

  .procedure-jump-menu__option strong {
    font-size: 0.96rem;
    line-height: 1.2;
  }

  .procedure-jump-menu__option small {
    font-size: 0.55rem;
  }

  .procedure-jump-menu.is-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 170;
    background: rgba(0, 0, 0, 0.54);
    pointer-events: none;
  }

  .procedure-filter-bar button {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(217, 184, 125, 0.12);
    border-radius: 999px;
    background: #060606;
    color: rgba(255, 248, 235, 0.72);
    font-size: 0.56rem;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }

  .procedure-filter-bar button.is-active {
    border-color: rgba(245, 225, 170, 0.44);
    background:
      linear-gradient(135deg, rgba(217, 184, 125, 0.24), rgba(146, 169, 148, 0.09)),
      #0a0806;
    color: #fff8eb;
  }

  .procedure-atlas .procedure-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .procedure-atlas .procedure-directory-card,
  .procedure-atlas .procedure-gallery-grid .procedure-directory-card:nth-child(n) {
    grid-column: auto;
    min-height: 218px;
    padding: 12px;
    border-color: rgba(217, 184, 125, 0.16);
    border-radius: 12px;
    background: #050505;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
    scroll-margin-top: 28px;
  }

  .procedure-atlas .procedure-directory-card::before {
    top: 10px;
    left: 10px;
    max-width: calc(100% - 20px);
    padding: 6px 8px;
    background: rgba(0, 0, 0, 0.58);
    font-size: 0.48rem;
    letter-spacing: 0.1em;
  }

  .procedure-atlas .procedure-directory-card span {
    max-width: 12ch;
    font-size: clamp(1rem, 4.8vw, 1.25rem);
    line-height: 1.02;
  }

  .procedure-atlas .procedure-directory-card.is-mobile-peek {
    border-color: rgba(245, 225, 170, 0.38);
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.42);
    transform: none;
  }

  .procedure-atlas .procedure-directory-card.is-mobile-peek img {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    object-fit: cover;
    filter: saturate(1.05) contrast(1.04) brightness(0.96);
    transform: scale(1.01);
  }

  .procedure-atlas .procedure-directory-card.is-mobile-peek span {
    max-width: 12ch;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: clamp(1rem, 4.8vw, 1.25rem);
    backdrop-filter: none;
  }

  .procedure-atlas .procedure-directory-card.is-mobile-peek::after {
    background:
      linear-gradient(180deg, rgba(7, 6, 5, 0.02) 0%, rgba(7, 6, 5, 0.18) 36%, rgba(7, 6, 5, 0.9) 100%),
      linear-gradient(135deg, rgba(217, 184, 125, 0.08), rgba(146, 169, 148, 0.08) 54%, rgba(166, 111, 118, 0.1));
  }

  .procedure-atlas .procedure-directory-card--contain img,
  .procedure-atlas .procedure-directory-card--contain.is-mobile-peek img {
    top: 10px;
    right: auto;
    bottom: auto;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 72px);
    border: 1px solid rgba(217, 184, 125, 0.18);
    border-radius: 7px;
    background:
      radial-gradient(circle at 50% 44%, rgba(217, 184, 125, 0.12), transparent 52%),
      #080604;
    object-fit: contain;
    transform: none;
  }

  .procedure-atlas .procedure-directory__head {
    margin: 30px 0 14px;
  }

  .procedure-atlas .procedure-directory__head h2 {
    max-width: 100%;
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .procedure-atlas .procedure-directory__count {
    margin-top: 8px;
  }
}

@media (max-width: 360px) {
  .procedure-atlas .procedure-gallery-grid {
    grid-template-columns: 1fr;
  }

  .procedure-atlas .procedure-directory-card,
  .procedure-atlas .procedure-gallery-grid .procedure-directory-card:nth-child(n) {
    min-height: 236px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .procedure-atlas .procedure-directory-card,
  .procedure-atlas .procedure-directory-card img {
    transition: none !important;
  }

  .procedure-atlas .procedure-directory-card:hover,
  .procedure-atlas .procedure-directory-card:focus-visible,
  .procedure-atlas .procedure-directory-card.is-preview-open,
  .procedure-atlas .procedure-directory-card.is-mobile-peek {
    transform: none;
  }
}

.surgery-page .surgery-hero {
  background-position: 56% center;
}

.surgery-page .surgery-intro {
  border-bottom: 1px solid rgba(200, 164, 93, 0.12);
}

.surgery-page .surgery-zone-grid .procedure-image-card {
  min-height: clamp(340px, 34vw, 520px);
}

.surgery-page .procedure-directory__head p:not(.lux-kicker) {
  max-width: 760px;
  margin-top: 18px;
}

.surgery-page .procedure-directory-card {
  min-height: 300px;
}

.general-surgery-page .general-surgery-zone-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.general-surgery-page .general-surgery-card-grid .procedure-directory-card {
  min-height: 320px;
}

.surgery-page .surgery-directory:nth-of-type(even) {
  border-top: 1px solid rgba(200, 164, 93, 0.1);
  border-bottom: 1px solid rgba(200, 164, 93, 0.1);
}

.price-section {
  background: var(--bg);
}

.price-search-panel {
  max-width: 980px;
  margin: 0 auto 28px;
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(200, 164, 93, 0.08), transparent 34%),
    rgba(13, 11, 9, 0.9);
}

.price-search-panel h2 {
  margin-bottom: 14px;
}

.price-search-panel input {
  width: 100%;
  margin-top: 22px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0;
  background: rgba(5, 4, 3, 0.55);
  color: var(--text);
  outline: 0;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.price-search-panel input:focus {
  border-color: var(--gold-soft);
  box-shadow: 0 0 0 3px rgba(200, 164, 93, 0.12);
}

.price-quick-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.price-quick-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 10px 14px;
  border: 1px solid rgba(200, 164, 93, 0.28);
  color: var(--champagne);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.price-quick-nav a:hover,
.price-quick-nav a:focus-visible {
  border-color: rgba(226, 199, 130, 0.68);
  background: rgba(200, 164, 93, 0.12);
  transform: translateY(-2px);
}

.price-section__note {
  max-width: 980px;
  margin: 0 auto 28px;
  color: rgba(246, 239, 229, 0.66);
  font-size: 0.92rem;
}

.price-branches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.price-card {
  display: flex;
  height: clamp(620px, 72vh, 760px);
  flex-direction: column;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent),
    rgba(13, 11, 9, 0.74);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.22);
  overflow: hidden;
  transition: border-color 220ms ease, transform 220ms ease;
}

.price-card--featured {
  background:
    radial-gradient(circle at top right, rgba(200, 164, 93, 0.13), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent),
    rgba(13, 11, 9, 0.86);
}

.price-card:hover {
  border-color: var(--border);
  transform: translateY(-3px);
}

.price-card__head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.price-card h2 {
  margin-bottom: 0;
  font-size: clamp(2rem, 4vw, 3.15rem);
}

.price-card__count {
  flex: 0 0 auto;
  padding: 8px 10px;
  border: 1px solid rgba(200, 164, 93, 0.25);
  color: var(--gold-soft);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.price-card > p {
  max-width: 560px;
  min-height: 74px;
  margin-bottom: 26px;
  color: rgba(246, 239, 229, 0.72);
}

.price-list {
  display: grid;
  flex: 1;
  gap: 4px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0;
  padding-right: 12px;
  margin: 0;
  list-style: none;
  scrollbar-color: rgba(200, 164, 93, 0.7) rgba(255, 255, 255, 0.06);
  scrollbar-width: thin;
}

.price-list::-webkit-scrollbar {
  width: 9px;
}

.price-list::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
}

.price-list::-webkit-scrollbar-thumb {
  border: 2px solid rgba(13, 11, 9, 0.9);
  border-radius: 999px;
  background: linear-gradient(180deg, var(--gold-soft), var(--gold));
}

.price-list li {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 22px;
  align-items: start;
  padding: 15px 0 15px 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(246, 239, 229, 0.82);
  font-size: 0.76rem;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.price-list li::before {
  content: "";
  position: absolute;
  top: 21px;
  left: 2px;
  width: 10px;
  height: 6px;
  border-bottom: 1px solid var(--gold-soft);
  border-left: 1px solid var(--gold-soft);
  transform: rotate(-45deg);
}

.price-list strong {
  color: var(--champagne);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
}

.price-list strong.price-consultation-value {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}

.price-consultation-free {
  color: #ffe7a5;
  font-weight: 950;
  letter-spacing: 0.12em;
}

.price-consultation-value del {
  color: rgba(246, 239, 229, 0.48);
  text-decoration-color: rgba(246, 239, 229, 0.5);
  text-decoration-thickness: 1px;
  text-decoration-skip-ink: none;
}

.price-name-wrap {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.price-vip-note {
  flex-basis: 100%;
  color: rgba(226, 199, 130, 0.84);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
  text-transform: none;
}

.price-vip-badge {
  position: relative;
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border: 1px solid rgba(226, 199, 130, 0.62);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(226, 199, 130, 0.22), rgba(184, 138, 46, 0.32));
  color: #ffe7a5;
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(226, 199, 130, 0.16);
}

.price-vip-badge::after {
  content: attr(data-vip-tooltip);
  position: absolute;
  display: none;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: 30;
  width: min(260px, 72vw);
  padding: 12px 14px;
  border: 1px solid rgba(226, 199, 130, 0.42);
  border-radius: 14px;
  background: rgba(7, 6, 5, 0.96);
  color: rgba(246, 239, 229, 0.92);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  text-align: left;
  text-transform: none;
  transform: translate(-50%, 8px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.price-vip-badge:hover::after,
.price-vip-badge:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.price-vip-tooltip {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 13000;
  width: min(280px, calc(100vw - 24px));
  padding: 12px 14px;
  border: 1px solid rgba(226, 199, 130, 0.48);
  border-radius: 14px;
  background: rgba(7, 6, 5, 0.98);
  color: rgba(246, 239, 229, 0.94);
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  text-align: left;
  text-transform: none;
  transform: translateY(6px) scale(0.98);
  transition: opacity 160ms ease, transform 160ms ease;
  visibility: hidden;
}

.price-vip-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  visibility: visible;
}

.price-vip-tooltip[data-placement="bottom"] {
  transform: translateY(-6px) scale(0.98);
}

.price-vip-tooltip[data-placement="bottom"].is-visible {
  transform: translateY(0) scale(1);
}

.price-card.is-hidden,
.price-list li.is-hidden {
  display: none;
}

@media (max-width: 1020px) {
  .lux-privilege__grid,
  .privilege-hero__grid,
  .inner-grid,
  .inner-card-grid,
  .testimonial-grid,
  .inner-grid--two,
  .inner-editorial,
  .procedure-directory__grid,
  .procedure-image-grid,
  .price-branches {
    grid-template-columns: 1fr;
  }

  .inner-hero {
    padding-top: 150px;
  }
}

@media (max-width: 680px) {
  .price-search-panel {
    padding: 24px;
  }

  .price-card {
    height: 620px;
    padding: 24px;
    border-radius: 22px;
  }

  .price-card__head {
    display: grid;
  }

  .price-card > p {
    min-height: 0;
  }

  .price-list li {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .price-list strong {
    text-align: left;
  }

  .price-list strong.price-consultation-value {
    justify-content: flex-start;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .testimonial-slide {
    padding: 30px 22px;
  }

  .testimonial-slide p,
  .testimonial-card p {
    font-size: 1.08rem;
  }

  .testimonial-card {
    min-height: auto;
    padding: 22px;
    border-radius: 20px;
  }

  .lux-privilege__copy {
    padding: 24px;
  }

  .lux-privilege__benefits {
    grid-template-columns: 1fr;
  }

  .privilege-card-gallery {
    min-height: 330px;
  }

  .vip-card {
    width: 100%;
    border-radius: 22px;
  }

  .vip-card-face {
    border-radius: 22px;
  }

  .front-content span {
    margin-bottom: 10px;
    font-size: 0.58rem;
  }

  .front-content p {
    letter-spacing: 0.16em;
  }

  .lux-map-embed {
    min-height: 360px;
    border-radius: 20px;
  }

  .privilege-card-gallery__float {
    right: 0;
    width: 62%;
  }

  .inner-section {
    padding: 78px 0;
  }

  .inner-hero--background {
    min-height: 720px;
    padding-top: 150px;
    padding-bottom: 72px;
    background-position: center;
  }

  .inner-hero__actions {
    display: grid;
  }

  .procedure-image-card {
    min-height: 360px;
    border-radius: 20px;
  }

  .procedure-image-card em {
    opacity: 1;
    transform: none;
  }
}

/* Clean homepage baseline
   This block intentionally isolates the repaired homepage from older lux/mockup systems. */
html {
  scroll-padding-top: 182px;
}

body.zen-clean-page {
  --zen-bg: #050403;
  --zen-surface: #0b0907;
  --zen-surface-soft: #15110d;
  --zen-text: #f6efe5;
  --zen-muted: #b9aa96;
  --zen-gold: #c8a45d;
  --zen-gold-soft: #e2c782;
  --zen-border: rgba(200, 164, 93, 0.24);
  --zen-border-soft: rgba(255, 255, 255, 0.08);
  --zen-shell: 1600px;
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "Manrope", Inter, "Segoe UI", Arial, sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 70% 18%, rgba(200, 164, 93, 0.12), transparent 26rem),
    linear-gradient(180deg, #050403 0%, #080706 100%);
  color: var(--zen-text);
  font-family: var(--font-body);
}

.zen-clean-page a {
  color: inherit;
}

.zen-shell,
.zen-header-shell {
  width: min(var(--zen-shell), calc(100% - clamp(48px, 12vw, 240px)));
  margin-inline: auto;
}

.zen-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(200, 164, 93, 0.14);
  background: rgba(5, 4, 3, 0.96);
  backdrop-filter: blur(18px);
}

.zen-site-header.is-scrolled,
.zen-site-header.menu-open {
  background: rgba(5, 4, 3, 0.98);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
}

.zen-top-bar {
  display: grid;
  min-height: 32px;
  place-items: center;
  background: linear-gradient(90deg, #b98b36, #d8b76d, #b98b36);
  color: #120e08;
}

.zen-top-bar a {
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-align: center;
  text-transform: uppercase;
}

.zen-header-main {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
  gap: 28px;
  align-items: center;
  min-height: 92px;
}

.zen-header-meta,
.zen-header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.zen-header-meta {
  flex-wrap: wrap;
  color: rgba(246, 239, 229, 0.74);
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.zen-header-meta a {
  color: var(--zen-gold-soft);
}

.zen-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.36rem;
  line-height: 1;
  white-space: nowrap;
}

.zen-brand img {
  width: 66px;
  height: 66px;
  border: 1px solid rgba(226, 199, 130, 0.44);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 34px rgba(255, 255, 255, 0.12);
}

.zen-header-actions {
  justify-content: flex-end;
}

.zen-pill,
.zen-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease, color 200ms ease;
}

.zen-pill {
  padding: 0 24px;
  border: 1px solid var(--zen-border);
  color: rgba(246, 239, 229, 0.9);
}

.zen-pill--gold,
.zen-button--gold {
  border: 1px solid var(--zen-gold);
  background: linear-gradient(135deg, #d9ba70, #c8a45d);
  color: #120e08;
}

.zen-pill--ghost,
.zen-button--outline {
  border: 1px solid var(--zen-border);
  background: rgba(255, 255, 255, 0.03);
  color: var(--zen-text);
}

.zen-pill:hover,
.zen-pill:focus-visible,
.zen-button:hover,
.zen-button:focus-visible {
  transform: translateY(-1px);
}

.zen-nav-toggle {
  display: none;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid var(--zen-border);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  color: var(--zen-text);
}

.zen-nav-toggle span:not(.sr-only) {
  display: block;
  width: 18px;
  height: 1px;
  margin: 5px auto;
  background: var(--zen-gold-soft);
}

.zen-main-nav {
  border-top: 1px solid rgba(200, 164, 93, 0.12);
  background: rgba(5, 4, 3, 0.98);
}

.zen-main-nav__inner {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px clamp(8px, 1.1vw, 18px);
  padding-block: 8px;
}

.zen-main-nav a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(246, 239, 229, 0.78);
  cursor: pointer;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 12px 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.zen-main-nav .mega-item {
  display: inline-flex;
}

.zen-main-nav .mega-toggle {
  font-family: inherit;
}

.zen-main-nav .mega-panel {
  text-align: left;
}

.zen-nav-link--caret::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  opacity: 0.78;
  transform: rotate(45deg) translateY(-2px);
}

.zen-main-nav a:hover,
.zen-main-nav a:focus-visible {
  background: transparent;
  color: var(--zen-gold-soft);
}

.zen-mobile-menu {
  position: fixed;
  inset: 100px 0 auto;
  z-index: 990;
  height: calc(100svh - 100px);
  min-height: calc(100vh - 100px);
  padding: 24px 24px 34px;
  overflow-y: auto;
  background: #050403;
}

.zen-mobile-menu nav {
  display: grid;
  gap: 14px;
  width: min(420px, 100%);
  margin-inline: auto;
}

.zen-mobile-menu a {
  padding: 14px 0;
  border-bottom: 1px solid rgba(226, 199, 130, 0.16);
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.55rem;
}

.hero-home {
  position: relative;
  min-height: calc(100svh - 182px);
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 24%, rgba(226, 199, 130, 0.18), transparent 25rem),
    linear-gradient(90deg, #050403 0%, #050403 44%, #100d09 100%);
}

.hero-home::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(5, 4, 3, 0.98) 0%, rgba(5, 4, 3, 0.9) 34%, rgba(5, 4, 3, 0.24) 60%, rgba(5, 4, 3, 0.06) 100%),
    linear-gradient(180deg, rgba(5, 4, 3, 0.12), rgba(5, 4, 3, 0.64));
}

.hero-home__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(200, 164, 93, 0.032) 1px, transparent 1px),
    linear-gradient(180deg, rgba(200, 164, 93, 0.024) 1px, transparent 1px);
  background-size: 112px 112px;
  mask-image: linear-gradient(180deg, black, transparent 82%);
}

.hero-home__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: calc(100svh - 182px);
  padding: clamp(72px, 7vw, 112px) 0 clamp(64px, 6vw, 96px);
}

.hero-home__content {
  width: min(48vw, 720px);
  max-width: 720px;
}

.zen-kicker {
  margin: 0 0 18px;
  color: var(--zen-gold-soft);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.hero-home h1 {
  margin: 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(4.1rem, 5.05vw, 6rem);
  font-weight: 500;
  line-height: 1.02;
}

.hero-home h1 span {
  display: block;
}

.hero-home h1 .text-gold {
  color: var(--zen-gold-soft);
}

.hero-home__lead {
  max-width: 560px;
  margin: 24px 0 0;
  color: rgba(246, 239, 229, 0.78);
  font-size: 1.03rem;
  line-height: 1.7;
}

.hero-home__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 36px;
}

.zen-button {
  min-width: min(100%, 305px);
  padding: 0 28px;
}

.hero-home__benefits {
  display: flex;
  width: min(850px, 92vw);
  gap: clamp(18px, 2.6vw, 44px);
  align-items: stretch;
  justify-content: space-between;
  margin-top: clamp(48px, 5vw, 72px);
}

.hero-benefit {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
}

.hero-benefit + .hero-benefit {
  padding-left: clamp(12px, 2vw, 28px);
  border-left: 1px solid rgba(226, 199, 130, 0.2);
}

.hero-benefit__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(226, 199, 130, 0.42);
  border-radius: 50%;
  color: var(--zen-gold-soft);
}

.hero-benefit__icon svg,
.hero-contact-rail svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hero-benefit strong,
.hero-benefit small {
  display: block;
}

.hero-benefit strong {
  color: rgba(246, 239, 229, 0.92);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.hero-benefit small {
  margin-top: 5px;
  color: rgba(246, 239, 229, 0.62);
  font-size: 0.78rem;
}

.hero-home__portrait {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 0;
  width: min(52vw, 930px);
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #100d09;
}

.hero-home__portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 22% 48%, rgba(200, 164, 93, 0.12), transparent 22rem),
    linear-gradient(90deg, rgba(5, 4, 3, 0.68), transparent 36%),
    linear-gradient(180deg, rgba(5, 4, 3, 0.08), rgba(5, 4, 3, 0.32));
  pointer-events: none;
}

.hero-home__portrait img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  filter: saturate(0.98) contrast(1.04) brightness(0.94);
}

.hero-contact-rail {
  position: fixed;
  right: clamp(22px, 2.1vw, 42px);
  top: 50%;
  z-index: 70;
  display: grid;
  gap: 14px;
  padding: 18px 12px;
  border: 1px solid rgba(226, 199, 130, 0.28);
  border-radius: 999px;
  background: rgba(5, 4, 3, 0.36);
  backdrop-filter: blur(18px);
  transform: translateY(-50%);
}

.hero-contact-rail a {
  display: grid;
  gap: 7px;
  justify-items: center;
  color: rgba(246, 239, 229, 0.78);
  font-size: 0.68rem;
  line-height: 1;
  text-align: center;
  transition: color 200ms ease, transform 200ms ease;
}

.hero-contact-rail a::before {
  content: "";
  grid-area: 1 / 1;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(226, 199, 130, 0.58);
  border-radius: 50%;
  background: rgba(200, 164, 93, 0.06);
}

.hero-contact-rail svg {
  grid-area: 1 / 1;
  align-self: center;
  justify-self: center;
  color: var(--zen-gold-soft);
}

.hero-contact-rail span {
  max-width: 74px;
}

.hero-contact-rail a:hover,
.hero-contact-rail a:focus-visible {
  color: var(--zen-gold-soft);
  transform: translateY(-2px);
}

.zen-welcome-bridge {
  position: relative;
  overflow: hidden;
  padding: clamp(42px, 5vw, 74px) 0;
  border-top: 1px solid rgba(226, 199, 130, 0.13);
  border-bottom: 1px solid rgba(226, 199, 130, 0.1);
  background:
    radial-gradient(circle at 18% 26%, rgba(226, 199, 130, 0.12), transparent 24rem),
    linear-gradient(180deg, #050403 0%, #0a0806 100%);
}

.zen-welcome-bridge::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(226, 199, 130, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(226, 199, 130, 0.02) 1px, transparent 1px);
  background-size: 112px 112px;
  opacity: 0.7;
  pointer-events: none;
}

.zen-welcome-bridge__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.zen-welcome-note {
  min-height: 168px;
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid rgba(226, 199, 130, 0.16);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(21, 17, 13, 0.86), rgba(5, 4, 3, 0.94)),
    radial-gradient(circle at top right, rgba(226, 199, 130, 0.1), transparent 42%);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.24);
}

.zen-welcome-note span {
  display: inline-flex;
  margin-bottom: 20px;
  color: rgba(226, 199, 130, 0.82);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
}

.zen-welcome-note h2 {
  margin: 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 1.5vw, 1.65rem);
  font-weight: 500;
  line-height: 1.12;
}

.zen-welcome-note p {
  margin: 12px 0 0;
  color: var(--zen-muted);
  font-size: 0.95rem;
  line-height: 1.68;
}

.zen-about-section {
  position: relative;
  display: grid;
  grid-template-columns: minmax(360px, 46.5vw) minmax(0, 1fr);
  min-height: clamp(680px, calc(100svh - 184px), 900px);
  overflow: hidden;
  border-top: 1px solid rgba(226, 199, 130, 0.16);
  background:
    radial-gradient(circle at 96% 12%, rgba(200, 164, 93, 0.12), transparent 28rem),
    #080706;
}

.zen-about-visual {
  position: relative;
  min-height: inherit;
  background:
    linear-gradient(90deg, rgba(247, 242, 234, 0.18), transparent 56%),
    url("assets/optimized/about-zen-woman-780.jpg") center center / cover no-repeat,
    #f2eadc;
}

.zen-about-visual::before,
.zen-about-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.zen-about-visual::before {
  background:
    radial-gradient(circle at 54% 24%, rgba(255, 250, 242, 0.24), transparent 22rem),
    linear-gradient(90deg, rgba(244, 234, 220, 0.18), rgba(72, 54, 34, 0.04));
  mix-blend-mode: soft-light;
}

.zen-about-visual::after {
  background: linear-gradient(90deg, transparent 70%, rgba(8, 7, 6, 0.78));
}

.zen-about-content {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: start;
  padding: clamp(34px, 4vw, 48px) clamp(38px, 4.5vw, 76px) clamp(34px, 4vw, 48px) clamp(42px, 4.5vw, 72px);
  background:
    linear-gradient(90deg, rgba(8, 7, 6, 0.98), rgba(8, 7, 6, 0.96)),
    radial-gradient(circle at 96% 18%, rgba(200, 164, 93, 0.12), transparent 24rem);
}

.zen-about-content::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(226, 199, 130, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(226, 199, 130, 0.035) 1px, transparent 1px);
  background-size: 140px 140px;
  opacity: 0.28;
}

.zen-about-content > * {
  position: relative;
  z-index: 1;
}

.zen-about-logo {
  width: 68px;
  height: 68px;
  margin: 0 auto 16px;
  justify-self: center;
  border: 1px solid rgba(226, 199, 130, 0.4);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 42px rgba(255, 255, 255, 0.1);
}

.zen-about-content h2::after {
  content: "";
  display: block;
  width: 62px;
  height: 1px;
  margin-top: 16px;
  background: var(--zen-gold);
}

.zen-about-content h2 {
  max-width: 820px;
  margin: 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.55rem, 3.45vw, 3.72rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.zen-about-subtitle {
  max-width: 800px;
  margin: 16px 0 0;
  color: var(--zen-gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.16rem, 1.45vw, 1.45rem);
  line-height: 1.25;
}

.zen-about-lead {
  max-width: 760px;
  margin: 15px 0 0;
  color: rgba(246, 239, 229, 0.78);
  font-size: clamp(0.9rem, 0.94vw, 0.99rem);
  line-height: 1.56;
}

.zen-about-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(780px, 100%);
  margin-top: clamp(20px, 2.6vw, 28px);
}

.zen-about-values article {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 0 clamp(16px, 2vw, 34px);
  text-align: center;
}

.zen-about-values article + article {
  border-left: 1px solid rgba(226, 199, 130, 0.3);
}

.zen-about-values span {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgba(226, 199, 130, 0.52);
  border-radius: 50%;
  color: var(--zen-gold-soft);
}

.zen-about-values svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.zen-about-values strong {
  color: var(--zen-gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  font-weight: 500;
}

.zen-about-values small {
  max-width: 180px;
  color: rgba(246, 239, 229, 0.68);
  font-size: 0.78rem;
  line-height: 1.45;
}

.zen-about-cta {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: min(420px, 100%);
  margin-top: 22px;
  border: 1px solid rgba(226, 199, 130, 0.62);
  color: var(--zen-gold-soft);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-align: center;
  text-transform: uppercase;
  transition: background 200ms ease, color 200ms ease, transform 200ms ease;
}

.zen-about-cta:hover,
.zen-about-cta:focus-visible {
  background: rgba(226, 199, 130, 0.1);
  transform: translateY(-1px);
}

.zen-editorial-break {
  position: relative;
  overflow: hidden;
  padding: clamp(52px, 6vw, 92px) 0;
  border-top: 1px solid rgba(226, 199, 130, 0.12);
  border-bottom: 1px solid rgba(226, 199, 130, 0.12);
  background:
    linear-gradient(180deg, #080706 0%, #0d0b09 100%);
}

.zen-editorial-break::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 10%, rgba(226, 199, 130, 0.12), transparent 28rem),
    radial-gradient(circle at 92% 80%, rgba(226, 199, 130, 0.08), transparent 30rem);
  pointer-events: none;
}

.zen-editorial-break__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 74px minmax(280px, 0.72fr) minmax(340px, 1fr) auto;
  gap: clamp(18px, 3vw, 42px);
  align-items: center;
  padding: clamp(22px, 3.2vw, 46px);
  border: 1px solid rgba(226, 199, 130, 0.18);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.025);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 24px 86px rgba(0, 0, 0, 0.24);
}

.zen-editorial-break__mark {
  width: 58px;
  aspect-ratio: 1;
  border: 1px solid rgba(226, 199, 130, 0.48);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(226, 199, 130, 0.42) 0 3px, transparent 4px),
    radial-gradient(circle, rgba(226, 199, 130, 0.16), transparent 62%);
}

.zen-editorial-break h2 {
  margin: 8px 0 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3vw, 3.25rem);
  font-weight: 500;
  line-height: 1.04;
}

.zen-editorial-break p:not(.zen-kicker) {
  margin: 0;
  color: var(--zen-muted);
  line-height: 1.76;
}

.zen-editorial-break a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  white-space: nowrap;
  padding: 0 22px;
  border: 1px solid rgba(226, 199, 130, 0.42);
  border-radius: 999px;
  color: var(--zen-gold-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.zen-editorial-break a:hover,
.zen-editorial-break a:focus-visible {
  border-color: rgba(226, 199, 130, 0.68);
  background: rgba(226, 199, 130, 0.08);
  transform: translateY(-2px);
}

.zen-free-consult {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 7vw, 116px) 0;
  border-top: 1px solid rgba(226, 199, 130, 0.14);
  border-bottom: 1px solid rgba(226, 199, 130, 0.14);
  background:
    radial-gradient(circle at 14% 16%, rgba(226, 199, 130, 0.14), transparent 26rem),
    radial-gradient(circle at 90% 84%, rgba(226, 199, 130, 0.1), transparent 30rem),
    linear-gradient(180deg, #080706 0%, #0d0b09 100%);
}

.zen-free-consult__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(300px, 0.82fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: center;
}

.zen-free-consult__content .zen-kicker {
  margin-bottom: 16px;
}

.zen-free-consult h2 {
  margin: 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.6vw, 3.5rem);
  font-weight: 500;
  line-height: 1.06;
}

.zen-free-consult__accent {
  color: var(--zen-gold-soft);
  font-style: italic;
}

.zen-free-consult__lead {
  margin: 20px 0 0;
  max-width: 540px;
  color: var(--zen-muted);
  font-size: 1.02rem;
  line-height: 1.74;
}

.zen-free-consult__points {
  display: grid;
  gap: 12px;
  margin: 28px 0 32px;
  padding: 0;
  list-style: none;
}

.zen-free-consult__points li {
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--zen-text);
  font-size: 0.98rem;
  font-weight: 600;
}

.zen-free-consult__points span {
  display: inline-flex;
  width: 27px;
  height: 27px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(226, 199, 130, 0.5);
  border-radius: 50%;
  background: rgba(226, 199, 130, 0.12);
  color: var(--zen-gold-soft);
  font-size: 0.78rem;
  font-weight: 900;
}

.zen-free-consult__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.zen-free-consult__visual {
  position: relative;
  justify-self: center;
  width: min(440px, 100%);
}

.zen-free-consult__visual img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(226, 199, 130, 0.4);
  border-radius: 20px;
  box-shadow: 0 40px 110px rgba(0, 0, 0, 0.5);
  transform: rotate(-4deg);
}

.zen-free-consult__badge {
  position: absolute;
  top: -20px;
  right: -6px;
  z-index: 2;
  display: grid;
  width: 108px;
  height: 108px;
  align-content: center;
  justify-items: center;
  gap: 2px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffe7a5, #b98b36);
  color: #120e08;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transform: rotate(8deg);
}

.zen-free-consult__badge strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.95rem;
  font-weight: 600;
  line-height: 1;
}

.zen-free-consult__badge small {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

@media (max-width: 920px) {
  .zen-free-consult__grid {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .zen-free-consult__content {
    order: 2;
  }

  .zen-free-consult__lead {
    margin-inline: auto;
  }

  .zen-free-consult__points {
    display: inline-grid;
    text-align: left;
  }

  .zen-free-consult__actions {
    justify-content: center;
  }
}

.zen-why-light {
  position: relative;
  display: grid;
  grid-template-columns: minmax(360px, 44vw) minmax(0, 1fr);
  min-height: clamp(680px, calc(100svh - 184px), 900px);
  overflow: hidden;
  border-top: 1px solid rgba(200, 164, 93, 0.14);
  background:
    radial-gradient(circle at 92% 10%, rgba(200, 164, 93, 0.12), transparent 24rem),
    linear-gradient(180deg, #fffaf2 0%, #f7f0e5 100%);
  color: #171717;
}

.zen-why-light::before,
.zen-why-light::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.zen-why-light::before {
  inset: 0;
  background:
    radial-gradient(circle at 22% 22%, rgba(184, 138, 46, 0.16), transparent 19rem),
    linear-gradient(90deg, rgba(184, 138, 46, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(184, 138, 46, 0.026) 1px, transparent 1px);
  background-size: auto, 126px 126px, 126px 126px;
  opacity: 0.7;
}

.zen-why-light::after {
  top: 6%;
  right: -8vw;
  width: min(42vw, 660px);
  aspect-ratio: 1;
  border: 1px solid rgba(184, 138, 46, 0.12);
  border-radius: 50%;
}

.zen-why-light__visual {
  position: relative;
  min-height: inherit;
  background:
    linear-gradient(90deg, rgba(255, 250, 242, 0.04), rgba(255, 250, 242, 0.4) 92%),
    url("assets/optimized/why-zen-woman-735.jpg") center center / cover no-repeat,
    #f9f1e4;
}

.zen-why-light__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 72%, rgba(255, 250, 242, 0.88)),
    linear-gradient(0deg, rgba(255, 250, 242, 0.12), transparent 34%);
  pointer-events: none;
}

.zen-why-light__content {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: start;
  padding: clamp(30px, 3.6vw, 46px) clamp(42px, 5vw, 92px);
}

.zen-why-light__logo {
  width: 72px;
  height: 72px;
  margin: 0 auto clamp(14px, 1.8vw, 22px);
  justify-self: center;
  border-radius: 50%;
  object-fit: cover;
  filter: contrast(1.02);
}

.zen-why-light__eyebrow {
  margin: 0 0 12px;
  color: #b88a2e;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.zen-why-light h2 {
  max-width: 780px;
  margin: 0;
  color: #171717;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.8rem, 4.35vw, 4.65rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.015em;
}

.zen-why-light h2::after {
  content: "";
  display: block;
  width: 74px;
  height: 1px;
  margin-top: 16px;
  background: rgba(184, 138, 46, 0.58);
}

.zen-why-light__lead {
  max-width: 760px;
  margin: 18px 0 0;
  color: #5f5548;
  font-size: clamp(0.98rem, 1.04vw, 1.08rem);
  line-height: 1.62;
}

.zen-why-light__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  width: min(860px, 100%);
  margin-top: clamp(22px, 2.7vw, 32px);
}

.zen-why-light__cards article {
  display: grid;
  min-height: 160px;
  align-content: start;
  justify-items: center;
  gap: 9px;
  padding: 20px 16px 18px;
  border: 1px solid rgba(184, 138, 46, 0.18);
  border-radius: 10px;
  background: rgba(255, 250, 242, 0.54);
  box-shadow: 0 18px 46px rgba(90, 69, 38, 0.06);
  text-align: center;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.zen-why-light__cards article:hover {
  border-color: rgba(184, 138, 46, 0.42);
  background: rgba(255, 250, 242, 0.74);
  box-shadow: 0 24px 64px rgba(90, 69, 38, 0.12);
  transform: translateY(-4px);
}

.zen-why-light__cards span {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid rgba(184, 138, 46, 0.42);
  border-radius: 50%;
  color: #b88a2e;
}

.zen-why-light__cards svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.zen-why-light__cards strong {
  color: #171717;
  font-size: 1rem;
  line-height: 1.18;
}

.zen-why-light__cards small {
  color: #5f5548;
  font-size: 0.76rem;
  line-height: 1.45;
}

.zen-why-light__cta {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: min(360px, 100%);
  margin: 22px auto 0;
  justify-self: center;
  border-radius: 3px;
  background: linear-gradient(135deg, #b88a2e, #d7b56d);
  color: #fffaf2;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  box-shadow: 0 18px 34px rgba(184, 138, 46, 0.18);
  transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease;
}

.zen-why-light__cta:hover,
.zen-why-light__cta:focus-visible {
  filter: brightness(1.04);
  box-shadow: 0 24px 48px rgba(184, 138, 46, 0.24);
  transform: translateY(-2px);
}

.zen-popular-section,
.zen-process-section,
.zen-faq-section,
.zen-booking-section,
.zen-map-section {
  position: relative;
  overflow: hidden;
  scroll-margin-top: 180px;
  padding: clamp(82px, 9vw, 132px) 0;
  background: #080706;
  border-top: 1px solid rgba(226, 199, 130, 0.12);
}

.zen-popular-section::before,
.zen-process-section::before,
.zen-booking-section::before,
.zen-map-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(226, 199, 130, 0.1), transparent 28%),
    radial-gradient(circle at 86% 82%, rgba(200, 164, 93, 0.08), transparent 32%),
    linear-gradient(90deg, rgba(226, 199, 130, 0.035) 1px, transparent 1px);
  background-size: auto, auto, 112px 112px;
  opacity: 0.75;
  pointer-events: none;
}

.zen-section-head {
  position: relative;
  z-index: 1;
  max-width: 840px;
  margin-bottom: clamp(34px, 5vw, 58px);
}

.zen-section-head h2 {
  margin: 12px 0 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.45rem, 4.8vw, 5.3rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}

.zen-section-head p:last-child {
  max-width: 720px;
  margin: 20px 0 0;
  color: rgba(246, 239, 229, 0.72);
  font-size: 1rem;
  line-height: 1.8;
}

.zen-section-head--sticky {
  position: sticky;
  top: 170px;
  align-self: start;
  margin-bottom: 0;
}

.zen-popular-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.zen-popular-grid--visual {
  gap: clamp(14px, 1.5vw, 22px);
}

.zen-procedure-tile {
  min-height: clamp(360px, 30vw, 520px);
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.2);
  border-radius: 30px;
  background: #050403;
  box-shadow: 0 28px 92px rgba(0, 0, 0, 0.28);
  transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.zen-procedure-tile a {
  position: relative;
  display: grid;
  height: 100%;
  min-height: inherit;
  color: var(--zen-text);
  isolation: isolate;
}

.zen-procedure-tile a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(5, 4, 3, 0.08) 0%, rgba(5, 4, 3, 0.3) 38%, rgba(5, 4, 3, 0.9) 100%),
    radial-gradient(circle at 28% 20%, rgba(226, 199, 130, 0.14), transparent 34%);
  pointer-events: none;
}

.zen-procedure-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.95) contrast(1.04) brightness(0.86);
  transform: scale(1.02);
  transition: transform 520ms ease, filter 520ms ease;
}

.zen-procedure-tile__number {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(226, 199, 130, 0.5);
  border-radius: 50%;
  background: rgba(5, 4, 3, 0.4);
  color: var(--zen-gold-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  backdrop-filter: blur(14px);
}

.zen-procedure-tile__body {
  position: relative;
  z-index: 2;
  align-self: end;
  display: grid;
  gap: 12px;
  padding: clamp(22px, 2.2vw, 32px);
}

.zen-procedure-tile__body h3 {
  margin: 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 2vw, 2.35rem);
  font-weight: 500;
  line-height: 1.03;
}

.zen-procedure-tile__body p {
  max-width: 34ch;
  margin: 0;
  color: rgba(246, 239, 229, 0.76);
  font-size: 0.92rem;
  line-height: 1.62;
}

.zen-procedure-tile__button {
  display: inline-flex;
  width: fit-content;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 4px;
  padding: 0 18px;
  border: 1px solid rgba(226, 199, 130, 0.48);
  border-radius: 999px;
  color: var(--zen-gold-soft);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}

.zen-procedure-tile__button::after {
  content: "→";
  transition: transform 200ms ease;
}

.zen-procedure-tile:hover,
.zen-procedure-tile:focus-within {
  border-color: rgba(226, 199, 130, 0.62);
  box-shadow: 0 34px 112px rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(226, 199, 130, 0.09);
  transform: translateY(-6px);
}

.zen-procedure-tile:hover img,
.zen-procedure-tile:focus-within img {
  filter: saturate(1) contrast(1.08) brightness(0.96);
  transform: scale(1.08);
}

.zen-procedure-tile:hover .zen-procedure-tile__button,
.zen-procedure-tile:focus-within .zen-procedure-tile__button {
  border-color: rgba(226, 199, 130, 0.76);
  background: rgba(226, 199, 130, 0.12);
}

.zen-procedure-tile:hover .zen-procedure-tile__button::after,
.zen-procedure-tile:focus-within .zen-procedure-tile__button::after {
  transform: translateX(4px);
}

.zen-popular-card {
  min-height: 310px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(22px, 2vw, 30px);
  border: 1px solid rgba(226, 199, 130, 0.18);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(28, 23, 18, 0.92), rgba(8, 7, 6, 0.96)),
    radial-gradient(circle at top right, rgba(226, 199, 130, 0.12), transparent 34%);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.22);
  transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease, background 260ms ease;
}

.zen-popular-card:hover,
.zen-popular-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(226, 199, 130, 0.58);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(226, 199, 130, 0.08);
}

.zen-popular-card > span {
  color: rgba(226, 199, 130, 0.7);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.9rem;
  line-height: 1;
}

.zen-popular-card h3 {
  margin: 26px 0 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 500;
  line-height: 1.08;
}

.zen-popular-card p {
  margin: 16px 0 28px;
  color: var(--zen-muted);
  font-size: 0.95rem;
  line-height: 1.68;
}

.zen-popular-card a {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--zen-gold-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zen-popular-card a::after {
  content: "→";
  transition: transform 180ms ease;
}

.zen-popular-card a:hover::after,
.zen-popular-card a:focus-visible::after {
  transform: translateX(4px);
}

.zen-process-section {
  background:
    linear-gradient(180deg, #080706 0%, #0d0b09 48%, #080706 100%);
}

.zen-process-timeline {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
}

.zen-process-timeline::before {
  content: "";
  position: absolute;
  top: 45px;
  right: 8%;
  left: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(226, 199, 130, 0.18), transparent);
}

.zen-process-timeline::after {
  content: "";
  position: absolute;
  top: 45px;
  right: 8%;
  left: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(226, 199, 130, 0.86), rgba(255, 241, 184, 0.72), transparent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1100ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

.zen-process-step {
  position: relative;
  min-height: 300px;
  padding: 82px 22px 24px;
  border-right: 1px solid rgba(226, 199, 130, 0.12);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 680ms ease, transform 680ms cubic-bezier(0.2, 0.72, 0.2, 1);
  transition-delay: var(--process-delay, 0ms);
}

.zen-process-section.is-process-visible .zen-process-timeline::after {
  transform: scaleX(1);
}

.zen-process-section.is-process-visible .zen-process-step {
  opacity: 1;
  transform: translateY(0);
}

.zen-clean-page .zen-process-step.reveal-up.is-visible {
  opacity: 0;
  transform: translateY(24px);
}

.zen-clean-page .zen-process-section.is-process-visible .zen-process-step,
.zen-clean-page .zen-process-section.is-process-visible .zen-process-step.reveal-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.zen-process-step:nth-child(1) {
  --process-delay: 160ms;
}

.zen-process-step:nth-child(2) {
  --process-delay: 280ms;
}

.zen-process-step:nth-child(3) {
  --process-delay: 400ms;
}

.zen-process-step:nth-child(4) {
  --process-delay: 520ms;
}

.zen-process-step:nth-child(5) {
  --process-delay: 640ms;
}

.zen-process-step:last-child {
  border-right: 0;
}

.zen-process-step span {
  position: absolute;
  top: 22px;
  left: 22px;
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(226, 199, 130, 0.48);
  border-radius: 50%;
  background: #080706;
  color: var(--zen-gold-soft);
  font-weight: 900;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
}

.zen-process-step h3 {
  margin: 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.12;
}

.zen-process-step p {
  margin: 16px 0 0;
  color: var(--zen-muted);
  font-size: 0.94rem;
  line-height: 1.7;
}

.zen-faq-section {
  background: #050403;
}

.zen-faq-section__grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1fr);
  gap: clamp(34px, 6vw, 92px);
}

.zen-faq-list {
  display: grid;
  gap: 12px;
}

.zen-faq-item {
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.18);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(17, 14, 11, 0.72), rgba(8, 7, 6, 0.92));
  transition: border-color 220ms ease, background 220ms ease, transform 220ms ease;
}

.zen-faq-item:hover,
.zen-faq-item.is-open {
  border-color: rgba(226, 199, 130, 0.45);
  background:
    linear-gradient(180deg, rgba(28, 23, 18, 0.86), rgba(8, 7, 6, 0.96));
}

.zen-faq-item button {
  width: 100%;
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 24px;
  border: 0;
  background: transparent;
  color: var(--zen-text);
  text-align: left;
  font: inherit;
  font-size: 1rem;
  cursor: pointer;
}

.zen-faq-item button span {
  position: relative;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(226, 199, 130, 0.38);
  border-radius: 50%;
}

.zen-faq-item button span::before,
.zen-faq-item button span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: var(--zen-gold-soft);
  transform: translate(-50%, -50%);
}

.zen-faq-item button span::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: opacity 160ms ease;
}

.zen-faq-item.is-open button span::after {
  opacity: 0;
}

.zen-faq-panel {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 24px;
  transition:
    max-height 560ms cubic-bezier(0.2, 0.72, 0.2, 1),
    opacity 320ms ease,
    padding 320ms ease;
}

.zen-faq-item.is-open .zen-faq-panel {
  opacity: 1;
  padding: 0 24px 24px;
}

.zen-faq-panel p {
  margin: 0;
  color: var(--zen-muted);
  line-height: 1.78;
}

.zen-booking-section__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(300px, 0.82fr) minmax(420px, 1fr);
  gap: clamp(36px, 7vw, 98px);
  align-items: start;
}

.zen-booking-copy {
  position: sticky;
  top: 170px;
}

.zen-booking-copy h2 {
  margin: 12px 0 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.8rem, 5.6vw, 6.2rem);
  font-weight: 500;
  line-height: 0.96;
}

.zen-booking-copy > p {
  max-width: 560px;
  margin: 22px 0 0;
  color: var(--zen-muted);
  font-size: 1rem;
  line-height: 1.8;
}

.zen-booking-contact {
  display: grid;
  gap: 12px;
  margin-top: 34px;
}

.zen-booking-contact a {
  color: var(--zen-gold-soft);
}

.zen-booking-address {
  display: grid;
  gap: 7px;
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid rgba(226, 199, 130, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--zen-text);
}

.zen-booking-address span {
  color: rgba(234, 216, 184, 0.72);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zen-booking-address strong {
  color: var(--zen-gold-soft);
  font-size: 1rem;
  line-height: 1.35;
}

.zen-booking-map,
.contact-map-embed {
  position: relative;
  min-height: 240px;
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.2);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
}

.zen-booking-map iframe,
.contact-map-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  filter: invert(0.9) hue-rotate(180deg) brightness(0.95) contrast(0.9);
}

.contact-wide-map {
  position: relative;
  background: #050403;
  padding-bottom: clamp(64px, 8vw, 100px);
}

.contact-wide-map__embed {
  position: relative;
  width: 100%;
  height: clamp(380px, 50vw, 580px);
  overflow: hidden;
}

.contact-wide-map__embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: invert(0.9) hue-rotate(180deg) brightness(0.95) contrast(0.9);
}

.contact-wide-map__embed::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 120px;
  background: linear-gradient(to top, #050403, transparent);
  pointer-events: none;
}

.contact-info-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: -56px;
  position: relative;
  z-index: 1;
}

.contact-info-item {
  --accent: #e2c782;
  position: relative;
  display: grid;
  align-content: start;
  gap: 16px;
  min-height: 188px;
  padding: 26px 24px 22px;
  border: 1px solid rgba(226, 199, 130, 0.22);
  border-radius: 22px;
  background:
    linear-gradient(150deg, rgba(28, 23, 16, 0.96), rgba(8, 7, 5, 0.92));
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.34);
  overflow: hidden;
  cursor: pointer;
  transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease, background 240ms ease;
}

/* glowing top edge that lights up on hover */
.contact-info-item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  opacity: 0;
  transition: opacity 240ms ease;
}

.contact-info-item__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 15px;
  border: 1px solid rgba(226, 199, 130, 0.34);
  background:
    radial-gradient(circle at 30% 25%, rgba(226, 199, 130, 0.24), rgba(226, 199, 130, 0.05));
  color: var(--accent);
  transition: transform 240ms ease, background 240ms ease, color 240ms ease, border-color 240ms ease;
}

.contact-info-item__icon svg {
  width: 24px;
  height: 24px;
  display: block;
}

.contact-info-item__body {
  display: grid;
  gap: 5px;
}

.contact-info-item__label {
  color: rgba(234, 216, 184, 0.6);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.contact-info-item strong {
  display: block;
  color: var(--zen-text, #f6efe5);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.35;
  word-break: break-word;
}

.contact-info-item__action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.contact-info-item__action span {
  transition: transform 240ms ease;
}

.contact-info-item:hover,
.contact-info-item:focus-visible {
  transform: translateY(-6px);
  border-color: var(--accent);
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.44), 0 0 0 1px rgba(226, 199, 130, 0.22);
  outline: none;
}

.contact-info-item:hover::before,
.contact-info-item:focus-visible::before {
  opacity: 1;
}

.contact-info-item:hover .contact-info-item__icon,
.contact-info-item:focus-visible .contact-info-item__icon {
  transform: translateY(-2px) scale(1.06);
  background: var(--accent);
  border-color: var(--accent);
  color: #120e08;
}

.contact-info-item:hover .contact-info-item__action span,
.contact-info-item:focus-visible .contact-info-item__action span {
  transform: translateX(5px);
}

/* per-channel accents */
.contact-info-item--whatsapp { --accent: #4ad17f; }
.contact-info-item--phone { --accent: #f0b45c; }

@media (max-width: 980px) {
  .contact-info-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 540px) {
  .contact-info-bar {
    grid-template-columns: 1fr;
  }
  .contact-info-item {
    min-height: 0;
  }
  .contact-wide-map__embed {
    height: 320px;
  }
}

.zen-booking-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid rgba(226, 199, 130, 0.22);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(17, 14, 11, 0.92), rgba(5, 4, 3, 0.96));
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.28);
}

.zen-booking-form label {
  display: grid;
  gap: 9px;
}

.zen-booking-form label span {
  color: rgba(234, 216, 184, 0.82);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zen-booking-form input,
.zen-booking-form select,
.zen-booking-form textarea {
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(226, 199, 130, 0.2);
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.22);
  color: var(--zen-text);
  font: inherit;
  padding: 0 16px;
  outline: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.zen-booking-form textarea {
  min-height: 132px;
  padding-top: 14px;
  resize: vertical;
}

.zen-booking-form option,
.inner-form option {
  background: #110e0b;
  color: var(--zen-text);
}

.zen-booking-form input[type="time"]::-webkit-calendar-picker-indicator,
.inner-form input[type="time"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  filter: invert(0.82) sepia(0.24) saturate(1.4);
}

.zen-booking-form input:focus,
.zen-booking-form select:focus,
.zen-booking-form textarea:focus {
  border-color: rgba(226, 199, 130, 0.76);
  box-shadow: 0 0 0 4px rgba(226, 199, 130, 0.08);
  background: rgba(0, 0, 0, 0.34);
}

.zen-booking-form__wide,
.zen-booking-form__note,
.zen-booking-form button,
.zen-form-status {
  grid-column: 1 / -1;
}

.zen-booking-form__note {
  margin: 0;
  color: rgba(246, 239, 229, 0.58);
  font-size: 0.82rem;
  line-height: 1.6;
}

.zen-booking-form button {
  min-height: 56px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #b88a2e, #e2c782);
  color: #050403;
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}

.zen-booking-form button:hover,
.zen-booking-form button:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 20px 52px rgba(200, 164, 93, 0.22);
}

.zen-form-status {
  min-height: 24px;
  margin: 0;
  color: var(--zen-gold-soft);
  font-size: 0.9rem;
  line-height: 1.55;
}

.zen-form-status.is-error {
  color: #f1b3a9;
}

.inner-form__status.is-error {
  color: #f1b3a9 !important;
}

.zen-turnstile {
  grid-column: 1 / -1;
  min-height: 65px;
}

.zen-map-section {
  background:
    radial-gradient(circle at 18% 18%, rgba(226, 199, 130, 0.12), transparent 30%),
    #050403;
}

.zen-map-section__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(300px, 0.64fr) minmax(440px, 1fr);
  gap: clamp(34px, 6vw, 88px);
  align-items: center;
}

.zen-map-copy h2 {
  margin: 12px 0 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.5rem, 5vw, 5.5rem);
  font-weight: 500;
  line-height: 1;
}

.zen-map-copy > p {
  max-width: 560px;
  margin: 22px 0 0;
  color: var(--zen-muted);
  line-height: 1.8;
}

.zen-location-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 34px;
}

.zen-location-card {
  min-height: 118px;
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(226, 199, 130, 0.18);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.03);
}

.zen-location-card span {
  color: rgba(234, 216, 184, 0.66);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zen-location-card strong,
.zen-location-card a {
  color: var(--zen-text);
  font-size: 0.96rem;
  line-height: 1.4;
}

.zen-map-link {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
  padding: 0 24px;
  border: 1px solid rgba(226, 199, 130, 0.42);
  border-radius: 999px;
  color: var(--zen-gold-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.035);
}

.zen-mini-contact {
  display: grid;
  gap: 14px;
  margin-top: 26px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid rgba(226, 199, 130, 0.26);
  border-radius: 22px;
  background:
    radial-gradient(circle at 90% 8%, rgba(226, 199, 130, 0.1), transparent 36%),
    linear-gradient(150deg, rgba(22, 18, 13, 0.9), rgba(8, 7, 5, 0.86));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.zen-mini-contact__title {
  margin: 0;
  color: #f6efe5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  line-height: 1.2;
}

.zen-mini-contact__lead {
  margin: 0;
  color: rgba(246, 239, 229, 0.66);
  font-size: 0.82rem;
  line-height: 1.5;
}

.zen-mini-contact__channels {
  display: inline-flex;
  gap: 8px;
  padding: 5px;
  border: 1px solid rgba(226, 199, 130, 0.24);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.28);
  width: max-content;
  max-width: 100%;
}

.zen-mini-contact__channel {
  position: relative;
  display: inline-flex;
}

.zen-mini-contact__channel input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.zen-mini-contact__channel span {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  color: rgba(246, 239, 229, 0.74);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease;
}

.zen-mini-contact__channel input:checked + span {
  background: linear-gradient(135deg, #e2c782, #b98b36);
  color: #120e08;
}

.zen-mini-contact__channel input:focus-visible + span {
  outline: 2px solid #ffe7a5;
  outline-offset: 2px;
}

.zen-mini-contact__field {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(226, 199, 130, 0.26);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.3);
  color: #f6efe5;
  font: inherit;
  font-size: 0.9rem;
}

.zen-mini-contact__field::placeholder {
  color: rgba(246, 239, 229, 0.42);
}

.zen-mini-contact__field:focus-visible {
  outline: none;
  border-color: rgba(255, 231, 165, 0.7);
  box-shadow: 0 0 0 3px rgba(226, 199, 130, 0.16);
}

textarea.zen-mini-contact__field {
  resize: vertical;
  min-height: 84px;
}

.zen-mini-contact__submit {
  justify-self: start;
}

.zen-map-embed {
  min-height: clamp(420px, 52vw, 620px);
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.24);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.34);
}

.zen-map-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  border: 0;
  filter: invert(0.9) hue-rotate(180deg) brightness(0.95) contrast(0.9);
}

.zen-loyalty-section {
  position: relative;
  overflow: hidden;
  scroll-margin-top: 180px;
  padding: clamp(86px, 9vw, 140px) 0;
  border-top: 1px solid rgba(226, 199, 130, 0.16);
  background:
    radial-gradient(circle at 16% 12%, rgba(226, 199, 130, 0.13), transparent 28rem),
    radial-gradient(circle at 88% 78%, rgba(226, 199, 130, 0.09), transparent 32rem),
    linear-gradient(180deg, #050403 0%, #0b0907 100%);
}

.zen-loyalty-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(226, 199, 130, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(226, 199, 130, 0.02) 1px, transparent 1px);
  background-size: 120px 120px;
  opacity: 0.7;
  pointer-events: none;
}

.zen-loyalty-section__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(380px, 0.94fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: start;
}

.zen-loyalty-copy,
.zen-loyalty-panel {
  min-width: 0;
}

.zen-loyalty-copy h2 {
  margin: 12px 0 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.55rem, 4.35vw, 4.85rem);
  font-weight: 500;
  line-height: 1.02;
  max-width: 620px;
}

.zen-loyalty-copy > p {
  max-width: 590px;
  margin: 22px 0 0;
  color: var(--zen-muted);
  line-height: 1.8;
}

.zen-loyalty-benefits {
  display: grid;
  gap: 12px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}

.zen-loyalty-benefits li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 58px;
  padding: 12px 14px;
  border: 1px solid rgba(226, 199, 130, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
  color: rgba(246, 239, 229, 0.86);
}

.zen-loyalty-benefits span {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(226, 199, 130, 0.42);
  border-radius: 50%;
  color: var(--zen-gold-soft);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.zen-loyalty-panel {
  display: grid;
  width: 100%;
  max-width: 640px;
  justify-self: end;
  gap: 20px;
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid rgba(226, 199, 130, 0.18);
  border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(21, 17, 13, 0.78), rgba(5, 4, 3, 0.92));
  box-shadow: 0 34px 120px rgba(0, 0, 0, 0.32);
}

.zen-vip-card {
  display: block;
  width: 100%;
  aspect-ratio: 1.6 / 1;
  border: 0;
  background: transparent;
  padding: 0;
  perspective: 1200px;
  cursor: pointer;
}

.zen-vip-card__inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 760ms cubic-bezier(0.2, 0.74, 0.25, 1);
}

.zen-vip-card:hover .zen-vip-card__inner,
.zen-vip-card.is-flipped .zen-vip-card__inner {
  transform: rotateY(180deg);
}

.vip-card:focus-visible,
.zen-vip-card:focus-visible {
  outline: 0;
}

.zen-vip-card__face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.62);
  border-radius: clamp(18px, 2.2vw, 30px);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  box-shadow: 0 24px 72px rgba(0, 0, 0, 0.36);
}

.zen-vip-card__front img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.zen-vip-card__back {
  display: block;
  padding: 0;
  background: #050403;
  transform: rotateY(180deg);
}

.zen-vip-card__back img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.zen-loyalty-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.zen-loyalty-form label:not(.zen-loyalty-form__consent) {
  display: grid;
  gap: 8px;
}

.zen-loyalty-form label > span:first-child {
  color: rgba(234, 216, 184, 0.78);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zen-loyalty-form input[type="email"],
.zen-loyalty-form input[type="text"] {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(226, 199, 130, 0.2);
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.22);
  color: var(--zen-text);
  padding: 0 16px;
  outline: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.zen-loyalty-form input:focus {
  border-color: rgba(226, 199, 130, 0.72);
  box-shadow: 0 0 0 4px rgba(226, 199, 130, 0.08);
  background: rgba(0, 0, 0, 0.34);
}

.zen-loyalty-form__consent,
.zen-loyalty-form button,
.zen-loyalty-form .zen-form-status {
  grid-column: 1 / -1;
}

.zen-loyalty-form__consent {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
  color: rgba(246, 239, 229, 0.66);
  font-size: 0.82rem;
  line-height: 1.55;
}

.zen-loyalty-form__consent span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.zen-loyalty-form__consent input {
  margin-top: 4px;
  accent-color: var(--zen-gold-soft);
}

.zen-loyalty-form__consent--critical {
  padding: 12px 14px;
  border: 1px solid rgba(255, 91, 82, 0.58);
  border-radius: 8px;
  background: rgba(106, 19, 14, 0.34);
  color: #fff4ec;
}

.zen-loyalty-form__consent--critical span {
  color: #fff4ec !important;
  font-weight: 900;
}

.zen-loyalty-form button {
  min-height: 56px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #b88a2e, #e2c782);
  color: #050403;
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}

.zen-loyalty-form button:hover,
.zen-loyalty-form button:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 20px 52px rgba(200, 164, 93, 0.22);
}

.service-detail-page main {
  background:
    radial-gradient(circle at 78% 8%, rgba(226, 199, 130, 0.1), transparent 30rem),
    linear-gradient(180deg, #050403 0%, #080706 100%);
}

.service-hero,
.service-intro,
.service-visual-grid,
.service-info-section,
.service-cta {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 8vw, 128px) 0;
  border-top: 1px solid rgba(226, 199, 130, 0.12);
}

.service-hero {
  padding-top: clamp(62px, 7vw, 104px);
}

.service-hero::before,
.service-visual-grid::before,
.service-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(226, 199, 130, 0.03) 1px, transparent 1px),
    radial-gradient(circle at 14% 20%, rgba(226, 199, 130, 0.12), transparent 26rem);
  background-size: 120px 120px, auto;
  pointer-events: none;
}

.service-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(420px, 1fr);
  gap: clamp(34px, 6vw, 96px);
  align-items: center;
}

.service-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 26px;
  color: rgba(246, 239, 229, 0.58);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.service-breadcrumb a:hover,
.service-breadcrumb a:focus-visible {
  color: var(--zen-gold-soft);
}

.service-hero h1,
.service-copy h2,
.service-cta h2 {
  margin: 12px 0 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.75rem, 5.6vw, 6.4rem);
  font-weight: 500;
  line-height: 0.98;
}

.service-hero__content > p:not(.zen-kicker),
.service-copy p,
.service-cta p {
  max-width: 680px;
  margin: 22px 0 0;
  color: var(--zen-muted);
  font-size: clamp(1rem, 1.05vw, 1.08rem);
  line-height: 1.82;
}

.service-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 34px;
}

.service-hero__image {
  position: relative;
  min-height: clamp(430px, 46vw, 660px);
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(226, 199, 130, 0.24);
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.04);
  box-shadow: 0 34px 120px rgba(0, 0, 0, 0.36);
}

.service-hero__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 4, 3, 0.18), transparent 50%);
  pointer-events: none;
}

.service-hero__image img,
.service-visual-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-intro {
  background: #0b0907;
}

.service-intro__grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1fr);
  gap: clamp(28px, 6vw, 90px);
}

.service-copy p + p {
  margin-top: 18px;
}

.service-visual-grid__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.service-visual-card {
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.2);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(21, 17, 13, 0.9), rgba(5, 4, 3, 0.98));
  box-shadow: 0 24px 84px rgba(0, 0, 0, 0.28);
}

.service-visual-card img {
  aspect-ratio: 1.34 / 1;
  filter: saturate(0.98) contrast(1.03);
}

.service-visual-card div {
  padding: clamp(20px, 2.4vw, 30px);
}

.service-visual-card h2,
.service-info-card h2 {
  margin: 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2vw, 2.15rem);
  font-weight: 500;
  line-height: 1.08;
}

.service-visual-card p {
  margin: 14px 0 0;
  color: var(--zen-muted);
  line-height: 1.7;
}

.service-info-section {
  background:
    radial-gradient(circle at 82% 20%, rgba(226, 199, 130, 0.1), transparent 26rem),
    #080706;
}

.service-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.service-info-card {
  padding: clamp(24px, 3vw, 42px);
  border: 1px solid rgba(226, 199, 130, 0.18);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.035);
}

.service-info-card ul,
.service-info-card ol {
  display: grid;
  gap: 14px;
  margin: 22px 0 0;
  padding-left: 20px;
  color: var(--zen-muted);
  line-height: 1.68;
}

.service-cta {
  text-align: center;
}

.service-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  padding: clamp(30px, 5vw, 70px);
  border: 1px solid rgba(226, 199, 130, 0.2);
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 0%, rgba(226, 199, 130, 0.14), transparent 38%),
    rgba(255, 255, 255, 0.025);
}

.service-cta h2 {
  font-size: clamp(2.5rem, 5vw, 5.2rem);
}

.service-cta .zen-button {
  margin-top: 30px;
}

.zen-testimonials-home {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(86px, 9vw, 142px) 0;
  border-top: 1px solid rgba(226, 199, 130, 0.18);
  border-bottom: 1px solid rgba(226, 199, 130, 0.14);
  background:
    linear-gradient(90deg, rgba(5, 4, 3, 0.96) 0%, rgba(5, 4, 3, 0.78) 50%, rgba(5, 4, 3, 0.96) 100%),
    url("assets/optimized/testimoniu-bg-1400.jpg") center / cover no-repeat,
    #050403;
}

.zen-testimonials-home::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 18% 20%, rgba(226, 199, 130, 0.18), transparent 28%),
    radial-gradient(circle at 84% 72%, rgba(200, 164, 93, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(5, 4, 3, 0.7), rgba(5, 4, 3, 0.94));
  pointer-events: none;
}

.zen-testimonials-home__inner {
  display: grid;
  gap: clamp(32px, 4vw, 54px);
}

.zen-testimonials-home__head {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.zen-testimonials-home__head h2 {
  margin: 12px 0 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.6rem, 5.5vw, 6rem);
  font-weight: 500;
  line-height: 0.98;
}

.zen-testimonials-home__head p:last-child {
  max-width: 700px;
  margin: 22px auto 0;
  color: rgba(246, 239, 229, 0.74);
  font-size: 1rem;
  line-height: 1.8;
}

.zen-testimonials-home__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.zen-review-card {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
  padding: clamp(22px, 2vw, 30px);
  border: 1px solid rgba(226, 199, 130, 0.28);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(17, 14, 11, 0.86), rgba(5, 4, 3, 0.94)),
    url("assets/optimized/testimoniu-bg-1400.jpg") center / cover no-repeat;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
  transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.zen-review-card::before {
  content: "“";
  position: absolute;
  right: 20px;
  top: 0;
  color: rgba(226, 199, 130, 0.13);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 9rem;
  line-height: 1;
  pointer-events: none;
}

.zen-review-card:hover {
  transform: translateY(-6px);
  border-color: rgba(226, 199, 130, 0.54);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.38);
}

.zen-review-card__stars {
  color: var(--zen-gold-soft);
  font-size: 0.86rem;
  letter-spacing: 0.18em;
}

.zen-review-card blockquote {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.05rem, 1.35vw, 1.35rem);
  line-height: 1.55;
}

.zen-review-card cite {
  color: rgba(226, 199, 130, 0.82);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zen-testimonials-home__cta {
  justify-self: center;
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 28px;
  border: 1px solid rgba(226, 199, 130, 0.42);
  border-radius: 999px;
  color: var(--zen-gold-soft);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.035);
  transition: transform 220ms ease, background 220ms ease, border-color 220ms ease;
}

.zen-testimonials-home__cta:hover,
.zen-testimonials-home__cta:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(226, 199, 130, 0.76);
  background: rgba(226, 199, 130, 0.1);
}

.zen-clean-panel {
  border-top: 1px solid rgba(200, 164, 93, 0.16);
  background: #080706;
  padding: clamp(72px, 8vw, 112px) 0;
}

.zen-clean-panel__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.5fr);
  gap: 42px;
  align-items: center;
}

.zen-clean-panel h2 {
  max-width: 760px;
  margin: 0;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.4rem, 4vw, 4.4rem);
  font-weight: 500;
  line-height: 1;
}

.zen-clean-panel p {
  max-width: 620px;
  margin: 20px 0 0;
  color: var(--zen-muted);
}

.zen-clean-contact {
  display: grid;
  gap: 12px;
  padding: 24px;
  border: 1px solid var(--zen-border);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.025);
}

.zen-clean-contact a {
  color: var(--zen-gold-soft);
}

.zen-clean-page .back-to-top {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 80;
  width: 48px;
  height: 48px;
  border: 1px solid var(--zen-border);
  border-radius: 50%;
  background: rgba(5, 4, 3, 0.76);
  color: var(--zen-gold-soft);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 200ms ease, transform 200ms ease;
}

.zen-clean-page .back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.zen-footer {
  border-top: 1px solid rgba(226, 199, 130, 0.18);
  background:
    radial-gradient(circle at 16% 14%, rgba(226, 199, 130, 0.12), transparent 28%),
    linear-gradient(180deg, #090705 0%, #050403 100%);
  color: var(--zen-text);
  padding: clamp(58px, 7vw, 92px) 0 28px;
}

.zen-footer__grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(180px, 0.75fr));
  gap: clamp(28px, 4vw, 58px);
}

.zen-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--zen-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.42rem;
}

.zen-footer__brand img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.zen-footer__intro p {
  max-width: 410px;
  margin: 22px 0 0;
  color: var(--zen-muted);
  line-height: 1.75;
}

.zen-footer h3 {
  margin: 0 0 18px;
  color: var(--zen-gold-soft);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.zen-footer__nav,
.zen-footer__contact {
  display: grid;
  align-content: start;
  gap: 12px;
}

.zen-footer__nav a,
.zen-footer__contact a,
.zen-footer__contact span {
  color: rgba(246, 239, 229, 0.74);
  font-size: 0.94rem;
  line-height: 1.45;
}

.zen-footer__nav a,
.zen-footer__contact a {
  transition: color 180ms ease, transform 180ms ease;
}

.zen-footer__nav a:hover,
.zen-footer__nav a:focus-visible,
.zen-footer__contact a:hover,
.zen-footer__contact a:focus-visible {
  color: var(--zen-gold-soft);
  transform: translateX(3px);
}

.zen-footer__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-top: clamp(42px, 6vw, 76px);
  padding-top: 24px;
  border-top: 1px solid rgba(226, 199, 130, 0.14);
}

.zen-footer__legal {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.zen-anpc-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.zen-anpc-link {
  display: inline-flex;
  overflow: hidden;
  line-height: 0;
  filter: saturate(0.94) brightness(0.98);
  transition: filter 180ms ease, transform 180ms ease;
}

.zen-anpc-link:hover,
.zen-anpc-link:focus-visible {
  filter: saturate(1.08) brightness(1.05);
  transform: translateY(-2px);
}

.zen-anpc-link--sal {
  border-radius: 22px;
  clip-path: inset(0 round 22px);
}

.zen-anpc-link--sol {
  border-radius: 11px;
  clip-path: inset(0 round 11px);
}

.zen-anpc-link img {
  display: block;
  height: auto;
  max-width: min(250px, 100%);
}

.zen-footer__bottom p {
  max-width: 760px;
  margin: 0;
  color: rgba(246, 239, 229, 0.56);
  font-size: 0.82rem;
  line-height: 1.7;
}

.zen-footer__bottom span {
  flex: 0 0 auto;
  color: rgba(226, 199, 130, 0.68);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

@media (max-width: 1120px) {
  .zen-header-main {
    grid-template-columns: 1fr auto;
  }

  .zen-header-meta,
  .zen-main-nav,
  .zen-header-actions > .zen-pill--gold {
    display: none;
  }

  .zen-brand {
    justify-content: flex-start;
  }

  .zen-nav-toggle {
    display: block;
  }

  .hero-home::before {
    background:
      linear-gradient(180deg, rgba(5, 4, 3, 0.92) 0%, rgba(5, 4, 3, 0.82) 46%, rgba(5, 4, 3, 0.98) 100%);
  }

  .hero-home__portrait {
    position: relative;
    z-index: 2;
    width: min(640px, 100%);
    min-height: 560px;
    margin: 44px auto 0;
    border: 1px solid rgba(226, 199, 130, 0.24);
    border-radius: 26px;
    box-shadow: 0 34px 120px rgba(0, 0, 0, 0.42);
  }

  .hero-home__portrait::after {
    background:
      radial-gradient(circle at 50% 32%, rgba(226, 199, 130, 0.16), transparent 24rem),
      linear-gradient(180deg, rgba(5, 4, 3, 0.02), rgba(5, 4, 3, 0.14));
  }

  .hero-home__portrait img {
    object-position: center 36%;
    filter: saturate(1.05) contrast(1.02) brightness(1.12);
  }

  .hero-home__inner {
    min-height: auto;
  }

  .hero-home__content {
    width: 100%;
  }

  .hero-home__benefits {
    flex-wrap: wrap;
  }

  .hero-contact-rail {
    display: none;
  }

  .zen-welcome-bridge__grid {
    grid-template-columns: 1fr;
  }

  .zen-about-section {
    grid-template-columns: 1fr;
  }

  .zen-why-light {
    grid-template-columns: 1fr;
  }

  .zen-editorial-break__inner {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .zen-editorial-break p:not(.zen-kicker),
  .zen-editorial-break a {
    grid-column: 2;
  }

  .zen-about-visual {
    min-height: 520px;
    background-size: auto 118%;
    background-position: center center;
  }

  .zen-why-light__visual {
    min-height: 520px;
    background-size: auto 112%;
    background-position: center top;
  }

  .zen-why-light__visual::after {
    background: linear-gradient(180deg, transparent 62%, rgba(255, 250, 242, 0.94));
  }

  .zen-about-visual::after {
    background: linear-gradient(180deg, transparent 62%, rgba(8, 7, 6, 0.9));
  }

  .zen-about-content {
    padding: 72px min(7vw, 72px);
  }

  .zen-why-light__content {
    padding: 72px min(7vw, 72px);
  }

  .zen-why-light__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zen-popular-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zen-process-timeline {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .zen-process-timeline::before {
    top: 0;
    bottom: 0;
    left: 23px;
    width: 1px;
    height: auto;
    background: linear-gradient(180deg, transparent, rgba(226, 199, 130, 0.46), transparent);
  }

  .zen-process-timeline::after {
    top: 0;
    bottom: 0;
    right: auto;
    left: 23px;
    width: 1px;
    height: auto;
    background: linear-gradient(180deg, transparent, rgba(226, 199, 130, 0.82), rgba(255, 241, 184, 0.64), transparent);
    transform: scaleY(0);
    transform-origin: center top;
  }

  .zen-process-section.is-process-visible .zen-process-timeline::after {
    transform: scaleY(1);
  }

  .zen-process-step {
    min-height: auto;
    padding: 22px 22px 22px 82px;
    border-right: 0;
    border: 1px solid rgba(226, 199, 130, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.025);
  }

  .zen-faq-section__grid,
  .zen-booking-section__grid,
  .zen-map-section__grid,
  .zen-loyalty-section__grid,
  .service-hero__grid,
  .service-intro__grid,
  .service-info-grid {
    grid-template-columns: 1fr;
  }

  .zen-section-head--sticky,
  .zen-booking-copy {
    position: relative;
    top: auto;
  }

  .zen-map-embed {
    min-height: 460px;
  }

  .zen-loyalty-panel {
    max-width: 640px;
    justify-self: start;
  }

  .service-visual-grid__inner {
    grid-template-columns: 1fr;
  }

  .zen-testimonials-home__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zen-clean-panel__inner {
    grid-template-columns: 1fr;
  }

  .zen-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  html {
    scroll-padding-top: 102px;
  }

  .zen-shell,
  .zen-header-shell {
    width: min(var(--zen-shell), calc(100% - 28px));
  }

  .zen-top-bar a {
    font-size: 0.58rem;
    letter-spacing: 0.1em;
  }

  .zen-header-main {
    min-height: 68px;
  }

  .zen-brand img {
    width: 38px;
    height: 38px;
  }

  .zen-brand span {
    font-size: 1.05rem;
  }

  .zen-pill--ghost {
    min-height: 40px;
    padding-inline: 14px;
    font-size: 0.64rem;
  }

  .zen-mobile-menu {
    inset: 100px 0 auto;
    height: calc(100svh - 100px);
    min-height: calc(100vh - 100px);
    padding-top: 24px;
  }

  .hero-home {
    min-height: auto;
  }

  .hero-home__inner {
    padding: 58px 0 72px;
  }

  .hero-home h1 {
    font-size: clamp(2.8rem, 13vw, 4rem);
  }

  .hero-home__lead {
    font-size: 1rem;
  }

  .hero-home__actions,
  .hero-home__benefits {
    display: grid;
    width: 100%;
  }

  .zen-button {
    width: 100%;
  }

  .hero-home__portrait {
    min-height: 420px;
    border-radius: 22px;
  }

  .hero-home__portrait::after {
    background:
      radial-gradient(circle at 50% 28%, rgba(226, 199, 130, 0.14), transparent 18rem),
      linear-gradient(180deg, rgba(5, 4, 3, 0), rgba(5, 4, 3, 0.1));
  }

  .hero-home__portrait img {
    object-position: center 34%;
    filter: saturate(1.08) contrast(1.01) brightness(1.18);
  }

  .hero-benefit {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .hero-benefit + .hero-benefit {
    padding-left: 0;
    border-left: 0;
  }

  .zen-about-visual {
    min-height: 380px;
    background-size: auto 112%;
    background-position: center center;
  }

  .zen-why-light__visual {
    min-height: 390px;
    background-size: auto 108%;
    background-position: center top;
  }

  .zen-about-content {
    padding: 58px 18px 66px;
  }

  .zen-why-light__content {
    padding: 58px 18px 66px;
  }

  .zen-about-logo {
    width: 78px;
    height: 78px;
    margin-bottom: 22px;
  }

  .zen-why-light__logo {
    width: 78px;
    height: 78px;
    margin-bottom: 22px;
  }

  .zen-about-content h2 {
    font-size: clamp(2.35rem, 12vw, 3.6rem);
  }

  .zen-why-light h2 {
    font-size: clamp(2.45rem, 12vw, 3.7rem);
  }

  .zen-about-subtitle {
    font-size: clamp(1.25rem, 7vw, 1.75rem);
  }

  .zen-why-light__cards {
    grid-template-columns: 1fr;
  }

  .zen-why-light__cards article {
    min-height: auto;
  }

  .zen-welcome-bridge,
  .zen-editorial-break,
  .zen-popular-section,
  .zen-process-section,
  .zen-faq-section,
  .zen-booking-section,
  .zen-map-section,
  .zen-loyalty-section,
  .service-hero,
  .service-intro,
  .service-visual-grid,
  .service-info-section,
  .service-cta {
    padding: 64px 0;
  }

  .zen-section-head h2,
  .zen-booking-copy h2,
  .zen-map-copy h2 {
    font-size: clamp(2.35rem, 11vw, 3.65rem);
  }

  .zen-popular-grid,
  .zen-location-cards,
  .zen-booking-form,
  .zen-loyalty-form {
    grid-template-columns: 1fr;
  }

  .zen-editorial-break__inner {
    grid-template-columns: 1fr;
    border-radius: 24px;
  }

  .zen-editorial-break__mark,
  .zen-editorial-break p:not(.zen-kicker),
  .zen-editorial-break a {
    grid-column: auto;
  }

  .zen-editorial-break a {
    width: 100%;
    white-space: normal;
    text-align: center;
  }

  .zen-procedure-tile {
    min-height: 390px;
    border-radius: 24px;
  }

  .zen-popular-card {
    min-height: 250px;
    border-radius: 22px;
  }

  .zen-process-step {
    padding: 20px 18px 20px 72px;
  }

  .zen-process-step span {
    left: 16px;
  }

  .zen-faq-item button {
    min-height: 68px;
    padding: 20px 18px;
  }

  .zen-faq-panel {
    padding: 0 18px;
  }

  .zen-faq-item.is-open .zen-faq-panel {
    padding: 0 18px 20px;
  }

  .zen-booking-form {
    gap: 16px;
    padding: 20px;
    border-radius: 24px;
  }

  .zen-map-embed {
    min-height: 360px;
    border-radius: 24px;
  }

  .zen-loyalty-panel {
    padding: 14px;
    border-radius: 24px;
  }

  .zen-vip-card__back {
    gap: 8px;
    padding: 18px;
  }

  .service-hero h1,
  .service-copy h2,
  .service-cta h2 {
    font-size: clamp(2.35rem, 11vw, 3.8rem);
  }

  .service-hero__actions {
    display: grid;
  }

  .service-hero__image {
    min-height: 360px;
    border-radius: 24px;
  }

  .service-visual-card,
  .service-info-card,
  .service-cta__inner {
    border-radius: 24px;
  }

  .zen-testimonials-home__grid {
    grid-template-columns: 1fr;
  }

  .zen-review-card {
    min-height: 240px;
    border-radius: 22px;
  }

  .zen-testimonials-home__cta {
    width: 100%;
    padding-inline: 18px;
    text-align: center;
  }

  .zen-about-values {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .zen-about-values article {
    padding: 0;
  }

  .zen-about-values article + article {
    padding-top: 24px;
    border-top: 1px solid rgba(226, 199, 130, 0.22);
    border-left: 0;
  }

  .zen-about-cta {
    width: 100%;
    padding-inline: 18px;
  }

  .zen-clean-panel__inner {
    gap: 28px;
  }

  .zen-footer__grid,
  .zen-footer__bottom {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* Homepage v3: complete premium dark-gold system */
/* Variables: legacy procedure pages */
:root {
  --home-bg: #050403;
  --home-surface: #0d0b09;
  --home-surface-soft: #15110d;
  --home-surface-elevated: #1c1712;
  --home-text: #f6efe5;
  --home-muted: #b9aa96;
  --home-gold: #c8a45d;
  --home-gold-soft: #e2c782;
  --home-champagne: #ead8b8;
  --home-border: rgba(200, 164, 93, 0.24);
  --home-border-soft: rgba(255, 255, 255, 0.08);
}

.lux-home {
  --bg: var(--home-bg);
  --surface: var(--home-surface);
  --surface-soft: var(--home-surface-soft);
  --surface-elevated: var(--home-surface-elevated);
  --text: var(--home-text);
  --muted: var(--home-muted);
  --gold: var(--home-gold);
  --gold-soft: var(--home-gold-soft);
  --champagne: var(--home-champagne);
  --border: var(--home-border);
  --border-soft: var(--home-border-soft);
  --ink: var(--home-text);
  --ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-short: 220ms;
  --motion-medium: 520ms;
  --motion-long: 900ms;
  --radius: 8px;
  --shell: 1220px;
  --header-height: 150px;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.lux-home,
.lux-home main,
.lux-home section,
.lux-footer {
  background-color: var(--bg);
}

.lux-shell {
  width: min(var(--shell), calc(100% - 48px));
  margin-inline: auto;
}

.lux-home img {
  display: block;
  max-width: 100%;
}

.lux-home a {
  color: inherit;
  text-decoration: none;
}

.lux-home::after,
.zen-clean-page::after,
.owner-login-page::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9990;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 42%, rgba(226, 199, 130, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(5, 4, 3, 0.96), rgba(13, 11, 9, 0.98));
  opacity: 0;
  transition: opacity 320ms var(--ease-premium, ease);
}

.lux-home.is-page-leaving::after,
.zen-clean-page.is-page-leaving::after,
.owner-login-page.is-page-leaving::after {
  opacity: 1;
}

.lux-home.is-page-leaving main,
.lux-home.is-page-leaving .lux-header,
.lux-home.is-page-leaving .lux-footer,
.zen-clean-page.is-page-leaving main,
.zen-clean-page.is-page-leaving .zen-site-header,
.zen-clean-page.is-page-leaving .zen-footer,
.owner-login-page.is-page-leaving main {
  opacity: 0.18;
  transform: translateY(8px);
  transition:
    opacity 260ms var(--ease-premium, ease),
    transform 260ms var(--ease-premium, ease);
}

.site-intro {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 45%, rgba(226, 199, 130, 0.16), transparent 30%),
    linear-gradient(135deg, #050403, #11100e 54%, #050403);
  color: var(--text);
  transition:
    opacity 560ms var(--ease-premium, ease),
    visibility 560ms var(--ease-premium, ease),
    transform 560ms var(--ease-premium, ease);
}

.lux-home.is-intro-active,
.zen-clean-page.is-intro-active {
  overflow: hidden;
}

.site-intro::before,
.site-intro::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(226, 199, 130, 0.24);
  border-radius: 50%;
  opacity: 0;
  transform: scale(0.76);
  animation: introRings 1600ms var(--ease-premium, ease) forwards;
}

.site-intro::before {
  width: min(68vw, 760px);
  aspect-ratio: 1;
}

.site-intro::after {
  width: min(50vw, 560px);
  aspect-ratio: 1;
  animation-delay: 160ms;
}

.site-intro.is-hiding {
  opacity: 0;
  visibility: hidden;
  transform: scale(1.015);
}

.site-intro__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  justify-items: center;
  text-align: center;
  transform: translateY(18px);
  opacity: 0;
  animation: introContent 960ms var(--ease-premium, ease) 160ms forwards;
}

.site-intro__mark {
  width: clamp(118px, 13vw, 168px);
  height: clamp(118px, 13vw, 168px);
  border: 1px solid rgba(226, 199, 130, 0.72);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(226, 199, 130, 0.18), transparent 62%),
    rgba(255, 255, 255, 0.025);
  box-shadow: 0 0 60px rgba(226, 199, 130, 0.18);
  overflow: hidden;
  padding: 12px;
}

.site-intro__logo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.site-intro__title {
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.25rem, 9.4vw, 7.6rem);
  letter-spacing: 0.04em;
  line-height: 0.95;
}

.site-intro__caption {
  color: rgba(246, 239, 229, 0.76);
  font-size: clamp(0.82rem, 1.3vw, 1.08rem);
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

@keyframes introContent {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes introRings {
  22% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: scale(1.18);
  }
}

.lux-announcement {
  display: grid;
  min-height: 30px;
  place-items: center;
  background: var(--gold);
  color: #120e08;
}

.lux-announcement a {
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.lux-header {
  --lux-mobile-offset: 102px;
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  border-bottom: 1px solid rgba(200, 164, 93, 0.12);
  background: rgba(5, 4, 3, 0.18);
  backdrop-filter: blur(18px);
  transition: background 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
}

.lux-header.is-scrolled,
.lux-header.menu-open {
  border-color: rgba(200, 164, 93, 0.24);
  background: rgba(5, 4, 3, 0.94);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.34);
}

.lux-header__main {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto minmax(230px, 1fr);
  gap: 24px;
  align-items: center;
  min-height: 70px;
}

.lux-header__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  color: rgba(246, 239, 229, 0.74);
  font-size: 0.76rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.lux-header__meta a {
  color: var(--gold-soft);
}

.lux-brand,
.lux-footer__brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.24rem;
  line-height: 1;
}

.lux-brand img,
.lux-footer__brand img {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(226, 199, 130, 0.4);
  border-radius: 50%;
  object-fit: cover;
}

.lux-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.lux-search,
.lux-header__secondary,
.lux-header__cta,
.lux-nav-toggle,
.floating-contact a,
.floating-contact__toggle,
.back-to-top,
.testimonial-controls button {
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.035);
  color: var(--text);
}

.lux-search {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 50%;
}

.lux-search span::before,
.lux-search span::after {
  content: "";
  position: absolute;
  display: block;
}

.lux-search span::before {
  width: 12px;
  height: 12px;
  top: 13px;
  left: 13px;
  border: 1px solid var(--gold-soft);
  border-radius: 50%;
}

.lux-search span::after {
  width: 8px;
  height: 1px;
  top: 27px;
  left: 25px;
  background: var(--gold-soft);
  transform: rotate(45deg);
}

.lux-header__cta {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-color: var(--gold);
  border-radius: 999px;
  color: var(--gold-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: transform 190ms ease, background 190ms ease, color 190ms ease;
}

.lux-header__secondary {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border-color: rgba(226, 199, 130, 0.34);
  border-radius: 999px;
  color: rgba(246, 239, 229, 0.86);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition:
    transform 190ms var(--ease-premium, ease),
    border-color 190ms ease,
    background 190ms ease,
    color 190ms ease;
}

.lux-header__secondary:hover,
.lux-header__secondary:focus-visible {
  border-color: rgba(226, 199, 130, 0.72);
  background: rgba(226, 199, 130, 0.11);
  color: var(--champagne);
  transform: translateY(-1px);
}

.lux-header__cta:hover,
.lux-header__cta:focus-visible {
  background: var(--gold);
  color: #120e08;
  transform: translateY(-1px);
}

.lux-primary-nav {
  border-top: 1px solid rgba(200, 164, 93, 0.12);
  background:
    linear-gradient(90deg, transparent, rgba(226, 199, 130, 0.045), transparent),
    rgba(5, 4, 3, 0.26);
}

.lux-primary-nav__inner {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.lux-primary-nav a,
.mega-toggle {
  border: 0;
  background: transparent;
  color: rgba(246, 239, 229, 0.74);
  cursor: pointer;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 10px 12px;
  border-radius: 999px;
  text-transform: uppercase;
  white-space: nowrap;
  transition:
    color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

.lux-primary-nav a:hover,
.lux-primary-nav a:focus-visible,
.lux-primary-nav a.is-active,
.mega-toggle:hover,
.mega-toggle:focus-visible,
.mega-toggle[aria-expanded="true"] {
  background: rgba(226, 199, 130, 0.08);
  color: var(--gold-soft);
  box-shadow: inset 0 0 0 1px rgba(226, 199, 130, 0.16);
}

.mega-item {
  position: relative;
}

.mega-item::after {
  content: "";
  position: absolute;
  top: 100%;
  left: -16px;
  right: -16px;
  height: 30px;
}

.mega-toggle::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 8px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

.mega-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 120;
  width: min(315px, calc(100vw - 28px));
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 0%, rgba(226, 199, 130, 0.12), transparent 38%),
    rgba(13, 11, 9, 0.98);
  backdrop-filter: blur(18px);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(0.98);
  transition:
    opacity 220ms var(--ease-premium, ease),
    transform 220ms var(--ease-premium, ease);
}

.mega-panel--compact {
  display: grid;
  gap: 2px;
}

.mega-item:nth-last-child(-n + 3) .mega-panel {
  right: 0;
  left: auto;
}

.mega-item:hover .mega-panel,
.mega-item.is-open .mega-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.mega-panel h2 {
  margin: 0 0 12px;
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  font-weight: 500;
}

.mega-panel a {
  display: block;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: rgba(246, 239, 229, 0.76);
  font-size: 0.9rem;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
  white-space: normal;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.mega-panel a strong {
  display: block;
  color: var(--text);
  font-size: 0.88rem;
  font-weight: 700;
}

.mega-panel a small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.76rem;
}

.mega-panel a:hover,
.mega-panel a:focus-visible {
  border-color: rgba(226, 199, 130, 0.22);
  background: rgba(226, 199, 130, 0.075);
  color: var(--gold-soft);
  transform: translateX(2px);
}

.mega-panel a:hover strong,
.mega-panel a:focus-visible strong {
  color: var(--gold-soft);
}

.zen-mega-menu {
  width: min(820px, calc(100vw - 40px));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
  border-radius: 22px;
}

.zen-mega-menu--wide {
  width: min(1040px, calc(100vw - 40px));
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zen-mega-menu--compact {
  width: min(345px, calc(100vw - 32px));
  grid-template-columns: 1fr;
}

.general-surgery-menu {
  width: min(760px, calc(100vw - 36px));
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.general-surgery-menu .zen-mega-group {
  display: grid;
  align-content: start;
  gap: 2px;
}

.desktop-nav .mega-item {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.desktop-nav .mega-toggle {
  padding: 8px 0;
  border-radius: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: none;
}

.desktop-nav .mega-toggle:hover,
.desktop-nav .mega-toggle:focus-visible,
.desktop-nav .mega-toggle[aria-expanded="true"] {
  background: transparent;
  box-shadow: none;
}

.desktop-nav .mega-panel {
  top: calc(100% + 14px);
}

.procedure-page .desktop-nav .mega-toggle {
  color: rgba(255, 250, 240, 0.72);
}

.zen-mega-group {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(226, 199, 130, 0.11);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.025);
}

.zen-mega-group h2 {
  margin-bottom: 8px;
  font-size: 0.78rem;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.zen-mega-group a {
  padding: 9px 10px;
  font-size: 0.82rem;
}

.lux-nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
}

.lux-nav-toggle span:not(.sr-only) {
  display: block;
  width: 18px;
  height: 1px;
  margin: 5px auto;
  background: var(--text);
}

.lux-mobile[hidden] {
  display: none;
}

.lux-mobile {
  position: fixed;
  inset: var(--lux-mobile-offset) 0 0;
  z-index: 115;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 24px 24px max(34px, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 18% 0%, rgba(226, 199, 130, 0.12), transparent 32%),
    #050403;
  box-shadow: inset 0 1px 0 rgba(226, 199, 130, 0.14), 0 30px 80px rgba(0, 0, 0, 0.46);
}

.lux-mobile__panel {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(560px, 100%);
  margin: 0 auto;
  gap: 4px;
}

.lux-mobile__panel a {
  padding: 14px 0;
  border-bottom: 1px solid rgba(200, 164, 93, 0.16);
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.7rem;
  line-height: 1.08;
}

.lux-mobile__cta {
  display: inline-flex;
  justify-content: center;
  margin-top: 16px;
  border: 1px solid var(--gold) !important;
  border-radius: 999px;
  color: var(--gold-soft) !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lux-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 186px 0 118px;
  background: var(--bg);
}

.lux-hero__media,
.lux-hero__media img,
.lux-hero__overlay {
  position: absolute;
  inset: 0;
}

.lux-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.72) brightness(0.5);
}

.lux-hero__overlay {
  background:
    linear-gradient(90deg, rgba(5, 4, 3, 0.94), rgba(5, 4, 3, 0.72) 46%, rgba(5, 4, 3, 0.4)),
    linear-gradient(180deg, rgba(5, 4, 3, 0.44), rgba(5, 4, 3, 0.12) 42%, rgba(5, 4, 3, 0.95));
}

.lux-hero__content {
  position: relative;
  z-index: 2;
  max-width: 790px;
}

.lux-eyebrow,
.lux-kicker {
  margin: 0 0 16px;
  color: var(--gold-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.lux-hero h1,
.lux-home h2 {
  margin: 0;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: 0;
}

.lux-hero h1 {
  max-width: 780px;
  font-size: 5.4rem;
  line-height: 0.96;
}

.lux-hero__lead {
  max-width: 610px;
  margin: 24px 0 0;
  color: rgba(246, 239, 229, 0.83);
  font-size: 1.16rem;
  line-height: 1.72;
}

.lux-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.lux-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: transform 190ms ease, border-color 190ms ease, background 190ms ease, color 190ms ease;
}

.lux-button:hover,
.lux-button:focus-visible {
  transform: translateY(-2px);
}

.lux-button--gold {
  border: 1px solid var(--gold);
  background: linear-gradient(180deg, var(--gold-soft), var(--gold));
  color: #130f09;
}

.lux-button--ghost {
  border: 1px solid rgba(226, 199, 130, 0.5);
  background: rgba(5, 4, 3, 0.34);
  color: var(--text);
}

.lux-hero__quick {
  position: absolute;
  right: 0;
  bottom: 28px;
  left: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 1px solid rgba(200, 164, 93, 0.22);
  border-radius: var(--radius);
  background: rgba(5, 4, 3, 0.58);
  backdrop-filter: blur(14px);
}

.lux-hero__quick a {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border-right: 1px solid rgba(200, 164, 93, 0.16);
  color: rgba(246, 239, 229, 0.82);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease;
}

.lux-hero__quick a:last-child {
  border-right: 0;
}

.lux-hero__quick a:hover,
.lux-hero__quick a:focus-visible {
  background: rgba(200, 164, 93, 0.12);
  color: var(--gold-soft);
}

.lux-hero__quick--principles {
  max-width: 780px;
  margin-inline: 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-color: rgba(226, 199, 130, 0.2);
  background:
    linear-gradient(90deg, rgba(226, 199, 130, 0.08), transparent 46%),
    rgba(5, 4, 3, 0.68);
}

.lux-hero__quick--principles a::before {
  content: "";
  width: 10px;
  height: 10px;
  margin-right: 10px;
  border: 1px solid var(--gold-soft);
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(226, 199, 130, 0.32);
}

.zen-code-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding: 186px 0 82px;
  border-bottom: 1px solid rgba(200, 164, 93, 0.16);
  background:
    radial-gradient(circle at 78% 48%, rgba(200, 164, 93, 0.18), transparent 26%),
    linear-gradient(90deg, rgba(5, 4, 3, 0.98) 0%, rgba(5, 4, 3, 0.9) 48%, rgba(5, 4, 3, 0.68) 100%),
    var(--bg);
}

.zen-code-hero::before,
.zen-code-hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.zen-code-hero::before {
  inset: 13% -10vw auto auto;
  width: min(46vw, 720px);
  aspect-ratio: 1;
  border: 1px solid rgba(200, 164, 93, 0.15);
  border-radius: 50%;
}

.zen-code-hero::after {
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 4, 3, 0.1), rgba(5, 4, 3, 0.94)),
    linear-gradient(90deg, rgba(200, 164, 93, 0.06) 1px, transparent 1px);
  background-size: auto, 112px 112px;
  opacity: 0.42;
}

.zen-code-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.82fr);
  gap: clamp(42px, 7vw, 104px);
  align-items: center;
}

.zen-code-hero__content {
  max-width: 710px;
}

.zen-code-hero h1 {
  margin: 0;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.6rem, 6vw, 6.8rem);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: 0;
}

.zen-code-hero h1 em,
.zen-code-hero h1 span {
  color: var(--gold);
  font-style: normal;
}

.zen-code-hero__content > p:not(.lux-kicker) {
  max-width: 640px;
  margin: 28px 0 0;
  color: rgba(246, 239, 229, 0.82);
  font-size: 1.08rem;
  line-height: 1.78;
}

.zen-code-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 34px;
}

.zen-code-hero__media {
  position: relative;
  width: 100%;
  min-height: clamp(560px, 70vh, 760px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.28);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: 0 34px 120px rgba(0, 0, 0, 0.42);
}

.zen-code-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 42%, rgba(5, 4, 3, 0.56)),
    linear-gradient(90deg, rgba(5, 4, 3, 0.22), transparent 42%);
  pointer-events: none;
}

.zen-code-hero__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.9) contrast(1.02);
  transition: transform 900ms var(--ease-premium, ease);
}

.zen-code-hero__media:hover img {
  transform: scale(1.025);
}

.zen-hero-benefits {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 32px;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: min(900px, calc(100% - 64px));
  margin-inline: max(4vw, 32px) auto;
  border-top: 1px solid rgba(226, 199, 130, 0.16);
}

.zen-hero-benefits a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 14px;
  align-items: center;
  min-height: 86px;
  padding: 18px 24px;
  border-right: 1px solid rgba(226, 199, 130, 0.16);
  color: var(--text);
}

.zen-hero-benefits a:last-child {
  border-right: 0;
}

.zen-hero-benefits span {
  grid-row: span 2;
  color: var(--gold-soft);
  font-size: 1.65rem;
  line-height: 1;
}

.zen-hero-benefits strong {
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.zen-hero-benefits small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.zen-about-story {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.05fr);
  min-height: 880px;
  overflow: hidden;
  border-top: 1px solid rgba(200, 164, 93, 0.16);
  border-bottom: 1px solid rgba(200, 164, 93, 0.16);
  background: #070604;
}

.zen-about-story__image {
  position: relative;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #e8decc;
}

.zen-about-story__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 64% 36%, transparent 24%, rgba(5, 4, 3, 0.16));
}

.zen-about-story__image img {
  width: 100%;
  height: 100%;
  min-height: 880px;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.58) sepia(0.16) brightness(1.03);
}

.zen-about-story__content {
  position: relative;
  align-self: center;
  max-width: 760px;
  padding: clamp(78px, 9vw, 132px) clamp(32px, 7vw, 96px);
}

.zen-about-story__content::before {
  content: "";
  position: absolute;
  right: -18vw;
  top: 12%;
  width: 42vw;
  aspect-ratio: 1;
  border: 1px solid rgba(200, 164, 93, 0.12);
  border-radius: 50%;
  pointer-events: none;
}

.zen-about-story h2 {
  margin: 0;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.65rem, 4.8vw, 5.3rem);
  font-weight: 500;
  line-height: 1;
}

.zen-about-story p:not(.lux-kicker) {
  margin: 24px 0 0;
  color: rgba(246, 239, 229, 0.82);
  font-size: 1.04rem;
  line-height: 1.78;
}

.zen-about-story__features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 38px 0 34px;
}

.zen-about-story__features article {
  display: grid;
  gap: 8px;
  min-height: 160px;
  padding: 20px;
  border: 1px solid rgba(226, 199, 130, 0.18);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.026);
}

.zen-about-story__features span {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(226, 199, 130, 0.42);
  border-radius: 50%;
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
}

.zen-about-story__features strong {
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  font-weight: 500;
}

.zen-about-story__features small {
  color: var(--muted);
  line-height: 1.5;
}

.zen-code-hero--service {
  min-height: auto;
  padding-bottom: 104px;
}

.lux-trust {
  border-top: 1px solid rgba(200, 164, 93, 0.16);
  border-bottom: 1px solid rgba(200, 164, 93, 0.16);
  background: var(--surface);
}

.lux-trust__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lux-trust__item {
  min-height: 150px;
  padding: 28px;
  border-right: 1px solid rgba(200, 164, 93, 0.14);
}

.lux-trust__item:last-child {
  border-right: 0;
}

.lux-trust__item strong {
  display: block;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.15;
}

.lux-trust__item span {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  line-height: 1.55;
}

.lux-section {
  padding: 118px 0;
}

.lux-home h2 {
  max-width: 900px;
  font-size: 3.85rem;
  line-height: 1.04;
}

.lux-section__head {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.52fr);
  gap: 50px;
  align-items: end;
  margin-bottom: 48px;
}

.lux-section__head--center {
  display: block;
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.lux-section__head--compact {
  grid-template-columns: minmax(0, 0.78fr) minmax(280px, 0.5fr);
}

.lux-section__head p:not(.lux-kicker),
.lux-intro p:not(.lux-kicker),
.lux-location p,
.lux-minimal p,
.lux-surgery p,
.lux-pricing p,
.lux-booking p,
.lux-faq p,
.lux-final-cta p,
.lux-footer p {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.78;
}

.lux-values,
.lux-reasons__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.lux-value,
.lux-location__cards article,
.lux-pricing__cards article,
.lux-reasons__grid article,
.lux-timeline li,
.testimonial-slide,
.booking-form,
.faq-item {
  border: 1px solid rgba(200, 164, 93, 0.17);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.026);
}

.lux-value,
.lux-pricing__cards article,
.lux-reasons__grid article,
.lux-timeline li {
  padding: 28px;
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease;
}

.lux-value:hover,
.lux-pricing__cards article:hover,
.lux-reasons__grid article:hover,
.lux-timeline li:hover {
  border-color: rgba(226, 199, 130, 0.48);
  background: rgba(200, 164, 93, 0.065);
  transform: translateY(-4px);
}

.lux-value span,
.lux-pricing__cards span,
.lux-reasons__grid span,
.lux-timeline span {
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.15rem;
}

.lux-value h3,
.lux-pricing__cards h3,
.lux-reasons__grid h3,
.lux-timeline h3,
.lux-surgery__card h3 {
  margin: 24px 0 10px;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.2;
}

.lux-value p,
.lux-pricing__cards p,
.lux-timeline p {
  margin: 0;
}

.lux-location,
.lux-pricing,
.lux-process,
.lux-faq {
  background: var(--surface);
}

.lux-location__grid,
.lux-minimal__grid,
.lux-pricing__grid,
.lux-booking__grid,
.lux-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.74fr);
  gap: 64px;
  align-items: center;
}

.lux-location__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 32px;
}

.lux-location__cards article {
  padding: 22px;
}

.lux-location__cards strong {
  display: block;
  color: var(--gold-soft);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.lux-location__cards span {
  display: block;
  margin-top: 8px;
  color: var(--text);
}

.lux-map-card {
  position: relative;
  display: grid;
  gap: 8px;
  min-height: 150px;
  margin-top: 18px;
  padding: 24px;
  border: 1px solid rgba(200, 164, 93, 0.22);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(200, 164, 93, 0.16), transparent 42%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    rgba(13, 11, 9, 0.82);
  background-size: auto, 42px 42px, 42px 42px, auto;
  color: var(--text);
  overflow: hidden;
  transition: border-color 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}

.lux-map-card::after {
  content: "";
  position: absolute;
  right: 24px;
  bottom: 20px;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(226, 199, 130, 0.6);
  border-radius: 50% 50% 50% 8px;
  background: rgba(200, 164, 93, 0.13);
  transform: rotate(-45deg);
}

.lux-map-card span,
.lux-map-card em {
  color: var(--gold-soft);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.lux-map-card strong {
  max-width: 360px;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
  font-weight: 500;
}

.lux-map-card:hover,
.lux-map-card:focus-visible {
  border-color: rgba(226, 199, 130, 0.56);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.28);
  transform: translateY(-3px);
}

.owner-login-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(200, 164, 93, 0.18), transparent 32%),
    #050403;
}

.owner-admin {
  min-height: 100vh;
  padding: clamp(48px, 8vw, 96px) 0;
}

.owner-auth {
  min-height: calc(100vh - 120px);
  display: grid;
  place-items: center;
}

.owner-auth__card,
.owner-tools,
.owner-price-editor {
  border: 1px solid rgba(200, 164, 93, 0.18);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(200, 164, 93, 0.12), transparent 34%),
    rgba(13, 11, 9, 0.88);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.32);
}

.owner-auth__card {
  width: min(520px, calc(100% - 32px));
  display: grid;
  gap: 18px;
  justify-items: center;
  padding: clamp(28px, 5vw, 46px);
  text-align: center;
}

.owner-auth__card img {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  object-fit: cover;
}

.owner-auth__card h1,
.owner-panel__head h1,
.owner-price-editor h2 {
  margin: 0;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.05;
}

.owner-auth__card h1 {
  font-size: clamp(2.3rem, 6vw, 4.8rem);
}

.owner-form,
.owner-tools {
  display: grid;
  gap: 14px;
  width: 100%;
}

.owner-form label,
.owner-tools label {
  display: grid;
  gap: 8px;
  text-align: left;
}

.owner-form span,
.owner-tools span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.owner-form input,
.owner-tools select,
.owner-price-row input:not([type="checkbox"]) {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(200, 164, 93, 0.18);
  border-radius: 10px;
  background: rgba(5, 4, 3, 0.58);
  color: var(--text);
  font: inherit;
  padding: 12px 14px;
  outline: 0;
}

.owner-status {
  min-height: 24px;
  margin: 0;
  color: var(--gold-soft);
  line-height: 1.5;
}

.owner-status.is-error {
  color: #f1b3a9;
}

.owner-panel__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 28px;
}

.owner-panel__head p:not(.lux-kicker) {
  max-width: 760px;
  color: var(--muted);
  line-height: 1.7;
}

.owner-panel__grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.owner-tools {
  position: sticky;
  top: 28px;
  padding: 22px;
}

.owner-danger,
.owner-price-row button {
  min-height: 44px;
  border: 1px solid rgba(241, 179, 169, 0.34);
  border-radius: 999px;
  background: rgba(93, 30, 24, 0.16);
  color: #f1b3a9;
  font-weight: 850;
  cursor: pointer;
}

.owner-price-editor {
  overflow: hidden;
  padding: 22px;
}

.owner-price-editor__top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
}

.owner-price-editor__top span {
  color: var(--gold-soft);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.owner-price-rows {
  display: grid;
  gap: 10px;
}

.owner-price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.24fr) minmax(118px, auto) auto;
  gap: 10px;
  align-items: center;
}

.owner-vip-toggle {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(200, 164, 93, 0.24);
  border-radius: 999px;
  background: rgba(200, 164, 93, 0.08);
  color: var(--gold-soft);
  cursor: pointer;
  user-select: none;
  padding: 0 14px;
}

.owner-vip-toggle input {
  width: 16px;
  height: 16px;
  accent-color: var(--gold);
}

.owner-vip-toggle span {
  color: var(--gold-soft);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.owner-price-row button {
  padding: 0 16px;
}

@media (max-width: 860px) {
  .owner-panel__head,
  .owner-panel__grid,
  .owner-price-row {
    grid-template-columns: 1fr;
  }

  .owner-panel__head {
    display: grid;
  }

  .owner-tools {
    position: static;
  }
}

.lux-map-card--compact {
  min-height: 132px;
}

.lux-location__image,
.lux-minimal__image,
.lux-surgery__showcase {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
}

.lux-location__image img,
.lux-minimal__image img {
  width: 100%;
  height: 580px;
  object-fit: cover;
  filter: saturate(0.75) brightness(0.82);
}

.lux-minimal {
  background: linear-gradient(180deg, var(--bg), #080604);
}

.lux-minimal__grid {
  grid-template-columns: minmax(360px, 0.84fr) minmax(0, 1fr);
}

.lux-minimal__content {
  position: relative;
  padding: 42px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(13, 11, 9, 0.82);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.3);
}

.lux-minimal--editorial {
  background:
    radial-gradient(circle at 18% 8%, rgba(226, 199, 130, 0.1), transparent 32%),
    linear-gradient(180deg, #050403, #0a0806 62%, #050403);
}

.lux-minimal--editorial .lux-minimal__grid {
  grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1fr);
  gap: clamp(42px, 7vw, 112px);
  align-items: center;
}

.lux-minimal__visual {
  position: relative;
  min-height: 640px;
}

.lux-minimal__portrait {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.22);
  background: #0c0a08;
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.5);
}

.lux-minimal__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.84) contrast(1.02) brightness(0.88);
  transition:
    transform 1100ms var(--ease-premium, ease),
    filter 900ms var(--ease-premium, ease);
}

.lux-minimal__portrait--main {
  inset: 0 9% 8% 8%;
  border-radius: 2px;
}

.lux-minimal__portrait--float {
  right: 0;
  bottom: 0;
  width: min(46%, 270px);
  aspect-ratio: 0.82;
  border-radius: 2px;
  transform: translateY(26px);
}

.lux-minimal__portrait--float figcaption {
  position: absolute;
  right: 12px;
  bottom: 10px;
  left: 12px;
  padding: 8px 10px;
  background: rgba(234, 216, 184, 0.9);
  color: #15110d;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-align: center;
  text-transform: uppercase;
}

.lux-minimal__visual:hover img {
  filter: saturate(0.96) contrast(1.04) brightness(0.94);
  transform: scale(1.035);
}

.lux-minimal--editorial .lux-minimal__content {
  border-color: rgba(226, 199, 130, 0.23);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0 0, rgba(226, 199, 130, 0.08), transparent 38%),
    rgba(13, 11, 9, 0.72);
}

.lux-minimal--editorial .lux-kicker {
  display: inline-flex;
  padding: 7px 13px;
  background: rgba(234, 216, 184, 0.86);
  color: #15110d;
}

.lux-procedure-list--split a::before {
  width: 12px;
  height: 12px;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(45deg, transparent 0 35%, var(--gold-soft) 35% 65%, transparent 65%),
    linear-gradient(-45deg, transparent 0 35%, var(--gold-soft) 35% 65%, transparent 65%);
  opacity: 0.9;
}

.lux-button--wide {
  min-width: min(100%, 300px);
}

.lux-procedure-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 28px 0 32px;
}

.lux-procedure-list a {
  position: relative;
  padding: 12px 12px 12px 30px;
  border: 1px solid rgba(200, 164, 93, 0.14);
  border-radius: 6px;
  color: rgba(246, 239, 229, 0.82);
  transition: border-color 180ms ease, color 180ms ease, background 180ms ease;
}

.lux-procedure-list a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 13px;
  width: 7px;
  height: 7px;
  border: 1px solid var(--gold-soft);
  border-radius: 50%;
  transform: translateY(-50%);
}

.lux-procedure-list a:hover,
.lux-procedure-list a:focus-visible {
  border-color: rgba(226, 199, 130, 0.48);
  background: rgba(200, 164, 93, 0.08);
  color: var(--gold-soft);
}

.lux-surgery__showcase {
  position: relative;
  min-height: 620px;
  background: var(--surface-soft);
  isolation: isolate;
}

.lux-surgery__showcase > img {
  width: 100%;
  height: 620px;
  object-fit: cover;
  filter: saturate(0.74) brightness(0.62);
  transform: scale(1.01);
  transition: opacity 360ms ease, transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
}

.lux-surgery__showcase::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, transparent, rgba(226, 199, 130, 0.14), transparent);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-120%);
}

.lux-surgery__showcase.is-switching::after {
  animation: surgerySweep 700ms ease;
}

.lux-surgery__showcase.is-switching > img {
  opacity: 0.32;
  filter: saturate(0.55) brightness(0.48);
  transform: scale(1.055);
}

.lux-surgery__card {
  position: absolute;
  z-index: 2;
  left: 34px;
  bottom: 34px;
  width: min(460px, calc(100% - 68px));
  padding: 30px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(5, 4, 3, 0.82);
  backdrop-filter: blur(16px);
  transition: opacity 260ms ease, transform 320ms ease, border-color 260ms ease;
}

.lux-surgery__showcase.is-switching .lux-surgery__card {
  opacity: 0.64;
  transform: translateY(8px) scale(0.985);
}

.lux-surgery__card h3 {
  margin-top: 0;
  font-size: 2rem;
}

.lux-surgery-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.lux-surgery-tabs button {
  min-height: 58px;
  border: 1px solid rgba(200, 164, 93, 0.18);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.026);
  color: rgba(246, 239, 229, 0.76);
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.lux-surgery-tabs button:hover,
.lux-surgery-tabs button:focus-visible,
.lux-surgery-tabs button.is-active {
  border-color: rgba(226, 199, 130, 0.55);
  background: rgba(200, 164, 93, 0.12);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.2);
  color: var(--gold-soft);
  transform: translateY(-2px);
}

.lux-pricing__copy {
  padding: 44px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(28, 23, 18, 0.95), rgba(13, 11, 9, 0.95));
}

.lux-pricing__copy small {
  display: block;
  margin-top: 24px;
  color: rgba(185, 170, 150, 0.78);
  line-height: 1.6;
}

.lux-pricing__cards {
  display: grid;
  gap: 12px;
}

.lux-reasons__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.lux-reasons__grid article {
  min-height: 188px;
}

.lux-reasons__grid h3 {
  margin-top: 42px;
  font-size: 1.16rem;
}

.zen-why-section {
  --zen-why-progress: 0;
  --zen-why-shift: 0%;
  --zen-why-ornament-opacity: 0.34;
  --zen-why-overlay: 1;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(104px, 10vw, 154px) 0;
  background:
    linear-gradient(
      180deg,
      #050403 0%,
      #0b0b0b calc(8% + var(--zen-why-shift)),
      #f7f2ea calc(24% + var(--zen-why-shift)),
      #fffaf2 100%
    );
  color: #171717;
}

.zen-why-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 12% 12%, rgba(201, 162, 77, 0.2), transparent 24%),
    radial-gradient(circle at 92% 0%, rgba(215, 181, 109, 0.16), transparent 28%),
    linear-gradient(90deg, rgba(201, 162, 77, 0.08) 1px, transparent 1px);
  background-size: auto, auto, 92px 92px;
  opacity: var(--zen-why-ornament-opacity);
}

.zen-why-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(5, 4, 3, 0.9) 0%, rgba(5, 4, 3, 0.28) 20%, transparent 42%),
    linear-gradient(0deg, rgba(5, 4, 3, 0.12), transparent 22%);
  opacity: var(--zen-why-overlay);
  pointer-events: none;
}

.zen-why-section__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, 0.58fr) minmax(0, 1fr);
  gap: clamp(38px, 6vw, 82px);
  align-items: center;
}

.zen-why-section__visual {
  position: relative;
  width: 100%;
  min-height: 720px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(184, 138, 46, 0.18);
  border-radius: 44% 44% 28px 28px;
  background: rgba(255, 250, 242, 0.42);
  box-shadow: 0 36px 110px rgba(90, 69, 38, 0.14);
}

.zen-why-section__visual::before {
  content: "";
  position: absolute;
  inset: 6%;
  border: 1px solid rgba(184, 138, 46, 0.18);
  border-radius: 50%;
  z-index: 1;
  pointer-events: none;
}

.zen-why-section__visual img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.8) sepia(0.1) brightness(1.05);
}

.zen-why-section__content {
  min-width: 0;
}

.zen-why-section__head {
  max-width: 900px;
  color: #171717;
}

.zen-why-section__head .lux-kicker {
  color: #b88a2e;
}

.zen-why-section__head h2 {
  margin: 0;
  color: #171717;
  font-size: clamp(2.6rem, 5vw, 5.4rem);
  line-height: 0.98;
}

.zen-why-section__head p {
  max-width: 760px;
  margin: 24px 0 0;
  color: #5f5548;
  font-size: 1.08rem;
  line-height: 1.78;
}

.zen-principles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.zen-why-section .lux-button {
  margin-top: 34px;
}

.zen-principle-card {
  position: relative;
  min-height: 245px;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  border: 1px solid rgba(184, 138, 46, 0.22);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255, 250, 242, 0.94), rgba(244, 234, 220, 0.78)),
    #fffaf2;
  box-shadow: 0 24px 80px rgba(90, 69, 38, 0.12);
  transition:
    transform 320ms var(--ease-premium, ease),
    border-color 320ms ease,
    box-shadow 320ms ease;
}

.zen-principle-card::before {
  content: "";
  position: absolute;
  right: -58px;
  top: -58px;
  width: 148px;
  aspect-ratio: 1;
  border: 1px solid rgba(184, 138, 46, 0.18);
  border-radius: 50%;
}

.zen-principle-card span {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(184, 138, 46, 0.34);
  border-radius: 50%;
  color: #b88a2e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.05rem;
}

.zen-principle-card h3 {
  margin: 34px 0 12px;
  color: #171717;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.5rem;
  font-weight: 500;
}

.zen-principle-card p {
  margin: 0;
  color: #5f5548;
  line-height: 1.68;
}

.zen-principle-card:hover,
.zen-principle-card:focus-within {
  border-color: rgba(184, 138, 46, 0.54);
  box-shadow: 0 34px 98px rgba(90, 69, 38, 0.18);
  transform: translateY(-7px);
}

.zen-why-section__ornament {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(184, 138, 46, 0.2);
  border-radius: 50%;
  pointer-events: none;
}

.zen-why-section__ornament--one {
  left: -8vw;
  top: 18%;
  width: 36vw;
  aspect-ratio: 1;
}

.zen-why-section__ornament--two {
  right: -12vw;
  bottom: 10%;
  width: 42vw;
  aspect-ratio: 1;
}

.lux-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.lux-timeline::before {
  content: "";
  position: absolute;
  top: 50px;
  left: 8%;
  right: 8%;
  height: 1px;
  background: rgba(200, 164, 93, 0.24);
}

.lux-timeline li {
  position: relative;
  min-height: 275px;
  background: rgba(5, 4, 3, 0.3);
}

.lux-timeline span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(226, 199, 130, 0.55);
  border-radius: 50%;
  background: var(--surface);
  font-size: 1rem;
}

.lux-testimonials {
  position: relative;
  background:
    linear-gradient(180deg, rgba(6, 5, 3, 0.82), rgba(10, 8, 6, 0.92)),
    url("assets/optimized/testimoniu-bg-1400.jpg") center / cover,
    var(--bg);
  overflow: hidden;
}

.lux-testimonials::before,
.testimonials-archive::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 20%, rgba(226, 199, 130, 0.16), transparent 26%),
    radial-gradient(circle at 88% 78%, rgba(200, 164, 93, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(5, 4, 3, 0.28), rgba(5, 4, 3, 0.86));
}

.lux-testimonials > .lux-shell,
.testimonials-archive > .lux-shell {
  position: relative;
  z-index: 1;
}

.lux-testimonials__head {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.lux-testimonials__head h2 {
  margin-inline: auto;
}

.testimonial-slider {
  max-width: 850px;
  margin: 0 auto;
}

.testimonial-slide {
  display: none;
  min-height: 300px;
  padding: 44px;
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(5, 4, 3, 0.78), rgba(21, 17, 13, 0.76)),
    url("assets/optimized/testimoniu-bg-1400.jpg") center / cover;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 28px 90px rgba(0, 0, 0, 0.36);
  text-align: center;
}

.testimonial-slide.is-active {
  display: grid;
  align-content: center;
}

.testimonial-slide p {
  max-width: 680px;
  margin: 0 auto;
  color: rgba(246, 239, 229, 0.9);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.75rem;
  line-height: 1.5;
}

.testimonial-slide span {
  margin-top: 28px;
  color: var(--gold-soft);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.testimonial-controls {
  display: flex;
  justify-content: center;
  gap: 12px;
  align-items: center;
  margin-top: 16px;
}

.testimonial-controls button {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: var(--gold-soft);
  cursor: pointer;
}

.testimonial-controls a {
  color: var(--gold-soft);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.testimonials-hero {
  background:
    linear-gradient(180deg, rgba(5, 4, 3, 0.52), rgba(5, 4, 3, 0.92)),
    url("assets/optimized/testimoniu-bg-1400.jpg") center / cover;
}

.testimonials-archive {
  position: relative;
  background:
    linear-gradient(180deg, rgba(5, 4, 3, 0.9), rgba(13, 11, 9, 0.96)),
    url("assets/optimized/testimoniu-bg-1400.jpg") center / cover;
  overflow: hidden;
}

.testimonials-archive__head {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.testimonial-card {
  min-height: 260px;
  padding: 26px;
  border: 1px solid rgba(200, 164, 93, 0.2);
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(5, 4, 3, 0.82), rgba(21, 17, 13, 0.76)),
    url("assets/optimized/testimoniu-bg-1400.jpg") center / cover;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.26);
  transition: border-color 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}

.testimonial-card:hover {
  border-color: rgba(226, 199, 130, 0.56);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.36);
  transform: translateY(-5px);
}

.testimonial-card span {
  display: block;
  margin-bottom: 18px;
  color: var(--gold-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.testimonial-card p {
  margin: 0;
  color: rgba(246, 239, 229, 0.9);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.18rem;
  line-height: 1.55;
}

.testimonials-archive__actions {
  display: flex;
  justify-content: center;
  margin-top: clamp(28px, 5vw, 54px);
}

.lux-booking {
  background: linear-gradient(180deg, var(--bg), var(--surface));
}

.lux-booking__contact {
  display: grid;
  gap: 8px;
  margin-top: 28px;
}

.lux-booking__contact a {
  color: var(--gold-soft);
}

.booking-form {
  display: grid;
  gap: 14px;
  padding: 30px;
}

.booking-form label {
  display: grid;
  gap: 7px;
}

.booking-form label span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.booking-form input,
.booking-form select,
.booking-form textarea {
  width: 100%;
  border: 1px solid rgba(200, 164, 93, 0.18);
  border-radius: 6px;
  background: rgba(5, 4, 3, 0.55);
  color: var(--text);
  outline: 0;
  padding: 13px 14px;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus {
  border-color: var(--gold-soft);
  box-shadow: 0 0 0 3px rgba(200, 164, 93, 0.13);
}

.booking-form__check {
  grid-template-columns: auto 1fr;
  align-items: start;
}

.booking-form__check input {
  width: 16px;
  margin-top: 3px;
}

.booking-form__status {
  min-height: 24px;
  margin: 0;
  color: var(--gold-soft) !important;
}

.lux-faq__grid {
  align-items: start;
}

.faq-list {
  display: grid;
  gap: 10px;
}

.faq-item button {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  border: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  padding: 22px 66px 22px 22px;
  text-align: left;
}

.faq-item button::before,
.faq-item button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: var(--gold-soft);
  transform: translateY(-50%);
  transition: transform 220ms ease, opacity 220ms ease, background 220ms ease;
}

.faq-item button::after {
  content: "";
  transform: translateY(-50%) rotate(90deg);
}

.faq-item.is-open {
  border-color: rgba(226, 199, 130, 0.38);
  background: rgba(200, 164, 93, 0.045);
}

.faq-item.is-open button::after {
  opacity: 0;
  transform: translateY(-50%) rotate(90deg) scaleX(0);
}

.faq-item.is-open button::before {
  background: var(--champagne);
}

.faq-panel {
  padding: 0 22px 22px;
}

.faq-panel p {
  margin: 0;
}

.lux-map-section {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(200, 164, 93, 0.16);
  background:
    radial-gradient(circle at 16% 0%, rgba(226, 199, 130, 0.12), transparent 34%),
    radial-gradient(circle at 82% 100%, rgba(200, 164, 93, 0.08), transparent 34%),
    var(--surface);
}

.lux-map-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(226, 199, 130, 0.08), transparent);
  opacity: 0.55;
}

.lux-map-embed {
  position: relative;
  z-index: 1;
  overflow: hidden;
  min-height: clamp(420px, 56vw, 680px);
  border: 1px solid rgba(226, 199, 130, 0.28);
  border-radius: 28px;
  background: #080604;
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.46);
}

.lux-map-embed::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05), inset 0 -80px 120px rgba(5, 4, 3, 0.18);
}

.lux-map-embed iframe {
  width: 100%;
  height: 100%;
  min-height: inherit;
  border: 0;
  filter: saturate(0.92) contrast(1.04) brightness(0.88);
}

.lux-map-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
}

.lux-final-cta {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  border-top: 1px solid rgba(200, 164, 93, 0.16);
  border-bottom: 1px solid rgba(200, 164, 93, 0.16);
  background: #050403;
}

.lux-final-cta__media {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(5, 4, 3, 0.98), rgba(21, 17, 13, 0.84)),
    url("assets/optimized/mezoterapie2-900.jpg") center / cover;
  opacity: 0.9;
}

.lux-final-cta__inner {
  position: relative;
  z-index: 1;
  max-width: 820px;
  padding: 48px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(5, 4, 3, 0.72);
  backdrop-filter: blur(14px);
}

.lux-final-cta__inner p {
  max-width: 620px;
  margin: 22px 0 30px;
}

.floating-contact {
  position: fixed;
  right: clamp(18px, 2.2vw, 34px);
  bottom: 28px;
  z-index: 80;
  display: grid;
  gap: 10px;
  align-items: end;
  pointer-events: none;
}

.floating-contact__items {
  display: grid;
  order: 1;
  gap: 10px;
  transform-origin: bottom center;
  transition: opacity 260ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1), visibility 320ms ease;
}

.floating-contact__toggle {
  position: relative;
  order: 2;
  overflow: hidden;
}

.floating-contact a,
.floating-contact__toggle,
.back-to-top {
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--gold-soft);
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, color 220ms ease, opacity 220ms ease, filter 220ms ease;
}

.floating-contact__items a {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition-delay: calc(var(--item-index, 0) * 28ms);
}

.floating-contact__items a:nth-child(1) { --item-index: 1; }
.floating-contact__items a:nth-child(2) { --item-index: 2; }
.floating-contact__items a:nth-child(3) { --item-index: 3; }
.floating-contact__items a:nth-child(4) { --item-index: 4; }
.floating-contact__items a:nth-child(5) { --item-index: 5; }

.floating-contact__toggle::before {
  content: "";
  position: absolute;
  inset: -34%;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(226, 199, 130, 0.32), transparent 58%);
  opacity: 0;
  transform: scale(0.4);
  transition: opacity 220ms ease, transform 360ms ease;
}

.floating-contact a:hover,
.floating-contact a:focus-visible,
.floating-contact__toggle:hover,
.floating-contact__toggle:focus-visible {
  border-color: rgba(226, 199, 130, 0.72);
  background: rgba(200, 164, 93, 0.14);
  color: var(--champagne);
  transform: translateY(-3px);
}

.floating-contact__button--phone {
  border-color: rgba(220, 80, 60, 0.5);
  background: rgba(192, 57, 43, 0.18);
  color: #e74c3c;
}

.floating-contact__button--phone:hover,
.floating-contact__button--phone:focus-visible {
  border-color: rgba(220, 80, 60, 0.72);
  background: rgba(192, 57, 43, 0.28);
  color: #f1948a;
}

.floating-contact svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  transition: opacity 220ms ease, transform 260ms ease;
}

.floating-contact .icon-open {
  position: absolute;
  opacity: 0;
  transform: scale(0.55) rotate(-90deg);
}

.floating-contact.is-collapsed .floating-contact__items {
  opacity: 0;
  visibility: hidden;
  filter: blur(4px);
  pointer-events: none;
  transform: translateY(18px) scale(0.88);
}

.floating-contact.is-collapsed .floating-contact__items a {
  opacity: 0;
  transform: translateY(16px) scale(0.72);
}

.floating-contact.is-collapsed .icon-close {
  opacity: 0;
  transform: scale(0.55) rotate(90deg);
}

.floating-contact.is-collapsed .icon-open {
  opacity: 1;
  transform: scale(1) rotate(0);
}

.floating-contact.is-toggling .floating-contact__toggle {
  animation: contactTogglePop 420ms ease;
}

.floating-contact.is-toggling .floating-contact__toggle::before {
  opacity: 1;
  transform: scale(1.2);
}

@keyframes contactTogglePop {
  0% {
    transform: scale(1);
  }

  45% {
    transform: scale(0.9) rotate(-6deg);
  }

  72% {
    transform: scale(1.08) rotate(4deg);
  }

  100% {
    transform: scale(1);
  }
}

.back-to-top {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 80;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.lux-footer {
  padding: 74px 0 28px;
}

.lux-footer__grid {
  display: grid;
  grid-template-columns: 1fr 0.45fr 0.55fr 0.65fr;
  gap: 44px;
}

.lux-footer__brand {
  justify-content: flex-start;
  margin-bottom: 18px;
}

.lux-footer h2 {
  margin: 0 0 16px;
  color: var(--gold-soft);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lux-footer nav,
.lux-footer__grid > div:last-child {
  display: grid;
  align-content: start;
  gap: 9px;
}

.lux-footer a:not(.lux-footer__brand) {
  color: rgba(246, 239, 229, 0.75);
}

.lux-footer a:not(.lux-footer__brand):hover,
.lux-footer a:not(.lux-footer__brand):focus-visible {
  color: var(--gold-soft);
}

.lux-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  margin-top: 54px;
  padding-top: 24px;
  border-top: 1px solid rgba(200, 164, 93, 0.16);
}

.lux-footer__bottom p {
  max-width: 850px;
  margin: 0;
  font-size: 0.88rem;
}

.lux-footer__bottom span {
  color: var(--muted);
  white-space: nowrap;
}

/* ZenWebsites — credit de design în footer (toate paginile) */
.footer-webcredit-bar {
  display: flex;
  justify-content: center;
  padding: 26px 16px 6px;
}

.footer-webcredit {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  opacity: 0.62;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.footer-webcredit:hover,
.footer-webcredit:focus-visible {
  opacity: 1;
  transform: translateY(-2px);
}

.footer-webcredit span {
  color: rgba(226, 199, 130, 0.62);
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.footer-webcredit img {
  height: 46px;
  width: auto;
  display: block;
}

@media (max-width: 560px) {
  .footer-webcredit img {
    height: 38px;
  }
}

/* Disclaimer evidențiat în footer (nuanță aurie deschisă) */
.footer-disclaimer {
  max-width: min(1000px, calc(100% - 32px));
  margin: 28px auto 4px;
  padding: 15px 24px;
  border: 1px solid rgba(226, 199, 130, 0.36);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(226, 199, 130, 0.12), rgba(226, 199, 130, 0.05));
  color: #ead8b8;
  font-size: 0.82rem;
  line-height: 1.66;
  text-align: center;
}

.footer-disclaimer strong {
  color: #f3e2b0;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.lux-home .reveal,
.lux-home .reveal-up,
.lux-home .reveal-scale,
.lux-home .stagger-item,
.lux-home .lux-procedure-list a,
.lux-home .lux-location__cards article,
.lux-home .lux-minimal__portrait,
.lux-home .lux-map-actions a {
  opacity: 0;
  transition:
    opacity var(--motion-medium, 720ms) var(--ease-premium, ease),
    transform var(--motion-medium, 720ms) var(--ease-premium, ease);
}

.lux-home .reveal,
.lux-home .reveal-up,
.lux-home .stagger-item,
.lux-home .lux-procedure-list a,
.lux-home .lux-location__cards article,
.lux-home .lux-minimal__portrait,
.lux-home .lux-map-actions a {
  transform: translateY(28px);
}

.lux-home .reveal-scale {
  transform: scale(0.985);
}

.lux-home .is-visible {
  opacity: 1;
  transform: none;
}

.lux-home .stagger-item:nth-child(2) {
  transition-delay: 90ms;
}

.lux-home .stagger-item:nth-child(3) {
  transition-delay: 160ms;
}

.lux-home .stagger-item:nth-child(4) {
  transition-delay: 230ms;
}

.lux-home .stagger-item:nth-child(5) {
  transition-delay: 300ms;
}

.lux-home .stagger-item:nth-child(6) {
  transition-delay: 370ms;
}

@keyframes surgerySweep {
  0% {
    opacity: 0;
    transform: translateX(-120%);
  }

  28% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(120%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lux-home *,
  .lux-home *::before,
  .lux-home *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }

  .lux-home .reveal,
  .lux-home .reveal-up,
  .lux-home .reveal-scale,
  .lux-home .stagger-item,
  .lux-home .lux-procedure-list a,
  .lux-home .lux-location__cards article,
  .lux-home .lux-minimal__portrait,
  .lux-home .lux-map-actions a {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1240px) {
  .lux-primary-nav__inner {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    row-gap: 6px;
    scrollbar-width: none;
  }

  .lux-primary-nav__inner::-webkit-scrollbar {
    display: none;
  }

  .lux-reasons__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zen-mega-menu,
  .zen-mega-menu--wide {
    width: min(760px, calc(100vw - 32px));
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .general-surgery-menu {
    width: min(760px, calc(100vw - 32px));
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zen-code-hero__inner {
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.82fr);
  }

  .zen-about-story__features,
  .zen-principles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1020px) {
  .lux-shell {
    width: min(var(--shell), calc(100% - 36px));
  }

  .lux-header {
    --lux-mobile-offset: 102px;
  }

  .lux-header.menu-open {
    inset: 0;
    display: flex;
    min-height: 100svh;
    flex-direction: column;
    overflow-y: auto;
    background: #050403;
  }

  .lux-header__main {
    grid-template-columns: 1fr auto;
    min-height: 72px;
  }

  .lux-header__meta,
  .lux-primary-nav,
  .lux-search,
  .lux-header__cta {
    display: none;
  }

  .lux-brand {
    justify-content: flex-start;
  }

  .lux-nav-toggle {
    display: block;
  }

  .lux-header.menu-open .lux-mobile {
    position: static;
    flex: 1;
    overflow: visible;
    padding: clamp(26px, 5vw, 44px) 24px max(44px, env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 14% 0%, rgba(226, 199, 130, 0.14), transparent 32%),
      linear-gradient(180deg, rgba(5, 4, 3, 0.98), #050403);
    box-shadow: inset 0 1px 0 rgba(226, 199, 130, 0.16);
  }

  .lux-header.menu-open .lux-mobile__panel {
    width: min(460px, 100%);
    gap: 0;
  }

  .lux-header.menu-open .lux-mobile__panel a {
    display: flex;
    min-height: 58px;
    align-items: center;
    padding: 14px 0;
    font-size: clamp(1.45rem, 5.3vw, 2.05rem);
    line-height: 1.08;
  }

  .lux-hero {
    padding-top: 134px;
  }

  .lux-hero h1 {
    font-size: 4.15rem;
  }

  .lux-hero__quick,
  .lux-trust__grid,
  .lux-values,
  .lux-reasons__grid,
  .zen-principles-grid,
  .lux-timeline,
  .lux-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zen-code-hero {
    min-height: auto;
    padding: 138px 0 72px;
  }

  .zen-code-hero__inner,
  .zen-about-story,
  .zen-why-section__inner {
    grid-template-columns: 1fr;
  }

  .zen-code-hero__media {
    min-height: 560px;
    max-width: 620px;
    margin-inline: auto;
  }

  .zen-hero-benefits {
    position: relative;
    bottom: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: min(var(--shell), calc(100% - 36px));
    margin: 40px auto 0;
  }

  .zen-about-story__image img {
    min-height: 620px;
  }

  .zen-about-story__content {
    max-width: none;
  }

  .zen-why-section__visual {
    min-height: 560px;
    max-width: 560px;
    margin-inline: auto;
  }

  .lux-location__grid,
  .inner-hero__split,
  .inner-editorial--media,
  .lux-minimal__grid,
  .lux-minimal--editorial .lux-minimal__grid,
  .lux-pricing__grid,
  .lux-booking__grid,
  .lux-faq__grid,
  .lux-section__head,
  .lux-section__head--compact {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .inner-hero__media {
    min-height: 430px;
    max-width: 640px;
  }

  .lux-minimal__visual {
    width: min(100%, 660px);
    min-height: 590px;
    margin-inline: auto;
  }

  .lux-surgery-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lux-timeline::before {
    display: none;
  }
}

@media (max-width: 680px) {
  .lux-shell {
    width: min(var(--shell), calc(100% - 28px));
  }

  .lux-header {
    --lux-mobile-offset: 100px;
  }

  .lux-announcement {
    min-height: 28px;
  }

  .lux-announcement a {
    font-size: 0.62rem;
  }

  .lux-brand span {
    font-size: 1.05rem;
  }

  .lux-brand img {
    width: 38px;
    height: 38px;
  }

  .lux-mobile__panel a {
    padding: 13px 0;
    font-size: 1.34rem;
  }

  .general-surgery-menu {
    width: min(360px, calc(100vw - 28px));
    grid-template-columns: 1fr;
  }

  .lux-hero {
    min-height: 92svh;
    padding: 118px 0 148px;
  }

  .zen-service-hero {
    padding: 138px 0 82px;
  }

  .zen-code-hero {
    padding: 118px 0 62px;
  }

  .zen-code-hero h1 {
    font-size: clamp(2.75rem, 14vw, 4.35rem);
  }

  .zen-code-hero__content > p:not(.lux-kicker) {
    font-size: 1rem;
  }

  .zen-code-hero__actions,
  .zen-hero-benefits,
  .zen-about-story__features {
    grid-template-columns: 1fr;
  }

  .zen-code-hero__actions {
    display: grid;
  }

  .zen-code-hero__media {
    min-height: 420px;
    border-radius: 22px;
  }

  .zen-hero-benefits {
    gap: 0;
  }

  .zen-hero-benefits a {
    min-height: 72px;
    border-right: 0;
    border-bottom: 1px solid rgba(226, 199, 130, 0.16);
    padding-inline: 8px;
  }

  .zen-about-story {
    min-height: auto;
  }

  .zen-about-story__image img {
    min-height: 480px;
  }

  .zen-about-story h2,
  .zen-why-section__head h2 {
    font-size: clamp(2.35rem, 13vw, 3.35rem);
  }

  .zen-about-story__content {
    padding: 68px 22px;
  }

  .zen-why-section {
    padding: 82px 0;
  }

  .zen-why-section__visual {
    min-height: 400px;
    border-radius: 22px;
  }

  .lux-hero h1 {
    font-size: 2.82rem;
    line-height: 1;
  }

  .lux-hero__lead {
    font-size: 1rem;
  }

  .lux-hero__actions,
  .lux-button,
  .lux-hero__quick,
  .lux-trust__grid,
  .lux-values,
  .lux-location__cards,
  .lux-procedure-list,
  .lux-surgery-tabs,
  .lux-pricing__cards,
  .lux-reasons__grid,
  .zen-principles-grid,
  .lux-timeline,
  .lux-footer__grid {
    grid-template-columns: 1fr;
  }

  .lux-hero__quick {
    right: 14px;
    bottom: 14px;
    left: 14px;
  }

  .lux-hero__quick--principles {
    max-width: none;
  }

  .lux-hero__quick a {
    min-height: 44px;
    border-right: 0;
    border-bottom: 1px solid rgba(200, 164, 93, 0.16);
  }

  .lux-home h2 {
    font-size: 2.35rem;
  }

  .lux-section {
    padding: 82px 0;
  }

  .lux-location__image img,
  .lux-minimal__image img,
  .lux-surgery__showcase > img {
    height: 360px;
  }

  .inner-hero__media {
    min-height: 330px;
    border-radius: 20px;
  }

  .lux-minimal__visual {
    min-height: 470px;
  }

  .lux-minimal__portrait--main {
    inset: 0 0 84px;
  }

  .lux-minimal__portrait--float {
    right: 18px;
    width: min(54%, 220px);
    transform: translateY(0);
  }

  .lux-minimal__portrait--float figcaption {
    font-size: 0.58rem;
    letter-spacing: 0.12em;
  }

  .lux-minimal__content,
  .lux-pricing__copy,
  .booking-form,
  .testimonial-slide,
  .lux-final-cta__inner {
    padding: 24px;
  }

  .lux-surgery__showcase {
    min-height: auto;
  }

  .lux-surgery__card {
    position: relative;
    left: auto;
    bottom: auto;
    width: auto;
    margin: -68px 14px 14px;
  }

  .testimonial-slide p {
    font-size: 1.28rem;
  }

  .floating-contact {
    right: 14px;
    bottom: 18px;
  }

  .floating-contact__items {
    grid-auto-flow: row;
    grid-auto-columns: auto;
  }

  .floating-contact a,
  .floating-contact__toggle,
  .back-to-top {
    width: 44px;
    height: 44px;
  }

  .lux-footer__bottom {
    flex-direction: column;
  }
}

/* Performance tuning: keep below-the-fold sections cheap to render, especially on mobile. */
.zen-popular-section,
.zen-process-section,
.zen-faq-section,
.zen-testimonials-home,
.zen-loyalty-section,
.zen-map-section,
.zen-booking-section,
.lux-testimonials,
.lux-location,
.lux-final-cta {
  content-visibility: auto;
  contain-intrinsic-size: 720px;
}

@media (max-width: 980px), (pointer: coarse) {
  .zen-site-header,
  .zen-mobile-menu,
  .mega-panel,
  .hero-contact-rail,
  .lux-surgery__card,
  .lux-final-cta__inner {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .zen-clean-page .reveal,
  .zen-clean-page .reveal-up,
  .zen-clean-page .reveal-scale,
  .zen-clean-page .stagger-item,
  .lux-home .reveal,
  .lux-home .reveal-up,
  .lux-home .reveal-scale,
  .lux-home .stagger-item {
    transition-duration: 360ms;
  }

  .hero-home__portrait img,
  .zen-popular-card,
  .floating-contact a,
  .floating-contact__toggle,
  .back-to-top {
    transition-duration: 180ms;
  }

  .lux-map-embed iframe {
    filter: none;
  }
}

@media (max-width: 760px) {
  .general-surgery-page .general-surgery-zone-grid {
    grid-template-columns: 1fr;
  }
}

.zen-social-links {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.zen-social-link {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(200, 164, 93, 0.4);
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(200, 164, 93, 0.08));
  color: #e2c782;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 26px rgba(0, 0, 0, 0.18);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.zen-social-link:hover,
.zen-social-link:focus-visible {
  border-color: rgba(255, 231, 165, 0.82);
  background: linear-gradient(135deg, #d9ba70, #9f7425);
  color: #0d0904;
  transform: translateY(-2px);
}

.zen-social-link svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.zen-social-link--facebook svg,
.zen-social-link--tiktok svg {
  fill: currentColor;
  stroke: none;
}

.zen-social-links--form {
  grid-column: 1 / -1;
  justify-content: flex-start;
  padding-top: 4px;
}

.zen-social-links--footer {
  margin-top: 16px;
}

.zen-social-links--form,
.zen-social-links--footer {
  flex-wrap: wrap;
  gap: 10px;
}

.zen-social-links--form .zen-social-link,
.zen-social-links--footer .zen-social-link {
  width: auto;
  min-width: 126px;
  height: 42px;
  gap: 9px;
  padding: 0 15px;
  border-radius: 999px;
  border-color: rgba(226, 199, 130, 0.62);
  background:
    linear-gradient(135deg, rgba(226, 199, 130, 0.16), rgba(5, 4, 3, 0.28)),
    rgba(12, 10, 8, 0.34);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.zen-social-links--form .zen-social-link::after,
.zen-social-links--footer .zen-social-link::after {
  color: currentColor;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.zen-social-links--form .zen-social-link--instagram::after,
.zen-social-links--footer .zen-social-link--instagram::after {
  content: "Instagram";
}

.zen-social-links--form .zen-social-link--facebook::after,
.zen-social-links--footer .zen-social-link--facebook::after {
  content: "Facebook";
}

.zen-social-links--form .zen-social-link--tiktok::after,
.zen-social-links--footer .zen-social-link--tiktok::after {
  content: "TikTok";
}

.footer-grid .zen-social-links--footer,
.lux-footer__grid .zen-social-links--footer,
.zen-footer__contact .zen-social-links--footer {
  display: flex;
}

.zen-legal-links {
  width: min(1180px, calc(100% - 40px));
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  justify-content: center;
  margin: 18px auto 0;
  padding: 16px 0 0;
  border-top: 1px solid rgba(226, 199, 130, 0.16);
}

.zen-legal-links a,
.zen-legal-links button,
.zen-cookie-preferences-button {
  border: 0;
  background: transparent;
  color: rgba(246, 239, 229, 0.72);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}

.zen-legal-links a:hover,
.zen-legal-links button:hover,
.zen-legal-links a:focus-visible,
.zen-legal-links button:focus-visible,
.zen-cookie-preferences-button:hover,
.zen-cookie-preferences-button:focus-visible {
  color: #ffe7a5;
}

.zen-cookie-preferences-button {
  position: fixed;
  left: 16px;
  bottom: calc(78px + env(safe-area-inset-bottom, 0px));
  z-index: 9400;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(226, 199, 130, 0.28);
  border-radius: 999px;
  background: rgba(7, 6, 4, 0.78);
  backdrop-filter: blur(14px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
}

body.has-cookie-consent-open .back-to-top,
body.has-cookie-consent-open .floating-contact {
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
}

.zen-cookie-consent {
  position: fixed;
  inset: auto 18px 18px;
  z-index: 9800;
  display: grid;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px);
  transition: opacity 220ms ease, transform 220ms ease;
}

.zen-cookie-consent.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.zen-cookie-consent__content {
  width: min(760px, calc(100vw - 36px));
  padding: 24px;
  border: 1px solid rgba(226, 199, 130, 0.45);
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 14%, rgba(255, 231, 165, 0.14), transparent 28%),
    linear-gradient(145deg, rgba(15, 12, 8, 0.98), rgba(2, 2, 2, 0.97));
  box-shadow: 0 26px 78px rgba(0, 0, 0, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  color: #f6efe5;
}

.zen-cookie-consent__kicker {
  margin: 0 0 8px;
  color: #e2c782;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zen-cookie-consent h2 {
  margin: 0 0 10px;
  color: #fff8eb;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  font-weight: 500;
  line-height: 1.08;
}

.zen-cookie-consent p {
  margin: 0;
  color: rgba(246, 239, 229, 0.76);
  line-height: 1.55;
}

.zen-cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.zen-cookie-consent__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid rgba(226, 199, 130, 0.3);
  border-radius: 7px;
  cursor: pointer;
  padding: 0 18px;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.zen-cookie-consent__button--gold {
  background: linear-gradient(135deg, #e2c782, #b98b36);
  color: #120e08;
}

.zen-cookie-consent__button--ghost {
  background: rgba(255, 255, 255, 0.04);
  color: #fff3ca;
}

.zen-cookie-consent__settings {
  display: grid;
  gap: 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(226, 199, 130, 0.16);
}

.zen-cookie-consent__settings[hidden] {
  display: none;
}

.zen-cookie-consent__setting {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  border: 1px solid rgba(226, 199, 130, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
}

.zen-cookie-consent__setting strong,
.zen-cookie-consent__setting small {
  display: block;
}

.zen-cookie-consent__setting small {
  margin-top: 4px;
  color: rgba(246, 239, 229, 0.62);
  line-height: 1.45;
}

.zen-cookie-consent__setting em {
  color: #e2c782;
  font-style: normal;
  font-weight: 800;
}

.zen-cookie-consent__setting--toggle {
  cursor: pointer;
}

.zen-cookie-consent__setting--toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.zen-cookie-consent__setting--toggle i {
  position: relative;
  flex: 0 0 auto;
  width: 48px;
  height: 28px;
  border: 1px solid rgba(226, 199, 130, 0.3);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.3);
}

.zen-cookie-consent__setting--toggle i::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(246, 239, 229, 0.82);
  transition: transform 180ms ease, background 180ms ease;
}

.zen-cookie-consent__setting--toggle input:checked + i {
  background: rgba(226, 199, 130, 0.32);
}

.zen-cookie-consent__setting--toggle input:checked + i::after {
  background: #ffe7a5;
  transform: translateX(20px);
}

.zen-cookie-consent__links {
  margin-top: 14px;
  font-size: 0.86rem;
}

.zen-cookie-consent__links a {
  color: #ffe7a5;
}

.zen-legal-page .inner-hero {
  min-height: auto;
}

.zen-legal-page .legal-content {
  display: grid;
  gap: 22px;
}

.zen-legal-page .legal-card {
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(226, 199, 130, 0.2);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  color: rgba(246, 239, 229, 0.78);
}

.zen-legal-page .legal-card h2 {
  margin: 0 0 12px;
  color: #fff8eb;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  line-height: 1.12;
}

.zen-legal-page .legal-card p,
.zen-legal-page .legal-card li {
  line-height: 1.72;
}

.zen-legal-page .legal-card ul,
.zen-legal-page .legal-card ol {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding-left: 20px;
}

.zen-legal-page .legal-card a {
  color: #ffe7a5;
}

.zen-promo-bump {
  position: fixed;
  right: clamp(18px, 3vw, 48px);
  bottom: clamp(18px, 3vw, 46px);
  z-index: 9500;
  width: min(360px, calc(100vw - 36px));
  overflow: hidden;
  border: 1px solid rgba(226, 199, 130, 0.48);
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 16%, rgba(255, 231, 165, 0.18), transparent 28%),
    radial-gradient(circle at 12% 92%, rgba(200, 164, 93, 0.18), transparent 32%),
    linear-gradient(145deg, rgba(12, 10, 8, 0.98), rgba(3, 3, 2, 0.96));
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  color: #f6efe5;
  transform: translateY(0);
  transition: opacity 240ms ease, transform 240ms ease;
}

.zen-promo-bump::before {
  content: "";
  position: absolute;
  inset: -24% -18% auto auto;
  width: 72%;
  aspect-ratio: 1;
  border: 1px solid rgba(226, 199, 130, 0.2);
  border-radius: 50%;
  transform: rotate(-18deg);
  pointer-events: none;
}

.zen-promo-bump.is-hidden {
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
}

.zen-promo-bump__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(226, 199, 130, 0.32);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.32);
  color: #fff3ca;
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
}

.zen-promo-bump__body {
  position: relative;
  display: grid;
  gap: 10px;
  padding: 30px 28px 24px;
}

.zen-promo-bump__badge {
  width: max-content;
  color: #e2c782;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zen-promo-bump__body strong {
  display: flex;
  align-items: end;
  gap: 10px;
  color: #ffe7a5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 4.9rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.9;
  text-shadow: 0 0 24px rgba(226, 199, 130, 0.26);
}

.zen-promo-bump__body strong small {
  margin-bottom: 8px;
  color: rgba(246, 239, 229, 0.9);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
}

.zen-promo-bump__title {
  margin: 0;
  color: rgba(246, 239, 229, 0.94);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.4rem;
  line-height: 1.18;
}

.zen-promo-bump__text {
  display: block;
  max-width: 280px;
  color: rgba(246, 239, 229, 0.68);
  font-size: 0.84rem;
  font-style: normal;
  line-height: 1.5;
}

.zen-promo-bump__cta {
  display: inline-flex;
  width: max-content;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  padding: 0 18px;
  border-radius: 7px;
  background: linear-gradient(135deg, #e2c782, #b98b36);
  color: #120e08;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.zen-promo-bump__dots {
  display: flex;
  gap: 6px;
  padding: 0 28px 22px;
}

.zen-promo-bump__dots button {
  width: 18px;
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  cursor: pointer;
  padding: 0;
}

.zen-promo-bump__dots button.is-active {
  background: #e2c782;
}

@media (max-width: 1160px) {
  .zen-social-links--nav {
    display: none;
  }
}

@media (max-width: 680px) {
  .zen-promo-bump {
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
    border-radius: 18px;
  }

  .zen-promo-bump__body {
    grid-template-columns: auto 1fr;
    gap: 6px 14px;
    padding: 20px 54px 18px 20px;
  }

  .zen-promo-bump__badge,
  .zen-promo-bump__title,
  .zen-promo-bump__text,
  .zen-promo-bump__cta {
    grid-column: 2;
  }

  .zen-promo-bump--social .zen-promo-bump__visual {
    grid-column: 1;
    grid-row: 1 / span 4;
    align-self: center;
  }

  .zen-promo-bump__social-icon {
    width: 58px;
    height: 58px;
    border-radius: 16px;
  }

  .zen-promo-bump__social-icon svg {
    width: 30px;
    height: 30px;
  }

  .zen-promo-bump__body strong {
    grid-row: 1 / span 4;
    align-self: center;
    display: grid;
    gap: 4px;
    font-size: 2.7rem;
  }

  .zen-promo-bump__body strong small {
    margin: 0;
    font-size: 0.72rem;
  }

  .zen-promo-bump__title {
    font-size: 1.05rem;
  }

  .zen-promo-bump__text {
    display: none;
  }

  .zen-promo-bump__cta {
    min-height: 34px;
    padding: 0 12px;
    font-size: 0.64rem;
  }

  .zen-promo-bump__dots {
    padding: 0 20px 16px;
  }
}

.zen-header-meta a[href^="tel:"],
.lux-header__meta a[href^="tel:"] {
  color: #ff5656;
  font-weight: 950;
  text-shadow: 0 0 18px rgba(255, 86, 86, 0.34);
}

.price-fx-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(280px, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin: 22px 0 26px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(200, 164, 93, 0.26);
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 10%, rgba(226, 199, 130, 0.14), transparent 28%),
    linear-gradient(135deg, rgba(21, 17, 13, 0.92), rgba(5, 4, 3, 0.86));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.22);
}

.price-fx-panel h2 {
  margin: 0 0 10px;
  font-size: 2rem;
}

.price-fx-panel p {
  margin: 0;
  color: rgba(246, 239, 229, 0.72);
}

.price-fx-panel p.is-error {
  color: #ffb0a8;
}

.price-fx-panel__rates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.price-fx-panel__rates span {
  display: grid;
  min-height: 92px;
  align-content: center;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(226, 199, 130, 0.2);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
}

.price-fx-panel__rates strong {
  color: var(--champagne);
  font-size: 0.92rem;
  letter-spacing: 0.04em;
}

.price-fx-panel__rates small {
  color: rgba(246, 239, 229, 0.58);
  line-height: 1.35;
}

.price-fx-panel > a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid rgba(226, 199, 130, 0.42);
  border-radius: 999px;
  color: var(--gold-soft);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.zen-promo-bump__body strong {
  font-size: 4.9rem;
}

.zen-promo-bump__visual {
  display: none;
}

.zen-promo-bump--vip {
  width: min(420px, calc(100vw - 36px));
}

.zen-promo-bump--vip .zen-promo-bump__body {
  gap: 14px;
}

.zen-promo-bump--vip .zen-promo-bump__deal {
  font-size: 3.35rem;
}

.zen-promo-bump--vip .zen-promo-bump__visual {
  display: block;
}

.zen-promo-bump__vip-card {
  position: relative;
  display: grid;
  min-height: 142px;
  align-content: center;
  gap: 4px;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(255, 231, 165, 0.5);
  border-radius: 18px;
  background:
    radial-gradient(circle at 76% 32%, rgba(226, 199, 130, 0.36), transparent 23%),
    radial-gradient(circle at 85% 78%, rgba(255, 231, 165, 0.16), transparent 26%),
    linear-gradient(145deg, #17130d, #050403);
  box-shadow: inset 0 0 34px rgba(226, 199, 130, 0.08), 0 20px 44px rgba(0, 0, 0, 0.28);
}

.zen-promo-bump__vip-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.32;
}

.zen-promo-bump__vip-card::before {
  content: "VIP";
  position: absolute;
  top: 16px;
  right: 20px;
  z-index: 1;
  color: #ffe7a5;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.zen-promo-bump__vip-card span,
.zen-promo-bump__vip-card strong,
.zen-promo-bump__vip-card em {
  position: relative;
  z-index: 1;
}

.zen-promo-bump__vip-card span,
.zen-promo-bump__vip-card em {
  color: #e2c782;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.zen-promo-bump__vip-card strong {
  display: block;
  color: #ffe7a5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 3.5rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.zen-promo-bump--offer .zen-promo-bump__deal {
  font-size: 2.9rem;
  letter-spacing: 0;
}

.zen-promo-bump--offer .zen-promo-bump__amount {
  color: #ffe7a5;
}

.zen-promo-bump--social .zen-promo-bump__deal {
  display: none;
}

.zen-promo-bump--social .zen-promo-bump__visual {
  display: block;
}

.zen-promo-bump__social-icon {
  display: inline-flex;
  width: 86px;
  height: 86px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(226, 199, 130, 0.5);
  border-radius: 22px;
  background:
    radial-gradient(circle at 30% 22%, rgba(255, 231, 165, 0.24), transparent 60%),
    linear-gradient(145deg, #17130d, #050403);
  color: #ffe7a5;
  box-shadow: inset 0 0 26px rgba(226, 199, 130, 0.12), 0 18px 40px rgba(0, 0, 0, 0.32);
}

.zen-promo-bump__social-icon svg {
  width: 44px;
  height: 44px;
  fill: currentColor;
  stroke: none;
}

.zen-promo-bump--instagram .zen-promo-bump__social-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.zen-promo-bump__dots {
  display: none;
}

@media (max-width: 1020px) {
  .price-fx-panel {
    grid-template-columns: 1fr;
  }

  .price-fx-panel__rates {
    grid-template-columns: 1fr;
  }

  .price-fx-panel > a {
    width: max-content;
  }
}

@media (max-width: 680px) {
  .zen-promo-bump__body strong {
    font-size: 2.7rem;
  }

  .zen-promo-bump--vip .zen-promo-bump__body {
    grid-template-columns: 1fr;
    padding-right: 54px;
  }

  .zen-promo-bump--vip .zen-promo-bump__badge,
  .zen-promo-bump--vip .zen-promo-bump__title,
  .zen-promo-bump--vip .zen-promo-bump__text,
  .zen-promo-bump--vip .zen-promo-bump__cta,
  .zen-promo-bump--vip .zen-promo-bump__visual {
    grid-column: 1;
  }

  .zen-promo-bump--vip .zen-promo-bump__deal {
    display: none;
  }

  .zen-promo-bump__vip-card {
    min-height: 110px;
  }

  .zen-promo-bump__vip-card strong {
    font-size: 2.6rem;
  }
}

@media (max-width: 520px) {
  html {
    scroll-padding-top: 92px;
  }

  .zen-shell,
  .zen-header-shell,
  .lux-shell,
  .container {
    width: min(var(--shell, var(--container, 1180px)), calc(100% - 22px));
  }

  .zen-top-bar,
  .lux-announcement {
    min-height: 26px;
  }

  .zen-top-bar a,
  .lux-announcement a {
    padding-inline: 8px;
    font-size: 0.56rem;
    letter-spacing: 0.08em;
  }

  .zen-header-main,
  .lux-header__main {
    min-height: 62px;
    gap: 12px;
  }

  .zen-brand img,
  .lux-brand img,
  .brand-logo {
    width: 34px;
    height: 34px;
  }

  .zen-brand span,
  .lux-brand span {
    font-size: 0.98rem;
  }

  .zen-pill--ghost {
    min-height: 36px;
    padding-inline: 10px;
    font-size: 0.58rem;
  }

  .zen-nav-toggle,
  .lux-nav-toggle,
  .nav-toggle {
    width: 40px;
    height: 40px;
  }

  .zen-mobile-menu {
    inset: 88px 0 auto;
    height: calc(100svh - 88px);
    min-height: calc(100vh - 88px);
    padding-top: 16px;
  }

  .lux-header {
    --lux-mobile-offset: 88px;
  }

  .mobile-menu-panel,
  .zen-mobile-menu nav,
  .lux-header.menu-open .lux-mobile__panel {
    width: min(390px, calc(100% - 22px));
  }

  .mobile-menu-panel a,
  .zen-mobile-menu a,
  .lux-mobile__panel a {
    min-height: 48px;
    padding-block: 10px;
    font-size: 1.08rem;
    line-height: 1.14;
  }

  .hero-home__inner {
    padding: 44px 0 58px;
  }

  .hero-home h1,
  .lux-hero h1,
  .zen-code-hero h1,
  .inner-hero h1,
  .procedure-hero h1 {
    font-size: 3rem;
    line-height: 1;
  }

  .hero-home__lead,
  .lux-hero__lead,
  .zen-code-hero__content > p:not(.lux-kicker),
  .inner-hero p:not(.lux-kicker),
  .procedure-hero__lead {
    font-size: 0.96rem;
    line-height: 1.65;
  }

  .hero-home__portrait,
  .zen-code-hero__media,
  .inner-hero__media {
    min-height: 390px;
    border-radius: 20px;
  }

  .lux-hero,
  .procedure-hero,
  .inner-hero,
  .zen-service-hero,
  .zen-code-hero {
    min-height: auto;
    padding-top: 126px;
    padding-bottom: 58px;
  }

  .inner-hero--background {
    min-height: auto;
    padding-bottom: 64px;
  }

  .procedure-hero__content,
  .inner-hero__content,
  .zen-code-hero__content {
    max-width: none;
  }

  .hero-home__actions,
  .procedure-actions,
  .inner-hero__actions,
  .zen-code-hero__actions,
  .zen-booking-form,
  .form-grid,
  .zen-form-grid,
  .lux-form-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .zen-section,
  .zen-popular-section,
  .zen-process-section,
  .zen-faq-section,
  .zen-loyalty-section,
  .zen-booking-section,
  .zen-map-section,
  .lux-section,
  .inner-section,
  .procedure-section {
    padding-block: 64px;
  }

  .zen-section-head h2,
  .lux-home h2,
  .zen-why-light h2,
  .procedure-section h2,
  .inner-section h2 {
    font-size: 2.35rem;
    line-height: 1.04;
  }

  .zen-why-light {
    min-height: auto;
  }

  .zen-why-light__visual {
    min-height: 390px;
    background-size: auto 108%;
  }

  .zen-why-light__content {
    padding: 56px 18px;
  }

  .zen-why-light__cards,
  .zen-popular-grid,
  .zen-testimonials-home__grid,
  .zen-footer__grid,
  .lux-footer__grid,
  .price-branches,
  .procedure-grid,
  .procedure-card-grid {
    grid-template-columns: 1fr;
  }

  .zen-why-light__cards article,
  .procedure-card,
  .zen-popular-card {
    min-height: auto;
  }

  .zen-booking-form,
  .privilege-form,
  .booking-form,
  .inner-form {
    padding: 20px;
    border-radius: 20px;
  }

  .zen-social-links--form,
  .zen-social-links--footer {
    gap: 10px;
  }

  .zen-social-links--form .zen-social-link,
  .zen-social-links--footer .zen-social-link {
    min-width: 116px;
    min-height: 42px;
    padding-inline: 12px;
  }

  .price-card {
    height: 580px;
    padding: 20px;
  }

  .price-fx-panel {
    padding: 20px;
    border-radius: 20px;
  }

  .price-fx-panel > a {
    width: 100%;
  }

  .lux-map-embed,
  .zen-map-embed,
  .contact-map-embed {
    min-height: 320px;
  }

  .zen-promo-bump {
    right: 10px;
    bottom: 10px;
    width: calc(100vw - 20px);
  }

  .zen-promo-bump__body {
    padding: 18px 52px 18px 18px;
  }

  .zen-promo-bump__close {
    width: 38px;
    height: 38px;
  }

  .zen-cookie-consent {
    inset: auto 10px 10px;
  }

  .zen-cookie-consent__content {
    width: calc(100vw - 20px);
    padding: 18px;
    border-radius: 16px;
  }

  .zen-cookie-consent__actions,
  .zen-cookie-consent__button {
    width: 100%;
  }

  .zen-cookie-consent__button {
    justify-content: center;
  }

  .zen-cookie-consent__setting {
    align-items: flex-start;
  }

  .zen-cookie-preferences-button {
    left: 10px;
    top: calc(var(--header-height, 70px) + 10px);
    bottom: auto;
    max-width: calc(100vw - 28px);
  }
}

@media (max-width: 380px) {
  .zen-shell,
  .zen-header-shell,
  .lux-shell,
  .container {
    width: calc(100% - 18px);
  }

  .zen-brand span,
  .lux-brand span {
    font-size: 0.92rem;
  }

  .hero-home h1,
  .lux-hero h1,
  .zen-code-hero h1,
  .inner-hero h1,
  .procedure-hero h1 {
    font-size: 2.62rem;
  }

  .zen-section-head h2,
  .lux-home h2,
  .zen-why-light h2,
  .procedure-section h2,
  .inner-section h2 {
    font-size: 2.12rem;
  }

  .mobile-menu-panel a,
  .zen-mobile-menu a,
  .lux-mobile__panel a {
    min-height: 44px;
    font-size: 1rem;
  }

  .hero-home__portrait,
  .zen-code-hero__media,
  .inner-hero__media,
  .zen-why-light__visual {
    min-height: 340px;
  }

  .hero-home__portrait img {
    object-position: center 32%;
    filter: saturate(1.08) contrast(1) brightness(1.22);
  }

  .zen-button,
  .button-primary,
  .button-secondary,
  .lux-button {
    min-height: 46px;
    padding-inline: 16px;
  }

  .zen-social-links--form .zen-social-link,
  .zen-social-links--footer .zen-social-link {
    flex: 1 1 100%;
  }
}

/* Mobile contact dock */
.floating-contact--quick {
  display: none;
}

@media (max-width: 760px), (pointer: coarse) {
  body {
    -webkit-tap-highlight-color: transparent;
  }

  input,
  select,
  textarea {
    font-size: 16px;
  }

  .zen-mobile-menu,
  .lux-mobile,
  .mobile-menu {
    overscroll-behavior: contain;
  }

  .zen-mobile-menu nav,
  .lux-mobile__panel,
  .mobile-menu-panel {
    padding-bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  }

  .zen-mobile-menu a,
  .lux-mobile__panel a,
  .mobile-menu-panel a {
    border-radius: 8px;
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
  }

  .zen-mobile-menu a:active,
  .lux-mobile__panel a:active,
  .mobile-menu-panel a:active {
    transform: scale(0.985);
  }

  .floating-contact--quick {
    position: fixed;
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: max(12px, calc(env(safe-area-inset-bottom, 0px) + 10px));
    left: max(12px, env(safe-area-inset-left, 0px));
    z-index: 86;
    display: block;
    opacity: 1;
    pointer-events: none;
    transform: translate3d(0, 0, 0);
    transition:
      opacity 220ms ease,
      transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
      visibility 220ms ease;
    will-change: opacity, transform;
    contain: layout style paint;
  }

  .floating-contact--quick.is-footer-hidden,
  .floating-contact--quick.is-menu-hidden {
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, calc(100% + 18px), 0) scale(0.97);
  }

  .floating-contact--quick .floating-contact__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: min(430px, 100%);
    margin-inline: auto;
    padding: 7px;
    border: 1px solid rgba(226, 199, 130, 0.24);
    border-radius: 22px;
    background:
      linear-gradient(135deg, rgba(16, 13, 9, 0.94), rgba(5, 4, 3, 0.9)),
      rgba(5, 4, 3, 0.92);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .floating-contact--quick.is-footer-hidden .floating-contact__items,
  .floating-contact--quick.is-menu-hidden .floating-contact__items {
    pointer-events: none;
  }

  .floating-contact--quick .floating-contact__button {
    display: inline-flex;
    width: auto;
    min-width: 0;
    height: 54px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 13px;
    border-radius: 16px;
    box-shadow: none;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
    touch-action: manipulation;
    transform: translateZ(0);
  }

  .floating-contact--quick .floating-contact__button--phone {
    border-color: rgba(220, 80, 60, 0.6);
    background: linear-gradient(135deg, #c0392b, #922b21);
    color: #fffaf0;
  }

  .floating-contact--quick .floating-contact__button--whatsapp {
    border-color: rgba(63, 209, 127, 0.58);
    background: linear-gradient(135deg, #24c269, #128c4c);
    color: #fffaf0;
  }

  .floating-contact--quick .floating-contact__button:hover,
  .floating-contact--quick .floating-contact__button:focus-visible {
    filter: brightness(1.04);
    transform: translateY(-2px) translateZ(0);
  }

  .floating-contact--quick .floating-contact__button:active {
    transform: translateY(0) scale(0.985);
  }

  .floating-contact--quick svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    stroke-width: 1.85;
  }

  .floating-contact--quick span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 360px) {
  .floating-contact--quick .floating-contact__items {
    gap: 6px;
    padding: 6px;
  }

  .floating-contact--quick .floating-contact__button {
    height: 50px;
    padding-inline: 10px;
    font-size: 0.69rem;
  }

  .floating-contact--quick svg {
    width: 18px;
    height: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .floating-contact--quick,
  .floating-contact--quick .floating-contact__button {
    transition-duration: 0.001ms !important;
  }
}

.price-card__toggle {
  display: none;
}

@media (max-width: 760px), (pointer: coarse) {
  .price-section .lux-shell {
    width: min(var(--shell), calc(100% - 22px));
  }

  .price-branches {
    gap: 14px;
  }

  .price-card {
    height: auto;
    min-height: 0;
    overflow: visible;
    padding: 18px;
    border-radius: 18px;
    transform: none;
  }

  .price-card:hover {
    transform: none;
  }

  .price-card__head {
    gap: 10px;
    margin-bottom: 10px;
  }

  .price-card h2 {
    font-size: 1.64rem;
    line-height: 1.05;
  }

  .price-card__count {
    width: max-content;
    padding: 7px 9px;
    font-size: 0.62rem;
  }

  .price-card > p {
    min-height: 0;
    margin-bottom: 14px;
    font-size: 0.86rem;
    line-height: 1.48;
  }

  .price-list {
    position: relative;
    flex: none;
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
    padding-right: 0;
    scrollbar-width: auto;
  }

  .price-card--collapsible:not(.is-expanded):not(.is-searching) .price-list {
    display: none;
  }

  .price-list li {
    gap: 6px;
    padding: 13px 0 13px 24px;
    font-size: 0.72rem;
    line-height: 1.45;
  }

  .price-list li::before {
    top: 19px;
    width: 9px;
    height: 5px;
  }

  .price-card__toggle {
    display: inline-flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    margin-top: 4px;
    border: 1px solid rgba(226, 199, 130, 0.42);
    border-radius: 14px;
    background: rgba(200, 164, 93, 0.1);
    color: var(--gold-soft);
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
    transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
  }

  .price-card__toggle:hover,
  .price-card__toggle:focus-visible {
    border-color: rgba(226, 199, 130, 0.72);
    background: rgba(200, 164, 93, 0.16);
    transform: translateY(-1px);
  }

  .price-card__toggle:active {
    transform: scale(0.99);
  }

  .price-card.is-searching .price-card__toggle {
    display: none;
  }

  .price-card.is-expanded .price-card__toggle {
    margin-top: 16px;
  }
}

@media (max-width: 760px), (pointer: coarse) {
  html,
  body,
  .lux-home {
    max-width: 100%;
    overflow-x: hidden;
  }

  @supports (overflow: clip) {
    html,
    body,
    .lux-home {
      overflow-x: clip;
    }
  }

  .price-section {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
    overscroll-behavior-x: none;
    touch-action: pan-y;
  }

  .price-section * {
    min-width: 0;
  }

  .price-section .lux-shell,
  .price-search-panel,
  .price-fx-panel,
  .price-fx-panel__rates,
  .price-branches,
  .price-card,
  .price-card__head,
  .price-list,
  .price-list li,
  .price-name-wrap {
    min-width: 0;
    max-width: 100%;
  }

  .price-search-panel {
    overflow: hidden;
  }

  .price-search-panel input {
    min-width: 0;
    max-width: 100%;
  }

  .price-fx-panel {
    overflow: hidden;
  }

  .price-fx-panel > a {
    width: 100%;
    white-space: normal;
    text-align: center;
  }

  .price-quick-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .price-quick-nav a {
    min-width: 0;
    justify-content: center;
    padding: 10px 8px;
    letter-spacing: 0.06em;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .price-card {
    width: 100%;
  }

  .price-list li {
    grid-template-columns: minmax(0, 1fr);
  }

  .price-name-wrap,
  .price-name-wrap > span,
  .price-vip-note,
  .price-list strong,
  .price-card__toggle {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .price-list strong {
    justify-self: start;
    white-space: normal;
  }

  .price-list strong.price-consultation-value {
    flex-wrap: wrap;
  }

  .price-vip-badge {
    max-width: 100%;
    white-space: normal;
  }
}

/* ========================================================================
   PREMIUM POLISH — refined buttons, navigation & micro-interactions
   Additive layer on top of the zen-clean-page design system.
   ======================================================================== */

/* Gold-accented scrollbar */
html {
  scrollbar-width: thin;
  scrollbar-color: rgba(226, 199, 130, 0.5) #0b0907;
}

html::-webkit-scrollbar {
  width: 10px;
}

html::-webkit-scrollbar-track {
  background: #0b0907;
}

html::-webkit-scrollbar-thumb {
  border: 2px solid #0b0907;
  border-radius: 999px;
  background: linear-gradient(180deg, #e2c782, #b88a2e);
}

html::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #f3dca0, #c8a45d);
}

.zen-clean-page ::selection {
  background: rgba(226, 199, 130, 0.32);
  color: #fffaf0;
}

/* Top bar — slow gold shimmer */
.zen-top-bar {
  background-size: 220% 100%;
  animation: zen-bar-shine 10s ease-in-out infinite;
}

@keyframes zen-bar-shine {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Brand mark */
.zen-brand img {
  transition: box-shadow 360ms ease, border-color 360ms ease, transform 360ms var(--ease-premium, ease);
}

.zen-brand:hover img {
  border-color: rgba(226, 199, 130, 0.85);
  box-shadow: 0 0 0 5px rgba(226, 199, 130, 0.1), 0 0 36px rgba(226, 199, 130, 0.4);
  transform: rotate(-4deg) scale(1.05);
}

/* Pills & buttons — shine sweep + lifted depth */
.zen-pill,
.zen-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition:
    transform 320ms var(--ease-premium, ease),
    box-shadow 320ms ease,
    border-color 240ms ease,
    background 240ms ease,
    color 240ms ease;
}

.zen-pill::before,
.zen-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.5) 50%, transparent 65%);
  transform: translateX(-130%);
  transition: transform 750ms ease;
  pointer-events: none;
}

.zen-pill:hover::before,
.zen-pill:focus-visible::before,
.zen-button:hover::before,
.zen-button:focus-visible::before {
  transform: translateX(130%);
}

.zen-pill--gold,
.zen-button--gold {
  box-shadow: 0 12px 34px rgba(200, 164, 93, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.zen-pill--gold:hover,
.zen-pill--gold:focus-visible,
.zen-button--gold:hover,
.zen-button--gold:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 18px 48px rgba(200, 164, 93, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.45);
  filter: brightness(1.04);
}

.zen-pill--ghost:hover,
.zen-pill--ghost:focus-visible,
.zen-button--outline:hover,
.zen-button--outline:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(226, 199, 130, 0.65);
  background: rgba(226, 199, 130, 0.1);
  color: var(--zen-gold-soft, #e2c782);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.3);
}

/* Main navigation — unified hover/active treatment */
.zen-main-nav a:hover,
.zen-main-nav a:focus-visible {
  background: rgba(226, 199, 130, 0.08);
  color: var(--zen-gold-soft);
  box-shadow: inset 0 0 0 1px rgba(226, 199, 130, 0.16);
}

/* Mega menus — deeper shadow, gold-edged on open */
.mega-panel {
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(226, 199, 130, 0.05) inset;
  transition:
    opacity 260ms var(--ease-premium, ease),
    transform 260ms var(--ease-premium, ease),
    border-color 260ms ease;
}

.mega-item:hover .mega-panel,
.mega-item.is-open .mega-panel {
  border-color: rgba(226, 199, 130, 0.4);
}

.zen-mega-group {
  transition: border-color 240ms ease, background 240ms ease;
}

.zen-mega-group:hover {
  border-color: rgba(226, 199, 130, 0.28);
  background: rgba(226, 199, 130, 0.04);
}

/* Procedure tiles — gold glow on hover */
.zen-procedure-tile:hover,
.zen-procedure-tile:focus-within {
  box-shadow:
    0 36px 120px rgba(0, 0, 0, 0.42),
    0 0 70px -18px rgba(226, 199, 130, 0.45),
    0 0 0 1px rgba(226, 199, 130, 0.12);
}

.zen-procedure-tile__number {
  transition:
    background 320ms ease,
    border-color 320ms ease,
    color 320ms ease,
    transform 320ms var(--ease-premium, ease);
}

.zen-procedure-tile:hover .zen-procedure-tile__number,
.zen-procedure-tile:focus-within .zen-procedure-tile__number {
  background: linear-gradient(135deg, #e2c782, #b88a2e);
  border-color: transparent;
  color: #1a140c;
  transform: scale(1.08);
}

.zen-procedure-tile:hover .zen-procedure-tile__button,
.zen-procedure-tile:focus-within .zen-procedure-tile__button {
  background: linear-gradient(135deg, #e2c782, #c8a45d);
  border-color: transparent;
  color: #1a140c;
  box-shadow: 0 10px 28px rgba(200, 164, 93, 0.35);
}

/* FAQ — gold accent on the open item */
.zen-faq-item {
  border-left: 3px solid transparent;
  transition: border-color 320ms ease, box-shadow 320ms ease;
}

.zen-faq-item.is-open {
  border-left-color: var(--zen-gold-soft, #e2c782);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.zen-faq-item button span {
  transition: border-color 280ms ease, background 280ms ease;
}

.zen-faq-item:hover button span {
  border-color: rgba(226, 199, 130, 0.7);
}

.zen-faq-item.is-open button span {
  background: rgba(226, 199, 130, 0.16);
  border-color: var(--zen-gold-soft, #e2c782);
}

/* Welcome notes & review cards — soft gold glow on hover */
.zen-welcome-note,
.zen-review-card {
  transition: border-color 360ms ease, box-shadow 360ms ease;
}

.zen-welcome-note:hover {
  border-color: rgba(226, 199, 130, 0.4);
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.3), 0 0 50px -16px rgba(226, 199, 130, 0.3);
}

.zen-review-card:hover {
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.38), 0 0 60px -16px rgba(226, 199, 130, 0.32);
}

/* Forms — refined focus + shine-sweep submit buttons */
.zen-booking-form input:focus,
.zen-booking-form select:focus,
.zen-booking-form textarea:focus,
.zen-loyalty-form input:focus {
  box-shadow: 0 0 0 4px rgba(226, 199, 130, 0.12), 0 12px 30px rgba(0, 0, 0, 0.25);
}

.zen-booking-form button,
.zen-loyalty-form button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.zen-booking-form button::before,
.zen-loyalty-form button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.55) 50%, transparent 65%);
  transform: translateX(-130%);
  transition: transform 750ms ease;
}

.zen-booking-form button:hover::before,
.zen-booking-form button:focus-visible::before,
.zen-loyalty-form button:hover::before,
.zen-loyalty-form button:focus-visible::before {
  transform: translateX(130%);
}

/* Back to top — lift + glow */
.zen-clean-page .back-to-top {
  transition:
    opacity 200ms ease,
    transform 280ms var(--ease-premium, ease),
    box-shadow 280ms ease,
    border-color 280ms ease,
    background 280ms ease;
}

.zen-clean-page .back-to-top:hover,
.zen-clean-page .back-to-top:focus-visible {
  border-color: rgba(226, 199, 130, 0.7);
  background: rgba(226, 199, 130, 0.12);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.4), 0 0 30px -8px rgba(226, 199, 130, 0.5);
  transform: translateY(-3px);
}

/* =====================================================================
   NEXT-LEVEL MOTION & MEGA-MENU OVERHAUL
   ===================================================================== */

/* --- Atmosphere: film grain -------------------------------------------- */
body.zen-clean-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1000;
  opacity: 0.05;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 240px 240px;
  pointer-events: none;
}

/* --- Reveal system: focus-pull blur ------------------------------------ */
.zen-clean-page .reveal-up,
.zen-clean-page .reveal-scale,
.zen-clean-page .stagger-item {
  filter: blur(6px);
  transition:
    opacity 720ms ease,
    transform 760ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 640ms ease;
}

.zen-clean-page .reveal-up.is-visible,
.zen-clean-page .reveal-scale.is-visible,
.zen-clean-page .stagger-item.is-visible {
  filter: blur(0);
}

/* --- Hero: ambient drift, kicker accent, gold shimmer, Ken Burns -------- */
.hero-home {
  background-repeat: no-repeat, no-repeat;
  background-size: 180% 180%, 100% 100%;
  animation: zen-hero-drift 32s ease-in-out infinite alternate;
}

@keyframes zen-hero-drift {
  from { background-position: 86% 24%, 0 0; }
  to   { background-position: 58% 52%, 0 0; }
}

.zen-kicker {
  position: relative;
  padding-left: 28px;
}

.zen-kicker::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 18px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--zen-gold-soft));
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center;
  animation: zen-kicker-draw 900ms var(--ease-premium, ease) 300ms forwards;
}

@keyframes zen-kicker-draw {
  to { transform: translateY(-50%) scaleX(1); }
}

.hero-home h1 .text-gold {
  background: linear-gradient(110deg, #c8a45d 20%, #f6e3b4 45%, #e2c782 55%, #c8a45d 80%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: zen-text-shimmer 8s ease-in-out infinite;
}

@supports not (background-clip: text) {
  .hero-home h1 .text-gold {
    color: var(--zen-gold-soft);
    -webkit-text-fill-color: initial;
  }
}

@keyframes zen-text-shimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.hero-home__portrait img {
  transform-origin: 60% 40%;
  animation: zen-kenburns 24s ease-in-out infinite alternate;
}

@keyframes zen-kenburns {
  from { transform: scale(1); }
  to   { transform: scale(1.06); }
}

.hero-benefit__icon {
  transition:
    transform 420ms var(--ease-premium, ease),
    background 420ms ease,
    border-color 420ms ease,
    box-shadow 420ms ease;
}

.hero-benefit:hover .hero-benefit__icon {
  transform: scale(1.08) rotate(-6deg);
  background: rgba(226, 199, 130, 0.12);
  border-color: var(--zen-gold-soft);
  box-shadow: 0 10px 28px -6px rgba(200, 164, 93, 0.55);
}

.hero-contact-rail a::before {
  transition:
    border-color 320ms ease,
    background 320ms ease,
    box-shadow 320ms ease,
    transform 320ms var(--ease-premium, ease);
}

.hero-contact-rail a:hover::before,
.hero-contact-rail a:focus-visible::before {
  border-color: var(--zen-gold-soft);
  background: rgba(226, 199, 130, 0.16);
  box-shadow: 0 0 28px rgba(226, 199, 130, 0.45);
  transform: scale(1.08);
}

/* --- Mega menu: caret, panel entrance, edge glow ------------------------ */
.mega-toggle::after {
  transition: transform 320ms var(--ease-premium, ease);
}

.mega-item:hover .mega-toggle::after,
.mega-item.is-open .mega-toggle::after,
.mega-toggle[aria-expanded="true"]::after {
  transform: translateY(2px) rotate(225deg);
}

.mega-panel {
  transform-origin: top center;
  filter: blur(8px);
  transform: translateY(14px) scale(0.94);
  transition:
    opacity 420ms var(--ease-premium, ease),
    transform 420ms var(--ease-premium, ease),
    filter 360ms ease;
}

.mega-item:nth-last-child(-n + 3) .mega-panel {
  transform-origin: top right;
}

.mega-item:hover .mega-panel,
.mega-item.is-open .mega-panel {
  filter: blur(0);
}

.mega-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 14%;
  right: 14%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--zen-gold-soft), transparent);
  opacity: 0;
  transition: opacity 420ms ease;
}

.mega-item:hover .mega-panel::before,
.mega-item.is-open .mega-panel::before {
  opacity: 0.85;
}

/* --- Mega menu: cascading link reveal ----------------------------------- */
.mega-panel a {
  opacity: 0;
  filter: blur(3px);
  transition:
    opacity 320ms ease,
    filter 320ms ease,
    border-color 180ms ease,
    background 180ms ease,
    color 180ms ease,
    transform 220ms var(--ease-premium, ease);
}

.mega-item:hover .mega-panel a,
.mega-item.is-open .mega-panel a {
  opacity: 1;
  filter: blur(0);
}

.mega-panel h2,
.zen-mega-group h2 {
  opacity: 0;
  transition: opacity 360ms ease;
}

.mega-item:hover .mega-panel h2,
.mega-item:hover .zen-mega-group h2,
.mega-item.is-open .mega-panel h2,
.mega-item.is-open .zen-mega-group h2 {
  opacity: 1;
}

.mega-panel > h2 { transition-delay: 20ms; }

.zen-mega-menu--compact > a:nth-child(1) { transition-delay: 30ms; }
.zen-mega-menu--compact > a:nth-child(2) { transition-delay: 65ms; }
.zen-mega-menu--compact > a:nth-child(3) { transition-delay: 100ms; }
.zen-mega-menu--compact > a:nth-child(4) { transition-delay: 135ms; }
.zen-mega-menu--compact > a:nth-child(5) { transition-delay: 170ms; }
.zen-mega-menu--compact > a:nth-child(6) { transition-delay: 205ms; }

.zen-mega-menu > .zen-mega-group:nth-child(1) h2 { transition-delay: 30ms; }
.zen-mega-menu > .zen-mega-group:nth-child(2) h2 { transition-delay: 90ms; }
.zen-mega-menu > .zen-mega-group:nth-child(3) h2 { transition-delay: 150ms; }
.zen-mega-menu > .zen-mega-group:nth-child(4) h2 { transition-delay: 210ms; }

.zen-mega-group:nth-child(1) a:nth-of-type(1) { transition-delay: 50ms; }
.zen-mega-group:nth-child(1) a:nth-of-type(2) { transition-delay: 80ms; }
.zen-mega-group:nth-child(1) a:nth-of-type(3) { transition-delay: 110ms; }
.zen-mega-group:nth-child(1) a:nth-of-type(4) { transition-delay: 140ms; }
.zen-mega-group:nth-child(2) a:nth-of-type(1) { transition-delay: 110ms; }
.zen-mega-group:nth-child(2) a:nth-of-type(2) { transition-delay: 140ms; }
.zen-mega-group:nth-child(2) a:nth-of-type(3) { transition-delay: 170ms; }
.zen-mega-group:nth-child(2) a:nth-of-type(4) { transition-delay: 200ms; }
.zen-mega-group:nth-child(3) a:nth-of-type(1) { transition-delay: 170ms; }
.zen-mega-group:nth-child(3) a:nth-of-type(2) { transition-delay: 200ms; }
.zen-mega-group:nth-child(3) a:nth-of-type(3) { transition-delay: 230ms; }
.zen-mega-group:nth-child(3) a:nth-of-type(4) { transition-delay: 260ms; }

/* --- Mobile menu: cascading link entrance -------------------------------- */
.zen-mobile-menu:not([hidden]) nav a {
  opacity: 0;
  transform: translateX(28px);
  animation: zen-mobile-link-in 520ms var(--ease-premium, ease) forwards;
}

.zen-mobile-menu:not([hidden]) nav a:nth-child(1)  { animation-delay: 60ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(2)  { animation-delay: 95ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(3)  { animation-delay: 130ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(4)  { animation-delay: 165ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(5)  { animation-delay: 200ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(6)  { animation-delay: 235ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(7)  { animation-delay: 270ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(8)  { animation-delay: 305ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(9)  { animation-delay: 340ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(10) { animation-delay: 375ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(11) { animation-delay: 410ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(12) { animation-delay: 445ms; }
.zen-mobile-menu:not([hidden]) nav a:nth-child(13) { animation-delay: 480ms; }

@keyframes zen-mobile-link-in {
  to { opacity: 1; transform: translateX(0); }
}

/* --- Procedure tiles: slow image zoom on hover --------------------------- */
.zen-procedure-tile img {
  transition: transform 900ms var(--ease-premium, ease), filter 600ms ease;
}

.zen-procedure-tile a:hover img,
.zen-procedure-tile a:focus-visible img {
  transform: scale(1.08);
  filter: saturate(1.08) contrast(1.04) brightness(0.92);
}

/* --- FAQ: blur-fade panel reveal ------------------------------------------ */
.zen-faq-panel {
  filter: blur(4px);
  transition:
    max-height 560ms cubic-bezier(0.2, 0.72, 0.2, 1),
    opacity 420ms ease,
    padding 320ms ease,
    filter 420ms ease;
}

.zen-faq-item.is-open .zen-faq-panel {
  filter: blur(0);
}

/* --- Reduced motion: stop continuous decorative loops --------------------- */
@media (prefers-reduced-motion: reduce) {
  .hero-home,
  .hero-home__portrait img,
  .hero-home h1 .text-gold,
  .zen-kicker::before {
    animation: none !important;
  }
}

/* =====================================================================
   COUTURE LAYER — editorial typography, section-by-section redesign
   Fraunces (display) + Manrope (body). Structure, not just colour.
   ===================================================================== */

/* --- Typography application ------------------------------------------- */
.zen-clean-page {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.zen-clean-page h1,
.zen-clean-page h2,
.zen-clean-page h3,
.zen-clean-page blockquote,
.zen-clean-page .zen-footer__brand {
  font-family: var(--font-display);
  font-optical-sizing: auto;
}

.zen-clean-page h1,
.zen-clean-page h2 {
  letter-spacing: -0.018em;
}

/* Keep small label-style headings in the refined sans for consistency */
.zen-clean-page .zen-footer h3,
.zen-clean-page .zen-mega-group h2,
.zen-clean-page .zen-mega-menu h2,
.zen-clean-page .zen-booking-address span {
  font-family: var(--font-body);
}

/* --- Hero: orchestrated page-load entrance ---------------------------- */
.hero-home .zen-kicker {
  animation: zen-rise-in 820ms var(--ease-premium, ease) 120ms both;
}
.hero-home h1 {
  animation: zen-rise-in 980ms var(--ease-premium, ease) 260ms both;
}
.hero-home__lead {
  animation: zen-rise-in 900ms var(--ease-premium, ease) 440ms both;
}
.hero-home__actions {
  animation: zen-rise-in 900ms var(--ease-premium, ease) 600ms both;
}
.hero-home__benefits {
  animation: zen-rise-in 920ms var(--ease-premium, ease) 740ms both;
}

@keyframes zen-rise-in {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: none; }
}

/* --- Gold buttons: glossy bevel & depth (keeps Phase-1 shine sweep) ---- */
.zen-clean-page .zen-pill--gold,
.zen-clean-page .zen-button--gold,
.zen-clean-page .zen-loyalty-form button,
.zen-clean-page .zen-why-light__cta {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0) 46%),
    linear-gradient(135deg, #f1d68a 0%, #dcb86f 38%, #c8a45d 68%, #b6862f 100%);
  border-color: rgba(245, 222, 162, 0.92);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 -11px 18px -13px rgba(94, 64, 14, 0.7),
    0 12px 28px rgba(184, 138, 46, 0.3);
}

.zen-clean-page .zen-pill--gold:hover,
.zen-clean-page .zen-pill--gold:focus-visible,
.zen-clean-page .zen-button--gold:hover,
.zen-clean-page .zen-button--gold:focus-visible,
.zen-clean-page .zen-loyalty-form button:hover,
.zen-clean-page .zen-why-light__cta:hover {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.6),
    inset 0 -11px 18px -13px rgba(94, 64, 14, 0.66),
    0 18px 44px rgba(184, 138, 46, 0.42);
}

/* --- Section titles: cohesive gold accent rule ------------------------ */
.zen-clean-page .zen-section-head h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  margin-top: 20px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--zen-gold-soft), rgba(226, 199, 130, 0.08));
}

/* --- Welcome notes: oversized editorial numeral + lit edge ------------ */
.zen-clean-page .zen-welcome-note {
  position: relative;
  overflow: hidden;
}
.zen-clean-page .zen-welcome-note span {
  position: absolute;
  top: -0.26em;
  right: 0.06em;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(5rem, 8.5vw, 8.2rem);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.02em;
  color: transparent;
  background: linear-gradient(180deg, rgba(226, 199, 130, 0.26), rgba(226, 199, 130, 0.03));
  -webkit-background-clip: text;
  background-clip: text;
  pointer-events: none;
  user-select: none;
}

/* --- Procedure tiles: serif index chip + pointer spotlight ------------ */
.zen-clean-page .zen-procedure-tile {
  position: relative;
  --mx: 50%;
  --my: 50%;
}
.zen-clean-page .zen-procedure-tile__number {
  font-family: var(--font-display);
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  background: linear-gradient(135deg, rgba(20, 16, 11, 0.6), rgba(5, 4, 3, 0.42));
  border-color: rgba(245, 225, 170, 0.55);
}
.zen-clean-page .zen-procedure-tile a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(240px circle at var(--mx) var(--my), rgba(226, 199, 130, 0.18), transparent 62%);
  opacity: 0;
  transition: opacity 320ms ease;
  pointer-events: none;
}
.zen-clean-page .zen-procedure-tile:hover a::after {
  opacity: 1;
}

/* --- Editorial break: rotating emblem seal ---------------------------- */
.zen-clean-page .zen-editorial-break__mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 66px;
  border: 1px solid rgba(226, 199, 130, 0.28);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(226, 199, 130, 0.16), transparent 66%);
}
.zen-clean-page .zen-editorial-break__mark::before {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 1px solid transparent;
  border-top-color: rgba(245, 225, 170, 0.85);
  border-right-color: rgba(245, 225, 170, 0.28);
  animation: zen-emblem-spin 6.5s linear infinite;
}
.zen-clean-page .zen-editorial-break__mark::after {
  content: "";
  width: 11px;
  height: 11px;
  background: linear-gradient(135deg, #f1d68a, #c8a45d);
  transform: rotate(45deg);
  box-shadow: 0 0 14px rgba(226, 199, 130, 0.65);
}
@keyframes zen-emblem-spin {
  to { transform: rotate(360deg); }
}

/* --- Why-ZEN (light): filled gradient-ring icons ---------------------- */
.zen-clean-page .zen-why-light__cards span {
  background: radial-gradient(circle at 32% 26%, rgba(255, 252, 246, 0.95), rgba(247, 236, 214, 0.62));
  border-color: rgba(184, 138, 46, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 8px 18px rgba(184, 138, 46, 0.12);
  transition: transform 340ms var(--ease-premium, ease), background 340ms ease, color 340ms ease, box-shadow 340ms ease;
}
.zen-clean-page .zen-why-light__cards article:hover span {
  transform: translateY(-3px) rotate(-4deg) scale(1.06);
  background: linear-gradient(135deg, #d7b56d, #b88a2e);
  color: #fffaf2;
  box-shadow: 0 14px 26px rgba(184, 138, 46, 0.32);
}

/* --- Process steps: refined glowing timeline nodes -------------------- */
.zen-clean-page .zen-process-step span {
  top: 18px;
  width: 54px;
  height: 54px;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  background: radial-gradient(circle at 50% 36%, #15110d, #050403);
  border-color: rgba(226, 199, 130, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: box-shadow 620ms ease, border-color 620ms ease, transform 620ms var(--ease-premium, ease);
}
.zen-process-section.is-process-visible .zen-clean-page .zen-process-step span,
.zen-clean-page .zen-process-section.is-process-visible .zen-process-step span {
  border-color: rgba(245, 225, 170, 0.9);
  box-shadow: 0 0 24px -2px rgba(226, 199, 130, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* --- VIP card: holographic foil glint --------------------------------- */
.zen-clean-page .zen-vip-card__front::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: linear-gradient(115deg, transparent 32%, rgba(255, 255, 255, 0.38) 47%, rgba(255, 255, 255, 0.04) 53%, transparent 70%);
  background-size: 280% 100%;
  background-position: 130% 0;
  mix-blend-mode: screen;
  pointer-events: none;
  transition: background-position 1000ms var(--ease-premium, ease);
}
.zen-clean-page .zen-vip-card:hover .zen-vip-card__front::after,
.zen-clean-page .zen-vip-card:focus-visible .zen-vip-card__front::after {
  background-position: -50% 0;
}

/* --- Footer: animated underlines + crowning diamond ------------------- */
.zen-clean-page .zen-footer {
  position: relative;
}
.zen-clean-page .zen-footer::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 9px;
  height: 9px;
  transform: translateX(-50%) rotate(45deg);
  background: linear-gradient(135deg, #f1d68a, #c8a45d);
  box-shadow: 0 0 16px rgba(226, 199, 130, 0.6);
}
.zen-clean-page .zen-footer__nav a,
.zen-clean-page .zen-footer__contact a {
  position: relative;
  width: fit-content;
}
.zen-clean-page .zen-footer__nav a::after,
.zen-clean-page .zen-footer__contact a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, var(--zen-gold-soft), transparent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 340ms var(--ease-premium, ease);
}
.zen-clean-page .zen-footer__nav a:hover,
.zen-clean-page .zen-footer__nav a:focus-visible,
.zen-clean-page .zen-footer__contact a:hover,
.zen-clean-page .zen-footer__contact a:focus-visible {
  transform: none;
}
.zen-clean-page .zen-footer__nav a:hover::after,
.zen-clean-page .zen-footer__nav a:focus-visible::after,
.zen-clean-page .zen-footer__contact a:hover::after,
.zen-clean-page .zen-footer__contact a:focus-visible::after {
  transform: scaleX(1);
}

/* --- Scroll progress bar (driven by premium.js) ----------------------- */
.zen-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
  height: 2px;
  width: 0;
  background: linear-gradient(90deg, #b88a2e, #f1d68a 60%, #e2c782);
  box-shadow: 0 0 12px rgba(226, 199, 130, 0.55);
  pointer-events: none;
  will-change: width;
}

/* --- Gradient hairline "lit edge" on hero cards ----------------------- */
@supports ((-webkit-mask-composite: xor) or (mask-composite: exclude)) {
  .zen-clean-page .zen-procedure-tile::after,
  .zen-clean-page .zen-review-card::after,
  .zen-clean-page .zen-welcome-note::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(245, 225, 170, 0.72), rgba(226, 199, 130, 0.05) 34%, rgba(226, 199, 130, 0.04) 66%, rgba(245, 225, 170, 0.58));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask-composite: exclude;
    opacity: 0.6;
    transition: opacity 320ms ease;
    pointer-events: none;
  }
  .zen-clean-page .zen-procedure-tile:hover::after,
  .zen-clean-page .zen-review-card:hover::after,
  .zen-clean-page .zen-welcome-note:hover::after {
    opacity: 1;
  }
}

/* --- Reduced motion: keep the couture layer calm ---------------------- */
@media (prefers-reduced-motion: reduce) {
  .hero-home .zen-kicker,
  .hero-home h1,
  .hero-home__lead,
  .hero-home__actions,
  .hero-home__benefits,
  .zen-editorial-break__mark::before {
    animation: none !important;
  }
  .zen-clean-page .zen-vip-card__front::after {
    transition: none !important;
  }
}

/* --- Critical rendering safety for WebViews and failed JS ------------- */
html:not(.zen-animate) .reveal,
html:not(.zen-animate) .reveal-up,
html:not(.zen-animate) .reveal-scale,
html:not(.zen-animate) .stagger-item,
html:not(.zen-animate) .zen-hero-benefits a,
html:not(.zen-animate) .zen-about-story__features article,
html:not(.zen-animate) .lux-procedure-list a,
html:not(.zen-animate) .lux-location__cards article,
html:not(.zen-animate) .lux-minimal__portrait,
html:not(.zen-animate) .lux-map-actions a {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
}

@media (max-width: 760px), (pointer: coarse) {
  .site-intro {
    display: none !important;
  }

  .lux-home.is-intro-active,
  .zen-clean-page.is-intro-active {
    overflow: auto !important;
  }

  .reveal,
  .reveal-up,
  .reveal-scale,
  .stagger-item,
  .zen-hero-benefits a,
  .zen-about-story__features article,
  .lux-procedure-list a,
  .lux-location__cards article,
  .lux-minimal__portrait,
  .lux-map-actions a {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    transform: none !important;
  }

  .hero-home .zen-kicker,
  .hero-home h1,
  .hero-home__lead,
  .hero-home__actions,
  .hero-home__benefits {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
    transform: none !important;
  }
}
