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

:root {
  --nona-ivory: #fff9f2;
  --nona-paper: #fffdfa;
  --nona-plum: #552656;
  --nona-plum-dark: #321934;
  --nona-magenta: #a83d77;
  --nona-gold: #bd8430;
  --nona-gold-light: #f0d39b;
  --nona-copy: #5e5360;
  --nona-border: rgba(85, 38, 86, 0.14);
  --nona-shadow: 0 24px 70px rgba(50, 25, 52, 0.12);
  --nona-radius: 28px;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; background: var(--nona-ivory); color: var(--nona-copy); }
body, .elementor-widget-text-editor, .elementor-button { font-family: 'Manrope', system-ui, sans-serif; }
h1, h2, h3, h4, h5, h6, .nona-display .elementor-heading-title {
  color: var(--nona-plum-dark);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  letter-spacing: -0.025em;
}

.nona-section { padding: clamp(64px, 8vw, 112px) 24px; }
.nona-section--soft { background: rgba(240, 211, 155, 0.13); }
.nona-section--paper { background: var(--nona-paper); }
.nona-section--plum {
  position: relative;
  border-top: 1px solid rgba(240,211,155,.34);
  border-bottom: 1px solid rgba(240,211,155,.2);
  background-color: #62305f !important;
  background-image: linear-gradient(135deg, #74385f 0%, #62305f 52%, #552656 100%) !important;
  color: #fff;
}
.nona-section--plum h1, .nona-section--plum h2, .nona-section--plum h3,
.nona-section--plum .elementor-heading-title { color: #fff; }
.nona-section--plum .elementor-widget-text-editor { color: rgba(255,255,255,.82); }
.nona-section--plum .nona-button--outline .elementor-button {
  border-color: rgba(255,255,255,.7);
  background: rgba(255,255,255,.04);
  color: #fff;
}
.nona-section--plum .nona-button--outline .elementor-button:hover {
  border-color: #fff;
  background: rgba(255,255,255,.12);
}
.nona-narrow { max-width: 760px; margin-inline: auto; }
.nona-center { text-align: center; align-items: center; }
.nona-eyebrow { color: var(--nona-gold); font-size: 13px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.nona-lede { color: var(--nona-copy); font-size: clamp(18px, 1.5vw, 22px); line-height: 1.7; }

.nona-button .elementor-button {
  min-height: 48px;
  padding: 14px 26px;
  border: 1px solid var(--nona-plum);
  border-radius: 999px;
  background: var(--nona-plum);
  color: #fff;
  font-weight: 700;
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}
.nona-button .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(85,38,86,.2); }
.nona-button--outline .elementor-button { background: transparent; color: var(--nona-plum); }
.nona-button--gold .elementor-button { border-color: var(--nona-gold); background: var(--nona-gold); color: #241724; }

.nona-card {
  height: 100%;
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid var(--nona-border);
  border-radius: 24px;
  background: rgba(255,253,250,.94);
  box-shadow: 0 14px 45px rgba(50,25,52,.07);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.nona-card:hover { transform: translateY(-4px); border-color: rgba(189,132,48,.38); box-shadow: var(--nona-shadow); }
.nona-card-number { color: var(--nona-gold); font-size: 13px; font-weight: 800; letter-spacing: .14em; }

.nona-services-section { overflow: hidden; }
.nona-services-grid > .e-con-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 3vw, 44px);
  align-items: stretch;
}
.nona-services-grid > .e-con-inner > .nona-service-card {
  width: 100%;
  min-width: 0;
}
.nona-services-grid > .e-con-inner > .nona-service-card:nth-child(odd):last-child {
  grid-column: 1 / -1;
  justify-self: center;
  width: calc(50% - 22px);
}
.nona-service-card {
  position: relative;
  isolation: isolate;
  min-height: clamp(420px, 35vw, 540px);
  padding: clamp(34px, 4vw, 58px);
  overflow: hidden;
  border: 1px solid var(--nona-border);
  border-radius: var(--nona-radius);
  background: rgba(255,253,250,.97);
  box-shadow: 0 18px 54px rgba(50,25,52,.06);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.nona-service-card::before,
.nona-service-card::after {
  position: absolute;
  z-index: -1;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(189,132,48,.14);
  border-radius: 50%;
  content: '';
  pointer-events: none;
}
.nona-service-card::before { top: -100px; right: -92px; }
.nona-service-card::after { right: -92px; bottom: -116px; border-color: rgba(168,61,119,.14); }
.nona-service-card:hover { transform: translateY(-4px); border-color: rgba(189,132,48,.34); box-shadow: var(--nona-shadow); }
.nona-service-card-number {
  align-self: flex-start;
  width: 54px;
  height: 54px;
  margin-bottom: clamp(34px, 4vw, 64px);
  border: 1px solid var(--nona-gold);
  border-radius: 50%;
  color: var(--nona-gold);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  text-align: center;
}
.nona-service-card-number .elementor-widget-container,
.nona-service-card-number p { display: grid; height: 100%; margin: 0; place-items: center; }
.nona-service-kicker { color: var(--nona-copy); font-size: 13px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.nona-service-kicker p { display: flex; align-items: center; gap: 14px; margin-bottom: 0; }
.nona-service-kicker p::before { width: 38px; height: 1px; background: currentColor; content: ''; opacity: .8; }
.nona-service-title .elementor-heading-title { margin-top: 8px; font-size: clamp(42px, 4.1vw, 70px); line-height: 1; }
.nona-service-description { max-width: 680px; color: var(--nona-copy); font-size: clamp(17px, 1.35vw, 21px); line-height: 1.65; }
.nona-service-actions { margin-top: auto; padding-top: 24px; }
.nona-service-actions > .e-con-inner { width: 100%; }

.nona-enhancements-feature {
  background:
    radial-gradient(circle at 88% 68%, rgba(168,61,119,.08), transparent 30%),
    rgba(240,211,155,.1);
}
.nona-enhancements-grid { gap: clamp(42px, 7vw, 104px); align-items: center; }
.nona-enhancements-copy { justify-content: center; }
.nona-enhancements-eyebrow p { display: flex; align-items: center; gap: 14px; }
.nona-enhancements-eyebrow p::before { width: 38px; height: 1px; background: currentColor; content: ''; }
.nona-enhancements-title .elementor-heading-title { max-width: 640px; font-size: clamp(58px, 6.2vw, 94px); line-height: .94; }
.nona-enhancements-description { max-width: 680px; }
.nona-enhancements-art {
  padding: clamp(26px, 3.5vw, 56px);
  border-radius: clamp(28px, 4vw, 58px);
  background: rgba(235,191,213,.32);
}
.nona-enhancements-image,
.nona-enhancements-image .elementor-widget-container { width: 100%; height: 100%; }
.nona-enhancements-image .elementor-widget-container { padding: clamp(18px, 2.2vw, 34px); background: rgba(255,255,255,.92); }
.nona-enhancements-image img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }

.nona-service-contact { padding-block: clamp(92px, 11vw, 164px); background: var(--nona-ivory); }
.nona-contact-choice-inner { max-width: 1040px; margin-inline: auto; }
.nona-choice-eyebrow p { display: flex; align-items: center; justify-content: center; gap: 14px; }
.nona-choice-eyebrow p::before { width: 38px; height: 1px; background: currentColor; content: ''; }
.nona-choice-title .elementor-heading-title { max-width: 1000px; font-size: clamp(64px, 7.4vw, 116px); line-height: .92; }
.nona-choice-description { max-width: 820px; margin-inline: auto; }
.nona-choice-button { margin-top: 22px; }

.nona-service-detail-hero {
  min-height: 560px;
  padding-block: clamp(72px, 9vw, 126px);
  background:
    radial-gradient(circle at 88% 68%, rgba(168,61,119,.1), transparent 34%),
    linear-gradient(135deg, rgba(240,211,155,.12), rgba(235,191,213,.22));
}
.nona-service-hero-inner { max-width: 1200px; }
.nona-service-breadcrumbs { color: rgba(94,83,96,.72); font-size: 13px; }
.nona-service-breadcrumbs a { color: inherit; text-decoration: none; }
.nona-service-breadcrumbs a:hover { color: var(--nona-plum); text-decoration: underline; text-underline-offset: 3px; }
.nona-service-hero-layout { margin-top: 28px; gap: clamp(36px, 5vw, 72px); }
.nona-service-hero-image-wrap {
  padding: clamp(18px, 2.4vw, 30px);
  border: 1px solid rgba(189,132,48,.24);
  border-radius: clamp(24px, 3vw, 38px);
  background: rgba(255,253,250,.78);
  box-shadow: 0 22px 62px rgba(50,25,52,.09);
}
.nona-service-hero-image,
.nona-service-hero-image .elementor-widget-container { width: 100%; }
.nona-service-hero-image .elementor-widget-container {
  overflow: hidden;
  border-radius: clamp(16px, 2vw, 26px);
  background: #fff;
}
.nona-service-hero-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}
.nona-service-hero-content { justify-content: center; }
.nona-service-detail-eyebrow p { display: flex; align-items: center; gap: 14px; }
.nona-service-detail-eyebrow p::before { width: 38px; height: 1px; background: currentColor; content: ''; }
.nona-service-detail-title .elementor-heading-title { font-size: clamp(64px, 7vw, 108px); line-height: .88; }
.nona-service-detail-lede { max-width: 820px; }

.nona-service-detail-body {
  position: relative;
  overflow: clip;
  background: var(--nona-paper);
}
.nona-service-detail-body::after {
  position: absolute;
  top: 70px;
  right: -140px;
  width: 500px;
  height: 500px;
  border: 1px solid rgba(189,132,48,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(240,211,155,.07), 0 0 0 140px rgba(168,61,119,.035);
  content: '';
  pointer-events: none;
}
.nona-service-detail-grid { position: relative; z-index: 1; gap: clamp(48px, 7vw, 100px); }
.nona-service-detail-copy { max-width: 760px; }
.nona-service-detail-intro-title .elementor-heading-title { font-size: clamp(50px, 5vw, 78px); line-height: .98; }
.nona-service-detail-prose { color: var(--nona-copy); font-size: 18px; line-height: 1.8; }
.nona-service-detail-prose p + p { margin-top: 1.25em; }
.nona-service-audience-title,
.nona-service-wellness-title { margin-top: clamp(58px, 7vw, 94px); }
.nona-service-audience-title .elementor-heading-title,
.nona-service-wellness-title .elementor-heading-title { font-size: clamp(40px, 4.2vw, 62px); line-height: 1; }
.nona-service-audience-list { color: var(--nona-copy); font-size: 17px; line-height: 1.75; }
.nona-service-audience-list ul { margin: 0; padding-left: 1.2em; }
.nona-service-audience-list li + li { margin-top: 8px; }
.nona-service-wellness-copy { max-width: 720px; font-size: 16px; line-height: 1.75; }

.nona-journal-grid .elementor-posts-container {
  align-items: stretch;
  gap: clamp(24px, 3vw, 38px);
}
.nona-journal-grid article.elementor-post {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--nona-border);
  border-radius: var(--nona-radius);
  background: rgba(255,253,250,.98);
  box-shadow: 0 16px 48px rgba(50,25,52,.07);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.nona-journal-grid article.elementor-post:hover {
  transform: translateY(-4px);
  border-color: rgba(189,132,48,.34);
  box-shadow: var(--nona-shadow);
}
.nona-journal-grid .elementor-post__thumbnail__link {
  margin: 0 !important;
  overflow: hidden;
  background: rgba(240,211,155,.12);
}
.nona-journal-grid .elementor-post__thumbnail {
  height: auto;
  padding-bottom: 0 !important;
  aspect-ratio: 4 / 3;
}
.nona-journal-grid .elementor-post__thumbnail img {
  position: static !important;
  display: block;
  width: 100%;
  height: 100%;
  transform: none !important;
  object-fit: cover;
  transition: transform 300ms ease !important;
}
.nona-journal-grid article.elementor-post:hover .elementor-post__thumbnail img { transform: scale(1.025) !important; }
.nona-journal-grid .elementor-post__text {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(24px, 2.5vw, 34px);
}
.nona-journal-grid .elementor-post__title { margin: 0; }
.nona-journal-grid .elementor-post__title a {
  color: var(--nona-plum-dark);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(30px, 2.8vw, 42px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.025em;
}
.nona-journal-grid .elementor-post__meta-data {
  margin-top: 14px;
  color: var(--nona-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nona-journal-grid .elementor-post__meta-data span + span::before { color: rgba(85,38,86,.3); }
.nona-journal-grid .elementor-post__excerpt {
  flex: 1;
  margin-top: 18px;
  color: var(--nona-copy);
  font-size: 16px;
  line-height: 1.7;
}
.nona-journal-grid .elementor-post__excerpt p { margin: 0; }
.nona-journal-grid .elementor-post__read-more {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  padding: 11px 22px;
  border: 1px solid var(--nona-plum);
  border-radius: 999px;
  background: var(--nona-plum);
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}
.nona-journal-grid .elementor-post__read-more:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(85,38,86,.2);
}
.nona-journal-grid .elementor-pagination { margin-top: 48px; }
.nona-journal-grid .page-numbers {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nona-border);
  border-radius: 999px;
}
.nona-journal-grid .page-numbers.current { border-color: var(--nona-plum); background: var(--nona-plum); color: #fff; }

.nona-service-booking-rail { position: relative; }
.nona-service-booking-card {
  position: sticky;
  top: 112px;
  isolation: isolate;
  padding: clamp(30px, 3.6vw, 48px);
  border: 1px solid var(--nona-border);
  border-radius: 26px;
  background: rgba(255,253,250,.98);
  box-shadow: var(--nona-shadow);
}
.nona-service-booking-card::before,
.nona-service-booking-card::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 1px solid rgba(85,38,86,.1);
  border-radius: inherit;
  background: rgba(255,253,250,.9);
  content: '';
}
.nona-service-booking-card::before { transform: translateY(14px) scale(.96); }
.nona-service-booking-card::after { transform: translateY(28px) scale(.91); opacity: .7; }
.nona-service-booking-title .elementor-heading-title { font-size: clamp(38px, 3.4vw, 54px); line-height: 1; }
.nona-service-booking-card .elementor-widget-button { width: 100%; }
.nona-service-booking-card .elementor-button { width: 100%; }

.nona-first-visit-hero {
  min-height: 590px;
  padding-block: clamp(72px, 9vw, 126px);
  background:
    radial-gradient(circle at 90% 92%, rgba(168,61,119,.1), transparent 32%),
    linear-gradient(135deg, rgba(240,211,155,.12), rgba(235,191,213,.2));
}
.nona-first-visit-hero-inner { max-width: 1040px; }
.nona-first-visit-title .elementor-heading-title { max-width: 980px; font-size: clamp(72px, 8.4vw, 128px); line-height: .88; }
.nona-first-visit-lede { max-width: 780px; }
.nona-first-visit-steps {
  position: relative;
  overflow: hidden;
  background: var(--nona-paper);
}
.nona-first-visit-steps::after {
  position: absolute;
  top: -100px;
  right: -120px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(189,132,48,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 58px rgba(240,211,155,.08), 0 0 0 116px rgba(168,61,119,.035);
  content: '';
  pointer-events: none;
}
.nona-first-visit-step-grid { position: relative; z-index: 1; }
.nona-first-visit-step-grid > .e-con-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 36px);
  align-items: stretch;
}
.nona-first-visit-step-grid > .e-con-inner > .nona-first-visit-step { width: 100%; min-width: 0; }
.nona-first-visit-step {
  min-height: 300px;
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid var(--nona-border);
  border-radius: 24px;
  background: rgba(255,253,250,.97);
  box-shadow: 0 16px 48px rgba(50,25,52,.06);
}
.nona-first-visit-step-number {
  width: 50px;
  height: 50px;
  margin-bottom: 28px;
  border: 1px solid var(--nona-gold);
  border-radius: 50%;
  color: var(--nona-gold);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 19px;
  text-align: center;
}
.nona-first-visit-step-number .elementor-widget-container,
.nona-first-visit-step-number p { display: grid; height: 100%; margin: 0; place-items: center; }
.nona-first-visit-step .elementor-heading-title { font-size: clamp(34px, 3vw, 46px); line-height: 1; }
.nona-first-visit-step .elementor-widget-text-editor { line-height: 1.7; }

.nona-first-visit-detail {
  background:
    radial-gradient(circle at 88% 78%, rgba(168,61,119,.07), transparent 30%),
    rgba(240,211,155,.09);
}
.nona-first-visit-detail-grid { gap: clamp(48px, 7vw, 100px); }
.nona-first-visit-detail-copy { max-width: 760px; }
.nona-first-visit-section-title { margin-top: clamp(52px, 6vw, 82px); }
.nona-first-visit-detail-copy > .e-con-inner > .nona-first-visit-section-title:first-of-type { margin-top: 20px; }
.nona-first-visit-section-title .elementor-heading-title { font-size: clamp(44px, 4.6vw, 68px); line-height: 1; }
.nona-first-visit-copy { color: var(--nona-copy); font-size: 17px; line-height: 1.8; }

.nona-faq-hero {
  min-height: 540px;
  padding-block: clamp(72px, 8vw, 112px);
  background:
    radial-gradient(circle at 88% 76%, rgba(168,61,119,.08), transparent 32%),
    linear-gradient(135deg, rgba(240,211,155,.12), rgba(235,191,213,.2));
}
.nona-faq-hero-inner { max-width: 1120px; }
.nona-faq-title .elementor-heading-title {
  max-width: 930px;
  font-size: clamp(76px, 8.5vw, 132px);
  line-height: .88;
}
.nona-faq-lede { max-width: 760px; }
.nona-faq-body {
  position: relative;
  overflow: hidden;
  background: var(--nona-paper);
}
.nona-faq-body::after {
  position: absolute;
  top: 8%;
  right: -170px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(189,132,48,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(240,211,155,.08), 0 0 0 140px rgba(168,61,119,.04);
  content: '';
  pointer-events: none;
}
.nona-faq-list { position: relative; z-index: 1; max-width: 900px; margin-inline: auto; }
.nona-faq-accordion .elementor-accordion-item {
  border: 0 !important;
  border-top: 1px solid var(--nona-border) !important;
}
.nona-faq-accordion .elementor-accordion-item:last-child { border-bottom: 1px solid var(--nona-border) !important; }
.nona-faq-accordion .elementor-tab-title {
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: flex-start;
  padding: 22px 0 !important;
  color: var(--nona-plum-dark) !important;
}
.nona-faq-accordion .elementor-accordion-title {
  display: block;
  flex: 1 1 auto;
  order: 1;
  width: auto !important;
  text-align: left;
  color: inherit !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(25px, 2.3vw, 34px);
  font-weight: 500;
  line-height: 1.2;
}
.nona-faq-accordion .elementor-accordion-icon {
  display: none !important;
}
.nona-faq-accordion .elementor-tab-title::after {
  flex: 0 0 auto;
  order: 2;
  margin-left: 24px;
  color: var(--nona-gold);
  content: '+';
  font-family: Manrope, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
}
.nona-faq-accordion .elementor-tab-title[aria-expanded='true']::after {
  content: '\2212';
}
.nona-faq-accordion .elementor-tab-title:focus-visible {
  border-radius: 8px;
  outline: 3px solid var(--nona-gold);
  outline-offset: 4px;
}
.nona-faq-accordion .elementor-tab-content {
  padding: 0 58px 26px 0 !important;
  border-top: 0 !important;
  color: var(--nona-copy);
  font-size: 16px;
  line-height: 1.75;
}
.nona-faq-contact {
  background:
    radial-gradient(circle at 15% 50%, rgba(240,211,155,.12), transparent 30%),
    rgba(235,191,213,.13);
}
.nona-faq-contact-inner { max-width: 820px; margin-inline: auto; }
.nona-faq-contact-title .elementor-heading-title { font-size: clamp(62px, 7vw, 100px); line-height: .95; }
.nona-faq-contact-copy { max-width: 680px; margin-inline: auto; }
.nona-faq-contact-actions { width: 100%; margin-top: 18px; justify-content: center !important; }
.nona-faq-contact-actions > .e-con-inner { justify-content: center; }

.nona-whole-person-photo-wrap { align-items: center; justify-content: center; }
.nona-whole-person-photo { width: min(100%, 476px); margin-inline: auto; }
.nona-whole-person-photo img {
  width: 100%;
  aspect-ratio: 3 / 4;
  border: 1px solid rgba(189,132,48,.2);
  border-radius: 32px;
  box-shadow: var(--nona-shadow);
  object-fit: cover;
  object-position: 50% 42%;
}

.nona-hero { min-height: 0; padding: clamp(34px, 4vh, 52px) 24px 20px; }
.nona-hero-grid { gap: clamp(36px, 6vw, 84px); align-items: center; }
.nona-hero-copy { max-width: 680px; }
.nona-hero-copy > .e-con-inner { gap: 16px; }
.nona-hero-title .elementor-heading-title { font-size: clamp(60px, 7vw, 112px); line-height: .88; }
.nona-hero-title em { color: var(--nona-magenta); font-weight: 500; }
.nona-hero-actions { gap: 14px; flex-wrap: wrap; }
.nona-hero-art {
  position: relative;
  width: min(100%, clamp(390px, 48vh, 600px));
  aspect-ratio: 1;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(189,132,48,.25);
  border-radius: 38px;
  background: radial-gradient(circle at 50% 45%, #fff 0 42%, rgba(240,211,155,.18) 70%, rgba(168,61,119,.08) 100%);
  box-shadow: var(--nona-shadow);
}
.nona-hero-video, .nona-hero-video .elementor-widget-container, .nona-hero-video .elementor-wrapper { height: 100%; }
.nona-hero-video video { width: 100%; height: 100%; object-fit: contain; }
.nona-hero-word { position: absolute; z-index: 3; width: auto; opacity: 0; animation: nona-word-in 8s ease-in-out infinite; }
.nona-hero-word .elementor-heading-title {
  padding: 9px 18px;
  border: 1px solid rgba(189,132,48,.35);
  border-radius: 999px;
  background: rgba(255,253,250,.9);
  box-shadow: 0 8px 24px rgba(50,25,52,.08);
  color: var(--nona-plum);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(22px, 2vw, 34px);
  backdrop-filter: blur(8px);
}
.nona-word-mind { top: 5%; left: 5%; animation-delay: 0s; }
.nona-word-body { top: 5%; right: 5%; animation-delay: 1.5s; }
.nona-word-spirit { bottom: 5%; left: 5%; animation-delay: 3s; }
.nona-word-faith { right: 5%; bottom: 5%; animation-delay: 4.5s; }
@keyframes nona-word-in { 0%,12% { opacity: 0; transform: translateY(8px); } 22%,70% { opacity: 1; transform: none; } 82%,100% { opacity: 0; transform: translateY(-6px); } }

.nona-trust-row { margin-top: clamp(16px, 2.5vh, 28px); border-top: 1px solid var(--nona-border); border-bottom: 1px solid var(--nona-border); }
.nona-trust-row > .e-con-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 0; }
.nona-trust-item { padding: 14px 28px; text-align: center; }
.nona-trust-item + .nona-trust-item { border-left: 1px solid var(--nona-border); }
.nona-trust-item .elementor-heading-title { font-family: 'Manrope', sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 0; }
.nona-trust-item .elementor-heading-title::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: var(--nona-gold); box-shadow: 0 0 0 6px rgba(189,132,48,.12); }

.nona-header { padding: 14px 24px; border-bottom: 1px solid var(--nona-border); background: rgba(255,249,242,.94); backdrop-filter: blur(14px); }
.nona-header-inner > .e-con-inner { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; gap: 26px; }
.nona-header-inner > .e-con-inner > .e-con { width: auto; min-width: 0; }
.nona-header .elementor-widget-theme-site-logo img {
  width: min(100%, 310px);
  max-height: 68px;
  object-fit: contain;
  object-position: left center;
}
.nona-header .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; justify-content: center; }
.nona-header .elementor-nav-menu a { min-height: 44px; padding-inline: 14px; color: var(--nona-plum-dark); font-weight: 700; white-space: nowrap; }
.nona-footer { padding: 72px 24px 28px; background: var(--nona-plum-dark); color: rgba(255,255,255,.8); }
.nona-footer .elementor-heading-title, .nona-footer a { color: #fff; }

.nona-prose { font-size: 18px; line-height: 1.85; }
.nona-prose h2 { margin-top: 1.8em; font-size: clamp(34px, 4vw, 52px); }
.nona-prose a { color: var(--nona-magenta); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nona-form .elementor-field { min-height: 48px; border: 1px solid rgba(85,38,86,.25); border-radius: 12px; background: #fff; }
.nona-form .elementor-field:focus { border-color: var(--nona-plum); box-shadow: 0 0 0 3px rgba(85,38,86,.12); outline: 0; }

:focus-visible { outline: 3px solid var(--nona-gold); outline-offset: 3px; }

@media (min-width: 1025px) and (max-height: 850px) {
  .nona-hero { padding-top: 24px; padding-bottom: 14px; }
  .nona-hero-grid { gap: clamp(30px, 4vw, 56px); }
  .nona-hero-copy > .e-con-inner { gap: 12px; }
  .nona-hero-title .elementor-heading-title { font-size: clamp(60px, 6vw, 80px); }
  .nona-hero-art { width: min(100%, 390px); }
  .nona-hero-actions .elementor-button { min-height: 46px; padding-block: 12px; }
  .nona-trust-row { margin-top: 14px; }
  .nona-trust-item { padding-block: 10px; }
}

@media (max-width: 1024px) {
  .nona-hero-grid { flex-direction: column; }
  .nona-hero-copy, .nona-hero-art { width: 100%; max-width: 760px; }
  .nona-hero-title .elementor-heading-title { font-size: clamp(58px, 10vw, 88px); }
  .nona-services-grid > .e-con-inner { grid-template-columns: 1fr; }
  .nona-services-grid > .e-con-inner > .nona-service-card:nth-child(odd):last-child { grid-column: auto; width: 100%; }
  .nona-service-card { min-height: 440px; }
  .nona-enhancements-grid { flex-direction: column; }
  .nona-enhancements-copy, .nona-enhancements-art { width: 100%; max-width: 760px; margin-inline: auto; }
  .nona-service-detail-grid { flex-direction: column; }
  .nona-service-detail-copy, .nona-service-booking-rail { width: 100%; max-width: 760px; margin-inline: auto; }
  .nona-service-hero-layout { flex-direction: column; }
  .nona-service-hero-image-wrap, .nona-service-hero-content { width: 100%; max-width: 760px; margin-inline: auto; }
  .nona-service-hero-image-wrap { max-width: 560px; }
  .nona-service-booking-card { position: static; }
  .nona-first-visit-step-grid > .e-con-inner { grid-template-columns: 1fr; }
  .nona-first-visit-step { min-height: 0; }
  .nona-first-visit-detail-grid { flex-direction: column; }
  .nona-first-visit-detail-copy, .nona-first-visit-detail-grid .nona-service-booking-rail { width: 100%; max-width: 760px; margin-inline: auto; }
  .nona-faq-title .elementor-heading-title { font-size: clamp(70px, 11vw, 104px); }
}
@media (max-width: 767px) {
  .nona-section { padding: 56px 20px; }
  .nona-hero { min-height: 0; padding: 46px 20px 28px; }
  .nona-hero-title .elementor-heading-title { font-size: clamp(50px, 16vw, 72px); }
  .nona-hero-art { border-radius: 24px; }
  .nona-hero-word .elementor-heading-title { padding: 6px 12px; font-size: 20px; }
  .nona-trust-row > .e-con-inner { grid-template-columns: 1fr; }
  .nona-trust-item + .nona-trust-item { border-top: 1px solid var(--nona-border); border-left: 0; }
  .nona-header { padding: 10px 16px; }
  .nona-header-inner > .e-con-inner { display: grid; grid-template-columns: auto 1fr; gap: 12px; }
  .nona-header-inner > .e-con-inner > .e-con { width: auto; min-width: 0; }
  .nona-header-inner > .e-con-inner > .e-con:nth-child(2) { justify-self: end; }
  .nona-header-inner > .e-con-inner > .e-con:last-child { display: none; }
  .nona-header .elementor-widget-theme-site-logo img { max-width: 58px; max-height: 58px; }
  .nona-services-grid > .e-con-inner { gap: 22px; }
  .nona-service-card { min-height: 0; padding: 30px 24px; border-radius: 22px; }
  .nona-service-card-number { margin-bottom: 34px; }
  .nona-service-title .elementor-heading-title { font-size: clamp(40px, 12vw, 54px); }
  .nona-service-actions .elementor-widget-button { flex: 1 1 140px; }
  .nona-service-actions .elementor-button { width: 100%; min-height: 50px; }
  .nona-enhancements-grid { gap: 36px; }
  .nona-enhancements-title .elementor-heading-title { font-size: clamp(48px, 15vw, 66px); }
  .nona-enhancements-art { padding: 22px; border-radius: 28px; }
  .nona-service-contact { padding-block: 76px; }
  .nona-choice-title .elementor-heading-title { font-size: clamp(52px, 15vw, 70px); }
  .nona-service-detail-hero { min-height: 0; padding-block: 64px; }
  .nona-service-detail-title .elementor-heading-title { font-size: clamp(60px, 18vw, 84px); }
  .nona-service-detail-intro-title .elementor-heading-title { font-size: clamp(44px, 13vw, 60px); }
  .nona-service-detail-prose { font-size: 17px; }
  .nona-service-booking-card { padding: 28px 22px; border-radius: 22px; }
  .nona-first-visit-hero { min-height: 0; padding-block: 64px; }
  .nona-first-visit-title .elementor-heading-title { font-size: clamp(58px, 17vw, 82px); }
  .nona-first-visit-step { padding: 28px 24px; }
  .nona-first-visit-section-title .elementor-heading-title { font-size: clamp(40px, 12vw, 54px); }
  .nona-faq-hero { min-height: 0; padding-block: 64px; }
  .nona-faq-title .elementor-heading-title { font-size: clamp(58px, 17vw, 80px); }
  .nona-faq-body::after { right: -330px; opacity: .65; }
  .nona-faq-accordion .elementor-tab-title { min-height: 68px; padding-block: 18px !important; }
  .nona-faq-accordion .elementor-accordion-title { font-size: 25px; }
  .nona-faq-accordion .elementor-tab-content { padding-right: 36px !important; }
  .nona-faq-contact-actions .elementor-widget-button { width: 100%; }
  .nona-faq-contact-actions .elementor-button { width: 100%; }
  .nona-whole-person-photo { width: min(100%, 420px); }
  .nona-whole-person-photo img { border-radius: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .nona-hero-word { opacity: 1; transform: none; }
}
