@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&display=swap');

html { scroll-behavior: smooth; }
body.local-ready [data-local-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1); }
body.local-ready [data-local-reveal].is-visible { opacity: 1; transform: none; }
body.local-ready img { transition: transform .8s cubic-bezier(.22,1,.36,1), opacity .5s ease; }
.sqs-block-image img, .fluid-image-container img { will-change: transform; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.local-ready [data-local-reveal] { opacity: 1; transform: none; transition: none; }
  * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.purchase-notice { position: relative; z-index: 9999; padding: 14px 24px; background: #efe5da; color: #22201d; text-align: center; font: 14px/1.4 Arial, sans-serif; }
.purchase-notice.is-success { background: #dfeadd; }
.direct-checkout-button[disabled] { cursor: wait; opacity: .7; }
.site-brand-lockup { display: inline-flex; align-items: center; gap: 14px; color: inherit; }
.site-logo-image { display: block; width: 76px; height: 76px; flex: 0 0 auto; object-fit: cover; border-radius: 50%; background: #fff; }
.site-brand-wordmark { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(24px, 2vw, 31px); font-weight: 600; line-height: .92; letter-spacing: -.025em; white-space: nowrap; }
.site-brand-wordmark span { display: block; }
.header-display-mobile .site-brand-lockup { gap: 9px; }
.header-display-mobile .site-logo-image { width: 48px; height: 48px; }
.header-display-mobile .site-brand-wordmark { font-size: 17px; line-height: .9; }

/* Header dropdown contrast guard.
   The static Squarespace mirror can mix a light header with a dark folder
   dropdown, leaving the inherited nav colour unreadable. Treat every desktop
   folder dropdown as its own dark panel and explicitly set all menu text,
   active states and hover states to light colours. */
.header-nav-folder-content,
.header-nav-folder-content .header-nav-folder-item,
.header-nav-folder-content .header-nav-folder-item a,
.header-nav-folder-content .header-nav-folder-item-content {
  color: #fffaf6 !important;
}
.header-nav-folder-content {
  background: #3b2514 !important;
  box-shadow: 0 18px 42px rgba(32, 18, 9, .22);
}
.header-nav-folder-content .header-nav-folder-item a {
  text-decoration-color: currentColor !important;
}
.header-nav-folder-content .header-nav-folder-item:hover,
.header-nav-folder-content .header-nav-folder-item--active {
  background: rgba(255, 250, 246, .12) !important;
}
.header-nav-folder-content .header-nav-folder-item:hover a,
.header-nav-folder-content .header-nav-folder-item:hover .header-nav-folder-item-content,
.header-nav-folder-content .header-nav-folder-item--active a,
.header-nav-folder-content .header-nav-folder-item--active .header-nav-folder-item-content {
  color: #fff !important;
}

/* --- Appointments page (collection 65f14bd2…) — static-mirror contrast fixes ---
   This page is a static export of a Squarespace site, so two of Squarespace's
   runtime features don't run and broke the contrast:
   • the canvas "background-fx" that paints each section's background photo, and
   • the dynamic-header JS that recolours the transparent header per section.

   The hero section uses the "black" theme (dark-brown background). Because a
   background photo IS configured, Squarespace picks its dark "on-background"
   text colours — but that photo never paints on the mirror, so the section is
   a flat dark brown and the dark text is invisible. We keep the uniform dark
   background (most reliable contrast) and force the text light instead. The
   transparent header can't adapt without its JS, so we give it a solid light
   background with dark nav/brand so it reads over every section. */

/* Hero (dark "black" theme): force light, legible text. */
body.collection-65f14bd200ad482c8acf3d6b [data-section-theme="black"] .sqs-html-content,
body.collection-65f14bd200ad482c8acf3d6b [data-section-theme="black"] .sqs-html-content :is(h1, h2, h3, h4, p, span, strong, em, li, a) {
  color: hsla(var(--white-hsl), 1) !important;
}

/* Header: solid light bar + dark nav/brand, legible over dark hero and light
   panels alike. The first selector out-specifies Squarespace's transparent
   "background:transparent !important" rule. */
body.collection-65f14bd200ad482c8acf3d6b.tweak-transparent-header .header:not(.shrink):not(.transparent-header-theme--override),
body.collection-65f14bd200ad482c8acf3d6b .header {
  background-color: hsla(var(--white-hsl), 1) !important;
}
body.collection-65f14bd200ad482c8acf3d6b .header {
  --navigationLinkColor: hsla(var(--black-hsl), 1) !important;
  --siteTitleColor: hsla(var(--black-hsl), 1) !important;
  --solidHeaderNavigationColor: hsla(var(--black-hsl), 1) !important;
  --gradientHeaderNavigationColor: hsla(var(--black-hsl), 1) !important;
}
.local-legal-links { padding: 12px 4vw 28px; text-align: center; font: 500 12px/1.4 "Work Sans", Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.local-legal-links a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
  .site-logo-image { width: 48px; height: 48px; }
  .site-brand-lockup { gap: 9px; }
  .site-brand-wordmark { font-size: 17px; line-height: .9; }
}
.Marquee[data-local-marquee-ready="true"] .Marquee-svg { display: block; width: 100%; }
.Marquee[data-local-marquee-ready="true"] .Marquee-display { overflow: visible; }
.Marquee[data-local-marquee-ready="true"] .Marquee-svg > text { font: inherit; }
.Marquee[data-local-marquee-ready="true"] .Marquee-svg-text { fill: currentColor; }
@media (prefers-reduced-motion: reduce) {
  .Marquee[data-local-marquee-ready="true"] .Marquee-display { mask-image: none; -webkit-mask-image: none; }
}
.deposit-page { min-height: 100vh; margin: 0; background: #f7eee8; color: #3b2514; font-family: "Work Sans", Arial, sans-serif; }
.deposit-header { display: flex; align-items: center; justify-content: space-between; padding: 18px clamp(20px, 4vw, 60px); background: #fff; border-bottom: 1px solid rgba(59,37,20,.15); }
.deposit-header img { display: block; width: 78px; height: 78px; object-fit: cover; border-radius: 50%; }
.deposit-header a { color: inherit; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.deposit-product { display: grid; grid-template-columns: minmax(280px, 520px) minmax(300px, 520px); gap: clamp(36px, 7vw, 100px); align-items: center; width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: clamp(60px, 9vw, 130px) 0; }
.deposit-product__visual { display: grid; place-items: center; aspect-ratio: 1; background: #fff; }
.deposit-product__visual img { width: min(72%, 360px); height: auto; border-radius: 50%; }
.deposit-product h1 { margin: 0 0 12px; font-size: clamp(42px, 6vw, 76px); line-height: 1; letter-spacing: -.045em; }
.deposit-product__price { margin: 0 0 28px; font-size: 24px; font-weight: 700; }
.deposit-product__description { font-size: 17px; line-height: 1.65; }
.deposit-terms { display: flex; align-items: flex-start; gap: 12px; margin: 26px 0 18px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.deposit-terms input { width: 20px; height: 20px; margin-top: 2px; flex: 0 0 auto; accent-color: #3b2514; }
.deposit-terms a { color: inherit; text-underline-offset: 3px; }
.deposit-button { width: 100%; border: 0; border-radius: 999px; padding: 17px 24px; background: #3b2514; color: #fff; font: 700 15px/1 "Work Sans", Arial, sans-serif; letter-spacing: .04em; cursor: pointer; }
.deposit-button:disabled { cursor: not-allowed; opacity: .42; }
.deposit-terms-error { color: #9b2318; font-weight: 700; }
.deposit-purchase-notice { margin: 0; padding: 14px 24px; background: #efe5da; text-align: center; font-weight: 700; }
.deposit-purchase-notice.is-success { background: #dfeadd; }
@media (max-width: 760px) {
  .deposit-header img { width: 58px; height: 58px; }
  .deposit-product { grid-template-columns: 1fr; padding: 36px 0 70px; }
  .deposit-product__visual { aspect-ratio: 4 / 3; }
  .deposit-product__visual img { width: min(55%, 230px); }
}

/* Firestore prices inside the original image-led Squarespace pricing layout. */
.catalog-price-loading,
.catalog-price-empty,
.catalog-price-error { margin: 0; padding: 12px 0; font-weight: 600; line-height: 1.5; }
.catalog-price-error { color: #8b2f22; }

.pricing-menu-section { color: #3b2514; background: #fffaf7; padding: clamp(58px, 8vw, 112px) clamp(18px, 4vw, 64px); }
.pricing-menu__inner { width: min(1420px, 100%); margin: 0 auto; }
.pricing-menu__header { width: min(760px, 100%); margin: 0 auto clamp(38px, 6vw, 72px); text-align: center; }
.pricing-menu__header p { margin: 0 0 12px; font: 700 12px/1.2 "Work Sans", Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.pricing-menu__header h2 { margin: 0 0 18px; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(46px, 7vw, 76px); font-weight: 600; line-height: .94; letter-spacing: -.035em; }
.pricing-menu__header span { display: block; font-size: clamp(16px, 2vw, 19px); line-height: 1.55; }
.pricing-menu__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 3vw, 42px); align-items: start; }
.pricing-treatment-card { overflow: hidden; border: 1px solid rgba(59, 37, 20, .14); border-radius: 22px; background: #fff; box-shadow: 0 18px 50px rgba(59, 37, 20, .07); }
.pricing-treatment-card[hidden] { display: none; }
.pricing-treatment-card--wide { grid-column: span 2; }
.pricing-treatment-card > .fe-block { position: static !important; grid-area: auto !important; width: auto !important; transform: none !important; }
.pricing-treatment-card > .fe-block:first-child .sqs-block { padding: 0; }
.pricing-treatment-card > .fe-block:first-child .fluid-image-component-root,
.pricing-treatment-card > .fe-block:first-child .fluid-image-animation-wrapper,
.pricing-treatment-card > .fe-block:first-child .fluid-image-container { height: 100%; }
.pricing-treatment-card > .fe-block:first-child .fluid-image-component-root { aspect-ratio: 4 / 3; }
.pricing-treatment-card > .fe-block:first-child img { width: 100%; height: 100%; object-fit: cover; }
.pricing-treatment-card > .fe-block:nth-child(2) { padding: 20px 22px 10px; }
.pricing-treatment-card > .fe-block:nth-child(2) .sqs-block { padding: 0; }
.pricing-treatment-card > .fe-block:nth-child(2) h3 { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(29px, 3vw, 39px); font-weight: 600; line-height: 1; text-align: left !important; }
.pricing-treatment-card > .fe-block:nth-child(3) { padding: 0 22px 22px; }
.pricing-treatment-card > .fe-block:nth-child(3) .sqs-block { padding: 0; }

.catalog-price-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 4px; }
.catalog-price-group { min-width: 0; margin: 0; border: 1px solid rgba(59, 37, 20, .14); border-radius: 14px; padding: 15px; background: #fffaf7; }
.catalog-price-group:only-child { grid-column: 1 / -1; }
.catalog-price-group h4 { margin: 0 0 13px; color: #8a5433; font: 700 12px/1.2 "Work Sans", Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.catalog-price-group__entries { display: grid; gap: 13px; }
.catalog-treatment-group { min-width: 0; border-top: 1px solid rgba(59, 37, 20, .1); padding-top: 11px; }
.catalog-treatment-group:first-child { border-top: 0; padding-top: 0; }
.catalog-treatment-group h5 { margin: 0 0 7px; font: 600 14px/1.35 "Work Sans", Arial, sans-serif; }
.catalog-session-options { display: flex; flex-wrap: wrap; gap: 6px; }
.catalog-session-option { display: grid; grid-template-columns: auto auto; gap: 9px; align-items: baseline; border-radius: 9px; padding: 7px 9px; background: #efe4da; font: 600 12px/1.25 "Work Sans", Arial, sans-serif; }
.catalog-session-option__count { color: rgba(59, 37, 20, .72); }
.catalog-session-option__price { display: flex; align-items: baseline; gap: 5px; font-weight: 700; white-space: nowrap; }
.catalog-session-option__was { color: rgba(59, 37, 20, .5); font-size: .78em; font-weight: 400; text-decoration: line-through; }

.siennah-pricing-section { color: #3b2514; background: #f2e7de; padding: clamp(58px, 8vw, 112px) clamp(22px, 6vw, 88px); }
.siennah-pricing__inner { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(340px, 1.1fr); gap: clamp(34px, 7vw, 100px); align-items: center; width: min(1180px, 100%); margin: 0 auto; }
.siennah-pricing__portrait { overflow: hidden; aspect-ratio: 4 / 5; border-radius: 24px; box-shadow: 0 24px 70px rgba(59, 37, 20, .16); }
.siennah-pricing__portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.siennah-pricing__portrait:hover img { transform: scale(1.025); }
.siennah-pricing__eyebrow { margin: 0 0 14px; font: 700 12px/1.2 "Work Sans", Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.siennah-pricing__content h3 { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(42px, 6vw, 72px); font-weight: 600; line-height: .94; letter-spacing: -.03em; }
.siennah-pricing__introduction { max-width: 620px; margin: 22px 0 30px; font-size: clamp(16px, 2vw, 19px); line-height: 1.6; }
.siennah-pricing__accordion { border-top: 1px solid rgba(59, 37, 20, .45); border-bottom: 1px solid rgba(59, 37, 20, .45); }
.siennah-pricing__trigger { display: flex; justify-content: space-between; width: 100%; border: 0; padding: 19px 0; color: inherit; background: transparent; font: 600 16px/1.2 "Work Sans", Arial, sans-serif; text-align: left; cursor: pointer; }
.siennah-pricing__trigger span:last-child { font-size: 24px; transition: transform .2s ease; }
.siennah-pricing__trigger[aria-expanded="true"] span:last-child { transform: rotate(180deg); }
.siennah-pricing__panel { padding: 2px 0 24px; }
.siennah-pricing__panel[hidden] { display: none; }

@media (max-width: 760px) {
  .pricing-menu__grid { grid-template-columns: 1fr; }
  .pricing-treatment-card--wide { grid-column: auto; }
  .catalog-price-list { grid-template-columns: 1fr; }
  .siennah-pricing__inner { grid-template-columns: 1fr; }
  .siennah-pricing__portrait { aspect-ratio: 4 / 4.6; }
}

@media (min-width: 761px) and (max-width: 1080px) {
  .pricing-menu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
