:root {
  --plum: #1B1026;
  --plum2: #2A1837;
  --mauve: #B989A5;
  --champagne: #E8D7BD;
  --ivory: #FAF7F2;
  --rose: #D9A7B0;
  --text: #211827;
  --muted: #7A6F76;
  --gold: #C8A96A;
  --line: rgba(33, 24, 39, .12);
  --line-light: rgba(250, 247, 242, .16);
  --shadow: 0 30px 90px rgba(27, 16, 38, .16);
  --radius: 34px;
  --max: 1180px;
  --header: 82px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  font-family: Inter, system-ui, sans-serif;
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 92% 8%, rgba(217, 167, 176, .22), transparent 32%),
    radial-gradient(circle at 8% 36%, rgba(200, 169, 106, .12), transparent 30%),
    var(--ivory);
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

.ambient-glow {
  position: fixed;
  inset: 0;
  z-index: -20;
  pointer-events: none;
  background:
    radial-gradient(circle at 74% 18%, rgba(217, 167, 176, .22), transparent 28%),
    radial-gradient(circle at 14% 18%, rgba(200, 169, 106, .16), transparent 30%),
    var(--ivory);
}

.scroll-progress {
  position: fixed;
  left: 0;
  top: 0;
  height: 3px;
  width: 0;
  z-index: 300;
  background: linear-gradient(90deg, var(--champagne), var(--rose), var(--gold));
  box-shadow: 0 0 22px rgba(232, 215, 189, .7);
}

header {
  height: var(--header);
  position: fixed;
  inset: 0 0 auto;
  z-index: 200;
  transition: .25s ease;
}

header.scrolled {
  background: rgba(27, 16, 38, .78);
  backdrop-filter: blur(22px);
  border-bottom: 1px solid var(--line-light);
}

.nav {
  width: min(var(--max), calc(100% - 36px));
  height: var(--header);
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo {
  color: var(--ivory);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 900;
  letter-spacing: -.04em;
}

.logo-mark {
  width: 34px;
  height: 34px;
  border-radius: 50% 50% 50% 12px;
  display: inline-block;
  position: relative;
  background:
    radial-gradient(circle at 32% 28%, #fff 0 12%, transparent 13%),
    linear-gradient(135deg, var(--champagne), var(--mauve), var(--plum2));
  transform: rotate(-18deg);
  box-shadow: 0 0 28px rgba(232, 215, 189, .34);
}

.logo-mark::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(255, 255, 255, .54);
  border-radius: 50% 50% 50% 8px;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 23px;
}

.nav-links a {
  color: rgba(250, 247, 242, .76);
  font-weight: 800;
  font-size: .94rem;
  border-radius: 14px;
  transition: .2s ease;
}

.nav-links a:hover,
body[data-page="home"] [data-nav="home"],
body[data-page="treatments"] [data-nav="treatments"],
body[data-page="skin"] [data-nav="treatments"],
body[data-page="injectables"] [data-nav="treatments"],
body[data-page="wellness"] [data-nav="treatments"],
body[data-page="consultations"] [data-nav="treatments"],
body[data-page="gallery"] [data-nav="gallery"],
body[data-page="memberships"] [data-nav="memberships"],
body[data-page="journal"] [data-nav="journal"],
body[data-page="growth"] [data-nav="growth"],
body[data-page="reviews"] [data-nav="reviews"],
body[data-page="contact"] [data-nav="contact"] {
  color: var(--ivory);
}

.nav-cta {
  padding: 11px 17px;
  border-radius: 999px;
  color: var(--plum) !important;
  background: linear-gradient(135deg, var(--champagne), var(--rose));
  box-shadow: 0 18px 38px rgba(217, 167, 176, .24);
}

.menu-btn {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid var(--line-light);
  border-radius: 16px;
  background: rgba(250, 247, 242, .08);
}

.menu-btn span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  background: var(--ivory);
}

.section {
  width: min(var(--max), calc(100% - 36px));
  margin: auto;
  padding: 116px 0;
}

