/* Original Journey stylesheet with ONLY font-size authority relaxed.
   Existing sizes remain as defaults, but Elementor widget/responsive typography
   can override them because those defaults now use zero-specificity :where(...).
   Layout, spacing, widths, heights, positioning and visual effects are unchanged. */

/* Elementor canvas defaults, followed by the approved design. */
body.sj-landing .elementor { --kit-widget-spacing:0px; }
body.sj-landing .e-con { display:block; padding:0; gap:0; margin:0; max-width:none; flex:none; flex-direction:row; --container-widget-width:100%; --container-widget-flex-grow:0; }
body.sj-landing :where(.e-con-full) { width:100%; }
body.sj-landing .elementor-widget { margin-block-end:0; min-width:0; }
body.sj-landing .elementor-widget:not(.elementor-widget-spacer):not(.elementor-widget-divider) { min-height:0; }
body.sj-landing .elementor-widget-heading .elementor-heading-title { color:inherit; font-family:var(--sj-display); font-weight:400; }
body.sj-landing .elementor-widget-text-editor { font:inherit; color:inherit; }
body.sj-landing .elementor-widget-container { color:inherit; }
body.sj-landing .elementor-widget-button .elementor-button { box-shadow:none; }
body.sj-landing .elementor-widget-heading .elementor-heading-title a { font:inherit; }
@font-face {
  font-family: "Journey Serif";
  src: url("fonts/libertine-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Journey Sans";
  src: url("fonts/biolinum-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Journey Sans";
  src: url("fonts/biolinum-bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

body.sj-landing {
  color-scheme: dark;
  --ink-950: #020711;
  --ink-900: #050a12;
  --ink-850: #07101a;
  --ink-800: #0b1521;
  --paper-100: #f4eee4;
  --paper-200: #e4dfd6;
  --paper-400: #b9b7b2;
  --paper-500: #9099a3;
  --gold-200: #f5d79a;
  --gold-400: #e0b364;
  --gold-600: #9b672f;
  --line-gold: rgba(224, 179, 100, .32);
  --line-light: rgba(244, 238, 228, .14);
  --sj-display: "Journey Serif", Georgia, serif;
  --body: "Journey Sans", "Helvetica Neue", Arial, sans-serif;
  --container: min(74rem, calc(100% - 2rem));
  --measure: 44rem;
  --measure-narrow: 34rem;
  --section-space: clamp(5.5rem, 11vw, 9rem);
  --cluster-space: clamp(2.25rem, 5vw, 4.25rem);
  --display-size: clamp(2.65rem, 9.5vw, 5rem);
  --h2-size: clamp(2.15rem, 7.6vw, 4.15rem);
  --h3-size: clamp(1.42rem, 4vw, 1.9rem);
  --body-size: clamp(1.04rem, 1.7vw, 1.15rem);
  --lede-size: clamp(1.16rem, 2.35vw, 1.36rem);
  --space-1: .75rem;
  --space-2: 1.25rem;
  --space-3: 2rem;
  --space-4: 3rem;
  --space-5: 4.5rem;
  --radius-soft: 1.2rem;
  --radius-pill: 999px;
  --shadow-deep: 0 1.8rem 4.5rem rgba(0, 0, 0, .34);
  --nav-height: 4.25rem;
}

body.sj-landing *,
body.sj-landing *::before,
body.sj-landing *::after {
  box-sizing: border-box;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--nav-height) + 1rem);
  background: var(--ink-950);
}

body.sj-landing {
  margin: 0;
  overflow-x: hidden;
  color: var(--paper-100);
  background: var(--ink-950);
  font-family: var(--body);
  font-size: var(--body-size);
  line-height: 1.62;
  letter-spacing: .003em;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

body.sj-landing a {
  color: inherit;
}

body.sj-landing img {
  display: block;
  max-width: 100%;
}

body.sj-landing ::selection {
  color: var(--ink-950);
  background: var(--gold-200);
}

body.sj-landing [hidden] {
  display: none !important;
}

body.sj-landing button,
body.sj-landing a {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

body.sj-landing button {
  font: inherit;
}

body.sj-landing :focus-visible {
  outline: 3px solid var(--gold-200);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {

  body.sj-landing *,
  body.sj-landing *::before,
  body.sj-landing *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

}

body.sj-landing .skip-link {
  position: fixed;
  z-index: 100;
  left: 1rem;
  top: -5rem;
  padding: .8rem 1rem;
  color: var(--ink-950);
  background: var(--gold-200);
}

body.sj-landing .skip-link:focus {
  top: 1rem;
}

body.sj-landing .container {
  width: var(--container);
  margin-inline: auto;
}

body.sj-landing .eyebrow {
  margin: 0 0 1rem;
  color: var(--gold-200);
  font-family: var(--body);
  
  font-weight: 700;
  letter-spacing: .19em;
  line-height: 1.45;
  text-transform: uppercase;
}:where(body.sj-landing .eyebrow) { font-size: .78rem; }

body.sj-landing h1,
body.sj-landing h2,
body.sj-landing h3,
body.sj-landing p {
  margin-block-start: 0;
}

body.sj-landing h1,
body.sj-landing h2,
body.sj-landing h3 {
  margin-block-end: 0;
  font-family: var(--sj-display);
  font-weight: 400;
  overflow-wrap: break-word;
  text-wrap: balance;
}

body.sj-landing h1 {
  line-height: .96;
  letter-spacing: -.035em;
}:where(body.sj-landing h1) { font-size: var(--display-size); }

body.sj-landing h2 {
  line-height: 1.01;
  letter-spacing: -.025em;
}:where(body.sj-landing h2) { font-size: var(--h2-size); }

body.sj-landing h3 {
  line-height: 1.12;
  letter-spacing: -.012em;
}:where(body.sj-landing h3) { font-size: var(--h3-size); }

body.sj-landing p {
  margin-block-end: 0;
  text-wrap: pretty;
}

body.sj-landing .lede {
  color: var(--paper-200);
  
  line-height: 1.52;
}:where(body.sj-landing .lede) { font-size: var(--lede-size); }

body.sj-landing .muted {
  color: var(--paper-400);
}

body.sj-landing .small {
  color: var(--paper-500);
  
  line-height: 1.55;
}:where(body.sj-landing .small) { font-size: .93rem; }

body.sj-landing .section-head {
  max-width: var(--measure);
}

body.sj-landing .section-head h2 {
  max-width: 16ch;
}

body.sj-landing .section-head .lede {
  max-width: 38rem;
  margin-top: 1.5rem;
}

body.sj-landing .button-row {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  align-items: stretch;
  margin-top: 2rem;
}

body.sj-landing .button {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .9rem 1.45rem;
  border: 1px solid var(--gold-400);
  border-radius: var(--radius-pill);
  font-family: var(--body);
  
  font-weight: 700;
  letter-spacing: .145em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}:where(body.sj-landing .button) { font-size: .8125rem; }

body.sj-landing .button:hover {
  transform: translateY(-2px);
}

body.sj-landing .button--primary {
  color: #101118;
  background: linear-gradient(100deg, var(--gold-200), var(--gold-400));
  box-shadow: 0 10px 34px rgba(224, 179, 100, .14);
}

body.sj-landing .button--quiet {
  justify-content: flex-start;
  min-height: 2.75rem;
  padding-inline: .15rem;
  border: 0;
  border-bottom: 1px solid var(--gold-400);
  border-radius: 0;
  background: transparent;
}

body.sj-landing .button--disabled {
  cursor: default;
  color: var(--paper-500);
  border-color: rgba(144, 153, 163, .45);
  background: transparent;
}

/* Global continuous canvas */
body.sj-landing .site-main {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(50rem 42rem at 115% 9%, rgba(168, 112, 49, .1), transparent 72%),
    radial-gradient(58rem 48rem at -20% 31%, rgba(35, 69, 95, .2), transparent 70%),
    radial-gradient(54rem 44rem at 118% 64%, rgba(168, 112, 49, .09), transparent 70%),
    linear-gradient(180deg, var(--ink-900), var(--ink-850) 48%, var(--ink-950));
}

body.sj-landing .chapter {
  position: relative;
  z-index: 1;
  padding-block: var(--section-space);
}

body.sj-landing .chapter > .container {
  position: relative;
  z-index: 2;
}

body.sj-landing .chapter::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: min(90vw, 54rem);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  opacity: .72;
}

body.sj-landing .chapter--recognition::before,
body.sj-landing .chapter--method::before,
body.sj-landing .chapter--fit::before,
body.sj-landing .chapter--experience::before {
  right: min(-32vw, -10rem);
  top: 8%;
  background: radial-gradient(circle, rgba(151, 102, 48, .09), transparent 67%);
}

body.sj-landing .chapter--statement::before,
body.sj-landing .chapter--container::before,
body.sj-landing .chapter--guide::before,
body.sj-landing .chapter--final::before {
  left: min(-34vw, -11rem);
  bottom: 4%;
  background: radial-gradient(circle, rgba(35, 69, 95, .17), transparent 69%);
}

body.sj-landing .chapter--insight::before,
body.sj-landing .chapter--outcomes::before,
body.sj-landing .chapter--process::before,
body.sj-landing .chapter--faq::before {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(244, 238, 228, .025), transparent 68%);
}

body.sj-landing .chapter .eyebrow {
  display: flex;
  align-items: center;
  gap: .7rem;
}

body.sj-landing .chapter .eyebrow::before {
  content: "";
  width: .58rem;
  height: .58rem;
  flex: 0 0 auto;
  border: 1px solid var(--gold-400);
  border-radius: 50%;
  box-shadow: 0 0 14px rgba(224, 179, 100, .18);
}

body.sj-landing .chapter--worldview .eyebrow,
body.sj-landing .chapter--final .eyebrow {
  justify-content: center;
}

body.sj-landing .chapter--compact {
  padding-block: calc(var(--section-space) * .65);
}

body.sj-landing .motif {
  isolation: isolate;
}

body.sj-landing .motif::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: clamp(24rem, 72vw, 58rem);
  aspect-ratio: 1;
  border: 1px solid rgba(224, 179, 100, .12);
  border-radius: 50%;
  box-shadow: 0 0 70px rgba(224, 179, 100, .035);
  pointer-events: none;
}

body.sj-landing .motif--right::after {
  right: clamp(-42rem, -45vw, -18rem);
  top: 6%;
}

body.sj-landing .motif--left::after {
  left: clamp(-42rem, -46vw, -19rem);
  bottom: 4%;
}

/* Hero template */
body.sj-landing .site-hero {
  position: relative;
  min-height: max(100svh, 43rem);
  overflow: hidden;
  isolation: isolate;
  background: var(--ink-900);
}

body.sj-landing .site-hero::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  height: clamp(9rem, 20vh, 14rem);
  pointer-events: none;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(5, 10, 18, .28) 36%,
    rgba(5, 10, 18, .76) 76%,
    var(--ink-900) 100%
  );
}

body.sj-landing .hero-art {
  position: absolute;
  z-index: 0;
  inset: 0;
}

body.sj-landing .hero-art img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
  -webkit-mask-image: linear-gradient(
    180deg,
    #000 0%,
    #000 78%,
    rgba(0, 0, 0, .92) 83%,
    rgba(0, 0, 0, .38) 94%,
    transparent 100%
  );
  mask-image: linear-gradient(
    180deg,
    #000 0%,
    #000 78%,
    rgba(0, 0, 0, .92) 83%,
    rgba(0, 0, 0, .38) 94%,
    transparent 100%
  );
}

@media (max-width: 47.99rem) {

  body.sj-landing .hero-art img {
    transform: translate(clamp(.75rem, 4vw, 1.25rem), -5rem) scale(1.06);
    transform-origin: center top;
  }

}

body.sj-landing .hero-shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(2, 7, 17, .02) 52%, rgba(2, 7, 17, .62) 100%),
    linear-gradient(90deg, rgba(2, 7, 17, .34) 0%, rgba(2, 7, 17, .08) 58%, transparent 78%);
}

