/*
Theme Name: CH Beauty & Spa
Theme URI: https://chbeautyspa.ca/
Author: CH Beauty & Spa
Description: Custom WordPress theme for CH Beauty & Spa in Ottawa. Includes Medical Aesthetics, Beauty Services, team, location, FAQ, policies and Fresha booking links.
Version: 1.1.3
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ch-beauty-spa
*/
/* [project]/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-pan-x: initial;
      --tw-pan-y: initial;
      --tw-pinch-zoom: initial;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-100: #ffe2e2;
    --color-red-200: #ffcaca;
    --color-red-300: #ffa3a3;
    --color-red-400: #ff6568;
    --color-red-500: #fb2c36;
    --color-red-600: #e40014;
    --color-red-700: #bf000f;
    --color-red-800: #9f0712;
    --color-red-900: #82181a;
    --color-amber-100: #fef3c6;
    --color-amber-200: #fee685;
    --color-amber-300: #ffd236;
    --color-amber-400: #fcbb00;
    --color-amber-500: #f99c00;
    --color-amber-600: #dd7400;
    --color-amber-700: #b75000;
    --color-amber-800: #953d00;
    --color-amber-900: #7b3306;
    --color-green-100: #dcfce7;
    --color-green-200: #b9f8cf;
    --color-green-300: #7bf1a8;
    --color-green-400: #05df72;
    --color-green-500: #00c758;
    --color-green-600: #00a544;
    --color-green-700: #008138;
    --color-green-800: #016630;
    --color-green-900: #0d542b;
    --color-blue-100: #dbeafe;
    --color-blue-200: #bedbff;
    --color-blue-300: #90c5ff;
    --color-blue-400: #54a2ff;
    --color-blue-500: #3080ff;
    --color-blue-600: #155dfc;
    --color-blue-700: #1447e6;
    --color-blue-800: #193cb8;
    --color-blue-900: #1c398e;
    --color-purple-100: #f3e8ff;
    --color-purple-200: #e9d5ff;
    --color-purple-300: #d9b3ff;
    --color-purple-400: #c07eff;
    --color-purple-500: #ac4bff;
    --color-purple-600: #9810fa;
    --color-purple-700: #8200da;
    --color-purple-800: #6e11b0;
    --color-purple-900: #59168b;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5dc;
    --color-gray-400: #99a1af;
    --color-gray-500: #6a7282;
    --color-gray-600: #4a5565;
    --color-gray-700: #364153;
    --color-gray-800: #1e2939;
    --color-gray-900: #101828;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-sm: 24rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-4xl: 56rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-tighter: -.05em;
    --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
    --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
    --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
    --shadow-2xl: 0 25px 50px -12px #00000040;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-100: lab(92.243% 10.2865 3.83865);
      --color-red-200: lab(86.017% 19.8815 7.75869);
      --color-red-300: lab(76.5514% 36.422 15.5335);
      --color-red-400: lab(63.7053% 60.745 31.3109);
      --color-red-500: lab(55.4814% 75.0732 48.8528);
      --color-red-600: lab(48.4493% 77.4328 61.5452);
      --color-red-700: lab(40.4273% 67.2623 53.7441);
      --color-red-800: lab(33.7174% 55.8993 41.0293);
      --color-red-900: lab(28.5139% 44.5539 29.0463);
      --color-amber-100: lab(95.916% -1.21653 23.111);
      --color-amber-200: lab(91.7203% -.505269 49.9084);
      --color-amber-300: lab(86.4156% 6.13147 78.3961);
      --color-amber-400: lab(80.1641% 16.6016 99.2089);
      --color-amber-500: lab(72.7183% 31.8672 97.9407);
      --color-amber-600: lab(60.3514% 40.5624 87.1228);
      --color-amber-700: lab(47.2709% 42.9082 69.2966);
      --color-amber-800: lab(37.8822% 37.1699 52.2718);
      --color-amber-900: lab(31.2288% 30.2627 40.0378);
      --color-green-100: lab(96.1861% -13.8464 6.52365);
      --color-green-200: lab(92.4222% -26.4702 12.9427);
      --color-green-300: lab(86.9953% -47.2691 25.0054);
      --color-green-400: lab(78.503% -64.9265 39.7492);
      --color-green-500: lab(70.5521% -66.5147 45.8073);
      --color-green-600: lab(59.0978% -58.6621 41.2579);
      --color-green-700: lab(47.0329% -47.0239 31.4788);
      --color-green-800: lab(37.4616% -36.7971 22.9692);
      --color-green-900: lab(30.797% -29.6927 17.382);
      --color-blue-100: lab(92.0301% -2.24757 -11.6453);
      --color-blue-200: lab(86.15% -4.04379 -21.0797);
      --color-blue-300: lab(77.5052% -6.4629 -36.42);
      --color-blue-400: lab(65.0361% -1.42065 -56.9802);
      --color-blue-500: lab(54.1736% 13.3369 -74.6839);
      --color-blue-600: lab(44.0605% 29.0279 -86.0352);
      --color-blue-700: lab(36.9089% 35.0961 -85.6872);
      --color-blue-800: lab(30.2514% 27.7853 -70.2699);
      --color-blue-900: lab(26.1542% 15.7545 -51.5504);
      --color-purple-100: lab(93.3333% 6.97437 -9.83434);
      --color-purple-200: lab(87.8405% 13.4282 -18.7159);
      --color-purple-300: lab(78.3298% 26.2195 -34.9499);
      --color-purple-400: lab(63.6946% 47.6127 -59.2066);
      --color-purple-500: lab(52.0183% 66.11 -78.2316);
      --color-purple-600: lab(43.0295% 75.21 -86.5669);
      --color-purple-700: lab(36.1758% 69.8525 -80.0381);
      --color-purple-800: lab(30.6017% 56.7637 -64.4751);
      --color-purple-900: lab(24.9401% 45.2703 -51.2728);
      --color-gray-100: lab(96.1596% -.0823438 -1.13575);
      --color-gray-200: lab(91.6229% -.159115 -2.26791);
      --color-gray-300: lab(85.1236% -.612259 -3.7138);
      --color-gray-400: lab(65.9269% -.832707 -8.17473);
      --color-gray-500: lab(47.7841% -.393182 -10.0268);
      --color-gray-600: lab(35.6337% -1.58697 -10.8425);
      --color-gray-700: lab(27.1134% -.956401 -12.3224);
      --color-gray-800: lab(16.1051% -1.18239 -11.7533);
      --color-gray-900: lab(8.11897% .811279 -12.254);
    }
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

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

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .fixed\! {
    position: fixed !important;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .inset-x-0 {
    inset-inline: 0;
  }

  .top-0 {
    top: 0;
  }

  .-right-5 {
    right: calc(var(--spacing) * -5);
  }

  .bottom-1 {
    bottom: var(--spacing);
  }

  .-left-5 {
    left: calc(var(--spacing) * -5);
  }

  .-left-56 {
    left: calc(var(--spacing) * -56);
  }

  .left-106 {
    left: calc(var(--spacing) * 106);
  }

  .isolate {
    isolation: isolate;
  }

  .z-5 {
    z-index: 5;
  }

  .z-7 {
    z-index: 7;
  }

  .z-9 {
    z-index: 9;
  }

  .z-10 {
    z-index: 10;
  }

  .z-50 {
    z-index: 50;
  }

  .\!container {
    width: 100% !important;
  }

  @media (min-width: 40rem) {
    .\!container {
      max-width: 40rem !important;
    }
  }

  @media (min-width: 48rem) {
    .\!container {
      max-width: 48rem !important;
    }
  }

  @media (min-width: 64rem) {
    .\!container {
      max-width: 64rem !important;
    }
  }

  @media (min-width: 80rem) {
    .\!container {
      max-width: 80rem !important;
    }
  }

  @media (min-width: 96rem) {
    .\!container {
      max-width: 96rem !important;
    }
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mx-auto {
    margin-inline: auto;
  }

  .mt-1 {
    margin-top: var(--spacing);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }

  .mt-39 {
    margin-top: calc(var(--spacing) * 39);
  }

  .mb-1 {
    margin-bottom: var(--spacing);
  }

  .ml-auto {
    margin-left: auto;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .aspect-\[4\/5\] {
    aspect-ratio: 4 / 5;
  }

  .aspect-\[5\/3\] {
    aspect-ratio: 5 / 3;
  }

  .aspect-\[16\/9\] {
    aspect-ratio: 16 / 9;
  }

  .size-1 {
    width: var(--spacing);
    height: var(--spacing);
  }

  .h-full {
    height: 100%;
  }

  .min-h-9 {
    min-height: calc(var(--spacing) * 9);
  }

  .min-h-11 {
    min-height: calc(var(--spacing) * 11);
  }

  .min-h-36 {
    min-height: calc(var(--spacing) * 36);
  }

  .min-h-44 {
    min-height: calc(var(--spacing) * 44);
  }

  .min-h-\[3\.2rem\] {
    min-height: 3.2rem;
  }

  .min-h-\[62dvh\] {
    min-height: 62dvh;
  }

  .min-h-\[70px\] {
    min-height: 70px;
  }

  .min-h-\[430px\] {
    min-height: 430px;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-32 {
    max-width: calc(var(--spacing) * 32);
  }

  .max-w-lg {
    max-width: var(--container-lg);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .min-w-0 {
    min-width: 0;
  }

  .flex-\[0_0_100\%\] {
    flex: 0 0 100%;
  }

  .flex-shrink {
    flex-shrink: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .touch-pan-y {
    --tw-pan-y: pan-y;
    touch-action: var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, );
  }

  .resize {
    resize: both;
  }

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

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded-\[14px\] {
    border-radius: 14px;
  }

  .rounded-\[18px\] {
    border-radius: 18px;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-\[\#c8a461\]\/18 {
    border-color: #c8a4612e;
    border-color: lab(69.6039% 7.58943 39.726 / .18);
  }

  .border-\[\#c8a461\]\/20 {
    border-color: #c8a46133;
    border-color: lab(69.6039% 7.58943 39.726 / .2);
  }

  .border-\[\#c8a461\]\/24 {
    border-color: #c8a4613d;
    border-color: lab(69.6039% 7.58943 39.726 / .24);
  }

  .border-\[\#c8a461\]\/28 {
    border-color: #c8a46147;
    border-color: lab(69.6039% 7.58943 39.726 / .28);
  }

  .border-\[\#c8a461\]\/35 {
    border-color: #c8a46159;
    border-color: lab(69.6039% 7.58943 39.726 / .35);
  }

  .border-\[\#c8a461\]\/38 {
    border-color: #c8a46161;
    border-color: lab(69.6039% 7.58943 39.726 / .38);
  }

  .border-white {
    border-color: var(--color-white);
  }

  .border-white\/10 {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/10 {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .bg-\[\#111112\] {
    background-color: #111112;
  }

  .bg-\[\#151516\] {
    background-color: #151516;
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-black\/48 {
    background-color: #0000007a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/48 {
      background-color: color-mix(in oklab, var(--color-black) 48%, transparent);
    }
  }

  .bg-black\/66 {
    background-color: #000000a8;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/66 {
      background-color: color-mix(in oklab, var(--color-black) 66%, transparent);
    }
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-\[linear-gradient\(90deg\,rgba\(8\,8\,9\,\.94\)\,rgba\(8\,8\,9\,\.58\)_52\%\,rgba\(8\,8\,9\,\.18\)\)\,linear-gradient\(0deg\,rgba\(8\,8\,9\,\.88\)\,transparent_60\%\)\] {
    background-image: linear-gradient(90deg, #080809f0, #08080994 52%, #0808092e), linear-gradient(0deg, #080809e0, #0000 60%);
  }

  .bg-\[linear-gradient\(90deg\,rgba\(8\,8\,9\,\.96\)\,rgba\(8\,8\,9\,\.72\)_55\%\,rgba\(8\,8\,9\,\.18\)\)\] {
    background-image: linear-gradient(90deg, #080809f5, #080809b8 55%, #0808092e);
  }

  .bg-\[radial-gradient\(circle_at_50\%_18\%\,rgba\(188\,139\,68\,\.42\)\,transparent_62\%\)\,linear-gradient\(135deg\,\#3a2c1c\,\#211a14\)\] {
    background-image: radial-gradient(circle at 50% 18%, #bc8b446b, #0000 62%), linear-gradient(135deg, #3a2c1c, #211a14);
  }

  .from-\[\#080809\] {
    --tw-gradient-from: #080809;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-black {
    --tw-gradient-from: var(--color-black);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-black\/42 {
    --tw-gradient-from: #0000006b;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/42 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 42%, transparent);
    }
  }

  .from-black\/42 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-black\/55 {
    --tw-gradient-from: #0000008c;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/55 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 55%, transparent);
    }
  }

  .from-black\/55 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-transparent {
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .via-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-black {
    --tw-gradient-to: var(--color-black);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-black\/25 {
    --tw-gradient-to: #00000040;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-black\/25 {
      --tw-gradient-to: color-mix(in oklab, var(--color-black) 25%, transparent);
    }
  }

  .to-black\/25 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .object-cover {
    object-fit: cover;
  }

  .object-center {
    object-position: center;
  }

  .object-right {
    object-position: right;
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-7 {
    padding: calc(var(--spacing) * 7);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .py-1 {
    padding-block: var(--spacing);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-20 {
    padding-top: calc(var(--spacing) * 20);
  }

  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }

  .text-center {
    text-align: center;
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }

  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[\.7rem\] {
    font-size: .7rem;
  }

  .text-\[\.61rem\] {
    font-size: .61rem;
  }

  .text-\[\.62rem\] {
    font-size: .62rem;
  }

  .text-\[\.64rem\] {
    font-size: .64rem;
  }

  .text-\[\.68rem\] {
    font-size: .68rem;
  }

  .text-\[1\.45rem\] {
    font-size: 1.45rem;
  }

  .text-\[clamp\(4rem\,8vw\,7\.2rem\)\] {
    font-size: clamp(4rem, 8vw, 7.2rem);
  }

  .leading-4 {
    --tw-leading: calc(var(--spacing) * 4);
    line-height: calc(var(--spacing) * 4);
  }

  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }

  .leading-\[\.88\] {
    --tw-leading: .88;
    line-height: .88;
  }

  .leading-\[\.95\] {
    --tw-leading: .95;
    line-height: .95;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[-\.035em\] {
    --tw-tracking: -.035em;
    letter-spacing: -.035em;
  }

  .tracking-\[\.02em\] {
    --tw-tracking: .02em;
    letter-spacing: .02em;
  }

  .tracking-\[\.035em\] {
    --tw-tracking: .035em;
    letter-spacing: .035em;
  }

  .tracking-\[0\.08em\] {
    --tw-tracking: .08em;
    letter-spacing: .08em;
  }

  .tracking-tighter {
    --tw-tracking: var(--tracking-tighter);
    letter-spacing: var(--tracking-tighter);
  }

  .text-wrap {
    text-wrap: wrap;
  }

  .text-\[\#9b958b\] {
    color: #9b958b;
  }

  .text-\[\#b9b2a7\] {
    color: #b9b2a7;
  }

  .text-\[\#bdb5a9\] {
    color: #bdb5a9;
  }

  .text-\[\#c8c0b4\] {
    color: #c8c0b4;
  }

  .text-\[\#d0c9be\] {
    color: #d0c9be;
  }

  .text-\[\#d1a958\] {
    color: #d1a958;
  }

  .text-\[\#d2a957\] {
    color: #d2a957;
  }

  .text-\[\#d4b46d\] {
    color: #d4b46d;
  }

  .text-\[\#d7d0c5\] {
    color: #d7d0c5;
  }

  .text-\[\#d8d0c4\] {
    color: #d8d0c4;
  }

  .text-\[\#ddd5ca\] {
    color: #ddd5ca;
  }

  .text-\[\#e0c37f\] {
    color: #e0c37f;
  }

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .underline {
    text-decoration-line: underline;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s;
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .\[app-\:�c\] {
    app-: �c;
  }

  .\[app-\:��\4 \] {
    app-: ��;
  }

  .\[app-\:��\e \] {
    app-: ��;
  }

  .\[app-\:��\f \] {
    app-: ��;
  }

  .\[app-\:��\] {
    app-: ��;
  }

  .\[app-\:\1 �\] {
    app-: �;
  }

  .\[app-\:\3 ��\] {
    app-: ��;
  }

  .\[app-\:\6 6\] {
    app-: 6;
  }

  .\[key\:�\3 4ng\] {
    key: �4ng;
  }

  .\[key\:�\1d b\] {
    key: �b;
  }

  .\[metatype\:�\5 c\] {
    metatype: �c;
  }

  @media (hover: hover) {
    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: var(--spacing);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:scale-\[1\.03\]:is(:where(.group):hover *) {
      scale: 1.03;
    }

    .group-hover\:scale-\[1\.04\]:is(:where(.group):hover *) {
      scale: 1.04;
    }

    .group-hover\:scale-\[1\.045\]:is(:where(.group):hover *) {
      scale: 1.045;
    }

    .group-hover\:bg-black\/40:is(:where(.group):hover *) {
      background-color: #0006;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-black\/40:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
      }
    }

    .group-hover\:bg-black\/54:is(:where(.group):hover *) {
      background-color: #0000008a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-black\/54:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-black) 54%, transparent);
      }
    }

    .group-hover\:text-\[\#e0bd70\]:is(:where(.group):hover *) {
      color: #e0bd70;
    }
  }

  @media (min-width: 40rem) {
    .sm\:min-h-0 {
      min-height: 0;
    }
  }

  @media (min-width: 48rem) {
    .md\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .md\:block {
      display: block;
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-\[1\.05fr_\.98fr_1fr_1fr_1\.2fr\] {
      grid-template-columns: 1.05fr .98fr 1fr 1fr 1.2fr;
    }

    .md\:p-14 {
      padding: calc(var(--spacing) * 14);
    }

    .md\:py-11 {
      padding-block: calc(var(--spacing) * 11);
    }

    .md\:py-14 {
      padding-block: calc(var(--spacing) * 14);
    }

    .md\:pb-20 {
      padding-bottom: calc(var(--spacing) * 20);
    }

    .md\:text-7xl {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }

    .md\:text-lg {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }

    .md\:text-\[2\.75rem\] {
      font-size: 2.75rem;
    }

    .md\:text-\[2\.85rem\] {
      font-size: 2.85rem;
    }
  }

  @media (min-width: 64rem) {
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .lg\:col-span-4 {
      grid-column: span 4 / span 4;
    }

    .lg\:col-span-6 {
      grid-column: span 6 / span 6;
    }

    .lg\:aspect-\[4\/3\] {
      aspect-ratio: 4 / 3;
    }

    .lg\:aspect-\[16\/7\] {
      aspect-ratio: 16 / 7;
    }

    .lg\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }

  @media (min-width: 80rem) {
    .xl\:col-span-1 {
      grid-column: span 1 / span 1;
    }

    .xl\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
}

:root {
  --font-display: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --font-body: "Avenir Next", "Avenir", "Helvetica Neue", Arial, sans-serif;
  --ink: #0d0d0f;
  --ink-soft: #151516;
  --surface: #1b1a19;
  --surface-lift: #24211d;
  --ivory: #f7f3ec;
  --stone: #c9c2b7;
  --muted: #9b958b;
  --gold: #c8a461;
  --gold-light: #e0c37f;
  --gold-dark: #8a672f;
  --line: #c8a46142;
  --focus: #f3d995;
  --radius-card: 14px;
  --radius-control: 8px;
  --ease-luxury: cubic-bezier(.16, 1, .3, 1);
  --layer-sticky: 40;
  --layer-overlay: 45;
  --layer-header: 50;
}

.client-main {
  padding-top: 68px;
}

.lux-page {
  --lux-black: #070808;
  --lux-panel: #0c0e0d;
  --lux-gold: #d8a84f;
  --lux-pale-gold: #f1ce82;
  --lux-line: #d8a84f9e;
  color: #f9f5ee;
  background: radial-gradient(circle at 8% 12%, #ad74211f, #0000 22rem), radial-gradient(circle at 92% 42%, #ad742117, #0000 27rem), repeating-linear-gradient(116deg, #0000 0 150px, #d1a1450b 151px, #0000 153px 322px), #070808;
  min-height: 100dvh;
}

.lux-page h1, .lux-page h2, .lux-page blockquote {
  font-family: var(--font-display);
  font-weight: 400;
}

.lux-page h1, .lux-page h2, .lux-page h3, .lux-page p {
  margin: 0;
}

.lux-shell {
  width: min(100% - 72px, 1320px);
  margin-inline: auto;
}

.lux-kicker {
  color: var(--lux-pale-gold, #f1ce82);
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.3;
  display: block;
}

.lux-script {
  color: var(--lux-gold, #d8a84f);
  font-family: Snell Roundhand, Segoe Script, cursive;
  font-size: clamp(1.5rem, 2.3vw, 2.6rem);
  font-weight: 400;
  line-height: 1.05;
  display: block;
  transform: rotate(-5deg);
}

.lux-button, .lux-button-outline {
  border: 1px solid var(--lux-gold, #d8a84f);
  color: #fff;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  gap: .7rem;
  min-height: 42px;
  padding: .68rem 1.45rem;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1;
  transition: transform .22s, box-shadow .22s, background .22s;
  display: inline-flex;
}

.lux-button {
  background: linear-gradient(112deg, #9b682d, #dfb563 54%, #9b682d);
  box-shadow: 0 0 24px #d8a84f3d, inset 0 1px #ffffff59;
}

.lux-button-outline {
  background: #040605b8;
}

.lux-button:hover, .lux-button-outline:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 28px #d8a84f61;
}

.lux-button:active, .lux-button-outline:active {
  transform: scale(.98);
}

.lux-header {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid #d8a84f85;
  height: 68px;
  background: #050706f7 !important;
}

.lux-header-inner {
  grid-template-columns: 112px 1fr auto;
  align-items: center;
  gap: 1rem;
  height: 68px;
  display: grid;
}

.lux-logo {
  z-index: 2;
  flex: none;
  width: 98px;
  height: 98px;
  display: block;
  position: relative;
}

.lux-logo img {
  object-fit: contain;
  filter: drop-shadow(0 4px 18px #0009);
  width: 100%;
  height: 100%;
}

.lux-header .ch-desktop-nav {
  justify-content: center;
  align-items: center;
  gap: clamp(.65rem, 1.4vw, 1.5rem);
  display: flex;
}

.lux-header .ch-desktop-nav a {
  color: #f8f5ef;
  letter-spacing: .025em;
  text-transform: uppercase;
  padding-block: 1.65rem;
  font-size: clamp(.75rem, .9vw, .875rem);
  font-weight: 600;
  position: relative;
}

.lux-header .ch-desktop-nav a[aria-current="page"], .lux-header .ch-desktop-nav a:hover {
  color: var(--lux-pale-gold, #f1ce82);
}

.lux-header .ch-desktop-nav a[aria-current="page"]:after {
  background: var(--lux-gold, #d8a84f);
  content: "";
  height: 1px;
  position: absolute;
  bottom: 11px;
  left: 0;
  right: 0;
  box-shadow: 0 0 10px #d8a84f;
}

.lux-header .ch-header-booking {
  min-width: 140px;
}

.lux-menu-toggle {
  color: var(--lux-pale-gold, #f1ce82);
}

.lux-hero {
  border-bottom: 1px solid var(--lux-line);
  grid-template-columns: minmax(300px, 31%) 1fr;
  min-height: 400px;
  display: grid;
}

.lux-hero-copy {
  z-index: 1;
  background: radial-gradient(circle at 15% 20%, #cf99361f, #0000 12rem), repeating-linear-gradient(125deg, #0000 0 95px, #d8a84f13 96px, #0000 98px 190px), #060707;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  padding: 3.5rem clamp(2rem, 4vw, 4.5rem) 2.5rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.lux-hero-copy:after {
  z-index: -1;
  content: "";
  background: radial-gradient(circle at 95% 40%, #0000, #00000038);
  border-right: 1px solid #d8a84f57;
  position: absolute;
  inset: 0;
}

.lux-hero-copy h1 {
  letter-spacing: -.035em;
  text-transform: uppercase;
  max-width: 9ch;
  margin: .65rem 0 .2rem;
  font-size: clamp(3.2rem, 5.6vw, 6.2rem);
  line-height: .84;
}

.lux-hero-copy h1 em {
  color: var(--lux-pale-gold);
  font-style: normal;
}

.lux-hero-copy h2 {
  max-width: 20ch;
  margin-top: .55rem;
  font-size: clamp(1.35rem, 2.25vw, 2.45rem);
  line-height: 1.05;
}

.lux-hero-copy p {
  color: #e5e0d7;
  white-space: pre-line;
  max-width: 43ch;
  margin-top: .85rem;
  font-size: .83rem;
  line-height: 1.52;
}

.lux-hero-copy .lux-button {
  margin-top: 1.2rem;
}

.lux-hero-copy .lux-script {
  max-width: 12ch;
  margin: 1.15rem 0 0 1.2rem;
}

.lux-hero-media {
  min-height: 400px;
  position: relative;
  overflow: hidden;
}

.lux-hero-media img, .lux-service-card-image img, .lux-gallery-images img, .lux-work-gallery-grid img, .lux-studio-gallery img, .lux-about-hero-image img, .lux-about-story-image img, .lux-home-medical img, .lux-story-grid img, .lux-contact-hero-image img, .lux-location-image img, .lux-faq-aside-image img {
  object-fit: cover;
}

.lux-hero-media:after {
  content: "";
  background: linear-gradient(90deg, #00000038, #0000 35%, #0000001f);
  position: absolute;
  inset: 0;
}

.lux-hero-mantra {
  z-index: 1;
  color: #fff7e7eb;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .8rem;
  line-height: 1.75;
  position: absolute;
  top: 18%;
  right: 5%;
}

.lux-feature-strip {
  border-bottom: 1px solid var(--lux-line, #d8a84f99);
  background: #070908f7;
  position: relative;
  box-shadow: 0 -10px 25px #d8a84f14;
}

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

.lux-feature-grid article {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 104px;
  padding: 1.15rem;
  display: flex;
  position: relative;
}

.lux-feature-grid article + article:before {
  background: var(--lux-line);
  content: "";
  width: 1px;
  position: absolute;
  top: 22%;
  bottom: 22%;
  left: 0;
}

.lux-feature-grid svg {
  color: var(--lux-pale-gold);
  margin-bottom: .3rem;
}

.lux-feature-grid h3 {
  letter-spacing: .03em;
  text-transform: uppercase;
  font-size: .72rem;
  line-height: 1.2;
}

.lux-feature-grid p {
  color: #ddd7cc;
  margin-top: .2rem;
  font-size: .65rem;
  line-height: 1.35;
}

.lux-section {
  border-bottom: 1px solid var(--lux-line, #d8a84f99);
  padding-block: clamp(2.3rem, 5vw, 4.75rem);
  position: relative;
}

.lux-section-lead {
  grid-template-columns: minmax(250px, 1fr) minmax(260px, 1.2fr) auto;
  align-items: end;
  gap: 2rem;
  margin-bottom: 1.5rem;
  display: grid;
}

.lux-section-lead h2, .lux-gallery-copy h2, .lux-process h2, .lux-booking-band h2, .lux-home-medical h2, .lux-story-grid h2, .lux-contact-main h2, .lux-fresha-band h2, .lux-location h2, .lux-faq-layout h2 {
  letter-spacing: -.02em;
  margin-top: .25rem;
  font-size: clamp(2rem, 3vw, 3.45rem);
  line-height: .96;
}

.lux-section-lead > p {
  color: #ddd7cd;
  max-width: 62ch;
  font-size: .8rem;
  line-height: 1.5;
}

.lux-card-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .7rem;
  display: grid;
}

.lux-card-grid-wide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-results-page .lux-card-grid-wide {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lux-home-page .lux-card-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.lux-service-card {
  background: linear-gradient(145deg, #101211, #070808);
  border: 1px solid #d8a84f6e;
  border-radius: 2px;
  min-width: 0;
  transition: transform .26s, border-color .26s, box-shadow .26s;
  overflow: hidden;
}

.lux-service-card:hover {
  border-color: var(--lux-gold);
  transform: translateY(-4px);
  box-shadow: 0 11px 34px #00000080;
}

.lux-service-card-image {
  aspect-ratio: 1.34;
  position: relative;
  overflow: hidden;
}

.lux-card-grid-wide .lux-service-card-image {
  aspect-ratio: 2.5;
}

.lux-results-page .lux-card-grid-wide .lux-service-card-image {
  aspect-ratio: 1.8;
}

.lux-service-card-image img {
  transition: transform .65s;
}

.lux-service-card:hover img {
  transform: scale(1.045);
}

.lux-service-card-copy {
  border-top: 1px solid #d8a84f52;
  min-height: 92px;
  padding: .75rem 2rem .7rem .75rem;
  position: relative;
}

.lux-service-card-copy h3 {
  letter-spacing: .025em;
  text-transform: uppercase;
  font-size: .72rem;
  line-height: 1.2;
}

.lux-service-card-copy p {
  color: #e1dbd1;
  margin-top: .35rem;
  font-size: .62rem;
  line-height: 1.4;
}

.lux-service-card-copy > span {
  border: 1px solid var(--lux-gold);
  width: 24px;
  height: 24px;
  color: var(--lux-pale-gold);
  border-radius: 50%;
  place-items: center;
  display: grid;
  position: absolute;
  top: .65rem;
  right: .55rem;
}

.lux-gallery-section {
  padding-block: 1.15rem;
}

.lux-gallery-row {
  grid-template-columns: 235px 1fr;
  align-items: stretch;
  gap: 1.2rem;
  display: grid;
}

.lux-gallery-copy {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.lux-gallery-copy h2 {
  font-size: clamp(2rem, 3vw, 3.25rem);
}

.lux-gallery-copy p {
  color: #ddd7cc;
  margin: .65rem 0 1rem;
  font-size: .7rem;
  line-height: 1.45;
}

.lux-gallery-images {
  grid-template-columns: repeat(5, 1fr);
  gap: .65rem;
  min-height: 190px;
  display: grid;
}

.lux-gallery-images > div {
  border: 1px solid #d8a84f47;
  position: relative;
  overflow: hidden;
}

.lux-work-gallery {
  background: radial-gradient(circle at 8% 12%, #d8a84f17, #0000 25rem), linear-gradient(150deg, #0c0e0d, #050606 68%);
  padding-block: clamp(3rem, 6vw, 6.5rem);
  overflow: hidden;
}

.lux-work-gallery-heading {
  border-bottom: 1px solid #d8a84f52;
  grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr);
  align-items: end;
  gap: clamp(1.2rem, 4vw, 4rem);
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem);
  display: grid;
}

.lux-work-gallery-heading h2 {
  letter-spacing: -.025em;
  font-size: clamp(2.4rem, 4vw, 4.75rem);
  line-height: .94;
}

.lux-work-gallery-heading p {
  color: #dcd5ca;
  max-width: 64ch;
  margin-top: .8rem;
  font-size: .78rem;
  line-height: 1.65;
}

.lux-work-gallery-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: clamp(.6rem, 1.1vw, 1rem);
  display: grid;
}

.lux-work-gallery-grid figure {
  aspect-ratio: 4 / 5;
  background: #111311;
  border: 1px solid #d8a84f57;
  min-width: 0;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.lux-work-gallery-grid figure:first-child {
  aspect-ratio: 1.55;
  grid-column: span 2;
}

.lux-work-gallery-grid figure:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(#0000 70%, #0000002e);
  border: 1px solid #0000;
  transition: border-color .24s;
  position: absolute;
  inset: 0;
}

.lux-work-gallery-grid img {
  transition: transform .6s;
}

@media (hover: hover) {
  .lux-work-gallery-grid figure:hover:after {
    border-color: #f1ce8285;
  }

  .lux-work-gallery-grid figure:hover img {
    transform: scale(1.025);
  }
}

@media (max-width: 900px) {
  .lux-work-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .lux-work-gallery {
    padding-block: 3.25rem;
  }

  .lux-work-gallery-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: .6rem;
  }

  .lux-work-gallery-heading h2 {
    font-size: clamp(2.45rem, 12vw, 3.4rem);
  }

  .lux-work-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
  }
}

.lux-medical-approach.lux-gallery-section {
  background: #070808;
  border-block: 1px solid #d8a84fbd;
  grid-template-columns: 53.7% 46.3%;
  height: clamp(322px, 21.1vw, 474px);
  padding: 0;
  display: grid;
  overflow: hidden;
}

.lux-medical-approach-panel {
  background: linear-gradient(#04060557, #04060557), url("images/client-layout/gold-marble-botanical.webp") center / cover;
  min-width: 0;
}

.lux-medical-approach-content {
  grid-template-columns: minmax(0, 62%) minmax(0, 38%);
  align-items: center;
  height: 100%;
  padding: clamp(1.4rem, 1.5vw, 2.1rem) clamp(2rem, 3.6vw, 5.05rem) clamp(1.4rem, 1.5vw, 2.1rem) clamp(2.4rem, 4.4vw, 6.2rem);
  display: grid;
}

.lux-medical-approach-intro {
  min-width: 0;
  padding-right: clamp(1.4rem, 2.7vw, 3.8rem);
}

.lux-medical-approach-intro .lux-kicker {
  letter-spacing: .24em;
  margin-bottom: clamp(.35rem, .52vw, .7rem);
  font-size: clamp(.66rem, .78vw, 1.05rem);
}

.lux-medical-approach-intro h2 {
  color: #f2dfb9;
  text-shadow: 0 2px 2px #000000b8;
  font-size: clamp(2rem, 2.22vw, 3.12rem);
  line-height: 1.03;
}

.lux-medical-approach-intro > p {
  color: #f4f2ee;
  max-width: 34rem;
  margin-top: clamp(.75rem, 1vw, 1.4rem);
  font-size: clamp(.76rem, .9vw, 1.18rem);
  line-height: 1.42;
}

.lux-medical-approach-intro .lux-button-outline {
  letter-spacing: .035em;
  border-color: #e0b568;
  min-width: clamp(180px, 13.8vw, 310px);
  min-height: clamp(42px, 3vw, 64px);
  margin-top: clamp(.8rem, 1.05vw, 1.5rem);
  font-size: clamp(.67rem, .78vw, 1rem);
  box-shadow: inset 0 0 0 2px #070808eb, inset 0 0 0 3px #e0b56875;
}

.lux-medical-approach-intro .lux-button-outline svg {
  color: #e3b968;
  margin-left: auto;
}

.lux-medical-approach-benefits {
  align-content: center;
  gap: clamp(.65rem, 1.15vw, 1.6rem);
  display: grid;
}

.lux-medical-approach-benefits article {
  grid-template-columns: clamp(54px, 4vw, 88px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(.8rem, 1.5vw, 2rem);
  min-width: 0;
  display: grid;
}

.lux-medical-approach-icon {
  aspect-ratio: 1;
  color: #e2b766;
  border: 2px solid #dcb060;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.lux-medical-approach-icon svg {
  width: clamp(27px, 1.75vw, 39px);
  height: auto;
}

.lux-medical-approach-benefits h3 {
  color: #f8f6f1;
  font-size: clamp(.9rem, 1.06vw, 1.42rem);
  font-weight: 500;
  line-height: 1.18;
}

.lux-medical-approach-benefits p {
  color: #e6e2db;
  margin-top: .22rem;
  font-size: clamp(.72rem, .86vw, 1.12rem);
  line-height: 1.34;
}

.lux-medical-approach-image {
  border-left: 1px solid #d8a84fa8;
  min-width: 0;
  position: relative;
  overflow: hidden;
}

.lux-medical-approach-image img {
  object-fit: cover;
  object-position: center 49%;
}

.lux-medical-approach-image:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #0000 56%, #2d181014 100%);
  position: absolute;
  inset: 0;
}

.lux-medical-approach-script {
  z-index: 1;
  color: #d7a759;
  text-align: center;
  text-shadow: 0 2px 5px #270f0999;
  font-family: Snell Roundhand, Segoe Script, cursive;
  font-size: clamp(1.85rem, 2.3vw, 3.25rem);
  font-weight: 400;
  line-height: .92;
  position: absolute;
  top: 54%;
  right: 6%;
  transform: translateY(-50%)rotate(-6deg);
}

@media (max-width: 1023px) {
  .lux-medical-approach.lux-gallery-section {
    height: auto;
    display: block;
  }

  .lux-medical-approach-content {
    min-height: 360px;
    padding: 2.4rem clamp(2rem, 7vw, 4.5rem);
  }

  .lux-medical-approach-image {
    aspect-ratio: 2;
    border-top: 1px solid #d8a84fa8;
    border-left: 0;
  }
}

@media (max-width: 767px) {
  .lux-medical-approach-content {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 2.25rem 1.25rem 2.5rem;
  }

  .lux-medical-approach-intro {
    padding-right: 0;
  }

  .lux-medical-approach-intro .lux-kicker {
    margin-bottom: .65rem;
    font-size: .72rem;
  }

  .lux-medical-approach-intro h2 {
    font-size: clamp(2.15rem, 10vw, 2.75rem);
    line-height: 1;
  }

  .lux-medical-approach-intro > p {
    margin-top: 1.2rem;
    font-size: .94rem;
    line-height: 1.62;
  }

  .lux-medical-approach-intro .lux-button-outline {
    width: 100%;
    min-height: 52px;
    margin-top: 1.35rem;
    padding-inline: 1.25rem;
    font-size: .76rem;
  }

  .lux-medical-approach-benefits {
    border-top: 1px solid #d8a84f52;
    gap: 0;
    margin-top: 2rem;
  }

  .lux-medical-approach-benefits article {
    border-bottom: 1px solid #d8a84f52;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem 0;
  }

  .lux-medical-approach-icon {
    border-width: 1.5px;
  }

  .lux-medical-approach-benefits h3 {
    font-size: 1rem;
  }

  .lux-medical-approach-benefits p {
    margin-top: .3rem;
    font-size: .82rem;
    line-height: 1.45;
  }

  .lux-medical-approach-image {
    aspect-ratio: 4 / 3;
  }

  .lux-medical-approach-image img {
    object-position: 48% center;
  }

  .lux-medical-approach-script {
    font-size: clamp(1.65rem, 8vw, 2.25rem);
    top: 57%;
    right: 5%;
  }
}

.lux-process {
  border-bottom: 1px solid var(--lux-line);
  background: #050706d1;
  padding-block: 1.4rem 1.8rem;
}

.lux-process h2 {
  margin-bottom: 1rem;
  font-size: clamp(1.75rem, 2.5vw, 2.55rem);
}

.lux-process-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  display: grid;
}

.lux-process-grid article {
  border-right: 1px solid #d8a84f61;
  align-items: center;
  gap: .85rem;
  padding-right: 1rem;
  display: flex;
}

.lux-process-grid article:last-child {
  border-right: 0;
}

.lux-process-grid strong {
  border: 1px solid var(--lux-gold);
  width: 44px;
  height: 44px;
  font-family: var(--font-display);
  border-radius: 50%;
  flex: none;
  place-items: center;
  font-size: 1.35rem;
  font-weight: 400;
  display: grid;
}

.lux-process-grid h3 {
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .66rem;
}

.lux-process-grid p {
  color: #ded8ce;
  margin-top: .25rem;
  font-size: .61rem;
  line-height: 1.4;
}

.lux-disclaimer {
  color: #bfb9ae;
  text-align: center;
  padding-block: .8rem;
  font-size: .62rem;
  line-height: 1.4;
}

.lux-booking-band {
  border-bottom: 1px solid var(--lux-line);
  background: radial-gradient(circle at 7%, #dda84640, #0000 15rem), linear-gradient(90deg, #12100c, #070908 45%, #0a0c0b);
}

.lux-booking-band > div {
  grid-template-columns: 105px 1fr auto minmax(260px, 30%);
  align-items: center;
  gap: 1.5rem;
  min-height: 112px;
  display: grid;
}

.lux-booking-band > div > svg {
  color: var(--lux-pale-gold);
}

.lux-booking-band h2 {
  font-size: clamp(1.7rem, 2.4vw, 2.55rem);
}

.lux-booking-band p {
  color: #d7d1c7;
  margin-top: .2rem;
  font-size: .65rem;
}

.lux-band-values {
  justify-content: flex-end;
  gap: 1.7rem;
  display: flex;
}

.lux-band-values span {
  text-align: center;
  text-transform: uppercase;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  font-size: .58rem;
  display: flex;
}

.lux-band-values svg {
  color: var(--lux-pale-gold);
}

.lux-medical-booking-band {
  background: linear-gradient(#04060547, #04060547), url("images/client-layout/gold-marble-botanical.webp") center / cover;
  border-block: 1px solid #d8a84fc7;
  height: clamp(104px, 6.79vw, 152px);
  overflow: hidden;
}

.lux-medical-booking-band > .lux-shell {
  grid-template-columns: minmax(0, 40.5vw) minmax(260px, 20.6vw);
  align-items: center;
  gap: 3vw;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding-left: 22.8vw;
  padding-right: 13.1vw;
  display: grid;
}

.lux-medical-booking-band h2 {
  color: #f1dfbd;
  white-space: nowrap;
  text-shadow: 0 2px 2px #000000b3;
  margin: 0;
  font-size: clamp(2rem, 2.15vw, 3rem);
  line-height: 1;
}

.lux-medical-booking-band p {
  color: #f2efea;
  white-space: nowrap;
  margin-top: clamp(.25rem, .38vw, .55rem);
  font-size: clamp(.76rem, .9vw, 1.25rem);
  line-height: 1.25;
}

.lux-medical-booking-band .lux-button {
  background: linear-gradient(112deg, #9d682e, #dda95a 52%, #956027);
  border-color: #a97632;
  justify-content: center;
  width: 100%;
  min-height: clamp(50px, 3.4vw, 76px);
  font-size: clamp(.72rem, .8vw, 1.08rem);
  box-shadow: 0 3px 10px #0000008c, inset 0 0 0 2px #fad1832e, inset 0 1px #fff6;
}

.lux-medical-booking-band .lux-button svg {
  margin-left: .35rem;
}

@media (max-width: 1023px) {
  .lux-medical-booking-band {
    background-size: auto 100%;
    height: auto;
    min-height: 280px;
  }

  .lux-medical-booking-band > .lux-shell {
    grid-template-columns: minmax(0, 1fr) minmax(245px, 34%);
    gap: clamp(1.5rem, 5vw, 3rem);
    padding: 2.8rem clamp(2rem, 7vw, 4.5rem);
  }

  .lux-medical-booking-band h2, .lux-medical-booking-band p {
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .lux-medical-booking-band {
    background-size: auto 100%;
    min-height: 340px;
  }

  .lux-medical-booking-band > .lux-shell {
    text-align: center;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 1.6rem;
    padding: 3.3rem 1.25rem;
  }

  .lux-medical-booking-band h2 {
    font-size: clamp(2.15rem, 10vw, 2.75rem);
    line-height: 1;
  }

  .lux-medical-booking-band p {
    max-width: 34ch;
    margin: .9rem auto 0;
    font-size: .94rem;
    line-height: 1.55;
  }

  .lux-medical-booking-band .lux-button {
    justify-self: stretch;
    width: 100%;
    min-height: 54px;
    font-size: .76rem;
  }
}

.lux-filter-strip {
  border-bottom: 1px solid var(--lux-line);
  padding-block: .85rem;
}

.lux-filter-strip > div {
  gap: .6rem;
  display: flex;
}

.lux-filter-strip span {
  color: #eee9df;
  text-align: center;
  text-transform: uppercase;
  border: 1px solid #d8a84f73;
  flex: 1;
  padding: .65rem .5rem;
  font-size: .62rem;
}

.lux-filter-strip span.active {
  color: #fff;
  background: linear-gradient(112deg, #9b682d, #d9ad5b, #9b682d);
}

.lux-space-section {
  padding-block: 1.6rem;
}

.lux-studio-gallery {
  grid-template-columns: repeat(5, 1fr);
  gap: .45rem;
  height: 170px;
  display: grid;
}

.lux-studio-gallery > div {
  border: 1px solid #d8a84f57;
  position: relative;
  overflow: hidden;
}

.lux-faq-layout {
  grid-template-columns: 2.1fr .9fr;
  gap: 2.2rem;
  display: grid;
}

.lux-faq-layout .lux-section-lead {
  grid-template-columns: 1.1fr 1fr;
}

.lux-faq-list {
  gap: .65rem;
  display: grid;
}

.lux-faq-list details {
  background: #070908db;
  border: 1px solid #d8a84f8c;
}

.lux-faq-list summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  min-height: 54px;
  padding: .75rem 1rem;
  font-size: .78rem;
  list-style: none;
  display: flex;
}

.lux-faq-list summary::-webkit-details-marker {
  display: none;
}

.lux-faq-list summary span {
  color: var(--lux-pale-gold);
  font-size: 1.3rem;
}

.lux-faq-list details p {
  color: #d8d2c8;
  padding: 0 1rem 1rem;
  font-size: .72rem;
}

.lux-faq-layout aside {
  background: #0d0f0e;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  min-height: 630px;
  padding: 2rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.lux-faq-layout aside:after {
  content: "";
  background: linear-gradient(#0000, #000000eb 56%);
  position: absolute;
  inset: 0;
}

.lux-faq-layout aside > :not(.lux-faq-aside-image) {
  z-index: 1;
  position: relative;
}

.lux-faq-aside-image {
  position: absolute;
  inset: 0;
}

.lux-faq-layout aside .lux-script {
  align-self: center;
  margin-bottom: auto;
  padding-top: 4rem;
}

.lux-faq-layout aside h3 {
  color: var(--lux-pale-gold);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .72rem;
}

.lux-faq-layout aside p {
  margin: .55rem 0 1rem;
  font-size: .7rem;
}

.lux-faq-layout aside .lux-button-outline {
  margin-top: .55rem;
}

.lux-home-medical {
  border-bottom: 1px solid var(--lux-line);
  grid-template-columns: 45% 32% 23%;
  min-height: 270px;
  display: grid;
}

.lux-home-medical-image, .lux-home-face, .lux-story-result, .lux-story-room {
  min-height: 230px;
  position: relative;
}

.lux-home-medical-copy {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 2rem;
  display: flex;
}

.lux-home-medical-copy p, .lux-story-grid p {
  color: #ded8ce;
  margin: .65rem 0 1rem;
  font-size: .72rem;
  line-height: 1.45;
}

.lux-story-grid {
  border: 1px solid #d8a84f57;
  grid-template-columns: 1fr 1.25fr 1.25fr 1fr;
  display: grid;
}

.lux-story-grid > div:not(.lux-story-result):not(.lux-story-room) {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 1.4rem;
  display: flex;
}

.lux-about-hero, .lux-contact-hero {
  border-bottom: 1px solid var(--lux-line);
  grid-template-columns: 32% 68%;
  min-height: 410px;
  display: grid;
}

.lux-about-hero-copy, .lux-contact-hero > div:first-child {
  background: repeating-linear-gradient(125deg, #0000 0 95px, #d8a84f0f 96px, #0000 98px 190px), #060707;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 3rem clamp(2rem, 4vw, 4.5rem);
  display: flex;
}

.lux-about-hero h1, .lux-contact-hero h1 {
  letter-spacing: -.035em;
  text-transform: uppercase;
  margin-top: .55rem;
  font-size: clamp(3rem, 5.4vw, 5.9rem);
  line-height: .86;
}

.lux-about-hero h1 em, .lux-contact-hero h1 em, .lux-about-hero h2 em, .lux-about-story h2 em {
  color: var(--lux-pale-gold);
  font-style: normal;
}

.lux-about-hero h2, .lux-contact-hero h2 {
  margin-top: .9rem;
  font-size: clamp(1.35rem, 2vw, 2.2rem);
  line-height: 1.05;
}

.lux-about-hero p, .lux-contact-hero p {
  color: #e1dbd1;
  margin-top: .85rem;
  font-size: .75rem;
  line-height: 1.5;
}

.lux-about-hero-copy > div {
  align-items: center;
  gap: 1rem;
  margin-top: 1.2rem;
  display: flex;
}

.lux-text-link {
  color: #f3eee5;
  letter-spacing: .04em;
  text-transform: uppercase;
  align-items: center;
  gap: .5rem;
  font-size: .68rem;
  display: inline-flex;
}

.lux-text-link svg {
  color: var(--lux-pale-gold);
}

.lux-about-hero-image, .lux-contact-hero-image {
  min-height: 410px;
  position: relative;
}

.lux-about-hero-image > span {
  color: #fff;
  letter-spacing: .23em;
  text-align: right;
  text-transform: uppercase;
  font-size: .75rem;
  line-height: 1.8;
  position: absolute;
  top: 3rem;
  right: 2rem;
}

.lux-about-story {
  border-bottom: 1px solid var(--lux-line);
  grid-template-columns: 33% 67%;
  min-height: 430px;
  display: grid;
}

.lux-about-story-copy {
  flex-direction: column;
  justify-content: center;
  padding: 2.5rem clamp(2rem, 4vw, 4.5rem);
  display: flex;
}

.lux-about-story h2 {
  margin-top: .5rem;
  font-size: clamp(2.5rem, 4.2vw, 4.5rem);
  line-height: .9;
}

.lux-about-story-copy p {
  color: #ded8ce;
  white-space: pre-line;
  margin-top: 1rem;
  font-size: .74rem;
  line-height: 1.5;
}

.lux-about-story-copy .lux-script {
  text-align: center;
  margin-top: 1rem;
}

.lux-about-story-image {
  position: relative;
}

.lux-about-team {
  isolation: isolate;
  border-bottom: 1px solid var(--lux-line);
  background: radial-gradient(circle at 88% 10%, #d8a84f1a, #0000 25rem), linear-gradient(115deg, #ffffff03, #0000 42%), #080908;
  padding-block: clamp(4.5rem, 7vw, 7.5rem);
  position: relative;
  overflow: hidden;
}

.lux-about-team:before {
  z-index: -1;
  background: linear-gradient(90deg, transparent, var(--lux-gold), transparent);
  content: "";
  width: min(1120px, 86vw);
  height: 1px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 28px #d8a84f61;
}

.lux-about-team-header {
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 6rem);
  max-width: 1140px;
  margin-inline: auto;
  display: grid;
}

.lux-about-team-header > div {
  border-right: 1px solid #d8a84f70;
  padding-right: clamp(2rem, 6vw, 6rem);
}

.lux-about-team-header h2 {
  letter-spacing: -.035em;
  max-width: 15ch;
  margin-top: .65rem;
  font-size: clamp(3rem, 5.6vw, 5.7rem);
  line-height: .9;
}

.lux-about-team-header h2 em {
  color: var(--lux-pale-gold);
  font-style: italic;
}

.lux-about-team-header > p {
  color: #ded8ce;
  max-width: 34ch;
  font-family: var(--font-display);
  padding-bottom: .35rem;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1.35;
}

.lux-about-team-list {
  max-width: 1160px;
  margin: clamp(4rem, 7vw, 7rem) auto 0;
}

.lux-about-team-member {
  grid-template-columns: minmax(340px, .84fr) minmax(0, 1.16fr);
  align-items: stretch;
  display: grid;
}

.lux-about-team-member + .lux-about-team-member {
  margin-top: clamp(4.5rem, 8vw, 8rem);
}

.lux-about-team-member figure {
  z-index: 2;
  background: #f4f3f0;
  border: 1px solid #d8a84fb8;
  align-self: start;
  margin: 0;
  padding: 9px;
  position: relative;
  box-shadow: 0 24px 70px #0000007a, 0 0 0 1px #ffebbe14;
}

.lux-about-team-member figure:before {
  z-index: -1;
  content: "";
  border-bottom: 1px solid #d8a84f57;
  border-right: 1px solid #d8a84f57;
  position: absolute;
  inset: 14px -14px -14px 14px;
}

.lux-about-team-member figure img {
  object-fit: contain;
  width: 100%;
  height: auto;
  display: block;
}

.lux-about-team-member figure > span {
  z-index: 3;
  border: 1px solid var(--lux-gold);
  width: 70px;
  height: 70px;
  color: var(--lux-pale-gold);
  font-family: var(--font-display);
  letter-spacing: .12em;
  background: #080908;
  place-items: center;
  font-size: 1.2rem;
  display: grid;
  position: absolute;
  top: 50%;
  right: -35px;
  transform: translateY(-50%);
  box-shadow: 0 0 28px #d8a84f40;
}

.lux-about-team-copy {
  background: radial-gradient(circle at 12%, #d8a84f14, #0000 19rem), #080a09c7;
  border-block: 1px solid #d8a84f52;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(2.5rem, 5vw, 5.5rem);
  display: flex;
}

.lux-about-team-role {
  color: var(--lux-pale-gold);
  letter-spacing: .19em;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.45;
}

.lux-about-team-copy h3 {
  color: #fffaf1;
  max-width: 14ch;
  font-family: var(--font-display);
  letter-spacing: -.035em;
  margin-top: .65rem;
  font-size: clamp(2.6rem, 4.8vw, 5rem);
  font-weight: 400;
  line-height: .9;
}

.lux-about-team-qualifications {
  border-left: 1px solid var(--lux-gold);
  color: #f1e4c8;
  max-width: 55ch;
  font-family: var(--font-display);
  padding-left: 1rem;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.45;
  margin-top: 1.15rem !important;
}

.lux-about-team-biography {
  max-width: 64ch;
  margin-top: 1.45rem;
}

.lux-about-team-biography p {
  color: #dcd6cc;
  font-size: .82rem;
  line-height: 1.72;
}

.lux-about-team-biography p + p {
  margin-top: .9rem;
}

.lux-about-team-verification {
  color: var(--lux-pale-gold);
  letter-spacing: .11em;
  text-transform: uppercase;
  border-bottom: 1px solid #d8a84fb3;
  align-items: center;
  gap: .7rem;
  margin-top: 1.5rem;
  padding-bottom: .45rem;
  font-size: .67rem;
  font-weight: 700;
  transition: color .18s, border-color .18s;
  display: inline-flex;
}

.lux-about-team-verification:hover {
  color: #fff3d5;
  border-color: #fff3d5;
}

.lux-about-team-verification:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 5px;
}

.lux-about-team-member.is-reversed {
  grid-template-columns: minmax(0, 1.16fr) minmax(340px, .84fr);
}

.lux-about-team-member.is-reversed figure {
  grid-area: 1 / 2;
}

.lux-about-team-member.is-reversed figure:before {
  border-bottom: 1px solid #d8a84f57;
  border-left: 1px solid #d8a84f57;
  border-right: 0;
  inset: 14px 14px -14px -14px;
}

.lux-about-team-member.is-reversed figure > span {
  left: -35px;
  right: auto;
}

.lux-about-team-member.is-reversed .lux-about-team-copy {
  background: radial-gradient(circle at 88%, #d8a84f14, #0000 19rem), #080a09c7;
  grid-area: 1 / 1;
}

@media (max-width: 900px) {
  .lux-about-team-header {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .lux-about-team-header > div {
    border-right: 0;
    padding-right: 0;
  }

  .lux-about-team-member, .lux-about-team-member.is-reversed {
    grid-template-columns: minmax(280px, .86fr) minmax(0, 1.14fr);
  }

  .lux-about-team-copy {
    padding: clamp(2rem, 4.5vw, 3.5rem);
  }

  .lux-about-team-copy h3 {
    font-size: clamp(2.5rem, 6vw, 4rem);
  }
}

@media (max-width: 700px) {
  .lux-about-team {
    padding-block: 4rem;
  }

  .lux-about-team-header h2 {
    max-width: 12ch;
    font-size: clamp(2.75rem, 13vw, 4.2rem);
  }

  .lux-about-team-header > p {
    font-size: 1.2rem;
  }

  .lux-about-team-list {
    margin-top: 3.5rem;
  }

  .lux-about-team-member, .lux-about-team-member.is-reversed {
    grid-template-columns: minmax(0, 1fr);
  }

  .lux-about-team-member + .lux-about-team-member {
    margin-top: 5rem;
  }

  .lux-about-team-member figure, .lux-about-team-member.is-reversed figure {
    grid-area: 1 / 1;
  }

  .lux-about-team-member figure:before, .lux-about-team-member.is-reversed figure:before {
    border-bottom: 1px solid #d8a84f57;
    border-left: 0;
    border-right: 1px solid #d8a84f57;
    inset: 10px -10px -10px 10px;
  }

  .lux-about-team-member figure > span, .lux-about-team-member.is-reversed figure > span {
    width: 58px;
    height: 58px;
    font-size: 1rem;
    inset: auto 50% -29px auto;
    transform: translateX(50%);
  }

  .lux-about-team-copy, .lux-about-team-member.is-reversed .lux-about-team-copy {
    background: #080a09d1;
    border-top: 0;
    grid-area: 2 / 1;
    padding: 3.6rem 1.25rem 2.4rem;
  }

  .lux-about-team-copy h3 {
    max-width: 12ch;
    font-size: clamp(2.7rem, 13vw, 4rem);
  }

  .lux-about-team-qualifications {
    font-size: .96rem;
  }

  .lux-about-team-biography p {
    font-size: .86rem;
    line-height: 1.75;
  }
}

.lux-contact-hero {
  grid-template-columns: 28% 72%;
}

.lux-contact-hero h1 {
  font-size: clamp(3.1rem, 5.1vw, 5.5rem);
}

.lux-contact-hero .lux-script {
  margin-top: 1.2rem;
  font-size: clamp(1.25rem, 1.9vw, 2rem);
}

.lux-contact-main {
  padding-block: 1.7rem;
}

.lux-contact-grid {
  grid-template-columns: 30% 1fr;
  gap: 2.5rem;
  display: grid;
}

.lux-contact-grid > aside {
  padding: .6rem 0;
}

.lux-contact-grid aside h2 {
  margin-top: .55rem;
  font-size: 2rem;
}

.lux-contact-grid aside h3 {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 400;
}

.lux-contact-grid aside ul {
  gap: 0;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.lux-contact-grid aside li {
  font-family: var(--font-display);
  border-bottom: 1px solid #d8a84f4d;
  align-items: center;
  gap: 1rem;
  padding-block: .75rem;
  font-size: 1rem;
  display: flex;
}

.lux-contact-grid aside li > svg {
  box-sizing: content-box;
  border: 1px solid var(--lux-gold);
  color: var(--lux-pale-gold);
  border-radius: 50%;
  flex: none;
  padding: .65rem;
}

.lux-contact-grid aside li small {
  color: #d4cec5;
  font-family: var(--font-body);
  margin-top: .1rem;
  font-size: .6rem;
  display: block;
}

.lux-contact-form-panel {
  background: #080a09d6;
  border: 1px solid #d8a84f73;
  padding: 1.5rem 2rem;
}

.lux-contact-form-panel > p {
  color: #ded8ce;
  margin-top: .45rem;
  font-size: .72rem;
}

.lux-contact-form-panel .ch-contact-form {
  margin-top: 1rem;
}

.lux-contact-form-panel .ch-contact-form fieldset {
  border: 0;
  grid-template-columns: 1fr 1fr;
  gap: .65rem .8rem;
  padding: 0;
  display: grid;
}

.lux-contact-form-panel .ch-contact-form label {
  gap: .25rem;
  display: grid;
}

.lux-contact-form-panel .ch-contact-form label > span {
  color: #e5dfd5;
  font-size: .63rem;
}

.lux-contact-form-panel .ch-contact-form input, .lux-contact-form-panel .ch-contact-form select, .lux-contact-form-panel .ch-contact-form textarea {
  color: #fff;
  background: #111312e6;
  border: 1px solid #d8a84f85;
  border-radius: 2px;
  width: 100%;
  padding: .62rem .75rem;
  font-size: .68rem;
}

.lux-contact-form-panel .ch-form-wide {
  grid-column: 1 / -1;
}

.lux-contact-form-panel .ch-form-wide textarea {
  resize: vertical;
  min-height: 94px;
}

.lux-contact-form-panel .ch-contact-form > button {
  margin-top: .8rem;
}

.lux-fresha-band {
  border-block: 1px solid var(--lux-line);
  padding-block: 1.4rem;
}

.lux-fresha-band > div {
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.5rem;
  display: grid;
}

.lux-fresha-band > div > svg {
  color: var(--lux-pale-gold);
}

.lux-fresha-band h2 {
  font-size: clamp(1.7rem, 2.4vw, 2.5rem);
}

.lux-fresha-band p, .lux-location p {
  color: #ded8ce;
  font-size: .68rem;
}

.lux-location > div {
  grid-template-columns: 30% 1fr 34%;
  align-items: center;
  gap: 2rem;
  display: grid;
}

.lux-location-image {
  min-height: 180px;
  position: relative;
}

.lux-simple-hero {
  border-bottom: 1px solid var(--lux-line);
  background: linear-gradient(90deg, #000000b8, #00000040), url("images/ch-beauty/lounge.webp") center / cover;
  min-height: 320px;
  padding: 7rem max(36px, 50vw - 660px) 3rem;
}

.lux-simple-hero h1 {
  max-width: 11ch;
  margin-top: .6rem;
  font-size: clamp(3.4rem, 6vw, 6.5rem);
  line-height: .9;
}

.lux-simple-hero p {
  margin-top: .75rem;
}

.lux-booking-page, .lux-legal {
  max-width: 820px;
}

.lux-booking-page h2 {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 4vw, 4.5rem);
  font-weight: 400;
}

.lux-booking-page > div {
  flex-wrap: wrap;
  gap: .5rem;
  margin-block: 1.4rem;
  display: flex;
}

.lux-booking-page > div span {
  border: 1px solid #d8a84f73;
  padding: .45rem .7rem;
  font-size: .68rem;
}

.site-footer {
  color: #f2ede4;
  background: repeating-linear-gradient(116deg, #0000 0 145px, #d8a84f09 146px, #0000 148px 290px), #080a09;
  border-top: 1px solid #d8a84fb8;
}

.site-footer-grid {
  grid-template-columns: 1.45fr 1.45fr 1.15fr 1.2fr .8fr;
  gap: 0;
  padding-block: 1.4rem;
  display: grid;
}

.site-footer-grid > * {
  border-right: 1px solid #d8a84f57;
  padding-inline: 1.2rem;
}

.site-footer-grid > :first-child {
  padding-left: 0;
}

.site-footer-grid > :last-child {
  border-right: 0;
}

.site-footer-brand {
  align-items: center;
  gap: .9rem;
  display: flex;
}

.site-footer-brand strong {
  letter-spacing: .04em;
  font-size: .72rem;
}

.site-footer p, .site-footer a, .site-footer button {
  color: #e1dbd1;
  font-size: .6rem;
  line-height: 1.7;
}

.site-footer-heading {
  color: #e9bb65;
  font-family: var(--font-body);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 .35rem;
  font-size: .62rem;
  font-weight: 600;
}

.site-footer-column {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.site-footer-badge {
  color: #fff;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
  border: 1px solid #d8a84f8c;
  align-self: center;
  padding-block: .8rem;
  font-size: .68rem;
  line-height: 1.5;
}

.site-footer-badge small {
  color: #e9bb65;
  margin-top: .35rem;
  font-size: .5rem;
  display: block;
}

.site-footer-bottom {
  color: #cfc8bd;
  border-top: 1px solid #d8a84f59;
  justify-content: space-between;
  align-items: center;
  padding-block: .8rem 1.2rem;
  font-size: .56rem;
  display: flex;
}

.site-footer-bottom > div {
  gap: 1rem;
  display: flex;
}

@media (max-width: 1080px) {
  .lux-header .ch-desktop-nav {
    gap: .62rem;
  }

  .lux-header .ch-desktop-nav a {
    font-size: .52rem;
  }

  .lux-header .ch-header-booking {
    min-width: 116px;
    padding-inline: .8rem;
  }

  .lux-hero {
    grid-template-columns: minmax(300px, 36%) 1fr;
  }

  .lux-feature-grid {
    width: 100%;
  }

  .lux-shell {
    width: min(100% - 36px, 1320px);
  }

  .lux-card-grid {
    gap: .45rem;
  }

  .lux-service-card-copy {
    padding-inline: .6rem 1.7rem;
  }

  .lux-booking-band > div {
    grid-template-columns: 72px 1fr auto;
  }

  .lux-band-values {
    display: none;
  }

  .site-footer-grid {
    grid-template-columns: 1.3fr 1.2fr 1fr 1fr;
  }

  .site-footer-badge {
    display: none;
  }
}

@media (max-width: 820px) {
  .lux-header-inner {
    grid-template-columns: 84px 1fr auto;
  }

  .lux-header .ch-desktop-nav, .lux-header .ch-header-booking {
    display: none;
  }

  .lux-header .ch-menu-toggle {
    display: grid;
  }

  .lux-logo {
    width: 78px;
    height: 78px;
  }

  .lux-hero {
    grid-template-columns: 42% 58%;
  }

  .lux-hero-copy {
    padding-inline: 1.5rem;
  }

  .lux-hero-copy h1 {
    font-size: clamp(2.8rem, 7vw, 4.2rem);
  }

  .lux-card-grid, .lux-home-page .lux-card-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .lux-results-page .lux-card-grid-wide {
    grid-template-columns: repeat(2, 1fr);
  }

  .lux-gallery-row {
    grid-template-columns: 190px 1fr;
  }

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

  .lux-gallery-images > div:nth-child(n+4) {
    display: none;
  }

  .lux-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lux-section-lead {
    grid-template-columns: 1fr 1fr;
  }

  .lux-section-lead .lux-button-outline {
    grid-column: 2;
    justify-self: start;
  }

  .lux-faq-layout {
    grid-template-columns: 1fr;
  }

  .lux-faq-layout aside {
    min-height: 440px;
  }

  .lux-home-medical {
    grid-template-columns: 42% 58%;
  }

  .lux-home-face {
    display: none;
  }

  .lux-story-grid {
    grid-template-columns: 1fr 1fr;
  }

  .lux-about-hero, .lux-contact-hero, .lux-about-story {
    grid-template-columns: 42% 58%;
  }

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

  .lux-location > div {
    grid-template-columns: 1fr 1fr;
  }

  .lux-location-image {
    display: none;
  }

  .site-footer-grid {
    grid-template-columns: 1fr 1fr;
    row-gap: 1.5rem;
  }

  .site-footer-grid > * {
    border-right: 0;
  }
}

@media (max-width: 620px) {
  .client-main {
    padding-top: 64px;
  }

  .lux-header, .lux-header-inner {
    height: 64px;
  }

  .lux-shell {
    width: min(100% - 28px, 1320px);
  }

  .lux-logo {
    width: 72px;
    height: 72px;
  }

  .lux-hero, .lux-about-hero, .lux-contact-hero {
    grid-template-columns: 1fr;
  }

  .lux-hero-copy, .lux-about-hero-copy, .lux-contact-hero > div:first-child {
    min-height: 430px;
    padding: 3rem 1.4rem 2rem;
  }

  .lux-hero-copy h1, .lux-about-hero h1, .lux-contact-hero h1 {
    font-size: clamp(3.3rem, 16vw, 5.4rem);
  }

  .lux-hero-media, .lux-about-hero-image, .lux-contact-hero-image {
    min-height: 62vw;
  }

  .lux-hero-mantra {
    display: none;
  }

  .lux-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lux-feature-grid article:nth-child(3):before {
    display: none;
  }

  .lux-feature-grid article:nth-child(n+3) {
    border-top: 1px solid #d8a84f4d;
  }

  .lux-section-lead {
    grid-template-columns: 1fr;
    gap: .8rem;
  }

  .lux-section-lead .lux-button-outline {
    grid-column: auto;
  }

  .lux-card-grid, .lux-card-grid-wide, .lux-home-page .lux-card-grid, .lux-results-page .lux-card-grid-wide {
    grid-template-columns: repeat(2, 1fr);
  }

  .lux-card-grid-wide .lux-service-card-image {
    aspect-ratio: 1.4;
  }

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

  .lux-gallery-images {
    min-height: 160px;
  }

  .lux-process-grid {
    grid-template-columns: 1fr;
  }

  .lux-process-grid article {
    border-bottom: 1px solid #d8a84f47;
    border-right: 0;
    padding-bottom: .8rem;
  }

  .lux-booking-band > div {
    text-align: center;
    grid-template-columns: 1fr;
    gap: .8rem;
    padding-block: 1.4rem;
  }

  .lux-booking-band > div > svg {
    margin-inline: auto;
  }

  .lux-booking-band .lux-button {
    justify-self: center;
  }

  .lux-filter-strip > div {
    padding-bottom: .25rem;
    overflow-x: auto;
  }

  .lux-filter-strip span {
    min-width: 125px;
  }

  .lux-studio-gallery {
    grid-template-columns: repeat(2, 1fr);
    height: 260px;
  }

  .lux-studio-gallery > div:last-child {
    display: none;
  }

  .lux-faq-layout .lux-section-lead, .lux-home-medical {
    grid-template-columns: 1fr;
  }

  .lux-home-medical-image {
    min-height: 65vw;
  }

  .lux-story-grid {
    grid-template-columns: 1fr;
  }

  .lux-story-result, .lux-story-room {
    min-height: 56vw;
  }

  .lux-about-hero-copy > div {
    flex-direction: column;
    align-items: flex-start;
  }

  .lux-about-story {
    grid-template-columns: 1fr;
  }

  .lux-about-story-image {
    min-height: 80vw;
  }

  .lux-contact-form-panel {
    padding: 1.2rem;
  }

  .lux-contact-form-panel .ch-contact-form fieldset {
    grid-template-columns: 1fr;
  }

  .lux-contact-form-panel .ch-form-wide {
    grid-column: auto;
  }

  .lux-fresha-band > div {
    text-align: center;
    grid-template-columns: 1fr;
  }

  .lux-fresha-band > div > svg {
    margin-inline: auto;
  }

  .lux-fresha-band .lux-button {
    justify-self: center;
  }

  .lux-location > div, .site-footer-grid {
    grid-template-columns: 1fr;
  }

  .site-footer-grid > * {
    padding: 0;
  }

  .site-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
  }

  .sticky-mobile-cta .button-primary {
    color: #fff;
    background: linear-gradient(112deg, #9b682d, #dfb563 54%, #9b682d);
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--ink);
}

body {
  background: radial-gradient(circle at 70% 10%,
      #8b672f14,
      transparent 28rem),
    var(--ink);
  color: var(--ivory);
  font-family: var(--font-body);
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
}

body:before {
  z-index: 100;
  pointer-events: none;
  content: "";
  opacity: .018;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  position: fixed;
  inset: 0;
}

::selection {
  color: var(--ink);
  background: var(--gold-light);
}

a, button, input, textarea, select {
  -webkit-tap-highlight-color: transparent;
}

a, button {
  touch-action: manipulation;
}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 4px;
}

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

.font-display {
  font-family: var(--font-display);
}

.responsive-hero-image {
  object-fit: cover;
}

.responsive-hero-image-mobile {
  visibility: hidden;
  opacity: 0;
}

@media (max-width: 767px) {
  .responsive-hero-image-desktop {
    visibility: hidden;
    opacity: 0;
  }

  .responsive-hero-image-mobile {
    visibility: visible;
    opacity: 1;
  }
}

.site-container {
  width: min(100% - 40px, 1440px);
  margin-inline: auto;
}

.section-shell {
  padding-block: clamp(4.5rem, 9vw, 9rem);
  position: relative;
}

.section-heading {
  max-width: 760px;
  margin-bottom: clamp(2rem, 4vw, 4rem);
}

.section-heading h2 {
  font-family: var(--font-display), serif;
  letter-spacing: -.025em;
  margin: 0;
  font-size: clamp(2.5rem, 5vw, 4.7rem);
  font-weight: 400;
  line-height: .98;
}

.section-heading p {
  max-width: 65ch;
  color: var(--stone);
  margin: 1.25rem 0 0;
}

.eyebrow {
  color: var(--gold-light);
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  font-size: .72rem;
  font-weight: 600;
  display: inline-block;
}

.gold-text {
  color: var(--gold-light);
}

.golden-line {
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .72;
  height: 1px;
}

.button-primary, .button-secondary {
  border-radius: var(--radius-control);
  letter-spacing: .08em;
  text-transform: uppercase;
  min-height: 48px;
  transition: transform .22s var(--ease-luxury),
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
  justify-content: center;
  align-items: center;
  gap: .7rem;
  padding: .85rem 1.35rem;
  font-size: .78rem;
  font-weight: 600;
  display: inline-flex;
}

.button-primary {
  border: 1px solid var(--gold-light);
  color: #11100f;
  background: linear-gradient(135deg, #9a7134, #d0ad67 52%, #9b7439);
  box-shadow: inset 0 1px #ffffff4d;
}

.button-secondary {
  color: var(--ivory);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #0d0d0f94;
  border: 1px solid #e0c37f85;
}

.button-primary:hover, .button-secondary:hover {
  transform: translateY(-2px);
}

.button-primary:active, .button-secondary:active {
  transform: scale(.98);
}

.image-frame {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  position: relative;
  overflow: hidden;
}

.image-frame img {
  transition: transform .8s var(--ease-luxury);
}

.image-frame:hover img {
  transform: scale(1.025);
}

.muted-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: linear-gradient(145deg, #23201ce6, #121213f0);
}

.reference-container {
  width: min(100% - 40px, 1280px);
  margin-inline: auto;
}

.reference-hero {
  border-bottom: 1px solid var(--line);
  min-height: 360px;
  position: relative;
  overflow: hidden;
}

.reference-section {
  padding-block: clamp(4rem, 7vw, 7rem);
  position: relative;
}

.reference-section-compact {
  padding-block: clamp(3rem, 5vw, 5rem);
  position: relative;
}

.reference-kicker {
  color: var(--gold-light);
  letter-spacing: .15em;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 600;
}

.reference-heading {
  flex-direction: column;
  max-width: 680px;
  margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
  display: flex;
}

.reference-heading h2 {
  font-family: var(--font-display), serif;
  letter-spacing: -.025em;
  margin-top: .55rem;
  font-size: clamp(2rem, 2.6vw, 2.65rem);
  font-weight: 400;
  line-height: .98;
}

.reference-heading p {
  max-width: 58ch;
  color: var(--stone);
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.7;
}

.reference-feature {
  min-width: 0;
  color: var(--gold-light);
  justify-content: center;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.reference-feature h3 {
  font-family: var(--font-display), serif;
  font-size: 1.22rem;
  line-height: 1.1;
}

.reference-feature p {
  color: var(--stone);
  margin-top: .28rem;
  font-size: .72rem;
  line-height: 1.45;
}

.reference-service-card {
  background: linear-gradient(135deg, #211f1d, #121213);
  border: 1px solid #c8a46157;
  border-radius: 8px;
  grid-template-rows: 1fr auto;
  grid-template-columns: 46% 54%;
  min-height: 162px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.reference-service-meta {
  min-height: 42px;
  color: var(--gold-light);
  letter-spacing: .05em;
  text-transform: uppercase;
  border-top: 1px solid #c8a46140;
  grid-column: 1 / -1;
  align-items: center;
  gap: 1.4rem;
  padding: .35rem .55rem .35rem 1rem;
  font-size: .68rem;
  display: flex;
}

.reference-image-card {
  background: #121213e0;
  border: 1px solid #c8a46157;
  border-radius: 8px;
  overflow: hidden;
}

.reference-marble {
  background: linear-gradient(115deg, #0000 0 30%, #c8a4610f 31%, #0000 32% 72%, #c8a46112 73%, #0000 74%), radial-gradient(circle at 85% 35%, #9a6a3a1f, #0000 28rem), #111112;
}

.reference-card {
  background: #141313f0;
  border: 1px solid #c8a46157;
  border-radius: 8px;
  box-shadow: inset 0 1px #ffffff09, 0 20px 55px #0003;
}

.contact-info-card {
  grid-template-rows: auto 1fr auto;
  display: grid;
}

.contact-details-list {
  align-content: space-evenly;
  gap: .4rem;
  display: grid;
}

.contact-details-list > div {
  padding-block: .85rem;
}

.contact-actions {
  margin-top: 1.25rem;
}

.contact-map-frame {
  background: #161719;
  border: 1px solid #c8a46157;
  border-radius: 8px;
  min-height: 235px;
  margin-top: 1rem;
  position: relative;
  overflow: hidden;
}

.contact-map-frame iframe {
  filter: grayscale(.55) invert(.88) hue-rotate(178deg) brightness(.7) contrast(1.16) sepia(.08);
  border: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

@media (max-width: 1023px) {
  .contact-info-card {
    display: block;
  }

  .contact-details-list {
    gap: .4rem;
  }

  .contact-map-frame {
    min-height: 320px;
  }
}

.services-page {
  background: radial-gradient(circle at 14% 36%, #b07f370f, #0000 26rem), #0d0d0e;
  overflow: clip;
}

.services-page .reference-container {
  width: min(100% - 96px, 1240px);
}

body:has(.services-page) .site-footer-grid {
  width: min(100% - 96px, 1240px);
}

body:has(.services-page) .site-footer-bottom {
  width: min(100% - 96px, 1240px);
}

.services-hero {
  border-bottom: 1px solid #c8a4613d;
  min-height: 455px;
  position: relative;
  overflow: hidden;
}

.services-hero-image {
  object-fit: cover;
  object-position: center 52%;
  transform: scale(1.015);
}

.services-hero-scrim {
  background: linear-gradient(90deg, #060607f7 0%, #070708db 31%, #07070857 68%, #07070824 100%), linear-gradient(0deg, #0707089e, #0000 54%);
  position: absolute;
  inset: 0;
}

.services-hero-inner {
  z-index: 1;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 455px;
  padding-top: 104px;
  padding-bottom: 42px;
  display: flex;
  position: relative;
}

.services-kicker {
  color: #d8ae5d;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 650;
}

.services-hero h1 {
  font-family: var(--font-display), serif;
  letter-spacing: -.035em;
  margin-top: .35rem;
  font-size: clamp(4.35rem, 6.6vw, 5.45rem);
  font-weight: 400;
  line-height: .9;
}

.services-hero-intro {
  color: #ded8cf;
  max-width: 500px;
  margin-top: .8rem;
  font-size: .82rem;
  line-height: 1.65;
}

.services-hero-actions {
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.25rem;
  display: flex;
}

.services-gold-button, .services-outline-button {
  letter-spacing: .035em;
  text-transform: uppercase;
  min-height: 44px;
  transition: transform .22s var(--ease-luxury),
    border-color .22s ease,
    box-shadow .22s ease;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  gap: .8rem;
  padding: .72rem 1.35rem;
  font-size: .66rem;
  font-weight: 650;
  display: inline-flex;
}

.services-gold-button {
  color: #100f0d;
  background: linear-gradient(115deg, #af7d35, #e1bd70 54%, #a97631);
  border: 1px solid #e0bd76;
  box-shadow: inset 0 1px #ffffff59, 0 8px 26px #aa742c29;
}

.services-outline-button {
  color: #d9b568;
  background: #0a0a0bb3;
  border: 1px solid #d6aa548c;
}

.services-gold-button:hover, .services-outline-button:hover {
  border-color: #e5c578;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px #aa742c2e;
}

.services-quality {
  color: #d6aa54;
  align-items: center;
  gap: .85rem;
  display: flex;
}

.services-quality span {
  gap: .05rem;
  display: grid;
}

.services-quality strong {
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: .66rem;
}

.services-quality small {
  color: #c8c0b4;
  font-size: .67rem;
}

.services-category-wrap {
  z-index: 5;
  background: #0d0d0e;
  position: relative;
}

.services-category-wrap .reference-container {
  margin-top: -1px;
}

.services-category-nav {
  background: linear-gradient(#1c1b19fa, #0f0f10fa);
  border: 1px solid #c8a4614a;
  border-radius: 0 0 34px 3px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
  box-shadow: 0 15px 30px #0000002e;
}

.services-category-nav a {
  color: #d0c8bb;
  text-transform: uppercase;
  border-right: 1px solid #c8a46129;
  justify-content: center;
  align-items: center;
  gap: .65rem;
  min-height: 52px;
  font-size: .61rem;
  font-weight: 600;
  transition: color .22s, background .22s;
  display: flex;
  position: relative;
}

.services-category-nav a:last-child {
  border-right: 0;
}

.services-category-nav a:first-child:after {
  content: "";
  background: #e1b75f;
  height: 3px;
  position: absolute;
  bottom: -2px;
  left: 32%;
  right: 32%;
  box-shadow: 0 0 12px #e1b75fe6;
}

.services-category-nav svg {
  color: #cfa552;
}

.services-category-nav a:hover {
  color: #f4e7ca;
  background: #c8a46112;
}

.services-catalog {
  padding-block: 1.35rem 2.25rem;
  position: relative;
}

.services-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .95rem;
  display: grid;
}

.services-card {
  min-height: 168px;
  transition: transform .26s var(--ease-luxury),
    border-color .26s ease;
  background: linear-gradient(135deg, #211f1c, #111112 70%);
  border: 1px solid #c8a46159;
  border-radius: 6px;
  grid-template-rows: minmax(118px, 1fr) 44px;
  grid-template-columns: 44% 56%;
  scroll-margin-top: 104px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 30px #0000002e;
}

.services-card:hover {
  border-color: #e0c37f94;
  transform: translateY(-3px);
}

.services-card-image {
  min-width: 0;
  position: relative;
  overflow: hidden;
}

.services-card-image img {
  transition: transform .48s var(--ease-luxury);
}

.services-card:hover .services-card-image img {
  transform: scale(1.035);
}

.services-card-image-shade {
  background: linear-gradient(90deg, #0000 52%, #0c0c0d75);
  position: absolute;
  inset: 0;
}

.services-card-copy {
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 1rem 1rem .85rem 1.5rem;
  display: flex;
}

.services-card-eyebrow {
  color: #cfa552;
  align-items: center;
  gap: .55rem;
  margin-bottom: .65rem;
  display: flex;
}

.services-card-eyebrow:after {
  content: "";
  background: linear-gradient(90deg, #cfa552b8, #0000);
  width: 2.2rem;
  height: 1px;
}

.services-card-eyebrow span {
  font-variant-numeric: tabular-nums;
  letter-spacing: .12em;
  font-size: .55rem;
  font-weight: 700;
}

.services-card-eyebrow svg {
  flex: none;
}

.services-card-copy h2 {
  font-family: var(--font-display), serif;
  font-size: clamp(1.35rem, 1.8vw, 1.65rem);
  font-weight: 400;
  line-height: 1;
}

.services-card-copy p {
  color: #c9c2b7;
  margin-top: .55rem;
  font-size: .68rem;
  line-height: 1.55;
}

.services-card-meta {
  color: #d6ae5f;
  letter-spacing: .035em;
  text-transform: uppercase;
  border-top: 1px solid #c8a46140;
  grid-column: 1 / -1;
  grid-template-columns: 1.15fr 1fr auto;
  align-items: center;
  min-width: 0;
  font-size: .55rem;
  display: grid;
}

.services-card-meta > span {
  white-space: nowrap;
  align-items: center;
  gap: .42rem;
  min-width: 0;
  padding-inline: .75rem;
  display: flex;
}

.services-card-meta > span + span {
  border-left: 1px solid #c8a4612b;
}

.services-card-meta a {
  color: #100f0d;
  background: linear-gradient(115deg, #996c30, #d9b363 55%, #9e7132);
  border-left: 1px solid #e5c1767a;
  justify-content: center;
  align-self: stretch;
  align-items: center;
  gap: .45rem;
  padding-inline: .9rem;
  font-weight: 700;
  transition: filter .2s;
  display: flex;
}

.services-card-meta a:hover {
  filter: brightness(1.12);
}

.services-view-all {
  justify-content: center;
  margin-top: 1rem;
  display: flex;
}

.services-pricing-section {
  background: linear-gradient(110deg, #0000 0 17%, #bd873514 18%, #0000 19% 67%, #bd873514 68%, #0000 69%), radial-gradient(circle at 92% 68%, #aa6a2026, #0000 25rem), #111112;
  border-block: 1px solid #c8a46140;
  padding-block: 2.4rem;
  position: relative;
  overflow: hidden;
}

.services-price-heading {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .7fr);
  align-items: end;
  gap: 3rem;
  margin-bottom: 2.25rem;
  display: grid;
}

.services-full-price-list {
  border-top: 1px solid #c8a4613d;
  margin-top: 3rem;
  padding-top: 2.5rem;
  scroll-margin-top: 6rem;
}

.services-price-heading h2 {
  font-family: var(--font-display), serif;
  letter-spacing: -.035em;
  margin-top: .45rem;
  font-size: clamp(2.6rem, 5vw, 4.5rem);
  line-height: .95;
}

.services-price-heading > p, .services-price-source p {
  color: #bcb3a7;
  max-width: 34rem;
  font-size: .78rem;
  line-height: 1.7;
}

.services-price-groups {
  gap: 1rem;
  display: grid;
}

.services-price-group {
  background: #0d0d0fd1;
  border: 1px solid #c8a46142;
  border-radius: .5rem;
  scroll-margin-top: 6.5rem;
  overflow: hidden;
}

.services-price-group-title {
  background: linear-gradient(90deg, #c8a4611f, #0000 70%);
  border-bottom: 1px solid #c8a4613d;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 1.4rem;
  display: flex;
}

.services-price-group-title h3 {
  font-family: var(--font-display), serif;
  color: #e4c77f;
  font-size: 1.6rem;
  line-height: 1;
}

.services-price-group-title span {
  color: #a99e90;
  font-variant-numeric: tabular-nums;
  font-size: .7rem;
}

.services-price-table-head, .services-price-row {
  grid-template-columns: minmax(0, 1fr) 8rem 7rem;
  align-items: center;
  gap: 1rem;
  padding: .85rem 1.4rem;
  display: grid;
}

.services-price-table-head {
  color: #8f877d;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-size: .58rem;
  font-weight: 600;
}

.services-price-row {
  color: #d8d0c5;
  border-top: 1px solid #ffffff12;
  min-height: 3.15rem;
  font-size: .78rem;
  transition: background-color .18s;
}

.services-price-row:hover {
  background: #c8a4610e;
}

.services-price-row span:nth-child(2) {
  color: #a9a095;
}

.services-price-row span:last-child {
  color: #e2bd6f;
  font-variant-numeric: tabular-nums;
  text-align: right;
  font-weight: 600;
}

.services-price-source {
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  margin-top: 2rem;
  display: flex;
}

.services-pricing-grid {
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.48fr);
  align-items: stretch;
  gap: 1.5rem;
  display: grid;
}

.services-pricing-list h2, .services-signature-copy h2, .services-final-cta h2 {
  font-family: var(--font-display), serif;
  font-weight: 400;
}

.services-pricing-list h2 {
  margin-top: .2rem;
  font-size: clamp(2rem, 3vw, 2.65rem);
  line-height: 1;
}

.services-pricing-intro {
  color: #9f998f;
  max-width: 44ch;
  margin-top: .55rem;
  font-size: .67rem;
  line-height: 1.55;
}

.services-price-rows {
  margin-top: .8rem;
  display: grid;
}

.services-price-rows > div {
  color: #d2cbc0;
  border-bottom: 1px solid #ffffff17;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 25px;
  font-size: .67rem;
  display: flex;
}

.services-price-rows > div span:last-child {
  color: #d5aa55;
  text-align: right;
  text-transform: uppercase;
  font-size: .58rem;
}

.services-pricing-list .services-outline-button {
  min-height: 39px;
  margin-top: .75rem;
  padding-block: .55rem;
}

.services-signature-card {
  background: #171616;
  border: 1px solid #c8a46173;
  border-radius: 6px;
  min-height: 248px;
  position: relative;
  overflow: hidden;
}

.services-signature-scrim {
  background: linear-gradient(90deg, #0a0a0bf5 0%, #0a0a0bc7 46%, #0a0a0b2e 80%);
  position: absolute;
  inset: 0;
}

.services-signature-copy {
  z-index: 1;
  max-width: 54%;
  padding: 1.65rem 1.8rem;
  position: relative;
}

.services-signature-copy h2 {
  margin-top: .35rem;
  font-size: clamp(1.85rem, 2.6vw, 2.4rem);
  line-height: 1;
}

.services-signature-copy > p:not(.services-kicker) {
  color: #c8c0b5;
  margin-top: .65rem;
  font-size: .65rem;
  line-height: 1.55;
}

.services-signature-copy ul {
  color: #d7b263;
  gap: .28rem;
  margin-top: .7rem;
  font-size: .61rem;
  list-style: none;
  display: grid;
}

.services-signature-copy li {
  align-items: center;
  gap: .4rem;
  display: flex;
}

.services-signature-meta {
  border-top: 1px solid #c8a46147;
  align-items: flex-end;
  gap: 1.25rem;
  margin-top: 1rem;
  padding-top: .8rem;
  display: flex;
}

.services-signature-meta span {
  color: #c9c2b7;
  text-transform: uppercase;
  align-items: center;
  gap: .4rem;
  font-size: .64rem;
  display: flex;
}

.services-signature-meta strong {
  color: #e0b864;
  font-family: var(--font-display), serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: .9;
}

.services-final-cta {
  background: linear-gradient(90deg, #0a0a0ba6, #0a0a0bc7), url("images/coco/home-booking-still-life.png") 50% 48% / cover;
  border-bottom: 1px solid #c8a46152;
  position: relative;
  overflow: hidden;
}

.services-final-cta:before {
  content: "";
  background: linear-gradient(90deg, #0a0a0bbd, #0a0a0b7a 50%, #0a0a0bad);
  position: absolute;
  inset: 0;
}

.services-final-cta-inner {
  z-index: 1;
  text-align: center;
  justify-content: center;
  align-items: center;
  gap: 2.2rem;
  min-height: 120px;
  display: flex;
  position: relative;
}

.services-final-cta h2 {
  margin-top: .15rem;
  font-size: clamp(2.2rem, 4vw, 3.35rem);
  line-height: 1;
}

.services-final-cta p:not(.services-kicker) {
  color: #c9c2b7;
  margin-top: .35rem;
  font-size: .72rem;
}

.home-shell {
  width: min(100% - 40px, 1380px);
  margin-inline: auto;
}

.home-booking-banner {
  background: var(--ink);
  min-height: 330px;
  position: relative;
}

.home-booking-banner-media, .home-booking-banner-shade {
  position: absolute;
  inset: 0;
}

.home-booking-banner-media img {
  object-fit: cover;
  object-position: center;
}

.home-booking-banner-content {
  z-index: 1;
  align-items: center;
  min-height: 330px;
  display: flex;
  position: relative;
}

@media (max-width: 767px) {
  .home-booking-banner {
    min-height: 0;
  }

  .home-booking-banner-media {
    aspect-ratio: 1942 / 809;
    position: relative;
  }

  .home-booking-banner-media img {
    object-fit: contain;
  }

  .home-booking-banner-shade {
    background: linear-gradient(#0d0d0f0a, #0d0d0f57);
  }

  .home-booking-banner-content {
    text-align: center;
    justify-content: center;
    min-height: 0;
    padding-block: 2rem 2.5rem;
  }

  .home-booking-banner-content > * {
    margin-inline: auto;
  }
}

.home-kicker {
  color: #d5ae61;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .64rem;
  font-weight: 650;
}

.home-button-primary, .home-button-outline {
  border-radius: var(--radius-control);
  letter-spacing: .04em;
  text-transform: uppercase;
  min-height: 44px;
  transition: transform .24s var(--ease-luxury),
    border-color .24s ease,
    box-shadow .24s ease,
    background-position .5s ease;
  justify-content: center;
  align-items: center;
  gap: .8rem;
  padding: .72rem 1.4rem;
  font-size: .68rem;
  font-weight: 650;
  display: inline-flex;
}

.home-button-primary {
  color: #11100f;
  background: linear-gradient(110deg, #9a6f31 0%, #d6b36d 42%, #b0833f 62%, #d6b36d 100%) 0 0 / 220% 100%;
  border: 1px solid #e0c276;
  box-shadow: inset 0 1px #ffffff47;
}

.home-button-outline {
  color: #e1bd70;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #08080980;
  border: 1px solid #d4aa5794;
}

.home-button-primary:hover, .home-button-outline:hover {
  border-color: #e4c67b;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px #a8772f33;
}

.home-button-primary:active, .home-button-outline:active {
  transform: scale(.98);
}

.home-button-primary:hover {
  background-position: 100% 0;
}

.home-gold-divider {
  background: linear-gradient(90deg, #0000 0%, #8c652d 17%, #f1ca72 50%, #8c652d 83%, #0000 100%);
  height: 1px;
  animation: 3.5s ease-in-out infinite home-divider-glow;
  box-shadow: 0 0 16px #e0b35b8c;
}

.home-hero-bottom {
  background: linear-gradient(#0000 0%, #070708b3 16%, #070708f2 64%, #09090a 100%);
}

.home-benefits-section {
  z-index: 2;
  background: #0b0b0c;
  border-bottom: 1px solid #c8a46133;
  position: relative;
}

.home-benefits {
  width: min(100% - 80px, 1240px);
}

.home-scroll-cue {
  z-index: 2;
  text-shadow: 0 0 12px #d5ae6147;
  position: absolute;
  bottom: -1.4rem;
  left: 50%;
  transform: translateX(-50%);
}

.home-gold-divider {
  margin-top: 0;
}

.home-salon-showcase {
  background: #09090a;
  border-bottom: 1px solid #c8a4613d;
  padding: clamp(1rem, 2vw, 1.75rem);
  position: relative;
  overflow: hidden;
}

.home-salon-showcase-frame {
  border: 1px solid #e0bd7057;
  border-radius: 8px;
  min-height: clamp(380px, 58vw, 760px);
  position: relative;
  overflow: hidden;
  box-shadow: 0 26px 70px #0000006b, 0 0 50px #b57e3517;
}

.home-salon-showcase-shade {
  background: linear-gradient(#05050638, #0000 34% 70%, #05050659), linear-gradient(90deg, #08080929, #0000 28% 74%, #0808091f);
  position: absolute;
  inset: 0;
}

.home-salon-showcase-glow {
  background: linear-gradient(90deg, #0000, #e2bd70, #0000);
  height: 1px;
  position: absolute;
  inset: auto 12% 0;
  box-shadow: 0 0 22px #e2bd70bf;
}

.home-service-card {
  border-radius: var(--radius-card);
  height: 100%;
  transition: transform .35s var(--ease-luxury),
    border-color .3s ease,
    box-shadow .3s ease;
  background: #111112;
  border: 1px solid #c8a4614d;
}

.home-service-card:hover {
  border-color: #e0c37fb8;
  transform: translateY(-5px);
  box-shadow: 0 14px 35px #00000057, 0 0 20px #af7e341f;
}

.home-service-grid > * {
  min-width: 0;
}

.home-carousel-arrow {
  z-index: 10;
  color: #d9b568;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  width: 42px;
  height: 42px;
  transition: transform .22s var(--ease-luxury),
    background .22s ease;
  background: #09090ad1;
  border: 1px solid #dbb25eb8;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 56%;
  transform: translateY(-50%);
}

.home-carousel-arrow:hover {
  background: #1b1813;
  transform: translateY(-50%)scale(1.06);
}

body:has(.home-page) .site-footer {
  padding-top: 2.75rem;
}

:is(body:has(.home-page) .site-footer-grid, body:has(.home-page) .site-footer-bottom) {
  width: min(100% - 40px, 1340px);
}

body:has(.home-page) .site-footer-grid {
  grid-template-columns: 1.25fr 1fr 1fr .78fr 1.12fr;
  gap: 0;
}

body:has(.home-page) .site-footer-brand {
  padding-right: 1.75rem;
}

body:has(.home-page) .site-footer-column {
  border-left: 1px solid #c8a4612e;
  min-width: 0;
  padding-left: 1.75rem;
}

.site-footer-heading {
  letter-spacing: .1em;
  color: #e0c37f;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  padding-bottom: .65rem;
  font-size: .7rem;
  font-weight: 650;
  position: relative;
}

.site-footer-heading:after {
  content: "";
  background: #c89e50;
  width: 2rem;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.site-footer-booking-button {
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 2.75rem;
  display: inline-flex;
}

@keyframes home-divider-glow {
  0%, 100% {
    opacity: .55;
  }

  50% {
    opacity: 1;
  }
}

@media (max-width: 767px) {
  .sticky-mobile-cta a {
    white-space: nowrap;
    gap: .4rem;
    min-width: 0;
    min-height: 48px;
    padding-inline: .55rem;
  }

  .home-hero .home-shell {
    width: min(100% - 32px, 560px);
  }

  .home-hero h1 {
    font-size: clamp(2.5rem, 12.5vw, 4.4rem);
    line-height: .92;
  }

  .home-hero .home-button-primary, .home-hero .home-button-outline {
    flex: 10rem;
    min-height: 48px;
  }

  .home-benefits {
    width: min(100% - 28px, 560px);
  }

  .home-benefits > div {
    border-bottom: 1px solid #c8a46129;
    min-height: 112px;
  }

  .home-benefits > div:nth-child(odd) {
    border-right: 1px solid #c8a46129;
  }

  .home-experience-rail {
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    grid-template-columns: none;
    grid-auto-columns: min(82vw, 330px);
    grid-auto-flow: column;
    overflow-x: auto;
  }

  .home-experience-rail::-webkit-scrollbar {
    display: none;
  }

  .home-experience-rail > * {
    scroll-snap-align: start;
  }

  .home-salon-showcase {
    padding: .75rem;
  }

  .home-salon-showcase-frame {
    min-height: 430px;
  }

  .home-salon-showcase-frame > img {
    object-position: 58% center;
  }

  .home-carousel-arrow {
    top: 61%;
  }

  .home-carousel-arrow.-left-5 {
    left: .35rem;
  }

  .home-carousel-arrow.-right-5 {
    right: .35rem;
  }

  body:has(.home-page) .site-footer-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    display: grid;
  }

  body:has(.home-page) .site-footer-column {
    border-top: 1px solid #c8a4612e;
    border-left: 0;
    padding-top: 1.5rem;
    padding-left: 0;
  }

  .reference-section, .reference-section-compact {
    padding-block: 3.5rem;
  }

  .reference-heading h2 {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  .reference-heading p {
    font-size: 1rem;
  }
}

@media (min-width: 768px) {
  .home-shell {
    width: min(100% - 80px, 1340px);
  }

  .reference-container {
    width: min(100% - 96px, 1240px);
  }
}

@media (max-width: 767px) {
  .reference-hero, .reference-hero > .reference-container {
    min-height: 470px;
  }

  .reference-service-card {
    grid-template-rows: 190px auto auto;
    grid-template-columns: 1fr;
  }

  .reference-service-meta {
    flex-wrap: wrap;
    grid-column: 1;
    gap: .75rem;
  }
}

@media (min-width: 768px) {
  .site-container {
    width: min(100% - 96px, 1440px);
  }
}

.services-hero-image-mobile {
  visibility: hidden;
  opacity: 0;
}

.site-footer-social {
  display: none;
}

body:has(.services-page) .site-footer {
  padding-top: 2rem;
}

.site-footer-social-grid {
  border: 1px solid #c8a46152;
  border-radius: 5px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.site-footer-social-grid > div + div {
  border-left: 1px solid #c8a46142;
}

@media (min-width: 1024px) {
  body:has(.services-page) .site-footer-grid {
    grid-template-columns: 1.05fr 1fr .9fr .78fr 1.25fr;
    gap: 0;
  }

  body:has(.services-page) .site-footer-brand {
    order: 1;
    padding-right: 1.4rem;
  }

  body:has(.services-page) .site-footer-contact {
    order: 2;
  }

  body:has(.services-page) .site-footer-hours {
    order: 3;
  }

  body:has(.services-page) .site-footer-nav {
    order: 4;
  }

  body:has(.services-page) .site-footer-booking {
    order: 5;
  }

  body:has(.services-page) .site-footer-column {
    border-left: 1px solid #c8a4612e;
    min-width: 0;
    padding-left: 1.5rem;
  }
}

@media (max-width: 1023px) {
  .services-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-card-meta {
    font-size: .52rem;
  }
}

@media (max-width: 767px) {
  .services-page .reference-container {
    width: min(100% - 40px, 960px);
  }

  body:has(.services-page) .site-footer-grid {
    width: min(100% - 40px, 960px);
  }

  body:has(.services-page) .site-footer-bottom {
    width: min(100% - 40px, 960px);
  }

  .services-hero {
    min-height: 560px;
  }

  .services-hero-image-desktop {
    visibility: hidden;
    opacity: 0;
  }

  .services-hero-image-mobile {
    visibility: visible;
    object-position: center 46%;
    opacity: 1;
  }

  .services-hero-scrim {
    background: linear-gradient(90deg, #060607c2, #07070829), linear-gradient(0deg, #070708eb, #0000 64%);
  }

  .services-hero-inner {
    justify-content: flex-end;
    min-height: 560px;
    padding-top: 96px;
    padding-bottom: 2.2rem;
  }

  .services-hero h1 {
    font-size: clamp(3.7rem, 18vw, 4.7rem);
  }

  .services-hero-intro {
    font-size: .82rem;
  }

  .services-hero-actions {
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
  }

  .services-gold-button {
    min-height: 48px;
  }

  .services-quality {
    flex: 170px;
  }

  .services-category-wrap {
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background: #0d0d0ef0;
    border-block: 1px solid #c8a4612e;
    padding-block: .75rem;
  }

  .services-category-nav {
    box-shadow: none;
    background: none;
    border: 0;
    border-radius: 0;
    gap: .55rem;
    scroll-padding-inline: .25rem;
    display: flex;
    overflow-x: auto;
  }

  .services-category-nav a {
    letter-spacing: .055em;
    white-space: nowrap;
    background: linear-gradient(#23201cc7, #121213e6);
    border: 1px solid #c8a46145;
    border-radius: 8px;
    flex: none;
    gap: .5rem;
    min-height: 46px;
    padding-inline: .85rem;
    font-size: .58rem;
  }

  .services-category-nav a svg {
    width: 20px;
    height: 20px;
  }

  .services-category-nav a:last-child {
    border-right: 1px solid #c8a46145;
  }

  .services-category-nav a:first-child:after {
    height: 2px;
    bottom: 5px;
    left: .85rem;
    right: .85rem;
  }

  .services-catalog {
    padding-block: 1rem 2rem;
  }

  .services-card-grid {
    grid-template-columns: 1fr;
    gap: .85rem;
  }

  .services-card {
    grid-template-rows: minmax(144px, 1fr) 52px;
    grid-template-columns: 44% 56%;
  }

  .services-card-copy {
    padding: 1rem 1rem .9rem 1.25rem;
  }

  .services-card-eyebrow {
    margin-bottom: .55rem;
  }

  .services-card-copy h2 {
    font-size: 1.65rem;
  }

  .services-card-copy p {
    font-size: .7rem;
  }

  .services-card-meta {
    grid-template-columns: 1.1fr 1fr auto;
    font-size: .49rem;
  }

  .services-card-meta > span {
    white-space: normal;
    gap: .3rem;
    padding-inline: .5rem;
  }

  .services-card-meta a {
    min-width: 82px;
    padding-inline: .6rem;
  }

  .services-pricing-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .services-pricing-section {
    padding-block: 2rem;
  }

  .services-price-heading {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1.6rem;
  }

  .services-price-table-head {
    display: none;
  }

  .services-price-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .35rem 1rem;
    padding: .9rem 1rem;
  }

  .services-price-row span:first-child {
    grid-column: 1;
  }

  .services-price-row span:nth-child(2) {
    grid-column: 1;
    font-size: .68rem;
  }

  .services-price-row span:last-child {
    grid-area: 1 / 2 / span 2;
  }

  .services-price-source {
    flex-direction: column;
    align-items: stretch;
  }

  .services-signature-card {
    min-height: 340px;
  }

  .services-signature-scrim {
    background: linear-gradient(90deg, #0a0a0bf5, #0a0a0bab);
  }

  .services-signature-copy {
    max-width: 88%;
    padding: 1.7rem 1.3rem;
  }

  .services-final-cta-inner {
    flex-direction: column;
    gap: 1.2rem;
    min-height: 220px;
    padding-block: 2rem;
  }

  body:has(.services-page) .site-footer-grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    display: grid;
  }

  body:has(.services-page) .site-footer-column {
    border-top: 1px solid #c8a4612e;
    padding-top: 1.25rem;
  }

  body:has(.services-page) .site-footer-brand {
    order: 1;
  }

  body:has(.services-page) .site-footer-contact {
    order: 2;
  }

  body:has(.services-page) .site-footer-hours {
    order: 3;
  }

  body:has(.services-page) .site-footer-nav {
    order: 4;
  }

  body:has(.services-page) .site-footer-booking {
    order: 5;
  }
}

.location-page {
  background: radial-gradient(circle at 12% 38%, #a9712614, #0000 25rem), #0b0b0c;
  overflow: clip;
}

.location-page .reference-container {
  width: min(100% - 96px, 1240px);
}

body:has(.location-page) .site-footer-grid {
  width: min(100% - 96px, 1240px);
}

body:has(.location-page) .site-footer-bottom {
  width: min(100% - 96px, 1240px);
}

.location-kicker {
  color: #d8ad58;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-size: .65rem;
  font-weight: 650;
}

.location-hero {
  border-bottom: 1px solid #c8a46147;
  min-height: 410px;
  position: relative;
  overflow: hidden;
}

.location-hero-image {
  object-fit: cover;
  object-position: center 47%;
  transform: scale(1.01);
}

.location-hero-scrim {
  background: linear-gradient(90deg, #060607f5, #0707089e 38%, #07070814 78%), linear-gradient(0deg, #0707089e, #0000 58%);
  position: absolute;
  inset: 0;
}

.location-hero-inner {
  z-index: 2;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 410px;
  padding-top: 82px;
  display: flex;
  position: relative;
}

.location-hero h1 {
  font-family: var(--font-display), serif;
  letter-spacing: -.04em;
  margin-top: .35rem;
  font-size: clamp(4.35rem, 6.5vw, 5.7rem);
  font-weight: 400;
  line-height: .88;
}

.location-hero-rule {
  color: #d6aa54;
  align-items: center;
  gap: .55rem;
  width: 110px;
  margin-top: 1rem;
  display: flex;
}

.location-hero-rule:before, .location-hero-rule:after {
  content: "";
  background: linear-gradient(90deg, #0000, #d6aa54);
  flex: 1;
  height: 1px;
}

.location-hero-rule:after {
  background: linear-gradient(90deg, #d6aa54, #0000);
}

.location-hero-inner > strong {
  color: #d8ad58;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-top: .75rem;
  font-size: .72rem;
  font-weight: 650;
}

.location-hero-inner > p:last-child {
  color: #ddd6cc;
  max-width: 430px;
  margin-top: .65rem;
  font-size: .77rem;
  line-height: 1.65;
}

.location-map-section {
  background: linear-gradient(#0b0b0c, #0e0d0e);
  padding-block: 1.1rem 0;
}

.location-map-grid {
  grid-template-columns: 1.12fr .88fr;
  gap: 1rem;
  display: grid;
}

.location-map-frame, .location-contact-card, .location-info-card, .location-promo-card {
  background: #121212;
  border: 1px solid #c8a4616b;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 14px 36px #00000042;
}

.location-map-frame {
  background: #161719;
  min-height: 390px;
  position: relative;
}

.location-map-frame iframe {
  filter: grayscale(.55) invert(.88) hue-rotate(178deg) brightness(.7) contrast(1.16) sepia(.08);
  border: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.location-contact-card {
  grid-template-columns: 1.08fr .92fr;
  min-height: 390px;
  display: grid;
}

.location-contact-copy {
  z-index: 2;
  background: linear-gradient(90deg, #121212, #121212f2);
  flex-direction: column;
  justify-content: center;
  padding: 2rem 1.75rem;
  display: flex;
  position: relative;
}

.location-contact-copy h2 {
  font-family: var(--font-display), serif;
  text-wrap: balance;
  margin-top: .5rem;
  font-size: clamp(2rem, 3vw, 2.65rem);
  font-weight: 400;
  line-height: .95;
}

.location-contact-lines {
  color: #d2cbc0;
  gap: .8rem;
  margin-top: 1.25rem;
  font-size: .7rem;
  line-height: 1.45;
  display: grid;
}

.location-contact-lines p, .location-contact-lines a {
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.location-contact-lines svg {
  color: #d2a652;
  flex: none;
}

.location-contact-image {
  min-height: 260px;
  position: relative;
}

.location-contact-image:after {
  content: "";
  background: linear-gradient(90deg, #121212c7, #0000 50%);
  position: absolute;
  inset: 0;
}

.location-gold-button, .location-outline-button {
  letter-spacing: .04em;
  text-transform: uppercase;
  min-height: 42px;
  transition: transform .22s var(--ease-luxury),
    border-color .22s ease,
    filter .22s ease;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  padding: .7rem 1.25rem;
  font-size: .62rem;
  font-weight: 650;
  display: inline-flex;
}

.location-gold-button {
  color: #11100f;
  background: linear-gradient(115deg, #a77532, #dcb967 54%, #9c6d2d);
  border: 1px solid #e1be73;
  width: fit-content;
  margin-top: 1.4rem;
}

.location-outline-button {
  color: #d9b568;
  background: #0a0a0bb3;
  border: 1px solid #dcb25e99;
}

.location-gold-button:hover, .location-outline-button:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
}

.location-benefits {
  border-block: 1px solid #c8a46133;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 1rem;
  padding-block: 1.15rem;
  display: grid;
}

.location-benefit {
  text-align: center;
  border-right: 1px solid #c8a46130;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .25rem;
  min-width: 0;
  padding-inline: .8rem;
  display: flex;
}

.location-benefit:last-child {
  border-right: 0;
}

.location-benefit svg {
  color: #d6a84e;
}

.location-benefit strong {
  color: #d7ad59;
  font-family: var(--font-display), serif;
  text-transform: uppercase;
  font-size: .96rem;
  font-weight: 500;
  line-height: 1.1;
}

.location-benefit span {
  color: #bfb7ac;
  font-size: .62rem;
}

.location-info-section {
  background: linear-gradient(115deg, #0000 0 31%, #b67e2b0f 32%, #0000 33%), #111011;
  border-bottom: 1px solid #c8a46138;
  padding-block: 1.4rem;
}

.location-info-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  display: grid;
}

.location-info-card {
  min-height: 275px;
}

.location-info-card > div:last-child {
  padding: 1rem 1.15rem 1.2rem;
}

.location-info-image {
  min-height: 118px;
  position: relative;
  overflow: hidden;
}

.location-info-card h2 {
  color: #d9b362;
  font-family: var(--font-display), serif;
  font-size: 1.35rem;
  font-weight: 400;
}

.location-info-card p {
  color: #c8c0b5;
  margin-top: .45rem;
  font-size: .67rem;
  line-height: 1.5;
}

.location-info-card a, .location-disabled-link {
  color: #d8ae58;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid #c8a46170;
  border-radius: 3px;
  align-items: center;
  gap: .75rem;
  min-height: 34px;
  margin-top: .8rem;
  padding: .45rem .9rem;
  font-size: .56rem;
  font-weight: 650;
  display: inline-flex;
}

.location-hours-card > div {
  padding: 1.2rem 1.3rem;
}

.location-hours-list {
  gap: .45rem;
  margin-top: 1rem;
  display: grid;
}

.location-hours-list p {
  border-bottom: 1px solid #ffffff12;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  margin-top: 0;
  padding-bottom: .35rem;
  display: flex;
}

.location-hours-list strong {
  color: #d8d0c5;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}

.location-parking-visual {
  color: #d6aa54;
  background: radial-gradient(circle, #c8a46133, #0000 42%), #171616;
  justify-content: center;
  align-items: center;
  display: flex;
}

.location-disabled-link {
  cursor: not-allowed;
  opacity: .55;
}

.location-transport-line {
  align-items: center;
  gap: .55rem;
  display: flex;
}

.location-transport-line svg {
  color: #d6aa54;
}

.location-promo-section {
  padding-block: 1.25rem 1.7rem;
}

.location-promo-grid {
  grid-template-columns: 1.2fr .8fr;
  gap: .9rem;
  display: grid;
}

.location-promo-card {
  min-height: 255px;
  position: relative;
}

.location-promo-scrim {
  background: linear-gradient(90deg, #0a0a0bf5, #0a0a0bb3 46%, #0a0a0b14);
  position: absolute;
  inset: 0;
}

.location-booking-card .location-promo-scrim {
  background: linear-gradient(90deg, #0a0a0bf2, #0a0a0ba6 58%, #0a0a0b1f);
}

.location-promo-copy {
  z-index: 2;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: min(54%, 390px);
  min-height: 255px;
  padding: 1.5rem 1.8rem;
  display: flex;
  position: relative;
}

.location-promo-copy h2 {
  font-family: var(--font-display), serif;
  text-wrap: balance;
  margin-top: .45rem;
  font-size: clamp(1.9rem, 3vw, 2.55rem);
  font-weight: 400;
  line-height: .98;
}

.location-promo-copy p {
  color: #c9c1b6;
  margin-top: .75rem;
  font-size: .68rem;
  line-height: 1.55;
}

.location-promo-actions {
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: .2rem;
  display: flex;
}

.location-promo-actions .location-outline-button {
  margin-top: 1.4rem;
}

@media (max-width: 1023px) {
  .location-map-grid, .location-promo-grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 767px) {
  .location-page .reference-container {
    width: min(100% - 30px, 600px);
  }

  body:has(.location-page) .site-footer-grid {
    width: min(100% - 30px, 600px);
  }

  body:has(.location-page) .site-footer-bottom {
    width: min(100% - 30px, 600px);
  }

  .location-hero, .location-hero-inner {
    min-height: 570px;
  }

  .location-hero-image-mobile {
    object-position: center 48%;
  }

  .location-hero-scrim {
    background: linear-gradient(0deg, #070708f2, #0707082e 72%), linear-gradient(90deg, #060607c2, #0707081f);
  }

  .location-hero-inner {
    justify-content: flex-end;
    padding-bottom: 3rem;
  }

  .location-hero h1 {
    font-size: clamp(4rem, 20vw, 5rem);
  }

  .location-map-frame {
    min-height: 380px;
  }

  .location-contact-card {
    grid-template-columns: 1fr;
  }

  .location-contact-image {
    grid-row: 1;
    min-height: 230px;
  }

  .location-contact-copy {
    grid-row: 2;
  }

  .location-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .location-benefit {
    border-bottom: 1px solid #c8a46130;
    border-right: 1px solid #c8a46130;
    min-height: 120px;
  }

  .location-benefit:nth-child(2n) {
    border-right: 0;
  }

  .location-benefit:last-child {
    border-bottom: 0;
    grid-column: 1 / -1;
  }

  .location-info-grid {
    grid-template-columns: 1fr;
  }

  .location-info-card {
    min-height: 0;
  }

  .location-info-image {
    min-height: 190px;
  }

  .location-promo-card {
    min-height: 360px;
  }

  .location-promo-copy {
    width: 88%;
    min-height: 360px;
    padding: 1.5rem;
  }
}

.about-page {
  background: radial-gradient(circle at 8% 38%, #a8712714, #0000 24rem), #0b0b0c;
  overflow: clip;
}

.about-page .reference-container {
  width: min(100% - 96px, 1240px);
}

body:has(.about-page) .site-footer-grid {
  width: min(100% - 96px, 1240px);
}

body:has(.about-page) .site-footer-bottom {
  width: min(100% - 96px, 1240px);
}

.about-kicker {
  color: #d7aa55;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-size: .64rem;
  font-weight: 650;
}

.about-hero {
  border-bottom: 1px solid #c8a46145;
  min-height: 445px;
  position: relative;
  overflow: hidden;
}

.about-hero-image {
  object-fit: cover;
  object-position: center 47%;
}

.about-hero-scrim {
  background: linear-gradient(90deg, #060607f5, #070708b8 34%, #0707080f 74%), linear-gradient(0deg, #0707089e, #0000 54%);
  position: absolute;
  inset: 0;
}

.about-hero-inner {
  z-index: 2;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 445px;
  padding-top: 80px;
  display: flex;
  position: relative;
}

.about-hero h1 {
  font-family: var(--font-display), serif;
  letter-spacing: -.04em;
  font-size: clamp(4rem, 6.6vw, 5.6rem);
  font-weight: 400;
  line-height: .9;
}

.about-hero h1 span, .about-story-copy h2 span, .about-experience-copy h2 span, .about-final-copy h2 span {
  color: #c99d4d;
}

.about-hero-inner > strong {
  color: #d5a650;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-top: .85rem;
  font-size: .69rem;
  font-weight: 650;
}

.about-hero-inner > p {
  color: #d8d0c5;
  max-width: 415px;
  margin-top: .8rem;
  font-size: .75rem;
  line-height: 1.68;
}

.about-hero-actions {
  align-items: center;
  gap: 1.2rem;
  margin-top: 1.45rem;
  display: flex;
}

.about-gold-button {
  color: #11100f;
  letter-spacing: .04em;
  text-transform: uppercase;
  width: fit-content;
  min-height: 42px;
  transition: transform .22s var(--ease-luxury),
    filter .22s ease;
  background: linear-gradient(115deg, #a67531, #dbb765 54%, #9c6c2c);
  border: 1px solid #e1bd72;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  padding: .7rem 1.25rem;
  font-size: .61rem;
  font-weight: 650;
  display: inline-flex;
}

.about-gold-button:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
}

.about-tour-link {
  color: #d3a953;
  letter-spacing: .06em;
  text-transform: uppercase;
  align-items: center;
  gap: .75rem;
  font-size: .61rem;
  font-weight: 650;
  display: inline-flex;
}

.about-tour-link > span {
  border: 1px solid #d3a953ad;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  display: flex;
}

.about-story-section {
  padding-block: 1.6rem 1.8rem;
}

.about-story-grid {
  grid-template-columns: .68fr 1.32fr;
  align-items: center;
  gap: 2.4rem;
  display: grid;
}

.about-story-copy h2, .about-philosophy-intro h2, .about-experience-copy h2, .about-final-copy h2 {
  font-family: var(--font-display), serif;
  text-wrap: balance;
  margin-top: .45rem;
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  font-weight: 400;
  line-height: 1.02;
}

.about-story-copy > p {
  color: #beb6ab;
  max-width: 420px;
  margin-top: .9rem;
  font-size: .72rem;
  line-height: 1.65;
}

.about-story-copy em {
  color: #d0a352;
  font-family: var(--font-display), serif;
  margin-top: 1rem;
  font-size: 1.15rem;
  display: block;
}

.about-story-image {
  border: 1px solid #c8a46180;
  border-radius: 8px;
  min-height: 245px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 38px #00000047;
}

.about-statistics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
  display: grid;
}

.about-statistics > div {
  text-align: center;
  border-right: 1px solid #c8a4614d;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 68px;
  display: flex;
}

.about-statistics > div:last-child {
  border-right: 0;
}

.about-statistics strong {
  color: #d7ad59;
  font-family: var(--font-display), serif;
  font-variant-numeric: tabular-nums;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
}

.about-statistics span {
  color: #b7afa4;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-top: .3rem;
  font-size: .56rem;
}

.about-philosophy-section {
  background: linear-gradient(115deg, #0000 0 28%, #b8802c14 29%, #0000 30% 72%, #b8802c14 73%, #0000 74%), #121011;
  border-block: 1px solid #c8a4613d;
  padding-block: 1.6rem;
}

.about-philosophy-grid {
  grid-template-columns: 1.05fr 1.45fr;
  align-items: center;
  gap: 2rem;
  display: grid;
}

.about-philosophy-intro {
  align-items: center;
  gap: 1.5rem;
  display: flex;
}

.about-orbit-icon {
  color: #d4a650;
  border: 1px solid #c8a46170;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 112px;
  height: 112px;
  display: flex;
  position: relative;
  box-shadow: inset 0 0 0 12px #c8a46109, inset 0 0 0 28px #c8a46106;
}

.about-orbit-icon:before, .about-orbit-icon:after {
  content: "";
  border: 1px solid #c8a4614d;
  border-radius: 50%;
  width: 76px;
  height: 76px;
  position: absolute;
}

.about-orbit-icon:after {
  width: 50px;
  height: 50px;
}

.about-philosophy-intro h2 {
  font-size: 2.25rem;
}

.about-philosophy-intro p, .about-experience-copy > p {
  color: #beb6ab;
  max-width: 420px;
  margin-top: .65rem;
  font-size: .68rem;
  line-height: 1.6;
}

.about-philosophy-values {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.about-philosophy-values > div {
  text-align: center;
  border-right: 1px solid #c8a46138;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .25rem;
  min-height: 120px;
  padding-inline: 1rem;
  display: flex;
}

.about-philosophy-values > div:last-child {
  border-right: 0;
}

.about-philosophy-values svg, .about-values-grid svg {
  color: #d3a550;
}

.about-philosophy-values strong, .about-values-grid strong {
  color: #d9b25f;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .65rem;
  font-weight: 650;
}

.about-philosophy-values span, .about-values-grid span {
  color: #bdb5aa;
  max-width: 130px;
  font-size: .61rem;
  line-height: 1.45;
}

.about-experience-section {
  padding-block: 1.5rem 0;
}

.about-experience-grid {
  grid-template-columns: 1.18fr .82fr;
  gap: 1rem;
  min-height: 460px;
  display: grid;
}

.about-experience-copy {
  padding-top: .6rem;
}

.about-experience-copy h2 {
  font-size: 2.45rem;
}

.about-experience-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-top: 1.1rem;
  display: grid;
}

.about-experience-cards article {
  text-align: center;
  background: #111112;
  border: 1px solid #c8a46166;
  border-radius: 7px;
  overflow: hidden;
}

.about-experience-cards article > div {
  min-height: 118px;
  position: relative;
  overflow: hidden;
}

.about-experience-cards h3 {
  color: #d8ae58;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-top: .75rem;
  font-size: .63rem;
  font-weight: 650;
}

.about-experience-cards p {
  color: #bcb4a9;
  min-height: 50px;
  padding: .35rem .65rem .8rem;
  font-size: .59rem;
  line-height: 1.45;
}

.about-experience-image {
  border-left: 1px solid #c8a4615c;
  border-radius: 8px 0 0;
  min-height: 460px;
  position: relative;
  overflow: hidden;
}

.about-experience-image:after {
  content: "";
  background: linear-gradient(90deg, #0a0a0b8c, #0000 38%);
  position: absolute;
  inset: 0;
}

.about-values-section {
  background: #101011;
  border-block: 1px solid #c8a46138;
}

.about-values-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-block: 1.1rem;
  display: grid;
}

.about-values-grid > div {
  text-align: center;
  border-right: 1px solid #c8a46133;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .25rem;
  min-height: 90px;
  display: flex;
}

.about-values-grid > div:last-child {
  border-right: 0;
}

.about-final-grid {
  grid-template-columns: .88fr .95fr 1.17fr;
  display: grid;
}

.about-craft-card, .about-craft-image, .about-booking-card {
  border-bottom: 1px solid #c8a46147;
  min-height: 350px;
  position: relative;
  overflow: hidden;
}

.about-craft-card {
  background: radial-gradient(circle at 100% 0, #c38d3b14, #0000 44%), #0c0c0d;
  border-right: 1px solid #c8a46147;
}

.about-craft-image {
  border-right: 1px solid #c8a46147;
}

.about-craft-image:after {
  content: "";
  background: linear-gradient(90deg, #07070838, #0000 28%);
  position: absolute;
  inset: 0;
}

.about-final-scrim {
  background: linear-gradient(90deg, #09090af5, #09090ab8 48%, #09090a14);
  position: absolute;
  inset: 0;
}

.about-booking-card .about-final-scrim {
  background: linear-gradient(90deg, #09090af0, #09090a94 62%, #09090a1f);
}

.about-booking-card {
  align-items: center;
  display: flex;
}

.about-final-copy {
  z-index: 2;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  min-height: 350px;
  padding: 1.6rem 2.2rem;
  display: flex;
  position: relative;
}

.about-booking-panel {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #0a0a0bc7;
  border: 1px solid #c8a46185;
  border-radius: 14px;
  width: min(76%, 430px);
  min-height: auto;
  margin: 2rem;
  padding: 1.8rem;
}

.about-final-copy h2 {
  font-size: 2.25rem;
}

.about-final-copy > p {
  color: #c7bfb4;
  margin-top: .7rem;
  font-size: .68rem;
  line-height: 1.55;
}

.about-final-copy ul {
  color: #d6cfc4;
  gap: .28rem;
  margin-top: .75rem;
  font-size: .63rem;
  list-style: none;
  display: grid;
}

.about-final-copy li:before {
  color: #15120d;
  content: "✓";
  background: #bc8c3d;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 14px;
  height: 14px;
  margin-right: .5rem;
  font-size: .52rem;
  font-weight: 800;
  display: inline-flex;
}

.about-final-copy .about-gold-button {
  margin-top: 1.05rem;
}

@media (max-width: 1023px) {
  .about-story-grid, .about-philosophy-grid, .about-experience-grid {
    grid-template-columns: 1fr;
  }

  .about-experience-image {
    min-height: 380px;
  }

  .about-final-grid {
    grid-template-columns: 1fr 1fr;
  }

  .about-booking-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .about-page .reference-container {
    width: min(100% - 30px, 600px);
  }

  body:has(.about-page) .site-footer-grid {
    width: min(100% - 30px, 600px);
  }

  body:has(.about-page) .site-footer-bottom {
    width: min(100% - 30px, 600px);
  }

  .about-hero, .about-hero-inner {
    min-height: 590px;
  }

  .about-hero-image-mobile {
    object-position: center 48%;
  }

  .about-hero-scrim {
    background: linear-gradient(0deg, #070708f5, #07070829 76%), linear-gradient(90deg, #060607c2, #0707081f);
  }

  .about-hero-inner {
    justify-content: flex-end;
    padding-bottom: 3rem;
  }

  .about-hero h1 {
    font-size: clamp(3.85rem, 18vw, 4.8rem);
  }

  .about-hero-actions {
    flex-wrap: wrap;
  }

  .about-story-section {
    padding-top: 2rem;
  }

  .about-story-grid {
    gap: 1.7rem;
  }

  .about-story-image {
    min-height: 260px;
  }

  .about-statistics {
    grid-template-columns: 1fr;
  }

  .about-statistics > div {
    border-bottom: 1px solid #c8a4613d;
    border-right: 0;
    min-height: 74px;
  }

  .about-statistics > div:last-child {
    border-bottom: 0;
  }

  .about-philosophy-intro {
    flex-direction: column;
    align-items: flex-start;
  }

  .about-philosophy-values {
    grid-template-columns: 1fr;
  }

  .about-philosophy-values > div {
    border-bottom: 1px solid #c8a46133;
    border-right: 0;
    min-height: 105px;
  }

  .about-philosophy-values > div:last-child {
    border-bottom: 0;
  }

  .about-experience-cards {
    grid-template-columns: 1fr;
  }

  .about-experience-cards article > div {
    min-height: 190px;
  }

  .about-experience-image {
    min-height: 380px;
  }

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

  .about-values-grid > div {
    border-bottom: 1px solid #c8a46133;
    border-right: 1px solid #c8a46133;
    min-height: 120px;
  }

  .about-values-grid > div:nth-child(2n) {
    border-right: 0;
  }

  .about-values-grid > div:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .about-final-grid {
    grid-template-columns: 1fr;
  }

  .about-booking-card {
    grid-column: auto;
  }

  .about-craft-card, .about-craft-image, .about-booking-card {
    border-right: 0;
    min-height: 420px;
  }

  .about-craft-image {
    min-height: 340px;
  }

  .about-final-copy {
    width: 88%;
    min-height: 420px;
    padding: 1.5rem;
  }

  .about-booking-panel {
    width: calc(100% - 2rem);
    min-height: auto;
    margin: 1rem;
  }
}

.services-page, .location-page, .about-page {
  background: radial-gradient(circle at 84% 12%, #b7843912, #0000 30rem), #0c0c0d;
  overflow-x: clip;
}

.services-hero h1, .location-hero h1, .about-hero h1 {
  text-wrap: balance;
  max-width: 15ch;
}

.services-card, .location-map-frame, .location-contact-card, .location-info-card, .location-promo-card, .about-story-image, .about-experience-cards article, .about-experience-image, .about-craft-card, .about-craft-image, .about-booking-card {
  border-radius: var(--radius-card);
  box-shadow: inset 0 1px #ffffff09, 0 24px 64px #00000038;
}

.services-card, .location-info-card, .about-experience-cards article {
  transition: transform .26s var(--ease-luxury),
    border-color .26s ease;
}

.services-gold-button, .services-outline-button, .location-gold-button, .location-outline-button, .about-gold-button {
  border-radius: var(--radius-control);
  min-height: 48px;
}

.contact-details-list span, .location-contact-lines, .about-story-copy > p, .about-experience-copy > p, .services-card-copy p {
  font-size: max(.875rem, 14px);
  line-height: 1.7;
}

.muted-panel input, .muted-panel textarea {
  background: #0707087a;
  border-color: #f7f3ec3d;
  min-height: 48px;
}

.muted-panel input:focus, .muted-panel textarea:focus {
  border-color: var(--gold-light);
  outline-offset: 2px;
  outline: 2px solid #e0c37f47;
}

@media (hover: hover) and (pointer: fine) {
  .services-card:hover, .location-info-card:hover, .about-experience-cards article:hover {
    border-color: #e0c37f9e;
    transform: translateY(-4px);
  }
}

@media (max-width: 767px) {
  .services-page .reference-container, .location-page .reference-container, .about-page .reference-container {
    width: min(100% - 30px, 600px);
  }

  .services-hero h1, .location-hero h1, .about-hero h1 {
    max-width: 100%;
    font-size: clamp(3.2rem, 15vw, 4.5rem);
    line-height: .94;
  }

  .about-hero h1 {
    font-size: clamp(2.7rem, 12vw, 3.8rem);
    line-height: .98;
  }

  .services-category-nav {
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    justify-content: flex-start;
    overflow-x: auto;
  }

  .services-category-nav::-webkit-scrollbar {
    display: none;
  }

  .services-category-nav a {
    scroll-snap-align: start;
    flex: none;
    min-height: 44px;
  }

  .site-footer a {
    align-items: center;
    min-height: 44px;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .button-secondary, .home-button-outline, header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #111112;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

:root {
  --ink: #30251f;
  --ink-soft: #493c33;
  --surface: #f1ece5;
  --surface-lift: #e9e0d4;
  --stone: #675c53;
  --muted: #756a60;
  --gold: #ad8e62;
  --gold-light: #d8c3a3;
  --gold-dark: #806443;
  --line: #d8cbb9;
  --focus: #806443;
  --radius-card: 8px;
  --radius-control: 4px;
}

html, body {
  color: var(--ink);
  background: #faf8f4;
}

body:before {
  opacity: .012;
}

a {
  text-decoration: none;
}

h1, h2, h3, p {
  text-wrap: pretty;
}

h1, h2, h3 {
  font-weight: 400;
}

.home-page, .services-page, .about-page {
  background: #faf8f4;
}

.home-marble {
  background: radial-gradient(at 90% 20%, #e9e0d433, #0000 65%), #faf8f4;
}

.home-shell, .reference-container {
  width: min(100% - 80px, 1320px);
  margin-inline: auto;
}

body:has(.home-page) .site-footer-grid {
  width: min(100% - 80px, 1320px);
  margin-inline: auto;
}

body:has(.home-page) .site-footer-bottom {
  width: min(100% - 80px, 1320px);
  margin-inline: auto;
}

body:has(.services-page) .site-footer-grid {
  width: min(100% - 80px, 1320px);
  margin-inline: auto;
}

body:has(.services-page) .site-footer-bottom {
  width: min(100% - 80px, 1320px);
  margin-inline: auto;
}

body:has(.about-page) .site-footer-grid {
  width: min(100% - 80px, 1320px);
  margin-inline: auto;
}

body:has(.about-page) .site-footer-bottom {
  width: min(100% - 80px, 1320px);
  margin-inline: auto;
}

.home-kicker, .reference-kicker, .about-kicker {
  color: var(--gold-dark);
  letter-spacing: .16em;
  font-size: .68rem;
}

.home-button-primary, .button-primary {
  color: #fffaf3;
  min-height: 48px;
  box-shadow: none;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: #49382c;
  border: 1px solid #49382c;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  gap: .7rem;
  padding: .8rem 1.6rem;
  font-size: .72rem;
  font-weight: 600;
  transition: background .2s, transform .2s;
  display: inline-flex;
}

.home-button-primary:hover, .button-primary:hover {
  box-shadow: none;
  background: #67503c;
  border-color: #67503c;
}

.home-button-outline {
  color: var(--ink);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  background: none;
  border: 1px solid #b8a58c;
}

.home-button-outline:hover {
  box-shadow: none;
  background: #e9e0d4;
  border-color: #806443;
}

button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.ch-text-link {
  color: var(--ink);
  align-items: center;
  gap: .6rem;
  padding-block: .8rem;
  font-size: .75rem;
  font-weight: 600;
  display: inline-flex;
}

.ch-text-link:hover {
  color: var(--gold-dark);
}

.ch-paragraphs {
  white-space: pre-line;
}

.ch-disclaimer {
  color: #73665b;
  max-width: 75ch;
  margin-top: 1.5rem;
  font-size: .72rem !important;
  line-height: 1.65 !important;
}

.ch-section-intro {
  color: var(--stone);
  max-width: 60ch;
  margin: 1rem auto 2rem;
}

.ch-skip-link {
  z-index: 60;
  color: var(--ink);
  background: #fff;
  padding: .8rem 1.3rem;
  position: fixed;
  top: 1rem;
  left: 1rem;
  transform: translateY(-200%);
}

.ch-skip-link:focus {
  transform: none;
}

.ch-header {
  transition: background .25s, box-shadow .25s;
}

.ch-header-transparent {
  color: #fff;
  background: linear-gradient(#201a1666, #0000);
}

.ch-header-solid {
  color: var(--ink);
  background: #faf8f4f5;
  border-bottom: 1px solid #d8cbb980;
}

.ch-wordmark {
  text-align: center;
  color: inherit;
  flex-shrink: 0;
  line-height: 1.1;
  display: grid;
}

.ch-wordmark > span {
  font-family: var(--font-display);
  letter-spacing: -.06em;
  font-size: 2.3rem;
}

.ch-wordmark-dot {
  color: var(--gold-light);
}

.ch-wordmark strong {
  letter-spacing: .17em;
  margin-top: .2rem;
  font-size: .52rem;
  font-weight: 600;
}

.ch-wordmark small {
  letter-spacing: .15em;
  margin-top: .35rem;
  font-size: .4rem;
}

.ch-wordmark-footer > span {
  font-size: 3.6rem;
}

.ch-desktop-nav {
  align-items: center;
  gap: clamp(.6rem, 1.2vw, 1.1rem);
  display: flex;
}

.ch-desktop-nav a {
  white-space: nowrap;
  padding-block: .6rem;
  font-size: .65rem;
  position: relative;
}

.ch-desktop-nav a[aria-current="page"]:after {
  content: "";
  background: currentColor;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.ch-header-booking {
  white-space: nowrap;
  padding: .6rem 1.1rem;
}

.ch-menu-toggle {
  color: inherit;
  padding: .6rem;
  display: none;
}

.ch-mobile-menu {
  z-index: 45;
  visibility: hidden;
  opacity: 0;
  background: #faf8f4;
  padding: 110px 30px 30px;
  transition: opacity .2s;
  position: fixed;
  inset: 0;
  overflow-y: auto;
}

.ch-mobile-menu.is-open {
  opacity: 1;
  visibility: visible;
}

.ch-mobile-menu nav {
  flex-direction: column;
  gap: .35rem;
  width: min(100%, 500px);
  margin: auto;
  display: flex;
}

.ch-mobile-menu nav > a:not(.home-button-primary) {
  font-family: var(--font-display);
  color: var(--ink);
  border-bottom: 1px solid #d8cbb96b;
  padding: .25rem 0;
  font-size: 1.7rem;
}

.ch-mobile-menu .home-button-primary {
  margin-top: 1rem;
}

.ch-menu-close {
  min-height: 44px;
  margin-top: .5rem;
}

.ch-hero {
  color: #fffaf3;
  height: 95svh;
  min-height: 760px;
  max-height: 1100px;
  position: relative;
}

.ch-hero-shade {
  background: linear-gradient(90deg, #211a18a6, #211a1833), linear-gradient(0deg, #211a1899, #0000 70%);
  position: absolute;
  inset: 0;
}

.ch-hero-content {
  text-align: center;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 140px 0 110px;
  display: flex;
}

.ch-hero-copy {
  pointer-events: auto;
  max-width: 850px;
}

.ch-hero .home-kicker {
  color: #ead8bf;
}

.ch-hero h1 {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  margin-top: 1.4rem;
  font-size: clamp(3.4rem, 6.5vw, 6.7rem);
  line-height: 1.04;
}

.ch-hero h1 span {
  display: block;
}

.ch-hero h2 {
  font-family: var(--font-display);
  margin: 1.3rem 0;
  font-size: clamp(1.6rem, 2.7vw, 2.5rem);
  font-style: italic;
}

.ch-hero p {
  letter-spacing: .05em;
  font-size: .83rem;
}

.ch-hero small {
  margin-top: .75rem;
  font-size: .75rem;
  display: block;
}

.ch-hero .home-button-outline, .ch-page-hero .home-button-outline, .ch-studio-overlay .home-button-outline {
  color: #fffaf3;
  background: #30251f26;
  border-color: #fffaf38c;
}

.ch-hero .home-button-primary {
  color: #30251f;
  background: #d8c3a3;
  border-color: #d8c3a3;
}

.ch-hero-controls {
  display: flex;
  position: absolute;
  bottom: 55px;
  left: 50%;
  transform: translateX(-50%);
}

.ch-hero-controls button {
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  display: grid;
}

.ch-hero-controls span {
  border: 1px solid #fff;
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.ch-hero-controls .is-selected {
  background: #fff;
}

.ch-hero-scroll {
  letter-spacing: .15em;
  white-space: nowrap;
  font-size: .55rem;
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
}

.ch-introduction {
  text-align: center;
  padding: 100px 0 75px;
}

.ch-introduction h2 {
  margin: 1rem 0 1.6rem;
  font-size: clamp(2.5rem, 4vw, 4rem);
}

.ch-introduction p {
  max-width: 700px;
  color: var(--stone);
  margin: 0 auto 1.7rem;
  font-size: .98rem;
}

.home-services-section {
  padding: 40px 0 90px;
}

.home-services-section h2, .ch-results-section h2, .ch-studio-section h2, .ch-beauty-highlights h2, .ch-why h2 {
  margin: 1rem 0;
  font-size: clamp(2.2rem, 3.5vw, 3.6rem);
  line-height: 1.15;
}

.ch-service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 2.8rem;
  display: grid;
}

.ch-service-slot-0 {
  grid-column: span 2;
}

.ch-service-slot {
  min-width: 0;
}

.ch-service-grid .home-service-card {
  height: 100%;
  box-shadow: none;
  background: #f5f0e9;
  border: 1px solid #d8cbb980;
  border-radius: 6px;
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.ch-service-grid .home-service-card:hover {
  border-color: #b8a58c;
  transform: translateY(-3px);
  box-shadow: 0 12px 28px #49382c0d;
}

.ch-service-image {
  height: 290px;
  position: relative;
  overflow: hidden;
}

.ch-service-image img {
  transition: transform .5s;
}

.ch-service-grid a:hover img {
  transform: scale(1.025);
}

.ch-service-number {
  color: #fff;
  letter-spacing: .15em;
  background: #30251f55;
  padding: .3rem .5rem;
  font-size: .65rem;
  position: absolute;
  top: 1rem;
  left: 1.3rem;
}

.ch-service-copy {
  flex-direction: column;
  flex: 1;
  padding: 1.8rem;
  display: flex;
}

.ch-service-copy h3 {
  font-family: var(--font-display);
  color: var(--ink);
  font-size: 1.85rem;
  line-height: 1.2;
}

.ch-service-copy p {
  color: var(--stone);
  max-width: 60ch;
  margin: .8rem 0 1.4rem;
  font-size: .83rem;
}

.ch-service-copy > span {
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--gold-dark);
  align-items: center;
  gap: .7rem;
  margin-top: auto;
  font-size: .65rem;
  display: flex;
}

.ch-medical-highlight {
  border-block: 1px solid #d8cbb980;
  padding: 70px 0 90px;
}

.ch-split {
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: 80px;
  display: grid;
}

.ch-highlight-image {
  border-radius: 6px;
  min-height: 580px;
  position: relative;
  overflow: hidden;
}

.ch-highlight-copy h2 {
  margin: 1.4rem 0;
  font-size: clamp(2.4rem, 3.5vw, 3.6rem);
  line-height: 1.12;
}

.ch-highlight-copy > p:not(.ch-disclaimer) {
  color: var(--stone);
  font-size: .95rem;
}

.ch-treatment-tags {
  flex-wrap: wrap;
  gap: .6rem;
  margin: 1.8rem 0 2rem;
  display: flex;
}

.ch-treatment-tags span {
  border: 1px solid #d8cbb9;
  border-radius: 3px;
  padding: .45rem .8rem;
  font-size: .7rem;
}

.ch-highlight-copy > .ch-text-link {
  margin-top: 1rem;
  display: flex;
}

.ch-results-section, .ch-beauty-highlights, .ch-studio-section {
  padding: 80px 0;
}

.ch-section-header {
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  margin-bottom: 2rem;
  display: flex;
}

.ch-section-header h2 {
  max-width: 650px;
}

.ch-section-header > a {
  flex-shrink: 0;
}

.ch-gallery-filters {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: .5rem;
  margin: 2rem 0;
  display: flex;
}

.ch-gallery-filters button {
  color: var(--stone);
  background: none;
  border: 1px solid #d8cbb9;
  border-radius: 3px;
  min-height: 44px;
  padding: .65rem .9rem;
  font-size: .7rem;
}

.ch-gallery-filters button.is-active {
  color: #fffaf3;
  background: #49382c;
  border-color: #49382c;
}

.ch-gallery-empty {
  text-align: center;
  background: #f1ece5;
  border: 1px solid #d8cbb980;
  border-radius: 6px;
  justify-items: center;
  padding: 55px 24px;
  display: grid;
}

.ch-gallery-monogram {
  font-family: var(--font-display);
  color: #b09a7d;
  font-size: 3.3rem;
}

.ch-gallery-empty h3 {
  font-family: var(--font-display);
  margin: .5rem 0;
  font-size: 1.6rem;
}

.ch-gallery-empty p {
  color: var(--stone);
  font-size: .85rem;
}

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

.ch-gallery-tile {
  text-align: left;
  background: #f1ece5;
  border-radius: 6px;
  padding-bottom: 1rem;
  overflow: hidden;
}

.ch-gallery-tile strong, .ch-gallery-tile small {
  margin: .6rem 1rem 0;
  display: block;
}

.ch-gallery-tile strong {
  font-weight: 500;
}

.ch-gallery-tile small {
  color: var(--stone);
}

.ch-result-badge {
  color: var(--ink);
  background: #fffaf3;
  padding: .4rem .8rem;
  font-size: .65rem;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}

.ch-lightbox {
  width: min(95vw, 1000px);
  max-height: 95dvh;
  color: var(--ink);
  background: #faf8f4;
  border: 0;
  border-radius: 6px;
  margin: auto;
  padding: 28px;
}

.ch-lightbox::backdrop {
  background: #201a16cc;
}

.ch-lightbox h2 {
  margin: 0 40px 1rem 0;
  font-size: 1.5rem;
}

.ch-lightbox-close {
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  display: grid;
  position: absolute;
  top: 15px;
  right: 15px;
}

.ch-comparison {
  background: #f1ece5;
  height: 65dvh;
  position: relative;
}

.ch-before-layer {
  position: absolute;
  inset: 0;
}

.ch-comparison-control, .ch-lightbox-navigation {
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
  font-size: .8rem;
  display: flex;
}

.ch-comparison-control input {
  accent-color: #806443;
  flex: 1;
}

.ch-lightbox-navigation button {
  border: 1px solid #d8cbb9;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  display: grid;
}

.ch-why {
  text-align: center;
  background: #f1ece5;
  padding: 65px 0;
}

.ch-why .home-benefits {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 35px;
  width: 100%;
  margin-top: 2.4rem;
  padding: 0;
  display: grid;
}

.ch-why article {
  border: 0;
  padding: 0;
}

.ch-why article svg {
  color: var(--gold-dark);
  margin: 0 auto 1rem;
}

.ch-why article h3 {
  font-family: var(--font-display);
  color: var(--ink);
  font-size: 1.5rem;
}

.ch-why article p {
  color: var(--stone);
  margin-top: .7rem;
  font-size: .82rem;
}

.ch-beauty-highlights {
  text-align: center;
}

.ch-beauty-links {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 3rem;
  display: grid;
}

.ch-beauty-links a {
  border-right: 1px solid #d8cbb9;
  padding: 1rem 1.5rem;
}

.ch-beauty-links a:last-child {
  border: 0;
}

.ch-beauty-links span {
  font-family: var(--font-display);
  font-size: 1.6rem;
}

.ch-beauty-links p {
  color: var(--stone);
  margin: 1rem 0;
  font-size: .8rem;
}

.ch-beauty-links svg {
  margin: auto;
}

.home-salon-showcase {
  background: #faf8f4;
  border: 0;
  padding: 20px;
}

.home-salon-showcase-frame {
  box-shadow: none;
  border: 0;
}

.home-salon-showcase-shade {
  background: linear-gradient(0deg, #201a1699, #0000 75%);
}

.ch-studio-overlay {
  color: #fffaf3;
  position: absolute;
  bottom: 55px;
  left: 60px;
  right: 30px;
}

.ch-studio-overlay .home-kicker {
  color: #ead8bf;
}

.ch-studio-overlay h2 {
  margin: 1rem 0 1.5rem;
  font-size: clamp(2rem, 4vw, 3.9rem);
}

.ch-studio-slide {
  flex: 0 0 33.333%;
  min-width: 0;
  padding-left: 1rem;
}

.ch-studio-slide figcaption {
  font-family: var(--font-display);
  margin-top: 1rem;
  font-size: 1.2rem;
}

.home-carousel-arrow {
  color: var(--ink);
  background: #faf8f4;
  border-color: #d8cbb9;
  box-shadow: 0 4px 20px #30251f12;
}

.home-carousel-arrow:hover {
  background: #e9e0d4;
}

.ch-instagram-cta {
  justify-content: center;
  margin-top: 2rem;
  display: flex;
}

.home-booking-banner {
  background: #f1ece5;
}

.home-booking-banner-content {
  color: var(--ink);
}

.home-booking-banner-content h2 {
  font-size: clamp(2.3rem, 4vw, 4rem);
  line-height: 1.15;
}

.home-booking-banner-content p {
  color: var(--stone);
  margin: 1.1rem 0 1.8rem;
}

.home-booking-banner-shade {
  background: linear-gradient(90deg, #f1ece5 30%, #f1ece5bb 50%, #0000);
}

.site-footer {
  color: var(--ink);
  background: #ece4d8;
  border-top: 1px solid #d8cbb9;
  padding: 60px 0 25px;
}

body:has(.home-page) .site-footer {
  color: var(--ink);
  background: #ece4d8;
  border-top: 1px solid #d8cbb9;
  padding: 60px 0 25px;
}

body:has(.services-page) .site-footer {
  color: var(--ink);
  background: #ece4d8;
  border-top: 1px solid #d8cbb9;
  padding: 60px 0 25px;
}

.site-footer-grid {
  text-align: left;
  grid-template-columns: 1fr 1fr 1.2fr 1fr;
  gap: 40px;
  display: grid;
}

body:has(.home-page) .site-footer-grid {
  text-align: left;
  grid-template-columns: 1fr 1fr 1.2fr 1fr;
  gap: 40px;
  display: grid;
}

.site-footer-brand {
  flex-direction: column;
  align-items: start;
  gap: 1.1rem;
  display: flex;
}

.site-footer-brand p, .site-footer-column p, .site-footer-column > a:not(.button-primary) {
  color: var(--stone);
  font-size: .78rem;
}

.site-footer-column {
  flex-direction: column;
  gap: .8rem;
  align-items: start !important;
  display: flex !important;
}

.site-footer-heading {
  color: var(--ink);
  font-family: var(--font-body);
  text-transform: uppercase;
  margin-bottom: .5rem;
  font-size: .7rem;
  font-weight: 600;
}

.site-footer-heading:after {
  display: none;
}

.ch-footer-links {
  grid-template-columns: 1fr 1fr;
  gap: .35rem 1rem;
  display: grid;
}

.ch-footer-links a {
  color: var(--stone);
  font-size: .74rem;
}

.ch-social-link {
  align-items: center;
  gap: .4rem;
  display: flex;
}

.site-footer-social-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  width: 100%;
  display: grid;
}

.site-footer-social-grid > div + div {
  margin: 0;
}

.site-footer-bottom {
  color: var(--stone);
  border-top: 1px solid #d0c0ab;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 45px;
  padding-top: 20px;
  font-size: .65rem;
  display: flex;
}

.site-footer-bottom > div {
  flex-wrap: wrap;
  gap: 1.3rem;
  display: flex;
}

.ch-mobile-booking {
  display: none;
}

.ch-page-hero {
  color: #fffaf3;
  align-items: center;
  min-height: 540px;
  padding: 160px 0 90px;
  display: flex;
  position: relative;
}

.ch-page-hero-shade {
  background: linear-gradient(90deg, #201a16b3, #201a1644), linear-gradient(0deg, #201a1633, #0000);
  position: absolute;
  inset: 0;
}

.ch-page-hero .reference-kicker {
  color: #ead8bf;
}

.ch-page-hero h1 {
  max-width: 16ch;
  margin: 1.2rem 0;
  font-size: clamp(3rem, 5.4vw, 5.8rem);
  line-height: 1.05;
}

.ch-page-hero p {
  color: #fffaf3;
  max-width: 55ch;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}

.ch-page-hero-centered {
  text-align: center;
}

.ch-page-hero-centered h1, .ch-page-hero-centered p {
  margin-inline: auto;
}

.reference-section {
  background: #faf8f4;
  padding: 75px 0;
}

.ch-service-introduction {
  max-width: 760px;
  margin-bottom: 3rem;
}

.ch-service-introduction h2 {
  margin: 1rem 0;
  font-size: 2.8rem;
  line-height: 1.15;
}

.ch-service-introduction p {
  color: var(--stone);
}

.ch-treatment-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  display: grid;
}

.services-card.ch-treatment-card {
  min-height: 200px;
  box-shadow: none;
  background: #f1ece5;
  border: 1px solid #d8cbb980;
  flex-direction: column;
  gap: .8rem;
  padding: 1.8rem;
  display: flex;
}

.ch-treatment-card h3 {
  font-size: 1.65rem;
  line-height: 1.2;
}

.ch-treatment-card p {
  color: var(--stone);
  font-size: .84rem;
}

.ch-treatment-price {
  margin-top: auto;
  font-size: .85rem;
  font-weight: 600;
}

.ch-service-booking {
  margin-top: 2.5rem;
}

.ch-service-gallery {
  border-top: 1px solid #d8cbb980;
}

.ch-service-gallery h2 {
  font-size: 2.7rem;
}

.ch-faq {
  max-width: 900px;
}

.ch-faq details {
  border-bottom: 1px solid #d8cbb9;
  padding: 1.6rem 0;
}

.ch-faq summary {
  font-family: var(--font-display);
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: 1.5rem;
  list-style: none;
  display: flex;
}

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

.ch-faq details[open] summary > span {
  transform: rotate(45deg);
}

.ch-faq details p {
  color: var(--stone);
  max-width: 70ch;
  margin-top: 1.2rem;
}

.ch-booking-page {
  text-align: center;
  max-width: 850px;
}

.ch-booking-page h2 {
  margin-bottom: 1rem;
  font-size: 3rem;
}

.ch-booking-categories {
  color: var(--stone);
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin: 2rem 0;
  font-size: .85rem;
  display: flex;
}

.ch-booking-status {
  background: #f1ece5;
  border-radius: 6px;
  padding: 30px;
}

.ch-booking-status h3 {
  font-family: var(--font-display);
  font-size: 1.7rem;
}

.ch-booking-status p {
  margin: 1rem 0;
}

.ch-booking-page .ch-disclaimer {
  margin-inline: auto;
}

.ch-legal {
  max-width: 850px;
  font-size: 1rem;
  line-height: 1.85;
}

.ch-contact-grid {
  grid-template-columns: 1fr 1.2fr;
  gap: 100px;
  display: grid;
}

.ch-contact-grid h2 {
  margin: 1rem 0 1.8rem;
  font-size: 2.4rem;
}

.ch-contact-grid .ch-section-intro {
  margin: 1rem 0 2rem;
  font-size: .88rem;
}

.ch-contact-form {
  margin-top: 1.5rem;
}

.ch-contact-form fieldset, .ch-admin-fields {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  min-width: 0;
  display: grid;
}

.ch-contact-form label {
  flex-direction: column;
  gap: .5rem;
  min-width: 0;
  font-size: .8rem;
  display: flex;
}

.ch-contact-form input:not([type="checkbox"]), .ch-contact-form textarea, .ch-contact-form select {
  width: 100%;
  min-height: 48px;
  color: var(--ink);
  background: #fffdf9;
  border: 1px solid #cdbda8;
  border-radius: 4px;
  padding: .7rem .85rem;
}

.ch-contact-form input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: var(--gold-dark);
  flex-shrink: 0;
}

.ch-contact-form input:disabled, .ch-contact-form textarea:disabled, .ch-contact-form select:disabled {
  background: #f1ece5;
}

.ch-contact-form label.ch-consent {
  flex-direction: row;
  align-items: start;
  font-size: .75rem;
}

.ch-consent a {
  text-decoration: underline;
}

.ch-form-wide, .ch-form-status {
  grid-column: 1 / -1;
}

.ch-form-status {
  background: #f1ece5;
  border: 1px solid #d8cbb9;
  margin-bottom: 1rem;
  padding: 1rem;
  font-size: .85rem;
}

.ch-contact-form small, .ch-form-error {
  color: #963d26;
}

.ch-contact-form > button {
  margin-top: 1.2rem;
}

.ch-honeypot {
  width: 1px;
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute !important;
}

.about-story-section, .about-philosophy-section {
  color: var(--ink);
  background: #faf8f4;
  padding: 80px 0;
}

.about-story-grid {
  grid-template-columns: 1fr 1fr;
  gap: 75px;
  display: grid;
}

.about-story-copy h2 {
  color: var(--ink);
  margin: 1rem 0 1.8rem;
  font-size: 3rem;
  line-height: 1.15;
}

.about-story-copy > p {
  color: var(--stone);
  font-size: .95rem;
}

.about-story-copy > em {
  color: var(--gold-dark);
  margin-top: 2rem;
  display: block;
}

.about-story-image {
  height: auto;
  min-height: 470px;
  box-shadow: none;
  border: 0;
  position: relative;
}

.ch-about-specialties {
  color: var(--stone);
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.3rem;
  font-size: .7rem;
  display: flex;
}

.about-philosophy-section {
  background: #f1ece5;
  border-block: 1px solid #d8cbb980;
}

.about-philosophy-grid {
  grid-template-columns: 1.2fr 1fr;
  gap: 70px;
  display: grid;
}

.about-philosophy-intro {
  gap: 1.5rem;
  display: flex;
}

.about-philosophy-intro > svg {
  color: var(--gold-dark);
  flex-shrink: 0;
}

.about-philosophy-intro h2 {
  color: var(--ink);
  margin: .5rem 0 1rem;
  font-size: 2.5rem;
}

.about-philosophy-intro p {
  color: var(--stone);
}

.about-philosophy-values {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.about-philosophy-values > div {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.about-philosophy-values svg {
  color: var(--gold-dark);
}

.about-philosophy-values strong {
  color: var(--ink);
  font-size: .9rem;
}

.about-philosophy-values span {
  color: var(--stone);
  font-size: .7rem;
}

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

.ch-team-grid h3 {
  font-family: var(--font-display);
  margin-top: 1rem;
  font-size: 1.7rem;
}

.ch-analytics-choice {
  z-index: 40;
  background: #faf8f4;
  border: 1px solid #d8cbb9;
  max-width: 360px;
  padding: 1.2rem;
  font-size: .8rem;
  position: fixed;
  bottom: 25px;
  left: 25px;
  box-shadow: 0 10px 50px #30251f26;
}

.ch-analytics-choice button {
  border: 1px solid #d8cbb9;
  min-height: 44px;
  margin-top: .5rem;
  margin-right: .5rem;
  padding: 0 1rem;
}

.ch-admin {
  width: min(100% - 48px, 1100px);
  margin: 50px auto;
}

.ch-admin-login {
  max-width: 500px;
  margin-top: 100px;
}

.ch-admin h1 {
  margin: 1rem 0;
  font-size: 3rem;
  line-height: 1.2;
}

.ch-admin-top {
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  display: flex;
}

.ch-admin-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.ch-admin-tabs {
  border-bottom: 1px solid #d8cbb9;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 2rem 0;
  display: flex;
}

.ch-admin-tabs button {
  min-height: 44px;
  padding: .8rem 1.3rem;
}

.ch-admin-tabs button[aria-pressed="true"] {
  color: #fffaf3;
  background: #49382c;
}

.ch-admin-entry {
  border: 1px solid #d8cbb9;
  border-radius: 4px;
  margin-bottom: 1rem;
  padding: 1rem 1.4rem;
}

.ch-admin-entry summary {
  cursor: pointer;
  font-size: 1.2rem;
}

.ch-admin-entry .ch-admin-fields {
  margin-top: 1.5rem;
}

.ch-admin-treatment {
  background: #f1ece5;
  grid-column: 1 / -1;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: 1.2rem;
  display: grid;
}

.ch-admin-body button:not(.home-button-outline) {
  border: 1px solid #d8cbb9;
  width: fit-content;
  min-height: 44px;
  padding: .6rem 1rem;
}

.ch-admin-remove {
  color: #963d26;
}

.ch-admin-image {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: .75rem;
}

@media (min-width: 768px) {
  .home-booking-banner-content {
    min-height: 420px;
  }
}

@media (max-width: 1200px) {
  .ch-desktop-nav {
    display: none;
  }

  .ch-menu-toggle {
    display: block;
  }

  .ch-split {
    gap: 40px;
  }

  .site-footer-grid {
    gap: 24px;
  }
}

@media (max-width: 767px) {
  .home-shell, .reference-container {
    width: calc(100% - 36px);
  }

  body:has(.home-page) .site-footer-grid {
    width: calc(100% - 36px);
  }

  body:has(.home-page) .site-footer-bottom {
    width: calc(100% - 36px);
  }

  body:has(.services-page) .site-footer-grid {
    width: calc(100% - 36px);
  }

  body:has(.services-page) .site-footer-bottom {
    width: calc(100% - 36px);
  }

  body:has(.about-page) .site-footer-grid {
    width: calc(100% - 36px);
  }

  body:has(.about-page) .site-footer-bottom {
    width: calc(100% - 36px);
  }

  .ch-header .home-shell {
    gap: 10px;
  }

  .ch-header-booking {
    min-height: 44px;
    padding: .6rem .85rem;
    font-size: .65rem;
  }

  .ch-wordmark > span {
    font-size: 2rem;
  }

  .ch-wordmark small {
    display: none;
  }

  .ch-hero {
    height: 88svh;
    min-height: 640px;
  }

  .ch-hero h1 {
    font-size: clamp(2.8rem, 11vw, 4rem);
  }

  .ch-hero h2 {
    font-size: 1.6rem;
  }

  .ch-hero p {
    max-width: 30ch;
    margin: auto;
    font-size: .75rem;
  }

  .ch-hero .home-kicker {
    font-size: .54rem;
  }

  .ch-hero-content {
    padding: 125px 0 100px;
  }

  .ch-hero-shade {
    background: linear-gradient(0deg, #201a16aa, #201a1655);
  }

  .ch-hero .home-button-primary, .ch-hero .home-button-outline {
    width: 100%;
    max-width: 290px;
  }

  .ch-introduction {
    padding: 65px 0 45px;
  }

  .ch-introduction p {
    font-size: .9rem;
  }

  .home-services-section {
    padding: 25px 0 60px;
  }

  .ch-service-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 2rem;
  }

  .ch-service-slot-0 {
    grid-column: auto;
  }

  .ch-service-image {
    height: 280px;
  }

  .ch-service-copy {
    padding: 1.5rem;
  }

  .ch-split, .ch-contact-grid, .about-story-grid, .about-philosophy-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ch-highlight-image {
    min-height: 420px;
  }

  .ch-medical-highlight {
    padding: 45px 0 55px;
  }

  .ch-results-section, .ch-beauty-highlights, .ch-studio-section, .reference-section {
    padding: 50px 0;
  }

  .ch-section-header {
    display: block;
  }

  .ch-section-header > a {
    margin-top: 1rem;
  }

  .ch-gallery-filters {
    flex-wrap: nowrap;
    margin: 1.5rem 0;
    padding-bottom: .4rem;
    overflow-x: auto;
  }

  .ch-gallery-filters button {
    flex: none;
  }

  .ch-gallery-grid {
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding-bottom: 10px;
    display: flex;
    overflow-x: auto;
  }

  .ch-gallery-tile {
    scroll-snap-align: start;
    flex: 0 0 85%;
  }

  .ch-gallery-empty {
    padding: 40px 20px;
  }

  .ch-lightbox {
    padding: 20px;
  }

  .ch-comparison {
    height: 57dvh;
  }

  .ch-why {
    padding: 45px 0;
  }

  .ch-why .home-benefits {
    grid-template-columns: 1fr 1fr;
    gap: 30px 20px;
  }

  .ch-why article h3 {
    font-size: 1.3rem;
  }

  .ch-why article p {
    font-size: .76rem;
  }

  .ch-beauty-links {
    grid-template-columns: 1fr 1fr;
    gap: 20px 0;
    margin-top: 2rem;
  }

  .ch-beauty-links a:nth-child(2) {
    border-right: 0;
  }

  .ch-beauty-links a {
    padding: .75rem 1rem;
  }

  .ch-beauty-links span {
    font-size: 1.4rem;
  }

  .home-salon-showcase {
    padding: 12px;
  }

  .home-salon-showcase-frame {
    min-height: 470px;
  }

  .ch-studio-overlay {
    bottom: 30px;
    left: 24px;
    right: 24px;
  }

  .ch-studio-overlay .home-kicker {
    font-size: .55rem;
  }

  .ch-studio-slide {
    flex-basis: 85%;
  }

  .home-carousel-arrow {
    width: 40px;
    height: 40px;
  }

  .ch-studio-carousel {
    padding-inline: 8px;
  }

  .home-booking-banner-media {
    height: 280px;
    position: relative;
  }

  .home-booking-banner-media img {
    object-fit: cover;
  }

  .home-booking-banner-shade {
    background: linear-gradient(0deg, #f1ece5, #0000 45%);
  }

  .home-booking-banner-content {
    padding: 15px 0 50px;
  }

  .site-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px 24px;
  }

  body:has(.home-page) .site-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px 24px;
  }

  body:has(.services-page) .site-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px 24px;
  }

  .site-footer-grid > div, .site-footer-brand {
    grid-area: auto !important;
  }

  .ch-footer-links {
    grid-template-columns: 1fr;
  }

  .site-footer a {
    min-height: 32px;
  }

  .site-footer-bottom {
    margin-top: 30px;
    padding-bottom: 75px;
    display: block;
  }

  .site-footer-bottom > div {
    gap: .7rem 1.2rem;
    margin-top: 1rem;
  }

  .ch-mobile-booking {
    z-index: 40;
    padding: 9px 18px calc(9px + env(safe-area-inset-bottom));
    background: #faf8f4f5;
    border-top: 1px solid #d8cbb9;
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .ch-mobile-booking > a {
    width: 100%;
    min-height: 46px;
  }

  body:has(.ch-mobile-menu.is-open) .ch-mobile-booking {
    display: none;
  }

  .ch-page-hero {
    min-height: 470px;
    padding: 145px 0 65px;
  }

  .ch-page-hero h1 {
    max-width: 15ch;
    font-size: clamp(2.6rem, 11vw, 3.8rem);
  }

  .ch-page-hero p {
    font-size: .9rem;
  }

  .ch-treatment-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .services-card.ch-treatment-card {
    min-height: 0;
    padding: 1.5rem;
  }

  .ch-service-introduction h2 {
    font-size: 2.2rem;
  }

  .ch-faq summary {
    font-size: 1.3rem;
  }

  .ch-faq details p {
    font-size: .9rem;
  }

  .ch-booking-page h2 {
    font-size: 2.2rem;
  }

  .ch-contact-grid {
    gap: 45px;
  }

  .ch-contact-form fieldset, .ch-admin-fields, .ch-admin-treatment {
    grid-template-columns: 1fr;
  }

  .about-story-section, .about-philosophy-section {
    padding: 50px 0;
  }

  .about-story-copy h2 {
    font-size: 2.4rem;
  }

  .about-story-image {
    min-height: 400px;
  }

  .about-philosophy-values {
    margin-top: 1rem;
  }

  .about-philosophy-intro {
    gap: 1rem;
  }

  .about-philosophy-intro h2 {
    font-size: 2rem;
  }

  .ch-team-grid {
    grid-template-columns: 1fr;
  }

  .ch-analytics-choice {
    max-width: none;
    bottom: 85px;
    left: 18px;
    right: 18px;
  }

  .ch-admin {
    width: calc(100% - 36px);
    margin-top: 30px;
  }

  .ch-admin-top {
    display: block;
  }

  .ch-admin h1 {
    font-size: 2.5rem;
  }

  .ch-admin-actions {
    margin-top: 1rem;
  }

  .ch-admin-tabs button {
    padding: .7rem .9rem;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .ch-header-solid {
    background: #faf8f4;
  }

  .home-button-outline {
    background: #f1ece5;
  }
}

.ch-not-found {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  min-height: 80dvh;
  padding: 130px 24px 70px;
  display: flex;
}

.ch-not-found h1 {
  font-size: clamp(2.5rem, 6vw, 5rem);
  line-height: 1.15;
}

body:has(#main-content) .site-footer-grid > div {
  grid-area: auto;
}

@media (max-width: 767px) {
  body:has(#main-content) .site-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px 24px;
  }

  .home-booking-banner-media {
    aspect-ratio: auto;
    width: 100%;
  }
}

.lux-header .lux-header-inner {
  width: min(100% - 72px, 1320px);
  max-width: none;
  height: 68px;
  padding: 0;
}

.lux-header .lux-logo, .site-footer .lux-logo {
  background: none;
  border: 0;
  padding: 0;
  display: block;
}

.lux-header .lux-logo img, .site-footer .lux-logo img {
  width: 100%;
  height: 100%;
  display: block;
}

.lux-home-page .lux-hero-copy h1 {
  max-width: 100%;
  font-size: clamp(2.8rem, 4.25vw, 4.7rem);
}

.lux-home-page .lux-feature-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body:has(#main-content) .site-footer-grid {
  grid-template-columns: 1.45fr 1.45fr 1.15fr 1.2fr .8fr;
  gap: 0;
  display: grid;
}

body:has(#main-content) .site-footer-grid > div {
  padding-inline: 1.2rem;
}

.site-footer .site-footer-heading:after {
  display: none;
}

.site-footer .site-footer-bottom {
  padding-top: .8rem;
}

@media (max-width: 1080px) {
  .lux-header .lux-header-inner {
    width: min(100% - 36px, 1320px);
  }

  body:has(#main-content) .site-footer-grid {
    grid-template-columns: 1.3fr 1.2fr 1fr 1fr;
  }

  body:has(#main-content) .site-footer-badge {
    display: none;
  }
}

@media (max-width: 820px) {
  .lux-header .lux-header-inner {
    grid-template-columns: 84px 1fr auto;
  }

  .lux-header .lux-logo {
    width: 78px;
    height: 78px;
  }

  .lux-header .lux-menu-toggle {
    color: #f1ce82;
    border-color: #d8a84f73;
    display: grid;
  }

  body:has(#main-content) .site-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }

  .lux-home-page .lux-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lux-home-page .lux-feature-grid article:last-child {
    border-top: 1px solid #d8a84f4d;
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .lux-header .lux-header-inner {
    width: min(100% - 28px, 1320px);
    height: 64px;
  }

  .lux-header .lux-logo {
    width: 72px;
    height: 72px;
  }

  .lux-header .lux-menu-toggle {
    color: #f1ce82 !important;
  }

  body:has(#main-content) .site-footer-grid {
    grid-template-columns: 1fr;
  }

  body:has(#main-content) .site-footer-grid > div {
    padding-inline: 0;
  }
}

.lux-service-medical-aesthetics .lux-hero-copy h1, .lux-service-permanent-makeup .lux-hero-copy h1, .lux-service-lashes .lux-hero-copy h1 {
  max-width: 100%;
  font-size: clamp(2.85rem, 4.35vw, 4.8rem);
}

.lux-contact-hero h1 {
  max-width: 100%;
  font-size: clamp(2.85rem, 4.2vw, 4.7rem);
}

.lux-contact-form-panel .ch-form-status {
  color: #e5dfd5;
  background: #111312eb;
  border: 1px solid #d8a84f73;
  border-radius: 2px;
  margin-bottom: .75rem;
  padding: .65rem .8rem;
  font-size: .64rem;
}

@media (max-width: 620px) {
  .lux-service-medical-aesthetics .lux-hero-copy h1, .lux-service-permanent-makeup .lux-hero-copy h1, .lux-service-lashes .lux-hero-copy h1, .lux-contact-hero h1 {
    font-size: clamp(3rem, 13.5vw, 4.5rem);
  }
}

.ch-homepage {
  --ch-home-black: #070907;
  --ch-home-panel: #0b0d0b;
  --ch-home-gold: #d3a653;
  --ch-home-gold-light: #f1cc7f;
  --ch-home-ivory: #f8f2e8;
  --ch-home-copy: #ddd7cd;
  --ch-home-line: #d3a653b8;
  background: radial-gradient(circle at 4% 31%,
      #c791371f,
      transparent 19rem),
    radial-gradient(circle at 95% 72%,
      #c7913717,
      transparent 21rem),
    repeating-linear-gradient(117deg,
      transparent 0 132px,
      #d3a6530b 134px,
      transparent 137px 274px),
    var(--ch-home-black);
  width: 100%;
  color: var(--ch-home-ivory);
  overflow: clip;
}

.ch-homepage h1, .ch-homepage h2, .ch-homepage h3, .ch-homepage p {
  margin: 0;
}

.ch-home-frame {
  width: min(100% - 120px, 1002px);
  margin-inline: auto;
}

.ch-home-kicker {
  color: var(--ch-home-gold-light);
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  display: block;
}

.ch-home-button {
  border: 1px solid var(--ch-home-gold);
  min-height: 31px;
  color: var(--ch-home-ivory);
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  font-size: 9px;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  transition: background-color .18s, color .18s, box-shadow .18s, transform .18s;
  display: inline-flex;
}

.ch-home-button-gold {
  background: linear-gradient(112deg, #936126, #dcb05c 52%, #a36e2d);
  border-color: #e2b765;
  box-shadow: 0 0 16px #d7a95142, inset 0 1px #ffffff54;
}

.ch-home-button-outline {
  background: #050706c2;
}

.ch-home-button:hover {
  color: #fff9ed;
  background-color: #d3a6532e;
  transform: translateY(-1px);
  box-shadow: 0 0 20px #d3a6534d;
}

.ch-home-button:active {
  transform: scale(.98);
}

.ch-home-button:focus-visible, .ch-home-footer a:focus-visible {
  outline: 2px solid var(--ch-home-gold-light);
  outline-offset: 3px;
}

body:has(.ch-homepage) .ch-desktop-nav a:focus-visible {
  outline: 2px solid var(--ch-home-gold-light);
  outline-offset: 3px;
}

body:has(.ch-homepage) .lux-header {
  border-bottom: 1px solid var(--ch-home-line);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  height: 47px;
  background: repeating-linear-gradient(117deg, #0000 0 118px, #d3a6530a 120px, #0000 123px 252px), #060806fb !important;
}

body:has(.ch-homepage) .lux-header .lux-header-inner {
  grid-template-columns: 96px 1fr 137px;
  gap: 12px;
  width: min(100% - 120px, 1002px);
  height: 47px;
}

body:has(.ch-homepage) .lux-header .ch-desktop-nav a {
  color: #f4efe7;
  letter-spacing: 0;
  padding-block: 17px 14px;
  font-size: clamp(6.8px, .61vw, 8px);
}

body:has(.ch-homepage) .lux-header .ch-desktop-nav a[aria-current="page"]:after {
  bottom: 5px;
}

body:has(.ch-homepage) .lux-header .ch-header-booking {
  color: #fff9ed;
  background: linear-gradient(112deg, #956328, #d9ae5b 52%, #a56f2e);
  border-color: #e2b765;
  min-width: 137px;
  min-height: 30px;
  padding: 7px 15px;
  font-size: 9px;
  box-shadow: 0 0 15px #d3a65338, inset 0 1px #ffffff47;
}

body:has(.ch-homepage) .lux-header .lux-menu-toggle {
  display: none;
}

:is(body:has(.ch-homepage) > .site-footer, body:has(.ch-homepage) .site-footer) {
  display: none;
}

.ch-home-hero {
  border-bottom: 1px solid var(--ch-home-line);
  grid-template-columns: 28% 72%;
  height: 352px;
  display: grid;
}

.ch-home-hero-copy {
  z-index: 1;
  background: radial-gradient(circle at 12% 25%, #ca95371f, #0000 9rem), repeating-linear-gradient(128deg, #0000 0 72px, #d3a65312 74px, #0000 77px 150px), #070907;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  padding: 45px 26px 14px 60px;
  display: flex;
  position: relative;
}

.ch-home-hero-copy:before {
  z-index: -1;
  content: "";
  background: linear-gradient(90deg, #0000000a, #00000047);
  position: absolute;
  inset: 0;
}

.ch-home-hero-copy h1 {
  font-family: var(--font-display);
  letter-spacing: -.035em;
  flex-direction: column;
  margin-top: 7px;
  font-size: clamp(39px, 4.15vw, 47px);
  font-weight: 400;
  line-height: .84;
  display: flex;
}

.ch-home-hero-copy h1 em {
  color: var(--ch-home-gold-light);
  font-style: normal;
}

.ch-home-hero-copy > p {
  color: #eee8de;
  white-space: nowrap;
  margin-top: 14px;
  font-size: 9.5px;
  line-height: 1.45;
}

.ch-home-hero-copy > p span {
  color: var(--ch-home-gold);
}

.ch-home-hero-copy > p small {
  font-size: inherit;
  display: block;
}

.ch-home-hero-actions {
  gap: 10px;
  margin-top: 10px;
  display: flex;
}

.ch-home-hero-actions .ch-home-button {
  min-width: 0;
  padding-inline: 15px;
}

.ch-home-script {
  color: var(--ch-home-gold-light);
  margin: 10px 0 0 7px;
  font-family: Snell Roundhand, Segoe Script, cursive;
  font-size: 22px;
  line-height: .92;
  display: block;
  transform: rotate(-5deg);
}

.ch-home-script small {
  margin-left: 50px;
  font-size: 14px;
  display: block;
}

.ch-home-hero-media {
  position: relative;
  overflow: hidden;
}

.ch-home-hero-media img {
  object-fit: cover;
  object-position: center 49%;
}

.ch-home-hero-media:after {
  content: "";
  background: linear-gradient(90deg, #05060521, #0000 28%, #0506050a);
  position: absolute;
  inset: 0;
}

.ch-home-mantra {
  z-index: 1;
  color: #65513a;
  letter-spacing: .18em;
  text-align: center;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.45;
  position: absolute;
  top: 30px;
  right: 42px;
}

.ch-home-service-strip {
  border-bottom: 1px solid var(--ch-home-line);
  background: #070907f5;
  height: 79px;
}

.ch-home-service-strip .ch-home-frame {
  grid-template-columns: repeat(5, 1fr);
  width: 100%;
  height: 100%;
  display: grid;
}

.ch-home-service-strip article {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.ch-home-service-strip article + article:before {
  content: "";
  background: #d3a6539e;
  width: 1px;
  position: absolute;
  top: 17px;
  bottom: 17px;
  left: 0;
}

.ch-home-service-strip svg {
  height: 25px;
  color: var(--ch-home-gold-light);
  margin-bottom: 1px;
}

.ch-home-service-strip h2 {
  font-family: var(--font-body);
  text-transform: uppercase;
  font-size: 8.5px;
  font-weight: 600;
  line-height: 1.25;
}

.ch-home-service-strip p {
  color: #e0d9cf;
  margin-top: 2px;
  font-size: 9px;
  line-height: 1.15;
}

.ch-home-featured {
  border-bottom: 1px solid var(--ch-home-line);
  height: 212px;
  padding: 8px 0 10px;
  scroll-margin-top: 88px;
}

.ch-home-section-heading {
  grid-template-columns: 250px 1fr auto;
  align-items: center;
  gap: 18px;
  height: 43px;
  display: grid;
}

.ch-home-section-heading > div {
  padding-right: 20px;
  position: relative;
}

.ch-home-section-heading > div:after {
  content: "";
  background: #d3a6538c;
  width: 1px;
  position: absolute;
  top: 6px;
  bottom: 2px;
  right: 0;
}

.ch-home-section-heading h2 {
  font-family: var(--font-display);
  margin-top: 0;
  font-size: 28px;
  font-weight: 400;
  line-height: .95;
}

.ch-home-section-heading > p {
  color: #dcd5ca;
  font-size: 9px;
}

.ch-home-service-cards {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  height: 150px;
  display: grid;
}

.ch-home-service-card {
  min-width: 0;
  color: var(--ch-home-ivory);
  background: #090b09;
  border: 1px solid #d3a6539e;
  border-radius: 1px;
  transition: border-color .18s, transform .18s, box-shadow .18s;
  overflow: hidden;
}

.ch-home-service-card:hover {
  border-color: var(--ch-home-gold-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px #0000006b;
}

.ch-home-service-card > div {
  height: 97px;
  position: relative;
  overflow: hidden;
}

.ch-home-service-card img {
  object-fit: cover;
  transition: transform .32s;
}

.ch-home-service-card:hover img {
  transform: scale(1.025);
}

.ch-home-service-card > span {
  flex-direction: column;
  justify-content: center;
  height: 51px;
  padding: 5px 39px 5px 10px;
  display: flex;
  position: relative;
}

.ch-home-service-card strong, .ch-home-service-card small {
  display: block;
}

.ch-home-service-card strong {
  text-transform: uppercase;
  font-size: 9px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.15;
}

.ch-home-service-card i {
  border: 1px solid var(--ch-home-gold);
  width: 25px;
  height: 25px;
  color: var(--ch-home-gold-light);
  border-radius: 50%;
  place-items: center;
  display: grid;
  position: absolute;
  top: 50%;
  right: 9px;
  transform: translateY(-50%);
}

.ch-home-medical {
  border-bottom: 1px solid var(--ch-home-line);
  background: #080a08e0;
  grid-template-columns: 44.5% 33% 22.5%;
  height: 190px;
  display: grid;
}

.ch-home-medical-room, .ch-home-medical-face {
  position: relative;
  overflow: hidden;
}

.ch-home-medical img {
  object-fit: cover;
}

.ch-home-medical-room {
  border-right: 1px solid var(--ch-home-line);
}

.ch-home-medical-room img {
  object-position: center 46%;
}

.ch-home-medical-copy {
  grid-template-columns: 42% 58%;
  align-content: center;
  padding: 12px 22px;
  display: grid;
}

.ch-home-medical-copy > .ch-home-kicker, .ch-home-medical-copy > h2, .ch-home-medical-copy > p {
  grid-column: 1 / -1;
}

.ch-home-medical-copy h2 {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  margin-top: 3px;
  font-size: 24px;
  font-weight: 400;
  line-height: .92;
}

.ch-home-medical-copy > p {
  color: #ddd6cb;
  margin: 6px 0 8px;
  font-size: 8.5px;
  line-height: 1.35;
}

.ch-home-medical-copy .ch-home-button {
  align-self: end;
  width: max-content;
}

.ch-home-medical-copy ul {
  align-self: center;
  gap: 2px;
  margin: 0;
  padding: 0 0 0 6px;
  list-style: none;
  display: grid;
}

.ch-home-medical-copy li {
  color: #eee8df;
  text-transform: capitalize;
  align-items: center;
  gap: 5px;
  font-size: 8px;
  line-height: 1.2;
  display: flex;
}

.ch-home-medical-copy li svg {
  color: var(--ch-home-gold-light);
  flex: none;
}

.ch-home-medical-face {
  border-left: 1px solid var(--ch-home-line);
}

.ch-home-medical-face:after {
  content: "";
  background: linear-gradient(90deg, #0000 48%, #0c08052e);
  position: absolute;
  inset: 0;
}

.ch-home-medical-face span {
  z-index: 1;
  color: var(--ch-home-gold-light);
  text-align: center;
  font-family: Snell Roundhand, Segoe Script, cursive;
  font-size: 19px;
  line-height: .9;
  position: absolute;
  bottom: 15px;
  right: 17px;
  transform: rotate(-7deg);
}

.ch-home-stories {
  border-bottom: 1px solid var(--ch-home-line);
  grid-template-columns: 21% 25% 26% 28%;
  height: 150px;
  display: grid;
}

.ch-home-stories > div {
  min-width: 0;
}

.ch-home-result-copy, .ch-home-story-copy {
  background: #070907e6;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 12px 18px;
  display: flex;
}

.ch-home-stories h2 {
  font-family: var(--font-display);
  margin-top: 2px;
  font-size: 23px;
  font-weight: 400;
  line-height: .95;
}

.ch-home-stories p {
  color: #ddd6cb;
  margin: 5px 0 7px;
  font-size: 8.5px;
  line-height: 1.28;
}

.ch-home-stories .ch-home-button {
  min-height: 29px;
  padding: 6px 13px;
}

.ch-home-result-image, .ch-home-story-room {
  border-inline: 1px solid var(--ch-home-line);
  position: relative;
  overflow: hidden;
}

.ch-home-stories img {
  object-fit: cover;
}

.ch-home-result-image img {
  object-position: center;
}

.ch-home-story-copy {
  padding-inline: 20px;
}

.ch-home-story-room img {
  object-position: center 54%;
}

.ch-home-studio {
  border-bottom: 1px solid var(--ch-home-line);
  grid-template-columns: 18% 82%;
  align-items: stretch;
  height: 118px;
  padding: 7px 27px 7px 56px;
  display: grid;
}

.ch-home-studio-copy {
  flex-direction: column;
  justify-content: center;
  padding-right: 12px;
  display: flex;
}

.ch-home-studio-copy h2 {
  font-family: var(--font-display);
  margin-top: 2px;
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
}

.ch-home-studio-copy p {
  color: #ded7cb;
  margin-top: 7px;
  font-size: 8.5px;
  line-height: 1.3;
}

.ch-home-studio-gallery {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  display: grid;
}

.ch-home-studio-gallery > div {
  border: 1px solid #d3a65394;
  position: relative;
  overflow: hidden;
}

.ch-home-studio-gallery img {
  object-fit: cover;
}

.ch-home-booking-band {
  border-bottom: 1px solid var(--ch-home-line);
  background: radial-gradient(circle at 8% 52%, #d3a65338, #0000 11rem), #070907f0;
  grid-template-columns: 22% 27% 14% 37%;
  align-items: center;
  height: 74px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.ch-home-booking-flower {
  color: #e0b45f52;
  position: absolute;
  left: 17px;
  transform: rotate(-18deg);
}

.ch-home-booking-band > div:first-of-type {
  z-index: 1;
  grid-column: 2;
}

.ch-home-booking-band h2 {
  font-family: var(--font-body);
  letter-spacing: .17em;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.1;
}

.ch-home-booking-band p {
  color: #dcd5ca;
  margin-top: 6px;
  font-size: 8px;
}

.ch-home-booking-band > .ch-home-button {
  justify-self: center;
  width: 124px;
}

.ch-home-booking-values {
  grid-template-columns: repeat(3, 1fr);
  align-self: stretch;
  display: grid;
}

.ch-home-booking-values span {
  text-transform: uppercase;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3px;
  font-size: 8px;
  display: flex;
}

.ch-home-booking-values svg {
  color: var(--ch-home-gold-light);
}

.ch-home-footer {
  height: 180px;
  color: var(--ch-home-ivory);
  background: radial-gradient(circle at 48% 8%, #d3a65317, #0000 20rem), repeating-linear-gradient(117deg, #0000 0 110px, #d3a6530a 112px, #0000 115px 232px), #080a08;
}

.ch-home-footer-grid {
  grid-template-columns: 25% 25% 16% 18% 16%;
  width: min(100% - 84px, 1038px);
  height: 128px;
  margin-inline: auto;
  padding-block: 13px 10px;
  display: grid;
}

.ch-home-footer-grid > * {
  border-right: 1px solid #d3a6538a;
  min-width: 0;
  padding-inline: 20px;
}

.ch-home-footer-grid > :first-child {
  padding-left: 0;
}

.ch-home-footer-grid > :last-child {
  border-right: 0;
  padding-right: 0;
}

.ch-home-footer h2 {
  color: var(--ch-home-gold-light);
  font-family: var(--font-body);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 8px;
  font-size: 8px;
  font-weight: 600;
}

.ch-home-footer-brand {
  align-items: center;
  gap: 10px;
  display: flex;
}

.ch-home-footer-brand img {
  object-fit: contain;
  width: 82px;
  height: 82px;
}

.ch-home-footer-brand div, .ch-home-footer-brand span {
  display: block;
}

.ch-home-footer-brand strong {
  letter-spacing: .08em;
  font-size: 10px;
  font-weight: 600;
}

.ch-home-footer-brand span {
  color: #dcd5ca;
  margin-top: 5px;
  font-size: 8px;
}

.ch-home-footer-links > div {
  grid-template-columns: 1fr 1fr;
  row-gap: 4px;
  display: grid;
}

.ch-home-footer-links a, .ch-home-footer-contact a, .ch-home-footer-contact span, .ch-home-footer-hours p {
  color: #e1dbd1;
  font-size: 8px;
  line-height: 1.25;
}

.ch-home-footer-links a:hover, .ch-home-footer-contact a:hover {
  color: var(--ch-home-gold-light);
}

.ch-home-footer-contact {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
}

.ch-home-footer-contact > a, .ch-home-footer-contact > span {
  align-items: center;
  gap: 7px;
  display: flex;
}

.ch-home-footer-contact svg {
  color: var(--ch-home-gold-light);
  flex: none;
}

.ch-home-footer-contact > div {
  gap: 8px;
  margin-top: 2px;
  display: flex;
}

.ch-home-footer-contact > div a {
  border: 1px solid #d3a65366;
  place-items: center;
  width: 23px;
  height: 23px;
  display: grid;
}

.ch-home-footer-hours p {
  grid-template-columns: 52px 1fr;
  margin-bottom: 5px;
  display: grid;
}

.ch-home-footer-hours b {
  white-space: nowrap;
  font-weight: 400;
}

.ch-home-footer-badge {
  letter-spacing: .13em;
  text-align: center;
  text-transform: uppercase;
  align-self: center;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.45;
  border: 1px solid #d3a653a8 !important;
  padding: 14px 10px !important;
}

.ch-home-footer-badge small {
  width: 60px;
  color: var(--ch-home-gold-light);
  border-top: 1px solid #d3a6539e;
  margin: 8px auto 0;
  padding-top: 5px;
  font-size: 7px;
  display: block;
}

.ch-home-footer-bottom {
  color: #cbc5bb;
  border-top: 1px solid #d3a65385;
  justify-content: space-between;
  align-items: flex-start;
  width: min(100% - 84px, 1038px);
  height: 52px;
  margin-inline: auto;
  padding-top: 12px;
  font-size: 8px;
  display: flex;
}

@media (max-width: 900px) {
  body:has(.ch-homepage) .client-main {
    padding-top: 64px;
  }

  body:has(.ch-homepage) .lux-header {
    height: 64px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    height: 64px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 76px 1fr auto;
    width: min(100% - 32px, 760px);
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    width: 76px;
    height: 76px;
  }

  :is(body:has(.ch-homepage) .lux-header .ch-desktop-nav, body:has(.ch-homepage) .lux-header .ch-header-booking) {
    display: none;
  }

  body:has(.ch-homepage) .lux-header .lux-menu-toggle {
    display: grid;
  }

  .ch-home-frame {
    width: min(100% - 32px, 760px);
  }

  .ch-home-hero {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
  }

  .ch-home-hero-copy {
    min-height: 395px;
    padding: 52px 24px 28px;
  }

  .ch-home-hero-copy h1 {
    font-size: clamp(48px, 14vw, 72px);
  }

  .ch-home-hero-copy > p {
    white-space: normal;
  }

  .ch-home-hero-media {
    min-height: 360px;
  }

  .ch-home-service-strip {
    height: auto;
  }

  .ch-home-service-strip .ch-home-frame {
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
  }

  .ch-home-service-strip article {
    border-bottom: 1px solid #d3a6535c;
    min-height: 92px;
  }

  .ch-home-service-strip article:last-child {
    grid-column: 1 / -1;
  }

  .ch-home-featured {
    height: auto;
    padding-block: 24px;
  }

  .ch-home-section-heading {
    grid-template-columns: 1fr auto;
    height: auto;
    margin-bottom: 16px;
  }

  .ch-home-section-heading > p {
    grid-area: 2 / 1 / auto / -1;
  }

  .ch-home-section-heading > div:after {
    display: none;
  }

  .ch-home-service-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    height: auto;
  }

  .ch-home-service-card:last-child {
    grid-column: 1 / -1;
  }

  .ch-home-service-card > div {
    aspect-ratio: 1.9;
    height: auto;
  }

  .ch-home-medical {
    grid-template-columns: 1fr 1fr;
    height: auto;
  }

  .ch-home-medical-room {
    min-height: 340px;
  }

  .ch-home-medical-copy {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 340px;
    padding: 30px;
    display: flex;
  }

  .ch-home-medical-copy h2 {
    font-size: 34px;
  }

  .ch-home-medical-copy > p {
    margin-block: 12px 16px;
    font-size: 12px;
  }

  .ch-home-medical-copy ul {
    margin-top: 14px;
    padding: 0;
  }

  .ch-home-medical-copy li {
    font-size: 11px;
  }

  .ch-home-medical-face {
    grid-column: 1 / -1;
    min-height: 250px;
  }

  .ch-home-stories {
    grid-template-columns: 1fr 1.25fr;
    height: auto;
  }

  .ch-home-result-copy, .ch-home-story-copy {
    min-height: 250px;
    padding: 28px;
  }

  .ch-home-result-image, .ch-home-story-room {
    min-height: 250px;
  }

  .ch-home-stories h2 {
    font-size: 31px;
  }

  .ch-home-stories p {
    font-size: 11px;
  }

  .ch-home-studio {
    grid-template-columns: 1fr;
    height: auto;
    padding: 28px 16px;
  }

  .ch-home-studio-copy {
    padding: 0 0 16px;
  }

  .ch-home-studio-gallery {
    scroll-snap-type: x mandatory;
    grid-template-columns: none;
    grid-auto-columns: minmax(210px, 44vw);
    grid-auto-flow: column;
    height: 190px;
    overflow-x: auto;
  }

  .ch-home-studio-gallery > div {
    scroll-snap-align: start;
  }

  .ch-home-booking-band {
    grid-template-columns: 1fr auto;
    gap: 18px;
    height: auto;
    min-height: 150px;
    padding: 25px 32px;
  }

  .ch-home-booking-flower {
    opacity: .6;
    left: -40px;
  }

  .ch-home-booking-band > div:first-of-type {
    grid-column: 1;
  }

  .ch-home-booking-values {
    grid-column: 1 / -1;
    min-height: 65px;
  }

  .ch-home-footer {
    height: auto;
  }

  .ch-home-footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 0;
    width: min(100% - 32px, 760px);
    height: auto;
    padding-block: 28px;
  }

  .ch-home-footer-grid > * {
    border-right: 0;
  }

  .ch-home-footer-badge {
    display: none;
  }

  .ch-home-footer-bottom {
    width: min(100% - 32px, 760px);
  }
}

@media (max-width: 560px) {
  .ch-home-hero-copy {
    min-height: 410px;
  }

  .ch-home-hero-actions {
    flex-direction: column;
    width: 100%;
  }

  .ch-home-hero-actions .ch-home-button {
    width: 100%;
    min-height: 44px;
  }

  .ch-home-hero-media {
    min-height: 285px;
  }

  .ch-home-mantra {
    top: 20px;
    right: 20px;
  }

  .ch-home-service-cards {
    grid-template-columns: 1fr;
  }

  .ch-home-service-card:last-child {
    grid-column: auto;
  }

  .ch-home-service-card > span {
    height: 64px;
  }

  .ch-home-medical, .ch-home-stories {
    grid-template-columns: 1fr;
  }

  .ch-home-medical-room, .ch-home-medical-copy, .ch-home-medical-face, .ch-home-result-copy, .ch-home-result-image, .ch-home-story-copy, .ch-home-story-room {
    grid-column: auto;
    min-height: 270px;
  }

  .ch-home-medical-copy, .ch-home-result-copy, .ch-home-story-copy {
    padding: 30px 24px;
  }

  .ch-home-booking-band {
    text-align: center;
    grid-template-columns: 1fr;
    padding-inline: 24px;
  }

  .ch-home-booking-band > div:first-of-type, .ch-home-booking-values {
    grid-column: 1;
  }

  .ch-home-booking-band > .ch-home-button {
    width: 100%;
    min-height: 44px;
  }

  .ch-home-footer-grid {
    grid-template-columns: 1fr;
  }

  .ch-home-footer-grid > * {
    padding-inline: 0;
  }

  .ch-home-footer-brand {
    border-bottom: 1px solid #d3a65366;
    padding-bottom: 20px;
  }

  .ch-home-footer-bottom {
    flex-direction: column;
    gap: 8px;
    height: auto;
    padding-bottom: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ch-homepage *, .ch-homepage :before, .ch-homepage :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

body:has(.ch-homepage) .lux-header {
  height: 72px;
}

body:has(.ch-homepage) .lux-header .lux-header-inner {
  height: 72px;
}

body:has(.ch-homepage) .lux-header .ch-header-booking {
  min-width: 152px;
  min-height: 40px;
  font-size: 10px;
}

.ch-home-frame {
  width: min(100% - 64px, 1320px);
}

.ch-home-kicker {
  font-size: 11px;
}

.ch-home-button {
  min-height: 42px;
  padding: 11px 20px;
  font-size: 10px;
}

.ch-home-hero {
  grid-template-columns: minmax(420px, 38%) 1fr;
  height: auto;
  min-height: 560px;
}

.ch-home-hero-copy {
  justify-content: center;
  padding: 80px clamp(36px, 4.5vw, 74px) 62px;
}

.ch-home-hero-copy h1 {
  margin-top: 16px;
  font-size: clamp(64px, 6.7vw, 106px);
  line-height: .8;
}

.ch-home-hero-copy h2 {
  font-family: var(--font-display);
  margin-top: 24px;
  font-size: clamp(22px, 2vw, 32px);
  font-weight: 400;
  line-height: 1.05;
}

.ch-home-hero-copy > p.ch-home-hero-intro {
  color: #e5ded4;
  white-space: normal;
  max-width: 39ch;
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.62;
}

.ch-home-hero-actions {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.ch-home-hero-media img {
  object-position: center;
}

.ch-home-hero-media:after {
  background: linear-gradient(90deg, #050605b3, #0000 24%), linear-gradient(0deg, #0506052e, #0000 42%);
}

.ch-home-hero-script {
  z-index: 2;
  text-shadow: 0 3px 22px #000000b8;
  margin: 0;
  font-size: clamp(30px, 3.2vw, 48px);
  position: absolute;
  bottom: 48px;
  right: clamp(28px, 5vw, 76px);
}

.ch-home-hero-script small {
  margin: 8px 0 0 52px;
  font-size: .56em;
}

.ch-home-trust-strip {
  border-bottom: 1px solid var(--ch-home-line);
  background: #070907f7;
}

.ch-home-trust-strip .ch-home-frame {
  grid-template-columns: repeat(4, 1fr);
  min-height: 110px;
  display: grid;
}

.ch-home-trust-strip article {
  justify-content: center;
  align-items: center;
  gap: 18px;
  padding: 22px;
  display: flex;
  position: relative;
}

.ch-home-trust-strip article + article:before {
  content: "";
  background: #d3a65380;
  width: 1px;
  position: absolute;
  top: 26px;
  bottom: 26px;
  left: 0;
}

.ch-home-trust-strip svg {
  color: var(--ch-home-gold-light);
  flex: none;
}

.ch-home-trust-strip h2 {
  font-family: var(--font-body);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 650;
}

.ch-home-trust-strip p {
  color: #ddd6cb;
  margin-top: 5px;
  font-size: 11px;
}

.ch-home-featured {
  height: auto;
  padding: 68px 0 76px;
}

.ch-home-section-heading {
  grid-template-columns: 1fr auto;
  height: auto;
  margin-bottom: 28px;
}

.ch-home-section-heading > div {
  padding-right: 0;
}

.ch-home-section-heading > div:after {
  display: none;
}

.ch-home-section-heading h2 {
  margin-top: 8px;
  font-size: clamp(38px, 4vw, 56px);
}

.ch-home-section-heading .ch-home-button {
  min-width: 170px;
}

.ch-home-service-cards {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 13px;
  height: auto;
}

.ch-home-service-card {
  border-color: #d3a65380;
  grid-template-rows: 210px 1fr;
  min-height: 385px;
  display: grid;
}

.ch-home-service-card > div {
  height: auto;
}

.ch-home-service-card > span {
  justify-content: flex-start;
  height: auto;
  min-height: 174px;
  padding: 20px 16px 16px;
  display: flex;
}

.ch-home-service-card strong {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 400;
}

.ch-home-service-card small {
  color: #d8d1c6;
  margin-top: 10px;
  font-size: 11px;
  line-height: 1.45;
}

.ch-home-service-card b {
  min-height: 34px;
  color: var(--ch-home-gold-light);
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid #d3a653ad;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding: 8px 10px;
  font-size: 8px;
  font-weight: 600;
  display: flex;
}

.ch-home-space {
  border-block: 1px solid var(--ch-home-line);
  background: #060806f0;
  grid-template-columns: minmax(330px, 32%) 1fr;
  min-height: 420px;
  display: grid;
}

.ch-home-space-copy {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 58px clamp(32px, 4.5vw, 72px);
  display: flex;
}

.ch-home-space-copy h2, .ch-home-purpose-copy h2, .ch-home-results-copy h2 {
  font-family: var(--font-display);
  letter-spacing: -.025em;
  margin-top: 8px;
  font-size: clamp(34px, 3.5vw, 52px);
  font-weight: 400;
  line-height: .98;
}

.ch-home-space-copy p, .ch-home-purpose-copy p, .ch-home-results-copy p {
  color: #ddd6cb;
  margin: 18px 0 22px;
  font-size: 13px;
  line-height: 1.6;
}

.ch-home-space-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 22px 22px 22px 0;
  display: grid;
}

.ch-home-space-gallery > div, .ch-home-purpose figure, .ch-home-results-gallery figure {
  margin: 0;
  position: relative;
  overflow: hidden;
}

.ch-home-space-gallery img, .ch-home-purpose img, .ch-home-results-gallery img {
  object-fit: cover;
}

.ch-home-space-gallery > div {
  border: 1px solid #d3a6536b;
}

.ch-home-space-gallery > div:first-child img {
  object-position: 58% center;
}

.ch-home-purpose {
  border-bottom: 1px solid var(--ch-home-line);
  grid-template-columns: 28% 34% 38%;
  min-height: 330px;
  display: grid;
}

.ch-home-purpose figure {
  border-right: 1px solid var(--ch-home-line);
}

.ch-home-purpose figure:after {
  content: "";
  background: linear-gradient(90deg, #0000 65%, #0709076b);
  position: absolute;
  inset: 0;
}

.ch-home-purpose-copy {
  flex-direction: column;
  justify-content: center;
  padding: 48px clamp(30px, 3.5vw, 56px);
  display: flex;
}

.ch-home-purpose-values {
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
  display: grid;
}

.ch-home-purpose-values span {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 24px 14px;
  display: flex;
  position: relative;
}

.ch-home-purpose-values span + span:before {
  content: "";
  background: #d3a65373;
  width: 1px;
  position: absolute;
  top: 70px;
  bottom: 70px;
  left: 0;
}

.ch-home-purpose-values svg {
  color: var(--ch-home-gold-light);
  margin-bottom: 18px;
}

.ch-home-purpose-values strong {
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: 9px;
}

.ch-home-purpose-values small {
  color: #d3ccc1;
  margin-top: 8px;
  font-size: 9px;
  line-height: 1.35;
}

.ch-home-results {
  border-bottom: 1px solid var(--ch-home-line);
  grid-template-columns: minmax(310px, 24%) 1fr;
  min-height: 330px;
  padding: 22px 32px;
  display: grid;
}

.ch-home-results-copy {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 30px clamp(18px, 2.8vw, 42px) 30px 16px;
  display: flex;
}

.ch-home-results-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.ch-home-results-gallery figure {
  border: 1px solid #d3a6536b;
  min-height: 284px;
}

.ch-home-results-gallery figure:first-child img {
  object-position: center;
}

.ch-home-results-gallery figure:nth-child(2) img {
  object-position: 50% 54%;
}

.ch-home-booking-band {
  grid-template-columns: 1fr auto;
  gap: 44px;
  height: auto;
  min-height: 170px;
  padding: 38px max(7vw, 68px);
}

.ch-home-booking-band > div:first-of-type {
  grid-column: 1;
  padding-left: min(8vw, 120px);
}

.ch-home-booking-band h2 {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  text-transform: none;
  font-size: clamp(30px, 3.4vw, 50px);
  font-weight: 400;
}

.ch-home-booking-band p {
  font-size: 12px;
}

.ch-home-booking-band > .ch-home-button {
  width: 160px;
  margin-right: min(8vw, 120px);
}

.ch-home-booking-flower {
  opacity: .76;
  left: 22px;
}

@media (max-width: 1100px) {
  body:has(.ch-homepage) .client-main {
    padding-top: 64px;
  }

  body:has(.ch-homepage) .lux-header {
    height: 64px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    height: 64px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 82px 1fr auto;
    width: min(100% - 32px, 960px);
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    width: 82px;
    height: 82px;
  }

  :is(body:has(.ch-homepage) .lux-header .ch-desktop-nav, body:has(.ch-homepage) .lux-header .ch-header-booking) {
    display: none;
  }

  body:has(.ch-homepage) .lux-header .lux-menu-toggle {
    display: grid;
  }

  .ch-home-frame {
    width: min(100% - 40px, 960px);
  }

  .ch-home-hero {
    grid-template-columns: minmax(360px, 44%) 1fr;
  }

  .ch-home-hero-copy {
    padding-inline: 32px;
  }

  .ch-home-hero-copy h1 {
    font-size: clamp(56px, 8vw, 78px);
  }

  .ch-home-trust-strip .ch-home-frame {
    width: 100%;
  }

  .ch-home-service-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ch-home-service-card {
    min-height: 360px;
  }

  .ch-home-service-card:nth-child(n+4) {
    grid-column: span 1;
  }

  .ch-home-space, .ch-home-purpose {
    grid-template-columns: 38% 62%;
  }

  .ch-home-purpose-copy {
    grid-column: 2;
  }

  .ch-home-purpose-values {
    border-top: 1px solid var(--ch-home-line);
    grid-column: 1 / -1;
    min-height: 180px;
  }

  .ch-home-results {
    grid-template-columns: 1fr;
  }

  .ch-home-results-copy {
    max-width: 560px;
    padding-block: 36px;
  }

  .ch-home-results-gallery figure {
    min-height: 320px;
  }
}

@media (max-width: 700px) {
  .ch-home-hero {
    grid-template-columns: 1fr;
  }

  .ch-home-hero-copy {
    min-height: 520px;
    padding: 58px 24px 42px;
  }

  .ch-home-hero-copy h1 {
    font-size: clamp(58px, 19vw, 88px);
  }

  .ch-home-hero-copy h2 {
    font-size: 24px;
  }

  .ch-home-hero-media {
    min-height: 420px;
  }

  .ch-home-hero-script {
    bottom: 36px;
    right: 28px;
  }

  .ch-home-trust-strip .ch-home-frame {
    grid-template-columns: 1fr 1fr;
  }

  .ch-home-trust-strip article {
    justify-content: flex-start;
    min-height: 112px;
  }

  .ch-home-trust-strip article:nth-child(3):before {
    display: none;
  }

  .ch-home-trust-strip article:nth-child(n+3) {
    border-top: 1px solid #d3a65361;
  }

  .ch-home-section-heading {
    grid-template-columns: 1fr;
  }

  .ch-home-section-heading .ch-home-button {
    width: max-content;
    margin-top: 18px;
  }

  .ch-home-service-cards {
    grid-template-columns: 1fr;
  }

  .ch-home-service-card, .ch-home-service-card:last-child {
    grid-column: auto;
  }

  .ch-home-service-card {
    grid-template-rows: minmax(260px, 68vw) auto;
  }

  .ch-home-space {
    grid-template-columns: 1fr;
  }

  .ch-home-space-copy {
    padding: 54px 24px;
  }

  .ch-home-space-gallery {
    scroll-snap-type: x mandatory;
    grid-template-columns: none;
    grid-auto-columns: 82vw;
    grid-auto-flow: column;
    min-height: 390px;
    padding: 0 20px 24px;
    overflow-x: auto;
  }

  .ch-home-space-gallery > div {
    scroll-snap-align: center;
  }

  .ch-home-purpose {
    grid-template-columns: 1fr;
  }

  .ch-home-purpose figure {
    min-height: 82vw;
  }

  .ch-home-purpose-copy {
    grid-column: auto;
    padding: 52px 24px;
  }

  .ch-home-purpose-values {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .ch-home-purpose-values span {
    min-height: 150px;
  }

  .ch-home-purpose-values span + span:before {
    width: auto;
    height: 1px;
    inset: 0 28px auto;
  }

  .ch-home-results {
    padding: 18px 20px 28px;
  }

  .ch-home-results-gallery {
    scroll-snap-type: x mandatory;
    grid-template-columns: none;
    grid-auto-columns: 84vw;
    grid-auto-flow: column;
    overflow-x: auto;
  }

  .ch-home-results-gallery figure {
    scroll-snap-align: center;
    min-height: 88vw;
  }

  .ch-home-booking-band {
    text-align: center;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 56px 24px;
  }

  .ch-home-booking-band > div:first-of-type {
    grid-column: auto;
    padding-left: 0;
  }

  .ch-home-booking-band > .ch-home-button {
    width: 100%;
    margin-right: 0;
  }
}

.lux-header .lux-header-inner {
  grid-template-columns: 168px 1fr auto;
}

.lux-header .lux-logo {
  width: 156px;
  height: 104px;
}

.site-footer .lux-logo {
  width: 150px;
  height: 100px;
}

.ch-home-footer-brand img {
  width: 144px;
  height: 96px;
}

body:has(.ch-homepage) .lux-header .lux-header-inner {
  grid-template-columns: 168px 1fr 152px;
}

body:has(.ch-homepage) .lux-header .lux-logo {
  width: 156px;
  height: 104px;
}

@media (max-width: 1100px) {
  .lux-header .lux-header-inner {
    grid-template-columns: 112px 1fr auto;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 112px 1fr auto;
  }

  .lux-header .lux-logo {
    width: 108px;
    height: 72px;
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    width: 108px;
    height: 72px;
  }
}

@media (max-width: 620px) {
  .lux-header .lux-header-inner {
    grid-template-columns: 100px 1fr auto;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 100px 1fr auto;
  }

  .lux-header .lux-logo {
    width: 96px;
    height: 64px;
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    width: 96px;
    height: 64px;
  }

  .ch-home-footer-brand img {
    width: 132px;
    height: 88px;
  }
}

body:has(.ch-homepage) .client-main {
  padding-top: 0;
}

body:has(.ch-homepage) .lux-header {
  height: 48px;
}

body:has(.ch-homepage) .lux-header .lux-header-inner {
  height: 48px;
}

body:has(.ch-homepage) .lux-header {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  border-bottom-color: #d3a6531f;
  background: linear-gradient(90deg, #040504f5 0%, #050605c2 42%, #050605a3 100%) !important;
}

body:has(.ch-homepage) .lux-header.ch-header-solid {
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #050605f5 !important;
}

body:has(.ch-homepage) .lux-header .lux-header-inner {
  grid-template-columns: 112px minmax(0, 1fr) 130px;
  gap: 14px;
  width: min(100% - 96px, 1416px);
}

body:has(.ch-homepage) .lux-header .lux-logo {
  align-self: start;
  width: 112px;
  height: 75px;
  transform: translateY(1px);
}

body:has(.ch-homepage) .lux-header .ch-desktop-nav {
  gap: clamp(9px, 1.25vw, 15px);
}

body:has(.ch-homepage) .lux-header .ch-desktop-nav a {
  letter-spacing: 0;
  padding-block: 18px 13px;
  font-size: clamp(7px, .72vw, 8px);
}

body:has(.ch-homepage) .lux-header .ch-header-booking {
  min-width: 130px;
  min-height: 36px;
  padding: 8px 15px;
  font-size: 9px;
}

.ch-homepage .ch-home-hero {
  isolation: isolate;
  background: #080907;
  border-bottom: 2px solid #b8863e;
  width: 100%;
  height: clamp(594px, 56.25vw, 760px);
  min-height: 0;
  display: block;
  position: relative;
  overflow: hidden;
}

.ch-homepage .ch-home-hero:before, .ch-homepage .ch-home-hero:after {
  z-index: 3;
  pointer-events: none;
  content: "";
  position: absolute;
}

.ch-homepage .ch-home-hero:before {
  opacity: .52;
  background: radial-gradient(circle at 12% 18%, #ddaf582e, #0000 8%), repeating-linear-gradient(121deg, #0000 0 94px, #dfb1581f 96px, #0000 98px 190px);
  width: 43.5%;
  inset: 0 auto 0 0;
}

.ch-homepage .ch-home-hero:after {
  opacity: .52;
  background: linear-gradient(136deg, #0000 58%, #daaa4f33 59%, #0000 60%), linear-gradient(153deg, #0000 67%, #daaa4f1f 68%, #0000 69%);
  width: 150px;
  height: 150px;
  bottom: 0;
  right: 0;
}

.ch-homepage .ch-home-hero-media {
  z-index: 0;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.ch-homepage .ch-home-hero-media img {
  object-fit: cover;
  object-position: center 51%;
  transform: scale(1.015);
}

.ch-homepage .ch-home-hero-media:after {
  display: none;
}

.ch-homepage .ch-home-hero-shade {
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, #030403fa 0%, #040504f0 28%, #040504c7 39%, #0405044d 49%, #04050405 68%), linear-gradient(0deg, #030403a8 0%, #0000 31%), linear-gradient(#03040333 0%, #0000 22%);
  position: absolute;
  inset: 0;
}

.ch-homepage .ch-home-hero-copy {
  z-index: 4;
  background: none;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 43.5%;
  height: 100%;
  min-height: 0;
  padding: clamp(120px, 11.75vw, 154px) 28px 110px clamp(48px, 4.8vw, 72px);
  display: flex;
  position: relative;
}

.ch-homepage .ch-home-hero-copy:before {
  display: none;
}

.ch-homepage .ch-home-hero-copy .ch-home-kicker {
  color: #dcb260;
  letter-spacing: .075em;
  font-size: clamp(14px, 1.65vw, 18px);
  font-weight: 650;
}

.ch-homepage .ch-home-hero-copy h1 {
  color: #fffaf0;
  font-family: var(--font-display);
  letter-spacing: -.035em;
  flex-direction: column;
  margin-top: 8px;
  font-size: clamp(48px, 5.55vw, 68px);
  font-weight: 400;
  line-height: .86;
  display: flex;
}

.ch-homepage .ch-home-hero-copy h1 em {
  color: #e0b565;
}

.ch-homepage .ch-home-hero-copy h2 {
  color: #f4eee5;
  font-family: var(--font-display);
  margin-top: 12px;
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 400;
  line-height: 1.08;
}

.ch-homepage .ch-home-hero-copy h2:after {
  content: "";
  background: #c89a4d;
  width: 36px;
  height: 2px;
  margin-top: 13px;
  display: block;
}

.ch-homepage .ch-home-hero-copy > p.ch-home-hero-intro {
  color: #f1ece4;
  max-width: 38ch;
  margin-top: 14px;
  font-size: clamp(11px, 1.3vw, 14px);
  line-height: 1.5;
}

.ch-homepage .ch-home-hero-actions {
  flex-wrap: nowrap;
  gap: 12px;
  margin-top: 17px;
  display: flex;
}

.ch-homepage .ch-home-hero-actions .ch-home-button {
  white-space: nowrap;
  min-height: 40px;
  padding: 9px 17px;
  font-size: clamp(8px, .95vw, 10px);
}

.ch-homepage .ch-home-hero-actions .ch-home-button-gold {
  min-width: 198px;
}

.ch-homepage .ch-home-hero-actions .ch-home-button-outline {
  min-width: 166px;
}

.ch-homepage .ch-home-hero-script {
  z-index: 4;
  color: #d6a550;
  text-align: center;
  text-shadow: 0 4px 22px #000000db;
  margin: 0;
  font-size: clamp(30px, 3.5vw, 44px);
  line-height: .82;
  position: absolute;
  bottom: 108px;
  right: clamp(34px, 6.5vw, 84px);
  transform: rotate(-7deg);
}

.ch-homepage .ch-home-hero-script small {
  margin: 4px 0 0 42px;
  font-size: 1em;
  display: block;
}

.ch-homepage .ch-home-hero-script b {
  white-space: nowrap;
  margin: 12px 0 0 28px;
  font-size: .43em;
  font-weight: 400;
  display: block;
}

.ch-homepage .ch-home-trust-strip {
  z-index: 5;
  background: linear-gradient(90deg, #040504fa, #050605c4);
  border: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0 -14px 34px #00000029;
}

.ch-homepage .ch-home-trust-strip .ch-home-frame {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(100% - 120px, 1360px);
  min-height: 86px;
  display: grid;
}

.ch-homepage .ch-home-trust-strip article {
  justify-content: center;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 16px 18px;
  display: flex;
  position: relative;
}

.ch-homepage .ch-home-trust-strip article + article:before {
  background: #d3a65361;
  top: 20px;
  bottom: 20px;
}

.ch-homepage .ch-home-trust-strip svg {
  color: #ddb15e;
  flex: none;
  width: 35px;
  height: 35px;
}

.ch-homepage .ch-home-trust-strip h2 {
  color: #e7bd6d;
  white-space: nowrap;
  font-size: clamp(8px, .95vw, 10px);
  line-height: 1.15;
}

.ch-homepage .ch-home-trust-strip p {
  color: #eee8de;
  white-space: nowrap;
  margin-top: 5px;
  font-size: clamp(8px, .95vw, 10px);
  line-height: 1.2;
}

@media (max-width: 900px) {
  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 104px 1fr auto;
    width: min(100% - 36px, 860px);
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    width: 104px;
    height: 70px;
  }

  :is(body:has(.ch-homepage) .lux-header .ch-desktop-nav, body:has(.ch-homepage) .lux-header .ch-header-booking) {
    display: none;
  }

  body:has(.ch-homepage) .lux-header .lux-menu-toggle {
    display: grid;
  }

  .ch-homepage .ch-home-hero {
    height: 780px;
  }

  .ch-homepage .ch-home-hero-shade {
    background: linear-gradient(90deg, #030403f2 0%, #030403c7 50%, #0304031f 100%), linear-gradient(0deg, #030403c7 0%, #0000 45%);
  }

  .ch-homepage .ch-home-hero-copy {
    width: min(68%, 520px);
    padding: 116px 28px 214px 32px;
  }

  .ch-homepage .ch-home-hero-copy h1 {
    font-size: clamp(52px, 8vw, 66px);
  }

  .ch-homepage .ch-home-hero-script {
    bottom: 224px;
    right: 34px;
  }

  .ch-homepage .ch-home-trust-strip .ch-home-frame {
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
  }

  .ch-homepage .ch-home-trust-strip article {
    justify-content: flex-start;
    min-height: 86px;
    padding-inline: 34px;
  }

  .ch-homepage .ch-home-trust-strip article:nth-child(3):before {
    display: none;
  }

  .ch-homepage .ch-home-trust-strip article:nth-child(n+3) {
    border-top: 1px solid #d3a65347;
  }
}

@media (max-width: 620px) {
  body:has(.ch-homepage) .lux-header {
    height: 58px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    height: 58px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 96px 1fr auto;
    width: calc(100% - 28px);
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    width: 96px;
    height: 64px;
  }

  .ch-homepage .ch-home-hero {
    height: 850px;
  }

  .ch-homepage .ch-home-hero-media img {
    object-position: 58% center;
  }

  .ch-homepage .ch-home-hero-shade {
    background: linear-gradient(#030403f5 0%, #030403d1 52%, #0304038c 72%, #030403d6 100%), linear-gradient(90deg, #0304038c, #0000);
  }

  .ch-homepage .ch-home-hero-copy {
    width: 100%;
    padding: 116px 24px 238px;
  }

  .ch-homepage .ch-home-hero-copy .ch-home-kicker {
    font-size: 14px;
  }

  .ch-homepage .ch-home-hero-copy h1 {
    font-size: clamp(48px, 15vw, 64px);
  }

  .ch-homepage .ch-home-hero-copy h2 {
    font-size: 20px;
  }

  .ch-homepage .ch-home-hero-copy > p.ch-home-hero-intro {
    max-width: 34ch;
    font-size: 12px;
  }

  .ch-homepage .ch-home-hero-actions {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .ch-homepage .ch-home-hero-actions .ch-home-button, .ch-homepage .ch-home-hero-actions .ch-home-button-gold, .ch-homepage .ch-home-hero-actions .ch-home-button-outline {
    justify-content: center;
    width: min(100%, 250px);
    min-width: 0;
  }

  .ch-homepage .ch-home-hero-script {
    font-size: 30px;
    bottom: 218px;
    right: 24px;
  }

  .ch-homepage .ch-home-trust-strip article {
    gap: 9px;
    min-height: 96px;
    padding: 14px 12px;
  }

  .ch-homepage .ch-home-trust-strip svg {
    width: 29px;
    height: 29px;
  }

  .ch-homepage .ch-home-trust-strip h2, .ch-homepage .ch-home-trust-strip p {
    white-space: normal;
  }
}

.ch-homepage .ch-home-booking-band {
  background: #080807 url("images/client-layout/booking-spa-v2.png") 100% / 100% 100% no-repeat;
  border-block: 1px solid #92713a;
  grid-template-columns: minmax(0, 1fr) 200px;
  gap: 32px;
  min-height: 220px;
  padding: 40px 32% 40px 6%;
  display: grid;
}

.ch-homepage .ch-home-booking-flower {
  display: none;
}

.ch-homepage .ch-home-booking-band > div:first-of-type {
  padding: 0;
}

.ch-homepage .ch-home-booking-band h2 {
  text-wrap: balance;
  font-size: clamp(28px, 2.5vw, 48px);
  line-height: 1.12;
}

.ch-homepage .ch-home-booking-band p {
  color: #e1dbd1;
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.5;
}

.ch-homepage .ch-home-booking-band > .ch-home-button {
  width: 200px;
  min-height: 56px;
  margin: 0;
  font-size: 14px;
}

.ch-homepage .ch-home-footer {
  height: auto;
  padding: 40px 0 24px;
}

.ch-homepage .ch-home-footer-grid {
  grid-template-columns: 1.2fr 1.3fr 1fr 1.15fr .85fr;
  gap: 0;
  width: calc(100% - 80px);
  max-width: 1600px;
  height: auto;
  padding: 0;
}

.ch-homepage .ch-home-footer-grid > * {
  padding: 0 24px;
}

.ch-homepage .ch-home-footer-brand {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}

.ch-homepage .ch-home-footer-brand img {
  object-fit: contain;
  width: 160px;
  height: 112px;
  transform: none;
}

.ch-homepage .ch-home-footer-brand strong {
  font-size: 14px;
}

.ch-homepage .ch-home-footer-brand span {
  font-size: 14px;
  line-height: 1.5;
}

.ch-homepage .ch-home-footer h2 {
  margin-bottom: 16px;
  font-size: 14px;
}

.ch-homepage .ch-home-footer-links > div {
  gap: 0 16px;
}

.ch-homepage .ch-home-footer-links a {
  align-items: center;
  min-height: 36px;
  display: flex;
}

.ch-homepage .ch-home-footer-links a, .ch-homepage .ch-home-footer-contact a, .ch-homepage .ch-home-footer-contact span, .ch-homepage .ch-home-footer-hours p {
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.5;
}

.ch-homepage .ch-home-footer-contact > div a {
  width: 44px;
  height: 44px;
}

.ch-homepage .ch-home-footer-contact svg {
  width: 24px;
  height: 24px;
}

.ch-homepage .ch-home-footer-hours p {
  grid-template-columns: 72px 1fr;
  gap: 8px;
  margin-bottom: 12px;
}

.ch-homepage .ch-home-footer-badge {
  box-sizing: border-box;
  place-self: start center;
  width: calc(100% - 48px);
  max-width: 210px;
  padding: 24px;
  font-size: 16px;
}

.ch-homepage .ch-home-footer-badge small {
  font-size: 12px;
}

.ch-homepage .ch-home-footer-bottom {
  width: calc(100% - 80px);
  max-width: 1600px;
  height: auto;
  margin: 32px auto 0;
  padding-top: 24px;
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 1200px) {
  .ch-homepage .ch-home-booking-band {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-right: 36%;
  }

  .ch-homepage .ch-home-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
  }

  .ch-homepage .ch-home-footer-grid > * {
    border: 0;
    padding: 0;
  }
}

@media (max-width: 600px) {
  .ch-homepage .ch-home-booking-band {
    text-align: center;
    background-position: 100% 100%;
    background-size: auto 200px;
    gap: 24px;
    min-height: 460px;
    padding: 32px 24px 200px;
  }

  .ch-homepage .ch-home-booking-band h2 {
    font-size: 30px;
  }

  .ch-homepage .ch-home-booking-band > .ch-home-button {
    width: 100%;
  }

  .ch-homepage .ch-home-footer {
    padding: 32px 0 calc(88px + env(safe-area-inset-bottom));
  }

  .ch-homepage .ch-home-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    width: calc(100% - 48px);
  }

  .ch-homepage .ch-home-footer-brand {
    text-align: center;
    align-items: center;
  }

  .ch-homepage .ch-home-footer-links a {
    min-height: 44px;
    font-size: 16px;
  }

  .ch-homepage .ch-home-footer-contact {
    gap: 12px;
  }

  .ch-homepage .ch-home-footer-hours p {
    grid-template-columns: 1fr 1fr;
  }

  .ch-homepage .ch-home-footer-badge {
    text-align: center;
    justify-self: stretch;
  }

  .ch-homepage .ch-home-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: calc(100% - 48px);
    display: flex;
  }
}

.ch-homepage .ch-home-purpose {
  background: linear-gradient(#080807c9, #080807c9), url("images/client-layout/gold-marble-botanical.webp") center / cover;
  grid-template-columns: 27% 36% 37%;
  min-height: 240px;
}

.ch-homepage .ch-home-purpose figure {
  border: 0;
}

.ch-homepage .ch-home-purpose figure img {
  object-fit: cover;
  object-position: left center;
}

.ch-homepage .ch-home-purpose-copy {
  padding: 24px 24px 24px 16px;
}

.ch-homepage .ch-home-purpose-copy h2 {
  white-space: nowrap;
  letter-spacing: -.025em;
  font-size: clamp(24px, 2.5vw, 48px);
}

.ch-homepage .ch-home-purpose-copy p {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.5;
}

.ch-homepage .ch-home-purpose-values {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  display: grid;
}

.ch-homepage .ch-home-purpose-values > span {
  border-left: 1px solid #665536;
  min-height: 128px;
  padding: 8px;
}

.ch-homepage .ch-home-purpose-values span:before {
  display: none;
}

.ch-homepage .ch-home-purpose-values svg {
  margin-bottom: 12px;
}

.ch-homepage .ch-home-purpose-values strong {
  color: #dfbd77;
  font-size: 12px;
}

.ch-homepage .ch-home-purpose-values small {
  font-size: 11px;
}

.ch-homepage .ch-home-results {
  background: #080807 url("images/client-layout/gold-marble-botanical.webp") center / cover;
  grid-template-columns: 25% 75%;
  min-height: 0;
  padding: 24px 4%;
}

.ch-homepage .ch-home-results-copy {
  padding: 0 24px 0 0;
}

.ch-homepage .ch-home-results-copy h2 {
  white-space: nowrap;
  font-size: clamp(28px, 2.6vw, 48px);
}

.ch-homepage .ch-home-results-gallery {
  align-items: stretch;
  min-width: 0;
}

.ch-homepage .ch-home-results-gallery figure {
  aspect-ratio: 1.8;
  min-height: 0;
}

.ch-result-compare {
  isolation: isolate;
  background: #111;
  position: relative;
  overflow: hidden;
}

.ch-result-layer {
  background-repeat: no-repeat;
  background-size: 100% 200%;
  position: absolute;
  inset: 0;
}

.ch-result-after {
  background-position: bottom;
}

.ch-result-before {
  clip-path: inset(0 calc(100% - var(--reveal)) 0 0);
  background-position: top;
}

.ch-result-label, .ch-result-static figcaption {
  color: #fff;
  text-transform: uppercase;
  text-shadow: 0 1px 4px #000;
  pointer-events: none;
  padding: 24px 12px 12px;
  font-size: 12px;
  font-weight: 600;
  position: absolute;
  bottom: 0;
}

.ch-result-label-before {
  left: 0;
}

.ch-result-label-after {
  right: 0;
}

.ch-result-divider {
  top: 0;
  bottom: 0;
  left: var(--reveal);
  pointer-events: none;
  background: #fff;
  width: 2px;
  position: absolute;
  transform: translateX(-50%);
}

.ch-result-divider > span {
  color: #3b3425;
  background: #fff;
  border-radius: 50%;
  place-items: center;
  width: 36px;
  height: 36px;
  font-size: 22px;
  display: grid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 3px #ffffff40;
}

.ch-result-compare input[type="range"] {
  opacity: 0;
  cursor: ew-resize;
  touch-action: pan-y;
  width: 100%;
  height: 100%;
  margin: 0;
  position: absolute;
  inset: 0;
}

.ch-result-compare:focus-within {
  outline-offset: 3px;
  outline: 3px solid #e6bf69;
}

@media (max-width: 900px) {
  .ch-homepage .ch-home-purpose {
    grid-template-columns: 32% 68%;
  }

  .ch-homepage .ch-home-purpose-values {
    grid-column: 1 / -1;
    padding: 16px;
  }

  .ch-homepage .ch-home-purpose-values > span {
    min-height: 112px;
  }

  .ch-homepage .ch-home-results {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 32px 24px;
  }

  .ch-homepage .ch-home-results-copy {
    padding: 0;
  }
}

@media (max-width: 600px) {
  .ch-homepage .ch-home-purpose {
    grid-template-columns: 1fr;
  }

  .ch-homepage .ch-home-purpose figure {
    height: 300px;
  }

  .ch-homepage .ch-home-purpose figure img {
    object-fit: cover;
    object-position: left center;
  }

  .ch-homepage .ch-home-purpose-copy {
    padding: 24px;
  }

  .ch-homepage .ch-home-purpose-copy h2 {
    white-space: normal;
    font-size: 30px;
  }

  .ch-homepage .ch-home-purpose-values {
    padding: 0 16px 24px;
  }

  .ch-homepage .ch-home-purpose-values > span:first-child {
    border-left: 0;
  }

  .ch-homepage .ch-home-purpose-values strong, .ch-homepage .ch-home-purpose-values small {
    font-size: 10px;
  }

  .ch-homepage .ch-home-results-gallery {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 0;
    display: grid;
  }

  .ch-homepage .ch-home-results-gallery figure {
    aspect-ratio: 1.6;
    width: 100%;
  }

  .ch-result-divider > span {
    width: 44px;
    height: 44px;
  }
}

.ch-homepage .ch-home-featured {
  isolation: isolate;
  background-color: #070907;
  background-image: url("images/client-layout/gold-marble-botanical.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-block: 1px solid #d5a64eb8;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px #ffdc9333, inset 0 -1px #ffdc931f;
}

.ch-homepage .ch-home-featured:before {
  z-index: -1;
  pointer-events: none;
  content: "";
  background: radial-gradient(circle at 8% 12%, #d5a64e12, #0000 25%), radial-gradient(circle at 92% 85%, #d5a64e0e, #0000 28%);
  position: absolute;
  inset: 0;
}

.ch-homepage .ch-home-featured > .ch-home-frame {
  z-index: 1;
  position: relative;
}

@media (max-width: 1100px) {
  .ch-homepage .ch-home-featured {
    background-image: url("images/client-layout/gold-marble-botanical.webp");
    background-position: top;
    background-repeat: repeat-y;
    background-size: 100%;
  }
}

@media (max-width: 700px) {
  .ch-homepage .ch-home-service-card {
    grid-template-rows: auto auto;
    min-height: 0;
  }

  .ch-homepage .ch-home-service-card > div {
    aspect-ratio: auto;
    height: auto;
  }

  .ch-homepage .ch-home-service-card img {
    object-fit: contain;
    display: block;
    width: 100% !important;
    height: auto !important;
    position: relative !important;
  }

  .ch-homepage .ch-home-service-card:hover img {
    transform: none;
  }
}

@media (max-width: 900px) {
  .sticky-mobile-cta.ch-mobile-booking {
    padding: 0 0 env(safe-area-inset-bottom);
    background: #9b682d;
    border: 0;
  }

  .sticky-mobile-cta.ch-mobile-booking > a {
    border: 0;
    border-radius: 0;
    width: 100%;
    min-height: 56px;
    margin: 0;
  }
}

.ch-homepage .ch-home-space {
  isolation: isolate;
  background: linear-gradient(#040605e6, #040605f0), url("images/client-layout/gold-marble-botanical.webp") center / cover no-repeat;
  border-block: 1px solid #d3a6539e;
  grid-template-columns: minmax(330px, 31%) minmax(0, 69%);
  min-height: 360px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.ch-homepage .ch-home-space-copy {
  z-index: 2;
  padding: 32px clamp(34px, 3.35vw, 52px);
  position: relative;
}

.ch-homepage .ch-home-space-copy h2 {
  max-width: 15ch;
  font-size: clamp(34px, 3vw, 46px);
  line-height: .94;
}

.ch-homepage .ch-home-space-copy p {
  max-width: 38ch;
  margin-block: 14px 18px;
  font-size: 11.5px;
  line-height: 1.55;
}

.ch-homepage .ch-home-space-copy .ch-home-button {
  justify-content: space-between;
  min-width: 190px;
}

.ch-home-space-carousel {
  z-index: 2;
  outline: none;
  align-items: center;
  min-width: 0;
  min-height: 360px;
  padding: 22px 30px 50px 0;
  display: flex;
  position: relative;
}

.ch-home-space-carousel:focus-visible {
  outline: 2px solid var(--ch-home-gold-light);
  outline-offset: -4px;
}

.ch-home-space-viewport {
  width: 100%;
  height: 270px;
  overflow: hidden;
}

.ch-home-space-track {
  will-change: transform, opacity;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(116px, .6fr);
  gap: 6px;
  width: 100%;
  height: 100%;
  display: grid;
}

.ch-home-space-track.is-next {
  animation: .62s cubic-bezier(.22, .76, .2, 1) both ch-home-space-next;
}

.ch-home-space-track.is-previous {
  animation: .62s cubic-bezier(.22, .76, .2, 1) both ch-home-space-previous;
}

.ch-home-space-track figure {
  background: #0a0c0a;
  border: 1px solid #d3a65373;
  min-width: 0;
  height: 100%;
  margin: 0;
  transition: border-color .28s, box-shadow .28s, transform .28s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 30px #0000004d;
}

.ch-home-space-track figure:after {
  pointer-events: none;
  content: "";
  background: linear-gradient(#0000 66%, #0405043d);
  transition: opacity .28s;
  position: absolute;
  inset: 0;
}

.ch-home-space-track figure:hover {
  z-index: 2;
  border-color: #e8be6ce6;
  transform: translateY(-3px);
  box-shadow: 0 18px 40px #00000075;
}

.ch-home-space-track img {
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2, .72, .2, 1);
}

.ch-home-space-track figure:first-child img {
  object-position: 52% center;
}

.ch-home-space-track figure:nth-child(2) img {
  object-position: center;
}

.ch-home-space-track figure:nth-child(3) img {
  object-position: 58% center;
}

.ch-home-space-track figure:hover img {
  transform: scale(1.045);
}

.ch-home-space-track figure > span {
  z-index: 2;
  color: #f0c470;
  letter-spacing: .14em;
  opacity: 0;
  font-size: 9px;
  transition: opacity .22s;
  position: absolute;
  bottom: 9px;
  right: 11px;
}

.ch-home-space-track figure:hover > span {
  opacity: .84;
}

.ch-home-space-arrow {
  z-index: 4;
  color: #e6ba68;
  background: #050706e6;
  border: 1px solid #e5b863eb;
  border-radius: 50%;
  place-items: center;
  width: 46px;
  height: 46px;
  transition: color .18s, background-color .18s, box-shadow .18s, transform .18s;
  display: grid;
  position: absolute;
  top: calc(50% - 28px);
  box-shadow: 0 0 0 4px #05070680, 0 8px 22px #0000006b;
}

.ch-home-space-arrow:hover {
  color: #080907;
  background: #d2a451;
  transform: scale(1.06);
  box-shadow: 0 0 0 4px #05070694, 0 0 24px #d3a65357;
}

.ch-home-space-arrow:active {
  transform: scale(.94);
}

.ch-home-space-arrow:focus-visible, .ch-home-space-dots button:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #fff4dc;
}

.ch-home-space-arrow-previous {
  left: -23px;
}

.ch-home-space-arrow-next {
  right: 14px;
}

.ch-home-space-progress {
  z-index: 4;
  color: #f0e9df;
  letter-spacing: .12em;
  grid-template-columns: auto auto auto;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: grid;
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 30px;
}

.ch-home-space-progress strong {
  color: #e3b763;
  font-weight: 650;
}

.ch-home-space-progress small {
  font-size: inherit;
}

.ch-home-space-dots {
  grid-column: 1 / -1;
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: flex;
}

.ch-home-space-dots button {
  background: none;
  border: 1px solid #dcb05cc7;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  transition: width .22s, border-color .22s, background-color .22s, box-shadow .22s;
}

.ch-home-space-dots button.is-active {
  background: #d8aa55;
  border-radius: 10px;
  width: 22px;
  box-shadow: 0 0 10px #d8aa556b;
}

@keyframes ch-home-space-next {
  from {
    opacity: .45;
    transform: translate3d(34px, 0, 0)scale(.992);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0)scale(1);
  }
}

@keyframes ch-home-space-previous {
  from {
    opacity: .45;
    transform: translate3d(-34px, 0, 0)scale(.992);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0)scale(1);
  }
}

@media (max-width: 1100px) {
  .ch-homepage .ch-home-space {
    grid-template-columns: minmax(290px, 36%) minmax(0, 64%);
  }

  .ch-home-space-carousel {
    padding-right: 20px;
  }

  .ch-home-space-track {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(76px, .42fr);
  }

  .ch-home-space-progress {
    right: 20px;
  }
}

@media (max-width: 700px) {
  .ch-homepage .ch-home-space {
    grid-template-columns: 1fr;
  }

  .ch-homepage .ch-home-space-copy {
    padding: 52px 24px 34px;
  }

  .ch-homepage .ch-home-space-copy h2 {
    max-width: 13ch;
  }

  .ch-home-space-carousel {
    min-height: 430px;
    padding: 0 20px 66px;
  }

  .ch-home-space-viewport {
    height: 350px;
  }

  .ch-home-space-track {
    gap: 7px;
    width: 100%;
    display: flex;
  }

  .ch-home-space-track figure, .ch-home-space-track figure:nth-child(3) {
    flex: 0 0 82%;
    width: 82%;
  }

  .ch-home-space-arrow {
    top: calc(50% - 43px);
  }

  .ch-home-space-arrow-previous {
    left: 7px;
  }

  .ch-home-space-arrow-next {
    right: 7px;
  }

  .ch-home-space-progress {
    bottom: 14px;
    left: 20px;
    right: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ch-home-space-track.is-next, .ch-home-space-track.is-previous {
    animation: none;
  }

  .ch-home-space-track img, .ch-home-space-track figure, .ch-home-space-arrow, .ch-home-space-dots button {
    transition: none;
  }
}

@media (min-width: 981px) {
  body:has(.ch-homepage) .lux-header {
    height: 76px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    height: 76px;
  }

  body:has(.ch-homepage) .lux-header {
    z-index: 50;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom-color: #d3a6534d;
    box-shadow: 0 10px 30px #02030229;
    background: linear-gradient(90deg, #040504fc 0%, #050605f0 46%, #050605e0 100%) !important;
  }

  body:has(.ch-homepage) .lux-header.ch-header-solid {
    box-shadow: 0 12px 32px #0203025c;
    background: #050605fa !important;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 132px minmax(0, 1fr) 154px;
    gap: 16px;
    width: min(100% - 48px, 1320px);
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    z-index: 2;
    align-self: center;
    width: 126px;
    height: 72px;
    transform: none;
  }

  body:has(.ch-homepage) .lux-header .lux-logo.ch-wordmark-condensed {
    z-index: 2;
    align-self: center;
    width: 126px;
    height: 72px;
    transform: none;
  }

  body:has(.ch-homepage) .lux-header .ch-desktop-nav {
    gap: clamp(10px, 1vw, 17px);
    min-width: 0;
  }

  body:has(.ch-homepage) .lux-header .ch-desktop-nav a {
    letter-spacing: .01em;
    padding-block: 29px 24px;
    font-size: clamp(13px, 1.08vw, 15px);
    font-weight: 600;
  }

  body:has(.ch-homepage) .lux-header .ch-desktop-nav a[aria-current="page"]:after {
    bottom: 12px;
  }

  body:has(.ch-homepage) .lux-header .ch-header-booking {
    letter-spacing: .035em;
    min-width: 154px;
    min-height: 46px;
    padding: 12px 19px;
    font-size: 12px;
  }

  .ch-homepage .ch-home-hero {
    height: clamp(594px, 56.25vw, 760px);
  }

  .ch-homepage .ch-home-hero-media {
    width: min(68%, 960px);
    inset: 76px 0 0 auto;
  }

  .ch-homepage .ch-home-hero-media img {
    object-fit: cover;
    object-position: center center;
    transform: none;
  }

  .ch-homepage .ch-home-hero-shade {
    background: linear-gradient(90deg, #030403fc 0%, #040504f7 25%, #040504d6 36%, #04050457 48%, #04050408 66%), linear-gradient(0deg, #030403a8 0%, #0000 30%);
  }

  .ch-homepage .ch-home-hero-copy {
    width: 43%;
    padding-top: clamp(124px, 11.5vw, 150px);
  }
}

@media (min-width: 981px) and (max-width: 1120px) {
  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 116px minmax(0, 1fr) 144px;
    gap: 10px;
    width: calc(100% - 32px);
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    width: 112px;
    height: 68px;
  }

  body:has(.ch-homepage) .lux-header .lux-logo.ch-wordmark-condensed {
    width: 112px;
    height: 68px;
  }

  body:has(.ch-homepage) .lux-header .ch-desktop-nav {
    gap: 7px;
  }

  body:has(.ch-homepage) .lux-header .ch-desktop-nav a {
    font-size: 12px;
  }

  body:has(.ch-homepage) .lux-header .ch-header-booking {
    min-width: 144px;
  }
}

@media (min-width: 901px) and (max-width: 980px) {
  :is(body:has(.ch-homepage) .lux-header .ch-desktop-nav, body:has(.ch-homepage) .lux-header .ch-header-booking) {
    display: none;
  }

  body:has(.ch-homepage) .lux-header .lux-menu-toggle {
    display: grid;
  }
}

.lux-header .ch-header-actions {
  justify-self: end;
}

@media (max-width: 1100px) {
  body:has(.ch-homepage) .lux-header {
    height: 64px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    height: 64px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 104px minmax(0, 1fr) 44px;
    gap: 12px;
    width: min(100% - 32px, 960px);
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    align-self: center;
    width: 104px;
    height: 64px;
    transform: none;
  }

  body:has(.ch-homepage) .lux-header .lux-logo.ch-wordmark-condensed {
    align-self: center;
    width: 104px;
    height: 64px;
    transform: none;
  }

  body:has(.ch-homepage) .lux-header .ch-header-actions {
    grid-column: 3;
  }

  :is(body:has(.ch-homepage) .lux-header .ch-desktop-nav, body:has(.ch-homepage) .lux-header .ch-header-booking) {
    display: none;
  }

  body:has(.ch-homepage) .lux-header .lux-menu-toggle {
    display: grid;
  }
}

@media (max-width: 620px) {
  body:has(.ch-homepage) .lux-header {
    height: 58px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    height: 58px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 92px minmax(0, 1fr) 44px;
    gap: 10px;
    width: calc(100% - 28px);
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    width: 92px;
    height: 58px;
  }

  body:has(.ch-homepage) .lux-header .lux-logo.ch-wordmark-condensed {
    width: 92px;
    height: 58px;
  }
}

@media (max-width: 460px) {
  .ch-homepage .ch-home-hero-copy h1 {
    letter-spacing: -.04em;
    max-width: 100%;
    font-size: clamp(38px, 12vw, 52px);
  }
}

body:has(.ch-homepage) .site-footer.ch-home-footer {
  display: block;
}

.ch-home-footer {
  --ch-home-gold: #d3a653;
  --ch-home-gold-light: #f1cc7f;
  --ch-home-ivory: #f8f2e8;
  height: auto;
  color: var(--ch-home-ivory, #f8f2e8);
  padding: 40px 0 24px;
}

.ch-home-footer .ch-home-footer-grid {
  grid-template-columns: 1.2fr 1.3fr 1fr 1.15fr .85fr;
  gap: 0;
  width: calc(100% - 80px);
  max-width: 1600px;
  height: auto;
  padding: 0;
}

.ch-home-footer .ch-home-footer-grid > * {
  padding: 0 24px;
}

.ch-home-footer .ch-home-footer-brand {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}

.ch-home-footer .ch-home-footer-brand img {
  object-fit: contain;
  width: 160px;
  height: 112px;
  transform: none;
}

.ch-home-footer .ch-home-footer-brand strong, .ch-home-footer .ch-home-footer-brand span {
  font-size: 14px;
}

.ch-home-footer .ch-home-footer-brand strong, .ch-home-footer h2 {
  color: var(--ch-home-gold-light, #f1cc7f);
  text-shadow: 0 0 14px #d3a65333;
}

.ch-home-footer .ch-home-footer-brand span {
  line-height: 1.5;
}

.ch-home-footer h2 {
  margin-bottom: 16px;
  font-size: 14px;
}

.ch-home-footer .ch-home-footer-links > div {
  gap: 0 16px;
}

.ch-home-footer .ch-home-footer-links a {
  align-items: center;
  min-height: 36px;
  display: flex;
}

.ch-home-footer .ch-home-footer-links a, .ch-home-footer .ch-home-footer-contact a, .ch-home-footer .ch-home-footer-contact span, .ch-home-footer .ch-home-footer-hours p {
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.5;
}

.ch-home-footer .ch-home-footer-contact > div a {
  width: 44px;
  height: 44px;
}

.ch-home-footer .ch-home-footer-contact svg {
  width: 24px;
  height: 24px;
}

.ch-home-footer .ch-home-footer-hours p {
  grid-template-columns: 72px 1fr;
  gap: 8px;
  margin-bottom: 12px;
}

.ch-home-footer .ch-home-footer-badge {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 210px;
  color: var(--ch-home-gold-light, #f1cc7f);
  letter-spacing: .1em;
  text-shadow: 0 0 14px #d3a6532e;
  white-space: nowrap;
  place-self: start center;
  font-size: clamp(12px, 1vw, 15px);
  line-height: 1.55;
  display: block;
  overflow: hidden;
  padding: 24px 12px !important;
}

.ch-home-footer .ch-home-footer-badge small {
  color: var(--ch-home-gold-light, #f1cc7f);
  font-size: 12px;
}

.ch-home-footer .ch-home-footer-bottom {
  align-items: center;
  width: calc(100% - 80px);
  max-width: 1600px;
  height: auto;
  margin: 32px auto 0;
  padding-top: 24px;
  font-size: 12px;
  line-height: 1.5;
}

.ch-home-footer-meta {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px 18px;
  display: flex;
}

.ch-home-footer-meta > * {
  color: #cbc5bb;
  font-size: 12px;
}

@media (min-width: 1101px) {
  .client-main {
    padding-top: 76px;
  }

  body:has(.ch-homepage) .client-main {
    padding-top: 0;
  }

  .lux-header, .lux-header .lux-header-inner {
    height: 76px;
  }

  body:has(.ch-homepage) .lux-header {
    height: 76px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    height: 76px;
  }

  .lux-header, .lux-header.ch-header-solid {
    color: #f4efe7;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom-color: #d3a6534d;
    box-shadow: 0 10px 30px #02030229;
    background: linear-gradient(90deg, #040504fc 0%, #050605f0 46%, #050605e0 100%) !important;
  }

  body:has(.ch-homepage) .lux-header {
    color: #f4efe7;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom-color: #d3a6534d;
    box-shadow: 0 10px 30px #02030229;
    background: linear-gradient(90deg, #040504fc 0%, #050605f0 46%, #050605e0 100%) !important;
  }

  body:has(.ch-homepage) .lux-header.ch-header-solid {
    color: #f4efe7;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom-color: #d3a6534d;
    box-shadow: 0 10px 30px #02030229;
    background: linear-gradient(90deg, #040504fc 0%, #050605f0 46%, #050605e0 100%) !important;
  }

  .lux-header .lux-header-inner {
    grid-template-columns: 132px minmax(0, 1fr) 154px;
    gap: 16px;
    width: min(100% - 48px, 1320px);
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 132px minmax(0, 1fr) 154px;
    gap: 16px;
    width: min(100% - 48px, 1320px);
  }

  .lux-header .lux-logo, .lux-header .lux-logo.ch-wordmark-condensed {
    z-index: 2;
    align-self: center;
    width: 126px;
    height: 72px;
    transform: none;
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    z-index: 2;
    align-self: center;
    width: 126px;
    height: 72px;
    transform: none;
  }

  body:has(.ch-homepage) .lux-header .lux-logo.ch-wordmark-condensed {
    z-index: 2;
    align-self: center;
    width: 126px;
    height: 72px;
    transform: none;
  }

  .lux-header .ch-desktop-nav {
    gap: clamp(10px, 1vw, 17px);
    min-width: 0;
    display: flex;
  }

  body:has(.ch-homepage) .lux-header .ch-desktop-nav {
    gap: clamp(10px, 1vw, 17px);
    min-width: 0;
    display: flex;
  }

  .lux-header .ch-desktop-nav a {
    color: #f4efe7;
    letter-spacing: .01em;
    padding-block: 29px 24px;
    font-size: clamp(13px, 1.08vw, 15px);
    font-weight: 600;
  }

  body:has(.ch-homepage) .lux-header .ch-desktop-nav a {
    color: #f4efe7;
    letter-spacing: .01em;
    padding-block: 29px 24px;
    font-size: clamp(13px, 1.08vw, 15px);
    font-weight: 600;
  }

  .lux-header .ch-desktop-nav a[aria-current="page"]:after {
    bottom: 12px;
  }

  body:has(.ch-homepage) .lux-header .ch-desktop-nav a[aria-current="page"]:after {
    bottom: 12px;
  }

  .lux-header .ch-header-booking {
    color: #fff9ed;
    letter-spacing: .035em;
    background: linear-gradient(112deg, #956328, #d9ae5b 52%, #a56f2e);
    border-color: #e2b765;
    min-width: 154px;
    min-height: 46px;
    padding: 12px 19px;
    font-size: 12px;
    display: inline-flex;
  }

  body:has(.ch-homepage) .lux-header .ch-header-booking {
    color: #fff9ed;
    letter-spacing: .035em;
    background: linear-gradient(112deg, #956328, #d9ae5b 52%, #a56f2e);
    border-color: #e2b765;
    min-width: 154px;
    min-height: 46px;
    padding: 12px 19px;
    font-size: 12px;
    display: inline-flex;
  }

  .lux-header .lux-menu-toggle {
    display: none;
  }

  body:has(.ch-homepage) .lux-header .lux-menu-toggle {
    display: none;
  }
}

@media (max-width: 1200px) {
  .ch-home-footer .ch-home-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
  }

  .ch-home-footer .ch-home-footer-grid > * {
    border: 0;
    padding: 0;
  }
}

@media (max-width: 1100px) {
  .client-main {
    padding-top: 64px;
  }

  body:has(.ch-homepage) .client-main {
    padding-top: 64px;
  }

  .lux-header, .lux-header .lux-header-inner {
    height: 64px;
  }

  body:has(.ch-homepage) .lux-header {
    height: 64px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    height: 64px;
  }

  .lux-header, .lux-header.ch-header-solid {
    color: #f4efe7;
    background: #050605fa !important;
  }

  body:has(.ch-homepage) .lux-header {
    color: #f4efe7;
    background: #050605fa !important;
  }

  body:has(.ch-homepage) .lux-header.ch-header-solid {
    color: #f4efe7;
    background: #050605fa !important;
  }

  .lux-header .lux-header-inner {
    grid-template-columns: 104px minmax(0, 1fr) 44px;
    gap: 12px;
    width: min(100% - 32px, 960px);
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 104px minmax(0, 1fr) 44px;
    gap: 12px;
    width: min(100% - 32px, 960px);
  }

  .lux-header .lux-logo, .lux-header .lux-logo.ch-wordmark-condensed {
    align-self: center;
    width: 104px;
    height: 64px;
    transform: none;
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    align-self: center;
    width: 104px;
    height: 64px;
    transform: none;
  }

  body:has(.ch-homepage) .lux-header .lux-logo.ch-wordmark-condensed {
    align-self: center;
    width: 104px;
    height: 64px;
    transform: none;
  }

  .lux-header .ch-header-actions {
    grid-column: 3;
  }

  body:has(.ch-homepage) .lux-header .ch-header-actions {
    grid-column: 3;
  }

  .lux-header .ch-desktop-nav, .lux-header .ch-header-booking {
    display: none;
  }

  body:has(.ch-homepage) .lux-header .ch-desktop-nav {
    display: none;
  }

  body:has(.ch-homepage) .lux-header .ch-header-booking {
    display: none;
  }

  .lux-header .lux-menu-toggle {
    display: grid;
  }

  body:has(.ch-homepage) .lux-header .lux-menu-toggle {
    display: grid;
  }
}

@media (max-width: 900px) {
  .ch-home-footer .ch-home-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 48px);
  }

  .ch-home-footer .ch-home-footer-badge {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .client-main {
    padding-top: 58px;
  }

  body:has(.ch-homepage) .client-main {
    padding-top: 58px;
  }

  .lux-header, .lux-header .lux-header-inner {
    height: 58px;
  }

  body:has(.ch-homepage) .lux-header {
    height: 58px;
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    height: 58px;
  }

  .lux-header .lux-header-inner {
    grid-template-columns: 92px minmax(0, 1fr) 44px;
    gap: 10px;
    width: calc(100% - 28px);
  }

  body:has(.ch-homepage) .lux-header .lux-header-inner {
    grid-template-columns: 92px minmax(0, 1fr) 44px;
    gap: 10px;
    width: calc(100% - 28px);
  }

  .lux-header .lux-logo, .lux-header .lux-logo.ch-wordmark-condensed {
    width: 92px;
    height: 58px;
  }

  body:has(.ch-homepage) .lux-header .lux-logo {
    width: 92px;
    height: 58px;
  }

  body:has(.ch-homepage) .lux-header .lux-logo.ch-wordmark-condensed {
    width: 92px;
    height: 58px;
  }

  .ch-home-footer {
    padding: 32px 0 calc(88px + env(safe-area-inset-bottom));
  }

  .ch-home-footer .ch-home-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    width: calc(100% - 48px);
  }

  .ch-home-footer .ch-home-footer-brand {
    text-align: center;
    align-items: center;
  }

  .ch-home-footer .ch-home-footer-links a {
    min-height: 44px;
    font-size: 16px;
  }

  .ch-home-footer .ch-home-footer-contact {
    gap: 12px;
  }

  .ch-home-footer .ch-home-footer-hours p {
    grid-template-columns: 1fr 1fr;
  }

  .ch-home-footer .ch-home-footer-badge {
    grid-column: auto;
    width: min(100%, 210px);
  }

  .ch-home-footer .ch-home-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: calc(100% - 48px);
  }

  .ch-home-footer-meta {
    justify-content: flex-start;
  }
}

.lux-service-medical-aesthetics .lux-hero-copy {
  isolation: isolate;
  background: linear-gradient(90deg, #03040314, #03040347), radial-gradient(circle at 6% 18%, #e3b04f38, #0000 18%), radial-gradient(circle at 92% 82%, #c0812329, #0000 24%), url("images/client-layout/gold-marble-botanical.webp") center / auto 125% no-repeat, #050605;
  box-shadow: inset -1px 0 #ebbe6461, inset 0 -1px #ebbe642e;
}

.lux-service-medical-aesthetics .lux-hero-copy:after {
  background: linear-gradient(90deg, #0000 68%, #00000038), radial-gradient(circle at 8% 70%, #e7b34b1f, #0000 23%);
  border-right-color: #ebbe646b;
}

@media (max-width: 820px) {
  .lux-service-medical-aesthetics .lux-hero-copy {
    background-position: 48%;
    background-size: auto 118%;
  }
}

@media (max-width: 620px) {
  .lux-service-medical-aesthetics .lux-hero-copy {
    background-position: center;
    background-size: auto 112%;
    min-height: 500px;
    padding: 3rem 1.5rem 2.25rem;
  }

  .lux-service-medical-aesthetics .lux-hero-copy:after {
    background: linear-gradient(0deg, #0000003d, #0000 32%);
    border-bottom: 1px solid #ebbe6461;
    border-right: 0;
  }
}

.lux-service-medical-aesthetics .lux-service-section {
  isolation: isolate;
  background: linear-gradient(90deg, #04050447, #04050414 48%, #04050447), linear-gradient(#05060594, #050605b3), url("images/client-layout/gold-marble-botanical.webp") 50% 18% / cover no-repeat, #050605;
  overflow: hidden;
  box-shadow: inset 0 1px #ffdd9424, inset 0 -1px #ffdd9414;
}

.lux-service-medical-aesthetics .lux-service-section:before {
  z-index: -1;
  pointer-events: none;
  mix-blend-mode: screen;
  content: "";
  background: radial-gradient(circle at 0 22%, #eeb84e4d, #0000 13%), radial-gradient(circle at 100% 88%, #eeb84e3d, #0000 15%), linear-gradient(90deg, #00000014, #0000 16% 84%, #0000001a);
  position: absolute;
  inset: 0;
}

.lux-service-medical-aesthetics .lux-service-section > .lux-shell {
  z-index: 1;
  position: relative;
}

.lux-service-medical-aesthetics .lux-service-section .lux-service-card {
  background: linear-gradient(145deg, #0f1210fa, #060807fa);
  box-shadow: 0 10px 30px #0000003d;
}

@media (max-width: 620px) {
  .lux-service-medical-aesthetics .lux-service-section {
    background: linear-gradient(#050605a3, #050605c7), url("images/client-layout/gold-marble-botanical.webp") 47% 0 / auto 680px repeat-y, #050605;
    padding-block: 2.5rem 3rem;
  }

  .lux-service-medical-aesthetics .lux-service-section:before {
    background: radial-gradient(circle at 0 10%, #eeb84e45, #0000 16%), radial-gradient(circle at 100% 56%, #eeb84e33, #0000 18%);
  }

  .lux-service-medical-aesthetics .lux-service-section .lux-section-lead {
    margin-bottom: 1.4rem;
  }

  .lux-service-medical-aesthetics .lux-service-section .lux-section-lead > p {
    max-width: 38ch;
  }
}

.ch-desktop-nav-item {
  align-self: stretch;
  align-items: center;
  display: flex;
  position: relative;
}

.lux-header .ch-desktop-nav-trigger {
  align-items: center;
  gap: .32rem;
  display: inline-flex;
}

.ch-desktop-nav-caret {
  transition: transform .18s;
}

.ch-desktop-submenu {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  background: #050706fa;
  border: 1px solid #d8a84f94;
  min-width: 245px;
  padding: .45rem;
  transition: opacity .18s, transform .18s, visibility .18s;
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  transform: translate(-50%, -7px);
  box-shadow: 0 18px 38px #0000007a;
}

.ch-desktop-nav-item:hover .ch-desktop-submenu, .ch-desktop-nav-item:focus-within .ch-desktop-submenu {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translate(-50%);
}

.ch-desktop-nav-item:hover .ch-desktop-nav-caret, .ch-desktop-nav-item:focus-within .ch-desktop-nav-caret {
  transform: rotate(180deg);
}

.lux-header .ch-desktop-submenu a {
  color: #f4efe7;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  border-bottom: 1px solid #d8a84f29;
  padding: .75rem .85rem;
  font-size: .72rem;
  font-weight: 600;
  line-height: 1.25;
  display: block;
}

body:has(.ch-homepage) .lux-header .ch-desktop-submenu a {
  color: #f4efe7;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  border-bottom: 1px solid #d8a84f29;
  padding: .75rem .85rem;
  font-size: .72rem;
  font-weight: 600;
  line-height: 1.25;
  display: block;
}

.lux-header .ch-desktop-submenu a:last-child {
  border-bottom: 0;
}

body:has(.ch-homepage) .lux-header .ch-desktop-submenu a:last-child {
  border-bottom: 0;
}

.lux-header .ch-desktop-submenu a:hover, .lux-header .ch-desktop-submenu a:focus-visible {
  color: var(--lux-pale-gold, #f1ce82);
  background: #d8a84f17;
}

body:has(.ch-homepage) .lux-header .ch-desktop-submenu a:hover {
  color: var(--lux-pale-gold, #f1ce82);
  background: #d8a84f17;
}

body:has(.ch-homepage) .lux-header .ch-desktop-submenu a:focus-visible {
  color: var(--lux-pale-gold, #f1ce82);
  background: #d8a84f17;
}

.ch-mobile-nav-group {
  border-bottom: 1px solid #d8cbb96b;
  padding: .25rem 0 .65rem;
}

.ch-mobile-nav-parent {
  color: var(--ink);
  font-family: var(--font-display);
  padding-bottom: .3rem;
  font-size: 1.7rem;
  display: block;
}

.ch-mobile-nav-children {
  border-left: 1px solid #a7742c73;
  gap: .2rem;
  margin: .2rem 0 .2rem .2rem;
  padding-left: .9rem;
  display: grid;
}

.ch-mobile-nav-children a {
  color: #79521f;
  letter-spacing: .07em;
  text-transform: uppercase;
  min-height: 38px;
  padding: .55rem 0;
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.3;
}

.lux-service-medical-aesthetics .lux-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lux-service-card-detailed {
  scroll-margin-top: 96px;
}

.lux-service-card-detailed .lux-service-card-copy {
  min-height: 0;
  padding: 1rem 1rem 1.15rem;
}

.lux-service-card-detailed .lux-service-card-copy h3 {
  padding-right: 2rem;
}

.lux-service-card-detailed .lux-service-card-copy > span {
  top: .85rem;
  right: .75rem;
}

.lux-treatment-list {
  color: #f0ebe2;
  border-top: 1px solid #d8a84f47;
  gap: .4rem;
  margin-top: .9rem;
  padding-top: .8rem;
  font-size: .67rem;
  line-height: 1.35;
  display: grid;
}

.lux-treatment-list li {
  padding-left: .8rem;
  position: relative;
}

.lux-treatment-list li:before {
  background: var(--lux-gold, #d8a84f);
  content: "";
  border-radius: 50%;
  width: 3px;
  height: 3px;
  position: absolute;
  top: .56em;
  left: 0;
  box-shadow: 0 0 6px #d8a84fb3;
}

@media (max-width: 1100px) and (min-width: 621px) {
  .lux-service-medical-aesthetics .lux-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .lux-service-medical-aesthetics .lux-card-grid {
    grid-template-columns: 1fr;
  }

  .lux-service-card-detailed .lux-service-card-copy {
    padding: 1.1rem 1.15rem 1.25rem;
  }

  .lux-treatment-list {
    gap: .52rem;
    font-size: .78rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ch-desktop-nav-caret, .ch-desktop-submenu {
    transition: none;
  }
}

.lux-service-card-link {
  color: inherit;
  text-decoration: none;
  display: block;
}

.lux-service-card-link:focus-visible {
  outline: 2px solid var(--lux-pale-gold, #f1ce82);
  outline-offset: 4px;
}

.lux-medical-category-page .lux-hero-copy h1 {
  max-width: 10ch;
}

.lux-medical-category-page .lux-hero-media {
  background: #050605;
}

.lux-medical-category-page .lux-hero-media img {
  object-position: center;
}

.lux-medical-category-services {
  background: linear-gradient(#050605c2, #050605e6), url("images/client-layout/gold-marble-botanical.webp") 50% 22% / cover, #050605;
  overflow: hidden;
}

.lux-medical-category-back {
  min-height: 40px;
  color: var(--lux-pale-gold, #f1ce82);
  letter-spacing: .075em;
  text-transform: uppercase;
  align-items: center;
  gap: .45rem;
  margin-bottom: 1.8rem;
  font-size: .68rem;
  font-weight: 650;
  display: inline-flex;
}

.lux-medical-category-back svg {
  transition: transform .18s;
}

.lux-medical-category-back:hover svg {
  transform: translateX(-3px);
}

.lux-medical-category-lead {
  grid-template-columns: minmax(270px, .85fr) minmax(300px, 1.15fr);
  align-items: end;
  gap: clamp(1.5rem, 4vw, 5rem);
  margin-bottom: 2rem;
  display: grid;
}

.lux-medical-category-lead h2 {
  max-width: 14ch;
  font-family: var(--font-display);
  letter-spacing: -.025em;
  margin-top: .3rem;
  font-size: clamp(2.25rem, 4.1vw, 4.65rem);
  font-weight: 400;
  line-height: .96;
}

.lux-medical-category-lead > p {
  color: #ded8cf;
  max-width: 67ch;
  font-size: .83rem;
  line-height: 1.65;
}

.lux-medical-treatment-grid {
  border-top: 1px solid #d8a84f7a;
  border-left: 1px solid #d8a84f57;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
  display: grid;
}

.lux-medical-treatment-grid article {
  background: linear-gradient(145deg, #111312f5, #070908f5);
  border-bottom: 1px solid #d8a84f57;
  border-right: 1px solid #d8a84f57;
  grid-template-columns: 30px minmax(0, 1fr);
  align-content: start;
  gap: .85rem;
  min-height: 148px;
  padding: 1.4rem;
  display: grid;
}

.lux-medical-treatment-grid svg {
  color: var(--lux-gold, #d8a84f);
}

.lux-medical-treatment-grid h3 {
  color: #f7f1e8;
  letter-spacing: .065em;
  text-transform: uppercase;
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.3;
}

.lux-medical-treatment-grid p {
  color: #d8d2c8;
  margin-top: .55rem;
  font-size: .75rem;
  line-height: 1.58;
}

.lux-medical-category-booking {
  margin-top: 1.7rem;
}

.lux-medical-category-gallery {
  background: radial-gradient(circle at 100% 0, #c0812324, #0000 30%), #080a09;
  overflow: hidden;
}

.lux-medical-category-gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
  display: grid;
}

.lux-medical-category-gallery-grid figure {
  background: linear-gradient(145deg, #101211, #060707);
  border: 1px solid #d8a84f66;
  min-width: 0;
  overflow: hidden;
}

.lux-medical-category-gallery-grid figure:only-child {
  width: min(100%, 440px);
}

.lux-medical-category-gallery-grid figure > div {
  aspect-ratio: 4 / 5;
  background: #050605;
  position: relative;
  overflow: hidden;
}

.lux-medical-category-gallery-grid img {
  object-fit: contain;
  transition: transform .5s;
}

.lux-medical-category-gallery-grid figure:hover img {
  transform: scale(1.018);
}

.lux-medical-category-gallery-grid figcaption {
  color: #f3ede3;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-top: 1px solid #d8a84f42;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 48px;
  padding: .72rem .85rem;
  font-size: .68rem;
  font-weight: 650;
  line-height: 1.3;
  display: flex;
}

.lux-medical-category-gallery-grid figcaption small {
  color: var(--lux-gold, #d8a84f);
  font-family: var(--font-display);
  font-size: .88rem;
  font-weight: 400;
}

.lux-medical-category-result-note {
  color: #bfb8ad;
  font-size: .68rem;
  line-height: 1.55;
  margin-top: 1rem !important;
}

.lux-medical-category-nav {
  background: linear-gradient(#070908e6, #070908f0), url("images/client-layout/gold-marble-botanical.webp") center / cover;
}

.lux-medical-category-nav .lux-kicker {
  margin-bottom: 1rem;
}

.lux-medical-category-nav .lux-shell > div {
  border-top: 1px solid #d8a84f75;
  border-left: 1px solid #d8a84f57;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
}

.lux-medical-category-nav a {
  color: #f2ece2;
  letter-spacing: .055em;
  text-transform: uppercase;
  border-bottom: 1px solid #d8a84f57;
  border-right: 1px solid #d8a84f57;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  min-height: 74px;
  padding: 1rem;
  font-size: .7rem;
  font-weight: 650;
  line-height: 1.35;
  transition: background .18s, color .18s;
  display: flex;
}

.lux-medical-category-nav a:hover, .lux-medical-category-nav a:focus-visible, .lux-medical-category-nav a[aria-current="page"] {
  color: var(--lux-pale-gold, #f1ce82);
  background: #d8a84f1c;
}

.lux-medical-category-nav a[aria-current="page"] svg {
  transform: rotate(-45deg);
}

@media (max-width: 900px) {
  .lux-medical-category-gallery-grid, .lux-medical-category-nav .lux-shell > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .lux-medical-category-page .lux-hero-copy {
    min-height: 455px;
  }

  .lux-medical-category-page .lux-hero-copy h1 {
    font-size: clamp(2.8rem, 14vw, 4.2rem);
  }

  .lux-medical-category-back {
    margin-bottom: 1.2rem;
    font-size: .62rem;
  }

  .lux-medical-category-lead {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1.4rem;
  }

  .lux-medical-category-lead h2 {
    font-size: clamp(2.2rem, 11vw, 3.4rem);
  }

  .lux-medical-category-lead > p {
    font-size: .78rem;
  }

  .lux-medical-treatment-grid {
    grid-template-columns: 1fr;
  }

  .lux-medical-treatment-grid article {
    min-height: 0;
    padding: 1.2rem 1rem;
  }

  .lux-medical-treatment-grid p {
    font-size: .77rem;
  }

  .lux-medical-category-booking {
    width: 100%;
  }

  .lux-medical-category-gallery-grid {
    grid-template-columns: 1fr;
  }

  .lux-medical-category-gallery-grid figure:only-child {
    width: 100%;
  }

  .lux-medical-category-nav .lux-shell > div {
    grid-template-columns: 1fr;
  }

  .lux-medical-category-nav a {
    min-height: 58px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lux-medical-category-back svg, .lux-medical-category-gallery-grid img {
    transition: none;
  }
}

.lux-page.lux-about-page .lux-about-hero {
  grid-template-columns: minmax(540px, 46%) 1fr;
  min-height: clamp(610px, 50vw, 730px);
}

.lux-page.lux-about-page .lux-about-hero-copy {
  isolation: isolate;
  background: #070807;
  justify-content: center;
  padding: clamp(2.5rem, 3.9vw, 4rem) clamp(2.75rem, 4.6vw, 4.8rem);
  position: relative;
  overflow: hidden;
}

.lux-page.lux-about-page .lux-about-hero-copy:before {
  z-index: -2;
  content: "";
  filter: saturate(.84) contrast(1.08);
  opacity: .58;
  background: linear-gradient(90deg, #03050424, #0305046b 52%, #030504b3), url("images/client-layout/gold-marble-botanical.webp") 0 / auto 100% no-repeat;
  position: absolute;
  inset: 0;
}

.lux-page.lux-about-page .lux-about-hero-copy:after {
  z-index: -1;
  content: "";
  background: radial-gradient(circle at 91% 12%, #c680293d, #0000 28%), linear-gradient(90deg, #0102020f, #01020261);
  position: absolute;
  inset: 0;
}

.lux-about-hero-sparkles {
  z-index: 0;
  pointer-events: none;
  width: min(31%, 180px);
  height: 130px;
  position: absolute;
  top: 1.7rem;
  right: 1.5rem;
}

.lux-about-hero-sparkles i {
  background: #ffe6a1;
  border-radius: 999px;
  width: 4px;
  height: 4px;
  position: absolute;
  box-shadow: 0 0 5px 2px #ffcb67f0, 0 0 18px 6px #d8963185;
}

.lux-about-hero-sparkles i:before, .lux-about-hero-sparkles i:after {
  content: "";
  background: linear-gradient(90deg, #0000, #ffd788, #0000);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lux-about-hero-sparkles i:before {
  width: 42px;
  height: 1px;
}

.lux-about-hero-sparkles i:after {
  background: linear-gradient(#0000, #ffd788, #0000);
  width: 1px;
  height: 42px;
}

.lux-about-hero-sparkles i:first-child {
  top: 8%;
  right: 4%;
  transform: scale(1.15);
}

.lux-about-hero-sparkles i:nth-child(2) {
  top: 51%;
  left: 15%;
  transform: scale(.62);
}

.lux-about-hero-sparkles i:nth-child(3) {
  bottom: 8%;
  right: 19%;
  transform: scale(.78);
}

.lux-about-hero-sparkles i:nth-child(4) {
  top: 28%;
  left: 52%;
  transform: scale(.42);
}

.lux-page.lux-about-page .lux-about-hero-kicker {
  z-index: 1;
  color: #f8f3ea;
  letter-spacing: .3em;
  font-size: clamp(.7rem, .9vw, .85rem);
  font-weight: 750;
  position: relative;
}

.lux-page.lux-about-page .lux-about-hero h1 {
  z-index: 1;
  color: #f9f5ed;
  letter-spacing: -.045em;
  flex-direction: column;
  margin-top: .7rem;
  font-size: clamp(3.7rem, 5.65vw, 5.35rem);
  line-height: .82;
  display: flex;
  position: relative;
}

.lux-page.lux-about-page .lux-about-hero h1 em {
  color: #e8bd72;
  text-shadow: 0 2px #281303e6, 0 0 18px #d79f451f;
  font-style: normal;
}

.lux-page.lux-about-page .lux-about-hero h1 > span {
  white-space: nowrap;
  align-self: stretch;
  align-items: center;
  gap: clamp(1rem, 2vw, 1.85rem);
  padding-top: .2em;
  padding-left: .08em;
  display: flex;
}

.lux-page.lux-about-page .lux-about-hero h1 > span i, .lux-page.lux-about-page .lux-about-hero h2 em i {
  background: linear-gradient(90deg, #c9903e, #e6bd70);
  flex: none;
  width: clamp(3.1rem, 5.5vw, 5rem);
  height: 2px;
  display: block;
  box-shadow: 0 0 12px #d8a84f2e;
}

.lux-page.lux-about-page .lux-about-hero h2 {
  z-index: 1;
  gap: .2rem;
  margin-top: 1.25rem;
  font-size: clamp(1.85rem, 2.55vw, 2.55rem);
  line-height: 1.05;
  display: grid;
  position: relative;
}

.lux-page.lux-about-page .lux-about-hero h2 > span {
  color: #fffdf7;
  font-weight: 600;
}

.lux-page.lux-about-page .lux-about-hero h2 em {
  color: #e7b866;
  white-space: nowrap;
  align-items: center;
  gap: clamp(.75rem, 1.4vw, 1.15rem);
  font-style: italic;
  display: flex;
}

.lux-page.lux-about-page .lux-about-hero h2 em i {
  width: clamp(2.7rem, 4.6vw, 4.2rem);
}

.lux-page.lux-about-page .lux-about-hero-copy > p {
  z-index: 1;
  color: #eee9e1;
  text-wrap: pretty;
  max-width: 58ch;
  margin-top: 1.15rem;
  font-size: clamp(.82rem, 1vw, .98rem);
  font-weight: 540;
  line-height: 1.56;
  position: relative;
}

.lux-page.lux-about-page .lux-about-hero-actions {
  z-index: 1;
  align-items: center;
  gap: clamp(1rem, 2.2vw, 2rem);
  width: 100%;
  margin-top: 1.45rem;
  display: flex;
  position: relative;
}

.lux-page.lux-about-page .lux-about-hero-actions .lux-button {
  color: #fffaf0;
  letter-spacing: .055em;
  background: linear-gradient(112deg, #a87436, #d9ac5c 52%, #a97636);
  border-color: #e4b866;
  min-width: clamp(220px, 19vw, 270px);
  min-height: 54px;
  padding-inline: 1.6rem;
  font-size: .72rem;
}

.lux-page.lux-about-page .lux-about-hero-actions .lux-text-link {
  color: #fffaf2;
  letter-spacing: .055em;
  white-space: nowrap;
  flex: none;
  gap: .75rem;
  font-size: .68rem;
  font-weight: 700;
}

.lux-page.lux-about-page .lux-about-hero-actions .lux-text-link > span {
  border: 2px solid #d8a859;
  border-radius: 999px;
  flex: none;
  place-items: center;
  width: 50px;
  height: 50px;
  display: grid;
  box-shadow: 0 0 16px #d8a84f1a;
}

.lux-page.lux-about-page .lux-about-hero-actions .lux-text-link svg {
  color: #fff;
  margin-left: 2px;
}

.lux-page.lux-about-page .lux-about-hero-image {
  min-height: clamp(610px, 50vw, 730px);
}

@media (max-width: 900px) {
  .lux-page.lux-about-page .lux-about-hero {
    grid-template-columns: 1fr;
  }

  .lux-page.lux-about-page .lux-about-hero-copy {
    min-height: 650px;
    padding: 3rem clamp(2rem, 9vw, 5rem);
  }

  .lux-page.lux-about-page .lux-about-hero-image {
    min-height: clamp(360px, 72vw, 620px);
  }

  .lux-page.lux-about-page .lux-about-hero h1 {
    font-size: clamp(4rem, 10.5vw, 5.8rem);
  }

  .lux-page.lux-about-page .lux-about-hero h2 {
    font-size: clamp(2.15rem, 5vw, 2.8rem);
  }

  .lux-page.lux-about-page .lux-about-hero-copy > p {
    max-width: 61ch;
  }
}

@media (max-width: 620px) {
  .lux-page.lux-about-page .lux-about-hero-copy {
    min-height: 660px;
    padding: 2.15rem 1.25rem 2.5rem;
  }

  .lux-about-hero-sparkles {
    opacity: .78;
    width: 120px;
    height: 100px;
    top: 1.25rem;
    right: .9rem;
  }

  .lux-page.lux-about-page .lux-about-hero-kicker {
    font-size: .66rem;
  }

  .lux-page.lux-about-page .lux-about-hero h1 {
    margin-top: .55rem;
    font-size: clamp(3.05rem, 14vw, 4rem);
  }

  .lux-page.lux-about-page .lux-about-hero h1 > span {
    gap: .85rem;
  }

  .lux-page.lux-about-page .lux-about-hero h1 > span i {
    width: clamp(2.4rem, 13vw, 3.25rem);
  }

  .lux-page.lux-about-page .lux-about-hero h2 {
    gap: .25rem;
    margin-top: 1rem;
    font-size: clamp(1.55rem, 7vw, 1.85rem);
  }

  .lux-page.lux-about-page .lux-about-hero h2 em {
    gap: .7rem;
  }

  .lux-page.lux-about-page .lux-about-hero h2 em i {
    width: 2.35rem;
  }

  .lux-page.lux-about-page .lux-about-hero-copy > p {
    margin-top: 1rem;
    font-size: .82rem;
    line-height: 1.52;
  }

  .lux-page.lux-about-page .lux-about-hero-actions {
    flex-direction: column;
    align-items: stretch;
    gap: .85rem;
    margin-top: 1.25rem;
  }

  .lux-page.lux-about-page .lux-about-hero-actions .lux-button {
    width: 100%;
    min-width: 0;
  }

  .lux-page.lux-about-page .lux-about-hero-actions .lux-text-link {
    align-self: flex-start;
  }

  .lux-page.lux-about-page .lux-about-hero-actions .lux-text-link > span {
    width: 44px;
    height: 44px;
  }

  .lux-page.lux-about-page .lux-about-hero-image {
    min-height: 70vw;
  }

  .lux-page.lux-about-page .lux-about-hero-image > span {
    font-size: .58rem;
    top: 1.25rem;
    right: 1rem;
  }
}

@media (max-width: 380px) {
  .lux-page.lux-about-page .lux-about-hero-copy {
    min-height: 650px;
    padding-inline: 1rem;
  }

  .lux-page.lux-about-page .lux-about-hero h1 {
    font-size: 12.7vw;
  }

  .lux-page.lux-about-page .lux-about-hero h2 {
    font-size: 6.6vw;
  }
}

.lux-about-page > .lux-feature-strip {
  isolation: isolate;
  background: radial-gradient(circle at 82% 8%, #ae691f24, #0000 28%), linear-gradient(90deg, #060706, #090907 55%, #0e0b08 82%, #070706);
  border-top: 1px solid #e5b55bcc;
  border-bottom: 1px solid #e5b55bdb;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px #ffda911f, inset 0 -1px #ffda9124, 0 -8px 28px #d8a84f14;
}

.lux-about-page > .lux-feature-strip:before {
  z-index: -1;
  content: "";
  filter: saturate(.72) contrast(1.15);
  opacity: .32;
  background: url("images/client-layout/gold-marble-botanical.webp") 100% / auto 420% no-repeat;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(90deg, #0000 22%, #000 68%);
  mask-image: linear-gradient(90deg, #0000 22%, #000 68%);
}

.lux-about-page > .lux-feature-strip:after {
  z-index: 2;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #0000, #ffda89e6 20%, #cd8e3473 70%, #0000);
  height: 2px;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  box-shadow: 0 0 12px #e8b25173;
}

.lux-about-page > .lux-feature-strip .lux-feature-grid {
  z-index: 1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  max-width: none;
  padding-inline: clamp(.8rem, 2.6vw, 3.8rem);
  position: relative;
}

.lux-about-page > .lux-feature-strip .lux-feature-grid article {
  min-width: 0;
  min-height: clamp(132px, 10.4vw, 178px);
  padding: 1rem clamp(.65rem, 2vw, 2.75rem);
}

.lux-about-page > .lux-feature-strip .lux-feature-grid article + article:before {
  background: linear-gradient(#0000, #e6b55beb 15% 85%, #0000);
  width: 1px;
  top: 15%;
  bottom: 15%;
  box-shadow: 0 0 8px #d8a84f29;
}

.lux-about-page > .lux-feature-strip .lux-feature-grid svg {
  color: #d9a75b;
  filter: drop-shadow(0 0 6px #d8a84f26);
  stroke-width: 1.4px;
  width: clamp(30px, 2.5vw, 40px);
  height: auto;
  margin-bottom: .35rem;
}

.lux-about-page > .lux-feature-strip .lux-feature-grid h3 {
  color: #fffdf8;
  letter-spacing: .025em;
  font-size: clamp(.74rem, .93vw, .94rem);
  font-weight: 720;
  line-height: 1.18;
}

.lux-about-page > .lux-feature-strip .lux-feature-grid p {
  color: #eee9e1;
  text-wrap: balance;
  max-width: 34ch;
  margin-top: .28rem;
  font-size: clamp(.68rem, .82vw, .84rem);
  font-weight: 500;
  line-height: 1.35;
}

@media (max-width: 620px) {
  .lux-about-page > .lux-feature-strip:before {
    opacity: .24;
    background-position: 100%;
    background-size: auto 205%;
    -webkit-mask-image: linear-gradient(90deg, #0000, #000 55%);
    mask-image: linear-gradient(90deg, #0000, #000 55%);
  }

  .lux-about-page > .lux-feature-strip .lux-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline: 0;
  }

  .lux-about-page > .lux-feature-strip .lux-feature-grid article {
    min-height: 178px;
    padding: 1.25rem .8rem;
  }

  .lux-about-page > .lux-feature-strip .lux-feature-grid article + article:before {
    top: 14%;
    bottom: 14%;
  }

  .lux-about-page > .lux-feature-strip .lux-feature-grid article:nth-child(3):before {
    display: none;
  }

  .lux-about-page > .lux-feature-strip .lux-feature-grid article:nth-child(n+3) {
    border-top-color: #d8a84f6b;
  }

  .lux-about-page > .lux-feature-strip .lux-feature-grid svg {
    width: 36px;
    margin-bottom: .45rem;
  }

  .lux-about-page > .lux-feature-strip .lux-feature-grid h3 {
    font-size: .76rem;
  }

  .lux-about-page > .lux-feature-strip .lux-feature-grid p {
    max-width: 27ch;
    margin-top: .38rem;
    font-size: .71rem;
    line-height: 1.45;
  }
}

.lux-about-page .lux-about-team {
  background: linear-gradient(#05060529, #05060529), url("images/client-layout/gold-marble-botanical.webp") center / cover;
  padding-block: clamp(4.5rem, 6vw, 6.75rem);
}

.lux-about-page .lux-about-contact .lux-contact-main, .lux-about-page .lux-about-contact .lux-about-faq {
  background: linear-gradient(#05060529, #05060529), url("images/client-layout/gold-marble-botanical.webp") center / cover;
}

.lux-about-page .lux-about-team:before {
  background: linear-gradient(90deg, #0000, #e6b55bb8 12% 88%, #0000);
  width: min(1280px, 100% - 72px);
  top: 18px;
  box-shadow: 0 0 18px #d8a84f33;
}

.lux-about-page .lux-about-team-header {
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr);
  align-items: center;
  gap: clamp(2.25rem, 4vw, 4.75rem);
  max-width: none;
}

.lux-about-page .lux-about-team-header > div {
  padding-right: clamp(2.25rem, 4vw, 4.75rem);
}

.lux-about-page .lux-about-team-header h2 {
  letter-spacing: -.03em;
  max-width: none;
  margin-top: .55rem;
  font-size: clamp(2.65rem, 3.55vw, 3.85rem);
  line-height: .98;
}

.lux-about-page .lux-about-team-header > p {
  color: #f4eee4;
  max-width: 32ch;
  padding-bottom: 0;
  font-size: clamp(1.15rem, 1.55vw, 1.48rem);
  line-height: 1.28;
}

.lux-about-page .lux-about-team-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: none;
  margin-top: clamp(2.8rem, 4.25vw, 4.5rem);
  display: grid;
}

.lux-about-page .lux-about-team-member, .lux-about-page .lux-about-team-member.is-reversed {
  flex-direction: column;
  min-width: 0;
  padding-inline: clamp(.55rem, .95vw, .85rem);
  display: flex;
}

.lux-about-page .lux-about-team-member + .lux-about-team-member {
  border-left: 1px solid #d8a84f9e;
  margin-top: 0;
}

.lux-about-page .lux-about-team-member figure, .lux-about-page .lux-about-team-member.is-reversed figure {
  z-index: 1;
  aspect-ratio: 4 / 5;
  background: #e9e7e1;
  border: 1px solid #d8a84f9e;
  grid-area: auto;
  width: 100%;
  padding: 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 44px #00000052;
}

.lux-about-page .lux-about-team-member figure:before, .lux-about-page .lux-about-team-member.is-reversed figure:before {
  content: none;
}

.lux-about-page .lux-about-team-member figure img {
  object-fit: cover;
  object-position: 50% 30%;
  width: 100%;
  height: 100%;
}

.lux-about-page .lux-about-team-member figure > span, .lux-about-page .lux-about-team-member.is-reversed figure > span {
  width: auto;
  height: auto;
  box-shadow: none;
  color: #b77a1b;
  font-family: var(--font-sans);
  letter-spacing: .04em;
  text-shadow: 0 1px 8px #ffffffb8;
  background: none;
  border: 0;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1;
  display: block;
  inset: .9rem auto auto .9rem;
  transform: none;
}

.lux-about-page .lux-about-team-copy, .lux-about-page .lux-about-team-member.is-reversed .lux-about-team-copy {
  background: none;
  border: 0;
  flex: 1;
  grid-area: auto;
  justify-content: flex-start;
  min-width: 0;
  padding: 1.55rem clamp(.55rem, .8vw, .8rem) 0;
  display: flex;
}

.lux-about-page .lux-about-team-role {
  color: #e8b65d;
  letter-spacing: .15em;
  min-height: 2.7em;
  font-size: clamp(.58rem, .64vw, .67rem);
  line-height: 1.35;
}

.lux-about-page .lux-about-team-copy h3 {
  color: #fffaf1;
  letter-spacing: -.02em;
  max-width: none;
  margin-top: .4rem;
  padding-bottom: 1.15rem;
  font-size: clamp(1.65rem, 2.05vw, 2.15rem);
  line-height: 1.04;
  position: relative;
}

.lux-about-page .lux-about-team-copy h3:after {
  content: "";
  background: #d8a84f;
  width: 2.35rem;
  height: 1px;
  position: absolute;
  bottom: .5rem;
  left: 0;
}

.lux-about-page .lux-about-team-qualifications {
  color: #f3ead9;
  max-width: none;
  font-family: var(--font-sans);
  border-left: 0;
  padding-left: 0;
  font-size: clamp(.72rem, .79vw, .82rem);
  font-style: normal;
  line-height: 1.5;
  margin-top: .15rem !important;
}

.lux-about-page .lux-about-team-biography {
  max-width: none;
  margin-top: 1rem;
}

.lux-about-page .lux-about-team-biography p {
  color: #ddd7cd;
  font-size: clamp(.71rem, .77vw, .8rem);
  line-height: 1.58;
}

.lux-about-page .lux-about-team-biography p + p {
  margin-top: .72rem;
}

.lux-about-page .lux-about-team-verification {
  letter-spacing: .08em;
  gap: .45rem;
  margin-top: 1rem;
  padding-bottom: .3rem;
  font-size: .58rem;
}

@media (max-width: 1100px) {
  .lux-about-page .lux-about-team-header {
    grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr);
  }

  .lux-about-page .lux-about-team-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lux-about-page .lux-about-team-member, .lux-about-page .lux-about-team-member.is-reversed {
    padding: 0 1.4rem 2.75rem;
  }

  .lux-about-page .lux-about-team-member:nth-child(2n) {
    border-left: 1px solid #d8a84f9e;
    padding-left: 1.4rem;
    padding-right: 0;
  }

  .lux-about-page .lux-about-team-member:nth-child(odd) {
    border-left: 0;
    padding-left: 0;
    padding-right: 1.4rem;
  }

  .lux-about-page .lux-about-team-member:nth-child(n+3) {
    border-top: 1px solid #d8a84f85;
    padding-top: 2.75rem;
    padding-bottom: 0;
  }

  .lux-about-page .lux-about-team-role {
    min-height: 0;
    font-size: .65rem;
  }

  .lux-about-page .lux-about-team-copy h3 {
    font-size: clamp(2rem, 4vw, 2.8rem);
  }

  .lux-about-page .lux-about-team-qualifications, .lux-about-page .lux-about-team-biography p {
    font-size: .84rem;
  }
}

@media (max-width: 700px) {
  .lux-about-page .lux-about-team {
    background-position: top;
    background-size: auto 54rem;
    padding-block: 4.25rem;
  }

  .lux-about-page .lux-about-team:before {
    width: calc(100% - 28px);
  }

  .lux-about-page .lux-about-team-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.35rem;
  }

  .lux-about-page .lux-about-team-header > div {
    border-bottom: 1px solid #d8a84f7a;
    border-right: 0;
    padding-bottom: 1.35rem;
    padding-right: 0;
  }

  .lux-about-page .lux-about-team-header h2 {
    max-width: 11ch;
    font-size: clamp(2.65rem, 12.5vw, 3.5rem);
    line-height: .95;
  }

  .lux-about-page .lux-about-team-header > p {
    max-width: 30ch;
    font-size: 1.16rem;
  }

  .lux-about-page .lux-about-team-list {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 2.6rem;
  }

  .lux-about-page .lux-about-team-member, .lux-about-page .lux-about-team-member.is-reversed, .lux-about-page .lux-about-team-member:nth-child(2n), .lux-about-page .lux-about-team-member:nth-child(odd) {
    border-left: 0;
    padding: 0;
  }

  .lux-about-page .lux-about-team-member + .lux-about-team-member, .lux-about-page .lux-about-team-member:nth-child(n+3) {
    border-top: 1px solid #d8a84f85;
    margin-top: 2.8rem;
    padding-top: 2.8rem;
  }

  .lux-about-page .lux-about-team-member figure, .lux-about-page .lux-about-team-member.is-reversed figure {
    width: 100%;
  }

  .lux-about-page .lux-about-team-copy, .lux-about-page .lux-about-team-member.is-reversed .lux-about-team-copy {
    padding: 1.5rem .3rem 0;
  }

  .lux-about-page .lux-about-team-role {
    font-size: .64rem;
  }

  .lux-about-page .lux-about-team-copy h3 {
    max-width: none;
    font-size: clamp(2.15rem, 10vw, 2.8rem);
  }

  .lux-about-page .lux-about-team-qualifications {
    font-size: .88rem;
  }

  .lux-about-page .lux-about-team-biography p {
    font-size: .86rem;
    line-height: 1.72;
  }

  .lux-about-page .lux-about-team-verification {
    font-size: .61rem;
  }
}

.lux-about-page > #our-space {
  background: linear-gradient(90deg, #d8a84f09, #0000 30%), #080a09;
  border-top: 1px solid #d8a84fb3;
  padding-block: 0;
  scroll-margin-top: 76px;
  overflow: hidden;
}

.lux-about-page > #our-space > .lux-shell {
  width: 100%;
  max-width: none;
}

.lux-about-space-header {
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  min-height: clamp(82px, 7.2vw, 112px);
  padding: 1rem clamp(1rem, 4.8vw, 6.2rem);
  display: flex;
}

.lux-about-space-header > div {
  min-width: 0;
}

.lux-about-space-header .lux-kicker {
  color: #fffaf1;
  font-family: var(--font-display);
  letter-spacing: .075em;
  font-size: clamp(1.18rem, 1.55vw, 1.65rem);
  font-weight: 400;
  line-height: 1;
}

.lux-about-space-header h2 {
  color: #fffaf1;
  font-family: var(--font-sans);
  letter-spacing: 0;
  margin: .35rem 0 0;
  font-size: clamp(.76rem, .9vw, .94rem);
  font-weight: 550;
  line-height: 1.3;
}

.lux-about-space-link {
  color: #fffaf1;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid #d8a84fe6;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: clamp(1.4rem, 2.4vw, 2.5rem);
  min-width: clamp(205px, 18vw, 270px);
  min-height: clamp(48px, 4.3vw, 62px);
  font-size: clamp(.68rem, .76vw, .78rem);
  font-weight: 700;
  transition: border-color .18s, background-color .18s, color .18s;
  display: inline-flex;
  box-shadow: inset 0 0 0 3px #d8a84f14, 0 0 16px #d8a84f1f;
}

.lux-about-space-link:hover {
  color: #f6d995;
  background: #d8a84f1c;
  border-color: #f2cf84;
}

.lux-about-space-link:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 4px;
}

.lux-about-page > #our-space .lux-studio-gallery {
  border-top: 1px solid #d8a84f9e;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(4px, .52vw, 8px);
  height: clamp(180px, 15.2vw, 258px);
  padding: 0 clamp(.75rem, 1.05vw, 1.2rem) clamp(.75rem, 1.05vw, 1.2rem);
  scroll-margin-top: 84px;
}

.lux-about-page > #our-space .lux-studio-gallery > div {
  background: #18130e;
  border: 1px solid #d8a84f9e;
  border-top: 0;
}

.lux-about-page > #our-space .lux-studio-gallery img {
  transition: transform .65s cubic-bezier(.22, 1, .36, 1);
}

.lux-about-page > #our-space .lux-studio-gallery > div:hover img {
  transform: scale(1.025);
}

@media (max-width: 700px) {
  .lux-about-page > #our-space {
    scroll-margin-top: 64px;
  }

  .lux-about-space-header {
    gap: 1.6rem;
    min-height: 0;
    padding: 3.3rem 1.25rem 1.7rem;
    display: grid;
  }

  .lux-about-space-header .lux-kicker {
    font-size: clamp(1.55rem, 7.5vw, 2rem);
  }

  .lux-about-space-header h2 {
    max-width: 27ch;
    margin-top: .7rem;
    font-size: 1rem;
    line-height: 1.45;
  }

  .lux-about-space-link {
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding-inline: 1.35rem;
    font-size: .72rem;
  }

  .lux-about-page > #our-space .lux-studio-gallery {
    border-top: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    height: auto;
    padding: 0 .75rem 1.4rem;
    scroll-margin-top: 68px;
  }

  .lux-about-page > #our-space .lux-studio-gallery > div, .lux-about-page > #our-space .lux-studio-gallery > div:last-child {
    aspect-ratio: 1 / .82;
    border: 1px solid #d8a84fad;
    display: block;
  }

  .lux-about-page > #our-space .lux-studio-gallery > div:first-child {
    aspect-ratio: 16 / 10;
    grid-column: 1 / -1;
  }

  .lux-about-page > #our-space .lux-studio-gallery > div:first-child img {
    object-position: 52% center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lux-about-page > #our-space .lux-studio-gallery img, .lux-about-space-link {
    transition: none;
  }
}

.ch-desktop-nav-item[data-active="true"] > .ch-desktop-nav-trigger:after {
  content: "";
  background: currentColor;
  height: 1px;
  position: absolute;
  bottom: 12px;
  left: 0;
  right: 0;
}

.ch-mobile-menu {
  color: #f8f2e8;
  background: linear-gradient(#060807f0, #060807fa), #060807 url("images/client-layout/gold-marble-botanical.webp") top / cover;
}

.ch-mobile-menu nav {
  gap: 0;
}

.ch-mobile-menu nav > a:not(.home-button-primary) {
  color: #f8f2e8;
  border-bottom-color: #d8a84f5c;
  align-items: center;
  min-height: 56px;
  padding: .75rem 0;
  font-size: clamp(1.45rem, 7vw, 2rem);
  display: flex;
}

.ch-mobile-nav-group {
  border-bottom-color: #d8a84f5c;
  padding: 0;
}

.ch-mobile-nav-parent {
  color: #f8f2e8;
  width: 100%;
  min-height: 60px;
  font-family: var(--font-display);
  text-align: left;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .75rem 0;
  font-size: clamp(1.45rem, 7vw, 2rem);
  display: flex;
}

.ch-mobile-nav-parent > span:last-child {
  color: #f1cc7f;
  width: 44px;
  height: 44px;
  font-family: var(--font-body);
  border: 1px solid #d8a84fb3;
  flex: 0 0 44px;
  place-items: center;
  font-size: 1.25rem;
  display: grid;
}

.ch-mobile-nav-children {
  border-left-color: #d8a84f9e;
  gap: 0;
  margin: 0 0 .85rem .1rem;
  padding-left: 1rem;
}

.ch-mobile-nav-children[hidden] {
  display: none;
}

.ch-mobile-nav-children a {
  color: #ead29e;
  align-items: center;
  min-height: 46px;
  font-size: .76rem;
  display: flex;
}

.ch-mobile-nav-children .ch-mobile-nav-view-all {
  color: #fff8ea;
  border-top: 1px solid #d8a84f4d;
  justify-content: space-between;
  margin-top: .25rem;
}

.ch-mobile-menu .home-button-primary {
  color: #fff9ed;
  background: linear-gradient(112deg, #956328, #d9ae5b 52%, #a56f2e);
  justify-content: center;
  min-height: 52px;
}

.ch-menu-close {
  color: #d9d1c5;
}

.ch-home-category-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 1.5vw, 24px);
  display: grid;
}

.ch-home-category-card {
  background: linear-gradient(145deg, #101211fa, #070808);
  border: 1px solid #d8a84fa3;
  grid-template-rows: minmax(220px, 1.15fr) minmax(230px, 1fr);
  min-width: 0;
  min-height: 470px;
  display: grid;
  overflow: hidden;
  box-shadow: 0 20px 44px #00000042;
}

.ch-home-category-image {
  min-height: 220px;
  display: block;
  position: relative;
  overflow: hidden;
}

.ch-home-category-image:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(0deg, #04060585, #0000 48%);
  position: absolute;
  inset: 0;
}

.ch-home-category-image img {
  object-fit: cover;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1);
}

.ch-home-category-card:hover .ch-home-category-image img {
  transform: scale(1.035);
}

.ch-home-category-copy {
  border-top: 1px solid #d8a84f70;
  flex-direction: column;
  min-width: 0;
  padding: clamp(20px, 2.1vw, 30px);
  display: flex;
}

.ch-home-category-copy h3 {
  color: #fffaf0;
  font-family: var(--font-display);
  margin-top: .3rem;
  font-size: clamp(1.8rem, 2.6vw, 2.7rem);
  font-weight: 400;
  line-height: 1;
}

.ch-home-category-copy h3 a {
  transition: color .18s;
}

.ch-home-category-copy h3 a:hover, .ch-home-category-copy h3 a:focus-visible {
  color: #f1cc7f;
}

.ch-home-category-copy > p {
  color: #ddd7cd;
  max-width: 58ch;
  margin-top: .7rem;
  font-size: .78rem;
  line-height: 1.55;
}

.ch-home-category-copy ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.2rem;
  margin: 1rem 0 1.1rem;
  padding: 0;
  list-style: none;
  display: grid;
}

.ch-home-category-copy li a {
  color: #f0e8dc;
  letter-spacing: .025em;
  border-bottom: 1px solid #d8a84f40;
  justify-content: space-between;
  align-items: center;
  gap: .6rem;
  min-height: 44px;
  font-size: .72rem;
  font-weight: 580;
  transition: border-color .18s, color .18s;
  display: flex;
}

.ch-home-category-copy li a:hover, .ch-home-category-copy li a:focus-visible {
  color: #f1cc7f;
  border-color: #f1cc7fcc;
}

.ch-home-category-cta {
  color: #f1cc7f;
  letter-spacing: .075em;
  text-transform: uppercase;
  border: 1px solid #d8a84fc7;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 46px;
  margin-top: auto;
  padding: .75rem .9rem;
  font-size: .66rem;
  font-weight: 700;
  transition: background-color .18s, color .18s;
  display: inline-flex;
}

.ch-home-category-cta:hover, .ch-home-category-cta:focus-visible {
  color: #fff8ea;
  background: #d8a84f1f;
}

.lux-beauty-services-page .lux-service-section {
  isolation: isolate;
  background:
    linear-gradient(90deg, #04050447, #04050414 48%, #04050447),
    linear-gradient(#05060594, #050605b3),
    url("images/client-layout/gold-marble-botanical.webp") 50% 18% / cover no-repeat,
    #050605;
  overflow: hidden;
  box-shadow: inset 0 1px #ffdd9424, inset 0 -1px #ffdd9414;
}

.lux-beauty-services-page .lux-service-section:before {
  z-index: -1;
  pointer-events: none;
  mix-blend-mode: screen;
  content: "";
  background:
    radial-gradient(circle at 0 22%, #eeb84e4d, #0000 13%),
    radial-gradient(circle at 100% 88%, #eeb84e3d, #0000 15%),
    linear-gradient(90deg, #00000014, #0000 16% 84%, #0000001a);
  position: absolute;
  inset: 0;
}

@media (max-width: 620px) {
  .lux-beauty-services-page .lux-service-section {
    background:
      linear-gradient(#050605a3, #050605c7),
      url("images/client-layout/gold-marble-botanical.webp") 47% 0 / auto 680px repeat-y,
      #050605;
    padding-block: 2.5rem 3rem;
  }

  .lux-beauty-services-page .lux-service-section:before {
    background:
      radial-gradient(circle at 0 10%, #eeb84e45, #0000 16%),
      radial-gradient(circle at 100% 56%, #eeb84e33, #0000 18%);
  }
}

.lux-beauty-services-page .lux-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lux-beauty-services-page .lux-service-card-image {
  aspect-ratio: 1 / 1.08;
}

.lux-beauty-services-page .lux-service-card-copy {
  min-height: 136px;
  padding: 1rem 2.6rem 1rem 1rem;
}

.lux-beauty-services-page .lux-service-card-copy h3 {
  font-family: var(--font-display);
  text-transform: none;
  font-size: 1.25rem;
  font-weight: 400;
}

.lux-beauty-services-page .lux-service-card-copy p {
  font-size: .72rem;
  line-height: 1.55;
}

.lux-about-contact {
  background: linear-gradient(#050706db, #050706f0), url("images/client-layout/gold-marble-botanical.webp") top / cover;
  border-top: 1px solid #d8a84fb8;
  scroll-margin-top: 76px;
}

.lux-about-contact .lux-contact-main {
  border-top: 0;
  padding-block: clamp(3.5rem, 6vw, 6.5rem);
}

.lux-about-contact .lux-contact-grid aside li a, .lux-about-contact .lux-contact-grid aside li span {
  color: #fff8eb;
}

.lux-about-contact .lux-contact-grid {
  grid-template-columns: minmax(270px, 31%) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(2rem, 4vw, 4.75rem);
}

.lux-about-contact .lux-contact-grid > aside {
  flex-direction: column;
  justify-content: center;
  padding: 1rem 0;
  display: flex;
}

.lux-about-contact .lux-contact-grid aside h2 {
  letter-spacing: -.02em;
  margin-top: .65rem;
  font-size: clamp(2rem, 2.7vw, 3rem);
}

.lux-about-contact .lux-contact-grid aside h3 {
  color: #f3ede3;
  margin-top: .15rem;
  font-size: clamp(1.35rem, 1.8vw, 1.8rem);
}

.lux-about-contact .lux-contact-grid aside ul {
  margin-block: 1.15rem .8rem;
}

.lux-about-contact .lux-contact-grid aside li {
  gap: 1.15rem;
  min-height: 74px;
  padding-block: .8rem;
}

.lux-about-contact .lux-contact-grid aside li > svg {
  width: 30px;
  height: 30px;
  padding: .72rem;
}

.lux-about-contact .lux-contact-grid aside li small {
  margin-top: .25rem;
  font-size: .7rem;
}

.lux-about-contact .lux-contact-grid aside .lux-script {
  text-align: center;
  max-width: 13ch;
  margin: .8rem auto 0;
  font-size: clamp(1.75rem, 2.6vw, 2.65rem);
  transform: rotate(-4deg);
}

.lux-about-contact .lux-contact-form-panel {
  isolation: isolate;
  background: radial-gradient(circle at 100% 0, #d8a84f1c, #0000 22rem), #070908eb;
  border-color: #d8a84f8c;
  padding: clamp(1.6rem, 3vw, 3rem);
  position: relative;
  overflow: hidden;
}

.lux-about-contact .lux-contact-form-panel h2 {
  margin-top: .35rem;
  font-size: clamp(2.5rem, 4vw, 4.5rem);
  font-style: italic;
  line-height: .95;
}

.lux-about-contact .lux-contact-form-panel > p {
  max-width: 67ch;
  margin-top: .65rem;
  font-size: .78rem;
  line-height: 1.55;
}

.lux-about-contact .lux-contact-form-panel .ch-contact-form {
  margin-top: 1.4rem;
}

.lux-about-contact .lux-contact-form-panel .ch-contact-form fieldset {
  gap: .85rem 1rem;
}

.lux-about-contact .lux-contact-form-panel .ch-contact-form label > span {
  letter-spacing: .035em;
  font-size: .68rem;
}

.lux-about-contact .lux-contact-form-panel .ch-contact-form input, .lux-about-contact .lux-contact-form-panel .ch-contact-form select, .lux-about-contact .lux-contact-form-panel .ch-contact-form textarea, .lux-about-contact .lux-contact-form-panel .ch-contact-form input:disabled, .lux-about-contact .lux-contact-form-panel .ch-contact-form select:disabled, .lux-about-contact .lux-contact-form-panel .ch-contact-form textarea:disabled {
  color: #fffaf2;
  opacity: 1;
  background: #111312eb;
  border-color: #d8a84f9e;
  min-height: 52px;
  padding: .75rem .9rem;
}

.lux-about-contact .lux-contact-form-panel .ch-form-wide textarea, .lux-about-contact .lux-contact-form-panel .ch-form-wide textarea:disabled {
  min-height: 116px;
}

.lux-about-contact .lux-contact-form-panel .ch-consent {
  color: #d8d1c7;
}

.lux-about-contact .lux-contact-form-panel .ch-contact-form > button {
  color: #fffaf1;
  letter-spacing: .075em;
  text-transform: uppercase;
  background: linear-gradient(112deg, #986329, #dbad55 52%, #9a652c);
  border: 1px solid #edc876;
  min-width: min(100%, 250px);
  min-height: 52px;
  margin-top: 1rem;
  font-size: .72rem;
  font-weight: 750;
}

.lux-about-contact .lux-fresha-band {
  background: linear-gradient(90deg, #070908fa, #13100af0), url("images/client-layout/gold-marble-botanical.webp") center / cover;
  padding-block: clamp(1.7rem, 3vw, 2.5rem);
}

.lux-about-contact .lux-fresha-band > div {
  grid-template-columns: 56px minmax(0, 1fr) minmax(220px, 360px);
  gap: clamp(1.25rem, 3vw, 3rem);
}

.lux-about-contact .lux-fresha-band > div > svg {
  width: 48px;
  height: 48px;
}

.lux-about-contact .lux-fresha-band h2 {
  max-width: 18ch;
  margin-top: .25rem;
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: .98;
}

.lux-about-contact .lux-fresha-band p {
  max-width: 62ch;
  margin-top: .45rem;
  font-size: .75rem;
  line-height: 1.55;
}

.lux-about-contact .lux-fresha-band .lux-button {
  justify-content: center;
  width: 100%;
  min-height: 54px;
}

.lux-about-contact .lux-location {
  background: linear-gradient(90deg, #050706e6, #050706c7), url("images/client-layout/gold-marble-botanical.webp") center / cover;
  border-block: 1px solid #d8a84fb8;
  padding-block: clamp(1.55rem, 2vw, 2rem);
  overflow: hidden;
  box-shadow: inset 0 5px #040605c7, inset 0 6px #d8a84f3d, inset 0 -5px #040605b8;
}

.lux-about-contact .lux-location > .lux-shell {
  grid-template: "map copy studio script" minmax(0, 1fr)
                 "map directions studio script"
                 / minmax(320px, 32fr) minmax(250px, 25fr) minmax(340px, 34fr) minmax(90px, 9fr);
  align-items: stretch;
  gap: .8rem clamp(1.25rem, 2vw, 2.5rem);
  width: min(100% - clamp(4rem, 6vw, 7.5rem), 2080px);
  display: grid;
}

.lux-location-map {
  aspect-ratio: 996 / 450;
  background: #090a0a;
  border: 3px solid #a57943;
  border-radius: 4px;
  grid-area: map;
  align-self: center;
  width: 100%;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px #eebd6942, 0 0 0 2px #030404eb, 0 0 0 3px #be8b4552, 0 10px 28px #00000052;
  container-type: inline-size;
}

.lux-location-map-background {
  z-index: 1;
  object-fit: cover;
  filter: brightness(.62) saturate(.72) contrast(1.08);
  position: absolute;
  inset: 0;
}

.lux-location-map-art {
  z-index: 2;
  color: #f6f3ef;
  pointer-events: none;
  background: radial-gradient(circle at 48% 37%, #d8a84f1f, #0000 23%), #0607072e;
  font-family: Arial, Helvetica, sans-serif;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.lux-location-map-pin {
  z-index: 2;
  aspect-ratio: .72;
  filter: drop-shadow(0 0 7px #eeb053b8);
  width: 15.2%;
  position: absolute;
  top: 13%;
  left: 48%;
  transform: translateX(-50%);
}

.lux-location-map-pin:after {
  z-index: 1;
  aspect-ratio: 1;
  content: "";
  background: #050505;
  border-bottom: clamp(1px, .35cqw, 3px) solid #dca554;
  border-right: clamp(1px, .35cqw, 3px) solid #dca554;
  width: 48%;
  position: absolute;
  top: 59%;
  left: 50%;
  transform: translateX(-50%)rotate(45deg);
}

.lux-location-map-pin-badge {
  z-index: 2;
  aspect-ratio: 1;
  background: #050505;
  border: clamp(1px, .35cqw, 3px) solid #dca554;
  border-radius: 50%;
  width: 100%;
  position: absolute;
  inset: 0;
  overflow: hidden;
  box-shadow: 0 0 0 clamp(1px, .22cqw, 2px) #ffd99340, 0 0 12px #e2a64c99;
}

.lux-location-map-pin-badge img {
  object-fit: cover;
}

.lux-location-map-art > strong {
  letter-spacing: -.04em;
  text-shadow: -1px -1px #050505, 1px -1px #050505, -1px 1px #050505, 1px 1px #050505, 0 2px 3px #000000e6;
  font-size: clamp(1rem, 5.2cqw, 3.25rem);
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 67%;
  left: 49.5%;
  transform: translateX(-50%);
}

.lux-location-map-area {
  letter-spacing: .015em;
  text-align: left;
  text-shadow: -1px -1px #050505, 1px -1px #050505, -1px 1px #050505, 1px 1px #050505, 0 2px 3px #000000e6;
  text-transform: uppercase;
  font-size: clamp(.62rem, 2.8cqw, 1.75rem);
  font-weight: 800;
  line-height: 1.04;
  position: absolute;
  top: 39%;
  left: 61.5%;
}

.lux-location-map-glebe {
  letter-spacing: .015em;
  text-shadow: -1px -1px #050505, 1px -1px #050505, -1px 1px #050505, 1px 1px #050505, 0 2px 3px #000000e6;
  text-transform: uppercase;
  font-size: clamp(.62rem, 2.8cqw, 1.75rem);
  font-weight: 800;
  line-height: 1;
  position: absolute;
  bottom: 6.5%;
  left: 58%;
}

.lux-about-contact .lux-location-copy {
  flex-direction: column;
  grid-area: copy;
  justify-content: center;
  align-items: flex-start;
  padding-top: .15rem;
  display: flex;
}

.lux-about-contact .lux-location-copy h2 {
  text-wrap: balance;
  max-width: 14ch;
  margin-top: .45rem;
  font-size: clamp(2rem, 2.35vw, 3rem);
  line-height: .94;
}

.lux-about-contact .lux-location-copy p {
  color: #e2dbd1;
  max-width: 34ch;
  margin-top: .7rem;
  font-size: clamp(.76rem, .82vw, .98rem);
  line-height: 1.5;
}

.lux-location-directions {
  min-height: 60px;
  color: var(--lux-pale-gold, #f1ce82);
  letter-spacing: .07em;
  text-align: center;
  text-transform: uppercase;
  background: #050706b8;
  border: 1px solid #e5b35ce0;
  border-radius: 4px;
  grid-area: directions;
  justify-content: center;
  align-self: end;
  align-items: center;
  gap: .7rem;
  padding: .8rem 1.15rem;
  font-size: clamp(.68rem, .72vw, .82rem);
  font-weight: 750;
  display: inline-flex;
  box-shadow: inset 0 0 0 3px #050706e6, inset 0 0 0 4px #d8a84f2e, 0 8px 22px #00000038;
}

.lux-location-directions.is-unavailable {
  color: #d5c9b6;
  cursor: default;
}

.lux-about-contact .lux-location-image {
  border: 1px solid #e5b35cc7;
  border-radius: 2px;
  grid-area: studio;
  min-height: 272px;
  display: block;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 3px #040605bd, 0 0 0 4px #d8a84f38, 0 10px 28px #00000047;
}

.lux-about-contact .lux-location-image img {
  object-position: 48% 50%;
}

.lux-location-script {
  color: #d6a65b;
  text-align: center;
  text-shadow: 0 2px 15px #d8a84f33;
  grid-area: script;
  justify-content: center;
  align-self: stretch;
  align-items: center;
  font-family: Snell Roundhand, Segoe Script, cursive;
  font-size: clamp(1.65rem, 2.05vw, 2.85rem);
  line-height: .92;
  display: flex;
  transform: rotate(-8deg);
}

.lux-about-faq {
  background: #050706e6;
  padding-block: clamp(2.5rem, 4.5vw, 4.75rem);
}

.lux-about-faq-layout {
  grid-template-columns: minmax(220px, .32fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 4vw, 5rem);
  display: grid;
}

.lux-about-faq-layout > header h2 {
  margin-top: .25rem;
  font-size: clamp(2.8rem, 4.5vw, 5rem);
  line-height: .94;
}

.lux-about-faq-layout > header p {
  color: #d8d1c7;
  max-width: 32ch;
  margin-top: .8rem;
  font-size: .76rem;
  line-height: 1.6;
}

.lux-about-faq-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  display: grid;
}

.lux-about-faq-list details {
  background: #0a0c0be0;
  border: 1px solid #d8a84f6b;
  align-self: start;
}

.lux-about-faq-list summary {
  color: #f6f0e7;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 58px;
  padding: .85rem 1rem;
  font-size: .72rem;
  line-height: 1.35;
  list-style: none;
  display: flex;
}

.lux-about-faq-list summary::-webkit-details-marker {
  display: none;
}

.lux-about-faq-list summary span {
  color: var(--lux-gold, #d8a84f);
  font-family: var(--font-display);
  font-size: 1.35rem;
  transition: transform .18s;
}

.lux-about-faq-list details[open] summary span {
  transform: rotate(45deg);
}

.lux-about-faq-list details p {
  color: #d7d0c6;
  border-top: 1px solid #d8a84f40;
  padding: .9rem 1rem 1rem;
  font-size: .72rem;
  line-height: 1.6;
}

@media (max-width: 1200px) {
  .lux-about-contact .lux-location > .lux-shell {
    grid-template-columns: minmax(0, 35fr) minmax(220px, 27fr) minmax(0, 38fr);
    grid-template-areas: "map copy studio"
                         "map directions studio";
    width: min(100% - 3.5rem, 1320px);
  }

  .lux-location-script {
    display: none;
  }
}

@media (max-width: 900px) {
  .ch-home-category-card {
    grid-template-rows: 230px auto;
  }

  .lux-beauty-services-page .lux-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lux-about-contact .lux-contact-grid {
    grid-template-columns: 1fr;
  }

  .lux-about-contact .lux-contact-grid > aside {
    max-width: 620px;
  }

  .lux-about-contact .lux-location > .lux-shell {
    grid-template-rows: auto minmax(320px, 42vw) auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "copy copy"
                         "map studio"
                         "directions directions";
    width: min(100% - 2.75rem, 1320px);
  }

  .lux-about-contact .lux-location-image {
    min-height: 320px;
  }

  .lux-location-directions {
    justify-self: center;
    width: min(100%, 320px);
  }

  .lux-about-faq-layout {
    grid-template-columns: 1fr;
  }

  .lux-about-faq-layout > header {
    max-width: 520px;
  }
}

@media (max-width: 620px) {
  .ch-homepage .ch-home-hero {
    background: #080907;
    height: 720px;
  }

  .ch-homepage .ch-home-hero:before, .ch-homepage .ch-home-hero:after {
    display: none;
  }

  .ch-homepage .ch-home-hero-media, .ch-homepage .ch-home-hero-shade {
    bottom: 128px;
  }

  .ch-homepage .ch-home-hero-media img {
    object-position: 43% center;
    transform: none;
  }

  .ch-homepage .ch-home-hero-shade {
    background: linear-gradient(#030403d6 0%, #030403b8 38%, #03040357 56%, #0304030d 76%, #03040300 100%), linear-gradient(90deg, #03040385 0%, #0304033d 58%, #0304030a 100%);
  }

  .ch-homepage .ch-home-hero-copy {
    width: 100%;
    height: calc(100% - 128px);
    padding: 88px 20px 28px;
  }

  .ch-homepage .ch-home-hero-copy .ch-home-kicker {
    font-size: 13px;
  }

  .ch-homepage .ch-home-hero-copy h1 {
    letter-spacing: -.04em;
    max-width: 100%;
    font-size: clamp(42px, 11.5vw, 50px);
  }

  .ch-homepage .ch-home-hero-copy h2 {
    max-width: 330px;
    margin-top: 10px;
    font-size: 16px;
  }

  .ch-homepage .ch-home-hero-copy h2:after {
    margin-top: 9px;
  }

  .ch-homepage .ch-home-hero-copy > p.ch-home-hero-intro {
    display: none;
  }

  .ch-homepage .ch-home-hero-actions {
    width: auto;
    margin-top: 16px;
  }

  .ch-homepage .ch-home-hero-actions .ch-home-button-gold {
    display: none;
  }

  .ch-homepage .ch-home-hero-actions .ch-home-button-outline {
    width: auto;
    min-width: 196px;
    min-height: 44px;
  }

  .ch-homepage .ch-home-hero-script {
    display: none;
  }

  .ch-homepage .ch-home-trust-strip {
    box-shadow: none;
    background: #080907;
    border-top: 1px solid #d3a65375;
  }

  .ch-homepage .ch-home-trust-strip article {
    min-height: 64px;
    padding: 8px 10px;
  }

  .ch-homepage .ch-home-trust-strip svg {
    width: 24px;
    height: 24px;
  }

  .ch-home-category-cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .ch-home-category-card {
    grid-template-rows: 210px auto;
    min-height: 0;
  }

  .ch-home-category-copy {
    padding: 20px;
  }

  .ch-home-category-copy h3 {
    font-size: 2rem;
  }

  .ch-home-category-copy ul {
    grid-template-columns: minmax(0, 1fr);
    margin-block: .8rem 1rem;
  }

  .ch-home-category-copy li a {
    min-height: 46px;
  }

  .lux-beauty-services-page .lux-card-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .lux-beauty-services-page .lux-service-card-image {
    aspect-ratio: 1.5;
  }

  .lux-about-contact {
    scroll-margin-top: 58px;
  }

  .lux-about-contact .lux-contact-grid aside li {
    align-items: flex-start;
  }

  .lux-about-contact .lux-contact-main {
    padding-block: 3.25rem;
  }

  .lux-about-contact .lux-contact-form-panel {
    padding: 1.25rem;
  }

  .lux-about-contact .lux-contact-form-panel h2 {
    font-size: clamp(2.55rem, 13vw, 3.65rem);
  }

  .lux-about-contact .lux-fresha-band > div {
    text-align: center;
    grid-template-columns: 1fr;
  }

  .lux-about-contact .lux-fresha-band h2 {
    max-width: none;
  }

  .lux-about-contact .lux-fresha-band > div > svg, .lux-about-contact .lux-fresha-band .lux-button {
    margin-inline: auto;
  }

  .lux-about-contact .lux-location > .lux-shell {
    grid-template: "copy"
                   "map"
                   "directions"
                   "studio" 300px
                   / 1fr;
    gap: 1rem;
    width: min(100% - 1.75rem, 1320px);
  }

  .lux-location-map {
    min-height: 0;
  }

  .lux-about-contact .lux-location-image {
    min-height: 300px;
  }

  .lux-location-directions {
    width: 100%;
  }

  .lux-about-faq-list {
    grid-template-columns: 1fr;
  }

  .lux-about-faq-list summary {
    min-height: 62px;
    font-size: .76rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ch-home-category-image img, .ch-home-category-copy a {
    transition: none;
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-pan-x {
  syntax: "*";
  inherits: false
}

@property --tw-pan-y {
  syntax: "*";
  inherits: false
}

@property --tw-pinch-zoom {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Keep the fixed site chrome aligned below the WordPress admin toolbar. */
body.admin-bar .ch-header,
body.admin-bar .ch-mobile-menu {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .ch-header,
  body.admin-bar .ch-mobile-menu {
    top: 46px;
  }
}

@media screen and (max-width: 600px) {
  body.admin-bar #wpadminbar {
    position: fixed;
  }
}

/* Beauty Services: carry the medical botanical artwork into the hero and booking band. */
:is(
  .lux-beauty-services-page,
  .lux-service-tattoo,
  .lux-service-permanent-makeup,
  .lux-service-lashes,
  .lux-service-nails
) .lux-hero-copy {
  isolation: isolate;
  background:
    linear-gradient(90deg, #03040314, #03040347),
    radial-gradient(circle at 6% 18%, #e3b04f38, #0000 18%),
    radial-gradient(circle at 92% 82%, #c0812329, #0000 24%),
    url("images/client-layout/gold-marble-botanical.webp") center / auto 125% no-repeat,
    #050605;
  box-shadow: inset -1px 0 #ebbe6461, inset 0 -1px #ebbe642e;
}

:is(
  .lux-beauty-services-page,
  .lux-service-tattoo,
  .lux-service-permanent-makeup,
  .lux-service-lashes,
  .lux-service-nails
) .lux-hero-copy:after {
  background:
    linear-gradient(90deg, #0000 68%, #00000038),
    radial-gradient(circle at 8% 70%, #e7b34b1f, #0000 23%);
  border-right-color: #ebbe646b;
}

:is(
  .lux-beauty-services-page,
  .lux-service-tattoo,
  .lux-service-permanent-makeup,
  .lux-service-lashes,
  .lux-service-nails
) .lux-booking-band {
  background:
    linear-gradient(#04060547, #04060547),
    url("images/client-layout/gold-marble-botanical.webp") center / cover;
  border-block: 1px solid #d8a84fc7;
}

@media (max-width: 820px) {
  :is(
    .lux-beauty-services-page,
    .lux-service-tattoo,
    .lux-service-permanent-makeup,
    .lux-service-lashes,
    .lux-service-nails
  ) .lux-hero-copy {
    background-position: 48%;
    background-size: auto 118%;
  }
}

@media (max-width: 620px) {
  :is(
    .lux-beauty-services-page,
    .lux-service-tattoo,
    .lux-service-permanent-makeup,
    .lux-service-lashes,
    .lux-service-nails
  ) .lux-hero-copy {
    background-position: center;
    background-size: auto 112%;
  }

  :is(
    .lux-beauty-services-page,
    .lux-service-tattoo,
    .lux-service-permanent-makeup,
    .lux-service-lashes,
    .lux-service-nails
  ) .lux-hero-copy:after {
    background: linear-gradient(0deg, #0000003d, #0000 32%);
    border-right: 0;
    border-bottom: 1px solid #ebbe6461;
  }
}

/* Give long medical category titles enough room without reducing their visual weight. */
@media (min-width: 1081px) {
  .lux-medical-category-page .lux-hero {
    grid-template-columns: minmax(480px, 38%) minmax(0, 1fr);
  }

  .lux-medical-category-page .lux-hero-copy {
    padding-inline: clamp(2.5rem, 3vw, 4rem);
  }

  .lux-medical-category-page .lux-hero-copy h1 {
    max-width: 100%;
    font-size: clamp(3.2rem, 4.75vw, 5.5rem);
  }
}

/* Keep legal and analytics controls out of the public footer on every viewport. */
.ch-home-footer-meta a[href$="/privacy"],
.ch-home-footer-meta a[href$="/privacy/"],
.ch-home-footer-meta a[href$="/cancellation-policy"],
.ch-home-footer-meta a[href$="/cancellation-policy/"],
.ch-home-footer-meta button {
  display: none;
}