.hero {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  padding: 145px max(18px, calc((100% - var(--max)) / 2)) 120px;
  margin: 0;
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 70px;
  align-items: center;
  color: var(--ivory);
  background:
    radial-gradient(circle at 76% 20%, rgba(217, 167, 176, .28), transparent 30%),
    radial-gradient(circle at 16% 22%, rgba(200, 169, 106, .17), transparent 32%),
    linear-gradient(180deg, #1B1026 0%, #241333 100%);
  border-bottom: 1px solid rgba(250, 247, 242, .14);
}

.page-hero {
  width: 100%;
  max-width: none;
  min-height: auto;
  padding: 155px max(18px, calc((100% - var(--max)) / 2)) 115px;
  margin: 0;
  color: var(--ivory);
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 78% 14%, rgba(217, 167, 176, .25), transparent 30%),
    radial-gradient(circle at 16% 30%, rgba(200, 169, 106, .14), transparent 32%),
    linear-gradient(180deg, #1B1026 0%, #241333 100%);
  border-bottom: 1px solid rgba(250, 247, 242, .14);
}

.page-hero > div {
  width: min(var(--max), 100%);
}

.page-hero h1 {
  max-width: 980px;
  font-size: clamp(3.1rem, 6.4vw, 6.45rem);
}

.page-hero p {
  max-width: 780px;
  color: rgba(250, 247, 242, .75);
  font-size: 1.1rem;
  margin-top: 22px;
}

.eyebrow {
  color: var(--champagne);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 900;
  font-size: .78rem;
}

h1,
h2 {
  font-family: "Playfair Display", Georgia, serif;
  letter-spacing: -.055em;
  line-height: .95;
}

h1 {
  font-size: clamp(3.7rem, 7.7vw, 7.7rem);
  margin-top: 18px;
}

h2 {
  font-size: clamp(2.55rem, 5vw, 5rem);
  margin-top: 18px;
}

h3 {
  letter-spacing: -.04em;
}

.hero-sub,
.section-head p,
.showcase-copy p,
.editorial-copy p,
.growth-copy p,
.contact-copy p {
  color: var(--muted);
  max-width: 760px;
  font-size: 1.08rem;
  margin-top: 22px;
}

.hero .hero-sub {
  color: rgba(250, 247, 242, .73);
}

.hero-actions,
.cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.btn {
  min-height: 54px;
  padding: 14px 25px;
  border-radius: 999px;
  border: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  cursor: pointer;
  transition: .24s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.primary {
  color: var(--plum);
  background: linear-gradient(135deg, var(--champagne), var(--rose));
  box-shadow: 0 22px 48px rgba(217, 167, 176, .28);
}

.secondary {
  color: var(--ivory);
  border: 1px solid var(--line-light);
  background: rgba(250, 247, 242, .08);
}

.secondary.dark {
  color: var(--plum);
  border-color: var(--line);
  background: rgba(255, 255, 255, .55);
}

.luxury-points {
  margin-top: 42px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}

.luxury-points div {
  padding: 18px;
  border: 1px solid var(--line-light);
  border-radius: 22px;
  background: rgba(250, 247, 242, .08);
  backdrop-filter: blur(16px);
}

.luxury-points strong,
.luxury-points span {
  display: block;
}

.luxury-points span {
  color: rgba(250, 247, 242, .58);
  font-size: .84rem;
}

.hero-art {
  position: relative;
  min-height: 640px;
}

.orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(8px);
}

.orb-one {
  width: 220px;
  height: 220px;
  top: 60px;
  right: 50px;
  background: radial-gradient(circle, rgba(217, 167, 176, .56), transparent 68%);
}

.orb-two {
  width: 320px;
  height: 320px;
  bottom: 60px;
  left: 20px;
  background: radial-gradient(circle, rgba(232, 215, 189, .32), transparent 68%);
}

.editorial-card {
  position: absolute;
  width: 440px;
  top: 64px;
  right: 44px;
  z-index: 3;
  padding: 18px;
  border: 1px solid var(--line-light);
  border-radius: 38px;
  background: rgba(250, 247, 242, .13);
  backdrop-filter: blur(24px);
  box-shadow: 0 34px 100px rgba(0, 0, 0, .28);
}

.editorial-image {
  height: 315px;
  border-radius: 30px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 65% 30%, rgba(250, 247, 242, .72), transparent 8%),
    radial-gradient(circle at 72% 44%, rgba(217, 167, 176, .58), transparent 28%),
    linear-gradient(135deg, rgba(232, 215, 189, .86), rgba(185, 137, 165, .42), rgba(27, 16, 38, .58));
}

