/* Lavish site header, copied from the main WordPress theme (lavish: components.css, tokens.css, base.css).
   The booking flow uses the header, the announcement bar, the Treatments / Locations menus and the
   mobile drawer exactly as the main site draws them, and the same scaling: every size is a Figma pixel
   times --lv-u. Do not edit by hand; take changes from the theme.

   --lv-u (as base.css): desktop (>= 1024px) min(100vw, 1440px) / 1440, so 1:1 at 1440 and proportional below;
   mobile (< 1024px) clamp(360px, 100vw, 450px) / 360. 100cqw (the page width; the page draws no scrollbar, as on the main site)
   stands in for 100vw. */

/* The theme's Inter cuts (fonts.css), under their own family name so the page's own Inter is left alone. */
@font-face {
  font-family: 'LV Inter';
  src: url('../fonts/inter-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'LV Inter';
  src: url('../fonts/inter-medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'LV Inter';
  src: url('../fonts/inter-semibold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ---- Palette (SOLID fills, by frequency in the file) ---- */
  --lv-muted:        #D9D9D9;  /* image placeholder rects in the comps */
  --lv-cream:        #FAF8F5;  /* primary background / light text */
  --lv-umber:        #4E3725;  /* deep warm brown / cards */
  --lv-terracotta:   #9B633F;  /* brand accent / buttons / announcement bar */
  --lv-sand:         #F2E9DF;  /* secondary surface */
  --lv-white:        #FFFFFF;
  --lv-sand-2:       #EDE4D8;
  --lv-sand-3:       #F8F2EB;
  --lv-sand-4:       #ECE2D9;
  --lv-espresso:     #241D1A;  /* headings / deep background */
  --lv-border:       #E2DAD2;
  --lv-ink-green:    #30362F;

  /* ---- Alpha variants used as overlays in the comps ---- */
  --lv-espresso-40:  rgba(36, 29, 26, 0.40);   /* hero media overlay */
  --lv-espresso-20:  rgba(36, 29, 26, 0.20);
  --lv-umber-40:     rgba(78, 55, 37, 0.40);   /* hero media overlay */
  --lv-umber-80:     rgba(78, 55, 37, 0.80);
  --lv-terracotta-10:rgba(155, 99, 63, 0.10);
  --lv-terracotta-15:rgba(155, 99, 63, 0.15);
  --lv-white-15:     rgba(255, 255, 255, 0.15);

  /* ---- Typography ---- */
  --lv-font-display: 'PP Editorial New', Georgia, 'Times New Roman', serif;
  --lv-font-body:    'Neue Haas Grotesk Display Pro', 'Helvetica Neue', Arial, sans-serif;
  --lv-font-ui:      'LV Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Type scale, exactly the 15 sizes present in the file */
  --lv-fs-6:   6px;
  --lv-fs-8:   8px;
  --lv-fs-10: 10px;
  --lv-fs-12: 12px;
  --lv-fs-14: 14px;
  --lv-fs-16: 16px;
  --lv-fs-18: 18px;
  --lv-fs-20: 20px;
  --lv-fs-24: 24px;
  --lv-fs-28: 28px;
  --lv-fs-32: 32px;
  --lv-fs-36: 36px;
  --lv-fs-40: 40px;
  --lv-fs-48: 48px;
  --lv-fs-64: 64px;

  /* ---- Radii, as found ---- */
  --lv-r-4:    4px;
  --lv-r-6:    6px;
  --lv-r-8:    8px;
  --lv-r-10:  10px;
  --lv-r-12:  12px;
  --lv-r-16:  16px;
  --lv-r-20:  20px;
  --lv-r-22:  22px;
  --lv-r-32:  32px;
  --lv-r-40:  40px;
  --lv-r-60:  60px;   /* most common card radius */
  --lv-r-pill: 500px; /* Figma's pill value, used literally */

  /* ---- Spacing, as found (auto-layout gaps + padding) ---- */
  --lv-sp-2:   2px;
  --lv-sp-6:   6px;
  --lv-sp-7:   7px;
  --lv-sp-8:   8px;
  --lv-sp-10: 10px;
  --lv-sp-12: 12px;
  --lv-sp-14: 14px;
  --lv-sp-16: 16px;
  --lv-sp-18: 18px;
  --lv-sp-20: 20px;
  --lv-sp-24: 24px;
  --lv-sp-28: 28px;
  --lv-sp-32: 32px;

  /* ---- Layout anchors (the two designed canvases) ---- */
  --lv-canvas-desktop: 1440px;
  --lv-canvas-mobile:   360px;
  --lv-bar-h-desktop:    38px;  /* announcement bar */
  --lv-bar-h-mobile:     32px;

  /* ---- Motion (derived, see docs/MOTION.md) ---- */
  --lv-ease:       cubic-bezier(0.22, 0.61, 0.36, 1);
  --lv-dur:        400ms;
  --lv-dur-fast:   200ms;
  --lv-dur-slow:   900ms;   /* was referenced but never defined, so slow hovers snapped */
  --lv-stagger:     60ms;
}


:root { --lv-u: calc(clamp(360px, 100cqw, 450px) / 360); }
@media (min-width: 1024px) { :root { --lv-u: calc(min(100cqw, 1440px) / 1440); } }
@media (min-width: 1441px) { :root { --lv-edge: calc((100cqw - 1440px) / 2); } }

/* The theme's reset, kept to the header and drawer. :where() keeps it at zero specificity, as the theme's
   bare element selectors are, so the component rules below still win. */
:where(.lv-header, .lv-header *, .lv-header *::before, .lv-header *::after,
  .lv-drawer, .lv-drawer *, .lv-drawer *::before, .lv-drawer *::after) { box-sizing: border-box; }
:where(.lv-header, .lv-drawer) { font-family: var(--lv-font-body); font-size: calc(16 * var(--lv-u)); line-height: 1.4; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
:where(.lv-header, .lv-drawer) :where(ul) { margin: 0; padding: 0; list-style: none; }
:where(.lv-header, .lv-drawer) :where(p) { margin: 0; }
:where(.lv-header, .lv-drawer) :where(a) { color: inherit; text-decoration: none; }
:where(.lv-header, .lv-drawer) :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:where(.lv-header, .lv-drawer) :where(img, svg) { display: block; max-width: 100%; }
:where(.lv-header) :where(img) { height: auto; }
:where(.lv-header, .lv-drawer) :where(:focus-visible) { outline: 2px solid var(--lv-terracotta); outline-offset: 2px; }
.lv-icon { width: calc(24 * var(--lv-u)); height: calc(24 * var(--lv-u)); fill: none; stroke: currentColor; flex: none; }
.lv-icon--filled { fill: currentColor; stroke: none; }
.lv-no-scroll { overflow: hidden; }

/* The header sticks, so a link or scroll that lands on a section stops below it (base.css: 110 design px). */
html { scroll-padding-top: calc(110 * var(--lv-u)); }

/* The main site draws no scrollbars (base.css), so its scale never depends on one; the same in its header and drawer. */
html, .lv-header *, .lv-drawer * { scrollbar-width: none; }
html::-webkit-scrollbar, .lv-header *::-webkit-scrollbar, .lv-drawer *::-webkit-scrollbar { display: none; }

.lv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(10 * var(--lv-u));
  padding: calc(12 * var(--lv-u)) calc(24 * var(--lv-u));
  border-radius: calc(60 * var(--lv-u));
  font-family: var(--lv-font-body);
  font-size: calc(12 * var(--lv-u));
  line-height: 1.4;
  white-space: nowrap;
  transition: background-color var(--lv-dur-fast) var(--lv-ease),
              color var(--lv-dur-fast) var(--lv-ease),
              border-color var(--lv-dur-fast) var(--lv-ease);
}
.lv-nav__group .lv-btn { padding-block: calc(10 * var(--lv-u));
}
.lv-btn--pill-light {
  background: var(--lv-white);
  color: var(--lv-espresso);
  border: 1px solid rgba(250, 248, 245, 0.6);
}
.lv-btn--pill-outline {
  background: transparent;
  color: var(--lv-espresso);
  border: 1px solid rgba(36, 29, 26, 0.6);
}
.lv-btn--umber {
  background: var(--lv-umber);
  color: var(--lv-cream);
  border: 1px solid transparent;
}
.lv-btn--pill-light:hover { background: var(--lv-cream);
}
.lv-btn--pill-outline:hover { background: rgba(36, 29, 26, 0.06);
}
.lv-btn--umber:hover { background: var(--lv-espresso);
}
.lv-btn:active { transform: translateY(1px);
}
.lv-circle {
  display: grid;
  place-items: center;
  flex: none;
  width: calc(32 * var(--lv-u));
  height: calc(32 * var(--lv-u));
  border-radius: 50%;
}
.lv-circle--umber { background: var(--lv-umber);      color: var(--lv-cream);
}
.lv-circle--cream { background: var(--lv-cream);      color: var(--lv-umber);
}
.lv-circle--terracotta { background: var(--lv-terracotta); color: var(--lv-cream);
}
.lv-circle--terracotta-dark { width: calc(40 * var(--lv-u)); height: calc(40 * var(--lv-u));
                              background: rgba(155, 99, 63, 0.4); border: 1px solid rgba(250, 248, 245, 0.4); color: var(--lv-cream);
}
.lv-circle--outline { width: calc(40 * var(--lv-u)); height: calc(40 * var(--lv-u));
                              border: 1px solid rgba(36, 29, 26, 0.4); color: var(--lv-espresso);
}
.lv-circle--flip svg { rotate: 180deg;
}
.lv-icon--arrow { width: calc(14 * var(--lv-u)); height: calc(14 * var(--lv-u)); fill: currentColor; stroke: none;
}
.lv-icon--star { width: calc(16 * var(--lv-u)); height: calc(16 * var(--lv-u)); fill: currentColor; stroke: none;
}
.lv-icon--pin { width: calc(16 * var(--lv-u)); height: calc(16 * var(--lv-u)); color: var(--lv-terracotta);
}
.lv-icon--ig { width: calc(24 * var(--lv-u)); height: calc(24 * var(--lv-u)); fill: currentColor; stroke: none;
}
.lv-icon--chev-lg { width: calc(9 * var(--lv-u)); height: calc(16 * var(--lv-u)); fill: currentColor; stroke: none;
}
.lv-btn--arrow { padding: calc(6 * var(--lv-u)) calc(6 * var(--lv-u)) calc(6 * var(--lv-u)) calc(19 * var(--lv-u)); gap: calc(10 * var(--lv-u));
}
.lv-btn--pill-cream { background: var(--lv-cream); color: var(--lv-espresso); border: 1px solid transparent;
}
.lv-btn--pill-ghost { background: transparent; color: var(--lv-cream); border: 1px solid rgba(250, 248, 245, 0.6);
}
.lv-btn--pill-cream:hover { background: var(--lv-white);
}
.lv-btn--pill-ghost:hover { background: rgba(250, 248, 245, 0.12);
}
.lv-circle--dark {
  width: calc(40 * var(--lv-u));
  height: calc(40 * var(--lv-u));
  background: var(--lv-espresso);
  color: var(--lv-cream);
}
.lv-circle--dark:disabled { opacity: 0.35;
}
.lv-icon--caret-rail {
  width: calc(16 * var(--lv-u));
  height: calc(16 * var(--lv-u));
  fill: currentColor;
  stroke: none;
}
@media (min-width: 1024px) {
  .lv-icon--caret-rail {
      width: calc(28 * var(--lv-u));
      height: calc(28 * var(--lv-u));
  }
}
.lv-icon--fwd {
  width: calc(18 * var(--lv-u));
  height: calc(18 * var(--lv-u));
  fill: currentColor;
  stroke: none;
}
.lv-cat--umber .lv-circle--dark { background: var(--lv-cream); color: var(--lv-espresso);
}
.lv-header {
  position: relative;
  z-index: 50;
  width: 100%;
}
.lv-header--over {
  position: absolute;
  inset-inline: 0;
  top: 0;
}
.lv-announce {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(32 * var(--lv-u));
  background: var(--lv-terracotta);
}
.lv-announce__viewport {
  position: relative;
  display: grid;
}
.lv-announce__item {
  grid-area: 1 / 1;
  margin: 0;
  font-family: var(--lv-font-ui);
  font-weight: 500;
  font-size: calc(10 * var(--lv-u));
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-align: center;
  color: var(--lv-cream);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--lv-dur) var(--lv-ease);
}
.lv-announce__item.is-active {
  opacity: 1;
  visibility: visible;
}
.lv-announce__arrow {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: calc(16 * var(--lv-u));
  display: grid;
  place-items: center;
  width: calc(12 * var(--lv-u));
  height: calc(12 * var(--lv-u));
  color: var(--lv-cream);
}
.lv-announce__arrow--next {
  left: auto;
  right: calc(16 * var(--lv-u));
}
.lv-icon--chev {
  width: calc(14 * var(--lv-u));
  height: calc(14 * var(--lv-u));
  fill: currentColor;
  stroke: none;
}
.lv-announce__arrow--next .lv-icon--chev {
  rotate: 180deg;
}
@media (min-width: 1024px) {
  .lv-announce {
      height: calc(38 * var(--lv-u));
  }
  .lv-announce__item {
      font-size: calc(12 * var(--lv-u));
  }
  .lv-announce__arrow {
      width: calc(14 * var(--lv-u));
      height: calc(14 * var(--lv-u));
      /* Figma places the arrow boxes at x=472 and x=954 on a 1440 canvas (centered symmetrically) */
      left: calc(50% - (248 * var(--lv-u)));
  }
  .lv-announce__arrow--next {
      left: calc(50% + (234 * var(--lv-u)));
      right: auto;
  }
  .lv-icon--chev {
      width: calc(14 * var(--lv-u));
      height: calc(14 * var(--lv-u));
  }
}
.lv-nav {
  position: relative;
  height: calc(72 * var(--lv-u));
}
.lv-nav__burger,
.lv-nav__phone {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  display: grid;
  place-items: center;
  color: var(--lv-cream);
}
.lv-nav__burger { left: calc(16 * var(--lv-u)); width: calc(24 * var(--lv-u)); height: calc(24 * var(--lv-u));
}
.lv-nav__phone { right: calc(16 * var(--lv-u)); width: calc(20 * var(--lv-u)); height: calc(20 * var(--lv-u));
}
.lv-icon--menu { width: calc(24 * var(--lv-u)); height: calc(24 * var(--lv-u)); fill: currentColor; stroke: none;
}
.lv-icon--phone { width: calc(20 * var(--lv-u)); height: calc(20 * var(--lv-u)); stroke: currentColor; stroke-width: 1.5; fill: none;
}
.lv-nav__logo {
  position: absolute;
  left: 50%;
  top: calc(12 * var(--lv-u));
  translate: -50% 0;
  width: calc(97.62 * var(--lv-u));
}
.lv-nav__logo img {
  width: 100%;
  height: auto;
}
.lv-nav__group { display: none;
}
@media (min-width: 1024px) {
  .lv-nav {
      position: relative;
      max-width: calc(1440 * var(--lv-u));
      margin-inline: auto;
      width: 100%;
      height: calc(62 * var(--lv-u));
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-inline: calc(48 * var(--lv-u));
  }
  .lv-nav__burger,
  .lv-nav__phone {
      display: none;
  }
  .lv-nav__logo {
      position: absolute;
      left: 50%;
      top: calc(16 * var(--lv-u));      /* 54 on the page, nav starts at 38 */
      translate: -50% 0;
      width: calc(150.5 * var(--lv-u));
      z-index: 2;
  }
  .lv-nav__group {
      position: relative;
      top: 0;
      left: auto;
      right: auto;
      height: calc(62 * var(--lv-u));
      flex: 1 1 0%;
      max-width: calc(556 * var(--lv-u));
      display: flex;
      align-items: center;
      gap: calc(48 * var(--lv-u));
      border-bottom: 1px solid var(--lv-rule);
  }
  .lv-nav__group--left {
      justify-content: flex-start;
  }
  .lv-nav__group--right {
      justify-content: flex-end;
  }
  .lv-nav__item { position: relative;
  }
}
.lv-nav__link {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * var(--lv-u));
  font-family: var(--lv-font-body);
  font-size: calc(14 * var(--lv-u));
  line-height: 1.4;
  color: var(--lv-nav-ink);
  white-space: nowrap;
  transition: opacity var(--lv-dur-fast) var(--lv-ease);
}
.lv-nav__link:hover { opacity: 0.7;
}
.lv-icon--caret {
  width: calc(12 * var(--lv-u));
  height: calc(12 * var(--lv-u));
  fill: currentColor;
  stroke: none;
  rotate: -90deg;               /* arrow_back_ios_new points left; comp points down */
  transition: rotate var(--lv-dur-fast) var(--lv-ease);
}
[data-dropdown].is-open .lv-icon--caret { rotate: 90deg;
}
.lv-header--main {
  --lv-nav-ink: var(--lv-cream);
  --lv-rule: rgba(250, 248, 245, 0.4);
}
.lv-header--alt {
  --lv-nav-ink: var(--lv-espresso);
  --lv-rule: rgba(36, 29, 26, 0.4);
}
.lv-header--alt .lv-nav__burger,
.lv-header--alt .lv-nav__phone {
  color: var(--lv-espresso);
}
@media (min-width: 1024px) {
  .lv-header--alt .lv-nav__item--cta {
      margin-inline-start: calc(-8 * var(--lv-u));
  }
}
.lv-dropdown {
  position: absolute;
  top: calc(100% + 18 * var(--lv-u));
  left: calc(-24 * var(--lv-u));
  min-width: calc(240 * var(--lv-u));
  padding: calc(20 * var(--lv-u)) calc(24 * var(--lv-u));
  background: var(--lv-cream);
  border-radius: calc(12 * var(--lv-u));
  box-shadow: 0 calc(12 * var(--lv-u)) calc(32 * var(--lv-u)) rgba(36, 29, 26, 0.16);
  opacity: 0;
  translate: 0 calc(-8 * var(--lv-u));
  transition: opacity var(--lv-dur-fast) var(--lv-ease),
              translate var(--lv-dur-fast) var(--lv-ease);
}
.lv-dropdown::before {
  content: '';
  position: absolute;
  top: calc(-24 * var(--lv-u));
  left: 0;
  right: 0;
  height: calc(24 * var(--lv-u));
}
.lv-dropdown[hidden] { display: none;
}
[data-dropdown].is-open .lv-dropdown {
  opacity: 1;
  translate: 0 0;
}
.lv-nav__group--right .lv-dropdown {
  left: auto;
  right: calc(-24 * var(--lv-u));
}
.lv-dropdown__list a,
.lv-dropdown__all {
  display: block;
  padding-block: calc(8 * var(--lv-u));
  font-family: var(--lv-font-body);
  font-size: calc(14 * var(--lv-u));
  color: var(--lv-espresso);
  white-space: nowrap;
  transition: color var(--lv-dur-fast) var(--lv-ease);
}
.lv-dropdown__list a:hover,
.lv-dropdown__all:hover { color: var(--lv-terracotta);
}
.lv-dropdown__all {
  margin-top: calc(8 * var(--lv-u));
  padding-top: calc(12 * var(--lv-u));
  border-top: 1px solid rgba(36, 29, 26, 0.12);
  color: var(--lv-terracotta);
}
.lv-no-scroll { overflow: hidden;
}
.lv-drawer {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  padding: calc(16 * var(--lv-u));
  background: var(--lv-espresso);
  color: var(--lv-cream);
  opacity: 0;
  translate: 0 calc(-12 * var(--lv-u));
  transition: opacity var(--lv-dur) var(--lv-ease),
              translate var(--lv-dur) var(--lv-ease);
}
.lv-drawer[hidden] { display: none;
}
.lv-drawer.is-open { opacity: 1; translate: 0 0;
}
.lv-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: calc(8 * var(--lv-u));
  border-bottom: 1px solid rgba(250, 248, 245, 0.2);
}
.lv-drawer__brand {
  font-family: var(--lv-font-ui);
  font-size: calc(10 * var(--lv-u));
  letter-spacing: 0.02em;
  text-transform: uppercase;
  opacity: 0.7;
}
.lv-drawer__close {
  font-size: calc(28 * var(--lv-u));
  line-height: 1;
  color: inherit;
}
.lv-drawer__nav { flex: 1; overflow-y: auto; padding-top: calc(16 * var(--lv-u));
}
.lv-drawer__item { border-bottom: 1px solid rgba(250, 248, 245, 0.12);
}
.lv-drawer__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-block: calc(25 * var(--lv-u));
  font-family: var(--lv-font-display);
  font-weight: 200;
  font-size: calc(28 * var(--lv-u));
  line-height: 1.2;
  color: inherit;
  text-align: left;
}
.lv-drawer__link--toggle::after {
  content: '+';
  font-family: var(--lv-font-body);
  font-size: calc(20 * var(--lv-u));
  transition: rotate var(--lv-dur-fast) var(--lv-ease);
}
.lv-drawer__link--toggle.is-open::after { rotate: 45deg;
}
.lv-drawer__sub { padding-bottom: calc(12 * var(--lv-u));
}
.lv-drawer__sub[hidden] { display: none;
}
.lv-drawer__sub a {
  display: block;
  padding-block: calc(10 * var(--lv-u));
  padding-left: calc(12 * var(--lv-u));
  font-family: var(--lv-font-body);
  font-size: calc(14 * var(--lv-u));
  color: rgba(250, 248, 245, 0.8);
}
.lv-drawer__item--cta {
  border: 0;
  margin-top: calc(24 * var(--lv-u));
}
.lv-drawer__item--cta .lv-btn {
  width: 100%;
  background: var(--lv-terracotta);
  color: var(--lv-cream);
  border-color: transparent;
}
@media (min-width: 1024px) {
  .lv-drawer { display: none !important;
  }
}
.lv-body--hero .lv-header {
  position: absolute;
  inset-inline: 0;
  top: 0;
}
.lv-footer__row--email .lv-circle {
  position: absolute;
  right: calc(6 * var(--lv-u));
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.lv-loc__name .lv-icon--pin {
  color: var(--lv-terracotta);
}
@media (min-width: 1024px) {
  .lv-btn { font-size: calc(14 * var(--lv-u));
  }
  .lv-footer__row--email .lv-circle { right: calc(8 * var(--lv-u));
  }
  .lv-icon--pin { width: calc(20 * var(--lv-u)); height: calc(20 * var(--lv-u));
  }
}
.lv-icon--mq {
  width: calc(20 * var(--lv-u));
  height: calc(20 * var(--lv-u));
  fill: currentColor;
  stroke: none;
}
.lv-body:not(.lv-body--hero):not(.lv-body--light) .lv-header--main {
  background: var(--lv-umber);
  /* the logo overhangs the nav by 28px and is cream, so the ground follows it */
  padding-bottom: calc(30 * var(--lv-u));
}
.lv-body:not(.lv-body--hero):not(.lv-body--light) .lv-header--main .lv-announce {
  background: var(--lv-terracotta);
}
.lv-body--light .lv-header--main {
  --lv-nav-ink: var(--lv-espresso);
  --lv-rule: rgba(36, 29, 26, 0.4);
  background: transparent;
  padding-bottom: 0;
}
.lv-body--light .lv-header--main .lv-nav__burger,
.lv-body--light .lv-header--main .lv-nav__phone { color: var(--lv-espresso);
}
.lv-body--light .lv-header--main .lv-btn--pill-light {
  background: var(--lv-umber);
  color: var(--lv-cream);
  border-color: transparent;
}
.lv-protocols--dark .lv-circle--outline { border-color: rgba(250, 248, 245, 0.4); color: var(--lv-cream);
}
.lv-header :focus-visible {
  outline-color: var(--lv-cream);
}
.lv-icon--mq {
  width: calc(16 * var(--lv-u));
  height: calc(16 * var(--lv-u));
  fill: currentColor;
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .lv-icon--mq {
      width: calc(20 * var(--lv-u));
      height: calc(20 * var(--lv-u));
  }
}
.lv-icon--phone { stroke-width: 1;
}
.lv-body--light-alt .lv-header--main { background: var(--lv-cream);
}
@media (min-width: 1024px) {
  .lv-dropdown--mega {
      left: calc(-24 * var(--lv-u));   /* panel x=24, link x=48 */
      width: calc(240 * var(--lv-u));
      padding: calc(24 * var(--lv-u));
      border-radius: calc(16 * var(--lv-u));
      transition: opacity var(--lv-dur-fast) var(--lv-ease),
                  translate var(--lv-dur-fast) var(--lv-ease),
                  width var(--lv-dur-fast) var(--lv-ease);
  }
  .lv-dropdown--mega:has(.lv-mega__cat:not(.lv-mega__cat--leaf):hover,
  .lv-mega__cat:not(.lv-mega__cat--leaf):focus-within) { width: calc(432 * var(--lv-u));
  }
  .lv-dropdown--mega .lv-dropdown__list {
      width: calc(192 * var(--lv-u));
      padding-bottom: calc(8 * var(--lv-u));
      border-bottom: 1px solid rgba(36, 29, 26, 0.2);
  }
  .lv-dropdown--mega .lv-dropdown__list a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-block: calc(7 * var(--lv-u));
      font-size: calc(14 * var(--lv-u));
      line-height: 1.4;
  }
  .lv-mega__cat:hover > a,
  .lv-mega__cat:focus-within > a { color: var(--lv-terracotta);
  }
  .lv-icon--mega-chev {
      width: calc(10 * var(--lv-u));
      height: calc(10 * var(--lv-u));
      fill: currentColor;
      stroke: none;
      rotate: 180deg;
      flex: none;
  }
  .lv-mega__sub {
      position: absolute;
      top: 0;                          /* spans the full panel height so a short list can still be reached from any row */
      bottom: 0;
      padding-top: calc(24 * var(--lv-u));
      right: 0;
      left: calc(216 * var(--lv-u));   /* starts at the category's right edge, so the pointer never crosses a dead gap */
      display: none;
      padding-left: calc(48 * var(--lv-u));
  }
  .lv-mega__cat:hover > .lv-mega__sub,
  .lv-mega__cat:focus-within > .lv-mega__sub { display: block;
  }
  .lv-dropdown--mega .lv-dropdown__all {
      display: inline-flex;
      width: auto;
      margin-top: calc(29 * var(--lv-u));
      padding: calc(6 * var(--lv-u)) calc(6 * var(--lv-u)) calc(6 * var(--lv-u)) calc(20 * var(--lv-u));
      border-top: 0;
      font-size: calc(14 * var(--lv-u));
      color: var(--lv-cream);
  }
  .lv-dropdown--mega .lv-dropdown__all:hover { color: var(--lv-cream);
  }
}
.lv-drawer__item--cta { margin-top: calc(28 * var(--lv-u));
}
.lv-drawer__item--cta .lv-btn {
  justify-content: space-between;
  min-height: calc(46 * var(--lv-u));
  padding: calc(5 * var(--lv-u)) calc(5 * var(--lv-u)) calc(5 * var(--lv-u)) calc(20 * var(--lv-u));
  background: var(--lv-cream);
  color: var(--lv-espresso);
  font-size: calc(12 * var(--lv-u));
}
.lv-drawer__item--cta .lv-btn::after {
  content: '';
  flex: none;
  width: calc(32 * var(--lv-u));
  height: calc(32 * var(--lv-u));
  border-radius: 50%;
  background: var(--lv-umber) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23FAF8F5' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10L10 4M5 4h5v5'/%3E%3C/svg%3E") center / calc(14 * var(--lv-u)) no-repeat;
}
.lv-drawer__sub--mega { padding-bottom: calc(24 * var(--lv-u));
}
.lv-dcat__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: calc(12 * var(--lv-u)) calc(4 * var(--lv-u)) calc(12 * var(--lv-u)) calc(12 * var(--lv-u));
  font-family: var(--lv-font-body);
  font-size: calc(14 * var(--lv-u));
  line-height: 1.4;
  color: var(--lv-cream);
  text-align: left;
}
.lv-dcat.is-open > .lv-dcat__btn { color: var(--lv-terracotta);
}
.lv-dcat-leaf > a {
  display: block;
  padding: calc(12 * var(--lv-u)) calc(4 * var(--lv-u)) calc(12 * var(--lv-u)) calc(12 * var(--lv-u));
  font-size: calc(14 * var(--lv-u));
  line-height: 1.4;
  color: var(--lv-cream);
}
.lv-dcat__chev {
  width: calc(10 * var(--lv-u));
  height: calc(10 * var(--lv-u));
  fill: currentColor;
  stroke: none;
  rotate: -90deg;
  transition: rotate var(--lv-dur-fast) var(--lv-ease);
}
.lv-dcat.is-open > .lv-dcat__btn .lv-dcat__chev { rotate: 90deg;
}
.lv-dcat__list { padding: calc(2 * var(--lv-u)) 0 calc(8 * var(--lv-u));
}
.lv-dcat__list[hidden] { display: none;
}
.lv-drawer__sub .lv-dcat__list a {
  padding: calc(6 * var(--lv-u)) 0 calc(6 * var(--lv-u)) calc(12 * var(--lv-u));
  font-size: calc(12 * var(--lv-u));
  color: rgba(250, 248, 245, 0.6);
}
.lv-dcat__all {
  display: inline-flex;
  align-items: center;
  gap: calc(12 * var(--lv-u));
  margin-top: calc(16 * var(--lv-u));
  padding: calc(5 * var(--lv-u)) calc(5 * var(--lv-u)) calc(5 * var(--lv-u)) calc(20 * var(--lv-u));
  border-radius: calc(60 * var(--lv-u));
  background: var(--lv-terracotta);
  color: var(--lv-cream);
  font-family: var(--lv-font-body);
  font-size: calc(14 * var(--lv-u));
}
.lv-dcat__all .lv-circle { background: var(--lv-cream); color: var(--lv-terracotta);
}
.lv-drawer__sub a.lv-dcat__all { padding: calc(5 * var(--lv-u)) calc(5 * var(--lv-u)) calc(5 * var(--lv-u)) calc(20 * var(--lv-u)); color: var(--lv-cream); font-size: calc(14 * var(--lv-u)); display: inline-flex;
}
.lv-drawer__close { font-family: var(--lv-font-ui); font-weight: 200;
}
.lv-header,
.lv-header--over,
.lv-body--hero .lv-header {
  position: sticky;
  inset-inline: 0;
  top: calc(-32 * var(--lv-u));              /* announcement strip height (mobile) */
}
.lv-body .lv-header--main {
  --lv-nav-ink: var(--lv-espresso);
  --lv-rule: rgba(36, 29, 26, 0.4);
  background: var(--lv-cream) !important;
  padding-bottom: 0 !important;
  box-shadow: 0 1px 0 rgba(36, 29, 26, 0.12);
}
.lv-body .lv-header--main .lv-nav__burger,
.lv-body .lv-header--main .lv-nav__phone { color: var(--lv-espresso);
}
.lv-body .lv-header--main .lv-nav__logo img { content: url("../images/lv-logo-umber@2x.png");
}
.lv-body .lv-header--main .lv-btn--pill-light {
  background: var(--lv-umber);
  color: var(--lv-cream);
  border-color: transparent;
}
@media (min-width: 1024px) {
  .lv-header,
  .lv-header--over,
  .lv-body--hero .lv-header { top: calc(-38 * var(--lv-u));
  }
  .lv-body .lv-header--main .lv-nav {
      max-width: none;
      height: calc(84 * var(--lv-u));
      padding-inline: calc(48 * var(--lv-u) + var(--lv-edge, 0px));
  }
  .lv-body .lv-header--main .lv-nav__group { height: calc(84 * var(--lv-u)); border-bottom: 0;
  }
  .lv-body .lv-header--main .lv-nav__logo { top: calc(12 * var(--lv-u)); width: calc(118 * var(--lv-u));
  }
}
.lv-bkpop .lv-btn { margin-top: 24px;
}
