:root {
  --ink: #382348;
  --ink-soft: #66566f;
  --aubergine: #25152f;
  --paper: #fffbfd;
  --pearl: #fff7fb;
  --lilac: #e8ddf7;
  --violet: #a36ed0;
  --blush: #f6d9e6;
  --apricot: #ffe0c4;
  --mint: #cfeadf;
  --sage: #598477;
  --line: rgba(56, 35, 72, 0.15);
  --sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  --serif: Iowan Old Style, Baskerville, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body {
  overflow-x: hidden;
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
body.intro-running { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #75509b; outline-offset: 4px; }

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

.skip-link {
  position: fixed;
  z-index: 5000;
  top: 0.7rem;
  left: 0.7rem;
  padding: 0.8rem 1rem;
  border-radius: 0.4rem;
  color: #fff;
  background: var(--aubergine);
  text-decoration: none;
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

/* 4.3-second cinematic opening: colour detonates from base to crown, then reveals the supplied identity */
.welcome {
  position: fixed;
  z-index: 5000;
  inset: 0;
  display: grid;
  min-height: 100svh;
  place-items: center;
  overflow: clip;
  padding: clamp(2rem, 6vw, 5rem);
  color: #fff;
  background:
    radial-gradient(circle at 76% 52%, rgba(166, 107, 224, 0.2), transparent 23rem),
    radial-gradient(circle at 18% 42%, rgba(105, 221, 160, 0.12), transparent 30rem),
    linear-gradient(145deg, #100818, #25122f 48%, #100818);
  isolation: isolate;
  animation: introExit 680ms 3.65s cubic-bezier(.77, 0, .18, 1) forwards;
}

.welcome[hidden] { display: none; }
.welcome--skip { animation: introExit 320ms cubic-bezier(.77, 0, .18, 1) forwards !important; }

.welcome::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.16;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  content: "";
  mix-blend-mode: screen;
}

.welcome::after {
  position: absolute;
  z-index: -1;
  inset: -25%;
  background: conic-gradient(from 180deg at 70% 52%, transparent 0 20%, rgba(103,199,242,.12), rgba(166,107,224,.17), transparent 46% 68%, rgba(255,154,66,.08), transparent 84%);
  content: "";
  filter: blur(42px);
  transform: rotate(-8deg);
}

.welcome__wash {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: min(70vw, 860px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  box-shadow:
    0 0 0 5.5rem rgba(255, 255, 255, 0.025),
    0 0 0 11rem rgba(255, 255, 255, 0.018),
    0 0 11rem rgba(166, 107, 224, 0.18);
  transform: translate(-50%, -50%);
}

.spectrum {
  position: absolute;
  top: clamp(2.6rem, 6vh, 4.5rem);
  bottom: clamp(2.6rem, 6vh, 4.5rem);
  left: 50%;
  display: flex;
  width: 8rem;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: space-between;
  transform: translateX(-50%);
}

.spectrum__line {
  position: absolute;
  top: 1.5rem;
  bottom: 1.5rem;
  left: 50%;
  width: 3px;
  background: linear-gradient(to top, #ff3f4a, #ff963f, #ffe669, #62eca0, #5fd8ff, #6c7cff, #c46fff);
  box-shadow: 0 0 1.5rem rgba(255,255,255,.65), 0 0 5rem rgba(166,107,224,.45);
  transform: translateX(-50%);
}

.spectrum__node {
  position: relative;
  z-index: 2;
  display: block;
  width: clamp(1.65rem, 2.6vw, 2.35rem);
  aspect-ratio: 1;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  background: var(--spectrum-colour);
  box-shadow: 0 0 1.6rem #fff, 0 0 3rem var(--spectrum-colour), 0 0 8rem color-mix(in srgb, var(--spectrum-colour) 88%, transparent);
}
.spectrum__node::before {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: .55rem;
  height: min(22vh, 12rem);
  background: linear-gradient(to bottom, var(--spectrum-colour), color-mix(in srgb, var(--spectrum-colour) 38%, transparent) 28%, transparent 100%);
  content: "";
  filter: blur(5px);
  opacity: .8;
  transform: translateX(-50%);
}
.spectrum__node::after {
  position: absolute;
  inset: -1.25rem;
  border: 2px solid color-mix(in srgb, var(--spectrum-colour) 72%, transparent);
  border-radius: 50%;
  content: "";
}
.spectrum__node--red { --spectrum-colour: #ff4b55; }
.spectrum__node--orange { --spectrum-colour: #ff9a42; }
.spectrum__node--yellow { --spectrum-colour: #ffe268; }
.spectrum__node--green { --spectrum-colour: #69dda0; }
.spectrum__node--blue { --spectrum-colour: #67c7f2; }
.spectrum__node--indigo { --spectrum-colour: #6676de; }
.spectrum__node--violet { --spectrum-colour: #a66be0; }

.spectrum__crown {
  position: absolute;
  z-index: 3;
  top: -1.2rem;
  left: 50%;
  width: clamp(4.5rem, 8vw, 8rem);
  aspect-ratio: 1;
  border: 2px solid rgba(255,255,255,.82);
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0 4%, #d99cff 10%, rgba(166,107,224,.46) 22%, transparent 66%);
  box-shadow: 0 0 2rem #fff, 0 0 7rem #c46fff, 0 0 14rem rgba(103,199,242,.82);
  transform: translate(-50%, -50%) scale(0);
}
.spectrum__crown::before,
.spectrum__crown::after {
  position: absolute;
  inset: -45%;
  background: repeating-conic-gradient(from 0deg, rgba(255,255,255,.9) 0 1deg, transparent 1deg 15deg);
  content: "";
  filter: blur(.5px);
  -webkit-mask: radial-gradient(circle, transparent 0 38%, #000 40% 44%, transparent 46%);
  mask: radial-gradient(circle, transparent 0 38%, #000 40% 44%, transparent 46%);
}
.spectrum__crown::after { inset: -95%; opacity: .42; transform: rotate(7deg); }

.entry__lockup {
  display: grid;
  z-index: 5;
  width: min(1080px, 92vw);
  place-items: center;
  text-align: center;
}
.entry__brand-banner {
  width: min(1000px, 90vw);
  height: auto;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: clamp(1.1rem, 3vw, 2.8rem);
  box-shadow: 0 0 2rem rgba(255,255,255,.36), 0 0 7rem rgba(166,107,224,.46), 0 34px 100px rgba(0,0,0,.38);
}
.entry__signal {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: clamp(1.2rem, 3vh, 2rem);
  color: rgba(255,255,255,.5);
}
.entry__signal i { width: 2.6rem; height: 1px; background: linear-gradient(90deg, transparent, var(--mint)); }
.entry__signal i:last-child { background: linear-gradient(90deg, var(--mint), transparent); }
.entry__signal b { font-size: .58rem; font-weight: 720; letter-spacing: .2em; text-transform: uppercase; }
.entry__skip {
  position: absolute;
  right: clamp(1.2rem, 3vw, 2.5rem);
  bottom: clamp(1.2rem, 3vw, 2.5rem);
  min-height: 44px;
  align-content: center;
  color: rgba(255, 255, 255, 0.52);
  font-size: 0.68rem;
  text-underline-offset: 0.3rem;
}
.entry__counter {
  position: absolute;
  bottom: clamp(1.2rem, 3vw, 2.5rem);
  left: clamp(1.2rem, 3vw, 2.5rem);
  margin: 0;
  color: rgba(255, 255, 255, 0.38);
  font-size: 0.66rem;
  letter-spacing: 0.16em;
}
.entry__counter span { color: var(--mint); }

@media (prefers-reduced-motion: no-preference) {
  .spectrum { animation: spectrumFade 380ms 1.86s ease forwards; }
  .spectrum__line { animation: spectrumLine 1.55s .08s cubic-bezier(.12,.8,.2,1) both; transform-origin: bottom; }
  .spectrum__node { animation: spectrumNode 570ms calc(.05s + var(--order) * .18s) cubic-bezier(.12,.82,.22,1.45) both; }
  .spectrum__node::after { animation: spectrumPulse 920ms calc(.24s + var(--order) * .18s) ease-out both; }
  .spectrum__crown { animation: crownBurst 800ms 1.3s cubic-bezier(.12,.82,.22,1.35) both; }
  .entry__brand-banner { animation: identityReveal 720ms 1.72s cubic-bezier(.16,.86,.25,1) both; }
  .entry__signal { animation: brandArrive 440ms 2.3s ease both; }
  .welcome__wash { animation: washIgnite 1.8s .3s ease both; }
}

@keyframes spectrumLine { from { opacity: 0; transform: translateX(-50%) scaleY(0); } to { opacity: 1; transform: translateX(-50%) scaleY(1); } }
@keyframes spectrumNode { from { opacity: 0; filter: brightness(4); transform: translateY(46vh) scale(0.02); } 58% { opacity: 1; transform: translateY(-14px) scale(2.4); } to { opacity: 1; filter: brightness(1.3); transform: translateY(0) scale(1); } }
@keyframes spectrumPulse { from { opacity: 1; transform: scale(.08); } to { opacity: 0; transform: scale(6.8); } }
@keyframes spectrumFade { to { opacity: 0; filter: blur(18px); transform: translateX(-50%) scale(1.2); } }
@keyframes crownBurst { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.05) rotate(-18deg); } 46% { opacity: 1; transform: translate(-50%,-50%) scale(2.5) rotate(6deg); } 100% { opacity: 0; transform: translate(-50%,-50%) scale(4.2) rotate(18deg); } }
@keyframes identityReveal { from { opacity: 0; filter: blur(28px) brightness(2.2); clip-path: inset(0 50% 0 50% round 2rem); transform: scale(.84); } 62% { opacity: 1; filter: blur(0) brightness(1.18); clip-path: inset(0 0 0 0 round 2rem); transform: scale(1.025); } to { opacity: 1; filter: blur(0) brightness(1); clip-path: inset(0 0 0 0 round 2rem); transform: scale(1); } }
@keyframes brandArrive { from { opacity: 0; filter: blur(18px); transform: translateY(24px) scale(.96); } to { opacity: 1; filter: blur(0); transform: translateY(0) scale(1); } }
@keyframes washIgnite { from { opacity: 0; transform: translate(-50%,-50%) scale(.35); } to { opacity: 1; transform: translate(-50%,-50%) scale(1); } }
@keyframes introExit { 0% { opacity: 1; clip-path: inset(0 0 0 0); } 58% { opacity: 1; } 100% { visibility: hidden; opacity: 0; clip-path: inset(0 0 100% 0); pointer-events: none; } }

.site-shell { background: var(--paper); }
.preview-note {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.35rem 1rem;
  color: rgba(255, 255, 255, 0.72);
  background: var(--aubergine);
  font-size: 0.63rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-align: center;
}
.preview-note > span {
  width: 0.46rem;
  height: 0.46rem;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 1rem var(--mint);
}

.site-header {
  position: sticky;
  z-index: 200;
  top: 0;
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 0.85rem clamp(1.2rem, 5vw, 5rem);
  border-bottom: 1px solid rgba(56, 35, 72, 0.09);
  background: rgba(255, 251, 253, 0.84);
  backdrop-filter: blur(22px) saturate(1.3);
}
.wordmark {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
}
.wordmark__logo {
  width: 3.6rem;
  height: 2.7rem;
  padding: .18rem;
  border-radius: .55rem;
  background: rgba(255,255,255,.9);
  object-fit: contain;
  mix-blend-mode: multiply;
}
.wordmark__symbol {
  display: grid;
  width: 2.5rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(56, 35, 72, 0.14);
  border-radius: 50%;
  color: var(--violet);
  background: linear-gradient(145deg, #fff, var(--lilac));
}
.wordmark strong, .wordmark small { display: block; }
.wordmark strong { font-family: var(--serif); font-size: 1rem; font-weight: 500; line-height: 1; }
.wordmark small { margin-top: 0.25rem; color: var(--sage); font-size: 0.5rem; font-weight: 760; letter-spacing: 0.22em; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2.2vw, 2.4rem); }
.site-nav a { min-height: 44px; align-content: center; font-size: 0.72rem; font-weight: 680; text-decoration: none; }
.site-nav > a:not(.nav-cta) { color: rgba(56, 35, 72, 0.66); }
.site-nav > a:not(.nav-cta):hover { color: var(--ink); }
.nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0.45rem 0.55rem 0.45rem 1rem;
  border-radius: 999px;
  color: #fff;
  background: var(--aubergine);
}
.nav-cta span { display: grid; width: 34px; aspect-ratio: 1; place-items: center; border-radius: 50%; color: var(--ink); background: var(--mint); }
.menu-toggle { display: none; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; background: #fff; }
.menu-toggle i { display: block; width: 1.25rem; height: 1px; margin: 0.32rem auto; background: var(--ink); transition: transform 180ms ease; }

.hero {
  position: relative;
  display: grid;
  min-height: max(760px, calc(100svh - 112px));
  align-items: center;
  overflow: clip;
  padding: clamp(7rem, 13vw, 11rem) clamp(1.25rem, 8vw, 8rem) 8rem;
  isolation: isolate;
}
.hero__image { position: absolute; z-index: -3; inset: 0; }
.hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__veil {
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 251, 253, 0.99) 0%, rgba(255, 251, 253, 0.93) 32%, rgba(255, 251, 253, 0.42) 64%, rgba(255, 251, 253, 0.06) 100%);
}
.hero__copy { width: min(780px, 63vw); }
.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0 0 1.15rem;
  color: var(--sage);
  font-size: 0.67rem;
  font-weight: 760;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.eyebrow > span { color: var(--violet); }
.hero h1,
.manifesto h2,
.experience h2,
.practice-visual h2,
.booking h2,
.questions h2,
.finale h2,
.preview-dialog h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.94;
}
.hero h1 { font-size: clamp(4.3rem, 8.5vw, 9rem); }
.hero h1 em,
.manifesto h2 em,
.finale h2 em { color: var(--violet); font-weight: 400; }
.hero__lead { max-width: 480px; margin: 1.7rem 0 0; color: var(--ink-soft); font-size: clamp(1rem, 1.4vw, 1.18rem); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2.2rem; }
.button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: 0.75rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 740;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.button:hover { transform: translateY(-2px); }
.button--light { color: #fff; background: var(--aubergine); box-shadow: 0 16px 38px rgba(37, 21, 47, 0.18); }
.button--light span { color: var(--mint); }
.button--quiet { border-color: rgba(56, 35, 72, 0.16); color: var(--ink); background: rgba(255, 255, 255, 0.54); backdrop-filter: blur(12px); }
.hero__footer {
  position: absolute;
  bottom: 2.1rem;
  left: clamp(1.25rem, 8vw, 8rem);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: rgba(56, 35, 72, 0.5);
  font-size: 0.59rem;
  font-weight: 720;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.hero__footer i { width: 2.3rem; height: 1px; background: rgba(56, 35, 72, 0.18); }
.hero__concept-note {
  position: absolute;
  right: clamp(1.25rem, 4vw, 4rem);
  bottom: 4.4rem;
  margin: 0;
  color: rgba(56,35,72,.48);
  font-size: .58rem;
  letter-spacing: .05em;
}
.replay-intro {
  position: absolute;
  right: clamp(1.25rem, 4vw, 4rem);
  bottom: 1.5rem;
  min-height: 44px;
  border: 0;
  color: rgba(56, 35, 72, 0.58);
  background: transparent;
  font-size: 0.64rem;
  cursor: pointer;
}

.brand-banner {
  position: relative;
  display: grid;
  min-height: 590px;
  place-items: center;
  overflow: clip;
  padding: clamp(4rem, 9vw, 8rem) clamp(1rem, 7vw, 7rem);
  background:
    radial-gradient(circle at 10% 70%, rgba(207,234,223,.84), transparent 26rem),
    radial-gradient(circle at 90% 22%, rgba(232,221,247,.92), transparent 28rem),
    #fffafd;
}
.brand-banner__glow {
  position: absolute;
  width: min(72vw, 920px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,224,196,.58), rgba(246,217,230,.28) 28%, transparent 68%);
  filter: blur(36px);
}
.brand-banner img {
  position: relative;
  width: min(1180px, 94vw);
  height: auto;
  border: 1px solid rgba(56,35,72,.09);
  border-radius: clamp(1.25rem, 3vw, 3rem);
  box-shadow: 0 36px 110px rgba(72,43,88,.16), 0 0 0 1rem rgba(255,255,255,.2);
}

.manifesto {
  position: relative;
  display: grid;
  min-height: 800px;
  grid-template-columns: 0.85fr 0.65fr;
  align-items: center;
  gap: clamp(3rem, 9vw, 10rem);
  padding: clamp(7rem, 12vw, 12rem) clamp(1.25rem, 8vw, 8rem);
  overflow: clip;
  background:
    radial-gradient(circle at 10% 10%, rgba(232, 221, 247, 0.8), transparent 28rem),
    radial-gradient(circle at 90% 90%, rgba(207, 234, 223, 0.72), transparent 31rem),
    var(--paper);
}
.manifesto__rail {
  position: absolute;
  top: 0;
  right: clamp(1rem, 4vw, 4rem);
  bottom: 0;
  display: flex;
  width: 2px;
  flex-direction: column;
}
.manifesto__rail span { flex: 1; background: linear-gradient(to bottom, transparent, var(--rail), transparent); }
.manifesto__number { position: absolute; top: 3rem; left: clamp(1.25rem, 8vw, 8rem); color: rgba(56, 35, 72, 0.3); font-size: 0.68rem; letter-spacing: 0.14em; }
.manifesto h2 { font-size: clamp(4.2rem, 9vw, 9.5rem); }
.manifesto__aside { max-width: 470px; }
.manifesto__lead { margin: 0; color: var(--ink-soft); font-size: clamp(1.05rem, 1.6vw, 1.28rem); }
.manifesto__statement { display: flex; align-items: flex-start; gap: 1rem; padding-top: 2rem; margin-top: 2.6rem; border-top: 1px solid var(--line); }
.manifesto__statement > span { color: var(--violet); }
.manifesto__statement p { margin: 0; color: var(--ink-soft); }
.manifesto__statement strong { color: var(--ink); font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.medical-note { margin: 2.4rem 0 0; color: rgba(56, 35, 72, 0.46); font-size: 0.68rem; }

.experience, .questions { padding: clamp(7rem, 12vw, 12rem) clamp(1.25rem, 8vw, 8rem); }
.experience { color: #fff; background: var(--aubergine); }
.section-index { display: flex; align-items: center; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid rgba(255, 255, 255, 0.13); }
.section-index span { color: var(--mint); font-size: 0.65rem; }
.section-index p { margin: 0; color: rgba(255, 255, 255, 0.5); font-size: 0.64rem; font-weight: 720; letter-spacing: 0.13em; text-transform: uppercase; }
.experience__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: clamp(4rem, 8vw, 7rem) 0; }
.experience h2 { max-width: 890px; font-size: clamp(3.5rem, 7vw, 7.6rem); }
.experience__heading > p { max-width: 300px; margin: 0 0 0.6rem; color: rgba(255, 255, 255, 0.5); font-size: 0.76rem; }
.experience__stage { display: grid; grid-template-columns: 0.75fr 1.25fr; align-items: center; gap: clamp(3rem, 9vw, 10rem); }
.energy-disc {
  position: relative;
  display: grid;
  width: min(34vw, 420px);
  aspect-ratio: 1;
  place-items: center;
  margin: 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 224, 196, 0.88) 0 4%, rgba(246, 217, 230, 0.42) 10%, rgba(163, 110, 208, 0.12) 30%, transparent 62%);
  box-shadow: inset 0 0 7rem rgba(207, 234, 223, 0.1);
}
.energy-disc::before, .energy-disc::after { position: absolute; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 50%; content: ""; }
.energy-disc::before { inset: 13%; }
.energy-disc::after { inset: 28%; }
.energy-disc__pulse { width: 16%; aspect-ratio: 1; border-radius: 50%; background: #fff3dc; box-shadow: 0 0 4rem #f6d9e6, 0 0 8rem rgba(207,234,223,.55); }
.energy-disc > span { position: absolute; bottom: 13%; color: rgba(255, 255, 255, 0.48); font-size: 0.61rem; letter-spacing: 0.24em; text-transform: uppercase; }
.experience__steps { padding: 0; margin: 0; list-style: none; }
.experience__steps li { display: grid; grid-template-columns: 3rem 1fr; gap: 1.3rem; padding: 1.65rem 0; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.experience__steps li:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.experience__steps li > span { color: var(--mint); font-size: 0.62rem; letter-spacing: 0.12em; }
.experience__steps h3 { margin: 0 0 0.35rem; font-family: var(--serif); font-size: clamp(1.55rem, 2.3vw, 2.2rem); font-weight: 400; }
.experience__steps p { margin: 0; color: rgba(255, 255, 255, 0.53); font-size: 0.83rem; }

.practice-visual {
  display: grid;
  min-height: 820px;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 9rem);
  padding: clamp(6rem, 10vw, 10rem) clamp(1.25rem, 8vw, 8rem);
  background:
    radial-gradient(circle at 82% 20%, rgba(246,217,230,.58), transparent 24rem),
    var(--paper);
}
.practice-visual__image { position: relative; margin: 0; }
.practice-visual__image::before {
  position: absolute;
  z-index: 2;
  inset: -1px;
  border: 1px solid rgba(255,255,255,.55);
  content: "";
  pointer-events: none;
}
.practice-visual__image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 40% center;
  box-shadow: 0 35px 95px rgba(67,39,82,.15);
}
.practice-visual__image figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 3;
  padding: .45rem .65rem;
  border-radius: 999px;
  color: rgba(56,35,72,.62);
  background: rgba(255,255,255,.82);
  font-size: .56rem;
  backdrop-filter: blur(10px);
}
.practice-visual__copy { max-width: 620px; }
.practice-visual h2 { font-size: clamp(3.7rem, 6.5vw, 7.3rem); }
.practice-visual h2 em { color: var(--violet); font-weight: 400; }
.practice-visual__copy > p:not(.eyebrow) { max-width: 500px; margin: 1.8rem 0 0; color: var(--ink-soft); }

.booking {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(520px, 1fr);
  gap: clamp(3rem, 9vw, 9rem);
  overflow: clip;
  padding: clamp(7rem, 12vw, 12rem) clamp(1.25rem, 8vw, 8rem);
  background:
    radial-gradient(circle at 14% 20%, rgba(232, 221, 247, 0.9), transparent 25rem),
    radial-gradient(circle at 89% 82%, rgba(207, 234, 223, 0.8), transparent 31rem),
    var(--paper);
}
.booking__aura { position: absolute; top: 8%; left: 35%; width: 290px; aspect-ratio: 1; border-radius: 50%; background: rgba(255, 224, 196, 0.44); filter: blur(70px); pointer-events: none; }
.booking__intro { position: relative; z-index: 2; align-self: center; }
.booking h2 { font-size: clamp(3.8rem, 7vw, 7.6rem); }
.booking__intro > p:not(.eyebrow) { max-width: 440px; margin: 1.6rem 0 0; color: var(--ink-soft); }
.booking__status { display: flex; align-items: flex-start; gap: 0.8rem; margin-top: 2.6rem; }
.booking__status i { width: 0.55rem; aspect-ratio: 1; margin-top: 0.35rem; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 5px rgba(89, 132, 119, 0.1); }
.booking__status span, .booking__status b { display: block; }
.booking__status span { color: rgba(56, 35, 72, 0.5); font-size: 0.67rem; }
.booking__status b { margin-bottom: 0.15rem; color: var(--ink); font-size: 0.7rem; }

.booking-form {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: clamp(1.3rem, 3.5vw, 3rem);
  border: 1px solid rgba(56, 35, 72, 0.12);
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 30px 90px rgba(67, 39, 82, 0.12);
  backdrop-filter: blur(22px);
}
.form-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; margin-bottom: 2.4rem; border-bottom: 1px solid var(--line); }
.form-topline > p { margin: 0; font-size: 0.64rem; font-weight: 760; letter-spacing: 0.13em; text-transform: uppercase; }
.form-progress { display: flex; align-items: center; gap: 0.45rem; }
.form-progress span { color: rgba(56, 35, 72, 0.3); font-size: 0.58rem; font-weight: 760; }
.form-progress span.is-active { color: var(--ink); }
.form-progress i { width: 1.4rem; height: 1px; background: var(--line); }
.form-step { padding: 0; border: 0; }
.js .form-step { display: none; }
.js .form-step.is-active { display: block; animation: formIn 300ms ease both; }
.form-step + .form-step { margin-top: 3rem; }
.js .form-step + .form-step { margin-top: 0; }
.form-step legend { width: 100%; padding: 0; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1; }
.field-help { margin: 0.8rem 0 1.6rem; color: var(--ink-soft); font-size: 0.78rem; }
.choice-stack { border-top: 1px solid var(--line); }
.choice-row { position: relative; display: grid; min-height: 86px; grid-template-columns: 2.6rem 1fr auto; align-items: center; gap: 1rem; border-bottom: 1px solid var(--line); cursor: pointer; }
.choice-row input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.choice-row__number { display: grid; width: 2.2rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink-soft); font-size: 0.62rem; transition: color 180ms ease, background 180ms ease; }
.choice-row > span:nth-of-type(2), .choice-row strong, .choice-row small { display: block; }
.choice-row strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 500; }
.choice-row small { margin-top: 0.12rem; color: rgba(56, 35, 72, 0.48); font-size: 0.62rem; }
.choice-row > b { color: rgba(56, 35, 72, 0.35); font-weight: 400; }
.choice-row:hover .choice-row__number,
.choice-row input:focus-visible ~ .choice-row__number,
.choice-row input:checked ~ .choice-row__number { color: #fff; background: var(--aubergine); }
.choice-row input:focus-visible ~ .choice-row__number { outline: 3px solid #75509b; outline-offset: 4px; }
.choice-row input:checked ~ span strong { color: var(--violet); }
.choice-row:has(input:checked) { background: linear-gradient(90deg, rgba(232, 221, 247, 0.36), transparent); }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.8rem; }
.form-actions--end { justify-content: flex-end; }
.form-button, .form-back { min-height: 50px; border: 0; cursor: pointer; }
.form-button { display: inline-flex; align-items: center; gap: 1.2rem; padding: 0.7rem 0.8rem 0.7rem 1.2rem; border-radius: 999px; color: #fff; background: var(--aubergine); font-size: 0.72rem; font-weight: 730; }
.form-button span { display: grid; width: 32px; aspect-ratio: 1; place-items: center; border-radius: 50%; color: var(--ink); background: var(--mint); }
.form-back { color: var(--ink-soft); background: transparent; font-size: 0.7rem; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.field { display: grid; gap: 0.42rem; }
.field--full { grid-column: 1 / -1; }
.field > span, #time-label { color: var(--ink); font-size: 0.65rem; font-weight: 710; }
.field small { font-weight: 500; }
.field input, .field textarea { width: 100%; min-height: 52px; padding: 0.78rem 0.86rem; border: 1px solid var(--line); border-radius: 0.25rem; color: var(--ink); background: rgba(255, 255, 255, 0.82); }
.field textarea { min-height: 105px; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--violet); outline: 0; box-shadow: 0 0 0 4px rgba(163, 110, 208, 0.12); }
.time-choice { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.4rem; }
.time-choice label { position: relative; }
.time-choice input { position: absolute; inset: 0; opacity: 0; }
.time-choice span { display: grid; min-height: 52px; place-items: center; border: 1px solid var(--line); border-radius: 0.25rem; background: rgba(255, 255, 255, 0.78); font-size: 0.65rem; font-weight: 720; cursor: pointer; }
.time-choice input:checked + span { border-color: var(--violet); color: #fff; background: var(--violet); }
.time-choice input:focus-visible + span { outline: 3px solid #75509b; outline-offset: 3px; }
.consent { display: flex; align-items: flex-start; gap: 0.72rem; padding: 0.85rem; margin-top: 1rem; color: var(--ink-soft); background: rgba(232, 221, 247, 0.25); font-size: 0.67rem; }
.consent input { width: 1rem; height: 1rem; flex: 0 0 auto; margin-top: 0.15rem; accent-color: var(--violet); }
.form-note { margin: 0.8rem 0 0; color: rgba(56, 35, 72, 0.42); font-size: 0.62rem; text-align: right; }
.hidden-field { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
@keyframes formIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.questions { background: var(--paper); }
.questions .section-index { border-color: var(--line); }
.questions .section-index span { color: var(--violet); }
.questions .section-index p { color: rgba(56, 35, 72, 0.48); }
.questions__grid { display: grid; grid-template-columns: 0.72fr 1fr; gap: clamp(4rem, 10vw, 11rem); padding-top: clamp(4rem, 8vw, 7rem); }
.questions h2 { font-size: clamp(4rem, 8vw, 8.2rem); }
.questions__title > p { max-width: 360px; margin: 1.5rem 0 0; color: var(--ink-soft); }
.accordion { border-top: 1px solid var(--line); }
.accordion details { border-bottom: 1px solid var(--line); }
.accordion summary { display: grid; min-height: 82px; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; font-family: var(--serif); font-size: clamp(1.05rem, 1.7vw, 1.35rem); cursor: pointer; list-style: none; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary span { display: grid; width: 2.2rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-family: var(--sans); transition: transform 180ms ease; }
.accordion details[open] summary span { transform: rotate(45deg); }
.accordion details p { max-width: 620px; padding: 0 3rem 1.5rem 0; margin: 0; color: var(--ink-soft); font-size: 0.82rem; }

.finale {
  position: relative;
  display: grid;
  min-height: 720px;
  place-items: center;
  align-content: center;
  overflow: clip;
  padding: 6rem 1.25rem;
  color: #fff;
  background:
    radial-gradient(circle at 50% 42%, rgba(246, 217, 230, 0.28), transparent 24rem),
    var(--aubergine);
  text-align: center;
}
.finale__spectrum { position: absolute; inset: 0; opacity: 0.42; background: linear-gradient(115deg, transparent 18%, rgba(255,75,85,.13), rgba(255,154,66,.12), rgba(255,226,104,.1), rgba(105,221,160,.11), rgba(103,199,242,.12), rgba(102,118,222,.12), rgba(166,107,224,.14), transparent 82%); filter: blur(28px); }
.finale > * { position: relative; }
.finale .eyebrow { color: var(--mint); }
.finale h2 { margin-bottom: 2.2rem; font-size: clamp(5rem, 11vw, 11rem); }
.finale .button--light { color: var(--ink); background: #fff; }
.finale .button--light span { color: var(--violet); }

.site-footer { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 2rem; padding: 3rem clamp(1.25rem, 6vw, 6rem); color: rgba(255,255,255,.65); background: #160d1d; font-size: 0.68rem; }
.site-footer .wordmark { color: #fff; }
.site-footer .wordmark__symbol { background: rgba(255,255,255,.08); }
.site-footer .wordmark__logo { background: #fff; mix-blend-mode: normal; }
.site-footer button { min-height: 44px; border: 0; color: rgba(255,255,255,.64); background: transparent; cursor: pointer; }
.site-footer__legal { grid-column: 1 / -1; padding-top: 1.2rem; margin: 0; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.38); }
.mobile-book { display: none; }

.preview-dialog { width: min(520px, calc(100% - 2rem)); padding: clamp(1.5rem, 5vw, 3rem); border: 1px solid rgba(255,255,255,.15); border-radius: 0.6rem; color: #fff; background: var(--aubergine); box-shadow: 0 35px 120px rgba(20,10,27,.45); text-align: center; }
.preview-dialog::backdrop { background: rgba(24, 13, 31, 0.68); backdrop-filter: blur(8px); }
.dialog-close { position: absolute; top: 0.7rem; right: 0.7rem; display: grid; width: 44px; aspect-ratio: 1; place-items: center; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font-size: 1.2rem; cursor: pointer; }
.dialog-symbol { display: block; margin-bottom: 1rem; color: var(--mint); font-size: 1.8rem; }
.preview-dialog .eyebrow { justify-content: center; color: var(--mint); }
.preview-dialog h2 { font-size: clamp(2.4rem, 7vw, 4.4rem); }
.preview-dialog > p:not(.eyebrow) { color: rgba(255,255,255,.62); }

.thank-you-page {
  display: grid;
  min-height: 100svh;
  place-items: center;
  padding: 1rem;
  color: var(--ink);
  background:
    radial-gradient(circle at 18% 16%, rgba(232, 221, 247, 0.95), transparent 28rem),
    radial-gradient(circle at 88% 86%, rgba(207, 234, 223, 0.9), transparent 30rem),
    var(--paper);
}
.thank-you-card {
  width: min(620px, 100%);
  padding: clamp(1.5rem, 5vw, 3.5rem);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.72);
  box-shadow: 0 30px 90px rgba(67,39,82,.12);
  text-align: center;
  backdrop-filter: blur(20px);
}
.thank-you-card img { width: min(210px, 60%); aspect-ratio: 1; margin: 0 auto 1.5rem; object-fit: cover; mix-blend-mode: multiply; }
.thank-you-card .eyebrow { justify-content: center; }
.thank-you-card h1 { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 8vw, 5.4rem); font-weight: 400; letter-spacing: -.06em; line-height: .95; }
.thank-you-card > p:not(.eyebrow) { max-width: 470px; margin: 1.2rem auto 1.8rem; color: var(--ink-soft); }

.reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .js .reveal { opacity: 0; transform: translateY(22px); transition: opacity 620ms ease, transform 620ms ease; }
  .js .reveal.is-visible { opacity: 1; transform: none; }
  .energy-disc__pulse { animation: energyBreathe 5.5s ease-in-out infinite; }
}
@keyframes energyBreathe { 0%,100% { transform: scale(.88); } 50% { transform: scale(1.12); } }

@media (max-width: 1040px) {
  .site-nav { gap: 1rem; }
  .hero__copy { width: min(720px, 74vw); }
  .manifesto { grid-template-columns: 1fr; align-content: center; }
  .manifesto__aside { margin-left: auto; }
  .experience__heading { display: grid; }
  .experience__heading > p { max-width: 500px; }
  .experience__stage { grid-template-columns: 1fr; }
  .energy-disc { width: min(55vw, 420px); }
  .practice-visual { grid-template-columns: 1fr; }
  .practice-visual__image { width: min(720px, 100%); }
  .practice-visual__image img { aspect-ratio: 16 / 10; }
  .booking { grid-template-columns: 1fr; }
  .booking__intro { max-width: 720px; }
  .questions__grid { grid-template-columns: 1fr; }
  .questions__title > p { max-width: 580px; }
}

@media (max-width: 760px) {
  .welcome { padding: 2rem 1rem; }
  .welcome__wash { left: 50%; width: 110vw; }
  .spectrum { top: 3.5rem; bottom: 3.5rem; left: 50%; width: 5rem; }
  .spectrum__node { width: 1.55rem; }
  .entry__lockup { width: 96vw; }
  .entry__brand-banner { width: 94vw; border-radius: 1.2rem; }
  .entry__skip { display: none; }
  .preview-note { min-height: 40px; font-size: 0.58rem; line-height: 1.25; }
  .site-header { min-height: 68px; padding-inline: 1rem; }
  .menu-toggle { position: relative; z-index: 310; display: block; }
  .menu-toggle[aria-expanded="true"] i:nth-of-type(1) { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i:nth-of-type(2) { transform: translateY(-3px) rotate(-45deg); }
  .site-nav {
    position: fixed;
    z-index: 300;
    inset: 0;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    padding: 6rem 1.5rem 2rem;
    color: #fff;
    background: rgba(37, 21, 47, 0.985);
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease, visibility 0s linear 220ms;
  }
  .site-nav.is-open { visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
  .site-nav > a:not(.nav-cta) { min-height: 62px; align-content: center; border-bottom: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.76); font-family: var(--serif); font-size: 1.55rem; }
  .nav-cta { margin-top: 1.2rem; justify-content: space-between; background: rgba(255,255,255,.1); }
  .hero { min-height: 760px; padding: 8rem 1rem 7rem; align-items: end; }
  .hero__image img { object-position: 66% center; }
  .hero__veil { background: linear-gradient(180deg, rgba(255,251,253,.22), rgba(255,251,253,.7) 44%, rgba(255,251,253,.98) 72%); }
  .hero__copy { width: 100%; }
  .hero h1 { font-size: clamp(3.7rem, 17vw, 6.3rem); }
  .hero__lead { max-width: 360px; }
  .hero__actions { align-items: stretch; flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .hero__footer { left: 1rem; bottom: 2rem; }
  .hero__footer i { width: 1rem; }
  .hero__concept-note { right: 1rem; bottom: 4.3rem; max-width: 210px; text-align: right; }
  .replay-intro { display: none; }
  .brand-banner { min-height: 430px; padding: 5rem .7rem; }
  .brand-banner img { width: 98vw; border-radius: 1.1rem; }
  .manifesto { min-height: auto; gap: 4rem; padding: 7rem 1rem; }
  .manifesto h2 { font-size: clamp(4rem, 20vw, 6.5rem); }
  .manifesto__number { top: 2rem; left: 1rem; }
  .manifesto__rail { right: 0.6rem; }
  .experience, .questions { padding: 7rem 1rem; }
  .experience h2, .questions h2 { font-size: clamp(3.5rem, 15vw, 5.7rem); }
  .energy-disc { width: min(82vw, 360px); }
  .experience__steps li { grid-template-columns: 2.3rem 1fr; gap: 0.8rem; }
  .practice-visual { min-height: auto; gap: 3.5rem; padding: 7rem 1rem; }
  .practice-visual__image img { aspect-ratio: 4 / 5; }
  .practice-visual h2 { font-size: clamp(3.45rem, 16vw, 5.8rem); }
  .booking { gap: 3.2rem; padding: 7rem 0.55rem; }
  .booking__intro { padding: 0 0.55rem; }
  .booking h2 { font-size: clamp(3.6rem, 17vw, 6rem); }
  .booking-form { padding: 1.2rem; }
  .choice-row { grid-template-columns: 2.4rem 1fr auto; gap: 0.7rem; }
  .field-grid { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .form-actions { align-items: stretch; flex-direction: column-reverse; }
  .form-actions--end { flex-direction: column; }
  .form-button { width: 100%; justify-content: space-between; }
  .form-back { width: 100%; }
  .form-note { text-align: left; }
  .questions__grid { gap: 3.5rem; }
  .finale { min-height: 600px; }
  .finale h2 { font-size: clamp(4.5rem, 20vw, 7rem); }
  .site-footer { grid-template-columns: 1fr; gap: 1rem; padding: 3rem 1rem; }
  .site-footer__legal { grid-column: auto; }
}

/* Approved practitioner content — structured as a premium editorial experience */
.about-sara,
.reiki-definition,
.benefits,
.evidence,
.services {
  position: relative;
  overflow: clip;
}

.about-sara h2,
.reiki-definition h2,
.benefits h2,
.evidence h2,
.services h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.92;
}

.about-sara h2 em,
.reiki-definition h2 em,
.benefits h2 em,
.evidence h2 em,
.services h2 em {
  color: var(--violet);
  font-weight: 400;
}

.about-sara {
  display: grid;
  min-height: 900px;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 9rem);
  padding: clamp(7rem, 11vw, 11rem) clamp(1.25rem, 8vw, 8rem);
  background:
    radial-gradient(circle at 13% 15%, rgba(232,221,247,.9), transparent 26rem),
    radial-gradient(circle at 92% 84%, rgba(207,234,223,.78), transparent 30rem),
    var(--paper);
}
.about-sara::after {
  position: absolute;
  right: -9rem;
  bottom: -12rem;
  width: 30rem;
  aspect-ratio: 1;
  border: 1px solid rgba(89,132,119,.15);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(255,255,255,.18), 0 0 0 8rem rgba(255,255,255,.11);
  content: "";
}
.about-sara__portrait { position: relative; z-index: 1; }
.about-sara__portrait::before {
  position: absolute;
  z-index: -1;
  inset: -1.4rem 2.5rem 2.5rem -1.4rem;
  border: 1px solid rgba(163,110,208,.32);
  border-radius: 12rem 12rem 1.2rem 1.2rem;
  content: "";
}
.about-sara__portrait img {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 12rem 12rem 1.2rem 1.2rem;
  object-fit: cover;
  box-shadow: 0 35px 100px rgba(56,35,72,.17);
}
.about-sara__portrait p { margin: .75rem 0 0; color: rgba(56,35,72,.42); font-size: .6rem; letter-spacing: .05em; }
.about-sara__copy { position: relative; z-index: 1; max-width: 720px; }
.about-sara h2 { margin-top: 1.5rem; font-size: clamp(4rem, 7vw, 7.7rem); }
.about-sara__copy > p:not(.eyebrow) { max-width: 640px; margin: 1.15rem 0 0; color: var(--ink-soft); }
.about-sara__copy .about-sara__lead { margin-top: 2.2rem; color: var(--ink); font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.45; }
.membership-card {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  min-width: min(100%, 330px);
  padding: 1rem 1.2rem;
  margin-top: 2.2rem;
  border: 1px solid rgba(56,35,72,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  box-shadow: 0 18px 55px rgba(56,35,72,.08);
  backdrop-filter: blur(16px);
}
.membership-card__mark { display: grid; width: 3.7rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: radial-gradient(circle at 35% 28%, #c997ea, #744793 68%); box-shadow: 0 0 0 .4rem rgba(163,110,208,.12); }
.membership-card span:last-child { display: grid; line-height: 1.25; }
.membership-card small { color: var(--ink-soft); font-size: .56rem; letter-spacing: .11em; text-transform: uppercase; }
.membership-card strong { margin-top: .2rem; font-family: var(--serif); font-size: 1.08rem; font-weight: 500; }
.membership-card b { color: var(--violet); font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; }

.reiki-definition {
  display: grid;
  min-height: 780px;
  grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr);
  align-items: center;
  gap: clamp(4rem, 10vw, 12rem);
  padding: clamp(7rem, 11vw, 11rem) clamp(1.25rem, 8vw, 8rem);
  color: #fff;
  background:
    radial-gradient(circle at 20% 50%, rgba(105,221,160,.16), transparent 24rem),
    radial-gradient(circle at 80% 20%, rgba(166,107,224,.2), transparent 32rem),
    #21132b;
}
.reiki-definition::before { position: absolute; inset: 0; opacity: .18; background: linear-gradient(122deg, transparent 20%, rgba(255,255,255,.12), transparent 52%); content: ""; transform: skewX(-14deg); }
.reiki-definition__orb {
  position: relative;
  display: grid;
  width: min(34vw, 430px);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 50%;
  background: radial-gradient(circle at 48% 44%, rgba(255,255,255,.28), rgba(166,107,224,.17) 24%, rgba(105,221,160,.08) 48%, transparent 70%);
  box-shadow: 0 0 0 3rem rgba(255,255,255,.025), 0 0 0 6rem rgba(255,255,255,.015), inset 0 0 6rem rgba(255,255,255,.08), 0 0 8rem rgba(166,107,224,.2);
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 4rem);
}
.reiki-definition__orb span { position: absolute; }
.reiki-definition__orb span:first-child { top: 28%; left: 22%; }
.reiki-definition__orb span:last-child { right: 22%; bottom: 28%; color: var(--mint); }
.reiki-definition__orb i { width: 42%; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.6), transparent); transform: rotate(-45deg); }
.reiki-definition__copy { position: relative; max-width: 800px; }
.reiki-definition .eyebrow { color: var(--mint); }
.reiki-definition h2 { margin-top: 1.4rem; font-size: clamp(4rem, 7vw, 7.8rem); }
.reiki-definition h2 em { color: #d9b9f0; }
.reiki-definition__copy > p:not(.eyebrow) { max-width: 690px; margin: 1.25rem 0 0; color: rgba(255,255,255,.62); }
.reiki-definition__note { padding: 1.1rem 1.2rem; border-left: 2px solid var(--mint); background: rgba(255,255,255,.055); color: rgba(255,255,255,.8) !important; }

.benefits { padding: clamp(7rem, 11vw, 11rem) clamp(1.25rem, 8vw, 8rem); background: linear-gradient(180deg, #fffafd, #f7f3fb 50%, #f2faf7); }
.benefits .section-index,
.services .section-index { border-color: var(--line); }
.benefits .section-index span,
.services .section-index span { color: var(--violet); }
.benefits .section-index p,
.services .section-index p { color: rgba(56,35,72,.48); }
.benefits__heading { display: grid; max-width: 1050px; padding: clamp(4rem, 7vw, 7rem) 0 3rem; }
.benefits h2 { margin-top: 1.2rem; font-size: clamp(4rem, 7.5vw, 8.5rem); }
.benefits__heading > p:last-child { max-width: 680px; margin: 2rem 0 0; color: var(--ink-soft); }
.benefit-tabs { overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 1.25rem; color: #fff; background: #21132b; box-shadow: 0 30px 100px rgba(56,35,72,.16); }
.benefit-tabs__list { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid rgba(255,255,255,.12); }
.benefit-tabs__list button { min-height: 66px; border: 0; border-right: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.5); background: transparent; font-size: .69rem; font-weight: 720; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; }
.benefit-tabs__list button:last-child { border-right: 0; }
.benefit-tabs__list button[aria-selected="true"] { color: #21132b; background: linear-gradient(135deg, #f9e3f1, #d7eee5); }
.benefit-tabs__panels { position: relative; background: radial-gradient(circle at 80% 20%, rgba(166,107,224,.28), transparent 28rem), radial-gradient(circle at 16% 90%, rgba(105,221,160,.13), transparent 24rem); }
.benefit-tabs__panels article { display: grid; min-height: 430px; grid-template-columns: .35fr 1fr; align-items: start; gap: clamp(2rem, 7vw, 8rem); padding: clamp(2rem, 6vw, 6rem); }
.benefit-tabs__panels article[hidden] { display: none; }
.benefit-glyph { color: var(--mint); font-family: var(--serif); font-size: clamp(5rem, 11vw, 11rem); line-height: .8; opacity: .55; }
.benefit-tabs h3 { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 5.8rem); font-weight: 400; letter-spacing: -.055em; line-height: .95; }
.benefit-tabs article div > p { max-width: 650px; color: rgba(255,255,255,.62); }
.benefit-tabs ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 2rem; padding: 1.4rem 0 0; margin: 1.8rem 0 0; border-top: 1px solid rgba(255,255,255,.12); list-style: none; }
.benefit-tabs li { position: relative; padding-left: 1.2rem; color: rgba(255,255,255,.8); font-size: .82rem; }
.benefit-tabs li::before { position: absolute; top: .63rem; left: 0; width: .32rem; aspect-ratio: 1; border-radius: 50%; background: var(--mint); box-shadow: 0 0 .8rem var(--mint); content: ""; }
.panel-note { color: var(--mint) !important; font-size: .72rem; }

.support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.support-card { min-height: 350px; padding: clamp(1.6rem, 4vw, 3.2rem); border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.74); }
.support-card--wide { grid-column: 1 / -1; min-height: auto; background: linear-gradient(135deg, rgba(232,221,247,.75), rgba(207,234,223,.75)); }
.support-card h3 { max-width: 700px; margin: .8rem 0 1.1rem; font-family: var(--serif); font-size: clamp(2.1rem, 4vw, 4rem); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.support-card > p:not(.eyebrow) { max-width: 700px; color: var(--ink-soft); }
.support-tags { display: flex; flex-wrap: wrap; gap: .55rem; padding: 0; margin: 1.8rem 0 0; list-style: none; }
.support-tags li { padding: .55rem .85rem; border: 1px solid rgba(56,35,72,.14); border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.55); font-size: .68rem; }

.evidence { display: grid; min-height: 820px; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); align-items: center; gap: clamp(3rem, 9vw, 10rem); padding: clamp(7rem, 11vw, 11rem) clamp(1.25rem, 8vw, 8rem); color: #fff; background: radial-gradient(circle at 15% 25%, rgba(102,118,222,.22), transparent 34rem), radial-gradient(circle at 85% 75%, rgba(105,221,160,.12), transparent 28rem), #160d1d; }
.evidence__copy { max-width: 900px; }
.evidence .eyebrow { color: var(--mint); }
.evidence h2 { margin-top: 1.4rem; font-size: clamp(3.8rem, 6.4vw, 7.2rem); }
.evidence h2 em { color: #d8b8ef; }
.evidence__copy > p:not(.eyebrow) { max-width: 760px; margin: 1.25rem 0 0; color: rgba(255,255,255,.61); }
.evidence__links { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.evidence__links a { display: inline-flex; min-height: 44px; align-items: center; gap: .75rem; padding: .65rem .9rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: rgba(255,255,255,.78); font-size: .68rem; text-decoration: none; }
.evidence__links a:hover { border-color: var(--mint); color: #fff; }
.evidence__links span { color: var(--mint); }
.relaxation-card { position: relative; padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid rgba(255,255,255,.14); border-radius: 50% 50% 1rem 1rem / 22% 22% 1rem 1rem; background: linear-gradient(155deg, rgba(255,255,255,.1), rgba(255,255,255,.035)); box-shadow: 0 30px 100px rgba(0,0,0,.22); backdrop-filter: blur(20px); }
.relaxation-card > span { display: grid; width: 3.4rem; aspect-ratio: 1; place-items: center; margin-bottom: 3rem; border-radius: 50%; color: #21132b; background: var(--mint); box-shadow: 0 0 2.5rem rgba(105,221,160,.45); }
.relaxation-card h3 { margin: 1rem 0 2rem; font-family: var(--serif); font-size: clamp(2.4rem, 4.5vw, 4.8rem); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.relaxation-card > p:last-child { color: rgba(255,255,255,.58); }

.services { padding: clamp(7rem, 11vw, 11rem) clamp(1.25rem, 8vw, 8rem); background: radial-gradient(circle at 92% 15%, rgba(232,221,247,.9), transparent 28rem), var(--paper); }
.services__heading { padding: clamp(4rem, 7vw, 7rem) 0 3.5rem; }
.services h2 { margin-top: 1.2rem; font-size: clamp(4rem, 7.5vw, 8.4rem); }
.service-card { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: clamp(1.5rem, 5vw, 5rem); padding: clamp(1.5rem, 3vw, 2.7rem); border: 1px solid rgba(56,35,72,.12); border-radius: 1rem; background: rgba(255,255,255,.78); box-shadow: 0 24px 80px rgba(56,35,72,.1); }
.service-card__index { display: grid; width: 4.2rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: var(--aubergine); font-family: var(--serif); font-size: 1.25rem; }
.service-card h3 { margin: .25rem 0; font-family: var(--serif); font-size: clamp(2rem, 3.2vw, 3.3rem); font-weight: 400; letter-spacing: -.04em; }
.service-card__place { max-width: 390px; margin: 0; color: var(--ink-soft); font-size: .75rem; }
.service-card__facts { display: flex; gap: clamp(1.5rem, 4vw, 4rem); }
.service-card__facts p { margin: 0; }
.service-card__facts span,
.service-card__facts strong { display: block; }
.service-card__facts span { color: var(--ink-soft); font-size: .57rem; letter-spacing: .12em; text-transform: uppercase; }
.service-card__facts strong { margin-top: .15rem; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; white-space: nowrap; }
.button--dark { color: #fff; background: var(--aubergine); }
.button--dark span { color: var(--mint); }
.service-modes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1rem; }
.service-modes p { padding: 1.5rem; margin: 0; border: 1px solid var(--line); border-radius: .8rem; color: var(--ink-soft); background: rgba(255,255,255,.5); font-size: .75rem; }
.service-modes span { display: block; margin-bottom: .45rem; color: var(--ink); font-family: var(--serif); font-size: 1.45rem; }

@media (max-width: 1040px) {
  .about-sara,
  .reiki-definition,
  .evidence { grid-template-columns: 1fr; }
  .about-sara__portrait { width: min(650px, 100%); }
  .reiki-definition__orb { width: min(58vw, 430px); margin: 2rem auto; }
  .relaxation-card { width: min(620px, 100%); border-radius: 12rem 12rem 1rem 1rem; }
  .service-card { grid-template-columns: auto 1fr auto; }
  .service-card .button { grid-column: 2 / -1; width: fit-content; }
}

@media (max-width: 760px) {
  .about-sara,
  .reiki-definition,
  .benefits,
  .evidence,
  .services { padding: 7rem 1rem; }
  .about-sara { gap: 4rem; }
  .about-sara__portrait { width: calc(100% - .7rem); margin-left: .7rem; }
  .about-sara__portrait::before { inset: -.7rem 1.2rem 1.2rem -.7rem; }
  .about-sara__portrait img { border-radius: 9rem 9rem .8rem .8rem; }
  .about-sara h2,
  .reiki-definition h2,
  .benefits h2,
  .evidence h2,
  .services h2 { font-size: clamp(3.5rem, 15vw, 5.8rem); }
  .membership-card { width: 100%; }
  .reiki-definition { gap: 2rem; }
  .reiki-definition__orb { width: min(76vw, 340px); }
  .benefit-tabs__list { grid-template-columns: repeat(2, 1fr); }
  .benefit-tabs__list button:nth-child(2) { border-right: 0; }
  .benefit-tabs__list button:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
  .benefit-tabs__panels article { min-height: 520px; grid-template-columns: 1fr; gap: 1.5rem; }
  .benefit-glyph { font-size: 5rem; }
  .benefit-tabs ul { grid-template-columns: 1fr; }
  .support-grid { grid-template-columns: 1fr; }
  .support-card--wide { grid-column: auto; }
  .support-card { min-height: auto; }
  .evidence { gap: 4rem; }
  .relaxation-card { border-radius: 9rem 9rem .8rem .8rem; }
  .service-card { grid-template-columns: 1fr; }
  .service-card__index { width: 3.5rem; }
  .service-card .button { grid-column: auto; width: 100%; }
  .service-card__facts { justify-content: space-between; padding: 1.2rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .service-modes { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   FUTURE SANCTUARY V5 — continuous cinematic art direction
   -------------------------------------------------------------------------- */

:root {
  --ink: #f8f1ff;
  --ink-soft: rgba(244, 235, 250, .69);
  --aubergine: #120817;
  --paper: #120817;
  --pearl: #1d1024;
  --lilac: #cda8ef;
  --violet: #b877f1;
  --blush: #ffb7d2;
  --apricot: #ffd7b0;
  --mint: #aaf4df;
  --sage: #aaf4df;
  --line: rgba(255, 255, 255, .12);
  --surface: rgba(255, 255, 255, .055);
  --surface-strong: rgba(255, 255, 255, .085);
  --display: "Avenir Next", "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif;
  --sans: "Avenir Next", "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  --serif: Georgia, "Palatino Linotype", serif;
}

html { background: #0d0612; }
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 18% 10%, rgba(184, 119, 241, .12), transparent 34rem),
    radial-gradient(circle at 88% 24%, rgba(170, 244, 223, .08), transparent 36rem),
    #0d0612;
}

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

.site-shell { color: var(--ink); background: transparent; }
.preview-note {
  min-height: 30px;
  color: rgba(255, 255, 255, .56);
  background: #09040c;
  letter-spacing: .11em;
  text-transform: uppercase;
}

/* The opening now behaves like one colour detonation rather than a loading bar. */
.welcome {
  background:
    radial-gradient(circle at 50% 52%, rgba(200, 134, 255, .19), transparent 19rem),
    radial-gradient(circle at 50% 100%, rgba(255, 82, 95, .13), transparent 34rem),
    linear-gradient(160deg, #08040b, #190b20 48%, #08040b);
  animation: introExit 720ms 4.25s cubic-bezier(.77, 0, .18, 1) forwards;
}

.welcome::after {
  inset: -42%;
  opacity: .72;
  background: conic-gradient(from 200deg at 50% 52%, transparent 0 10%, rgba(255, 75, 85, .18), rgba(255, 154, 66, .17), rgba(255, 226, 104, .15), rgba(105, 221, 160, .16), rgba(103, 199, 242, .17), rgba(102, 118, 222, .18), rgba(190, 103, 255, .2), transparent 62% 100%);
  filter: blur(68px);
  animation: introAurora 5s ease both;
}

.welcome__wash {
  width: min(88vw, 980px);
  border-color: rgba(255, 255, 255, .13);
  box-shadow:
    0 0 0 7rem rgba(255, 255, 255, .018),
    0 0 0 14rem rgba(255, 255, 255, .012),
    0 0 16rem rgba(184, 119, 241, .34);
}

.spectrum {
  top: 8vh;
  bottom: 7vh;
  width: clamp(7rem, 13vw, 12rem);
}

.spectrum__line {
  width: 7px;
  border-radius: 99px;
  box-shadow: 0 0 1rem #fff, 0 0 5rem rgba(184, 119, 241, .8);
}

.spectrum__node {
  width: clamp(3.1rem, 6.2vw, 5.8rem);
  border-width: 1px;
  background: radial-gradient(circle at 42% 38%, #fff 0 6%, var(--spectrum-colour) 22%, color-mix(in srgb, var(--spectrum-colour) 68%, transparent) 52%, transparent 72%);
  box-shadow:
    0 0 1.5rem #fff,
    0 0 3.5rem var(--spectrum-colour),
    0 0 10rem var(--spectrum-colour);
}

.spectrum__node::before {
  width: 1.5rem;
  height: min(34vh, 19rem);
  filter: blur(13px);
}

.spectrum__node::after { inset: -1.7rem; border-width: 1px; }
.spectrum__crown { width: clamp(9rem, 17vw, 16rem); }

.entry__lockup { position: relative; width: min(960px, 92vw); }
.entry__halo {
  position: absolute;
  z-index: -1;
  top: 48%;
  left: 50%;
  width: min(78vw, 680px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, .12), rgba(184, 119, 241, .12) 24%, transparent 68%);
  box-shadow: 0 0 0 4.5rem rgba(255, 255, 255, .016), 0 0 8rem rgba(184, 119, 241, .3);
  transform: translate(-50%, -50%);
}

.entry__lotus {
  width: min(570px, 74vw);
  height: auto;
  margin-bottom: clamp(-4rem, -7vw, -2.3rem);
  filter: drop-shadow(0 0 2rem rgba(255, 255, 255, .32)) drop-shadow(0 0 5rem rgba(184, 119, 241, .58));
}

.entry__identity { text-align: center; }
.entry__identity span {
  display: block;
  font-family: var(--serif);
  font-size: clamp(3.2rem, 8vw, 6.8rem);
  font-style: italic;
  letter-spacing: -.065em;
  line-height: .85;
  text-shadow: 0 0 2.3rem rgba(255, 255, 255, .3);
}
.entry__identity strong {
  display: block;
  margin-top: 1rem;
  color: var(--mint);
  font-size: clamp(.65rem, 1.4vw, .92rem);
  font-weight: 700;
  letter-spacing: .55em;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: no-preference) {
  .spectrum { animation: spectrumFade 560ms 2.48s ease forwards; }
  .spectrum__line { animation: spectrumLine 2.15s .08s cubic-bezier(.12,.8,.2,1) both; }
  .spectrum__node { animation: spectrumNodeFuture 760ms calc(.06s + var(--order) * .25s) cubic-bezier(.12,.82,.22,1.35) both; }
  .spectrum__node::after { animation: spectrumPulse 1.18s calc(.24s + var(--order) * .25s) ease-out both; }
  .spectrum__crown { animation: crownBurst 920ms 1.78s cubic-bezier(.12,.82,.22,1.35) both; }
  .entry__halo { animation: haloReveal 1s 2.38s ease both; }
  .entry__lotus { animation: lotusReveal 980ms 2.36s cubic-bezier(.16,.86,.25,1) both; }
  .entry__identity { animation: identityFuture 780ms 2.72s cubic-bezier(.16,.86,.25,1) both; }
  .entry__signal { animation: brandArrive 520ms 3.24s ease both; }
}

@keyframes spectrumNodeFuture {
  0% { opacity: 0; filter: brightness(4) blur(10px); transform: translateY(72vh) scale(.03); }
  62% { opacity: 1; filter: brightness(2.1) blur(0); transform: translateY(-2.5vh) scale(2.2); }
  100% { opacity: 1; filter: brightness(1.25); transform: none; }
}
@keyframes haloReveal { from { opacity: 0; transform: translate(-50%, -50%) scale(.35); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes lotusReveal { from { opacity: 0; filter: blur(22px) brightness(2.8); transform: scale(.62); } 65% { opacity: 1; filter: blur(0) brightness(1.35); transform: scale(1.07); } to { opacity: 1; filter: none; transform: scale(1); } }
@keyframes identityFuture { from { opacity: 0; filter: blur(18px); transform: translateY(24px); } to { opacity: 1; filter: none; transform: none; } }
@keyframes introAurora { from { opacity: 0; transform: rotate(-14deg) scale(.7); } to { opacity: .72; transform: rotate(4deg) scale(1.05); } }

/* Floating glass navigation */
.site-header {
  top: 1rem;
  width: min(1440px, calc(100% - 2rem));
  min-height: 72px;
  margin: 0 auto;
  padding: .6rem .75rem .6rem 1rem;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 999px;
  background: rgba(17, 8, 23, .72);
  box-shadow: 0 20px 70px rgba(0, 0, 0, .32);
  backdrop-filter: blur(26px) saturate(1.35);
}
.wordmark__logo {
  width: 4.4rem;
  height: 3.1rem;
  padding: 0;
  background: transparent;
  filter: drop-shadow(0 0 .8rem rgba(184, 119, 241, .35));
  mix-blend-mode: normal;
  object-fit: contain;
}
.wordmark strong { color: #fff; font-size: 1rem; font-weight: 500; }
.wordmark small { color: var(--mint); }
.site-nav > a:not(.nav-cta) { color: rgba(255, 255, 255, .64); }
.site-nav > a:not(.nav-cta):hover { color: #fff; }
.nav-cta { color: #15091a; background: linear-gradient(135deg, #fff, #dffdf4); box-shadow: 0 10px 35px rgba(170, 244, 223, .15); }
.nav-cta span { color: #fff; background: #5c327b; }

/* Hero carries the intro energy straight into the site. */
.hero {
  min-height: max(760px, 100svh);
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .7fr);
  gap: clamp(2rem, 6vw, 8rem);
  padding: clamp(9rem, 14vw, 12rem) clamp(1.25rem, 7vw, 7rem) 8rem;
  background: #0d0612;
}
.hero__image { z-index: -4; }
.hero__image img { object-position: 62% center; filter: saturate(1.14) contrast(1.05); transform: scale(1.025); }
.hero__veil {
  z-index: -3;
  background:
    linear-gradient(90deg, rgba(9, 4, 12, .98) 0%, rgba(13, 6, 18, .91) 38%, rgba(13, 6, 18, .28) 72%, rgba(13, 6, 18, .55) 100%),
    linear-gradient(0deg, #0d0612 0%, transparent 26%, transparent 78%, rgba(13, 6, 18, .6) 100%);
}
.hero__orbit {
  position: absolute;
  z-index: -1;
  right: 5vw;
  width: min(44vw, 650px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(255, 255, 255, .018), 0 0 8rem rgba(184, 119, 241, .18);
}
.hero__orbit i { position: absolute; inset: 13%; border: 1px solid rgba(255, 255, 255, .09); border-radius: 50%; }
.hero__orbit i:nth-child(2) { inset: 29%; border-color: rgba(170, 244, 223, .2); }
.hero__orbit i:nth-child(3) { inset: 43%; border-color: rgba(255, 183, 210, .24); }
.hero__copy { z-index: 3; width: min(760px, 100%); }
.eyebrow { color: var(--mint); }
.eyebrow > span { color: var(--blush); }
.hero h1,
.about-sara h2,
.reiki-definition h2,
.benefits h2,
.evidence h2,
.services h2,
.experience h2,
.practice-visual h2,
.booking h2,
.questions h2,
.finale h2,
.preview-dialog h2 {
  color: #fff;
  font-family: var(--display);
  font-weight: 280;
  letter-spacing: -.07em;
  line-height: .94;
}
.hero h1 { max-width: 860px; font-size: clamp(4.6rem, 8.4vw, 9.2rem); }
.hero h1 em,
.about-sara h2 em,
.reiki-definition h2 em,
.benefits h2 em,
.evidence h2 em,
.services h2 em,
.practice-visual h2 em,
.finale h2 em { color: var(--blush); font-family: var(--serif); font-weight: 400; }
.hero__lead { color: rgba(255, 255, 255, .68); }
.button--light { color: #140919; background: linear-gradient(135deg, #fff, #dffdf4); box-shadow: 0 18px 48px rgba(170, 244, 223, .15); }
.button--light span { color: #6d3d8b; }
.button--quiet { border-color: rgba(255, 255, 255, .17); color: #fff; background: rgba(255, 255, 255, .055); }
.hero__sigil { position: relative; z-index: 2; display: grid; width: min(42vw, 610px); aspect-ratio: 1; place-items: center; justify-self: end; }
.hero__sigil img { position: relative; z-index: 2; width: 110%; max-width: none; filter: drop-shadow(0 0 1.5rem rgba(255, 255, 255, .22)) drop-shadow(0 0 5rem rgba(184, 119, 241, .35)); }
.hero__sigil-ring { position: absolute; inset: 6%; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; box-shadow: inset 0 0 7rem rgba(184, 119, 241, .08), 0 0 5rem rgba(170, 244, 223, .09); }
.hero__sigil-ring::before,
.hero__sigil-ring::after { position: absolute; border: 1px solid rgba(255, 255, 255, .1); border-radius: 50%; content: ""; }
.hero__sigil-ring::before { inset: 11%; }
.hero__sigil-ring::after { inset: 24%; }
.hero__footer { color: rgba(255, 255, 255, .52); }
.hero__footer i { background: rgba(255, 255, 255, .18); }
.hero__concept-note, .replay-intro { color: rgba(255, 255, 255, .45); }

/* Every following area is a designed scene, not a white document section. */
.about-sara,
.reiki-definition,
.benefits,
.evidence,
.services,
.experience,
.practice-visual,
.booking,
.questions {
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, .075);
}

.about-sara {
  min-height: auto;
  grid-template-columns: minmax(320px, .72fr) minmax(0, 1fr);
  gap: clamp(3rem, 8vw, 9rem);
  padding: clamp(6rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem);
  background: radial-gradient(circle at 6% 40%, rgba(184, 119, 241, .13), transparent 31rem), #100715;
}
.about-sara::after { display: none; }
.about-sara__portrait::before { border-color: rgba(170, 244, 223, .48); }
.about-sara__portrait img {
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 13rem 13rem 1.5rem 1.5rem;
  filter: saturate(.88) contrast(1.03);
  box-shadow: 0 36px 110px rgba(0, 0, 0, .3);
}
.about-sara__portrait p { color: rgba(255, 255, 255, .35); }
.about-sara h2 { font-size: clamp(3.8rem, 6.4vw, 7rem); }
.about-sara__copy > p:not(.eyebrow) { color: rgba(255, 255, 255, .62); }
.about-sara__copy .about-sara__lead { color: #fff; font-family: var(--sans); font-size: clamp(1.15rem, 1.8vw, 1.48rem); font-weight: 380; }
.membership-card { border-color: rgba(255, 255, 255, .14); color: #fff; background: rgba(255, 255, 255, .055); }
.membership-card small { color: rgba(255, 255, 255, .45); }
.membership-card b { color: var(--mint); }
.membership-card__mark { color: #170b1c; background: var(--mint); box-shadow: 0 0 2rem rgba(170, 244, 223, .28); }

.reiki-definition {
  min-height: auto;
  padding: clamp(6rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem);
  background: radial-gradient(circle at 78% 45%, rgba(170, 244, 223, .11), transparent 28rem), #160a1c;
}
.reiki-definition__orb { border-color: rgba(255, 255, 255, .16); color: #fff; background: radial-gradient(circle, rgba(255, 215, 176, .19), rgba(184, 119, 241, .1) 28%, transparent 68%); }
.reiki-definition__copy > p:not(.eyebrow) { color: rgba(255, 255, 255, .63); }
.reiki-definition h2 { font-size: clamp(3.8rem, 6.4vw, 7rem); }

.benefits {
  padding: clamp(6rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem);
  background: radial-gradient(circle at 92% 12%, rgba(255, 183, 210, .11), transparent 34rem), #0d0612;
}
.benefits .section-index,
.services .section-index,
.questions .section-index { border-color: rgba(255, 255, 255, .12); }
.benefits .section-index span,
.services .section-index span,
.questions .section-index span { color: var(--mint); }
.benefits .section-index p,
.services .section-index p,
.questions .section-index p { color: rgba(255, 255, 255, .45); }
.benefits__heading { padding: 3.8rem 0 2.3rem; }
.benefits h2 { font-size: clamp(3.8rem, 6.8vw, 7.4rem); }
.benefits__heading > p:last-child { color: rgba(255, 255, 255, .58); }
.benefit-tabs { border-color: rgba(255, 255, 255, .13); background: rgba(255, 255, 255, .045); box-shadow: 0 30px 100px rgba(0, 0, 0, .24); backdrop-filter: blur(18px); }
.benefit-tabs__list { background: rgba(255, 255, 255, .025); }
.benefit-tabs__list button { color: rgba(255, 255, 255, .44); border-color: rgba(255, 255, 255, .1); }
.benefit-tabs__list button[aria-selected="true"] { color: #100715; background: linear-gradient(135deg, #fff, #dffdf4); }
.benefit-tabs__panels article { min-height: 430px; background: radial-gradient(circle at 90% 20%, rgba(184, 119, 241, .15), transparent 28rem); }
.benefit-tabs h3 { color: #fff; font-family: var(--display); font-weight: 300; }
.benefit-tabs p, .benefit-tabs li { color: rgba(255, 255, 255, .62); }
.benefit-glyph { color: rgba(170, 244, 223, .52); }
.support-grid { margin-top: 1.2rem; }
.support-card { min-height: 300px; border-color: rgba(255, 255, 255, .1); color: #fff; background: rgba(255, 255, 255, .04); backdrop-filter: blur(16px); }
.support-card--wide { background: linear-gradient(135deg, rgba(184, 119, 241, .14), rgba(170, 244, 223, .07)); }
.support-card h3 { color: #fff; font-family: var(--display); font-weight: 300; }
.support-card > p:not(.eyebrow) { color: rgba(255, 255, 255, .58); }
.support-tags li { border-color: rgba(255, 255, 255, .13); color: rgba(255, 255, 255, .76); background: rgba(255, 255, 255, .04); }

.evidence {
  min-height: auto;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .55fr);
  gap: clamp(3rem, 7vw, 7rem);
  padding: clamp(6rem, 9vw, 8rem) clamp(1.25rem, 7vw, 7rem);
  background: radial-gradient(circle at 84% 50%, rgba(184, 119, 241, .18), transparent 28rem), #160a1c;
}
.evidence h2 { font-size: clamp(3.5rem, 5.8vw, 6.3rem); }
.evidence__copy > p:not(.eyebrow) { color: rgba(255, 255, 255, .6); }
.relaxation-card { border-color: rgba(255, 255, 255, .13); background: rgba(255, 255, 255, .05); }
.relaxation-card h3 { color: #fff; font-family: var(--display); font-weight: 270; }

.services {
  padding: clamp(6rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem);
  background: radial-gradient(circle at 95% 20%, rgba(170, 244, 223, .1), transparent 32rem), #0d0612;
}
.services__heading { padding: 3.8rem 0 2.4rem; }
.services h2 { font-size: clamp(3.8rem, 6.8vw, 7.4rem); }
.service-card { border-color: rgba(255, 255, 255, .13); color: #fff; background: linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035)); box-shadow: 0 30px 100px rgba(0, 0, 0, .28); backdrop-filter: blur(20px); }
.service-card__index { color: #130818; background: var(--mint); }
.service-card h3 { color: #fff; font-family: var(--display); font-weight: 300; }
.service-card__place, .service-card__facts span { color: rgba(255, 255, 255, .52); }
.service-card__facts strong { color: #fff; font-family: var(--display); font-weight: 420; }
.button--dark { color: #130818; background: linear-gradient(135deg, #fff, #dffdf4); }
.service-modes p { border-color: rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .035); }
.service-modes span { color: #fff; font-family: var(--display); font-weight: 320; }

.experience { padding: clamp(6rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem); background: radial-gradient(circle at 18% 52%, rgba(184, 119, 241, .16), transparent 31rem), #160a1c; }
.experience__heading { padding: 3.8rem 0; }
.experience h2 { font-size: clamp(3.6rem, 6.3vw, 6.8rem); }
.energy-disc { width: min(30vw, 360px); box-shadow: inset 0 0 7rem rgba(170, 244, 223, .08), 0 0 6rem rgba(184, 119, 241, .1); }
.experience__steps h3 { font-family: var(--display); font-weight: 340; }
.experience__steps p { color: rgba(255, 255, 255, .54); }

.practice-visual {
  min-height: auto;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1fr);
  gap: clamp(3rem, 7vw, 7rem);
  padding: clamp(6rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem);
  background: #0d0612;
}
.practice-visual__image img { aspect-ratio: 16 / 11; border: 1px solid rgba(255, 255, 255, .12); border-radius: 1.2rem; box-shadow: 0 30px 100px rgba(0, 0, 0, .28); }
.practice-visual__image figcaption { color: rgba(255, 255, 255, .5); background: rgba(12, 5, 16, .72); }
.practice-visual h2 { font-size: clamp(3.7rem, 6.1vw, 6.7rem); }
.practice-visual__copy > p:not(.eyebrow) { color: rgba(255, 255, 255, .6); }

.booking {
  grid-template-columns: minmax(280px, .62fr) minmax(520px, 1fr);
  gap: clamp(3rem, 7vw, 7rem);
  padding: clamp(6rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem);
  background: radial-gradient(circle at 10% 18%, rgba(184, 119, 241, .17), transparent 28rem), radial-gradient(circle at 90% 80%, rgba(170, 244, 223, .08), transparent 30rem), #160a1c;
}
.booking h2 { font-size: clamp(3.7rem, 6.1vw, 6.7rem); }
.booking__intro > p:not(.eyebrow) { color: rgba(255, 255, 255, .6); }
.booking__status i { background: var(--mint); box-shadow: 0 0 0 5px rgba(170, 244, 223, .08), 0 0 1.5rem rgba(170, 244, 223, .3); }
.booking__status span { color: rgba(255, 255, 255, .46); }
.booking__status b { color: #fff; }
.booking-form { border-color: rgba(255, 255, 255, .13); color: #fff; background: rgba(255, 255, 255, .055); box-shadow: 0 35px 100px rgba(0, 0, 0, .3); }
.form-topline { border-color: rgba(255, 255, 255, .11); }
.form-progress span { color: rgba(255, 255, 255, .28); }
.form-progress span.is-active { color: var(--mint); }
.form-progress i { background: rgba(255, 255, 255, .12); }
.form-step legend { color: #fff; font-family: var(--display); font-weight: 300; }
.field-help { color: rgba(255, 255, 255, .52); }
.choice-stack, .choice-row { border-color: rgba(255, 255, 255, .1); }
.choice-row__number { border-color: rgba(255, 255, 255, .16); color: rgba(255, 255, 255, .58); }
.choice-row strong { color: #fff; font-family: var(--display); font-weight: 420; }
.choice-row small, .choice-row > b { color: rgba(255, 255, 255, .43); }
.choice-row:hover .choice-row__number,
.choice-row input:focus-visible ~ .choice-row__number,
.choice-row input:checked ~ .choice-row__number { color: #15091a; background: var(--mint); }
.choice-row input:checked ~ span strong { color: var(--mint); }
.choice-row:has(input:checked) { background: linear-gradient(90deg, rgba(170, 244, 223, .08), transparent); }
.form-button { color: #140919; background: linear-gradient(135deg, #fff, #dffdf4); }
.form-button span { color: #fff; background: #6d3d8b; }
.form-back { color: rgba(255, 255, 255, .56); }
.field > span, #time-label { color: rgba(255, 255, 255, .78); }
.field input, .field textarea, .time-choice span { border-color: rgba(255, 255, 255, .13); color: #fff; background: rgba(255, 255, 255, .055); }
.field input:focus, .field textarea:focus { border-color: var(--mint); box-shadow: 0 0 0 4px rgba(170, 244, 223, .08); }
.time-choice input:checked + span { border-color: var(--mint); color: #140919; background: var(--mint); }
.consent { color: rgba(255, 255, 255, .54); background: rgba(255, 255, 255, .04); }
.consent input { accent-color: var(--mint); }
.form-note { color: rgba(255, 255, 255, .36); }

.questions { padding: clamp(6rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem); background: #0d0612; }
.questions__grid { gap: clamp(3rem, 7vw, 7rem); padding-top: 3.8rem; }
.questions h2 { font-size: clamp(3.8rem, 6.5vw, 7rem); }
.questions__title > p { color: rgba(255, 255, 255, .55); }
.accordion, .accordion details { border-color: rgba(255, 255, 255, .11); }
.accordion summary { color: #fff; font-family: var(--display); font-weight: 340; }
.accordion summary span { border-color: rgba(255, 255, 255, .14); color: var(--mint); }
.accordion details p { color: rgba(255, 255, 255, .57); }

.finale {
  min-height: 650px;
  background: linear-gradient(rgba(13, 6, 18, .62), rgba(13, 6, 18, .9)), url("assets/hero-energy-v2.webp") center / cover no-repeat;
}
.finale h2 { font-size: clamp(4.7rem, 9vw, 9rem); }
.site-footer { color: rgba(255, 255, 255, .58); background: #08040b; }
.site-footer .wordmark__logo { background: transparent; }

@media (prefers-reduced-motion: no-preference) {
  .hero__orbit { animation: orbitFloat 12s ease-in-out infinite; }
  .hero__sigil { animation: sigilFloat 7s ease-in-out infinite; }
  .hero__sigil-ring { animation: orbitSpin 28s linear infinite; }
}
@keyframes orbitFloat { 50% { transform: translateY(-16px) scale(1.025); } }
@keyframes sigilFloat { 50% { transform: translateY(-14px); filter: brightness(1.08); } }
@keyframes orbitSpin { to { transform: rotate(360deg); } }

@media (max-width: 1040px) {
  .site-nav { gap: 1rem; }
  .hero { grid-template-columns: 1fr; }
  .hero__copy { width: min(760px, 88%); }
  .hero__sigil { position: absolute; right: -8vw; width: min(56vw, 540px); opacity: .52; }
  .about-sara, .reiki-definition, .evidence, .booking { grid-template-columns: 1fr; }
  .booking-form { width: min(760px, 100%); }
}

@media (max-width: 760px) {
  .preview-note { padding-inline: .75rem; font-size: .54rem; }
  .site-header { top: .55rem; width: calc(100% - 1rem); border-radius: 1.1rem; }
  .site-nav { background: rgba(12, 5, 16, .98); }
  .menu-toggle { display: block; border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .06); }
  .menu-toggle i { background: #fff; }
  .wordmark__logo { width: 3.8rem; }
  .hero { min-height: 880px; padding: 10rem 1rem 7rem; }
  .hero h1 { font-size: clamp(4rem, 19vw, 6rem); }
  .hero__copy { width: 100%; align-self: end; }
  .hero__sigil { top: 13%; right: -20%; width: 94vw; opacity: .52; }
  .hero__image img { object-position: 70% center; }
  .hero__footer { left: 1rem; }
  .hero__concept-note { right: 1rem; bottom: 5rem; max-width: 170px; text-align: right; }
  .replay-intro { right: 1rem; }
  .spectrum { top: 7vh; bottom: 10vh; }
  .spectrum__node { width: clamp(2.7rem, 12vw, 4.7rem); }
  .entry__lotus { width: min(680px, 96vw); margin-bottom: -2.5rem; }
  .entry__identity span { font-size: clamp(3.1rem, 15vw, 5.4rem); }
  .entry__identity strong { letter-spacing: .38em; }
  .entry__counter { display: none; }
  .about-sara,
  .reiki-definition,
  .benefits,
  .evidence,
  .services,
  .experience,
  .practice-visual,
  .booking,
  .questions { padding: 5.5rem 1rem; }
  .about-sara h2,
  .reiki-definition h2,
  .benefits h2,
  .evidence h2,
  .services h2,
  .experience h2,
  .practice-visual h2,
  .booking h2,
  .questions h2 { font-size: clamp(3.3rem, 15vw, 5.3rem); }
  .about-sara__portrait img { border-radius: 8rem 8rem 1rem 1rem; }
  .benefit-tabs__panels article { min-height: 480px; }
  .service-card { grid-template-columns: 1fr; }
  .service-card__facts { border-color: rgba(255, 255, 255, .1); }
  .experience__heading, .questions__grid { padding-top: 3rem; }
  .experience__stage, .practice-visual { grid-template-columns: 1fr; }
  .energy-disc { width: min(74vw, 330px); }
  .booking { grid-template-columns: 1fr; }
  .field-grid { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .finale { min-height: 580px; }
  .site-footer { padding-bottom: 7rem; }
  .mobile-book { border-color: rgba(255, 255, 255, .13); color: #140919; background: linear-gradient(135deg, #fff, #dffdf4); }
  .mobile-book b { color: #fff; background: #6d3d8b; }
}

@media (max-width: 390px) {
  .entry__identity strong { font-size: .58rem; letter-spacing: .28em; }
  .hero h1 { font-size: 3.65rem; }
  .hero__actions { align-items: stretch; flex-direction: column; }
  .hero__actions .button { width: 100%; }
}

@media (max-width: 380px) {
  .wordmark__logo { width: 3rem; height: 2.25rem; }
  .wordmark strong { font-size: 0.9rem; }
  .entry__signal { gap: .45rem; }
  .entry__signal i { width: 1.5rem; }
  .hero h1 { font-size: 3.45rem; }
  .hero__footer { gap: 0.45rem; }
  .hero__footer span { font-size: 0.5rem; }
  .form-progress i { width: 0.8rem; }
  .choice-row strong { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .welcome { animation-delay: .2s !important; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.001ms !important; }
}

/* --------------------------------------------------------------------------
   FUTURE SANCTUARY V6 — root-to-crown ignition and reactive light
   -------------------------------------------------------------------------- */

html {
  --pointer-x: 50vw;
  --pointer-y: 50vh;
}

body::after {
  position: fixed;
  z-index: 90;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  opacity: .12;
  background: radial-gradient(circle 17rem at var(--pointer-x) var(--pointer-y), rgba(195, 135, 255, .34), rgba(143, 244, 219, .08) 42%, transparent 72%);
  content: "";
  mix-blend-mode: screen;
  pointer-events: none;
}

.page-progress {
  position: fixed;
  z-index: 1700;
  top: 17vh;
  right: clamp(.45rem, 1vw, 1rem);
  width: 2px;
  height: 66vh;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .09);
  pointer-events: none;
}

.page-progress span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(to bottom, #ff4b55, #ff9a42 16%, #ffe268 32%, #69dda0 48%, #67c7f2 64%, #6676de 80%, #c07cff);
  box-shadow: 0 0 .8rem rgba(195, 135, 255, .9);
  transform: scaleY(0);
  transform-origin: top;
  will-change: transform;
}

.site-header {
  transition: width 420ms ease, background-color 420ms ease, border-color 420ms ease, box-shadow 420ms ease, transform 420ms ease;
}

.site-header.is-scrolled {
  width: min(1160px, calc(100% - 2rem));
  border-color: rgba(255, 255, 255, .17);
  background: rgba(10, 4, 14, .88);
  box-shadow: 0 18px 70px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .05);
}

.site-nav a:not(.nav-cta) {
  position: relative;
  transition: color 240ms ease;
}

.site-nav a:not(.nav-cta)::after {
  position: absolute;
  right: 0;
  bottom: -.62rem;
  left: 0;
  height: 1px;
  opacity: 0;
  background: linear-gradient(90deg, transparent, var(--mint), transparent);
  box-shadow: 0 0 .7rem var(--mint);
  content: "";
  transform: scaleX(.2);
  transition: opacity 240ms ease, transform 240ms ease;
}

.site-nav a[aria-current="location"] { color: #fff; }
.site-nav a[aria-current="location"]::after { opacity: 1; transform: scaleX(1); }

.button,
.nav-cta,
.form-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.button::before,
.nav-cta::before,
.form-button::before {
  position: absolute;
  z-index: -1;
  top: -60%;
  bottom: -60%;
  left: -45%;
  width: 28%;
  opacity: .52;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .85), transparent);
  content: "";
  transform: rotate(17deg) translateX(-420%);
  transition: transform 680ms cubic-bezier(.16, .86, .25, 1);
}

.button:hover::before,
.nav-cta:hover::before,
.form-button:hover::before { transform: rotate(17deg) translateX(680%); }

.energy-card {
  --glow-x: 50%;
  --glow-y: 50%;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.energy-card::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  opacity: 0;
  background: radial-gradient(circle 18rem at var(--glow-x) var(--glow-y), rgba(195, 135, 255, .16), rgba(170, 244, 223, .055) 36%, transparent 70%);
  content: "";
  pointer-events: none;
  transition: opacity 320ms ease;
}

.energy-card:hover::before { opacity: 1; }

/* A quiet ambient lift across the page so each section feels connected. */
.site-shell::before {
  position: fixed;
  z-index: -1;
  inset: -20%;
  opacity: .34;
  background:
    radial-gradient(circle at 22% 30%, rgba(184, 119, 241, .18), transparent 24rem),
    radial-gradient(circle at 79% 62%, rgba(170, 244, 223, .09), transparent 28rem),
    radial-gradient(circle at 48% 92%, rgba(255, 183, 210, .09), transparent 25rem);
  content: "";
  filter: blur(60px);
  pointer-events: none;
}

/* The energy rises once, activating each chakra at its own position. */
.welcome {
  animation: introExit 780ms 4.9s cubic-bezier(.77, 0, .18, 1) forwards;
}

.welcome::after { animation: introAurora 5.6s ease both; }

.spectrum {
  top: 7vh;
  bottom: 8vh;
  width: clamp(8rem, 14vw, 13rem);
}

.spectrum__line {
  top: 1.8rem;
  bottom: 1.8rem;
  width: 4px;
  opacity: .18;
  border-radius: 999px;
  background: linear-gradient(to top, #ff4b55, #ff9a42 16%, #ffe268 32%, #69dda0 48%, #67c7f2 64%, #6676de 80%, #c07cff);
  box-shadow: 0 0 1rem rgba(255, 255, 255, .52), 0 0 4rem rgba(184, 119, 241, .5);
  transform: translateX(-50%) scaleY(0);
  transform-origin: bottom;
}

.spectrum__traveller {
  position: absolute;
  z-index: 6;
  top: calc(100% - 2.2rem);
  left: 50%;
  width: clamp(.7rem, 1.15vw, 1.05rem);
  aspect-ratio: 1;
  opacity: 0;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0 25%, #dffdf4 46%, rgba(170, 244, 223, .25) 72%, transparent 76%);
  box-shadow: 0 0 .8rem #fff, 0 0 2.2rem #aaf4df, 0 0 5rem rgba(255, 255, 255, .72);
  transform: translate(-50%, -50%);
}

.spectrum__traveller::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: .65rem;
  height: min(24vh, 13rem);
  background: linear-gradient(to bottom, rgba(255, 255, 255, .94), rgba(195, 135, 255, .45) 30%, transparent);
  content: "";
  filter: blur(8px);
  transform: translate(-50%, 0);
}

.spectrum__node {
  width: clamp(2.7rem, 5.3vw, 5rem);
  opacity: .015;
  border-color: rgba(255, 255, 255, .32);
  background: radial-gradient(circle at 42% 38%, rgba(255, 255, 255, .8) 0 5%, var(--spectrum-colour) 20%, color-mix(in srgb, var(--spectrum-colour) 55%, transparent) 48%, transparent 72%);
  box-shadow: none;
  filter: saturate(.35) brightness(.12);
  transform: scale(.22);
}

.spectrum__node::before {
  width: .8rem;
  height: min(18vh, 10rem);
  opacity: 0;
  filter: blur(9px);
}

.spectrum__node::after {
  inset: -1.4rem;
  opacity: 0;
  border-width: 1px;
}

.spectrum__node i {
  position: absolute;
  top: 50%;
  left: calc(100% + 2rem);
  width: max-content;
  opacity: 0;
  color: rgba(255, 255, 255, .72);
  font-size: .55rem;
  font-style: normal;
  font-weight: 740;
  letter-spacing: .2em;
  text-shadow: 0 0 1rem var(--spectrum-colour);
  text-transform: uppercase;
  transform: translate(-1rem, -50%);
}

.spectrum__crown-burst {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 50%;
  width: clamp(9rem, 19vw, 17rem);
  aspect-ratio: 1;
  opacity: 0;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 50%;
  background:
    repeating-conic-gradient(from 0deg, rgba(255, 255, 255, .9) 0 1deg, transparent 1deg 12deg),
    radial-gradient(circle, #fff 0 3%, #d99cff 7%, rgba(166, 107, 224, .42) 22%, transparent 67%);
  box-shadow: 0 0 2rem #fff, 0 0 8rem #c46fff, 0 0 15rem rgba(103, 199, 242, .7);
  -webkit-mask: radial-gradient(circle, #000 0 48%, transparent 73%);
  mask: radial-gradient(circle, #000 0 48%, transparent 73%);
  transform: translate(-50%, -50%) scale(.08) rotate(-15deg);
}

.entry__counter {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.entry__counter b {
  color: rgba(255, 255, 255, .72);
  font-size: inherit;
  font-weight: 740;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.entry__lotus {
  position: relative;
  z-index: 1;
  width: min(460px, 68vw);
  margin-bottom: -1.4rem;
}

.entry__identity {
  position: relative;
  z-index: 2;
}

.hero__scroll-cue {
  position: absolute;
  z-index: 4;
  bottom: 1.4rem;
  left: 50%;
  display: grid;
  justify-items: center;
  gap: .65rem;
  color: rgba(255, 255, 255, .42);
  font-size: .52rem;
  font-weight: 720;
  letter-spacing: .18em;
  text-decoration: none;
  text-transform: uppercase;
  transform: translateX(-50%);
}

.hero__scroll-cue i {
  display: block;
  width: 1px;
  height: 2.2rem;
  overflow: hidden;
  background: rgba(255, 255, 255, .12);
}

.hero__scroll-cue i::after {
  display: block;
  width: 100%;
  height: 45%;
  background: linear-gradient(to bottom, transparent, var(--mint));
  box-shadow: 0 0 .8rem var(--mint);
  content: "";
}

@media (prefers-reduced-motion: no-preference) {
  .welcome { animation: introExit 780ms 4.9s cubic-bezier(.77, 0, .18, 1) forwards; }
  .welcome__wash { animation: washIgnite 2.8s .15s ease both; }
  .spectrum { animation: spectrumDissolve 680ms 3.05s ease both; }
  .spectrum__line { animation: energyRail 2.45s .18s cubic-bezier(.15, .82, .22, 1) both; }
  .spectrum__traveller { animation: energyTraveller 2.38s .22s cubic-bezier(.2, .76, .2, 1) both; }
  .spectrum__node { animation: chakraIgnite 720ms calc(.28s + var(--order) * .34s) cubic-bezier(.15, .82, .2, 1.2) both; }
  .spectrum__node::before { animation: chakraTrail 720ms calc(.28s + var(--order) * .34s) ease-out both; }
  .spectrum__node::after { animation: chakraRing 900ms calc(.34s + var(--order) * .34s) ease-out both; }
  .spectrum__node i { animation: chakraLabel 460ms calc(.38s + var(--order) * .34s) ease both; }
  .spectrum__crown-burst { animation: crownConvergence 1.18s 2.28s cubic-bezier(.15, .82, .22, 1) both; }
  .entry__halo { animation: haloReveal 1s 2.92s ease both; }
  .entry__lotus { animation: lotusReveal 960ms 2.98s cubic-bezier(.16, .86, .25, 1) both; }
  .entry__identity { animation: identityFuture 760ms 3.28s cubic-bezier(.16, .86, .25, 1) both; }
  .entry__signal { animation: brandArrive 520ms 3.72s ease both; }
  .entry__counter { animation: counterSettle 520ms 3.72s ease both; }
  .hero__scroll-cue i::after { animation: scrollSignal 1.9s ease-in-out infinite; }
}

@keyframes energyRail {
  0% { opacity: 0; transform: translateX(-50%) scaleY(0); }
  14% { opacity: .45; }
  100% { opacity: .42; transform: translateX(-50%) scaleY(1); }
}

@keyframes energyTraveller {
  0% { top: calc(100% - 2.2rem); opacity: 0; transform: translate(-50%, -50%) scale(.2); }
  7% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  88% { opacity: 1; }
  100% { top: 1.1rem; opacity: 0; transform: translate(-50%, -50%) scale(2.2); }
}

@keyframes chakraIgnite {
  0% { opacity: .01; filter: saturate(.25) brightness(.08) blur(2px); transform: scale(.18); box-shadow: none; }
  30% { opacity: 1; filter: saturate(1.5) brightness(4); transform: scale(2.3); }
  58% { opacity: 1; filter: saturate(1.25) brightness(2); transform: scale(1.16); }
  100% { opacity: 1; filter: saturate(1.12) brightness(1.28); transform: scale(1); box-shadow: 0 0 1.4rem #fff, 0 0 3.5rem var(--spectrum-colour), 0 0 9rem var(--spectrum-colour); }
}

@keyframes chakraTrail {
  0%, 18% { opacity: 0; transform: translateX(-50%) scaleY(.1); }
  42% { opacity: .92; }
  100% { opacity: .42; transform: translateX(-50%) scaleY(1); }
}

@keyframes chakraRing {
  0% { opacity: 0; transform: scale(.15); }
  28% { opacity: 1; }
  100% { opacity: 0; transform: scale(5.7); }
}

@keyframes chakraLabel {
  0%, 18% { opacity: 0; transform: translate(-1rem, -50%); }
  42%, 72% { opacity: .9; transform: translate(0, -50%); }
  100% { opacity: 0; transform: translate(.65rem, -50%); }
}

@keyframes crownConvergence {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.08) rotate(-15deg); }
  35% { opacity: 1; transform: translate(-50%, -50%) scale(.65) rotate(4deg); }
  67% { opacity: .95; transform: translate(-50%, -50%) scale(1.8) rotate(13deg); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(3.5) rotate(24deg); }
}

@keyframes spectrumDissolve {
  0%, 48% { opacity: 1; filter: none; transform: translateX(-50%) scale(1); }
  100% { opacity: 0; filter: blur(22px); transform: translateX(-50%) scale(1.24); }
}

@keyframes counterSettle {
  from { opacity: .25; filter: blur(5px); }
  to { opacity: .8; filter: none; }
}

@keyframes scrollSignal {
  0% { opacity: 0; transform: translateY(-120%); }
  45% { opacity: 1; }
  100% { opacity: 0; transform: translateY(220%); }
}

@media (max-width: 760px) {
  body::after { display: none; }
  .page-progress { right: 3px; }
  .site-header.is-scrolled { width: calc(100% - 1rem); }
  .spectrum { top: 6vh; bottom: 9vh; width: 7.8rem; }
  .spectrum__node { width: clamp(2.45rem, 10vw, 4.1rem); }
  .spectrum__node i { display: none; }
  .entry__lotus { width: min(650px, 92vw); }
  .hero__scroll-cue { display: none; }
}

@media (max-width: 390px) {
  .spectrum { top: 5vh; bottom: 10vh; }
  .spectrum__node { width: clamp(2.1rem, 9vw, 3.2rem); }
}

@media (prefers-reduced-motion: reduce) {
  body::after,
  .page-progress,
  .hero__scroll-cue { display: none; }
  .spectrum { opacity: 0; }
  .entry__halo,
  .entry__lotus,
  .entry__identity,
  .entry__signal { opacity: 1 !important; }
}

/* --------------------------------------------------------------------------
   LIGHTER PURPLE V7 — a softer, more luminous sanctuary palette
   -------------------------------------------------------------------------- */

:root {
  --aubergine: #281438;
  --paper: #1c0d27;
  --pearl: #2a1538;
  --lilac: #d9b8f5;
  --violet: #c48cff;
  --surface: rgba(255, 255, 255, .07);
  --surface-strong: rgba(255, 255, 255, .105);
}

html { background: #180b21; }

body {
  background:
    radial-gradient(circle at 18% 10%, rgba(202, 145, 255, .19), transparent 34rem),
    radial-gradient(circle at 88% 24%, rgba(170, 244, 223, .09), transparent 36rem),
    #180b21;
}

.preview-note { background: #15091d; }

.welcome {
  background:
    radial-gradient(circle at 50% 52%, rgba(211, 155, 255, .23), transparent 19rem),
    radial-gradient(circle at 50% 100%, rgba(255, 82, 95, .13), transparent 34rem),
    linear-gradient(160deg, #120719, #2a1238 48%, #120719);
}

.site-header { background: rgba(42, 20, 56, .78); }
.site-header.is-scrolled { background: rgba(42, 20, 56, .9); }

.hero { background: #1a0c24; }
.hero__veil {
  background:
    linear-gradient(90deg, rgba(20, 9, 28, .97) 0%, rgba(27, 13, 37, .88) 38%, rgba(31, 15, 42, .28) 72%, rgba(27, 13, 37, .52) 100%),
    linear-gradient(0deg, #1a0c24 0%, transparent 26%, transparent 78%, rgba(27, 13, 37, .58) 100%);
}

.about-sara {
  background: radial-gradient(circle at 6% 40%, rgba(202, 145, 255, .18), transparent 31rem), #21102d;
}

.reiki-definition {
  background: radial-gradient(circle at 78% 45%, rgba(170, 244, 223, .12), transparent 28rem), #291436;
}

.benefits {
  background: radial-gradient(circle at 92% 12%, rgba(255, 183, 210, .13), transparent 34rem), #1a0c24;
}

.evidence {
  background: radial-gradient(circle at 84% 50%, rgba(202, 145, 255, .22), transparent 28rem), #291436;
}

.services {
  background: radial-gradient(circle at 95% 20%, rgba(170, 244, 223, .11), transparent 32rem), #1a0c24;
}

.experience {
  background: radial-gradient(circle at 18% 52%, rgba(202, 145, 255, .2), transparent 31rem), #291436;
}

.practice-visual { background: #1a0c24; }

.booking {
  background:
    radial-gradient(circle at 10% 18%, rgba(202, 145, 255, .21), transparent 28rem),
    radial-gradient(circle at 90% 80%, rgba(170, 244, 223, .09), transparent 30rem),
    #291436;
}

.questions { background: #1a0c24; }

.finale {
  background: linear-gradient(rgba(29, 14, 39, .58), rgba(29, 14, 39, .86)), url("assets/hero-energy-v2.webp") center / cover no-repeat;
}

.site-footer { background: #13081a; }

@media (max-width: 760px) {
  .site-nav { background: rgba(34, 16, 46, .985); }
}

/* --------------------------------------------------------------------------
   SARA FEEDBACK V8 — professional details, richer colour and new sections
   -------------------------------------------------------------------------- */

:root {
  --midnight-purple: #21102d;
  --light-purple: #321944;
  --mint-bright: #aaf4df;
  --mint-deep: #2f8f79;
}

/* Keep the chakra rise visible on laptop screens, then hold the identity. */
.welcome { animation: introExit 780ms 7.25s cubic-bezier(.77, 0, .18, 1) forwards; }
.welcome::after { animation: introAurora 8.05s ease both; }
.entry__lotus {
  width: min(540px, 70vw);
  height: auto;
  transform: scaleX(.89) scaleY(1.08);
  transform-origin: center bottom;
}

@media (prefers-reduced-motion: no-preference) {
  .welcome { animation: introExit 780ms 7.25s cubic-bezier(.77, 0, .18, 1) forwards; }
  .spectrum { animation: spectrumDissolve 720ms 3.7s ease both; }
  .spectrum__line { animation: energyRail 3.25s .12s cubic-bezier(.15, .82, .22, 1) both; }
  .spectrum__traveller { animation: energyTraveller 3.2s .16s cubic-bezier(.2, .76, .2, 1) both; }
  .spectrum__node { animation: chakraIgnite 800ms calc(.2s + var(--order) * .43s) cubic-bezier(.15, .82, .2, 1.2) both; }
  .spectrum__node::before { animation: chakraTrail 800ms calc(.2s + var(--order) * .43s) ease-out both; }
  .spectrum__node::after { animation: chakraRing 980ms calc(.27s + var(--order) * .43s) ease-out both; }
  .spectrum__node i { animation: chakraLabel 560ms calc(.28s + var(--order) * .43s) ease both; }
  .spectrum__crown-burst { animation: crownConvergence 1.28s 3.02s cubic-bezier(.15, .82, .22, 1) both; }
  .entry__halo { animation: haloReveal 1s 3.56s ease both; }
  .entry__lotus { animation: lotusRevealV8 1.05s 3.58s cubic-bezier(.16, .86, .25, 1) both; }
  .entry__identity { animation: identityFuture 820ms 3.96s cubic-bezier(.16, .86, .25, 1) both; }
  .entry__signal { animation: brandArrive 560ms 4.48s ease both; }
  .entry__counter { animation: counterSettle 520ms 4.48s ease both; }
}

@keyframes lotusRevealV8 {
  from { opacity: 0; filter: blur(22px) brightness(2.8); transform: scaleX(.58) scaleY(.68); }
  65% { opacity: 1; filter: blur(0) brightness(1.35); transform: scaleX(.95) scaleY(1.15); }
  to { opacity: 1; filter: none; transform: scaleX(.89) scaleY(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .welcome { animation: introExit 420ms 6.2s ease forwards !important; }
  .welcome::after,
  .welcome__wash { animation: none !important; }
  .spectrum { opacity: .72; filter: none; animation: spectrumDissolve 420ms 3.35s ease both !important; }
  .spectrum__line { opacity: .32; transform: translateX(-50%) scaleY(1); }
  .spectrum__node { animation: chakraGlowReduced 520ms calc(.24s + var(--order) * .4s) ease both !important; }
  .spectrum__node::before { opacity: .22; animation: none !important; }
  .spectrum__node::after { opacity: 0; animation: none !important; }
  .spectrum__node i { display: none; }
  .spectrum__crown-burst { animation: softCrownReduced 620ms 2.8s ease both !important; }
  .entry__halo { opacity: .72 !important; animation: none !important; }
  .entry__lotus { transform: scaleX(.89) scaleY(1.08); animation: lotusFadeReduced 680ms 3.42s ease both !important; }
  .entry__identity { animation: identityFadeReduced 620ms 3.68s ease both !important; }
  .entry__signal,
  .entry__counter { animation: identityFadeReduced 520ms 4.06s ease both !important; }
}

@keyframes chakraGlowReduced {
  from { opacity: .03; filter: saturate(.35) brightness(.25); transform: scale(.55); }
  56% { opacity: 1; filter: saturate(1.25) brightness(1.65); transform: scale(1.12); }
  to { opacity: .94; filter: saturate(1.05) brightness(1.08); transform: scale(.84); }
}

@keyframes softCrownReduced {
  from { opacity: 0; transform: translate(-50%, -50%) scale(.55); }
  55% { opacity: .7; transform: translate(-50%, -50%) scale(1.12); }
  to { opacity: 0; transform: translate(-50%, -50%) scale(1.35); }
}

@keyframes lotusFadeReduced {
  from { opacity: 0; filter: blur(7px); transform: scaleX(.89) scaleY(1.08); }
  to { opacity: 1; filter: none; transform: scaleX(.89) scaleY(1.08); }
}

@keyframes identityFadeReduced {
  from { opacity: 0; filter: blur(5px); }
  to { opacity: 1; filter: none; }
}

/* More luminous purple and softly layered energy swirls across the page. */
.site-shell {
  position: relative;
  background: #21102d;
  isolation: isolate;
}

.site-shell::after {
  position: fixed;
  z-index: -1;
  inset: -18%;
  opacity: .33;
  background:
    conic-gradient(from 215deg at 18% 32%, transparent 0 21%, rgba(191, 132, 255, .2) 28%, transparent 36% 100%),
    conic-gradient(from 25deg at 80% 66%, transparent 0 28%, rgba(170, 244, 223, .12) 34%, transparent 42% 100%),
    radial-gradient(ellipse at 45% 88%, rgba(255, 174, 213, .12), transparent 34%);
  content: "";
  filter: blur(54px);
  pointer-events: none;
}

.about-sara,
.benefits,
.services,
.practice-visual,
.questions { background-color: #21102d; }

.about-sara__credential {
  color: var(--mint-bright) !important;
  font-size: .72rem;
  font-weight: 760;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.about-sara__portrait {
  width: min(520px, 100%);
  justify-self: center;
}

.about-sara__portrait img {
  aspect-ratio: 355 / 556;
  object-position: center;
}

.professional-logos {
  display: grid;
  max-width: 700px;
  grid-template-columns: .75fr 1.25fr 1.1fr;
  gap: .7rem;
  margin-top: 2.2rem;
}

.professional-logos a {
  display: grid;
  min-height: 94px;
  place-items: center;
  padding: .7rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: .85rem;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .2);
  transition: transform 220ms ease, border-color 220ms ease;
}

.professional-logos a:hover { border-color: var(--mint-bright); transform: translateY(-3px); }
.professional-logos img { width: 100%; max-height: 70px; object-fit: contain; }
.professional-logos a:first-child img { max-width: 90px; }

.reiki-lineage,
.biofield,
.reviews,
.contact {
  position: relative;
  overflow: hidden;
  padding: clamp(6rem, 10vw, 10rem) clamp(1.25rem, 8vw, 8rem);
  color: #fff;
}

.reiki-lineage {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 9rem);
  background:
    radial-gradient(circle at 9% 24%, rgba(196, 140, 255, .24), transparent 30rem),
    radial-gradient(circle at 82% 74%, rgba(170, 244, 223, .14), transparent 27rem),
    #321944;
}

.reiki-lineage::after,
.reviews::after,
.contact::after {
  position: absolute;
  right: -15rem;
  bottom: -19rem;
  width: 42rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(255,255,255,.025), 0 0 0 10rem rgba(196,140,255,.035), 0 0 9rem rgba(196,140,255,.13);
  content: "";
  pointer-events: none;
}

.lineage__copy,
.principles-card,
.reviews > *,
.contact > * { position: relative; z-index: 1; }

.reiki-lineage h2,
.biofield h2,
.reviews h2,
.contact h2 {
  margin-top: 1.2rem;
  color: #fff;
  font-family: var(--display, var(--sans));
  font-size: clamp(3.6rem, 6.4vw, 7rem);
  font-weight: 260;
  letter-spacing: -.06em;
  line-height: .91;
}

.reiki-lineage h2 em,
.biofield h2 em,
.reviews h2 em,
.contact h2 em { color: var(--blush); font-family: var(--serif); font-weight: 400; }
.lineage__copy > p:not(.eyebrow) { max-width: 720px; color: rgba(255, 255, 255, .65); }

.principle-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 2.4rem;
}

.principle-focus-grid article {
  min-height: 235px;
  padding: 1.4rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: .9rem;
  background: linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.025));
}

.principle-focus-grid article > span { color: var(--mint-bright); font-family: var(--serif); font-size: 2rem; }
.principle-focus-grid h3 { margin: 1.4rem 0 .65rem; font-size: 1.25rem; font-weight: 560; }
.principle-focus-grid p { margin: 0; color: rgba(255,255,255,.56); font-size: .78rem; }

.principles-card {
  padding: clamp(2rem, 4vw, 3.8rem);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 10rem 10rem 1.2rem 1.2rem;
  background:
    radial-gradient(circle at 50% 100%, rgba(255,217,188,.22), transparent 35%),
    linear-gradient(155deg, rgba(95,210,190,.88), rgba(68,145,160,.5) 58%, rgba(111,71,149,.42));
  box-shadow: 0 30px 100px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.2);
  text-align: center;
}

.principles-card__lotus { display: block; color: #fff; font-size: 3rem; }
.principles-card .eyebrow { justify-content: center; color: rgba(255,255,255,.78); }
.principles-card h3 { margin: 1rem 0 1.6rem; font-family: var(--serif); font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 400; }
.principles-card ul { display: grid; gap: .85rem; padding: 0; margin: 0; list-style: none; }
.principles-card li { padding-bottom: .75rem; border-bottom: 1px solid rgba(255,255,255,.18); font-family: var(--serif); font-size: 1.08rem; }
.principles-card li:last-child { border-bottom: 0; }

.biofield {
  display: grid;
  min-height: 780px;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 8rem);
  background:
    radial-gradient(circle at 86% 18%, rgba(170,244,223,.14), transparent 29rem),
    #251333;
}

.biofield__image { position: relative; margin: 0; }
.biofield__image::before { position: absolute; z-index: 1; inset: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 1.2rem; box-shadow: inset 0 0 5rem rgba(24,8,36,.38); content: ""; pointer-events: none; }
.biofield__image img { width: 100%; aspect-ratio: 16 / 11; border-radius: 1.2rem; object-fit: cover; box-shadow: 0 30px 110px rgba(0,0,0,.34); }
.biofield__image figcaption { margin-top: .75rem; color: rgba(255,255,255,.42); font-size: .6rem; }
.biofield__copy > p:not(.eyebrow) { max-width: 650px; color: rgba(255,255,255,.63); }
.text-link { display: inline-flex; gap: .8rem; margin-top: 1.4rem; color: var(--mint-bright); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }

.reviews {
  background:
    radial-gradient(circle at 14% 18%, rgba(255,183,210,.16), transparent 30rem),
    radial-gradient(circle at 82% 70%, rgba(170,244,223,.1), transparent 32rem),
    #2c173b;
}

.reviews__heading { max-width: 980px; }
.reviews__notice { max-width: 760px; color: rgba(255,255,255,.58); }
.reviews__notice strong { color: var(--mint-bright); }
.review-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .85rem; margin-top: 3rem; }
.review-card { min-height: 330px; padding: clamp(1.5rem, 3vw, 2.5rem); margin: 0; border: 1px solid rgba(255,255,255,.13); border-radius: 1rem; background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)); box-shadow: 0 25px 80px rgba(0,0,0,.19); }
.review-card > span { color: var(--mint-bright); font-family: var(--serif); font-size: 2rem; }
.review-card p { margin: 3.2rem 0 2rem; font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2.35rem); line-height: 1.17; }
.review-card cite { color: rgba(255,255,255,.43); font-size: .6rem; font-style: normal; font-weight: 720; letter-spacing: .14em; text-transform: uppercase; }

.evidence { align-items: start; }
.evidence__responsible { padding: 1rem 1.2rem; border-left: 2px solid var(--mint-bright); background: rgba(255,255,255,.05); color: rgba(255,255,255,.82) !important; }
.research-library { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .7rem; width: 100%; }
.research-library a { display: grid; min-height: 170px; padding: 1.35rem; border: 1px solid rgba(255,255,255,.12); border-radius: .85rem; background: rgba(255,255,255,.045); text-decoration: none; transition: background 220ms ease, border-color 220ms ease, transform 220ms ease; }
.research-library a:hover { border-color: rgba(170,244,223,.7); background: rgba(255,255,255,.075); transform: translateY(-3px); }
.research-library small { color: var(--mint-bright); font-size: .53rem; font-weight: 720; letter-spacing: .14em; text-transform: uppercase; }
.research-library strong { align-self: end; margin-top: 1.6rem; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; line-height: 1.1; }
.research-library span { margin-top: .7rem; color: rgba(255,255,255,.48); font-size: .65rem; }

.service-card__place a { color: var(--mint-bright); text-underline-offset: .25rem; }

.contact {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 9rem);
  background:
    radial-gradient(circle at 15% 42%, rgba(196,140,255,.22), transparent 31rem),
    radial-gradient(circle at 88% 18%, rgba(170,244,223,.13), transparent 29rem),
    #321944;
}

.contact__brand > img { width: min(310px, 62vw); height: auto; margin: 0 0 -2.7rem -2rem; filter: drop-shadow(0 0 2.4rem rgba(196,140,255,.45)); }
.contact__details { display: grid; gap: .75rem; }
.contact-link { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 1.25rem 1.4rem; border: 1px solid rgba(255,255,255,.14); border-radius: .85rem; background: rgba(255,255,255,.06); text-decoration: none; }
.contact-link small { grid-column: 1; color: rgba(255,255,255,.45); font-size: .56rem; font-weight: 720; letter-spacing: .14em; text-transform: uppercase; }
.contact-link strong { grid-column: 1; margin-top: .2rem; font-size: clamp(.86rem, 1.6vw, 1.15rem); overflow-wrap: anywhere; }
.contact-link > span { grid-column: 2; grid-row: 1 / 3; color: var(--mint-bright); }
.social-links { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.social-links a { display: flex; min-height: 72px; align-items: center; gap: .85rem; padding: 1rem 1.15rem; border-radius: .85rem; color: #1d1027; background: linear-gradient(135deg, #fff, #dffdf4); text-decoration: none; }
.social-links span { display: grid; width: 2.4rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: #6e4090; font-weight: 800; }
.social-links strong { font-size: .72rem; }

.finale .eyebrow { font-size: clamp(.72rem, 1.1vw, .92rem); letter-spacing: .24em; }
.finale .button--light { color: var(--mint-deep); background: #fff; }
.finale .button--light span { color: var(--mint-deep); }

.site-footer a { color: rgba(255,255,255,.72); text-underline-offset: .2rem; }
.site-footer__legal strong { color: var(--mint-bright); }

@media (max-width: 1120px) {
  .reiki-lineage,
  .biofield,
  .contact { grid-template-columns: 1fr; }
  .principles-card { width: min(620px, 100%); }
  .biofield__image { width: min(860px, 100%); }
  .review-grid,
  .research-library { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .entry__lotus { width: min(600px, 92vw); }
  .site-nav {
    position: absolute;
    top: -.55rem;
    right: -.5rem;
    bottom: auto;
    left: -.5rem;
    width: 100vw;
    height: 100dvh;
    justify-content: flex-start;
    overflow-y: auto;
    padding: 6.5rem 1.5rem 2rem;
  }
  .professional-logos { grid-template-columns: 1fr; }
  .professional-logos a { min-height: 82px; }
  .professional-logos a:first-child img { max-width: 78px; }
  .reiki-lineage,
  .biofield,
  .reviews,
  .contact { padding: 5.5rem 1rem; }
  .reiki-lineage h2,
  .biofield h2,
  .reviews h2,
  .contact h2 { font-size: clamp(3.25rem, 15vw, 5.2rem); }
  .principle-focus-grid,
  .review-grid,
  .research-library,
  .social-links { grid-template-columns: 1fr; }
  .principle-focus-grid article { min-height: auto; }
  .principles-card { border-radius: 8rem 8rem 1rem 1rem; }
  .biofield__image img { aspect-ratio: 4 / 5; object-position: 64% center; }
  .review-card { min-height: 280px; }
  .contact__brand > img { margin-left: -1rem; }
}

/* --------------------------------------------------------------------------
   SARA FEEDBACK V9 — natural logo, light sanctuary and chakra rings
   -------------------------------------------------------------------------- */

:root {
  --lavender-wash: #f4eeff;
  --lavender-soft: #e8dffb;
  --lavender-mid: #d8c4f1;
  --lavender-rich: #cbb5ee;
  --plum-ink: #382348;
  --plum-soft: #66566f;
}

html,
body,
.site-shell { background: var(--lavender-wash); }

/* Preserve the supplied logo's proportions in the opening reveal. */
.entry__lotus {
  width: min(620px, 78vw);
  height: auto;
  margin-bottom: clamp(-2.8rem, -4vw, -1.4rem);
  object-fit: contain;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  .entry__lotus { animation: lotusRevealV9 1.08s 3.58s cubic-bezier(.16, .86, .25, 1) both; }
}

@keyframes lotusRevealV9 {
  from { opacity: 0; filter: blur(22px) brightness(2.8); transform: scale(.66); }
  65% { opacity: 1; filter: blur(0) brightness(1.3); transform: scale(1.04); }
  to { opacity: 1; filter: none; transform: scale(1); }
}

/* The requested mint wording in the white navigation button. */
.nav-cta { color: var(--mint-deep); background: #fff; }
.nav-cta span { color: var(--mint-bright); background: #5c327b; }

/* Light-purple page scenes, retaining the dark opening and research moments. */
.about-sara,
.reiki-definition,
.reiki-lineage,
.biofield,
.benefits,
.reviews,
.services,
.experience,
.practice-visual,
.contact,
.questions {
  overflow: hidden;
  color: var(--plum-ink);
}

.about-sara,
.benefits,
.services,
.practice-visual,
.questions { background-color: var(--lavender-wash); }

.about-sara { background: radial-gradient(circle at 8% 42%, rgba(179, 118, 235, .2), transparent 31rem), var(--lavender-wash); }
.reiki-definition { background: radial-gradient(circle at 79% 45%, rgba(89, 187, 160, .16), transparent 29rem), var(--lavender-soft); }
.reiki-lineage {
  background:
    radial-gradient(circle at 9% 24%, rgba(151, 88, 210, .2), transparent 30rem),
    radial-gradient(circle at 82% 74%, rgba(92, 195, 166, .16), transparent 27rem),
    var(--lavender-mid);
}
.biofield { background: radial-gradient(circle at 86% 18%, rgba(89, 187, 160, .16), transparent 29rem), #ede6fa; }
.benefits { background: linear-gradient(rgba(244, 238, 255, .91), rgba(244, 238, 255, .96)), url("assets/reiki-hands-editorial.webp") 72% 50% / cover no-repeat; }
.reviews { background: radial-gradient(circle at 14% 18%, rgba(255, 183, 210, .25), transparent 30rem), var(--lavender-mid); }
.services { background: radial-gradient(circle at 95% 20%, rgba(89, 187, 160, .15), transparent 32rem), var(--lavender-wash); }
.experience { background: radial-gradient(circle at 18% 52%, rgba(151, 88, 210, .2), transparent 31rem), var(--lavender-mid); }
.practice-visual { background: var(--lavender-wash); }
.contact { background: radial-gradient(circle at 15% 42%, rgba(151, 88, 210, .2), transparent 31rem), var(--lavender-mid); }
.questions { background: linear-gradient(rgba(244, 238, 255, .92), rgba(244, 238, 255, .97)), url("assets/reiki-session-editorial.webp") center / cover no-repeat; }

.about-sara h2,
.reiki-definition h2,
.reiki-lineage h2,
.biofield h2,
.benefits h2,
.reviews h2,
.services h2,
.experience h2,
.practice-visual h2,
.contact h2,
.questions h2,
.support-card h3,
.service-card h3,
.questions .accordion summary { color: var(--plum-ink); }

.about-sara__copy > p:not(.eyebrow),
.reiki-definition__copy > p:not(.eyebrow),
.lineage__copy > p:not(.eyebrow),
.biofield__copy > p:not(.eyebrow),
.benefits__heading > p:last-child,
.practice-visual__copy > p:not(.eyebrow),
.questions__title > p,
.questions .accordion details p { color: var(--plum-soft); }

.about-sara__copy .about-sara__lead { color: var(--plum-ink); }
.about-sara__credential,
.about-sara .eyebrow,
.reiki-definition .eyebrow,
.reiki-lineage .eyebrow,
.biofield .eyebrow,
.benefits .eyebrow,
.reviews .eyebrow,
.services .eyebrow,
.experience .eyebrow,
.practice-visual .eyebrow,
.contact .eyebrow,
.questions .eyebrow { color: var(--mint-deep); }

.about-sara__portrait img {
  width: 100%;
  height: auto;
  aspect-ratio: 355 / 556;
  object-fit: contain;
  object-position: center;
  background: rgba(255, 255, 255, .55);
}
.about-sara__portrait p { color: rgba(56, 35, 72, .52); }

.reiki-definition__note { color: var(--plum-ink) !important; background: rgba(255, 255, 255, .55); }

.principle-focus-grid article,
.review-placeholder,
.support-card,
.service-card,
.service-modes p,
.contact-link {
  border-color: rgba(56, 35, 72, .13);
  color: var(--plum-ink);
  background: rgba(255, 255, 255, .62);
  box-shadow: 0 24px 70px rgba(74, 45, 92, .1);
}

.principle-focus-grid article > span,
.principle-focus-grid p,
.support-card > p:not(.eyebrow),
.service-card__place,
.service-card__facts span,
.service-modes p,
.biofield__image figcaption { color: var(--plum-soft); }

.support-card--wide { background: linear-gradient(135deg, rgba(216, 196, 241, .82), rgba(207, 234, 223, .72)); }
.support-tags li { border-color: rgba(56, 35, 72, .15); color: var(--plum-ink); background: rgba(255, 255, 255, .62); }
.services .section-index,
.benefits .section-index,
.questions .section-index { border-color: rgba(56, 35, 72, .15); }
.services .section-index p,
.benefits .section-index p,
.questions .section-index p { color: rgba(56, 35, 72, .56); }
.services .section-index span,
.benefits .section-index span,
.questions .section-index span { color: #75509b; }

.service-card__facts strong,
.service-modes span,
.contact-link strong { color: var(--plum-ink); }
.button--dark { color: #fff; background: #5c327b; }
.button--dark span { color: var(--mint-bright); }

.experience .section-index { border-color: rgba(56, 35, 72, .15); }
.experience .section-index p { color: rgba(56, 35, 72, .56); }
.experience .section-index span { color: #75509b; }
.experience__heading > p,
.experience__steps p { color: var(--plum-soft); }
.experience__steps h3 { color: var(--plum-ink); }
.experience__steps li { border-color: rgba(56, 35, 72, .14); }
.experience__steps li > span { color: #75509b; }

.contact-link small { color: rgba(56, 35, 72, .55); }
.contact-link > span { color: var(--mint-deep); }
.reviews__notice { color: var(--plum-soft); }
.reviews__notice strong { color: var(--mint-deep); }
.review-placeholder {
  display: flex;
  min-height: 150px;
  align-items: center;
  gap: 1.2rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  margin-top: 2.2rem;
  border-radius: 1rem;
}
.review-placeholder span { color: #75509b; font-size: 2rem; }
.review-placeholder p { margin: 0; font-family: var(--serif); font-size: clamp(1.25rem, 2.2vw, 2rem); }

/* Sara's supplied guide is always shown in full at desktop and phone sizes. */
.biofield__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  border-radius: 1.2rem;
  object-fit: contain;
  object-position: center;
  background: #170b20;
}

/* Chakra-colour rings on the Rei/Ki and Arrive circles. */
.reiki-definition__orb::before,
.energy-disc::before {
  position: absolute;
  z-index: 2;
  inset: -9px;
  padding: 5px;
  border: 0;
  border-radius: 50%;
  background: conic-gradient(#ff5c68 0 12%, #ff9b45 12% 26%, #ffe36c 26% 40%, #69dda0 40% 54%, #67c7f2 54% 68%, #6676de 68% 82%, #bd73ef 82% 100%);
  box-shadow: 0 0 2.5rem rgba(122, 76, 169, .25);
  content: "";
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.reiki-definition__orb,
.energy-disc { color: #fff; background-color: #2d173b; }

@media (prefers-reduced-motion: no-preference) {
  .reiki-definition__orb::before,
  .energy-disc::before { animation: chakraRingTurn 26s linear infinite; }
}

@keyframes chakraRingTurn { to { transform: rotate(360deg); } }

/* Subtle chakra swirls repeat through the lighter page without obscuring copy. */
.about-sara::after,
.biofield::after,
.benefits::after,
.services::after,
.practice-visual::after,
.questions::after {
  position: absolute;
  z-index: 0;
  right: -10rem;
  bottom: -12rem;
  display: block;
  width: min(42rem, 72vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(from 20deg, transparent 0 10%, rgba(255, 92, 104, .28), rgba(255, 155, 69, .27), rgba(255, 227, 108, .24), rgba(105, 221, 160, .25), rgba(103, 199, 242, .25), rgba(102, 118, 222, .23), rgba(189, 115, 239, .27), transparent 73% 100%);
  content: "";
  filter: blur(18px);
  opacity: .28;
  pointer-events: none;
  -webkit-mask: radial-gradient(circle, transparent 0 35%, #000 41% 45%, transparent 51% 59%, #000 64% 67%, transparent 73%);
  mask: radial-gradient(circle, transparent 0 35%, #000 41% 45%, transparent 51% 59%, #000 64% 67%, transparent 73%);
}

.biofield::after,
.services::after,
.questions::after { right: auto; left: -12rem; }
.about-sara > *,
.biofield > *,
.benefits > *,
.services > *,
.practice-visual > *,
.questions > * { position: relative; z-index: 1; }

@media (max-width: 760px) {
  .entry__lotus { width: min(620px, 94vw); margin-bottom: -1.7rem; }
  .site-nav { right: -.45rem; left: -.45rem; width: auto; max-width: 100vw; }
  .hero__image img { width: 100%; transform: none; }
  .hero__sigil { right: -9%; width: 80vw; }
  .hero__sigil img { width: 100%; }
  .booking { overflow: hidden; }
  .booking__aura { right: -6rem; left: auto; width: 240px; }
  .biofield__image img { aspect-ratio: 3 / 2; object-fit: contain; object-position: center; }
  .about-sara::after,
  .biofield::after,
  .benefits::after,
  .services::after,
  .practice-visual::after,
  .questions::after { width: 34rem; opacity: .2; }
}

@media (prefers-reduced-motion: reduce) {
  .entry__lotus { transform: none !important; animation: identityFadeReduced 620ms 3.68s ease both !important; }
  .reiki-definition__orb::before,
  .energy-disc::before { animation: none !important; }
}

/* --------------------------------------------------------------------------
   SARA FEEDBACK V10 — exact palette, readable tabs and rainbow journey discs
   -------------------------------------------------------------------------- */

:root {
  --sara-lavender: #d8c4f1;
  --sara-purple: #2d173b;
  --sara-deep: #16091e;
  --sara-white: #ffffff;
  --sara-pink: #ffb7d2;
  --sara-mint: #aaf4df;
}

/* Alternate Sara's two chosen page colours, with a plum veil on the lavender
   scenes so the requested white, pink and mint typography remains legible. */
.about-sara,
.reiki-lineage,
.benefits,
.services,
.practice-visual,
.contact,
.finale {
  color: var(--sara-white);
  background: linear-gradient(rgba(45, 23, 59, .68), rgba(45, 23, 59, .68)), var(--sara-lavender);
}

.reiki-definition,
.biofield,
.reviews,
.evidence,
.experience,
.booking,
.questions {
  color: var(--sara-white);
  background: var(--sara-purple);
}

.about-sara h2,
.reiki-definition h2,
.reiki-lineage h2,
.biofield h2,
.benefits h2,
.reviews h2,
.evidence h2,
.services h2,
.experience h2,
.practice-visual h2,
.booking h2,
.contact h2,
.questions h2,
.finale h2,
.support-card h3,
.service-card h3,
.experience__steps h3,
.questions .accordion summary,
.contact-link strong,
.service-card__facts strong,
.service-modes span {
  color: var(--sara-white);
}

.about-sara h2 em,
.reiki-definition h2 em,
.reiki-lineage h2 em,
.biofield h2 em,
.benefits h2 em,
.reviews h2 em,
.evidence h2 em,
.services h2 em,
.experience h2 em,
.practice-visual h2 em,
.booking h2 em,
.contact h2 em,
.questions h2 em,
.finale h2 em { color: var(--sara-pink); }

.about-sara .eyebrow,
.reiki-definition .eyebrow,
.reiki-lineage .eyebrow,
.biofield .eyebrow,
.benefits .eyebrow,
.reviews .eyebrow,
.evidence .eyebrow,
.services .eyebrow,
.experience .eyebrow,
.practice-visual .eyebrow,
.booking .eyebrow,
.contact .eyebrow,
.questions .eyebrow,
.finale .eyebrow,
.section-index span,
.experience__steps li > span { color: var(--sara-mint); }

.about-sara__copy > p:not(.eyebrow),
.reiki-definition__copy > p:not(.eyebrow),
.lineage__copy > p:not(.eyebrow),
.biofield__copy > p:not(.eyebrow),
.benefits__heading > p:last-child,
.reviews__notice,
.evidence__copy > p,
.service-card__place,
.service-card__facts span,
.experience__heading > p,
.experience__steps p,
.practice-visual__copy > p:not(.eyebrow),
.booking__intro > p:not(.eyebrow),
.contact-link small,
.questions__title > p,
.questions .accordion details p,
.finale p,
.biofield__image figcaption,
.lotus-inset figcaption,
.about-sara__portrait p { color: rgba(255, 255, 255, .76); }

.about-sara__copy .about-sara__lead,
.about-sara__credential,
.reviews__notice strong { color: var(--sara-mint); }

.principle-focus-grid article,
.principles-card,
.review-placeholder,
.support-card,
.service-card,
.service-modes p,
.contact-link,
.questions .accordion details,
.reiki-definition__note {
  border-color: rgba(170, 244, 223, .22);
  color: var(--sara-white);
  background: rgba(22, 9, 30, .78);
  box-shadow: 0 24px 70px rgba(12, 4, 18, .2);
}

.principle-focus-grid article > span,
.principle-focus-grid p,
.support-card > p:not(.eyebrow),
.support-tags li,
.service-modes p,
.review-placeholder p { color: rgba(255, 255, 255, .76); }

.support-card--wide { background: linear-gradient(135deg, rgba(45, 23, 59, .96), rgba(75, 48, 92, .92)); }
.support-tags li { border-color: rgba(170, 244, 223, .24); background: rgba(45, 23, 59, .72); }
.section-index { border-color: rgba(170, 244, 223, .22) !important; }
.section-index p { color: rgba(255, 255, 255, .68) !important; }
.button--dark { color: var(--sara-white); background: var(--sara-purple); }
.button--dark span,
.contact-link > span { color: var(--sara-mint); }

/* Sara's benefit tabs: dark purple throughout with mint labels and clear state. */
.benefit-tabs {
  border-color: rgba(170, 244, 223, .28);
  color: var(--sara-white);
  background: var(--sara-purple);
  box-shadow: 0 30px 100px rgba(22, 9, 30, .32);
}
.benefit-tabs__list { border-color: rgba(170, 244, 223, .22); background: var(--sara-deep); }
.benefit-tabs__list button { border-color: rgba(170, 244, 223, .2); color: var(--sara-mint); background: transparent; }
.benefit-tabs__list button:hover,
.benefit-tabs__list button:focus-visible { color: var(--sara-white); background: rgba(255, 183, 210, .12); }
.benefit-tabs__list button[aria-selected="true"] {
  color: var(--sara-mint);
  background: linear-gradient(135deg, #5a3470, #3a1f4a);
  box-shadow: inset 0 -3px 0 var(--sara-pink);
}
.benefit-tabs__panels { background: radial-gradient(circle at 82% 18%, rgba(255, 183, 210, .16), transparent 28rem), var(--sara-purple); }
.benefit-tabs__panels article { background: transparent; }
.benefit-tabs h3 { color: var(--sara-white); }
.benefit-tabs article div > p,
.benefit-tabs li { color: rgba(255, 255, 255, .8); }

/* The supplied biofield artwork must remain fully visible at every breakpoint. */
.biofield__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  object-position: center;
  background: var(--sara-deep);
}

/* Concentric chakra rings replace the previous dark Rei/Ki and Arrive circles. */
.rainbow-disc {
  position: relative;
  isolation: isolate;
  overflow: visible;
  border: 0;
  color: var(--sara-purple);
  background: transparent;
  box-shadow: none;
}
.rainbow-disc::before,
.rainbow-disc::after { display: none; }
.rainbow-disc__rings {
  position: absolute !important;
  z-index: -1;
  inset: 0 !important;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background:
    radial-gradient(circle,
      #f7edf9 0 17%, #7c3fb2 17.5% 22%, #4c63c9 22.5% 27%,
      #53b9dd 27.5% 32%, #62cf9a 32.5% 37%, #f0d55f 37.5% 42%,
      #ed974b 42.5% 47%, #e86676 47.5% 52%, #7c3fb2 52.5% 57%,
      #4c63c9 57.5% 62%, #53b9dd 62.5% 67%, #62cf9a 67.5% 72%,
      #f0d55f 72.5% 77%, #ed974b 77.5% 82%, #e86676 82.5% 87%,
      rgba(216, 196, 241, .7) 87.5% 100%);
  box-shadow: 0 0 4rem rgba(170, 244, 223, .22);
}
.rainbow-disc__centre {
  position: absolute !important;
  z-index: 2;
  inset: 36% !important;
  display: grid;
  width: auto;
  height: auto;
  place-content: center;
  justify-items: center;
  border-radius: 50%;
  color: var(--sara-purple);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 0 2rem rgba(255, 255, 255, .48);
}
.rainbow-disc__centre b { font-family: var(--serif); font-size: clamp(1.35rem, 2.6vw, 2.5rem); font-weight: 500; line-height: 1; }
.rainbow-disc__centre i { width: 55%; height: 1px; margin: .2rem 0; background: var(--sara-pink); transform: none; }
.rainbow-disc__centre--arrive { inset: 32% !important; text-align: center; text-transform: uppercase; }
.rainbow-disc__centre--arrive b { color: var(--sara-purple); font-family: var(--sans); font-size: clamp(1rem, 2.4vw, 2.1rem); font-weight: 760; letter-spacing: .12em; }
.rainbow-disc__centre--arrive small { margin-top: .35rem; color: #654075; font-size: clamp(.38rem, .75vw, .65rem); letter-spacing: .08em; white-space: nowrap; }

/* Two photographic lotus moments requested by Sara. */
.lotus-inset {
  overflow: hidden;
  margin: clamp(2rem, 5vw, 5rem) 0 0;
  border: 1px solid rgba(170, 244, 223, .24);
  border-radius: 1.25rem;
  background: var(--sara-deep);
  box-shadow: 0 28px 80px rgba(22, 9, 30, .28);
}
.lotus-inset img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.lotus-inset figcaption { padding: .8rem 1rem; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.practice-visual__copy .lotus-inset { max-width: 620px; }

/* High-contrast accordion controls, including the plus symbols. */
.questions .accordion summary span {
  display: grid;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border: 2px solid var(--sara-mint);
  border-radius: 50%;
  color: var(--sara-mint);
  background: var(--sara-deep);
  box-shadow: 0 0 1.4rem rgba(170, 244, 223, .22);
  font-size: 1.35rem;
  font-weight: 780;
  line-height: 1;
}
.questions .accordion details[open] summary span { color: var(--sara-pink); border-color: var(--sara-pink); }

/* Chakra swirls carry through every content scene. */
.about-sara,
.reiki-definition,
.reiki-lineage,
.biofield,
.benefits,
.reviews,
.evidence,
.services,
.experience,
.practice-visual,
.booking,
.contact,
.questions,
.finale { position: relative; overflow: hidden; }

.about-sara::after,
.reiki-definition::after,
.reiki-lineage::after,
.biofield::after,
.benefits::after,
.reviews::after,
.evidence::after,
.services::after,
.experience::after,
.practice-visual::after,
.booking::after,
.contact::after,
.questions::after,
.finale::after {
  position: absolute;
  z-index: 0;
  right: -10rem;
  bottom: -12rem;
  display: block;
  width: min(42rem, 72vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(from 20deg, transparent 0 10%, rgba(255, 92, 104, .38), rgba(255, 155, 69, .36), rgba(255, 227, 108, .34), rgba(105, 221, 160, .36), rgba(103, 199, 242, .36), rgba(102, 118, 222, .34), rgba(189, 115, 239, .38), transparent 73% 100%);
  content: "";
  filter: blur(16px);
  opacity: .28;
  pointer-events: none;
  -webkit-mask: radial-gradient(circle, transparent 0 35%, #000 41% 45%, transparent 51% 59%, #000 64% 67%, transparent 73%);
  mask: radial-gradient(circle, transparent 0 35%, #000 41% 45%, transparent 51% 59%, #000 64% 67%, transparent 73%);
}
.reiki-definition::after,
.biofield::after,
.reviews::after,
.services::after,
.booking::after,
.questions::after { right: auto; left: -12rem; }

.about-sara > *,
.reiki-definition > *,
.reiki-lineage > *,
.biofield > *,
.benefits > *,
.reviews > *,
.evidence > *,
.services > *,
.experience > *,
.practice-visual > *,
.booking > *,
.contact > *,
.questions > *,
.finale > * { position: relative; z-index: 1; }

/* Keep the supplied lotus artwork at its natural logo proportions. */
.entry__lotus,
.wordmark__logo,
.hero__sigil img { height: auto; object-fit: contain; transform: none; }

@media (max-width: 760px) {
  .rainbow-disc__centre--arrive small { font-size: .42rem; }
  .lotus-inset { margin-top: 2rem; }
}

/* --------------------------------------------------------------------------
   SARA FEEDBACK V11 — V4 refinement pass
   -------------------------------------------------------------------------- */

:root {
  --chakra-red: #b6384a;
  --chakra-orange: #c86b2f;
  --chakra-yellow: #c4a12c;
  --chakra-green: #39885f;
  --chakra-blue: #337fa5;
  --chakra-indigo: #48558e;
  --chakra-violet: #6e438c;
}

/* Deeper, natural chakra colours replace the brighter pastel treatment. */
.spectrum__node--red { --spectrum-colour: var(--chakra-red); }
.spectrum__node--orange { --spectrum-colour: var(--chakra-orange); }
.spectrum__node--yellow { --spectrum-colour: var(--chakra-yellow); }
.spectrum__node--green { --spectrum-colour: var(--chakra-green); }
.spectrum__node--blue { --spectrum-colour: var(--chakra-blue); }
.spectrum__node--indigo { --spectrum-colour: var(--chakra-indigo); }
.spectrum__node--violet { --spectrum-colour: var(--chakra-violet); }

.rainbow-disc__rings {
  background:
    radial-gradient(circle,
      #f4edf7 0 17%, var(--chakra-violet) 17.5% 22%, var(--chakra-indigo) 22.5% 27%,
      var(--chakra-blue) 27.5% 32%, var(--chakra-green) 32.5% 37%, var(--chakra-yellow) 37.5% 42%,
      var(--chakra-orange) 42.5% 47%, var(--chakra-red) 47.5% 52%, var(--chakra-violet) 52.5% 57%,
      var(--chakra-indigo) 57.5% 62%, var(--chakra-blue) 62.5% 67%, var(--chakra-green) 67.5% 72%,
      var(--chakra-yellow) 72.5% 77%, var(--chakra-orange) 77.5% 82%, var(--chakra-red) 82.5% 87%,
      rgba(183, 161, 207, .76) 87.5% 100%);
  box-shadow: 0 0 4rem rgba(87, 57, 112, .2);
}

/* Reintroduce Sara's softer aqua-to-lavender treatment on the key cards. */
.principles-card {
  border: 0;
  border-radius: 10rem 10rem 1.4rem 1.4rem;
  color: #351a45;
  background:
    radial-gradient(circle at 20% 18%, rgba(189, 252, 232, .54), transparent 38%),
    linear-gradient(155deg, #63cfc7 0%, #78c8d2 44%, #a998c8 100%);
  box-shadow: 0 28px 80px rgba(66, 44, 83, .18);
}
.principles-card h3,
.principles-card li { color: #351a45; }
.principles-card .eyebrow { color: #57306a; }
.principles-card__lotus { color: #fff; }

.principle-focus-grid article,
.support-card,
.service-card,
.service-modes p,
.contact-link {
  border-color: rgba(69, 32, 85, .1);
  background: linear-gradient(145deg, rgba(185, 242, 224, .92), rgba(169, 152, 200, .76));
  box-shadow: 0 20px 60px rgba(63, 40, 79, .12);
}
.principle-focus-grid article > span,
.principle-focus-grid p,
.support-card h3,
.support-card > p:not(.eyebrow),
.support-tags li,
.service-card h3,
.service-card__place,
.service-card__facts span,
.service-card__facts strong,
.service-modes p,
.service-modes span { color: #452055; }

/* UKRF remains in the middle and its smaller mark reads clearly. */
.professional-logos { grid-template-columns: 1fr .85fr 1fr; }
.professional-logos__ukrf img {
  width: min(90px, 100%);
  max-height: 76px;
  filter: saturate(.85) contrast(1.15);
}

/* Requested image sizing and gentler framing. */
.lotus-inset,
.practice-visual__image,
.about-sara__portrait,
.biofield__image { border: 0; }
.lotus-inset--teal { width: min(660px, 100%); margin-inline: auto; }
.lotus-inset img,
.practice-visual__image img,
.about-sara__portrait img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.practice-visual__image img,
.about-sara__portrait img { border: 0; }
.biofield__image {
  padding: clamp(.6rem, 1.5vw, 1rem);
  border-radius: 1.4rem;
  background: #cfb8e7;
}
.biofield__image::before { display: none; }
.biofield__image img {
  border: 0;
  background: #cfb8e7;
  filter: brightness(1.1) saturate(.95);
  box-shadow: none;
}

/* Every session option now has an obvious request action. */
.service-modes p {
  display: flex;
  min-height: 245px;
  flex-direction: column;
}
.mode-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  margin-top: auto;
  border-radius: 999px;
  color: #fff;
  background: #57306a;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
}
.mode-cta b { color: var(--sara-mint); }

/* Softer mint journey wording and slightly larger mint section cues. */
.eyebrow { font-size: clamp(.74rem, 1.05vw, .96rem); }
.section-index p { font-size: clamp(.66rem, .95vw, .8rem); }
.experience h2,
.experience h2 em,
.experience__heading > p,
.experience__steps h3,
.experience__steps p,
.experience__steps li > span {
  color: var(--sara-mint);
  font-family: var(--display);
  font-weight: 300;
}
.experience .section-index p,
.experience .section-index span { color: var(--sara-mint) !important; }

/* FAQ cards: rounded mint panels, purple wording and controls. */
.questions .accordion { border: 0; }
.questions .accordion details {
  overflow: hidden;
  margin: .75rem 0;
  border: 0;
  border-radius: 1.4rem;
  background: linear-gradient(135deg, #b8f3df, #8edacb);
  box-shadow: 0 18px 50px rgba(33, 86, 72, .13);
}
.questions .accordion summary,
.questions .accordion details p { color: #452055; }
.questions .accordion summary { min-height: 78px; padding: 0 1.15rem; }
.questions .accordion summary span {
  border-color: #452055;
  color: #452055;
  background: rgba(255, 255, 255, .38);
  box-shadow: none;
}
.questions .accordion details[open] summary span {
  border-color: #452055;
  color: #452055;
}

/* The final page now carries Sara Louise's supplied identity mark. */
.finale__logo {
  width: min(360px, 68vw);
  height: auto;
  margin-bottom: -2rem;
  object-fit: contain;
  filter: drop-shadow(0 0 2.4rem rgba(255, 255, 255, .18));
}

/* Cleaner edge-to-edge navigation without the former white/glass box. */
.site-header,
.site-header.is-scrolled {
  top: 0;
  width: 100%;
  border: 0;
  border-radius: 0;
  background: rgba(45, 23, 59, .9);
  box-shadow: none;
}

/* Mint contact details and recognised social-network colours. */
.contact-link small,
.contact-link strong { color: var(--sara-mint); }
.social-icon svg { width: 1.4rem; height: 1.4rem; }
.social-icon--facebook { background: #1877f2 !important; }
.social-icon--facebook svg { fill: #fff; }
.social-icon--instagram {
  background: linear-gradient(135deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5) !important;
}
.social-icon--instagram svg {
  fill: none;
  stroke: #fff;
  stroke-width: 1.8;
}

/* The seven chakras complete first; the identity arrives afterwards. */
@media (prefers-reduced-motion: no-preference) {
  .welcome { animation: introExit 780ms 9s cubic-bezier(.77, 0, .18, 1) forwards; }
  .spectrum { animation: spectrumDissolve 720ms 4.42s ease both; }
  .entry__halo { animation: haloReveal 1s 4.48s ease both; }
  .entry__lotus { animation: lotusRevealV9 1.08s 4.62s cubic-bezier(.16, .86, .25, 1) both; }
  .entry__identity { animation: identityFuture 820ms 5.08s cubic-bezier(.16, .86, .25, 1) both; }
  .entry__signal { animation: brandArrive 560ms 5.62s ease both; }
  .entry__counter { animation: counterSettle 520ms 5.62s ease both; }
}

@media (max-width: 760px) {
  .site-header,
  .site-header.is-scrolled { top: 0; width: 100%; border-radius: 0; }
  .professional-logos { grid-template-columns: 1fr; }
  .professional-logos__ukrf { order: 2; }
  .professional-logos a:last-child { order: 3; }
  .service-modes p { min-height: 0; }
  .mode-cta { margin-top: 1.25rem; }
  .finale__logo { width: min(280px, 72vw); margin-bottom: -1rem; }
}

/* --------------------------------------------------------------------------
   SARA FEEDBACK V12 — V5 contrast, imagery and booking refinements
   -------------------------------------------------------------------------- */

/* One soft pass through the seven chakra colours, rather than repeated rings. */
.rainbow-disc__rings {
  background: radial-gradient(circle,
    #f8f1fa 0 21%,
    #72418e 27%,
    #515c98 38%,
    #3d8faf 49%,
    #54a878 60%,
    #d0b846 71%,
    #cf7b3c 82%,
    #bd4b5a 94%,
    rgba(189, 75, 90, .64) 100%);
  box-shadow: 0 0 4rem rgba(87, 57, 112, .2);
}
.rainbow-disc__centre,
.rainbow-disc__centre b,
.rainbow-disc__centre--arrive b,
.rainbow-disc__centre--arrive small { color: #452055; }

/* Sara requested cleaner photography with no light outline or offset frame. */
.about-sara__portrait::before,
.practice-visual__image::before,
.lotus-inset::before { display: none; }
.about-sara__portrait,
.about-sara__portrait img,
.practice-visual__image,
.practice-visual__image img,
.lotus-inset,
.lotus-inset img {
  border: 0;
  outline: 0;
  box-shadow: none;
}

/* Larger benefit labels, no panel numbers, and high-contrast pale-pink tags. */
.benefit-tabs__list button {
  min-height: 74px;
  font-size: clamp(.82rem, 1.15vw, 1rem);
  font-weight: 780;
}
.benefit-tabs__panels article {
  grid-template-columns: 1fr;
  gap: 0;
}
.support-tags li {
  border-color: rgba(69, 32, 85, .16);
  color: #452055;
  background: #f5cfe0;
  font-weight: 680;
}

/* All session-card wording stays purple, larger and slightly heavier. */
.service-card,
.service-modes p { color: #452055; }
.service-card .eyebrow,
.service-card h3,
.service-card__place,
.service-card__place a,
.service-card__facts span,
.service-card__facts strong,
.service-modes p,
.service-modes span {
  color: #452055 !important;
  font-weight: 650;
}
.service-card__place,
.service-card__facts span,
.service-modes p { font-size: clamp(.8rem, 1.05vw, .94rem); }
.service-card__facts strong { font-size: clamp(.95rem, 1.25vw, 1.12rem); }
.mode-cta {
  width: auto;
  min-width: min(210px, 100%);
  align-self: flex-start;
  padding: .7rem .9rem;
  margin-top: 1.25rem;
  color: #fff !important;
  font-size: .64rem;
}
.mode-cta b { color: var(--sara-mint) !important; }

/* The biofield artwork can be opened at a useful reading size. */
.biofield-expand {
  position: absolute;
  z-index: 3;
  right: 1.4rem;
  bottom: 2.8rem;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: .55rem;
  padding: .68rem .9rem;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 999px;
  color: #fff;
  background: rgba(45, 23, 59, .9);
  box-shadow: 0 12px 32px rgba(22, 9, 30, .28);
  font-size: .68rem;
  font-weight: 760;
  letter-spacing: .05em;
  cursor: pointer;
}
.biofield-expand span { font-size: 1.05rem; }
.biofield-dialog {
  width: min(94vw, 1400px);
  max-width: none;
  padding: clamp(.6rem, 1.5vw, 1rem);
  border: 0;
  border-radius: 1.2rem;
  background: #2d173b;
  box-shadow: 0 40px 140px rgba(10, 3, 15, .7);
}
.biofield-dialog::backdrop { background: rgba(10, 3, 15, .88); backdrop-filter: blur(10px); }
.biofield-dialog img { width: 100%; max-height: 88vh; object-fit: contain; border-radius: .8rem; }
.biofield-dialog .dialog-close {
  position: absolute;
  z-index: 2;
  top: 1rem;
  right: 1rem;
  border-color: rgba(255,255,255,.45);
  color: #fff;
  background: rgba(45,23,59,.92);
}

/* The relaxation card now shares the Reiki-principles mint treatment. */
.relaxation-card {
  border: 0;
  color: #452055;
  background:
    radial-gradient(circle at 20% 18%, rgba(189, 252, 232, .54), transparent 38%),
    linear-gradient(155deg, #63cfc7 0%, #78c8d2 44%, #a998c8 100%);
  box-shadow: 0 28px 80px rgba(66, 44, 83, .18);
}
.relaxation-card .eyebrow,
.relaxation-card h3,
.relaxation-card > p:last-child { color: #452055; }

/* Balance the three registration marks and move the Reiki disc toward its copy. */
.professional-logos a:first-child img { width: min(178px, 100%); max-width: 178px; max-height: 78px; }
.professional-logos__ukrf img { width: min(104px, 100%); max-height: 76px; }
.reiki-definition__orb { justify-self: end; transform: translateX(clamp(1rem, 3.5vw, 4rem)); }

/* Stronger navigation hierarchy and purple contact details. */
.site-nav a { font-size: clamp(.76rem, .9vw, .9rem); font-weight: 730; }
.contact-link small,
.contact-link strong,
.contact-link > span { color: #452055 !important; }

/* Recreate the complete opening identity on the final screen. */
.finale__brand {
  display: grid;
  justify-items: center;
  margin-bottom: 1.2rem;
  text-align: center;
}
.finale__brand .finale__logo { width: min(330px, 62vw); margin: 0 0 -2.2rem; }
.finale__brand > span {
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(3.4rem, 8vw, 7rem);
  font-style: italic;
  letter-spacing: -.055em;
  line-height: .92;
  text-shadow: 0 0 2rem rgba(255,255,255,.18);
}
.finale__brand > strong {
  margin-top: .7rem;
  color: var(--sara-mint);
  font-size: clamp(.58rem, 1vw, .86rem);
  font-weight: 760;
  letter-spacing: .42em;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .reiki-definition__orb { justify-self: center; transform: none; }
  .biofield-expand { right: 1rem; bottom: 2.5rem; }
  .site-nav a { font-size: 1rem; }
  .finale__brand .finale__logo { width: min(280px, 72vw); margin-bottom: -1.6rem; }
}

/* --------------------------------------------------------------------------
   SARA FEEDBACK V13 — V6 spacing, hierarchy and seven-colour refinements
   -------------------------------------------------------------------------- */

/* Give both the question and its expanded answer comfortable breathing room. */
.questions .accordion summary { padding-inline: clamp(1.4rem, 2.2vw, 2rem); }
.questions .accordion details p {
  max-width: none;
  padding: 0 clamp(1.4rem, 2.2vw, 2rem) 1.6rem;
  font-size: clamp(.9rem, 1.1vw, 1rem);
  line-height: 1.55;
}

/* Sara's tab lists are intentionally easier to read without changing the tabs. */
.benefit-tabs li {
  font-size: clamp(.94rem, 1.12vw, 1.06rem);
  line-height: 1.55;
}

/* The first session card no longer carries a decorative sequence number. */
.service-card { grid-template-columns: minmax(0, 1fr) auto auto; }

/* Keep the booking introduction on the left and the choice panel on the right. */
.booking__intro { grid-column: 1; }
.booking-form { grid-column: 2; }

/* Reduce Sara's portrait while retaining the supplied image's natural ratio. */
.about-sara__portrait { width: min(390px, 82vw); }

/* Social actions now use the same aqua-to-lavender surface as contact details. */
.social-links a {
  border: 1px solid rgba(69, 32, 85, .1);
  color: #452055;
  background: linear-gradient(145deg, rgba(185, 242, 224, .92), rgba(169, 152, 200, .76));
  box-shadow: 0 20px 60px rgba(63, 40, 79, .12);
}

/* Keep the contact invitation together as one quiet, readable phrase. */
.contact h2 { font-size: clamp(3.15rem, 5.6vw, 6rem); }
.contact h2 em { display: inline-block; white-space: nowrap; }

/* Seven clear concentric chakra bands, ordered from red outside to violet within. */
.rainbow-disc__rings {
  background: radial-gradient(circle,
    #f8f1fa 0 18%,
    var(--chakra-violet) 18.5% 28%,
    var(--chakra-indigo) 28.5% 39%,
    var(--chakra-blue) 39.5% 50%,
    var(--chakra-green) 50.5% 61%,
    var(--chakra-yellow) 61.5% 72%,
    var(--chakra-orange) 72.5% 83%,
    var(--chakra-red) 83.5% 100%);
}

/* Final identity: stronger promise line and a slightly quieter personal name. */
.finale .eyebrow {
  font-size: clamp(.9rem, 1.35vw, 1.14rem);
  letter-spacing: .23em;
}
.finale__brand > span { font-size: clamp(3.05rem, 6.8vw, 5.9rem); }

@media (max-width: 1120px) {
  .service-card { grid-template-columns: minmax(0, 1fr) auto; }
  .service-card .button { grid-column: 1 / -1; width: fit-content; }
  .booking__intro,
  .booking-form { grid-column: 1; }
}

@media (max-width: 760px) {
  .service-card { grid-template-columns: 1fr; }
  .service-card .button { width: 100%; }
  .about-sara__portrait { width: min(320px, 78vw); margin-inline: auto; }
  .contact h2 { font-size: clamp(2.55rem, 11vw, 3.35rem); }
  .contact h2 em { white-space: normal; }
}

/* --------------------------------------------------------------------------
   SARA FEEDBACK V16 — seven visible layers with softer transitions
   -------------------------------------------------------------------------- */

/*
 * `closest-side` is essential here. The earlier default `farthest-corner`
 * geometry placed the 82–100% orange/red stops in the square's clipped
 * corners, so those layers did not reach the visible circular edge.
 *
 * The colour values, order and circle geometry are unchanged from V15. Wider
 * transition zones now soften the joins while short plateaus keep all seven
 * colours readable. Read from outside to centre: red, orange, yellow, green,
 * light blue, dark blue and purple.
 */
.rainbow-disc__rings {
  --circle-red: #e5485f;
  --circle-orange: #ed842c;
  --circle-yellow: #ddbd31;
  --circle-green: #45a96d;
  --circle-light-blue: #3f9fc2;
  --circle-dark-blue: #4356a3;
  --circle-purple: #754592;
  background: radial-gradient(circle closest-side at center,
    var(--circle-purple) 0 38%,
    var(--circle-dark-blue) 44% 48%,
    var(--circle-light-blue) 54% 58%,
    var(--circle-green) 64% 68%,
    var(--circle-yellow) 74% 78%,
    var(--circle-orange) 84% 88%,
    var(--circle-red) 94% 100%);
}

/* --------------------------------------------------------------------------
   MOBILE INTRO PERFORMANCE — same sequence, lighter compositing
   -------------------------------------------------------------------------- */

/*
 * Touch devices keep Sara's exact seven-chakra order, colours and identity
 * timing. Expensive animated blur, large shadow growth and layout-changing
 * motion are replaced with compositor-friendly opacity and transform changes.
 */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  .welcome {
    contain: layout paint style;
    transform: translateZ(0);
  }

  .welcome::before {
    opacity: .08;
    mix-blend-mode: normal;
  }

  .welcome::after { display: none; }

  .welcome__wash {
    width: min(76vw, 520px);
    border-color: rgba(255, 255, 255, .07);
    background: radial-gradient(circle, rgba(184, 119, 241, .12), transparent 68%);
    box-shadow: 0 0 0 2.2rem rgba(255, 255, 255, .018), 0 0 3.5rem rgba(184, 119, 241, .18);
  }

  .spectrum,
  .spectrum__line,
  .spectrum__traveller,
  .spectrum__node,
  .spectrum__crown-burst,
  .entry__halo,
  .entry__lotus,
  .entry__identity,
  .entry__signal {
    backface-visibility: hidden;
    will-change: opacity, transform;
  }

  .spectrum__line {
    width: 3px;
    box-shadow: 0 0 1.4rem rgba(184, 119, 241, .34);
  }

  .spectrum__traveller {
    top: auto;
    bottom: 1.8rem;
    box-shadow: 0 0 .7rem #fff, 0 0 1.7rem rgba(170, 244, 223, .72);
  }

  .spectrum__traveller::after { display: none; }

  .spectrum__node {
    filter: none;
    box-shadow: 0 0 .8rem rgba(255, 255, 255, .55), 0 0 1.8rem var(--spectrum-colour);
  }

  .spectrum__node::before {
    width: .45rem;
    opacity: 0;
    filter: none;
  }

  .spectrum__node::after { inset: -.8rem; }

  .spectrum__node i {
    text-shadow: none;
    will-change: opacity, transform;
  }

  .spectrum__crown-burst {
    width: clamp(7rem, 34vw, 11rem);
    background: radial-gradient(circle, #fff 0 4%, #d99cff 10%, rgba(166, 107, 224, .34) 30%, transparent 68%);
    box-shadow: 0 0 1.5rem #fff, 0 0 3rem rgba(196, 111, 255, .62);
    -webkit-mask: none;
    mask: none;
  }

  .entry__halo {
    width: min(82vw, 480px);
    box-shadow: 0 0 3.5rem rgba(184, 119, 241, .2);
  }

  .entry__lotus { filter: none; }
}

@media (prefers-reduced-motion: no-preference) and (max-width: 900px),
       (prefers-reduced-motion: no-preference) and (hover: none) and (pointer: coarse) {
  .welcome { animation: mobileIntroExit 620ms 9s ease forwards; }
  .welcome__wash { animation: mobileWash 2.2s .15s ease both; }
  .spectrum { animation: mobileSpectrumDissolve 560ms 4.42s ease both; }
  .spectrum__line { animation: mobileEnergyRail 3.25s .12s cubic-bezier(.15, .82, .22, 1) both; }
  .spectrum__traveller { animation: mobileEnergyTraveller 3.2s .16s cubic-bezier(.2, .76, .2, 1) both; }
  .spectrum__node { animation: mobileChakraIgnite 700ms calc(.2s + var(--order) * .43s) cubic-bezier(.2, .75, .24, 1.08) both; }
  .spectrum__node::before { animation: mobileChakraTrail 700ms calc(.2s + var(--order) * .43s) ease-out both; }
  .spectrum__node::after { animation: mobileChakraRing 760ms calc(.25s + var(--order) * .43s) ease-out both; }
  .spectrum__node i { animation: mobileChakraLabel 480ms calc(.28s + var(--order) * .43s) ease both; }
  .spectrum__crown-burst { animation: mobileCrown 920ms 3.02s ease-out both; }
  .entry__halo { animation: mobileHalo 720ms 4.48s ease both; }
  .entry__lotus { animation: mobileLotus 820ms 4.62s cubic-bezier(.16, .86, .25, 1) both; }
  .entry__identity { animation: mobileIdentity 680ms 5.08s cubic-bezier(.16, .86, .25, 1) both; }
  .entry__signal { animation: mobileIdentity 480ms 5.62s ease both; }
  .entry__counter { animation: mobileCounter 420ms 5.62s ease both; }
}

@keyframes mobileIntroExit {
  from { opacity: 1; }
  to { visibility: hidden; opacity: 0; pointer-events: none; }
}

@keyframes mobileWash {
  from { opacity: 0; transform: translate3d(-50%, -50%, 0) scale(.72); }
  to { opacity: 1; transform: translate3d(-50%, -50%, 0) scale(1); }
}

@keyframes mobileSpectrumDissolve {
  from { opacity: 1; transform: translate3d(-50%, 0, 0) scale(1); }
  to { opacity: 0; transform: translate3d(-50%, 0, 0) scale(1.04); }
}

@keyframes mobileEnergyRail {
  from { opacity: 0; transform: translate3d(-50%, 0, 0) scaleY(0); }
  to { opacity: .35; transform: translate3d(-50%, 0, 0) scaleY(1); }
}

@keyframes mobileEnergyTraveller {
  0% { opacity: 0; transform: translate3d(-50%, 0, 0) scale(.45); }
  9% { opacity: 1; }
  88% { opacity: 1; }
  100% { opacity: 0; transform: translate3d(-50%, calc(-84svh + 4rem), 0) scale(1.35); }
}

@keyframes mobileChakraIgnite {
  0% { opacity: 0; transform: translate3d(0, 1.1rem, 0) scale(.55); }
  56% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.24); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes mobileChakraTrail {
  from { opacity: 0; transform: translate3d(-50%, 0, 0) scaleY(.2); }
  to { opacity: .24; transform: translate3d(-50%, 0, 0) scaleY(1); }
}

@keyframes mobileChakraRing {
  from { opacity: .7; transform: scale(.5); }
  to { opacity: 0; transform: scale(2.1); }
}

@keyframes mobileChakraLabel {
  from { opacity: 0; transform: translate3d(-.6rem, -50%, 0); }
  45%, 78% { opacity: .86; transform: translate3d(0, -50%, 0); }
  to { opacity: 0; transform: translate3d(.35rem, -50%, 0); }
}

@keyframes mobileCrown {
  0% { opacity: 0; transform: translate3d(-50%, -50%, 0) scale(.35); }
  52% { opacity: .9; transform: translate3d(-50%, -50%, 0) scale(1.05); }
  to { opacity: 0; transform: translate3d(-50%, -50%, 0) scale(1.5); }
}

@keyframes mobileHalo {
  from { opacity: 0; transform: translate3d(-50%, -50%, 0) scale(.72); }
  to { opacity: 1; transform: translate3d(-50%, -50%, 0) scale(1); }
}

@keyframes mobileLotus {
  from { opacity: 0; transform: translate3d(0, .8rem, 0) scale(.86); }
  70% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.025); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes mobileIdentity {
  from { opacity: 0; transform: translate3d(0, 1rem, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes mobileCounter {
  from { opacity: .25; }
  to { opacity: .8; }
}