.curve-line {
  position: absolute;
  width: 440px;
  height: 160px;
  border: 1px solid rgba(250, 247, 242, .48);
  border-radius: 50%;
  left: -110px;
  top: 76px;
  transform: rotate(-16deg);
}

.soft-oval {
  position: absolute;
  width: 138px;
  height: 210px;
  right: 56px;
  bottom: 36px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(250, 247, 242, .72), rgba(217, 167, 176, .28));
}

.gold-dot {
  position: absolute;
  width: 18px;
  height: 18px;
  right: 110px;
  top: 74px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 32px rgba(200, 169, 106, .75);
}

.editorial-info {
  padding: 20px 8px 8px;
}

.mini-label {
  color: var(--gold);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.editorial-info h2 {
  font-size: 2.1rem;
}

.editorial-info p {
  color: rgba(250, 247, 242, .68);
  margin-top: 8px;
}

.appointment-card,
.layered-panel {
  position: absolute;
  z-index: 5;
  border: 1px solid var(--line-light);
  background: rgba(250, 247, 242, .18);
  backdrop-filter: blur(24px);
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .22);
}

.appointment-card {
  left: 20px;
  top: 218px;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 22px;
}

.appointment-card span,
.appointment-card strong,
.layered-panel span {
  display: block;
}

.appointment-card span,
.layered-panel span {
  color: rgba(250, 247, 242, .65);
  font-size: .84rem;
}

.appointment-card a {
  color: var(--plum);
  background: var(--champagne);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 900;
}

.layered-panel {
  right: 0;
  bottom: 100px;
  width: 210px;
  padding: 18px;
}

.mini-chart {
  display: flex;
  align-items: end;
  gap: 8px;
  height: 74px;
  margin-top: 12px;
}

.mini-chart i {
  flex: 1;
  border-radius: 999px 999px 8px 8px;
  background: linear-gradient(180deg, var(--champagne), var(--rose));
}

.mini-chart i:nth-child(1) {
  height: 42%;
}

.mini-chart i:nth-child(2) {
  height: 72%;
}

.mini-chart i:nth-child(3) {
  height: 58%;
}

.section-head {
  margin-bottom: 46px;
}

.grid {
  display: grid;
  gap: 22px;
}

.three {
  grid-template-columns: repeat(3, 1fr);
}

.four {
  grid-template-columns: repeat(4, 1fr);
}

.glass-card,
.treatment-card,
.pathway-card,
.membership-card,
.journal-card,
.large-lux-card,
.gallery-card,
.review-card,
.contact-experience-card,
.consult-form,
.growth-dashboard,
.dash-window,
.article-body,
.consult-note,
.cta-panel,
.editorial-list,
.lux-sidebar {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .58);
  box-shadow: var(--shadow);
}

.glass-card,
.treatment-card,
.large-lux-card,
.review-card,
.journal-card {
  padding: 28px;
  transition: .24s ease;
}

.glass-card:hover,
.treatment-card:hover,
.large-lux-card:hover,
.review-card:hover,
.journal-card:hover,
.pathway-card:hover,
.gallery-card:hover,
.membership-card:hover {
  transform: translateY(-7px);
}

.number {
  color: var(--gold);
  font-weight: 900;
  display: inline-block;
  margin-bottom: 18px;
}

.glass-card p,
.treatment-card p,
.large-lux-card p,
.journal-card p,
.review-card p,
.membership-card p,
.consult-note p,
.article-body p {
  color: var(--muted);
}

.split-showcase,
.editorial-section,
.growth-layout,
.contact-layout,
.service-detail-layout {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 38px;
  align-items: start;
}

.pathway-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.pathway-card {
  min-height: 250px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  position: relative;
  color: var(--ivory);
  border-color: var(--line-light);
}

.pathway-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .88;
  transition: .25s ease;
}

.pathway-card:hover::before {
  transform: scale(1.04);
}

.pathway-card span,
.pathway-card h3 {
  position: relative;
  z-index: 2;
}

.pathway-card span {
  color: var(--champagne);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
}

