/* =========================================================
   Sacred Journey Hypnotherapy — additions.css (Oct 2026)
   Loads AFTER the original styles.css. The original file is
   unchanged; everything new lives here, prefixed "sj-".
   ========================================================= */

/* ---------- Signature script: Sloop Script ---------- */
@font-face {
  font-family: "Sloop Script";
  src: url("../fonts/SloopScript-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --font-script: "Sloop Script", "Angeline", "Snell Roundhand", "Apple Chancery", cursive;
}
/* Sloop Script runs wider than Angeline — give long lines a touch more room */
.hero__script { max-width: 22ch; }
.script { word-spacing: 0.06em; }

/* ---------- Shared helpers for new sections ---------- */
.sj-head { max-width: 60ch; margin: 0 auto clamp(2.75rem, 5vw, 4rem); text-align: center; }
.sj-head--left { margin-left: 0; text-align: left; }
.sj-head .lead { margin-top: 0.5rem; }
.sj-link {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--plum);
  border-bottom: 1px solid var(--gold);
  padding-bottom: 3px;
  transition: color 0.3s var(--ease), letter-spacing 0.4s var(--ease);
}
.sj-link:hover { color: var(--gold); letter-spacing: 0.22em; }
.section--plum-deep .sj-link, .sj-on-dark .sj-link { color: var(--gold-soft); }

/* =========================================================
   Sound Familiar? — use-case cards
   Motion: cards rise in sequence; a gold line draws across
   the top of each; hover lifts the card and slides the arrow.
   ========================================================= */
.sj-cases {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}
.sj-case {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(1.6rem, 2.6vw, 2.1rem) clamp(1.4rem, 2.2vw, 1.8rem) 1.6rem;
  background: var(--ivory);
  border: 1px solid var(--rule-light);
  border-radius: var(--radius);
  transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease), border-color 0.5s var(--ease);
}
.sj-case::before {
  content: "";
  position: absolute;
  left: 0; top: -1px;
  height: 2px; width: 100%;
  background: linear-gradient(to right, var(--gold), var(--gold-bright), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.9s var(--ease-out) 0.25s;
}
.sj-case.is-visible::before { transform: scaleX(1); }
.sj-case:hover {
  transform: translateY(-6px);
  border-color: rgba(169, 134, 62, 0.55);
  box-shadow: 0 30px 60px -40px rgba(39, 29, 51, 0.55);
}
.sj-case__tag {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--sage);
}
.sj-case__tag--deep { color: var(--gold); }
.sj-case h3 {
  font-family: var(--font-serif-soft);
  font-weight: 600;
  font-size: clamp(1.3rem, 1.9vw, 1.55rem);
  letter-spacing: 0.005em;
  line-height: 1.25;
  margin: 0.8rem 0 0.6rem;
}
.sj-case p { font-size: 0.92rem; line-height: 1.65; color: var(--plum-soft); margin: 0 0 1.4rem; flex: 1; }
.sj-case__more {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--plum);
}
.sj-case__more::after { content: "\2192"; color: var(--gold); transition: transform 0.4s var(--ease); }
.sj-case:hover .sj-case__more::after { transform: translateX(6px); }
.sj-cases__cta { margin-top: clamp(2.25rem, 4vw, 3rem); }
@media (max-width: 1080px) { .sj-cases { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .sj-cases { grid-template-columns: 1fr; } }

/* =========================================================
   Video placeholder
   Motion: the poster drifts slowly (Ken Burns); the play
   button breathes with a soft gold halo until the video is set.
   ========================================================= */
.sj-video {
  position: relative;
  aspect-ratio: 16 / 9;
  max-width: 1000px;
  margin-inline: auto;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--plum-deep);
  box-shadow: 0 40px 80px -50px rgba(39, 29, 51, 0.8);
}
.sj-video__poster {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 60%;
  animation: sj-kenburns 26s ease-in-out infinite alternate;
}
@keyframes sj-kenburns { from { transform: scale(1.02); } to { transform: scale(1.12) translate(-1.5%, -1%); } }
.sj-video::after {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(70% 70% at 50% 50%, rgba(39, 29, 51, 0.35), rgba(22, 14, 30, 0.82)),
    linear-gradient(180deg, rgba(39, 29, 51, 0.2), rgba(22, 14, 30, 0.6));
  pointer-events: none;
}
.sj-video__frame { position: absolute; inset: 14px; border: 1px solid rgba(227, 206, 159, 0.35); z-index: 2; pointer-events: none; }
.sj-video__overlay {
  position: absolute; inset: 0; z-index: 3;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; color: var(--cream); padding: 1.5rem;
  border: 0; background: none; width: 100%; font: inherit;
}
button.sj-video__overlay { cursor: pointer; }
.sj-video__play {
  position: relative;
  width: clamp(64px, 8vw, 86px); height: clamp(64px, 8vw, 86px);
  border-radius: 50%;
  border: 1px solid var(--gold-soft);
  display: grid; place-items: center;
  margin-bottom: 1.2rem;
  background: rgba(39, 29, 51, 0.35);
}
.sj-video__play::before {
  content: "";
  position: absolute; inset: -18px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(227, 206, 159, 0.4), transparent 65%);
  animation: breathe 5s ease-in-out infinite;
}
.sj-video__play svg { width: 30%; height: 30%; fill: var(--gold-soft); margin-left: 6%; position: relative; }
.sj-video__label { font-size: 0.62rem; font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold-soft); }
.sj-video__title { font-family: var(--font-script); font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.15; margin: 0.4rem 0 0.3rem; padding-block: 0.08em; color: var(--cream); }
.sj-video__note { font-family: var(--font-serif-soft); font-size: clamp(1rem, 1.6vw, 1.2rem); color: rgba(245, 240, 232, 0.85); margin: 0; }
.sj-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 4; }
.sj-transcript { max-width: 1000px; margin: 1.5rem auto 0; }
.sj-transcript summary { cursor: pointer; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--plum); }
.sj-transcript div { padding-top: 1rem; color: var(--plum-soft); }