body.sj-landing .site-nav {
  position: fixed;
  z-index: 50;
  inset: 0 0 auto;
  min-height: var(--nav-height);
  border-bottom: 1px solid transparent;
  background: linear-gradient(180deg, rgba(2, 7, 17, .58), transparent);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

body.sj-landing .site-nav.is-scrolled,
body.sj-landing .site-nav.is-open {
  border-color: rgba(224, 179, 100, .16);
  background: rgba(2, 7, 17, .93);
  box-shadow: 0 .8rem 2.5rem rgba(0, 0, 0, .18);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

body.sj-landing .nav-inner {
  display: flex;
  min-height: var(--nav-height);
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

body.sj-landing .brand {
  position: relative;
  z-index: 2;
  
  font-weight: 700;
  letter-spacing: clamp(.14em, .7vw, .22em);
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}:where(body.sj-landing .brand) { font-size: clamp(.75rem, 3vw, .8rem); }

body.sj-landing .desktop-nav {
  display: none;
  align-items: center;
  gap: 1.8rem;
}

body.sj-landing .desktop-nav-list,
body.sj-landing .mobile-nav-list,
body.sj-landing .mobile-resource-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.sj-landing .desktop-nav-item {
  position: relative;
}

body.sj-landing .nav-link,
body.sj-landing .mobile-menu-toggle,
body.sj-landing .mobile-resource-toggle {
  color: inherit;
  border: 0;
  background: transparent;
  cursor: pointer;
}

body.sj-landing .nav-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: .65rem;
  padding: .4rem .2rem;
  
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}:where(body.sj-landing .nav-link) { font-size: .8125rem; }

body.sj-landing .nav-link:hover,
body.sj-landing .nav-link[aria-expanded="true"] {
  color: var(--gold-200);
}

body.sj-landing .nav-chevron {
  display: inline-block;
  width: .48rem;
  height: .48rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-.14rem) rotate(45deg);
  transition: transform .18s ease;
}

body.sj-landing [aria-expanded="true"] > .nav-chevron {
  transform: translateY(.12rem) rotate(225deg);
}

body.sj-landing .nav-call {
  display: inline-flex;
  min-height: 2.8rem;
  align-items: center;
  justify-content: center;
  padding: .58rem 1.25rem;
  border: 1px solid rgba(224, 179, 100, .7);
  border-radius: var(--radius-pill);
  color: var(--gold-200);
  
  font-weight: 700;
  letter-spacing: .13em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}:where(body.sj-landing .nav-call) { font-size: .8125rem; }

body.sj-landing .nav-call:hover {
  color: var(--ink-950);
  border-color: var(--gold-200);
  background: var(--gold-200);
}

body.sj-landing .resource-dropdown {
  position: absolute;
  top: calc(100% + .6rem);
  right: 0;
  width: min(21rem, calc(100vw - 2.5rem));
  padding: 1.15rem;
  border: 1px solid rgba(244, 238, 228, .78);
  border-radius: .4rem;
  color: var(--ink-950);
  background: linear-gradient(145deg, rgba(250, 245, 235, .99), rgba(229, 207, 170, .99));
  box-shadow: 0 1.4rem 3.5rem rgba(0, 0, 0, .48), 0 0 0 1px rgba(224, 179, 100, .12);
}

body.sj-landing .resource-dropdown::before {
  content: "";
  position: absolute;
  right: 1.25rem;
  bottom: 100%;
  width: 3rem;
  height: .65rem;
}

body.sj-landing .resource-dropdown-label {
  margin: 0 0 .65rem;
  color: #74501f;
  
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}:where(body.sj-landing .resource-dropdown-label) { font-size: .75rem; }

body.sj-landing .resource-link {
  display: block;
  padding: .85rem;
  border: 1px solid rgba(2, 7, 17, .14);
  color: var(--ink-950);
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease;
}

body.sj-landing .resource-link:hover,
body.sj-landing .resource-link:focus-visible {
  border-color: rgba(80, 51, 16, .42);
  background: rgba(255, 255, 255, .38);
}

body.sj-landing .resource-dropdown :focus-visible {
  outline-color: var(--ink-850);
}

body.sj-landing .resource-link span,
body.sj-landing .mobile-resource-link span {
  display: block;
  font-family: var(--sj-display);
  
  line-height: 1.15;
}:where(body.sj-landing .resource-link span,
body.sj-landing .mobile-resource-link span) { font-size: 1.25rem; }

body.sj-landing .resource-link small,
body.sj-landing .mobile-resource-link small {
  display: block;
  margin-top: .4rem;
  color: var(--paper-400);
  
  line-height: 1.4;
}:where(body.sj-landing .resource-link small,
body.sj-landing .mobile-resource-link small) { font-size: .88rem; }

body.sj-landing .resource-link small {
  color: #4b4b49;
}

body.sj-landing .resource-dropdown-all,
body.sj-landing .mobile-view-all {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: .55rem;
  color: var(--gold-200);
  
  font-weight: 700;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}:where(body.sj-landing .resource-dropdown-all,
body.sj-landing .mobile-view-all) { font-size: .75rem; }

body.sj-landing .resource-dropdown-all {
  color: #5f3e17;
}

body.sj-landing .mobile-menu-toggle {
  display: inline-flex;
  min-width: 4.65rem;
  min-height: 2.75rem;
  align-items: flex-end;
  justify-content: center;
  flex-direction: column;
  gap: .32rem;
  padding: .25rem 0 .25rem .75rem;
}

body.sj-landing .mobile-menu-label {
  align-self: flex-end;
  
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
}:where(body.sj-landing .mobile-menu-label) { font-size: .75rem; }

body.sj-landing .mobile-menu-icon {
  position: relative;
  display: block;
  width: 1.75rem;
  height: .7rem;
}

body.sj-landing .mobile-menu-icon i {
  position: absolute;
  right: 0;
  width: 1.75rem;
  height: 1px;
  background: currentColor;
  transition: top .18s ease, transform .18s ease;
}

body.sj-landing .mobile-menu-icon i:first-child {
  top: .1rem;
}

body.sj-landing .mobile-menu-icon i:last-child {
  top: .55rem;
  width: 1.25rem;
}

body.sj-landing .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:first-child {
  top: .34rem;
  transform: rotate(45deg);
}

body.sj-landing .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:last-child {
  top: .34rem;
  width: 1.75rem;
  transform: rotate(-45deg);
}

body.sj-landing .mobile-nav-panel {
  position: fixed;
  z-index: 49;
  inset: var(--nav-height) 0 auto;
  max-height: calc(100svh - var(--nav-height));
  overflow-y: auto;
  overscroll-behavior: contain;
  border-top: 1px solid rgba(244, 238, 228, .68);
  border-bottom: 1px solid rgba(224, 179, 100, .46);
  color: var(--ink-950);
  background:
    radial-gradient(28rem 24rem at 105% 15%, rgba(255, 255, 255, .48), transparent 70%),
    linear-gradient(145deg, rgba(250, 245, 235, .995), rgba(229, 207, 170, .995));
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, .46);
}

body.sj-landing .mobile-nav-inner {
  position: relative;
  padding-block: 1.25rem 1.5rem;
}

body.sj-landing .mobile-resource-toggle {
  display: flex;
  width: 100%;
  min-height: 3.65rem;
  align-items: center;
  justify-content: space-between;
  padding: .4rem 0;
  border-bottom: 1px solid rgba(2, 7, 17, .16);
  color: var(--ink-950);
  font-family: var(--sj-display);
  
  text-align: left;
}:where(body.sj-landing .mobile-resource-toggle) { font-size: 1.65rem; }

body.sj-landing .mobile-resource-list {
  padding-block: .9rem 1.15rem;
  border-bottom: 1px solid rgba(2, 7, 17, .16);
}

body.sj-landing .mobile-resource-link {
  display: block;
  padding: .8rem 0 1rem;
  color: var(--ink-950);
  text-decoration: none;
}

body.sj-landing .mobile-resource-link small {
  color: #4b4b49;
}

body.sj-landing .mobile-view-all {
  color: #5f3e17;
}

body.sj-landing .mobile-nav-panel :focus-visible {
  outline-color: var(--ink-850);
}

body.sj-landing .mobile-call {
  display: flex;
  width: 100%;
  min-height: 3.4rem;
  align-items: center;
  justify-content: center;
  margin-top: 1.25rem;
  padding: .8rem 1.15rem;
  border-radius: var(--radius-pill);
  color: var(--paper-100);
  background: linear-gradient(100deg, var(--ink-850), #152131);
  box-shadow: inset 0 0 0 1px rgba(224, 179, 100, .42);
  
  font-weight: 700;
  letter-spacing: .14em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}:where(body.sj-landing .mobile-call) { font-size: .8125rem; }

body.sj-landing.nav-open {
  overflow: hidden;
}

body.sj-landing .hero-inner {
  position: relative;
  z-index: 3;
  display: flex;
  min-height: max(100svh, 43rem);
  align-items: flex-start;
  padding-block: clamp(6rem, 12vh, 7.5rem) 1.5rem;
}

body.sj-landing .hero-copy {
  width: min(47%, 11.6rem);
}

body.sj-landing .hero-copy h1 {
  max-width: 7.1ch;
}:where(body.sj-landing .hero-copy h1) { font-size: clamp(2.35rem, 9.8vw, 3rem); }

body.sj-landing .hero-copy .lede {
  max-width: 11.4rem;
  margin-top: 1.1rem;
  
  line-height: 1.48;
}:where(body.sj-landing .hero-copy .lede) { font-size: 1rem; }

body.sj-landing .hero-copy .button-row {
  width: min(76vw, 17rem);
  margin-top: 1.45rem;
}

body.sj-landing .eclipse-pin {
  position: relative;
  display: block;
  width: 1.9rem;
  height: 1.9rem;
  margin-top: 1rem;
  border: 1px solid var(--gold-400);
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(224, 179, 100, .2);
}

body.sj-landing .eclipse-pin::before {
  content: "";
  position: absolute;
  inset: .58rem;
  border-radius: 50%;
  background: var(--gold-200);
}

body.sj-landing .eclipse-pin::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  width: 1px;
  height: 1.45rem;
  background: linear-gradient(var(--gold-400), transparent);
}

/* Immersive visual continuation */
body.sj-landing .visual-screen {
  position: relative;
  z-index: 1;
  min-height: max(100svh, 43rem);
  overflow: hidden;
  background: linear-gradient(
    180deg,
    var(--ink-900) 0%,
    var(--ink-950) 15%,
    var(--ink-950) 82%,
    var(--ink-900) 100%
  );
}

body.sj-landing .visual-screen-inner {
  position: relative;
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  min-height: max(100svh, 43rem);
  padding-block: clamp(5rem, 11vh, 6.5rem) 3.5rem;
}

body.sj-landing .visual-art {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 0;
  width: 100vw;
  height: 100%;
  margin: 0;
  transform: translateX(-50%);
  overflow: hidden;
}

body.sj-landing .visual-art::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(2, 7, 17, .72) 0%, rgba(2, 7, 17, .2) 46%, transparent 70%),
    linear-gradient(180deg, var(--ink-900) 0%, transparent 14%, transparent 82%, var(--ink-900) 100%);
}

body.sj-landing .visual-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 11%, #000 87%, transparent 100%);
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 11%, #000 87%, transparent 100%);
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-composite: intersect;
}

body.sj-landing .visual-copy {
  position: relative;
  z-index: 2;
  width: min(43vw, 10.8rem);
}

body.sj-landing .visual-copy h2,
body.sj-landing .visual-copy h3 {
  max-width: 8.5ch;
  
  line-height: 1.04;
  text-transform: uppercase;
}:where(body.sj-landing .visual-copy h2,
body.sj-landing .visual-copy h3) { font-size: clamp(1.55rem, 6.4vw, 2rem); }

body.sj-landing .visual-copy p {
  margin-top: .75rem;
  color: #d3d0c9;
  
  line-height: 1.45;
}:where(body.sj-landing .visual-copy p) { font-size: 1rem; }

body.sj-landing .visual-copy h2,
body.sj-landing .visual-copy h3,
body.sj-landing .visual-copy p {
  text-shadow: 0 2px 20px rgba(0, 0, 0, .72);
}

body.sj-landing .visual-copy--top {
  grid-row: 1;
  align-self: start;
}

body.sj-landing .visual-copy--middle {
  grid-row: 2;
  align-self: center;
}

body.sj-landing .visual-copy--bottom {
  grid-row: 3;
  align-self: end;
}

body.sj-landing .sigil {
  position: relative;
  width: 2rem;
  height: 2rem;
  margin-bottom: 1rem;
  border: 1px solid var(--gold-400);
  border-radius: 50%;
  box-shadow: 0 0 24px rgba(224, 179, 100, .14);
}

body.sj-landing .sigil::before {
  content: "";
  position: absolute;
  inset: .55rem;
  border: 1px solid rgba(245, 215, 154, .72);
  border-radius: 50%;
}

body.sj-landing .sigil::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: .25rem;
  height: .25rem;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--gold-200);
  box-shadow: 0 0 12px var(--gold-400);
}

/* Recognition pattern */
body.sj-landing .recognition-grid {
  display: grid;
  gap: 2.25rem;
  margin-top: var(--cluster-space);
}

body.sj-landing .recognition-item {
  position: relative;
  max-width: 34rem;
  margin: 0;
  padding: 1.35rem 0 0 1.8rem;
  color: #dfddd7;
  border-top: 1px solid rgba(244, 238, 228, .11);
  font-family: var(--sj-display);
  
  line-height: 1.4;
}:where(body.sj-landing .recognition-item) { font-size: clamp(1.35rem, 3.2vw, 1.75rem); }

body.sj-landing .recognition-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.95rem;
  width: .55rem;
  height: .55rem;
  border: 1px solid var(--gold-400);
  border-radius: 50%;
  box-shadow: 0 0 16px rgba(224, 179, 100, .35);
}

/* Statement pattern */
body.sj-landing .statement {
  display: grid;
  min-height: 64vh;
  align-content: center;
}

