@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Work+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

/* Secondary-site restyle. Cosmetic only: no content changes.
   Loaded after local-enhancements.css on every page. */

/* ---------------------------------------------------------------------------
   1. No scroll or entrance animations.
   Squarespace's runtime adds preFade/preSlide/... classes and fades blocks in
   as they scroll into view; until then they sit at opacity 0, which leaves
   whole sections blank. Show everything immediately, statically.
   --------------------------------------------------------------------------- */
html { scroll-behavior: auto; }
:is(.preFade, .preScale, .preSlide, .preClip, .preFlex, .fadeIn, .scaleIn, .slideIn, .clipIn, .flexIn,
    [data-animation-role], [data-local-reveal], .fluid-image-animation-wrapper,
    .sqs-block, .fe-block, .content-wrapper, .section-background) {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
  animation: none !important;
  transition: none !important;
  transition-delay: 0s !important;
}
.page-section img,
.sqs-block-image img,
.fluid-image-container img {
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

/* ---------------------------------------------------------------------------
   2. Section backgrounds always paint.
   Squarespace draws a clip-path (#section-divider-…) at runtime; on the static
   mirror that SVG path is never built, so the mask clips the whole section
   background away and hero photos (e.g. Treatments) render as empty space.
   --------------------------------------------------------------------------- */
.section-border { clip-path: none !important; }
.section-divider-display, .section-divider-svg-clip { display: none !important; }

/* ---------------------------------------------------------------------------
   3. One type system for every page.
   Display: Cormorant Garamond (matches the wordmark and the pricing page).
   Text:    Work Sans 400, larger and airier than the Squarespace defaults.
   --------------------------------------------------------------------------- */
:root {
  --ela-ink: hsl(30, 59.57%, 18.43%);
  --ela-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --ela-text: "Work Sans", -apple-system, "Helvetica Neue", Arial, sans-serif;
  --ela-body: 18px;
  --ela-body-lh: 1.7;
  --ela-h1: clamp(46px, 5.4vw, 80px);
  --ela-h2: clamp(38px, 4vw, 60px);
  --ela-h3: clamp(30px, 2.7vw, 40px);
  --ela-h4: 19px;
  --ela-lead: clamp(26px, 2.4vw, 34px);
}
@media (max-width: 767px) {
  :root { --ela-body: 17px; }
}

body { font-family: var(--ela-text); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Headings */
:is(main, footer) :is(h1, h2, h3),
.sqs-html-content :is(h1, h2, h3) {
  font-family: var(--ela-display) !important;
  font-weight: 600 !important;
  font-style: normal;
  letter-spacing: -0.012em !important;
  text-transform: none !important;
  line-height: 1.06 !important;
}
:is(main, footer) h1, .sqs-html-content h1 { font-size: var(--ela-h1) !important; }
:is(main, footer) h2, .sqs-html-content h2 { font-size: var(--ela-h2) !important; }
:is(main, footer) h3, .sqs-html-content h3 { font-size: var(--ela-h3) !important; line-height: 1.12 !important; }
:is(main, footer) :is(h1, h2, h3) :is(strong, b) { font-weight: 600 !important; }
:is(main, footer) :is(h1, h2, h3) em { font-style: italic; font-weight: 500 !important; }

/* h4: small sub-headings, team names, footer label */
:is(main, footer) h4, .sqs-html-content h4 {
  font-family: var(--ela-text) !important;
  font-size: var(--ela-h4) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.5 !important;
}

/* Body copy: one size, left aligned, comfortable leading */
:is(main, footer) :is(p, li, blockquote),
.sqs-html-content :is(p, li),
.accordion-item__description, .accordion-item__description p {
  font-family: var(--ela-text) !important;
  font-size: var(--ela-body) !important;
  font-weight: 400 !important;
  line-height: var(--ela-body-lh) !important;
  letter-spacing: 0 !important;
}
:is(main, footer) :is(p, li) :is(strong, b) { font-weight: 600 !important; }
.sqs-html-content p[style*="justify"] { text-align: left !important; }
.sqs-html-content p.sqsrte-small { font-size: var(--ela-body) !important; }

/* "Large" paragraphs are used as headlines (e.g. Microneedling, After care) */
.sqs-html-content p.sqsrte-large {
  font-family: var(--ela-display) !important;
  font-size: var(--ela-lead) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}
.sqs-html-content p.sqsrte-large :is(strong, b) { font-weight: 600 !important; }
.sqs-html-content p.sqsrte-large em { font-weight: 500 !important; }

/* Lists */
.sqs-html-content :is(ul, ol) li { margin-bottom: 0.35em; }
.sqs-html-content li p { margin: 0 !important; }

/* Accordions (Treatments, FAQ, Microneedling) */
.accordion-item__title {
  font-family: var(--ela-text) !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}

/* Buttons: one style everywhere */
.sqs-block-button-element,
.sqs-button-element--primary,
.sqs-button-element--secondary,
.header-actions .btn,
.newsletter-form-button,
.newsletter-form-button-label,
.deposit-button {
  font-family: var(--ela-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Header navigation */
.header-nav-item a, .header-menu-nav-item a {
  font-family: var(--ela-text) !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
}

/* ---------------------------------------------------------------------------
   4. Heroes.
   --------------------------------------------------------------------------- */

/* Home: the intro sat in a narrow strip on the right in 14px justified type,
   leaving the middle of the hero empty. Centre it on the photo, both ways. */
.fe-block-yui_3_17_2_1_1770805749061_2185 .sqs-html-content p {
  font-size: clamp(18px, 1.45vw, 21px) !important;
  line-height: 1.65 !important;
}
[data-section-id="6871288a9d194b44ad5436f8"] { align-items: center !important; }
[data-section-id="6871288a9d194b44ad5436f8"] .content-wrapper { padding-top: 48px !important; padding-bottom: 48px !important; }
@media (min-width: 768px) {
  .fe-6871288a9d194b44ad5436f7 .fe-block-yui_3_17_2_1_1770805749061_2185 {
    grid-area: 1/7/-1/21 !important;
    align-self: center;
  }
  .fe-block-yui_3_17_2_1_1770805749061_2185 .sqs-html-content p {
    text-align: center !important;
  }
}

/* Botox: the photo filled the right half and its copy was squeezed onto the
   photo, so the left half of the hero was blank. Set the copy in that empty
   half instead, in the site's ink colour. */
@media (min-width: 768px) {
  .fe-68cd297aed6e4d2dd08a5240 .fe-block-6470ab5053691a3c0118 {
    grid-area: 1/3/24/13 !important;
    align-self: center;
  }
  .fe-block-6470ab5053691a3c0118 .sqs-html-content,
  .fe-block-6470ab5053691a3c0118 .sqs-html-content :is(p, span, strong) {
    color: var(--ela-ink) !important;
  }
  .fe-block-6470ab5053691a3c0118 .sqs-html-content strong { font-weight: 400 !important; }
  .fe-block-6470ab5053691a3c0118 .sqs-html-content p:first-child {
    font-family: var(--ela-display) !important;
    font-size: var(--ela-lead) !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    margin-bottom: 1em;
  }
}

/* ---------------------------------------------------------------------------
   5. List sections (review cards etc.) use h2 for card text; keep it card-sized.
   --------------------------------------------------------------------------- */
.user-items-list .list-item-content__title {
  font-size: clamp(22px, 1.9vw, 27px) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}
.user-items-list .list-item-content__description p {
  font-size: 15px !important;
  letter-spacing: 0.04em !important;
}
.user-items-list .list-section-title,
.user-items-list .list-section-title p {
  font-family: var(--ela-display) !important;
  font-size: var(--ela-h2) !important;
  font-weight: 600 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.012em !important;
}

/* ---------------------------------------------------------------------------
   6. Buttons share one size (Squarespace small/medium/large mixed per block).
   --------------------------------------------------------------------------- */
.sqs-block-button-element,
.sqs-block-button-element--small,
.sqs-block-button-element--medium,
.sqs-block-button-element--large {
  padding: 1.15em 2.1em !important;
  line-height: 1.2 !important;
}

/* ---------------------------------------------------------------------------
   7. Pricing: live price chips were 12px; lift them to readable sizes.
   --------------------------------------------------------------------------- */
.catalog-price-group h4 { font-size: 13px !important; }
.catalog-treatment-group h5 { font-size: 16px !important; }
.catalog-session-option { font-size: 14px !important; padding: 8px 11px !important; }
.pricing-menu__header p, .siennah-pricing__eyebrow { font-size: 13px !important; }
.siennah-pricing__trigger { font-size: 17px !important; }
.siennah-pricing__treatment { font-size: var(--ela-body) !important; line-height: var(--ela-body-lh) !important; }
.pricing-treatment-card > .fe-block:nth-child(2) h3 { letter-spacing: -0.012em !important; }
/* Appointments: the WhatsApp button stretched to fill its cell; match its neighbours. */
.fe-block-6aadd52959cdac1a120c .sqs-block-button-container {
  align-items: flex-start !important;
  justify-content: center !important;
}
.fluid-engine .fe-block-6aadd52959cdac1a120c .sqs-block-button-container .sqs-block-button-element {
  flex: 0 0 auto !important;
  padding: 1.15em 2.1em !important;
  line-height: 1.2 !important;
  width: auto !important;
  height: auto !important;
}

/* Botox on phones: set the copy under the photo rather than over it. */
@media (max-width: 767px) {
  .fe-68cd297aed6e4d2dd08a5240 .fe-block-6470ab5053691a3c0118 {
    grid-area: 23/2/24/10 !important;
    padding-top: 28px;
  }
  .fe-block-6470ab5053691a3c0118 .sqs-html-content,
  .fe-block-6470ab5053691a3c0118 .sqs-html-content :is(p, span, strong) {
    color: var(--ela-ink) !important;
  }
  .fe-block-6470ab5053691a3c0118 .sqs-html-content strong { font-weight: 400 !important; }
  .fe-block-6470ab5053691a3c0118 .sqs-html-content p:first-child {
    font-family: var(--ela-display) !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
  }
}

@media (min-width: 768px) {
  .fe-68cc24abd6bccd27cf31d407 .fe-block-9af4cbdb7ba45405c917 { grid-area: 4/6/12/22 !important; }
}

/* ---------------------------------------------------------------------------
   8. Glow Baume product page: the gallery's slider script never runs on the
   static copy, so the product photo stayed hidden and half the page was empty.
   Show the first slide as a still image.
   --------------------------------------------------------------------------- */
.product-gallery-slides-item:first-child {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  inset: 0;
}
.product-gallery-slides-item:first-child .product-gallery-slides-item-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1 !important;
}
.product-detail .product-title {
  font-family: var(--ela-display) !important;
  font-size: var(--ela-h1) !important;
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.04 !important;
  color: var(--ela-ink) !important;
}
.product-detail .product-price {
  letter-spacing: 0.02em !important;
  font-size: 20px !important;
}
.product-detail .product-description :is(p, strong, b) { font-weight: 400 !important; }

/* Terms of Service: a reading page, so a quieter heading scale. */
.terms-main h2 { font-size: clamp(30px, 3vw, 40px) !important; margin-top: 1.4em; }
.terms-highlight { font-size: var(--ela-body); line-height: 1.65; }
.terms-highlight strong { font-weight: 600 !important; }

/* ---------------------------------------------------------------------------
   9. Text over a large photo sits on a rounded, softly blurred panel.
   Home intro, Treatments intro, Care intro, Reviews hero quote and the
   Reviews photo testimonial.
   --------------------------------------------------------------------------- */
:root { --ela-radius: 18px; }
:is(.fe-block-yui_3_17_2_1_1770805749061_2185,
    .fe-block-9af4cbdb7ba45405c917,
    .fe-block-cd63b3631cab544d3a93,
    .fe-block-a9c8034bd925fa88b971,
    .fe-block-faa1993507456b4a9f61,
    .fe-block-4564be3feebeab489327,
    .fe-block-f9987902bbf1ed11995d) .sqs-html-content {
  padding: clamp(22px, 2.6vw, 40px) clamp(22px, 3vw, 48px) !important;
  border-radius: var(--ela-radius);
  background: rgba(40, 26, 14, .26);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
  backdrop-filter: blur(14px) saturate(1.05);
  border: 1px solid rgba(255, 255, 255, .14);
  transform: translate3d(0, var(--ela-panel-parallax-y, 0px), 0);
}
@media (prefers-reduced-motion: reduce) {
  :is(.fe-block-yui_3_17_2_1_1770805749061_2185,
      .fe-block-9af4cbdb7ba45405c917,
      .fe-block-cd63b3631cab544d3a93,
      .fe-block-a9c8034bd925fa88b971,
      .fe-block-faa1993507456b4a9f61,
      .fe-block-4564be3feebeab489327,
      .fe-block-f9987902bbf1ed11995d) .sqs-html-content {
    transform: none;
  }
}
:is(.fe-block-yui_3_17_2_1_1770805749061_2185,
    .fe-block-9af4cbdb7ba45405c917,
    .fe-block-cd63b3631cab544d3a93,
    .fe-block-a9c8034bd925fa88b971,
    .fe-block-faa1993507456b4a9f61,
    .fe-block-4564be3feebeab489327,
    .fe-block-f9987902bbf1ed11995d) .sqs-html-content > :last-child { margin-bottom: 0 !important; }
:is(.fe-block-yui_3_17_2_1_1770805749061_2185,
    .fe-block-9af4cbdb7ba45405c917,
    .fe-block-cd63b3631cab544d3a93,
    .fe-block-a9c8034bd925fa88b971,
    .fe-block-faa1993507456b4a9f61,
    .fe-block-4564be3feebeab489327,
    .fe-block-f9987902bbf1ed11995d) .sqs-html-content > :first-child { margin-top: 0 !important; }
:is(.fe-block-yui_3_17_2_1_1770805749061_2185,
    .fe-block-9af4cbdb7ba45405c917,
    .fe-block-cd63b3631cab544d3a93,
    .fe-block-a9c8034bd925fa88b971,
    .fe-block-faa1993507456b4a9f61,
    .fe-block-4564be3feebeab489327,
    .fe-block-f9987902bbf1ed11995d) { overflow: visible !important; }

/* ---------------------------------------------------------------------------
   10. Every content photo shares one corner radius.
   (Section background photos stay full-bleed; the logo stays round.)
   --------------------------------------------------------------------------- */
.fluid-image-container,
.gallery-masonry-item-wrapper,
.product-gallery-slides,
.deposit-product__visual,
.siennah-pricing__portrait,
.pricing-treatment-card {
  border-radius: var(--ela-radius) !important;
  overflow: hidden !important;
}
.fluid-image-container img,
.gallery-masonry-item-wrapper img { border-radius: var(--ela-radius) !important; }
.pricing-treatment-card .fluid-image-container,
.pricing-treatment-card .fluid-image-container img { border-radius: 0 !important; }

/* Home hero: keep the photo generous now the intro is centred, and give the
   phone layout a full-width panel. */
@media (min-width: 768px) {
  [data-section-id="6871288a9d194b44ad5436f8"] { min-height: min(88vh, 860px) !important; }
}
@media (max-width: 767px) {
  .fe-block-yui_3_17_2_1_1770805749061_2185 .sqs-html-content {
    position: relative;
    top: -5svh;
  }
  .fe-6871288a9d194b44ad5436f7 .fe-block-yui_3_17_2_1_1770805749061_2185 {
    grid-area: 1/2/-1/10 !important;
    align-self: center;
  }
  [data-section-id="6871288a9d194b44ad5436f8"] {
    min-height: 88svh !important;
  }
  [data-section-id="6871288a9d194b44ad5436f8"] .content-wrapper {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
}
.fe-block-yui_3_17_2_1_1770805749061_2185 .sqs-html-content p { text-align: center !important; }
/* Reviews hero quote is set in dark ink, so its panel is a light frost. */
.fe-block-a9c8034bd925fa88b971 .sqs-html-content {
  background: rgba(255, 250, 246, .5) !important;
  border-color: rgba(255, 255, 255, .5) !important;
}
/* Review cards share the image radius. */
.user-items-list .list-item { border-radius: var(--ela-radius) !important; overflow: hidden; }

/* Filler before/after gallery: Squarespace's masonry script doesn't always
   position the tiles, which stacked them full-width with a long blank tail.
   Lay them out as a plain three-column grid instead. */
.gallery-masonry-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 28px);
  height: auto !important;
  align-items: start;
}
.gallery-masonry-item {
  position: static !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
}
.gallery-masonry { height: auto !important; }
@media (max-width: 767px) {
  .gallery-masonry-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Every text on a frosted photo panel uses the display serif, so the home
   intro, Treatments intro and Reviews testimonial match the Care intro and
   the Reviews quote. */
:is(.fe-block-yui_3_17_2_1_1770805749061_2185,
    .fe-block-9af4cbdb7ba45405c917,
    .fe-block-faa1993507456b4a9f61,
    .fe-block-4564be3feebeab489327,
    .fe-block-f9987902bbf1ed11995d) .sqs-html-content :is(p, span, strong, em) {
  font-family: var(--ela-display) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
:is(.fe-block-yui_3_17_2_1_1770805749061_2185,
    .fe-block-9af4cbdb7ba45405c917) .sqs-html-content p {
  font-size: clamp(21px, 1.75vw, 26px) !important;
  line-height: 1.45 !important;
}
.fe-block-faa1993507456b4a9f61 .sqs-html-content p {
  font-size: clamp(19px, 1.5vw, 22px) !important;
  line-height: 1.5 !important;
}

/* Pricing: the header is now just its heading, so balance the space around it. */
.pricing-menu__header h2 { margin: 0 !important; }
.pricing-title-section { padding-top: clamp(124px, 11vw, 168px) !important; padding-bottom: clamp(48px, 5vw, 80px) !important; }

/* Home intro: larger serif and a roomier panel. */
.fe-block-yui_3_17_2_1_1770805749061_2185 .sqs-html-content p {
  font-size: clamp(23px, 2.05vw, 30px) !important;
  line-height: 1.42 !important;
}
.fe-block-yui_3_17_2_1_1770805749061_2185 .sqs-html-content {
  padding: clamp(28px, 3.4vw, 54px) clamp(26px, 4vw, 64px) !important;
}
@media (min-width: 768px) {
  .fe-6871288a9d194b44ad5436f7 .fe-block-yui_3_17_2_1_1770805749061_2185 { grid-area: 1/5/-1/23 !important; }
}

/* ---------------------------------------------------------------------------
   11. Top menu on a frosted panel so it reads over any photo.
   White-text headers (over photos) get a soft dark frost; dark-text headers
   get a light frost.
   --------------------------------------------------------------------------- */
header.header .header-inner {
  margin: 14px 0 0 !important;
  width: auto !important;
  box-sizing: border-box !important;
  padding: 10px clamp(14px, 1.6vw, 24px) !important;
  border-radius: var(--ela-radius);
  background: rgba(255, 250, 246, .55);
  border: 1px solid rgba(255, 255, 255, .45);
  -webkit-backdrop-filter: blur(16px) saturate(1.1);
  backdrop-filter: blur(16px) saturate(1.1);
  box-shadow: 0 10px 30px rgba(36, 22, 10, .08);
}
header.header.black .header-inner {
  background: rgba(40, 26, 14, .3);
  border-color: rgba(255, 255, 255, .16);
}
header.header .header-announcement-bar-wrapper { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Reviews photo testimonial: larger text. */
.fe-block-faa1993507456b4a9f61 .sqs-html-content p {
  font-size: clamp(22px, 1.85vw, 27px) !important;
  line-height: 1.45 !important;
}
/* Treatments dropdown: rounded like everything else, with a short fade-and-
   slide on open and close (the one deliberate animation on the site). */
.header-nav .header-nav-item--folder .header-nav-folder-content {
  display: block !important;
  margin-top: 10px;
  padding: 12px 8px !important;
  border-radius: var(--ela-radius) !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}
.header-nav .header-nav-item--folder .header-nav-folder-content::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -12px;
  height: 12px;
}
.header-nav .header-nav-item--folder:hover .header-nav-folder-content,
.header-nav .header-nav-item--folder:focus-within .header-nav-folder-content,
.header-nav .header-nav-item--folder button.header-nav-folder-title[aria-expanded='true'] + .header-nav-folder-content {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition: opacity .2s ease, transform .2s ease, visibility 0s;
}
.header-nav-folder-content .header-nav-folder-item { border-radius: 10px; }
@media (prefers-reduced-motion: reduce) {
  .header-nav .header-nav-item--folder .header-nav-folder-content { transition: none; transform: none; }
}

/* ---------------------------------------------------------------------------
   12. One floating menu for the whole site.
   The header stays fixed at the top while you scroll and keeps the same look
   on every page: a light frost with ink text, readable over photos and plain
   sections alike.
   --------------------------------------------------------------------------- */
header.header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000 !important;
  background: transparent !important;
  pointer-events: none;
}
header.header .header-announcement-bar-wrapper { background: transparent !important; }
header.header .header-inner,
header.header .header-menu { pointer-events: auto; }
header.header .header-inner,
header.header.black .header-inner {
  background: rgba(255, 250, 246, .72) !important;
  border-color: rgba(255, 255, 255, .55) !important;
  box-shadow: 0 10px 30px rgba(36, 22, 10, .10);
}
header.header {
  --navigationLinkColor: hsl(30, 59.57%, 18.43%) !important;
  --siteTitleColor: hsl(30, 59.57%, 18.43%) !important;
  --solidHeaderNavigationColor: hsl(30, 59.57%, 18.43%) !important;
  --gradientHeaderNavigationColor: hsl(30, 59.57%, 18.43%) !important;
  --menuOverlayNavigationLinkColor: hsl(30, 59.57%, 18.43%) !important;
}
header.header .header-inner :is(.header-nav-item > a, .header-nav-folder-title, .header-nav-folder-title-text, .header-title-text a, .site-brand-wordmark) {
  color: var(--ela-ink) !important;
}
header.header .header-inner .header-nav-item > a,
header.header .header-inner .header-nav-folder-title { background-image: none; }
header.header .burger-inner > div { background-color: var(--ela-ink) !important; }
header.header .header-actions .btn,
header.header .header-actions .sqs-button-element--primary {
  background: var(--ela-ink) !important;
  color: #fffaf6 !important;
  border-color: var(--ela-ink) !important;
}
/* The open phone menu covers the page, so it needs a solid backdrop. */
.header--menu-open header.header .header-menu { background: #fbf6f2 !important; }

/* Squarespace "scaled text" waits for its script to size a heading to the
   block width; it would stay hidden after an in-place page change. Render it
   as a normal heading at the site's own size instead, on every load. */
.sqs-block-html .sqs-html-content .sqsrte-scaled-text-container > .sqsrte-scaled-text {
  position: static !important;
  left: auto !important;
  display: block !important;
  transform: none !important;
  white-space: normal !important;
  word-break: normal !important;
}
.sqs-block-html .sqs-html-content .sqsrte-scaled-text-container .sqsrte-scaled-text :is(h1, h2, h3, h4, p) {
  white-space: normal !important;
  line-height: 1.06 !important;
}
.sqs-block-html .sqs-html-content .sqsrte-scaled-text-container > .sqsrte-scaled-text h1 { font-size: var(--ela-h1) !important; }
.sqs-block-html .sqs-html-content .sqsrte-scaled-text-container > .sqsrte-scaled-text h2 { font-size: var(--ela-h2) !important; }
.sqs-block-html .sqs-html-content .sqsrte-scaled-text-container > .sqsrte-scaled-text h3 { font-size: var(--ela-h3) !important; }
.sqs-block-html .sqs-html-content .sqsrte-scaled-text-container > .sqsrte-scaled-text p { font-size: var(--ela-lead) !important; }

/* local-site.js owns accordion clicks so the Squarespace handler cannot
   toggle the same item a second time. Keep panel visibility tied to its
   accessible button state on both treatment and pricing pages. */
.accordion-item:has(.accordion-item__click-target[aria-expanded="false"]) .accordion-item__dropdown {
  display: none !important;
}
.accordion-item:has(.accordion-item__click-target[aria-expanded="true"]) .accordion-item__dropdown {
  display: block !important;
  max-height: none !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.pricing-menu-section .accordion-item .arrow-container {
  transition: transform .2s ease !important;
}
.pricing-menu-section .accordion-item:has(.accordion-item__click-target[aria-expanded="true"]) .arrow-container {
  transform: rotate(-180deg) !important;
}
.pricing-menu-section .accordion-item:has(.accordion-item__click-target[aria-expanded="false"]) .arrow-container {
  transform: rotate(0deg) !important;
}
.siennah-pricing-section .siennah-pricing__trigger span:last-child {
  transition: transform .2s ease !important;
}