/* =========================================================
   Meet Enjolique — layered portraits
   Motion: the second photo floats up on scroll, offset from
   the first, so the pair settles into place.
   ========================================================= */
.sj-portraits { position: relative; padding-bottom: 18%; padding-right: 14%; }
.sj-portraits__second {
  position: absolute;
  right: 0; bottom: 0;
  width: 54%;
  border: 6px solid var(--lavender-soft);
  border-radius: var(--radius);
  box-shadow: 0 30px 60px -36px rgba(39, 29, 51, 0.6);
  overflow: hidden;
  transform: translateY(40px);
  opacity: 0;
  transition: transform 1.3s var(--ease-out) 0.45s, opacity 1s var(--ease-out) 0.45s;
}
.sj-portraits__second img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.reveal.is-visible .sj-portraits__second { transform: none; opacity: 1; }
.sj-portraits__second[data-drift] { will-change: transform; }

/* =========================================================
   NGH membership band
   Motion: the medallion image rises in; a slow gold sheen
   passes across it every few seconds.
   ========================================================= */
.sj-ngh {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}
.sj-ngh__art {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 40px 80px -50px rgba(39, 29, 51, 0.7);
  max-width: 440px;
}
.sj-ngh__art img { width: 100%; height: auto; }
.sj-ngh__art::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 35%, rgba(255, 244, 214, 0.55) 50%, transparent 65%);
  transform: translateX(-130%);
  animation: sj-sheen 7s var(--ease) 1.5s infinite;
  pointer-events: none;
}
@keyframes sj-sheen { 0% { transform: translateX(-130%); } 30%, 100% { transform: translateX(130%); } }
.sj-ngh__list { margin: 1.75rem 0 0; border-top: 1px solid var(--rule); }
.sj-ngh__list li {
  display: grid;
  grid-template-columns: 1.6rem 1fr;
  gap: 0.75rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--rule);
  color: var(--ink);
}
.sj-ngh__list li::before { content: "\2726"; color: var(--gold); font-size: 0.8rem; line-height: 2; }
.sj-ngh__list strong { color: var(--plum); font-weight: 600; }
.sj-ngh__badge { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-top: 2rem; }
.sj-ngh__badge iframe { width: 250px; height: 350px; border: 0; overflow: hidden; background: transparent; }
.sj-ngh__badge p { font-size: 0.82rem; color: var(--plum-soft); max-width: 26ch; margin: 0; }
.sj-small { font-size: 0.8rem; color: var(--plum-soft); margin-top: 1.25rem; }
@media (max-width: 900px) { .sj-ngh { grid-template-columns: 1fr; } .sj-ngh__art { max-width: 380px; } }

/* =========================================================
   Inner pages — page hero (reuses the original photo hero)
   ========================================================= */
.sj-page-hero.hero--photo { min-height: min(62vh, 560px); }
.sj-page-hero .hero__title { max-width: 26ch; }
.sj-page-hero .hero__script { font-size: clamp(2.4rem, 6.4vw, 4.4rem); max-width: 24ch; }
.sj-crumbs { font-size: 0.62rem; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold-soft); margin-bottom: 1.25rem; }
.sj-crumbs a { color: rgba(245, 240, 232, 0.8); }
.sj-crumbs a:hover { color: var(--cream); }
.sj-page-hero .hero__photo[data-drift] { will-change: transform; }

/* Jump links */
.sj-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.sj-jump a {
  font-size: 0.78rem; letter-spacing: 0.04em;
  padding: 0.6rem 1.1rem;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: var(--ivory);
  color: var(--plum);
  transition: border-color 0.3s var(--ease), background-color 0.3s var(--ease), transform 0.3s var(--ease);
}
.sj-jump a:hover { border-color: var(--gold); background: var(--lavender-soft); transform: translateY(-2px); }

/* Use-case entries (What We Help With) */
.sj-group-label { margin-top: clamp(1rem, 3vw, 2rem); }
.sj-entry {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(1.75rem, 5vw, 4.5rem);
  padding-block: clamp(2.75rem, 6vw, 4.5rem);
  border-top: 1px solid var(--rule);
  scroll-margin-top: 7rem;
}
.sj-entry__label { font-size: 0.62rem; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--sage); }
.sj-entry h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0.8rem 0 1rem; }
.sj-entry__hook { font-family: var(--font-serif-soft); font-style: italic; font-size: clamp(1.2rem, 2vw, 1.45rem); line-height: 1.5; color: var(--plum-soft); }
.sj-entry__block + .sj-entry__block { margin-top: 1.6rem; }
.sj-entry__block h3 { font-family: var(--font-sans); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--plum); margin-bottom: 0.6rem; }
.sj-entry__block p { margin: 0; }
.sj-recognize li {
  position: relative;
  padding-left: 1.7rem;
  margin-bottom: 0.55rem;
  font-family: var(--font-serif-soft);
  font-size: clamp(1.1rem, 1.7vw, 1.3rem);
  line-height: 1.45;
  color: var(--plum);
}
.sj-recognize li::before { content: "\2726"; position: absolute; left: 0; top: 0.15em; font-size: 0.8rem; color: var(--gold); }
.sj-entry__quote { border-left: 2px solid var(--gold); padding: 0.2rem 0 0.2rem 1.25rem; margin-top: 1.6rem; }
.sj-entry__quote p { font-family: var(--font-serif-soft); font-style: italic; font-size: 1.3rem; color: var(--plum); margin: 0 0 0.4rem; }
.sj-entry__quote cite { font-style: normal; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sage); }
.sj-entry .cta-row { margin-top: 2rem; }
@media (max-width: 900px) { .sj-entry { grid-template-columns: 1fr; gap: 1.25rem; } }