body.sj-landing .chapter--statement {
  padding-block: clamp(5rem, 9vw, 7.5rem);
}

body.sj-landing .statement h2 {
  max-width: 13ch;
}:where(body.sj-landing .statement h2) { font-size: clamp(2.55rem, 9vw, 5.25rem); }

body.sj-landing .statement h2 em {
  color: var(--gold-200);
  font-style: normal;
}

body.sj-landing .statement-support {
  max-width: 38rem;
  margin-top: 2rem;
  margin-left: auto;
  padding-left: 1.35rem;
  border-left: 1px solid var(--gold-400);
}

/* Editorial split pattern */
body.sj-landing .editorial-split {
  display: grid;
  gap: var(--cluster-space);
}

body.sj-landing .editorial-split > :last-child {
  padding-top: 2rem;
  border-top: 1px solid var(--line-gold);
}

body.sj-landing .editorial-split > * {
  min-width: 0;
}

body.sj-landing .plain-list {
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

body.sj-landing .plain-list li {
  padding-block: 1.15rem;
  color: var(--paper-400);
  border-bottom: 1px solid var(--line-light);
}

body.sj-landing .plain-list strong {
  color: var(--paper-100);
  font-weight: 700;
}

/* Orbital mechanism pattern */
body.sj-landing .method-intro {
  max-width: var(--measure);
}

body.sj-landing .method-intro .lede {
  margin-top: 1.5rem;
}

body.sj-landing .method-orbit {
  position: relative;
  width: min(74vw, 20rem);
  aspect-ratio: 1;
  margin: clamp(3rem, 8vw, 5.5rem) auto;
  border: 1px solid var(--line-gold);
  border-radius: 50%;
  box-shadow: inset 0 0 70px rgba(224, 179, 100, .04), 0 0 60px rgba(224, 179, 100, .04);
}

body.sj-landing .method-orbit::before {
  content: "";
  position: absolute;
  inset: 14%;
  border: 1px solid rgba(244, 238, 228, .12);
  border-radius: 50%;
}

body.sj-landing .orbit-label {
  position: absolute;
  z-index: 2;
  width: 7.4rem;
  color: var(--paper-100);
  background: var(--ink-850);
  font-family: var(--sj-display);
  
  line-height: 1.2;
  text-align: center;
}:where(body.sj-landing .orbit-label) { font-size: 1rem; }

body.sj-landing .orbit-label::before {
  content: "";
  position: absolute;
  width: .55rem;
  height: .55rem;
  border: 1px solid var(--gold-400);
  border-radius: 50%;
  background: var(--ink-850);
}

body.sj-landing .orbit-understand {
  left: 50%;
  top: -.65rem;
  transform: translateX(-50%);
}

body.sj-landing .orbit-understand::before {
  left: 50%;
  top: 2.1rem;
  transform: translateX(-50%);
}

body.sj-landing .orbit-experience {
  right: -2.1rem;
  top: 50%;
  transform: translateY(-50%);
}

body.sj-landing .orbit-experience::before {
  left: -.4rem;
  top: 50%;
  transform: translateY(-50%);
}

body.sj-landing .orbit-integrate {
  left: -2.1rem;
  top: 50%;
  transform: translateY(-50%);
}

body.sj-landing .orbit-integrate::before {
  right: -.4rem;
  top: 50%;
  transform: translateY(-50%);
}

body.sj-landing .method-core {
  position: absolute;
  inset: 28%;
  display: grid;
  place-items: center;
  border: 1px solid var(--line-gold);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(224, 179, 100, .12), rgba(5, 10, 18, .82) 72%);
  text-align: center;
}

body.sj-landing .method-core strong {
  color: var(--gold-200);
  font-family: var(--sj-display);
  
  font-weight: 400;
  line-height: 1.2;
}:where(body.sj-landing .method-core strong) { font-size: clamp(1.1rem, 4vw, 1.45rem); }

body.sj-landing .method-details {
  display: grid;
  gap: 2.75rem;
}

body.sj-landing .method-detail {
  padding: 1.35rem 0 0 1.35rem;
  border-top: 1px solid rgba(244, 238, 228, .11);
  border-left: 1px solid var(--line-gold);
}

body.sj-landing .method-detail p {
  margin-top: .85rem;
  color: var(--paper-400);
}

body.sj-landing .method-note,
body.sj-landing .responsible-note {
  max-width: var(--measure);
  margin-top: 3rem;
  padding-top: 1.25rem;
  color: var(--paper-500);
  border-top: 1px solid var(--line-light);
}:where(body.sj-landing .method-note,
body.sj-landing .responsible-note) { font-size: .95rem; }

/* Metrics and supporting rhythm */
body.sj-landing .metrics {
  display: grid;
  gap: 3rem;
  margin-top: var(--cluster-space);
}

body.sj-landing .metric {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 1.2rem;
  align-items: start;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line-gold);
}

body.sj-landing .metric-number {
  color: var(--gold-200);
  font-family: var(--sj-display);
  
  line-height: .8;
}:where(body.sj-landing .metric-number) { font-size: 4.25rem; }

body.sj-landing .metric p {
  margin-top: .7rem;
  color: var(--paper-400);
}

body.sj-landing .support-rhythm {
  margin-top: var(--cluster-space);
  padding-top: 2.5rem;
  border-top: 1px solid rgba(244, 238, 228, .11);
}

body.sj-landing .support-grid {
  display: grid;
  gap: 1.5rem;
}

body.sj-landing .support-grid p {
  position: relative;
  padding-left: 1.25rem;
  color: var(--paper-400);
}

body.sj-landing .support-grid p::before {
  content: "";
  position: absolute;
  left: 0;
  top: .7em;
  width: .35rem;
  height: .35rem;
  border-radius: 50%;
  background: var(--gold-400);
}

/* Outcomes pattern */
body.sj-landing .outcomes-grid {
  display: grid;
  gap: 2.5rem;
  margin-top: var(--cluster-space);
}

body.sj-landing .outcome {
  position: relative;
  padding: 1.5rem 0 0 1.4rem;
  border-top: 1px solid rgba(244, 238, 228, .11);
}

body.sj-landing .outcome::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.5rem;
  bottom: .2rem;
  width: 1px;
  background: linear-gradient(var(--gold-400), rgba(224, 179, 100, .08));
}

body.sj-landing .outcome-context {
  margin-bottom: .7rem;
  color: var(--gold-200);
  
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}:where(body.sj-landing .outcome-context) { font-size: .76rem; }

body.sj-landing .outcome-result {
  color: var(--paper-200);
  font-family: var(--sj-display);
  
  line-height: 1.42;
}:where(body.sj-landing .outcome-result) { font-size: clamp(1.35rem, 3vw, 1.7rem); }

/* Immersive worldview pattern */
body.sj-landing .worldview {
  position: relative;
  min-height: 48rem;
  display: grid;
  align-content: center;
  overflow: hidden;
  isolation: isolate;
}

body.sj-landing .worldview-source {
  position: absolute;
  z-index: 0;
  inset: 0;
  margin: 0;
}

body.sj-landing .worldview-source img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(.7) saturate(.86);
}

body.sj-landing .worldview-source::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(5, 10, 18, .1), rgba(5, 10, 18, .43) 46%, rgba(5, 10, 18, .95) 90%);
}

body.sj-landing .worldview-orbit {
  position: absolute;
  z-index: 1;
  width: 8rem;
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(224, 179, 100, .62);
  border-radius: 50%;
  box-shadow: 0 0 34px rgba(224, 179, 100, .11);
}

body.sj-landing .worldview-orbit img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.sj-landing .worldview-orbit--truth {
  right: -2.5rem;
  top: 5rem;
}

body.sj-landing .worldview-orbit--love {
  left: -2.5rem;
  bottom: 5rem;
}

body.sj-landing .worldview-copy {
  position: relative;
  z-index: 2;
  width: min(100%, 39rem);
  margin-inline: auto;
  text-align: center;
}

body.sj-landing .worldview-copy h2 {
  max-width: 13ch;
  margin-inline: auto;
}

body.sj-landing .worldview-copy .lede {
  max-width: 35rem;
  margin: 1.5rem auto 0;
}

body.sj-landing .worldview-keys {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .75rem 1.8rem;
  margin-top: 2.2rem;
  color: var(--gold-200);
  
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}:where(body.sj-landing .worldview-keys) { font-size: .76rem; }

body.sj-landing .worldview-keys span {
  position: relative;
}

body.sj-landing .worldview-keys span + span::before {
  content: "";
  position: absolute;
  left: -.95rem;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--gold-400);
}

/* Fit columns */
body.sj-landing .fit-grid {
  display: grid;
  gap: 3rem;
  margin-top: var(--cluster-space);
}

body.sj-landing .fit-column {
  padding: 1.45rem 0 0 1.35rem;
  border-top: 1px solid rgba(244, 238, 228, .11);
  border-left: 1px solid var(--line-gold);
}

body.sj-landing .fit-column--quiet {
  border-left-color: var(--line-light);
}

body.sj-landing .fit-column ul {
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
}

body.sj-landing .fit-column li {
  position: relative;
  padding: .75rem 0 .75rem 1.35rem;
  color: var(--paper-400);
}

body.sj-landing .fit-column li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.35rem;
  width: .38rem;
  height: .38rem;
  border: 1px solid var(--gold-400);
  border-radius: 50%;
}

body.sj-landing .fit-column--quiet li::before {
  border-color: var(--paper-500);
}

/* Guide pattern */
body.sj-landing .guide-layout {
  display: grid;
  gap: var(--cluster-space);
  align-items: center;
}

body.sj-landing .guide-art {
  position: relative;
  width: min(88vw, 32rem);
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line-gold);
  border-radius: 50%;
  box-shadow:
    0 0 0 .55rem rgba(5, 10, 18, .52),
    0 0 0 calc(.55rem + 1px) rgba(224, 179, 100, .26),
    0 0 70px rgba(224, 179, 100, .09);
}

body.sj-landing .guide-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 50%, rgba(5, 10, 18, .68)),
    linear-gradient(90deg, rgba(5, 10, 18, .36), transparent 45%);
}

body.sj-landing .guide-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
  filter: saturate(.88) contrast(1.02) brightness(.78);
}

body.sj-landing .guide-copy {
  max-width: var(--measure);
}

body.sj-landing .guide-copy h2 {
  max-width: 13ch;
}

body.sj-landing .story {
  margin-top: 1.65rem;
}

body.sj-landing .story p + p {
  margin-top: 1rem;
}

body.sj-landing .story p {
  color: var(--paper-400);
}

/* Steps pattern */
body.sj-landing .steps-grid {
  display: grid;
  gap: 0;
  margin-top: var(--cluster-space);
  counter-reset: step;
}

body.sj-landing .step {
  position: relative;
  padding: .1rem 0 2.75rem 3.35rem;
  counter-increment: step;
}

body.sj-landing .step::before {
  content: counter(step, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid var(--line-gold);
  border-radius: 50%;
  color: var(--gold-200);
  background: var(--ink-850);
  font-family: var(--sj-display);
  
  box-shadow: 0 0 20px rgba(224, 179, 100, .09);
}:where(body.sj-landing .step::before) { font-size: .92rem; }

body.sj-landing .step::after {
  content: "";
  position: absolute;
  left: 1.12rem;
  top: 2.55rem;
  bottom: .4rem;
  width: 1px;
  background: linear-gradient(var(--gold-400), rgba(224, 179, 100, .08));
}

body.sj-landing .step:last-child::after {
  display: none;
}

body.sj-landing .step p {
  margin-top: .75rem;
  color: var(--paper-400);
}

body.sj-landing .section-note {
  margin-top: 2rem;
}

/* Experience / evidence pattern */
body.sj-landing .experience-layout {
  display: grid;
  gap: var(--cluster-space);
  align-items: center;
}

body.sj-landing .experience-art {
  position: relative;
  min-height: 28rem;
}

body.sj-landing .experience-art::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: -8%;
  top: 3%;
  width: 78%;
  aspect-ratio: 1;
  border: 1px solid rgba(224, 179, 100, .34);
  border-radius: 50%;
  box-shadow: 0 0 58px rgba(224, 179, 100, .08);
}