.skin-tile::before {
  background:
    radial-gradient(circle at 70% 30%, rgba(250, 247, 242, .54), transparent 13%),
    linear-gradient(135deg, #B989A5, #1B1026);
}

.injectable-tile::before {
  background:
    radial-gradient(circle at 35% 20%, rgba(232, 215, 189, .55), transparent 15%),
    linear-gradient(135deg, #D9A7B0, #2A1837);
}

.wellness-tile {
  grid-column: span 2;
}

.wellness-tile::before {
  background:
    radial-gradient(circle at 80% 30%, rgba(200, 169, 106, .5), transparent 18%),
    linear-gradient(135deg, #E8D7BD, #B989A5, #1B1026);
}

.text-link,
.treatment-card a,
.large-lux-card a,
.journal-card a {
  display: inline-flex;
  margin-top: 18px;
  color: var(--plum);
  font-weight: 900;
}

.champagne-band {
  width: 100%;
  max-width: none;
  padding-left: max(18px, calc((100% - var(--max)) / 2));
  padding-right: max(18px, calc((100% - var(--max)) / 2));
  background:
    radial-gradient(circle at 20% 20%, rgba(217, 167, 176, .25), transparent 28%),
    linear-gradient(180deg, rgba(232, 215, 189, .42), rgba(250, 247, 242, .84));
}

.funnel {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.funnel-step {
  padding: 24px;
  border-radius: 28px;
  background: rgba(255, 255, 255, .62);
  border: 1px solid var(--line);
}

.funnel-step span {
  color: var(--gold);
  font-weight: 900;
}

.cta-panel {
  padding: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background:
    radial-gradient(circle at 80% 18%, rgba(217, 167, 176, .2), transparent 28%),
    rgba(255, 255, 255, .72);
}

.treatment-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 10px;
  margin-bottom: 28px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .62);
  border: 1px solid var(--line);
  box-shadow: 0 18px 60px rgba(27, 16, 38, .09);
}

.tab-btn {
  border: 0;
  cursor: pointer;
  padding: 13px 18px;
  border-radius: 999px;
  font-weight: 900;
  color: var(--muted);
  background: transparent;
}

.tab-btn.active {
  color: var(--plum);
  background: linear-gradient(135deg, var(--champagne), rgba(217, 167, 176, .56));
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.service-badge {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(185, 137, 165, .14);
  color: var(--plum);
  font-weight: 900;
  font-size: .78rem;
}

.editorial-list {
  padding: 24px;
  display: grid;
  gap: 12px;
}

.editorial-list a,
.lux-sidebar a {
  padding: 13px 15px;
  border-radius: 18px;
  font-weight: 900;
  color: var(--muted);
  transition: .2s ease;
}

.editorial-list a:hover,
.lux-sidebar a:hover {
  background: rgba(185, 137, 165, .12);
  color: var(--plum);
}

.service-detail-layout {
  grid-template-columns: 260px 1fr;
}

.lux-sidebar {
  position: sticky;
  top: 110px;
  padding: 22px;
  display: grid;
  gap: 9px;
}

.consult-note {
  margin-top: 24px;
  padding: 24px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.gallery-card {
  position: relative;
  min-height: 330px;
  padding: 24px;
  overflow: hidden;
  display: flex;
  align-items: end;
  color: var(--ivory);
  border-color: var(--line-light);
  transition: .24s ease;
}

.gallery-card span {
  position: relative;
  z-index: 2;
  font-weight: 900;
  font-size: 1.15rem;
}

.gallery-card::before,
.gallery-card::after {
  content: "";
  position: absolute;
  inset: 0;
}

.gallery-card::after {
  width: 150px;
  height: 150px;
  inset: auto 30px 35px auto;
  border: 1px solid rgba(250, 247, 242, .45);
  border-radius: 50%;
}

.tile-1::before {
  background:
    radial-gradient(circle at 70% 20%, rgba(250, 247, 242, .5), transparent 13%),
    linear-gradient(135deg, #1B1026, #B989A5);
}

.tile-2::before {
  background:
    radial-gradient(circle at 38% 26%, rgba(232, 215, 189, .65), transparent 16%),
    linear-gradient(135deg, #D9A7B0, #2A1837);
}

.tile-3::before {
  background:
    radial-gradient(circle at 70% 70%, rgba(200, 169, 106, .55), transparent 18%),
    linear-gradient(135deg, #E8D7BD, #1B1026);
}

.tile-4::before {
  background: linear-gradient(135deg, #211827, #B989A5, #FAF7F2);
}

.tile-5::before {
  background:
    radial-gradient(circle at 72% 25%, rgba(250, 247, 242, .55), transparent 14%),
    linear-gradient(135deg, #C8A96A, #B989A5, #1B1026);
}

.tile-6::before {
  background:
    radial-gradient(circle at 30% 34%, rgba(232, 215, 189, .5), transparent 12%),
    linear-gradient(135deg, #2A1837, #D9A7B0);
}

.membership-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.membership-card {
  padding: 30px;
  transition: .24s ease;
}

.featured-member {
  background:
    radial-gradient(circle at 80% 14%, rgba(200, 169, 106, .18), transparent 30%),
    rgba(255, 255, 255, .74);
  border-color: rgba(200, 169, 106, .4);
}

.tier-label {
  color: var(--gold);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
}

.membership-card h2 {
  font-size: 2.25rem;
  margin-bottom: 22px;
}

.membership-card ul {
  margin: 22px 0 30px;
  padding-left: 20px;
  color: var(--muted);
}

.journal-grid {
  display: grid;
  grid-template-columns: 1.25fr .85fr .85fr;
  gap: 22px;
}

.feature-article {
  min-height: 440px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 80% 18%, rgba(250, 247, 242, .45), transparent 14%),
    linear-gradient(135deg, rgba(185, 137, 165, .7), rgba(27, 16, 38, .86));
  color: var(--ivory);
}

.feature-article p {
  color: rgba(250, 247, 242, .72);
}

.feature-article a {
  color: var(--champagne);
}

.journal-card span {
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
  font-size: .76rem;
}

.article-body {
  padding: 44px;
  max-width: 860px;
}

.article-body p {
  font-size: 1.08rem;
  margin-bottom: 20px;
}

.article-callout {
  padding: 24px;
  border-radius: 24px;
  margin: 32px 0;
  background: rgba(185, 137, 165, .12);
}

.growth-list {
  margin-top: 28px;
  display: grid;
  gap: 14px;
}

.growth-list div,
.contact-experience-card div {
  padding: 18px;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .58);
}

.growth-list strong,
.growth-list span,
.contact-experience-card strong,
.contact-experience-card span {
  display: block;
}

.growth-list span,
.contact-experience-card span {
  color: var(--muted);
}

.growth-dashboard {
  padding: 18px;
  background:
    radial-gradient(circle at 80% 20%, rgba(217, 167, 176, .24), transparent 32%),
    rgba(255, 255, 255, .44);
}

.dash-window {
  padding: 26px;
  box-shadow: none;
  background: rgba(27, 16, 38, .92);
  color: var(--ivory);
  border-color: var(--line-light);
}

.window-dots {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}

.window-dots span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--rose);
}

.window-dots span:nth-child(2) {
  background: var(--champagne);
}

.window-dots span:nth-child(3) {
  background: var(--gold);
}

.dash-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 24px 0;
}

.dash-metrics div {
  padding: 16px;
  border-radius: 18px;
  background: rgba(250, 247, 242, .08);
}

.dash-metrics span,
.dash-metrics strong {
  display: block;
}

.dash-metrics span {
  color: rgba(250, 247, 242, .62);
  font-size: .78rem;
}

.analytics-bars {
  height: 220px;
  display: flex;
  align-items: end;
  gap: 14px;
  padding: 18px;
  border-radius: 24px;
  background: rgba(250, 247, 242, .06);
}

.analytics-bars i {
  flex: 1;
  border-radius: 999px 999px 10px 10px;
  background: linear-gradient(180deg, var(--champagne), var(--rose));
}

.reviews-wall {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.review-card {
  min-height: 300px;
  display: flex;
  flex-direction: column;
}

.review-card h3 {
  margin-top: auto;
  padding-top: 18px;
}

.stars {
  color: var(--gold);
  letter-spacing: .08em;
  margin-bottom: 18px;
}

.contact-experience-card {
  padding: 18px;
  display: grid;
  gap: 14px;
  margin-top: 28px;
}

.consult-form {
  padding: 30px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.consult-form label {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
  color: var(--text);
  font-weight: 800;
}

.checkbox-label {
  display: flex !important;
  align-items: center;
  gap: 10px !important;
}

.checkbox-label input {
  width: auto;
  accent-color: var(--plum);
}

input,
select,
textarea {
  width: 100%;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .74);
  padding: 15px 16px;
  outline: none;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(185, 137, 165, .64);
  box-shadow: 0 0 0 4px rgba(185, 137, 165, .14);
}

.error input,
.error select,
.error textarea {
  border-color: #b91c1c;
}

.form-message {
  min-height: 24px;
  font-weight: 900;
  margin-bottom: 18px;
}

.form-message.error {
  color: #b91c1c;
}

.form-message.success {
  color: #166534;
}

.submit-btn {
  width: 100%;
}

footer {
  width: min(var(--max), calc(100% - 36px));
  margin: auto;
  padding: 60px 0 74px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  display: grid;
  gap: 28px;
}

.footer-logo {
  color: var(--plum);
  margin-bottom: 14px;
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.footer-columns div {
  display: flex;
  flex-wrap: wrap;
  gap: 13px 18px;
}

.footer-columns strong {
  width: 100%;
  color: var(--text);
}

.footer-columns a {
  color: var(--muted);
  font-weight: 800;
}

.disclaimer {
  display: block;
  max-width: 820px;
  margin-top: 10px;
}

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: .74s ease;
}

.reveal.show {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1100px) {
  .hero,
  .split-showcase,
  .editorial-section,
  .growth-layout,
  .contact-layout,
  .service-detail-layout {
    grid-template-columns: 1fr;
  }

  .hero-art {
    min-height: 650px;
  }

  .three,
  .four,
  .gallery-grid,
  .membership-grid,
  .reviews-wall,
  .funnel {
    grid-template-columns: repeat(2, 1fr);
  }

  .journal-grid {
    grid-template-columns: 1fr;
  }

  .lux-sidebar {
    position: static;
  }
}

@media (max-width: 820px) {
  .menu-btn {
    display: block;
  }

  .nav-links {
    position: fixed;
    left: 18px;
    right: 18px;
    top: var(--header);
    display: grid;
    gap: 4px;
    padding: 16px;
    border-radius: 24px;
    background: rgba(27, 16, 38, .96);
    border: 1px solid var(--line-light);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .34);
    backdrop-filter: blur(22px);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-14px);
    transition: .22s ease;
  }

  .nav-links.open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .nav-links a {
    padding: 14px 16px;
    border-radius: 14px;
  }

  .nav-links a:hover {
    background: rgba(255, 255, 255, .08);
  }

  .section {
    padding: 84px 0;
  }

  .hero {
    padding-top: 120px;
    padding-bottom: 90px;
  }

  .luxury-points,
  .three,
  .four,
  .gallery-grid,
  .membership-grid,
  .reviews-wall,
  .funnel,
  .form-row,
  .dash-metrics,
  .footer-columns {
    grid-template-columns: 1fr;
  }

  .pathway-grid {
    grid-template-columns: 1fr;
  }

  .wellness-tile {
    grid-column: auto;
  }

  .hero-art {
    min-height: 580px;
  }

  .editorial-card {
    width: 100%;
    right: 0;
  }

  .appointment-card,
  .layered-panel {
    display: none;
  }

  .page-hero {
    padding-top: 130px;
    padding-bottom: 82px;
  }

  .page-hero h1 {
    font-size: 3.35rem;
  }

  .cta-panel {
    display: grid;
  }
}

@media (max-width: 540px) {
  h1 {
    font-size: 3.2rem;
  }

  h2 {
    font-size: 2.65rem;
  }

  .hero-actions,
  .cta-actions {
    display: grid;
  }

  .btn {
    width: 100%;
  }

  .editorial-card,
  .consult-form,
  .article-body,
  .dash-window {
    padding: 22px;
  }

  .editorial-image {
    height: 250px;
  }

  .page-hero h1 {
    font-size: 3rem;
  }
}