/* Feature grid + panels */
.sj-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1.25rem, 3vw, 2rem); }
.sj-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 3vw, 2rem); }
@media (max-width: 900px) { .sj-grid-2, .sj-grid-3 { grid-template-columns: 1fr; } }
.sj-panel {
  background: var(--ivory);
  border: 1px solid var(--rule-light);
  border-radius: var(--radius);
  padding: clamp(1.75rem, 3.5vw, 2.5rem);
  transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease), border-color 0.5s var(--ease);
}
.sj-panel:hover { transform: translateY(-4px); border-color: rgba(169, 134, 62, 0.5); box-shadow: 0 30px 60px -40px rgba(39, 29, 51, 0.5); }
.sj-panel h3 { font-size: clamp(1.1rem, 1.8vw, 1.3rem); margin-bottom: 0.6rem; }
.sj-panel p { margin: 0; color: var(--plum-soft); font-size: 0.95rem; }
.sj-panel__num { display: block; font-family: var(--font-serif-soft); font-weight: 600; font-size: 1.1rem; letter-spacing: 0.1em; color: var(--gold); margin-bottom: 0.8rem; }
.sj-panel--plum { background: var(--plum); border-color: var(--plum); }
.sj-panel--plum h3 { color: var(--cream); }
.sj-panel--plum p, .sj-panel--plum li { color: rgba(245, 240, 232, 0.85); }
.sj-ticks li { position: relative; padding-left: 1.6rem; margin-bottom: 0.7rem; }
.sj-ticks li::before { content: "\2726"; position: absolute; left: 0; top: 0.1em; color: var(--gold-soft); font-size: 0.75rem; }
.sj-panel:not(.sj-panel--plum) .sj-ticks li::before { color: var(--gold); }

/* Myths table */
.sj-myths { width: 100%; border-collapse: collapse; border-top: 1px solid var(--rule); }
.sj-myths th { text-align: left; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sage); padding: 1rem 1rem 1rem 0; border-bottom: 1px solid var(--rule); }
.sj-myths td { padding: 1.3rem 1.5rem 1.3rem 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
.sj-myths td:first-child { font-family: var(--font-serif-soft); font-weight: 600; font-size: 1.2rem; color: var(--plum); width: 42%; }
@media (max-width: 640px) {
  .sj-myths thead { display: none; }
  .sj-myths tr { display: block; border-bottom: 1px solid var(--rule); padding: 1rem 0; }
  .sj-myths td { display: block; border: 0; padding: 0.2rem 0; width: auto !important; }
}

/* Photo strip */
.sj-strip { display: grid; grid-template-columns: 1.2fr 0.9fr 1.1fr; gap: clamp(0.75rem, 2vw, 1.25rem); }
.sj-strip .media-frame img { aspect-ratio: 4 / 3; }
@media (max-width: 760px) { .sj-strip { grid-template-columns: 1fr 1fr; } .sj-strip > :first-child { grid-column: 1 / -1; } }

/* Testimonials page: two columns read better with long quotes */
.sj-quotes-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 720px) { .sj-quotes-2 { grid-template-columns: 1fr; } }
.sj-disclaimer { margin-top: clamp(2rem, 4vw, 3rem); font-size: 0.8rem; color: var(--plum-soft); text-align: center; }

/* Long-form text pages */
.sj-longform { max-width: 72ch; }
.sj-longform h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 2.75rem 0 1rem; }
.sj-longform ul { margin: 0 0 1.15em; }
.sj-longform ul li { position: relative; padding-left: 1.5rem; margin-bottom: 0.6rem; }
.sj-longform ul li::before { content: "\2726"; position: absolute; left: 0; top: 0.15em; color: var(--gold); font-size: 0.75rem; }
.sj-longform a { color: var(--plum); border-bottom: 1px solid var(--gold); }

/* Footer NGH line */
.sj-footer-ngh { display: flex; align-items: center; gap: 0.7rem; margin-top: 1.25rem; font-size: 0.8rem; }
.sj-footer-ngh img { width: 40px; height: 40px; margin: 0 !important; }

/* Reduced motion for the additions */
@media (prefers-reduced-motion: reduce) {
  .sj-video__poster, .sj-video__play::before, .sj-ngh__art::after { animation: none !important; }
  .sj-portraits__second { opacity: 1; transform: none; }
  .sj-case::before { transform: scaleX(1); }
}

/* =========================================================
   v4 — page-based menu: Services dropdown + current page
   ========================================================= */
.sj-has-drop { position: relative; }
.sj-drop {
  position: absolute;
  top: calc(100% + 0.6rem);
  left: 50%;
  min-width: 17rem;
  padding: 0.6rem;
  background: var(--ivory);
  border: 1px solid var(--rule-light);
  border-radius: var(--radius);
  box-shadow: 0 30px 60px -36px rgba(39, 29, 51, 0.55);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity 0.3s var(--ease), transform 0.3s var(--ease), visibility 0.3s;
  z-index: 120;
}
.sj-drop::before { content: ""; position: absolute; left: 0; right: 0; top: -0.8rem; height: 0.8rem; }
.sj-has-drop:hover .sj-drop,
.sj-has-drop:focus-within .sj-drop { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.sj-drop a {
  display: block;
  padding: 0.7rem 0.9rem;
  border-radius: var(--radius);
  font-family: var(--font-serif-soft);
  font-weight: 600;
  font-size: 1.08rem;
  color: var(--plum);
  transition: background-color 0.25s var(--ease);
}
.sj-drop a:hover { background: var(--lavender-soft); }
.sj-drop small { display: block; font-family: var(--font-sans); font-weight: 500; font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sage); margin-top: 0.15rem; }
.nav__link[aria-current="page"]::after { transform: scaleX(1); }
.nav__link[aria-current="page"] { color: var(--plum); }
.site-header:not([data-scrolled="true"]) .nav__link[aria-current="page"] { color: var(--cream); }