body.sj-landing .experience-art img {
  position: relative;
  z-index: 1;
  width: min(100%, 42rem);
  margin-left: auto;
  clip-path: circle(46% at 58% 48%);
  -webkit-mask-image: radial-gradient(circle at 58% 48%, #000 0%, #000 70%, rgba(0, 0, 0, .72) 83%, transparent 100%);
  mask-image: radial-gradient(circle at 58% 48%, #000 0%, #000 70%, rgba(0, 0, 0, .72) 83%, transparent 100%);
  filter: saturate(.84) contrast(1.03) brightness(.82);
}

body.sj-landing .experience-caption {
  position: relative;
  z-index: 2;
  width: 88%;
  margin-top: -3rem;
  padding: 1.1rem 1.2rem;
  color: var(--paper-200);
  background: linear-gradient(90deg, rgba(5, 10, 18, .94), rgba(5, 10, 18, .7));
  border-left: 1px solid var(--gold-400);
  backdrop-filter: blur(12px);
}

body.sj-landing .experience-caption strong {
  display: block;
  margin-bottom: .35rem;
  color: var(--gold-200);
  font-family: var(--sj-display);
  
  font-weight: 400;
}:where(body.sj-landing .experience-caption strong) { font-size: 1.2rem; }

/* FAQ pattern */
body.sj-landing .faq-list {
  max-width: 54rem;
  margin-top: var(--cluster-space);
}

body.sj-landing .faq-list details {
  border-top: 1px solid var(--line-light);
}

body.sj-landing .faq-list details:last-child {
  border-bottom: 1px solid var(--line-light);
}

body.sj-landing .faq-list summary {
  position: relative;
  padding: 1.35rem 2.5rem 1.35rem 0;
  cursor: pointer;
  font-family: var(--sj-display);
  
  list-style: none;
  transition: color .18s ease;
}:where(body.sj-landing .faq-list summary) { font-size: 1.25rem; }

body.sj-landing .faq-list summary:hover,
body.sj-landing .faq-list details[open] summary {
  color: var(--gold-200);
}

body.sj-landing .faq-list summary::-webkit-details-marker {
  display: none;
}

body.sj-landing .faq-list summary::after {
  content: "+";
  position: absolute;
  right: .25rem;
  top: 1.15rem;
  color: var(--gold-200);
  font-family: var(--body);
}:where(body.sj-landing .faq-list summary::after) { font-size: 1.5rem; }

body.sj-landing .faq-list details[open] summary::after {
  content: "–";
}

body.sj-landing .faq-list details p {
  max-width: 46rem;
  padding: 0 2.5rem 1.5rem 0;
  color: var(--paper-400);
}

/* Final invitation */
body.sj-landing .final-invitation {
  min-height: 78vh;
  display: grid;
  align-content: center;
  text-align: center;
}

body.sj-landing .final-inner {
  position: relative;
  max-width: 48rem;
  margin-inline: auto;
}

body.sj-landing .final-inner h2 {
  max-width: 15ch;
  margin-inline: auto;
}

body.sj-landing .final-orbit {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: min(90vw, 46rem);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(224, 179, 100, .16);
  border-radius: 50%;
  box-shadow: 0 0 90px rgba(224, 179, 100, .04);
}

body.sj-landing .final-orbit::before {
  content: "";
  position: absolute;
  inset: 12%;
  border: 1px solid rgba(244, 238, 228, .08);
  border-radius: 50%;
}

body.sj-landing .final-inner .lede {
  max-width: 38rem;
  margin: 1.5rem auto 0;
}

body.sj-landing .final-note {
  margin-top: 1.5rem;
  color: var(--paper-500);
}:where(body.sj-landing .final-note) { font-size: .9rem; }

body.sj-landing .site-footer {
  padding-block: 2rem;
  color: var(--paper-500);
  background: var(--ink-950);
  border-top: 1px solid rgba(244, 238, 228, .08);
}:where(body.sj-landing .site-footer) { font-size: .85rem; }

body.sj-landing .footer-inner {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

@media (min-width: 48rem) {

  body.sj-landing {
    --container: min(74rem, calc(100% - 5rem));
  }

  body.sj-landing .button-row {
    flex-direction: row;
    align-items: center;
  }

  body.sj-landing .button {
    min-width: 13rem;
  }

  body.sj-landing .hero-inner {
    align-items: center;
    padding-block: 6rem 2rem;
  }

  body.sj-landing .hero-copy {
    width: min(42vw, 26rem);
  }

  body.sj-landing .hero-copy h1 {
  max-width: 9.5ch;
}:where(body.sj-landing .hero-copy h1) { font-size: clamp(3.25rem, 7vw, 4.6rem); }

  body.sj-landing .hero-copy .lede {
  max-width: 20rem;
}:where(body.sj-landing .hero-copy .lede) { font-size: 1.08rem; }

  body.sj-landing .hero-copy .button-row {
    width: min(100%, 28rem);
  }

  body.sj-landing .visual-screen,
  body.sj-landing .visual-screen-inner {
    min-height: 54rem;
  }

  body.sj-landing .visual-screen-inner {
    padding-block: 5.5rem;
  }

  body.sj-landing .visual-art img {
    width: auto;
    max-width: none;
    margin-left: auto;
    object-fit: contain;
    object-position: right center;
  }

  body.sj-landing .visual-copy {
    width: min(31%, 18rem);
  }

  body.sj-landing .visual-copy h2,
  body.sj-landing .visual-copy h3 {
  
}:where(body.sj-landing .visual-copy h2,
  body.sj-landing .visual-copy h3) { font-size: clamp(2rem, 4vw, 2.8rem); }

  body.sj-landing .visual-copy p {
  
}:where(body.sj-landing .visual-copy p) { font-size: 1.04rem; }

  body.sj-landing .recognition-grid,
  body.sj-landing .metrics,
  body.sj-landing .outcomes-grid,
  body.sj-landing .fit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.sj-landing .recognition-grid {
    gap: 2.75rem 4.5rem;
  }

  body.sj-landing .recognition-item:nth-child(even) {
    transform: translateY(1.5rem);
  }

  body.sj-landing .editorial-split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 5rem;
  }

  body.sj-landing .editorial-split > :last-child {
    padding: 0 0 0 2.5rem;
    border-top: 0;
    border-left: 1px solid var(--line-gold);
  }

  body.sj-landing .method-orbit {
    width: 28rem;
  }

  body.sj-landing .method-details,
  body.sj-landing .support-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.sj-landing .method-details,
  body.sj-landing .support-grid,
  body.sj-landing .outcomes-grid {
    column-gap: 3rem;
  }

  body.sj-landing .chapter--outcomes .section-head {
    margin-left: auto;
    text-align: right;
  }

  body.sj-landing .chapter--outcomes .section-head h2 {
    margin-left: auto;
  }

  body.sj-landing .chapter--outcomes .eyebrow {
    justify-content: flex-end;
  }

  body.sj-landing .worldview {
    min-height: 54rem;
  }

  body.sj-landing .worldview-orbit {
    width: 12rem;
  }

  body.sj-landing .worldview-orbit--truth {
    right: 2rem;
  }

  body.sj-landing .worldview-orbit--love {
    left: 2rem;
  }

  body.sj-landing .guide-layout {
    grid-template-columns: minmax(18rem, .82fr) minmax(0, 1.18fr);
    gap: 5rem;
  }

  body.sj-landing .guide-art {
    width: min(100%, 29rem);
  }

  body.sj-landing .steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem 4rem;
  }

  body.sj-landing .step {
    padding-left: 3.25rem;
  }

  body.sj-landing .step::after {
    display: none;
  }

  body.sj-landing .experience-layout {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 4rem;
  }

  body.sj-landing .experience-caption {
    width: min(72%, 21rem);
    margin: -4rem 0 0 5%;
  }

  body.sj-landing .chapter--faq .section-head {
    max-width: 38rem;
  }

  body.sj-landing .final-inner .button-row {
    justify-content: center;
  }

}

@media (max-width: 47.99rem) {

  body.sj-landing .chapter .section-head,
  body.sj-landing .method-intro,
  body.sj-landing .guide-copy,
  body.sj-landing .experience-layout > div:first-child {
    padding-inline: .15rem;
  }

  body.sj-landing .metric {
    grid-template-columns: 3.75rem 1fr;
  }

  body.sj-landing .metric-number {
  
}:where(body.sj-landing .metric-number) { font-size: 3.7rem; }

  body.sj-landing .orbit-label {
  width: 6.7rem;
}:where(body.sj-landing .orbit-label) { font-size: .95rem; }

  body.sj-landing .orbit-experience {
    right: -1.75rem;
  }

  body.sj-landing .orbit-integrate {
    left: -1.75rem;
  }

  body.sj-landing .worldview-orbit {
    width: 7.25rem;
  }

  body.sj-landing .experience-art {
    min-height: 24rem;
  }

  body.sj-landing .experience-caption {
    width: 92%;
  }

}

@media (min-width: 60rem) {

  body.sj-landing {
    --nav-height: 4.5rem;
  }

  body.sj-landing .desktop-nav {
    display: flex;
  }

  body.sj-landing .mobile-menu-toggle,
  body.sj-landing .mobile-nav-panel {
    display: none !important;
  }

  body.sj-landing .brand {
  
}:where(body.sj-landing .brand) { font-size: .76rem; }

}

@media (min-width: 64rem) {

  body.sj-landing .hero-shade {
    background: linear-gradient(90deg, rgba(2, 7, 17, .82) 0%, rgba(2, 7, 17, .48) 40%, transparent 67%);
  }

  body.sj-landing .hero-copy {
    width: min(40vw, 35rem);
  }

  body.sj-landing .hero-copy h1 {
  max-width: 11ch;
}:where(body.sj-landing .hero-copy h1) { font-size: clamp(3.55rem, 5.2vw, 4.55rem); }

  body.sj-landing .hero-copy .lede {
    max-width: 22rem;
  }

  body.sj-landing .visual-screen,
  body.sj-landing .visual-screen-inner {
    min-height: 60rem;
  }

  body.sj-landing .visual-screen-inner {
    padding-block: 6.5rem;
  }

  body.sj-landing .visual-copy {
    width: min(27%, 20rem);
  }

  body.sj-landing .visual-copy h2,
  body.sj-landing .visual-copy h3 {
  
}:where(body.sj-landing .visual-copy h2,
  body.sj-landing .visual-copy h3) { font-size: clamp(2.25rem, 3vw, 3.15rem); }

  body.sj-landing .method-details {
    gap: 3.2rem;
  }

  body.sj-landing .method-intro {
    margin-inline: auto;
    text-align: center;
  }

  body.sj-landing .method-intro h2,
  body.sj-landing .method-intro .lede {
    margin-inline: auto;
  }

  body.sj-landing .method-intro .eyebrow {
    justify-content: center;
  }

  body.sj-landing .worldview {
    min-height: 60rem;
  }

  body.sj-landing .worldview-orbit {
    width: 15rem;
  }

  body.sj-landing .worldview-orbit--truth {
    right: 4rem;
    top: 6rem;
  }

  body.sj-landing .worldview-orbit--love {
    left: 4rem;
    bottom: 6rem;
  }

  body.sj-landing .steps-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.5rem;
  }

  body.sj-landing .chapter--process .section-head {
    max-width: 48rem;
    margin-inline: auto;
    text-align: center;
  }

  body.sj-landing .chapter--process .section-head h2,
  body.sj-landing .chapter--process .section-head .lede {
    margin-inline: auto;
  }

  body.sj-landing .chapter--process .eyebrow {
    justify-content: center;
  }

  body.sj-landing .step {
    padding: 3.4rem 0 0;
    border-top: 1px solid var(--line-gold);
  }

  body.sj-landing .step::before {
    top: -1.15rem;
  }

  body.sj-landing .step::after {
    display: none;
  }

}

@media (min-width: 64rem) and (max-height: 50rem) {

  body.sj-landing .site-hero,
  body.sj-landing .hero-inner {
    min-height: 43rem;
  }

  body.sj-landing .hero-inner {
    align-items: flex-start;
    padding-top: 5rem;
  }

  body.sj-landing .hero-copy h1 {
  max-width: 100%;
}:where(body.sj-landing .hero-copy h1) { font-size: clamp(3.15rem, 4.35vw, 3.55rem); }

  body.sj-landing .hero-copy .lede {
    margin-top: .9rem;
  }

  body.sj-landing .hero-copy .button-row {
    margin-top: 1rem;
  }

  body.sj-landing .eclipse-pin {
    margin-top: .65rem;
  }

}

@media (max-width: 30rem) and (max-height: 46rem) {

  body.sj-landing .hero-inner {
    padding-top: 5.35rem;
  }

  body.sj-landing .hero-copy h1 {
  
}:where(body.sj-landing .hero-copy h1) { font-size: 2.2rem; }

  body.sj-landing .hero-copy .lede {
  line-height: 1.4;
}:where(body.sj-landing .hero-copy .lede) { font-size: 1rem; }

  body.sj-landing .visual-screen-inner {
    padding-block: 4.5rem 2.5rem;
  }

}

@media (prefers-contrast: more) {

  body.sj-landing {
    --paper-400: #d6d2ca;
    --paper-500: #b7bec7;
    --line-gold: rgba(245, 215, 154, .58);
    --line-light: rgba(244, 238, 228, .32);
  }

  body.sj-landing .site-nav.is-scrolled,
  body.sj-landing .site-nav.is-open {
    background: var(--ink-950);
  }

}

/*
 * Eclipse to sun
 * ----------------
 * The page uses one continuous change in illumination. Each chapter begins
 * with the exact colour where the preceding chapter ends, so the shift reads
 * as a journey rather than a stack of differently coloured sections.
 */
body.sj-landing .site-main {
  background: var(--ink-900);
}