/* FAQ page — vertical audio video beside its question */
.sj-faqvid {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) 1.3fr;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}
.sj-faqvid__player {
  max-width: 340px;
  width: 100%;
  justify-self: center;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--plum-deep);
  box-shadow: 0 40px 80px -50px rgba(39, 29, 51, 0.8);
}
.sj-faqvid__player video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; background: var(--plum-deep); }
.sj-faqvid .h-section { font-size: clamp(1.6rem, 3.2vw, 2.4rem); }
@media (max-width: 900px) { .sj-faqvid { grid-template-columns: 1fr; } }

/* v4: the page menu has more items than the original — tighten it slightly so it fits */
.nav__menu { gap: clamp(0.8rem, 1.4vw, 1.6rem); }
.nav__link { letter-spacing: 0.12em; }
/* v5 — keep the full menu bar visible down to the original 1040px breakpoint */
@media (max-width: 1480px) {
  .nav { gap: 1rem; }
  .nav__menu { gap: clamp(0.6rem, 1vw, 0.95rem); }
  .nav__link { font-size: 0.6rem; letter-spacing: 0.07em; }
  .nav__brand { gap: 0.55rem; }
  .nav__brand img { width: 38px; height: 38px; }
  .nav__brand-text { font-size: 0.8rem; letter-spacing: 0.1em; }
  .nav__cta { margin-left: 0; }
  .nav__cta .btn--sm { padding: 0.6rem 0.9rem; font-size: 0.6rem; letter-spacing: 0.12em; }
}

/* v5 — What We Help With page: the headline leads, "Sound Familiar?" supports */
.sj-hero--help .hero__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(2.4rem, 5.6vw, 4.4rem);
  letter-spacing: 0.04em;
  line-height: 1.12;
  max-width: 18ch;
}
.sj-hero--help .hero__script { font-size: clamp(1.7rem, 3.6vw, 2.6rem); margin-bottom: 0.6rem; }

/* v6 — Meet Your Therapist photo on the homepage, ~20% smaller */
.founder__media.sj-photo-80 { max-width: 80%; }

/* v6 — Hypnosis Works with a supporting photograph */
.reason__grid.sj-reason--image { grid-template-columns: auto 1fr minmax(0, 0.55fr); }
.reason__media img { aspect-ratio: 4 / 5; object-position: center 30%; }
@media (max-width: 900px) {
  .reason__grid.sj-reason--image { grid-template-columns: 1fr; }
  .reason__media { max-width: 22rem; width: 100%; }
}

/* v6 — "From Release to Renewal" landscape photo */
.experience__media .media-frame img[src*="woman-after"] { aspect-ratio: 4 / 3; }

/* =========================================================
   v7
   ========================================================= */
/* Home hero: tighter script, two-line headline, ~20% shorter */
.hero--photo:not(.sj-page-hero) {
  min-height: min(70vh, 640px);
  padding-block: calc(var(--header-h) + clamp(0.5rem, 2vw, 1.25rem)) clamp(2rem, 4vw, 3rem);
}
.hero--photo:not(.sj-page-hero) .hero__medallion { width: clamp(100px, 12vw, 132px); margin-bottom: clamp(1.1rem, 2.5vw, 1.75rem); }
.hero--photo:not(.sj-page-hero) .hero__script {
  max-width: none;
  line-height: 0.98;
  font-size: clamp(2.3rem, 7vw, 5rem);
  margin-bottom: clamp(0.9rem, 2vw, 1.3rem);
}
/* the line break after "No" shifts the word order by one */
.hero__script .word:nth-child(5) { animation-delay: 0.54s; }
.hero__script .word:nth-child(6) { animation-delay: 0.67s; }
.hero__script .word:nth-child(7) { animation-delay: 0.80s; }
.hero--photo:not(.sj-page-hero) .hero__title {
  max-width: 34ch;
  text-wrap: balance;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  margin-bottom: clamp(1rem, 2vw, 1.4rem);
}
.hero--photo:not(.sj-page-hero) .hero__intro { margin-bottom: clamp(1.4rem, 3vw, 2rem); }
.hero--photo:not(.sj-page-hero) .hero__scroll { margin-top: clamp(1.25rem, 3vw, 2rem); }

/* Hypnosis Works: Woman in Therapy as background imagery */
.reason.sj-reason-bg {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(90deg, var(--lavender-soft) 0%, rgba(236, 228, 241, 0.94) 42%, rgba(236, 228, 241, 0.62) 72%, rgba(236, 228, 241, 0.35) 100%),
    url("../images/therapy-wide-1600.webp") right center / cover no-repeat,
    var(--lavender-soft);
}
@media (max-width: 900px) {
  .reason.sj-reason-bg {
    background:
      linear-gradient(180deg, rgba(236, 228, 241, 0.9), rgba(236, 228, 241, 0.86)),
      url("../images/therapy-wide-1600.webp") center / cover no-repeat,
      var(--lavender-soft);
  }
}

/* Inner pages: every hero matches the What We Help With hero height */
.sj-page-hero.hero--photo {
  min-height: 0;
  height: 577px;
  padding-block: calc(var(--header-h) + 1rem) 2rem;
}
.sj-page-hero .hero__script { font-size: clamp(1.8rem, 3.6vw, 2.6rem); margin-bottom: 0.4rem; }
.sj-page-hero .hero__title { font-size: clamp(1.6rem, 3.2vw, 2.5rem); margin-bottom: 0.9rem; }
.sj-page-hero.sj-hero--help .hero__title { font-size: clamp(2.4rem, 5.6vw, 4.4rem); }
.sj-page-hero .hero__intro { max-width: 60ch; margin-bottom: 1.25rem; }
.sj-page-hero .eyebrow { margin-bottom: 0.9rem; }
.sj-page-hero .sj-crumbs { margin-bottom: 0.9rem; }
@media (max-width: 620px) {
  .sj-page-hero.hero--photo { height: auto; min-height: 523px; }
}

/* =========================================================
   v8
   ========================================================= */
/* Home hero: "Release What No Longer Serves You" on one line */
.hero--photo:not(.sj-page-hero) .hero__script {
  white-space: nowrap;
  font-size: clamp(1.45rem, 5.4vw, 4.6rem);
}
@media (max-width: 620px) {
  .hero--photo:not(.sj-page-hero) .hero__script { white-space: normal; font-size: 2.3rem; }
}

/* "Why waste years…" statement on two lines */
.statement .script.statement__q {
  max-width: 46ch;
  text-wrap: balance;
  font-size: clamp(1.7rem, 3.6vw, 3.2rem);
}

/* Homepage video: the branded thumbnail shows through clearly */
.sj-video--thumb .sj-video__poster { animation: none; object-position: center; }
.sj-video--thumb::after { background: linear-gradient(180deg, transparent 55%, rgba(22, 14, 30, 0.45)); }
.sj-video--thumb .sj-video__frame { display: none; }
.sj-video--thumb .sj-video__overlay { justify-content: flex-end; padding-bottom: clamp(1rem, 3vw, 2rem); }
.sj-video--thumb .sj-video__title,
.sj-video--thumb .sj-video__note { display: none; }
.sj-video--thumb .sj-video__play { margin-bottom: 0.6rem; background: rgba(39, 29, 51, 0.55); }

/* =========================================================
   v9
   ========================================================= */
/* Home hero matches the inner-page hero height */
.hero--photo:not(.sj-page-hero) {
  min-height: 0;
  height: 577px;
  padding-block: calc(var(--header-h) + 0.75rem) 1.5rem;
}
.hero--photo:not(.sj-page-hero) .hero__medallion { width: 68px; margin-bottom: 0.6rem; }
.hero--photo:not(.sj-page-hero) .eyebrow { margin-bottom: 0.6rem; }
.hero--photo:not(.sj-page-hero) .hero__script { font-size: clamp(1.45rem, 4.6vw, 4rem); margin-bottom: 0.6rem; }
.hero--photo:not(.sj-page-hero) .hero__title { font-size: clamp(1.4rem, 2.6vw, 2.1rem); margin-bottom: 1rem; }
.hero--photo:not(.sj-page-hero) .hero__cta { margin-bottom: 0; }
.hero--photo:not(.sj-page-hero) .hero__reassure { margin-top: 1.1rem; }
.hero--photo:not(.sj-page-hero) .hero__scroll { display: none; }
@media (max-width: 620px) {
  .hero--photo:not(.sj-page-hero) { height: auto; min-height: 523px; padding-bottom: 2.5rem; }
  .hero--photo:not(.sj-page-hero) .hero__script { font-size: 2.3rem; }
}

/* Hypnosis Works: 25% taller image area */
@media (min-width: 901px) {
  .reason.sj-reason-bg { min-height: 325px; display: grid; align-content: center; }
}