body.sj-landing .visual-screen {
  background: linear-gradient(180deg, var(--ink-900) 0%, var(--ink-950) 38%, #0b1723 100%);
}

body.sj-landing .chapter--recognition {
  background:
    radial-gradient(46rem 38rem at 112% 52%, rgba(224, 179, 100, .15), transparent 72%),
    radial-gradient(34rem 28rem at -12% 92%, rgba(49, 82, 108, .18), transparent 70%),
    linear-gradient(180deg, #0b1723 0%, #263a46 100%);
}

body.sj-landing .chapter--statement {
  background:
    radial-gradient(42rem 32rem at -8% 48%, rgba(232, 195, 133, .2), transparent 72%),
    linear-gradient(180deg, #263a46 0%, #566b70 100%);
}

body.sj-landing .chapter--insight {
  background:
    radial-gradient(48rem 36rem at 106% 54%, rgba(255, 245, 218, .5), transparent 72%),
    linear-gradient(180deg, #566b70 0%, #b7b9ae 12%, #d5cbb8 100%);
}

body.sj-landing .chapter--method {
  background:
    radial-gradient(48rem 40rem at 50% 48%, rgba(255, 247, 225, .56), transparent 70%),
    linear-gradient(180deg, #d5cbb8 0%, #ddd4c4 100%);
}

body.sj-landing .chapter--container {
  background:
    radial-gradient(52rem 38rem at 0% 48%, rgba(255, 248, 228, .62), transparent 72%),
    radial-gradient(36rem 30rem at 108% 78%, rgba(80, 106, 123, .1), transparent 72%),
    linear-gradient(180deg, #ddd4c4 0%, #e4dacb 100%);
}

body.sj-landing .chapter--outcomes {
  background:
    radial-gradient(54rem 42rem at 105% 36%, rgba(255, 250, 233, .7), transparent 70%),
    radial-gradient(38rem 30rem at -8% 82%, rgba(87, 112, 126, .08), transparent 72%),
    linear-gradient(180deg, #e4dacb 0%, #e9dfd0 100%);
}

body.sj-landing .chapter--worldview {
  background:
    radial-gradient(62rem 48rem at 50% 54%, rgba(255, 232, 182, .34), transparent 63%),
    linear-gradient(180deg, #e9dfd0 0%, #ebe2d4 52%, #eee5d7 100%);
}

body.sj-landing .chapter--worldview .worldview {
  overflow: visible;
}

body.sj-landing .chapter--worldview .worldview-source {
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 13%, #000 72%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 13%, #000 72%, transparent 100%);
}

body.sj-landing .chapter--worldview .worldview-source img {
  filter: brightness(1.03) saturate(.68) sepia(.12);
}

body.sj-landing .chapter--worldview .worldview-source::after {
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 245, 216, .1) 0%, rgba(17, 27, 34, .32) 42%, rgba(42, 51, 54, .58) 72%),
    linear-gradient(180deg, #e9dfd0 0%, transparent 16%, transparent 62%, rgba(238, 229, 215, .42) 78%, #eee5d7 100%);
}

body.sj-landing .chapter--fit {
  background:
    radial-gradient(48rem 38rem at 110% 32%, rgba(255, 247, 223, .62), transparent 70%),
    radial-gradient(40rem 34rem at -12% 78%, rgba(96, 119, 132, .12), transparent 72%),
    linear-gradient(180deg, #eee5d7 0%, #eee5d7 100%);
}

body.sj-landing .chapter--guide {
  background:
    radial-gradient(42rem 34rem at -5% 44%, rgba(255, 248, 227, .76), transparent 70%),
    radial-gradient(38rem 30rem at 108% 84%, rgba(100, 123, 136, .1), transparent 72%),
    linear-gradient(180deg, #eee5d7 0%, #f0e7da 100%);
}

body.sj-landing .chapter--process {
  background:
    radial-gradient(50rem 36rem at 105% 46%, rgba(255, 250, 234, .82), transparent 72%),
    radial-gradient(40rem 32rem at -10% 76%, rgba(91, 116, 132, .09), transparent 74%),
    linear-gradient(180deg, #f0e7da 0%, #f2eadf 100%);
}

body.sj-landing .chapter--experience {
  background:
    radial-gradient(48rem 40rem at 9% 40%, rgba(255, 250, 235, .88), transparent 70%),
    radial-gradient(42rem 34rem at 110% 78%, rgba(83, 108, 126, .08), transparent 74%),
    linear-gradient(180deg, #f2eadf 0%, #f4ecdf 100%);
}

body.sj-landing .chapter--faq {
  background:
    radial-gradient(42rem 32rem at -8% 42%, rgba(101, 122, 135, .07), transparent 72%),
    linear-gradient(180deg, #f4ecdf 0%, #f6efe4 100%);
}

body.sj-landing .final-invitation {
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 246, .98) 0%, rgba(255, 238, 194, .76) 19%, rgba(238, 190, 112, .25) 42%, transparent 67%),
    linear-gradient(180deg, #f6efe4 0%, #f8ead0 100%);
}

body.sj-landing .final-invitation::before {
  left: 50%;
  top: 50%;
  bottom: auto;
  width: min(118vw, 64rem);
  opacity: 1;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255, 255, 247, .94) 0 13%, rgba(255, 224, 158, .46) 25%, rgba(224, 179, 100, .1) 48%, transparent 71%);
  filter: blur(1px);
}

/* Readable dark type as soon as the accelerated transition reaches daylight. */
body.sj-landing .chapter--insight,
body.sj-landing .chapter--method,
body.sj-landing .chapter--container,
body.sj-landing .chapter--outcomes,
body.sj-landing .chapter--fit,
body.sj-landing .chapter--guide,
body.sj-landing .chapter--process,
body.sj-landing .chapter--experience,
body.sj-landing .chapter--faq,
body.sj-landing .final-invitation {
  color: #111a24;
  --paper-100: #111a24;
  --paper-200: #1c2833;
  --paper-400: #3d4850;
  --paper-500: #596269;
  --line-light: rgba(17, 26, 36, .16);
  --line-gold: rgba(126, 82, 32, .36);
  --gold-200: #765022;
  --gold-400: #9a672d;
}

body.sj-landing .chapter--insight .eyebrow,
body.sj-landing .chapter--method .eyebrow,
body.sj-landing .chapter--container .eyebrow,
body.sj-landing .chapter--outcomes .eyebrow,
body.sj-landing .chapter--fit .eyebrow,
body.sj-landing .chapter--guide .eyebrow,
body.sj-landing .chapter--process .eyebrow,
body.sj-landing .chapter--experience .eyebrow,
body.sj-landing .chapter--faq .eyebrow,
body.sj-landing .final-invitation .eyebrow {
  color: #765022;
}

body.sj-landing .chapter--fit .fit-column,
body.sj-landing .chapter--guide .guide-art,
body.sj-landing .chapter--process .step,
body.sj-landing .chapter--faq .faq-list details {
  border-color: rgba(63, 49, 32, .2);
}

body.sj-landing .chapter--process .step::before {
  color: #69461f;
  background: #eee5d6;
  border-color: rgba(126, 82, 32, .48);
}

body.sj-landing .chapter--method .orbit-label {
  color: #f4eee4;
  background: #20333e;
}

body.sj-landing .chapter--method .orbit-label::before {
  background: #20333e;
}

body.sj-landing .chapter--method .method-core {
  background: radial-gradient(circle, rgba(224, 179, 100, .2), #20333e 74%);
}

body.sj-landing .chapter--method .method-core strong {
  color: #f5d79a;
}

body.sj-landing .chapter--experience .experience-caption {
  color: #f4eee4;
  background: linear-gradient(90deg, rgba(17, 26, 36, .95), rgba(28, 40, 51, .82));
}

body.sj-landing .chapter--experience .experience-caption strong {
  color: #f5d79a;
}

body.sj-landing .chapter--fit .button--primary,
body.sj-landing .chapter--experience .button--primary,
body.sj-landing .final-invitation .button--primary {
  color: #111a24;
  background: linear-gradient(100deg, #f4cf83, #d7a954);
}

body.sj-landing .final-invitation .button--quiet {
  color: #24303a;
  border-color: rgba(36, 48, 58, .42);
}

body.sj-landing .final-invitation .final-orbit {
  border-color: rgba(126, 82, 32, .24);
  box-shadow: 0 0 110px rgba(224, 179, 100, .22);
}

body.sj-landing .final-invitation .final-orbit::before {
  border-color: rgba(126, 82, 32, .13);
}

/* The eclipse geometry survives the change of polarity. */
body.sj-landing .chapter--fit.motif::after,
body.sj-landing .chapter--guide.motif::after,
body.sj-landing .chapter--experience.motif::after,
body.sj-landing .final-invitation.motif::after {
  border-color: rgba(126, 82, 32, .2);
  box-shadow: 0 0 80px rgba(224, 179, 100, .12);
}

body.sj-landing .chapter--process::after,
body.sj-landing .chapter--faq::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: clamp(22rem, 66vw, 54rem);
  aspect-ratio: 1;
  border: 1px solid rgba(70, 91, 104, .1);
  border-radius: 50%;
  pointer-events: none;
}

body.sj-landing .chapter--process::after {
  left: clamp(-40rem, -43vw, -18rem);
  top: 5%;
}

body.sj-landing .chapter--faq::after {
  right: clamp(-40rem, -43vw, -18rem);
  bottom: 2%;
}

body.sj-landing .chapter--worldview .worldview-orbit {
  background: rgba(37, 48, 53, .38);
  backdrop-filter: blur(5px);
}

body.sj-landing .chapter--guide .guide-art {
  box-shadow:
    0 0 0 .55rem rgba(82, 99, 108, .1),
    0 0 0 calc(.55rem + 1px) rgba(126, 82, 32, .28),
    0 1.5rem 5rem rgba(44, 55, 61, .14);
}

body.sj-landing .chapter--guide .guide-art::after {
  background:
    linear-gradient(180deg, transparent 58%, rgba(17, 26, 36, .38)),
    linear-gradient(90deg, rgba(17, 26, 36, .2), transparent 46%);
}

body.sj-landing .chapter--guide .guide-art img {
  filter: saturate(.9) contrast(1.02) brightness(.9);
}

body.sj-landing .chapter--outcomes .outcome-context {
  color: #765022;
}

body.sj-landing .chapter--outcomes .responsible-note {
  color: #596269;
}

body.sj-landing .site-footer {
  color: #596269;
  background: #f8ead0;
  border-top-color: rgba(17, 26, 36, .12);
}

@media (max-width: 47.99rem) {

  body.sj-landing .chapter--worldview .worldview-source {
    width: 112vw;
  }

  body.sj-landing .final-invitation {
    min-height: 88svh;
    background:
      radial-gradient(circle at 50% 43%, rgba(255, 255, 246, .98) 0%, rgba(255, 237, 194, .74) 18%, rgba(238, 190, 112, .22) 42%, transparent 69%),
      linear-gradient(180deg, #f6efe4 0%, #f8ead0 100%);
  }

}

/* Final cascade authority: one canvas, no chapter-owned color fields. */
body.sj-landing .site-main {
  background:
    radial-gradient(58rem 44rem at 112% 7%, rgba(224, 179, 100, .16), transparent 72%),
    radial-gradient(52rem 42rem at -14% 13%, rgba(65, 96, 116, .2), transparent 73%),
    radial-gradient(58rem 46rem at 108% 24%, rgba(255, 244, 215, .34), transparent 72%),
    radial-gradient(52rem 42rem at -10% 52%, rgba(86, 111, 126, .07), transparent 74%),
    linear-gradient(180deg, #050a12 0%, #0b1723 5%, #263a46 13%, #566b70 18%, #939d96 20%, #d5cbb8 23%, #e2d8c7 31%, #eee5d7 45%, #f3eadf 66%, #f6efe4 84%, #f8ead0 100%);
}

body.sj-landing .visual-screen,
body.sj-landing .chapter--recognition,
body.sj-landing .chapter--statement,
body.sj-landing .chapter--insight,
body.sj-landing .chapter--method,
body.sj-landing .chapter--container,
body.sj-landing .chapter--outcomes,
body.sj-landing .chapter--worldview,
body.sj-landing .chapter--fit,
body.sj-landing .chapter--guide,
body.sj-landing .chapter--process,
body.sj-landing .chapter--experience,
body.sj-landing .chapter--faq {
  background: transparent;
}

body.sj-landing .visual-art::after {
  background:
    linear-gradient(90deg, rgba(2, 7, 17, .72) 0%, rgba(2, 7, 17, .2) 46%, transparent 70%),
    linear-gradient(180deg, rgba(5, 10, 18, .98) 0%, transparent 14%, transparent 76%, rgba(5, 10, 18, .08) 100%);
}

body.sj-landing .chapter--worldview .worldview-source::after {
  background: radial-gradient(circle at 50% 45%, rgba(255, 245, 216, .08) 0%, rgba(17, 27, 34, .34) 42%, rgba(42, 51, 54, .58) 74%, transparent 100%);
}

body.sj-landing .final-invitation {
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 246, .94) 0%, rgba(255, 238, 194, .62) 19%, rgba(238, 190, 112, .16) 42%, transparent 68%);
}

@media (max-width: 47.99rem) {

  body.sj-landing .site-main {
    background:
      radial-gradient(34rem 30rem at 116% 6%, rgba(224, 179, 100, .16), transparent 72%),
      radial-gradient(32rem 28rem at -18% 13%, rgba(65, 96, 116, .2), transparent 73%),
      radial-gradient(34rem 30rem at 112% 24%, rgba(255, 244, 215, .3), transparent 72%),
      linear-gradient(180deg, #050a12 0%, #0b1723 5%, #263a46 13%, #566b70 18%, #939d96 20%, #d5cbb8 23%, #e2d8c7 31%, #eee5d7 45%, #f3eadf 66%, #f6efe4 84%, #f8ead0 100%);
  }

  body.sj-landing .final-invitation {
    background: radial-gradient(circle at 50% 43%, rgba(255, 255, 246, .96) 0%, rgba(255, 237, 194, .6) 18%, rgba(238, 190, 112, .14) 42%, transparent 69%);
  }

}

/* Final image-edge authority: remove the black canvas before the next chapter. */
body.sj-landing .visual-art img {
  -webkit-mask-image: radial-gradient(ellipse 82% 74% at 58% 36%, #000 0%, #000 52%, rgba(0, 0, 0, .88) 62%, rgba(0, 0, 0, .52) 72%, rgba(0, 0, 0, .16) 82%, transparent 94%);
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: initial;
  mask-image: radial-gradient(ellipse 82% 74% at 58% 36%, #000 0%, #000 52%, rgba(0, 0, 0, .88) 62%, rgba(0, 0, 0, .52) 72%, rgba(0, 0, 0, .16) 82%, transparent 94%);
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-composite: initial;
}

body.sj-landing .visual-screen::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 30%;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(5, 10, 18, .18) 28%,
    rgba(5, 10, 18, .72) 68%,
    #050a12 100%
  );
}

/*
 * Start the next chapter at the photograph's bottom colour. The page's
 * illumination resumes only after the join, so black never meets blue.
 */
body.sj-landing .chapter--recognition {
  background: linear-gradient(
    180deg,
    #050a12 0%,
    rgba(5, 10, 18, .96) 8%,
    rgba(5, 10, 18, .72) 30%,
    rgba(5, 10, 18, .32) 66%,
    transparent 100%
  );
}

/* Approved-copy merge. The original design system remains in site.css. */
body.sj-landing {
  --section-space: clamp(5rem, 9vw, 8.5rem);
}

body.sj-landing [hidden] { display: none !important; }
body.sj-landing .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* A single canvas owns the colour from the hero through the footer. The
   generous fallbacks are still a gradient when scripts are unavailable. */
body.sj-landing .journey-page {
  position: relative;
  isolation: isolate;
  --night-end: 28rem;
  --deep-blue: 72rem;
  --transition-start: 143rem;
  --transition-mid: 180rem;
  --light-reached: 225rem;
  --daylight-start: 320rem;
  --sun-y: 96%;
  background:
    radial-gradient(ellipse 36rem 32rem at 50% var(--sun-y), rgba(255,255,246,.92) 0%, rgba(255,238,194,.48) 28%, rgba(238,190,112,.08) 55%, transparent 75%),
    radial-gradient(48rem 42rem at -15% 56%, rgba(68, 93, 109, .075), transparent 74%),
    linear-gradient(180deg,
      var(--sj-night, #050a12) 0 var(--night-end),
      var(--sj-blue, #152b3b) var(--deep-blue),
      var(--sj-slate, #50565b) var(--transition-start),
      var(--sj-stone, #918d86) var(--transition-mid),
      var(--sj-light, #eee5d8) var(--light-reached),
      var(--sj-light, #eee5d8) var(--daylight-start),
      var(--sj-cream, #f6efe4) 90%,
      var(--sj-gold, #f8ead0) 100%);
}
body.sj-landing .site-hero,
body.sj-landing .site-main,
body.sj-landing .site-main > .chapter,
body.sj-landing .site-footer { background: transparent; }
body.sj-landing .site-main { overflow: clip; isolation: auto; }
body.sj-landing .site-footer { border-top: 0; }
/* Dark blue loses saturation as it opens into warm light. Text changes
   contrast in the space between the solution and introduction. */
body.sj-landing .chapter--recognition { padding-bottom: var(--section-space); z-index: auto; }
body.sj-landing .chapter--recognition > .container { z-index: auto; }
body.sj-landing .chapter--solution { padding-top: var(--section-space); }
body.sj-landing .daylight {
  color-scheme: light;
  color: #111a24;
  --paper-100: #111a24;
  --paper-200: #1c2833;
  --paper-400: #3d4850;
  --paper-500: #596269;
  --line-light: rgba(17, 26, 36, .16);
  --line-gold: rgba(126, 82, 32, .36);
  --gold-200: #765022;
  --gold-400: #9a672d;
}
body.sj-landing .prose { margin-top: 1.6rem; }
body.sj-landing .prose p + p { margin-top: 1.3rem; }
body.sj-landing .prose p { max-width: 62ch; }
body.sj-landing .prose .lede { color: inherit; }
body.sj-landing .daylight .prose p:not(.lede) { color: #354149; }
body.sj-landing .chapter--solution.daylight { color: #f2eee6; color-scheme: dark; --paper-100: #f2eee6; }
body.sj-landing .chapter--solution.daylight h2, body.sj-landing .chapter--solution.daylight .prose p { color: #f2eee6; }
body.sj-landing .chapter--guide.daylight .prose p,
body.sj-landing .chapter--guide.daylight .text-link,
body.sj-landing .chapter--guide.daylight .prototype-note { color: #111a24; }
body.sj-landing .chapter--guide.daylight :focus-visible { outline-color: #111a24; }
body.sj-landing .daylight .button--quiet { color: #24303a; }
body.sj-landing .brand { display: inline-flex; align-items: center; min-height: 44px; min-width: 0; white-space: normal; line-height: 1.25; }
body.sj-landing .chapter h2 { max-width: 19ch; }
body.sj-landing .button {
  letter-spacing: .065em;
}:where(body.sj-landing .button) { font-size: .875rem; }
body.sj-landing .button-row { gap: .8rem; }
body.sj-landing .brand, body.sj-landing .nav-call, body.sj-landing .nav-link {
  
}:where(body.sj-landing .brand, body.sj-landing .nav-call, body.sj-landing .nav-link) { font-size: .875rem; }
body.sj-landing .resource-dropdown-label, body.sj-landing .resource-dropdown-all, body.sj-landing .mobile-view-all, body.sj-landing .mobile-menu-label, body.sj-landing .mobile-call {
  
}:where(body.sj-landing .resource-dropdown-label, body.sj-landing .resource-dropdown-all, body.sj-landing .mobile-view-all, body.sj-landing .mobile-menu-label, body.sj-landing .mobile-call) { font-size: .875rem; }
body.sj-landing .text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #765022;
  
  text-decoration: underline;
  text-underline-offset: .35rem;
  text-decoration-color: rgba(126, 82, 32, .45);
  cursor: pointer;
}:where(body.sj-landing .text-link) { font-size: 1.1rem; }
body.sj-landing .text-link:hover { color: #111a24; }
body.sj-landing .daylight :focus-visible {
  outline: 2px solid #765022;
  outline-offset: 5px;
}

/* Restore version 23's full-size, centered responsive eclipse artwork.
   Only the copy layout adapts to the longer approved text. */
body.sj-landing .site-hero { --hero-art-height: max(43rem, 100svh); min-height: var(--hero-art-height); isolation: isolate; }
body.sj-landing .hero-art { inset: 0; height: 100%; mix-blend-mode: normal; -webkit-mask-image: none; mask-image: none; }
body.sj-landing .hero-art img { transform: translate(4%, -2.4%) scale(1.035); transform-origin: center top; }
body.sj-landing .hero-inner { padding-top: clamp(5.5rem, 10.5vh, 6.8rem); }
body.sj-landing .hero-copy .eyebrow {
  line-height: 1.45; letter-spacing: .12em;
}:where(body.sj-landing .hero-copy .eyebrow) { font-size: .875rem; }
body.sj-landing .hero-line { display: block; }
body.sj-landing .hero-line--love {
  margin-top: .3em; color: #f5d79a;
}:where(body.sj-landing .hero-line--love) { font-size: .82em; }
body.sj-landing .hero-copy h1 { overflow-wrap: anywhere; }
body.sj-landing .hero-copy .button-row { flex-direction: column; align-items: stretch; width: min(100%, 18rem); margin-top: 1.25rem; gap: .7rem; }
body.sj-landing .hero-copy .button {
  min-width: 0;  line-height: 1.4;
}:where(body.sj-landing .hero-copy .button) { font-size: .875rem; }
body.sj-landing .hero-copy .button--quiet { width: fit-content; min-height: 44px; align-self: flex-start; color: #f4eee4; }

@media (max-width: 47.99rem) {

  body.sj-landing .site-hero {
    --hero-top: clamp(5.1rem, 10.5svh, 6.9rem);
    --portrait-floor: calc(var(--hero-art-height) * .72 - 3rem);
  }
  body.sj-landing .hero-art { height: var(--hero-art-height); }
  body.sj-landing .hero-inner { min-height: var(--hero-art-height); padding-block: var(--hero-top) 2rem; align-items: flex-start; }
  body.sj-landing .hero-copy { display: grid; width: 100%; grid-template-rows: auto auto; }
  body.sj-landing .hero-head { }
  body.sj-landing .hero-copy h1 {
  max-width: 100%;  line-height: 1.03;
}:where(body.sj-landing .hero-copy h1) { font-size: clamp(2.2rem, 9.4vw, 3rem); }
  body.sj-landing .hero-head .eyebrow { margin-bottom: 1rem; }
  body.sj-landing .hero-details { margin-top: 1.25rem; }
  body.sj-landing .hero-copy .lede {
  max-width: 36rem; margin-top: 0;  line-height: 1.5;
}:where(body.sj-landing .hero-copy .lede) { font-size: 1rem; }
  body.sj-landing .hero-copy .button-row { width: min(100%, 18rem); }
  body.sj-landing .hero-art img { transform: translate(clamp(1.7rem, 8vw, 2.7rem), -6rem) scale(1.06); }

}

@media (min-width: 40rem) and (max-width: 47.99rem) {

  /* The tablet crop puts the face lower than the phone crop. */
  body.sj-landing .site-hero { --portrait-floor: calc(max(var(--hero-art-height), 125vw) * .8 - 3rem); }

}

/* At narrow/reflow widths, give the portrait its own row. A larger text
   setting must never force reading over the face or shrink the body copy. */
@media (max-width: 22rem) {

  body.sj-landing .site-hero { display: grid; grid-template-columns: minmax(0, 1fr); }
  body.sj-landing .hero-inner, body.sj-landing .hero-copy { display: contents; }
  body.sj-landing .hero-head { grid-row: 1; width: calc(100% - 2rem); margin-inline: auto; padding-top: calc(var(--nav-height) + 1rem); }
  body.sj-landing .hero-copy h1 { max-width: 12ch; }
  body.sj-landing .hero-art { grid-row: 2; position: relative; inset: auto; width: 100%; height: min(120vw, 36rem); margin-top: .5rem; }
  body.sj-landing .hero-art img { transform: none; object-position: center 60%; }
  body.sj-landing .hero-shade { display: none; }
  body.sj-landing .hero-details { grid-row: 3; width: calc(100% - 2rem); margin: 0 auto; padding-bottom: 2rem; position: relative; z-index: 3; }
  body.sj-landing .hero-head { position: relative; z-index: 3; }

}

/* Let the recognition story finish before the second moon appears. */
body.sj-landing .recognition-layout { display: block; position: relative; }
body.sj-landing .recognition-copy { position: relative; z-index: 2; }
body.sj-landing .recognition-copy .sigil { display: block; margin-bottom: 1.8rem; }
body.sj-landing .recognition-copy .prose { color: #e4dfd6; }
body.sj-landing .recognition-art {
  width: min(100%, 35rem);
  margin: clamp(.5rem, 2vw, 1.5rem) 0 0 auto;
  pointer-events: none;
}
body.sj-landing .recognition-art svg {
  display: block;
  width: 100%;
  height: auto;
}
body.sj-landing .solution-layout { display: grid; gap: 2.25rem; }
body.sj-landing .solution-copy { margin: 0; }
body.sj-landing .solution-heading h2 { max-width: 12ch; }
body.sj-landing .dawn-ring {
  display: block;
  width: 4.25rem;
  aspect-ratio: 1;
  margin-bottom: 2rem;
  border: 1px solid rgba(126,82,32,.45);
  border-radius: 50%;
  background: radial-gradient(circle at 64% 38%, rgba(255,249,223,.8), rgba(224,179,100,.12) 61%, transparent 75%);
  box-shadow: 0 0 40px rgba(224,179,100,.17);
}
body.sj-landing .guide-layout {
  grid-template-areas: "heading" "portrait" "copy";
  row-gap: 1.75rem;
}
body.sj-landing .guide-layout > .sj-heading h2 { grid-area: heading; max-width: none; }
body.sj-landing .guide-art {
  grid-area: portrait;
  position: relative;
  justify-self: center;
  width: min(78vw, 25rem);
  height: auto;
  aspect-ratio: 1;
  overflow: hidden;
  background: transparent;
  border: 1px solid rgba(126,82,32,.28);
  box-shadow: 0 0 0 .55rem rgba(82,99,108,.06), 0 0 0 calc(.55rem + 1px) rgba(126,82,32,.18), 0 1.5rem 5rem rgba(44,55,61,.1);
}
body.sj-landing .guide-art img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 36%;
  -webkit-mask-image: radial-gradient(closest-side, #000 85%, transparent 100%);
  mask-image: radial-gradient(closest-side, #000 85%, transparent 100%);
}
body.sj-landing .chapter--guide .guide-art { box-shadow: 0 0 0 .6rem rgba(126,82,32,.045); }
body.sj-landing .chapter--guide .guide-art::after { display: none; }
body.sj-landing .guide-copy { grid-area: copy; }
body.sj-landing .guide-copy .prose { margin-top: 0; }
body.sj-landing .guide-copy .prose > .sj-text:last-child p {
  
}:where(body.sj-landing .guide-copy .prose > .sj-text:last-child p) { font-size: 1rem; }
body.sj-landing .story-link { margin-top: 1.1rem; }
body.sj-landing .prototype-disclosure summary { list-style: none; }
body.sj-landing .prototype-disclosure summary::-webkit-details-marker { display: none; }

/* A personal invitation, an explicit format, and a simple email field. */
body.sj-landing .experience-layout { align-items: start; }
body.sj-landing .experience-layout > div:first-child { min-width: 0; }
body.sj-landing .experience-access { min-width: 0; padding-top: 2rem; border-top: 1px solid var(--line-gold); }
body.sj-landing .experience-meta {
  margin-top: 0; color: #765022;
}:where(body.sj-landing .experience-meta) { font-size: 1rem; }
body.sj-landing .signup-panel { margin-top: 1.2rem; max-width: 36rem; }
body.sj-landing .signup-panel > p:first-child { margin-bottom: 1rem; }
body.sj-landing .signup-panel label {
  display: block; margin-bottom: .4rem;
}:where(body.sj-landing .signup-panel label) { font-size: .95rem; }
body.sj-landing .signup-panel input {
  display: block;
  width: 100%;
  min-height: 3.25rem;
  border: 1px solid rgba(63,49,32,.35);
  border-radius: .2rem;
  padding: .8rem 1rem;
  background: rgba(255,253,246,.43);
  color: #111a24;
  font: inherit;
  
  box-shadow: none;
}:where(body.sj-landing .signup-panel input) { font-size: 1rem; }
body.sj-landing .signup-panel input::placeholder { color: #626765; opacity: 1; }
body.sj-landing .signup-panel .button { margin-top: 1rem; width: 100%; line-height: 1.45; }
body.sj-landing .prototype-note {
  margin-top: .9rem;
  max-width: 48ch;
  
  line-height: 1.5;
  color: #5a605f;
}:where(body.sj-landing .prototype-note) { font-size: .875rem; }
body.sj-landing .action-status { margin-top: 1rem; padding-left: 1rem; border-left: 2px solid #9a672d; }

/* The private sessions remain the core, supported by three distinct materials. */
body.sj-landing .journey-intro { max-width: 49rem; margin-inline: auto; }
body.sj-landing .journey-intro h2 { max-width: 19ch; }
body.sj-landing .private-layout {
  display: grid;
  gap: 2rem;
  align-items: center;
  margin-top: 3.5rem;
  padding-block: 2.5rem;
  border-block: 1px solid var(--line-gold);
}
body.sj-landing .private-copy { max-width: 36rem; }
body.sj-landing .private-copy h3 {
  
}:where(body.sj-landing .private-copy h3) { font-size: clamp(1.8rem, 3vw, 2.4rem); }
body.sj-landing .private-copy p { margin-top: 1.2rem; }
body.sj-landing .session-rhythm { color: #765022; }
body.sj-landing .journey-cycle { margin: 0; width: min(100%, 22rem); justify-self: center; }
body.sj-landing .cycle-art { position: relative; aspect-ratio: 320 / 280; color: #8e612e; }
body.sj-landing .cycle-art svg { display: block; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1; }
body.sj-landing .cycle-inner { opacity: .25; }
body.sj-landing .cycle-centre { fill: rgba(224,179,100,.1); }
body.sj-landing .cycle-seed { fill: #b17d36; stroke: none; }
body.sj-landing .cycle-label {
  position: absolute; color: #59432b; font-family: var(--sj-display);  white-space: nowrap;
}:where(body.sj-landing .cycle-label) { font-size: 1.125rem; }
body.sj-landing .cycle-label--opening { top: -3%; left: 50%; transform: translateX(-50%); }
body.sj-landing .cycle-label--experience { top: 67%; right: -2%; }
body.sj-landing .cycle-label--integration { top: 67%; left: -2%; }
body.sj-landing .materials-grid { display: grid; gap: 2.5rem; margin-top: 3rem; }
body.sj-landing .material { min-width: 0; }
body.sj-landing .material h3 {
  max-width: 18ch;  line-height: 1.15;
}:where(body.sj-landing .material h3) { font-size: 1.65rem; }
body.sj-landing .material p { margin-top: 1rem; color: #354149; }
body.sj-landing .material-sigil { display: block; position: relative; width: 2.1rem; height: 2.1rem; margin-bottom: 1.5rem; border: 1px solid #9a672d; border-radius: 50%; }
body.sj-landing .material--1 .material-sigil::after { content: ""; position: absolute; inset: 5px; border: 1px solid #9a672d; border-radius: 50%; }
body.sj-landing .material--2 .material-sigil::after { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: #9a672d; }
body.sj-landing .journey-meta {
  margin-top: 3rem; text-align: center; color: #596269;
}:where(body.sj-landing .journey-meta) { font-size: 1rem; }

/* Excerpts are verbatim. Native disclosures retain every complete review. */
body.sj-landing .reviews-grid { display: grid; gap: 0 3.5rem; margin-top: 2.5rem; align-items: start; }
body.sj-landing .review { border-top: 1px solid rgba(126,82,32,.28); padding-block: 1.5rem 2.4rem; min-width: 0; }
body.sj-landing .review summary { display: block; cursor: pointer; list-style: none; }
body.sj-landing .review summary::-webkit-details-marker { display: none; }
body.sj-landing .review-quote {
  display: block; height: 2.2rem; font-family: var(--sj-display); color: #9a672d;  line-height: 1;
}:where(body.sj-landing .review-quote) { font-size: 4rem; }
body.sj-landing .review-excerpt {
  display: block; font-family: var(--sj-display);  line-height: 1.42;
}:where(body.sj-landing .review-excerpt) { font-size: clamp(1.35rem, 2.2vw, 1.65rem); }
body.sj-landing .review-author {
  display: block; margin-top: 1.4rem;  color: #5a4934;
}:where(body.sj-landing .review-author) { font-size: 1rem; }
body.sj-landing .review-toggle {
  display: inline-flex; min-height: 44px; gap: .75rem; align-items: center; margin-top: .5rem;  color: #765022; text-decoration: underline; text-underline-offset: .3rem;
}:where(body.sj-landing .review-toggle) { font-size: .95rem; }
body.sj-landing .review-toggle-icon {
  text-decoration: none;  transition: transform .18s ease;
}:where(body.sj-landing .review-toggle-icon) { font-size: 1.4rem; }
body.sj-landing .review-close { display: none; }
body.sj-landing .review[open] .review-read { display: none; }
body.sj-landing .review[open] .review-close { display: inline; }
body.sj-landing .review[open] .review-toggle-icon { transform: rotate(45deg); }
body.sj-landing .review[open] .review-excerpt { display: none; }
body.sj-landing .review[open] .review-author { margin-top: .2rem; }
body.sj-landing .review-full {
  max-width: 62ch; margin: 1rem auto 0;  line-height: 1.65; color: #354149;
}:where(body.sj-landing .review-full) { font-size: 1.08rem; }
body.sj-landing .review-full p + p { margin-top: 1rem; }

/* Enhancement: one complete, scrollable review at a time. Without JavaScript
   the original disclosures remain available together in the grid. */
body.sj-landing .review-carousel { max-width: 52rem; margin: 2.5rem auto 0; }
body.sj-landing .review-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--line-gold); }
body.sj-landing .review-pagination { display: flex; align-items: center; gap: .7rem; }
body.sj-landing .review-controls button, body.sj-landing .review-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: #59432b;
  font: inherit;
  cursor: pointer;
}
body.sj-landing .review-autoplay {
  gap: .6rem; padding: .5rem .7rem; border-radius: 2rem;
}:where(body.sj-landing .review-autoplay) { font-size: .95rem !important; }
body.sj-landing .review-arrow {
  border: 1px solid rgba(126,82,32,.35) !important; border-radius: 50%;
}:where(body.sj-landing .review-arrow) { font-size: 1.4rem !important; }
body.sj-landing .review-controls button:hover, body.sj-landing .review-dot:hover { background: rgba(126,82,32,.08); }
body.sj-landing .review-position {
  min-width: 3rem;  text-align: center; font-variant-numeric: tabular-nums;
}:where(body.sj-landing .review-position) { font-size: .95rem; }
body.sj-landing .review-carousel[data-carousel-ready] .reviews-grid {
  display: flex;
  position: relative;
  gap: 0;
  margin-top: .5rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  align-items: flex-start;
}
body.sj-landing .review-carousel[data-carousel-ready] .reviews-grid::-webkit-scrollbar { display: none; }
body.sj-landing .review-slide { min-width: 0; }
body.sj-landing .review-carousel[data-carousel-ready] .review-slide { flex: 0 0 100%; width: 100%; padding-inline: .4rem; scroll-snap-align: start; scroll-snap-stop: always; }
body.sj-landing .review-carousel[data-carousel-ready] .review { border: 0; padding-block: 1.5rem 1rem; }
body.sj-landing .review-carousel[data-carousel-ready] .review-excerpt {
  max-width: 43ch;  line-height: 1.45;
}:where(body.sj-landing .review-carousel[data-carousel-ready] .review-excerpt) { font-size: clamp(1.35rem, 2.3vw, 1.85rem); }
body.sj-landing .review-dots { display: flex; flex-wrap: wrap; justify-content: center; gap: .15rem; margin-top: .5rem; }
body.sj-landing .review-dot { border-radius: 50%; }
body.sj-landing .review-dot span { width: .45rem; height: .45rem; border: 1px solid #876437; border-radius: 50%; transition: transform .2s ease; }
body.sj-landing .review-dot[aria-current="true"] span { background: #765022; transform: scale(1.35); }
body.sj-landing .review-carousel :focus-visible { outline-offset: -2px; }

/* Show the actual cost comparison and included materials as one readable
   graphic. Its labels and prices remain live text at every screen size. */
body.sj-landing .chapter--exchange { padding-bottom: 2.5rem; }
body.sj-landing .chapter--invitation { padding-top: 2.5rem; }
body.sj-landing .exchange-heading { display: grid; gap: 1.5rem; align-items: end; }
body.sj-landing .exchange-heading h2 { max-width: 16ch; }
body.sj-landing .exchange-heading p {
  max-width: 43ch;  line-height: 1.55; color: #354149;
}:where(body.sj-landing .exchange-heading p) { font-size: 1.13rem; }
body.sj-landing .exchange-visual { display: grid; gap: 1rem; margin: 2.5rem 0 0; align-items: stretch; }
body.sj-landing .exchange-separate, body.sj-landing .exchange-bundle { min-width: 0; padding: clamp(1.5rem, 3.2vw, 2.75rem); border: 1px solid rgba(92,76,50,.25); }
body.sj-landing .exchange-separate { display: flex; flex-direction: column; justify-content: center; background: rgba(255,252,243,.2); }
body.sj-landing .exchange-bundle {
  position: relative;
  overflow: hidden;
  border-color: rgba(126,82,32,.46);
  background: radial-gradient(circle at 96% 0, rgba(249,228,178,.53), transparent 48%), rgba(255,253,246,.46);
  box-shadow: 0 1.5rem 4rem rgba(63,57,48,.07);
}
body.sj-landing .exchange-kicker {
  color: #59432b;  letter-spacing: .04em;
}:where(body.sj-landing .exchange-kicker) { font-size: .95rem; }
body.sj-landing .exchange-illustration { display: block; width: 100%; max-width: 40rem; height: auto; margin: 1.2rem 0 .8rem; }
body.sj-landing .exchange-amount {
  margin-top: .5rem; font-family: var(--sj-display);  line-height: 1.08;
}:where(body.sj-landing .exchange-amount) { font-size: clamp(2.5rem, 5vw, 4rem); }
body.sj-landing .exchange-amount--journey {
  color: #59401d;
}:where(body.sj-landing .exchange-amount--journey) { font-size: clamp(2.25rem, 4vw, 3.45rem); }
body.sj-landing .exchange-math {
  margin-top: .5rem; color: #596269;
}:where(body.sj-landing .exchange-math) { font-size: 1rem; }
body.sj-landing .exchange-difference {
  margin-top: .7rem; color: #68471d;
}:where(body.sj-landing .exchange-difference) { font-size: 1rem; }
body.sj-landing .exchange-sessions {
  margin-top: 1.2rem; padding-block: 1.1rem; border-block: 1px solid rgba(126,82,32,.24);
}:where(body.sj-landing .exchange-sessions) { font-size: 1.05rem; }
body.sj-landing .exchange-materials { display: grid; gap: 1rem; margin-top: 1.5rem; }
body.sj-landing .exchange-materials > div {
  display: flex; gap: .85rem; align-items: baseline;  line-height: 1.35;
}:where(body.sj-landing .exchange-materials > div) { font-size: .95rem; }
body.sj-landing .exchange-materials strong {
  color: #765022; font-family: var(--sj-display);  font-weight: 400; line-height: 1;
}:where(body.sj-landing .exchange-materials strong) { font-size: 1.8rem; }
body.sj-landing .exchange-visual figcaption {
  grid-column: 1 / -1; max-width: 66ch; margin-top: .65rem; color: #354149;  line-height: 1.55;
}:where(body.sj-landing .exchange-visual figcaption) { font-size: 1rem; }
body.sj-landing .exchange-installments {
  margin-top: 1.15rem; color: #354149;
}:where(body.sj-landing .exchange-installments) { font-size: 1.1rem; }

/* The introduction follows the transparent exchange. */
body.sj-landing .invitation-layout { display: grid; gap: 3rem; }
body.sj-landing .invitation-copy h2 { max-width: 15ch; }
body.sj-landing .invitation-details { min-width: 0; }
body.sj-landing .invitation-details .signup-panel { margin-top: 0; }
body.sj-landing .contact-fields { display: grid; gap: 1rem; }
body.sj-landing .invitation-details .button { color: #111a24; background: linear-gradient(100deg, #f4cf83, #d7a954); }
body.sj-landing .faq-layout { display: grid; gap: 2.25rem; }
body.sj-landing .faq-list { margin-top: 0; width: 100%; }
body.sj-landing .faq-list summary {
  line-height: 1.3; padding-block: 1.5rem;
}:where(body.sj-landing .faq-list summary) { font-size: 1.35rem; }
body.sj-landing .faq-answer { padding-bottom: 1.4rem; }
body.sj-landing .faq-list details p {
  padding: 0 1.5rem 0 0;
}:where(body.sj-landing .faq-list details p) { font-size: 1.08rem; }
body.sj-landing .faq-list details p + p { margin-top: 1rem; }
body.sj-landing .closing-circle {
  position: relative;
  display: grid;
  place-items: center;
  width: min(100%, 36rem);
  aspect-ratio: 1;
  margin-inline: auto;
}
body.sj-landing .closing-circle .final-orbit { inset: 0; width: 100%; height: 100%; transform: none; z-index: 0; }
body.sj-landing .final-inner .closing-circle h2 {
  position: relative;
  width: 72%;
  max-width: 15ch;
  margin: 0;
  
  line-height: 1.12;
  text-wrap: balance;
}:where(body.sj-landing .final-inner .closing-circle h2) { font-size: clamp(2rem, 5vw, 3.75rem); }
body.sj-landing .final-inner .button-row { margin-top: 2.5rem; flex-wrap: wrap; justify-content: center; }
body.sj-landing .final-invitation { padding-block: clamp(5rem, 9vw, 8rem); min-height: 0; }
body.sj-landing .final-invitation::before { display: none; }
body.sj-landing .site-footer {
  
}:where(body.sj-landing .site-footer) { font-size: .95rem; }
body.sj-landing .site-footer a { display: inline-flex; align-items: center; min-height: 44px; }
body.sj-landing .footer-inner { align-items: center; flex-wrap: wrap; }

@media (max-width: 47.99rem) {

  body.sj-landing .journey-page { --deep-blue: 84rem; --transition-start: 155rem; --transition-mid: 200rem; --light-reached: 250rem; --daylight-start: 430rem; }
  body.sj-landing .chapter--recognition { padding-top: 3rem; }
  body.sj-landing .recognition-art { width: min(100%, 27rem); margin-top: 1rem; }
  body.sj-landing .recognition-copy h2 { max-width: 17ch; }
  body.sj-landing .guide-layout > .sj-heading h2 { text-align: center; }
  body.sj-landing .guide-copy { padding-top: .75rem; }
  body.sj-landing .private-layout { gap: 3.5rem; }
  body.sj-landing .journey-cycle { max-width: 18rem; }
  body.sj-landing .materials-grid { gap: 2.5rem; }
  body.sj-landing .material { padding-bottom: 2rem; border-bottom: 1px solid rgba(126,82,32,.2); }
  body.sj-landing .material:last-child { padding-bottom: 0; border-bottom: 0; }
  body.sj-landing .material h3 { max-width: none; }
  body.sj-landing .cycle-label--experience { right: 0; }
  body.sj-landing .cycle-label--integration { left: 0; }
  body.sj-landing .final-inner .button { width: 100%; }

}

@media (min-width: 48rem) {

  body.sj-landing .exchange-heading { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 3rem; }
  body.sj-landing .exchange-visual { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 1.25rem; }
  body.sj-landing .exchange-materials { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.sj-landing .exchange-materials > div { display: block; }
  body.sj-landing .exchange-materials span { display: block; margin-top: .5rem; }
  body.sj-landing .recognition-copy { max-width: 47rem; }
  body.sj-landing .recognition-copy h2 {
  
}:where(body.sj-landing .recognition-copy h2) { font-size: clamp(2.6rem, 4.5vw, 4rem); }
  body.sj-landing .solution-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 4rem; align-items: start; }
  body.sj-landing .solution-copy { padding-top: 1rem; }
  body.sj-landing .guide-layout { column-gap: 3.5rem; row-gap: 1.5rem; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); grid-template-areas: "portrait heading" "portrait copy"; align-items: start; }
  body.sj-landing .guide-art { width: min(100%, 29rem); align-self: center; }
  body.sj-landing .experience-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 3rem; }
  body.sj-landing .experience-access { padding: 1rem 0 1rem 2.5rem; border-top: 0; border-left: 1px solid var(--line-gold); }
  body.sj-landing .private-layout { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 3rem; padding-block: 3.5rem; }
  body.sj-landing .materials-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
  body.sj-landing .reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.sj-landing .invitation-layout { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 4rem; align-items: start; }
  body.sj-landing .invitation-details { margin-top: .4rem; }
  body.sj-landing .faq-layout { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 3rem; align-items: start; }
  body.sj-landing .faq-layout h2 { position: sticky; top: 7rem; }
  body.sj-landing .final-inner .button { min-width: 0; }

}



@media (min-width: 48rem) and (max-width: 63.99rem) {

  body.sj-landing .exchange-visual { grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); }
  body.sj-landing .exchange-materials { grid-template-columns: minmax(0, 1fr); }
  body.sj-landing .exchange-materials > div { display: flex; }
  body.sj-landing .exchange-materials span { margin-top: 0; }
  body.sj-landing .solution-layout, body.sj-landing .experience-layout, body.sj-landing .invitation-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  body.sj-landing .solution-heading h2 { max-width: 19ch; }
  body.sj-landing .solution-copy { padding-top: 0; }
  body.sj-landing .experience-access { padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid var(--line-gold); }
  body.sj-landing .materials-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  body.sj-landing .material { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line-gold); }
  body.sj-landing .material-sigil { grid-column: 1; margin-bottom: 1rem; }
  body.sj-landing .material h3 { grid-column: 1; }
  body.sj-landing .material p { grid-column: 2; grid-row: 1 / 3; margin-top: 0; }
  body.sj-landing .material:last-child { border: 0; padding-bottom: 0; }

}

@media (min-width: 75rem) {

  body.sj-landing .guide-layout, body.sj-landing .experience-layout { column-gap: 5rem; }
  body.sj-landing .invitation-layout { gap: 6rem; }

}

@media (prefers-reduced-motion: reduce) {

  body.sj-landing .review-toggle-icon, body.sj-landing .review-dot span { transition: none; }

}
@media (prefers-contrast: more) {

  body.sj-landing .daylight .prose p, body.sj-landing .material p, body.sj-landing .review-full, body.sj-landing .prototype-note { color: #111a24; }
  body.sj-landing .signup-panel input { border-color: #354149; background: #fffaf0; }

}

/* Native Elementor wrappers preserve the original section composition. */
body.sj-landing .e-con.container { width:var(--container); margin-inline:auto; }
body.sj-landing .journey-page.e-con { width:100%; max-width:none; padding:0; margin:0; gap:0; overflow:clip; }
body.sj-landing .prose .sj-text + .sj-text { margin-top:1.3rem; }
body.sj-landing .guide-layout > .sj-heading { grid-area:heading; }
body.sj-landing .guide-art .elementor-widget-container { height:100%; }
body.sj-landing .sj-hero-art { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
body.sj-landing .sj-hero-art .elementor-widget-container { width:100%; height:100%; }
body.sj-landing .hero-art img { transform:translate(var(--sj-x,4%),var(--sj-y,-2.4%)) scale(var(--sj-scale,1.035)); }
body.sj-landing .hero-copy .button-row > .sj-button { width:100%; }
body.sj-landing .sj-button.sj-primary .button { width:100%; }
body.sj-landing .elementor-button-text { flex-grow:0; }
body.sj-landing .guide-copy .prose > .sj-text:last-child p {
  
}:where(body.sj-landing .guide-copy .prose > .sj-text:last-child p) { font-size: 1rem; }
body.sj-landing .sj-footer-links { display:flex; gap:1.5rem; }
body.sj-landing .site-footer { background:var(--sj-gold,#f8ead0); color:#354149; }
body.sj-landing .site-footer>.container { display:flex; justify-content:space-between; gap:1rem; }
body.sj-landing button:disabled, body.sj-landing input:disabled { cursor:default; opacity:.65; }
body.sj-landing .sj-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.sj-landing.admin-bar .site-nav { top:32px; }
body.sj-landing.elementor-editor-active .site-nav { pointer-events:none; }
body.sj-landing.elementor-editor-active .e-con.journey-page { overflow:visible; }
body.sj-landing .closing-circle > .elementor-widget-sj-art { position:absolute; inset:0; }
body.sj-landing .closing-circle > .sj-heading { z-index:1; width:100%; }
body.sj-landing .closing-circle .sj-heading h2 { margin-inline:auto; }
body.sj-landing .elementor .elementor-widget-sj-exchange figure.exchange-visual { margin:2.5rem 0 0; }
body.sj-landing .journey-cycle.elementor-widget { width:min(100%,22rem); }
/* Individual saved sections also work on another Journey Full Canvas page. */
body.sj-landing .chapter { background:var(--sj-blue,#152b3b); }
body.sj-landing .chapter.daylight { background:var(--sj-light,#eee5d8); }
body.sj-landing .chapter--solution.daylight { background:var(--sj-slate,#50565b); }
body.sj-landing .chapter--final.daylight { background:radial-gradient(circle at center,rgba(255,250,228,.95),transparent 60%),var(--sj-gold,#f8ead0); }
body.sj-landing .journey-page .chapter { background:transparent; }
@media (max-width:782px) {
 body.sj-landing.admin-bar .site-nav { top:46px; } 
}
@media (max-width:767px) {
 body.sj-landing .hero-art img { transform:translate(var(--sj-x,8%),var(--sj-y,-96px)) scale(var(--sj-scale,1.06)); } 
}
@media (max-width:352px) {

 body.sj-landing .sj-hero-art { grid-row:2; position:relative; inset:auto; width:100%; height:min(120vw,36rem); margin-top:.5rem; }
 body.sj-landing .hero-art { height:100%; margin-top:0; }
 body.sj-landing .hero-art img { transform:none; }

}
/* Previous section stays dark blue */
body.sj-landing .journey-page .chapter--recognition {
  background: #152b3b;
}

/* Keep the previous section dark for longer,
   then transition gradually into the light colour */
body.sj-landing .journey-page .chapter--recognition {
  background: linear-gradient(
    180deg,
        transparent 0%,
    #152b3b 68%,
    #334a58 80%,
    #727f80 88%,
    #b8bcb5 95%,
    #eee5d8 100%
  );
}

/* From "Change is simple" onward */
body.sj-landing .journey-page .chapter--solution,
body.sj-landing .journey-page .chapter--solution ~ .chapter {
  background: #eee5d8;
}