/* Homepage testimonials: rotating carousel */
.sj-carousel {
  position: relative;
  max-width: 860px;
  margin: clamp(1rem, 3vw, 2rem) auto 0;
  padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.25rem, 5vw, 4rem) clamp(1.5rem, 3vw, 2rem);
  background: var(--ivory, #fbf8f3);
  border: 1px solid rgba(169, 133, 64, 0.28);
  border-radius: 4px;
  box-shadow: 0 24px 60px -36px rgba(46, 30, 61, 0.35);
  text-align: center;
}
.sj-carousel__mark {
  display: block; height: 2.6rem; margin-bottom: 0.4rem;
  font-family: var(--font-serif-soft); font-size: 5.5rem; line-height: 1;
  color: var(--gold);
}
.sj-carousel__slide > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.sj-carousel__track { display: grid; }
.sj-carousel__slide {
  grid-area: 1 / 1;
  margin: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.9rem;
  opacity: 0; visibility: hidden; translate: 24px 0;
  transition: opacity 0.7s ease, translate 0.7s ease, visibility 0s linear 0.7s;
}
.sj-carousel__slide.is-active { opacity: 1; visibility: visible; translate: 0 0; transition: opacity 0.7s ease, translate 0.7s ease, visibility 0s; }
.sj-carousel__slide blockquote {
  order: 1; margin: 0;
  font-family: var(--font-serif-soft); font-style: italic;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem); line-height: 1.6; color: var(--plum);
  max-width: 62ch;
}
.sj-carousel__slide .quote__stars { order: 0; display: flex; gap: 0.2rem; justify-content: center; }
.sj-carousel__slide .quote__stars svg { width: 18px; height: 18px; fill: var(--gold, #a98540); }
.sj-carousel__slide cite { order: 2; font-style: normal; font-size: 0.85rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--plum, #3a2b48); margin-top: 0.4rem; }
.sj-carousel__slide .quote__service { order: 3; font-size: 0.85rem; color: var(--sage, #6f7d64); }
.sj-carousel__controls { display: flex; align-items: center; justify-content: center; gap: 1.25rem; margin-top: clamp(1.5rem, 3vw, 2rem); }
.sj-carousel__arrow {
  width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
  border: 1px solid rgba(58, 43, 72, 0.25); background: transparent; color: var(--plum, #3a2b48);
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.sj-carousel__arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.sj-carousel__arrow:hover, .sj-carousel__arrow:focus-visible { background: var(--plum, #3a2b48); color: #fff; border-color: var(--plum, #3a2b48); }
.sj-carousel__dots { display: flex; gap: 0.55rem; }
.sj-carousel__dot { width: 9px; height: 9px; padding: 0; border-radius: 50%; border: 0; cursor: pointer; background: rgba(58, 43, 72, 0.22); transition: background 0.3s ease, width 0.3s ease; }
.sj-carousel__dot.is-active { width: 26px; border-radius: 5px; background: var(--gold, #a98540); }
@media (prefers-reduced-motion: reduce) {
  .sj-carousel__slide, .sj-carousel__slide.is-active { transition: none; translate: none; }
}

/* =========================================================
   v10
   ========================================================= */
/* Footer: woman-owned business line sits under the NGH line */
.sj-footer-wob { margin-top: 0.75rem; }

/* Parts Negotiation Therapy hero: script on one line */
.sj-hero--pn .hero__script { white-space: nowrap; max-width: none; font-size: clamp(1.4rem, 3.2vw, 2.6rem); }
@media (max-width: 620px) {
  .sj-hero--pn .hero__script { white-space: normal; }
}

/* What We Help With hero: headline in the same serif as the other heroes,
   with the script line above it */
.sj-page-hero.sj-hero--help .hero__title {
  font-family: var(--font-serif-soft);
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.15;
  font-size: clamp(2rem, 4.4vw, 3.4rem);
}
.sj-page-hero.sj-hero--help .hero__script { max-width: none; font-size: clamp(1.5rem, 3.2vw, 2.4rem); }

/* Homepage video player */
.sj-video video { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 4; background: #000; object-fit: contain; }

/* =========================================================
   v11
   ========================================================= */
/* What We Help With: headline matches the other page heroes */
.sj-page-hero.sj-hero--help .hero__title { font-size: clamp(1.6rem, 3.2vw, 2.5rem); line-height: 1.28; max-width: 20ch; }

/* Book a Session hero: script on one line */
.sj-hero--book .hero__script { white-space: nowrap; max-width: none; }
@media (max-width: 620px) {
  .sj-hero--book .hero__script { white-space: normal; }
}

/* Home: "Why waste years…" a little larger, still two lines */
.statement .script.statement__q { font-size: clamp(1.9rem, 4.1vw, 3.6rem); max-width: 40ch; }

/* Home: Meet Your Therapist with a wider text column */
@media (min-width: 1081px) {
  .sj-founder--wide .founder__grid { grid-template-columns: 0.62fr 1.38fr; gap: clamp(2rem, 4vw, 3.5rem); }
  .sj-founder--wide .founder__media.sj-photo-80 { max-width: 100%; }
}

/* =========================================================
   v12
   ========================================================= */
/* Stacked booking buttons (FAQ video section) */
.sj-btn-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 0.85rem; }

/* Book a Session: booking section ~25% shorter */
.sj-book-compact { padding-block: clamp(3rem, 6vw, 4.25rem); }
.sj-book-compact .section-lotus { display: none; }
.sj-book-compact .booking__head { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.sj-book-compact .booking__head .ornament { margin-bottom: 0.75rem; }
.sj-book-compact .book-card { padding-block: clamp(1.75rem, 3vw, 2.25rem); }
.sj-book-compact .book-card .book-price { margin-block: 0.4rem 0.25rem; }
.sj-book-compact .book-card .btn { margin-top: 1.25rem; }
.sj-book-compact .booking__discovery { margin-top: clamp(1.5rem, 3vw, 2rem); }

/* Home: "A Sacred Space to Meet Your Inner Self" ~25% shorter */
.sj-about--compact { padding-block: clamp(3rem, 6vw, 4.5rem); }
.sj-about--compact .about__media { max-width: 230px; }
.sj-about--compact .about__heading .h-section { margin-bottom: 1.25rem; }

/* Home: "Come Home to Yourself" ~20% shorter, text on two lines */
.sj-band--compact { min-height: 0; padding-block: clamp(4rem, 7vw, 5.5rem); }
.sj-band--compact .photo-band__text { max-width: 44rem; }

/* Home: "Sound Familiar?" ~20% shorter */
.sj-sound--compact { padding-block: clamp(3.25rem, 6vw, 4.5rem); }
.sj-sound--compact .sj-head { margin-bottom: clamp(1.75rem, 3vw, 2.25rem); }
.sj-sound--compact .sj-head .ornament { margin-block: 0.75rem; }
.sj-sound--compact .sj-cases { gap: 1rem; }
.sj-sound--compact .sj-case { padding: 1.4rem 1.5rem 1.3rem; }
.sj-sound--compact .cta-row { margin-top: clamp(1.75rem, 3vw, 2.25rem) !important; }
.sj-about--compact { padding-block: clamp(2.75rem, 5vw, 3.75rem); }
.sj-about--compact .about__media { max-width: 220px; }
.sj-about--compact .about__media img { aspect-ratio: 1 / 1; object-fit: cover; object-position: center 45%; }
.sj-band--compact { padding-block: clamp(4rem, 7.5vw, 6.25rem); }

/* =========================================================
   v13
   ========================================================= */
/* Home: "A Sacred Space…" title centered across the section */
.sj-about__head { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.sj-about__head .h-section { max-width: none; }
.sj-about--compact .about__grid { align-items: center; }

/* Home: video section with less space above the title */
.sj-video-section { padding-top: clamp(2.5rem, 5vw, 3.75rem); }
.sj-video-section .sj-head { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }

/* Footer: Stay Connected offer */
.sj-footnews {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  padding: clamp(1.75rem, 3vw, 2.25rem) clamp(1.5rem, 3vw, 2.5rem);
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: var(--radius);
  background: rgba(201, 166, 208, 0.08);
}
.sj-footnews__eyebrow { font-size: 0.66rem; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold-soft); margin: 0 0 0.5rem; }
.sj-footnews__title { font-family: var(--font-serif); font-size: clamp(1.25rem, 2.2vw, 1.6rem); font-weight: 500; letter-spacing: 0.04em; color: var(--cream); margin: 0 0 0.5rem; }
.sj-footnews__copy p:last-child { margin: 0; max-width: 44ch; }
.sj-footnews__form .newsletter__field input[type="email"] { padding: 0.9rem 1.1rem; background: var(--cream); border-color: transparent; }
.sj-footnews__form .btn { --btn-bg: var(--gold-soft); --btn-fg: var(--plum-deep); --btn-bd: var(--gold-soft); }
.sj-footnews__form .newsletter__fineprint { color: rgba(245, 240, 232, 0.6); opacity: 1; }
.sj-footnews__form .newsletter__status { color: var(--gold-soft); min-height: 0; }
.sj-footnews__form .newsletter__status:empty { display: none; }
@media (max-width: 900px) {
  .sj-footnews { grid-template-columns: 1fr; }
}
.sj-head.sj-about__head { max-width: none; }
@media (min-width: 901px) { .sj-about__head .h-section { white-space: nowrap; } }

/* =========================================================
   v14
   ========================================================= */
/* What We Help With: intro above the topic links */
.sj-jump { margin-top: 0.5rem; }
/* Service pages: compact pattern links instead of repeated cards */
.sj-jump--svc { justify-content: center; }
.sj-svc-note { margin-top: clamp(1.25rem, 2.5vw, 1.75rem); }
/* Photo bands: longer script captions stay centered */
.photo-band__inner { max-width: min(92vw, 1100px); }
/* Home "Come Home to Yourself": new copy on two lines */
.sj-band--compact .photo-band__text { max-width: 52rem; }
@media (max-width: 760px) { .photo-band__script { white-space: normal; text-wrap: balance; } }

/* v15 — links to the client NDA */
.sj-nda-link { margin-top: 1.5rem; }
.sj-nda-note { margin-top: 0.75rem; text-align: center; font-size: 0.8rem; color: var(--plum-soft); }
.sj-nda-note a { color: var(--plum); text-decoration: underline; text-underline-offset: 3px; }
.prose .sj-nda-link a.btn { color: var(--cream); text-decoration: none; border-bottom: 0; background-image: none; }
.prose .sj-nda-link a.btn:hover { color: var(--cream); }

/* =========================================================
   v16 — November offer
   ========================================================= */
.sj-offer { background: var(--plum-deep); color: var(--cream); text-align: center; padding: 0.7rem var(--gutter); position: relative; z-index: 101; }
.sj-offer p { margin: 0; font-size: 0.86rem; line-height: 1.5; letter-spacing: 0.01em; }
.sj-offer strong { color: var(--gold-soft); font-weight: 600; }
.sj-offer a { color: var(--gold-soft); text-decoration: underline; text-underline-offset: 3px; margin-left: 0.4rem; white-space: nowrap; font-weight: 600; }
.sj-offer a:hover { color: var(--cream); }
.sj-offer__tag { display: inline-block; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-soft); border: 1px solid rgba(227, 206, 159, 0.5); border-radius: 999px; padding: 0.15rem 0.6rem; margin-right: 0.5rem; vertical-align: 1px; }
.sj-offer-note { margin: 0 0 1.25rem; padding: 0.85rem 1.1rem; background: var(--lavender-soft); border: 1px solid rgba(169, 134, 62, 0.35); border-radius: var(--radius); color: var(--plum); font-size: 0.92rem; line-height: 1.55; }
.sj-offer-note .sj-offer__tag { color: var(--gold); border-color: rgba(169, 134, 62, 0.5); }
.sj-offer-note strong { color: var(--plum); }
.sj-offer[hidden], .sj-offer-note[hidden] { display: none !important; }
.sj-entry .sj-offer-note { margin: 1.25rem 0 0; }

/* =========================================================
   v17 — November offer landing page (/self-sabotage-session/)
   ========================================================= */
.sj-lp-header .nav { justify-content: space-between; }
.sj-lp-header .nav__cta { display: flex !important; margin-left: auto; }
.sj-hero--lp .hero__title { font-size: clamp(1.6rem, 3.4vw, 2.6rem); max-width: 24ch; }
.sj-lp-offerbar { background: var(--plum-deep); color: var(--cream); text-align: center; padding-block: 0.95rem; }
.sj-lp-offerbar p { margin: 0; font-size: 0.95rem; line-height: 1.55; }
.sj-lp-offerbar strong { color: var(--gold-soft); }
.sj-lp-qgrid { align-items: center; }
.sj-lp-questions li { font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.sj-lp-note { margin-top: 1.5rem; color: var(--plum-soft); line-height: 1.7; max-width: 58ch; }
.sj-lp-part h3 { margin-bottom: 0.5rem; }
.sj-lp-part p { margin: 0; }
.sj-lp-part__role { margin-top: 0.85rem !important; padding-top: 0.85rem; border-top: 1px solid var(--rule); color: var(--plum); }
.sj-lp-part__role span { display: block; font-size: 0.64rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.25rem; }
.sj-lp-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.sj-lp-steps li { padding-top: 1.25rem; border-top: 1px solid var(--gold); }
.sj-lp-steps__n { font-family: var(--font-serif); font-size: 1.6rem; color: var(--gold); display: block; margin-bottom: 0.5rem; }
.sj-lp-steps h3 { font-size: 1.05rem; margin-bottom: 0.4rem; }
.sj-lp-steps p { margin: 0; color: var(--plum-soft); line-height: 1.65; }
@media (max-width: 900px) { .sj-lp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sj-lp-steps { grid-template-columns: 1fr; } }
.sj-lp-offer { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.75rem, 4vw, 3rem); border: 1px solid rgba(169, 134, 62, 0.4); border-radius: var(--radius); background: var(--cream); }
.sj-lp-offer__price { font-size: 1rem; color: var(--plum-soft); margin: 0.5rem 0 1.25rem; }
.sj-lp-offer__price span { font-family: var(--font-serif); font-size: 2.4rem; color: var(--plum); vertical-align: -0.2rem; }
.sj-lp-offer__cta { display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }
.sj-lp-offer__cta p { margin: 0; font-size: 0.9rem; color: var(--plum-soft); }
.sj-lp-offer__cta a:not(.btn) { color: var(--plum); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) { .sj-lp-offer { grid-template-columns: 1fr; } }
.sj-lp-quote { margin: 1.5rem 0 0; padding-left: 1.1rem; border-left: 2px solid var(--gold); }
.sj-lp-quote blockquote { margin: 0; font-family: var(--font-serif-soft); font-style: italic; font-size: 1.08rem; line-height: 1.6; color: var(--plum); }
.sj-lp-quote figcaption { margin-top: 0.5rem; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sage); }
/* landing page: When timeline */
.sj-lp-countdown { font-family: var(--font-serif-soft); }
.sj-lp-countdown [data-days-left] { font-family: var(--font-serif); font-size: 1.5em; color: var(--gold); }
.sj-lp-when { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); position: relative; }
.sj-lp-when li { position: relative; padding-top: 1.6rem; }
.sj-lp-when li::before { content: ""; position: absolute; top: 0.35rem; left: 0; right: -2rem; height: 1px; background: var(--gold); opacity: 0.6; }
.sj-lp-when li:last-child::before { right: 0; }
.sj-lp-when li::after { content: ""; position: absolute; top: 0; left: 0; width: 0.75rem; height: 0.75rem; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px var(--cream); }
.sj-lp-when__time { margin: 0 0 0.4rem; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); }
.sj-lp-when h3 { font-size: 1.05rem; margin-bottom: 0.4rem; }
.sj-lp-when p:not(.sj-lp-when__time) { margin: 0; color: var(--plum-soft); line-height: 1.65; }
@media (max-width: 900px) { .sj-lp-when { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2rem; } .sj-lp-when li::before { right: 0; } }
@media (max-width: 560px) { .sj-lp-when { grid-template-columns: 1fr; } }
/* landing page: closing statement over image */
.sj-lp-statement { background: var(--plum-deep); }
.sj-lp-statement .statement__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(39, 29, 51, 0.72), rgba(39, 29, 51, 0.82)); }
.sj-lp-statement .statement__media img { object-position: center 40%; }
.sj-lp-statement .ornament { margin: 0 auto 1rem; }
.sj-lp-statement__script { color: var(--gold-soft); font-size: clamp(1.9rem, 4.2vw, 3.4rem); line-height: 1.2; margin: 0 auto 0.6rem; max-width: 30ch; text-wrap: balance; }
.sj-lp-statement__title { color: var(--cream); font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.4rem, 2.8vw, 2.2rem); line-height: 1.3; letter-spacing: 0.02em; max-width: 32ch; margin: 0 auto 2rem; text-wrap: balance; }
@media print { .sj-lp-statement .statement__media { display: none; } }
.statement.sj-lp-statement .script.sj-lp-statement__script { color: var(--gold-soft); text-shadow: 0 2px 22px rgba(20, 12, 28, 0.6); }

/* v18 — policy line, landing headline on one line */
.sj-policy-line { text-align: center; font-size: 0.88rem; color: var(--plum-soft); margin: 0 auto 1.5rem; }
.sj-policy-line a { color: var(--plum); text-decoration: underline; text-underline-offset: 3px; }
.sj-hero--lp .hero__script { white-space: nowrap; max-width: none; font-size: clamp(1.5rem, 3.6vw, 2.6rem); }
@media (max-width: 620px) { .sj-hero--lp .hero__script { white-space: normal; } }
.sj-longform h3 { margin-top: 1.25rem; }
#cancellation { scroll-margin-top: 7rem; }

/* ===== v19 landing: benefits, for-you, why, client voice ===== */
.sj-lp-benefits { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.25rem,3vw,2.5rem); text-align:center; }
.sj-lp-benefits__icon { display:inline-grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:50%; border:1px solid var(--gold); color:var(--gold); margin-bottom:0.9rem; }
.sj-lp-benefits h3 { font-size:1.1rem; margin-bottom:0.45rem; }
.sj-lp-benefits p { margin:0 auto; color:var(--plum-soft); line-height:1.65; max-width:30ch; }
.sj-lp-foryou { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.4rem 2.5rem; margin:0; padding:0; list-style:none; font-size:1.05rem; color:var(--plum); }
.sj-lp-foryou-wrap .sj-head { margin-bottom:1.5rem; }
.sj-lp-why { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,2.5vw,2rem); }
.sj-lp-why__item { padding:1.4rem 1.3rem; background:var(--ivory,#fbf8f2); border:1px solid rgba(197,160,89,.35); border-radius:14px; }
.sj-lp-why__try { font-family:var(--font-serif); font-size:1.2rem; color:var(--plum); margin:0 0 .5rem; text-decoration:line-through; text-decoration-color:var(--gold); text-decoration-thickness:1px; }
.sj-lp-why__item p:last-child { margin:0; color:var(--plum-soft); line-height:1.65; }
.sj-lp-why__turn { text-align:center; margin:clamp(1.75rem,3vw,2.5rem) auto 0; font-family:var(--font-serif-soft); font-size:clamp(1.15rem,2vw,1.35rem); color:var(--plum); max-width:46ch; }
.sj-lp-why__turn em { color:var(--gold); font-style:italic; }
.sj-lp-voice { margin:0; text-align:center; }
.sj-lp-voice__mark { display:block; font-family:var(--font-serif); font-size:4.5rem; line-height:.6; color:var(--gold); height:2.2rem; }
.sj-lp-voice blockquote { margin:0; font-family:var(--font-serif-soft); font-style:italic; font-size:clamp(1.1rem,1.9vw,1.3rem); line-height:1.65; color:var(--plum); }
.sj-lp-voice blockquote p { margin:0 0 1rem; }
.sj-lp-voice figcaption { margin-top:.6rem; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--sage); }
@media (max-width:900px){ .sj-lp-benefits,.sj-lp-why{ grid-template-columns:1fr; } .sj-lp-foryou{ grid-template-columns:1fr; } }
/* v20 landing testimonials */
.sj-lp-voices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,2.5vw,2rem); margin-top:clamp(2rem,4vw,3rem); }
.sj-lp-voice-card { margin:0; padding:1.6rem 1.5rem; background:var(--cream,#f5f0e8); border-left:2px solid var(--gold); border-radius:4px 14px 14px 4px; }
.sj-lp-voice-card blockquote { margin:0; font-family:var(--font-serif-soft); font-style:italic; font-size:1.05rem; line-height:1.65; color:var(--plum); }
.sj-lp-voice-card figcaption { margin-top:.8rem; font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--sage); }
@media (max-width:760px){ .sj-lp-voices{ grid-template-columns:1fr; } }
