@font-face {
  font-family: "Montserrat";
  src: url('/assets/mantras/Montserrat.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  color-scheme: light;
  --ink: #241d1b;
  --paper: #fff;
  --rust: #9d3f23;
  --line: #49372a35;
  --gutter: clamp(22px, 5vw, 90px);
  font-family: "Montserrat", system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
  scroll-behavior: smooth;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid #b85a39; outline-offset: 5px; }
.header, footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px var(--gutter); }
.header { position: absolute; top: 0; left: 0; right: 0; z-index: 4; }
.wordmark { display: inline-flex; align-items: center; flex: 0 0 auto; }
.wordmark img { display: block; width: clamp(91px, 8.7vw, 125px); height: auto; filter: brightness(0); }
.is-loading { overflow: hidden; }
.preloader {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  background: #000;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .55s ease, visibility 0s linear .55s;
}
.is-loading .preloader { opacity: 1; visibility: visible; pointer-events: auto; transition: none; }
.preloader-logo { width: clamp(145px, 16vw, 210px); height: auto; }
.preloader-bottom { position: absolute; inset: auto 0 0; }
.preloader-status { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 0 var(--gutter) clamp(14px, 2.7vw, 36px); font-size: clamp(13px, 2.3vw, 32px); font-weight: 500; }
#loading-percent { font-variant-numeric: tabular-nums; }
.preloader-track { height: clamp(7px, 1vw, 13px); background: #fff3; }
.preloader-progress { height: 100%; background: #fff; transform: scaleX(var(--load, 0)); transform-origin: left; }
@media (prefers-reduced-motion: reduce) { .preloader { transition: none; } }
nav { display: flex; align-items: center; gap: clamp(16px, 3vw, 44px); font-size: 14px; }
.nav-offer { padding: 8px 0; border-bottom: 1px solid currentColor; }
.nav-offer span { margin-left: 4px; }
.journey { --pv-travel: 2; height: calc((1.3 + var(--pv-travel)) * 100svh); }
html.lenis { scroll-behavior: auto; }
html:has(dialog[open]) { overflow: hidden; }
.stage { position: sticky; top: 0; height: 100svh; min-height: 480px; overflow: hidden; isolation: isolate; background: #eef0f1; }
.hero-still, .valley-still, .scene-canvas, .hero-copy, .valley-copy { position: absolute; inset: 0; }
.hero-still {
  background: radial-gradient(ellipse at 52% 45%, #ffe1ad 0, #fff0db66 22%, transparent 42%), linear-gradient(178deg, #edeff0, #f4f4f3 72%, #fff);
  opacity: var(--hero-plate, 1);
  z-index: 1;
}
.hero-shadow { position: absolute; left: 50%; top: 78%; width: min(34vw, 420px); height: 22px; transform: translateX(-50%); border-radius: 50%; background: #392d2840; filter: blur(12px); }
.om-still, #om-fallback { position: absolute; left: 50%; top: 43%; transform: translate(-50%, -50%); width: min(61vw, 73svh, 690px); aspect-ratio: 1; }
#om-fallback { opacity: 0; }
.particles-ready #om-fallback { opacity: 1; }
.particles-ready .om-still { opacity: 0; }
.valley-still { transform: scale(calc(1 + max(0, min(.18, (var(--progress, 0) - .65) * .4)))); background: #d3cdca url('/assets/mantras/valley.webp') center / cover no-repeat; }
.scene-canvas { z-index: 2; visibility: hidden; }
.scene-ready .scene-canvas { visibility: visible; }
.scene-ready .hero-still, .scene-ready .valley-still { visibility: hidden; }
.scene-canvas canvas { display: block; width: 100%; height: 100%; }
.journey:not(.scene-ready) .stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: radial-gradient(ellipse at 50% 45%, #f8f9faac, #f8f9fa40 65%, transparent);
  opacity: var(--handover-fog, 0);
  pointer-events: none;
}
.stage::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  height: clamp(100px, 26vh, 320px);
  background: linear-gradient(to bottom, #fff0, #fff 96%);
  opacity: var(--valley-exit, 0);
  pointer-events: none;
}
.hero-copy, .valley-copy { z-index: 3; pointer-events: none; }
.hero-copy a, .valley-copy a { pointer-events: auto; }
.hero-copy { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding: 90px var(--gutter) clamp(34px, 6vh, 90px); }
.hero-copy { opacity: var(--hero-visibility, 1); }
.journey:not(.scene-ready) .hero-copy { transform: translateY(calc(-100% * var(--progress, 0))); }
.valley-copy-inner {
  opacity: var(--valley-visibility, 0);
  transform: translateY(calc(64px * (1 - var(--valley-visibility, 0))));
}
.hero-main { max-width: 760px; }
.eyebrow { font-size: 11px; font-weight: 650; text-transform: uppercase; letter-spacing: .15em; margin: 0 0 20px; }
.eyebrow span { width: 7px; height: 7px; background: #b85a39; border-radius: 50%; display: inline-block; margin-right: 7px; vertical-align: 1px; }
h1, h2, .valley-title { font-weight: 500; letter-spacing: -.062em; line-height: .96; margin: 0; }
h1 { font-size: clamp(42px, 6.4vw, 104px); }
.hero-subtitle { font-size: clamp(22px, 3.1vw, 46px); margin: 10px 0 26px; line-height: 1.04; letter-spacing: -.04em; }
.hero-aside { max-width: 235px; margin: 0 0 4px; font-size: clamp(16px, 1.5vw, 22px); line-height: 1.3; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; border-radius: 99px; border: 1px solid transparent; min-height: 50px; padding: 12px 20px; cursor: pointer; font-size: 14px; font-weight: 600; white-space: nowrap; }
.button span { font-size: 19px; line-height: 1; }
.primary { color: #fff9ef; background: #30211e; }
.primary:hover { background: #5c2c23; }
.primary:disabled { cursor: default; opacity: .65; }
.soft { color: var(--ink); background: #fff9ecdb; border-color: #4b40334a; }
.light { background: #f4e4cd; color: #281b18; }
.light:hover, .soft:hover { background: #fff5e5; }
.valley-copy { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: 0 var(--gutter); }
.journey:not(.scene-ready) .valley-copy { transform: translateY(calc((1 - var(--progress, 0)) * 100%)); }
.valley-title { font-size: clamp(42px, 6vw, 95px); margin: 0 0 22px; }
.practice, .offer { padding: clamp(70px, 12vw, 174px) var(--gutter); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 8vw, 140px); align-items: center; }
.practice { background: #fff; scroll-margin-top: 0; }
h2 { font-size: clamp(38px, 5.5vw, 86px); }
.practice-copy > p:not(.eyebrow), .offer-copy > p:not(.eyebrow) { max-width: 470px; font-size: clamp(17px, 2vw, 24px); line-height: 1.5; margin: 25px 0 0; }
.practice-copy > p.small, .offer-copy > p.purchase-note { color: #67544b; font-size: 14px; margin-top: 14px; }
.text-button { border: 0; padding: 4px 0; color: inherit; background: none; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.text-button:disabled { opacity: .5; cursor: default; }
#tone { color: var(--rust); margin-top: 22px; }
#audio-status:empty { display: none; }
.practice-card { padding: clamp(23px, 5vw, 65px); border: 1px solid #211d181a; border-radius: 3px; background: #fff; display: grid; justify-items: center; gap: 21px; }
.ring { position: relative; width: min(100%, 330px); aspect-ratio: 1; }
#dots, .ring-center { position: absolute; inset: 0; }
#dots span { position: absolute; width: clamp(3px, .45vw, 6px); aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%); background: #d1ccca; }
#dots .lit { background: #aa482b; box-shadow: 0 0 8px #bd5c3b80; }
.ring-center { display: grid; place-content: center; justify-items: center; gap: 4px; }
.om { font-family: "Nirmala UI", Mangal, serif; color: #a84a32; font-size: clamp(75px, 10vw, 145px); line-height: 1; }
output { font-size: 15px; font-variant-numeric: tabular-nums; letter-spacing: .08em; color: #594335; }
.practice-meta { display: flex; justify-content: center; align-items: center; gap: 14px; font-size: 12px; color: #60483b; min-height: 26px; }
.offer { background: #2a201f; color: #f7e9d8; }
.offer-copy > p:not(.eyebrow) { color: #e7cdbb; }
.offer-copy > .button { margin-top: 29px; }
.offer-copy > p.purchase-note { color: #c0a699; }
.program h3 { font-size: 25px; font-weight: 400; }
.program ul { list-style: none; padding: 0; margin: 0; }
.program li { border-top: 1px solid #f6e1ca45; padding: 18px 0; display: flex; gap: 20px; }
.program li > span { color: #dea98d; font-size: 12px; padding-top: 5px; }
.program strong { font-size: 21px; font-weight: 400; }
.program p { color: #ddc6b5; line-height: 1.5; margin: 6px 0 0; }
footer { font-size: 13px; border-top: 1px solid var(--line); }
dialog { max-width: min(420px, calc(100vw - 36px)); padding: 32px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); }
dialog::backdrop { background: #231a17ad; }
dialog h2 { font-size: 38px; }
dialog p { line-height: 1.5; margin: 20px 0; }
@media (max-width: 740px) {
  .header { padding-top: 12px; }
  .wordmark { font-size: 11px; }
  nav { font-size: 12px; }
  .hero-copy { flex-direction: column; justify-content: end; align-items: start; gap: 16px; padding-bottom: 28px; }
  .hero-aside { max-width: 320px; font-size: 15px; }
  .hero-subtitle { margin-bottom: 16px; }
  .om-still, #om-fallback { top: 34%; width: min(95vw, 48svh); }
  .hero-shadow { top: 53%; width: 48vw; }
  .valley-copy { justify-content: end; padding-bottom: 55px; }
  .practice, .offer { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  .journey { height: auto; }
  .stage { position: relative; height: auto; min-height: 0; }
  .valley-still { transform: none; }
  .stage::after { opacity: 1; }
  .journey:not(.scene-ready) .stage::before { opacity: 0; }
  .valley-copy-inner { opacity: 1; transform: none; }
  .hero-still, .hero-copy { height: 100svh; min-height: 520px; }
  .hero-copy, .valley-copy { position: relative; }
  .valley-copy { min-height: 75svh; }
  .valley-still { top: max(100svh, 520px); }
  .journey:not(.scene-ready) .hero-copy, .journey:not(.scene-ready) .valley-copy, .hero-still { transform: none; opacity: 1; }
}
@media (orientation: portrait) {
  .valley-still { background-image: url('/assets/mantras/valley-portrait.webp'); }
}
@media (min-width: 1150px) {
  .practice h2 { font-size: clamp(52px, 4.8vw, 77px); }
}
/* Full-screen scenes following the valley. */
.experience-scene {
  position: relative; isolation: isolate; overflow: hidden;
  display: block; padding: 0; min-height: 860px; height: 110svh;
  color: #241d1b; background: #f4f5f6;
}
.experience-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; }
.experience-scene::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse at 50% 44%, #fff2dc 0, #ecedef 38%, #f9fafb 75%); }
.experience-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: -1; background: linear-gradient(#fff, transparent 16%, transparent 80%, #fff); }
.scene-floor { position: absolute; left: 50%; top: 77%; width: 33%; height: 20px; background: #534b4636; filter: blur(18px); border-radius: 50%; transform: translateX(-50%); z-index: -1; }
.practice-copy { position: absolute; inset: 9% var(--gutter) auto; }
.practice-copy h2 { position: absolute; top: 23svh; left: 0; right: 0; display: flex; justify-content: space-between; align-items: center; pointer-events: none; font-size: clamp(40px, 4.8vw, 78px); }
.practice-copy h2 span:last-child { text-align: right; }
.practice-card { position: absolute; left: 50%; top: 20%; transform: translateX(-50%); border: 0; padding: 0; background: none; gap: 20px; width: min(37vw, 480px); }
.practice-card .ring { width: 100%; }
.practice-card .om { font-size: clamp(75px, 8vw, 125px); color: #554844; font-weight: 400; text-shadow: 0 0 30px #fff; opacity: .8; }
#dots span { width: 4px; background: #8d8580; box-shadow: 0 0 7px #fff; }
#dots .lit { background: #c57c45; box-shadow: 0 0 7px #d69a54, 0 0 20px #f5c796; }
.practice-instructions { position: absolute; bottom: 10%; left: var(--gutter); width: min(31%, 390px); font-size: 16px; line-height: 1.6; }
.practice-instructions #tone { margin-top: 7px; font-size: 13px; }
.practice-instructions p { margin: 0; }
.practice-note { position: absolute; bottom: 10%; right: var(--gutter); text-align: right; font-size: 13px; line-height: 1.6; color: #736a64; }
.offer { height: 125svh; min-height: 950px; }
.offer::before { background: radial-gradient(ellipse at 50% 53%, #fff8ec 0, #e5e7ea 37%, #f9fafb 73%); }
.offer-copy { position: absolute; top: 10%; left: var(--gutter); right: var(--gutter); text-align: center; pointer-events: none; }
.offer-copy h2 { font-size: clamp(48px, 7vw, 112px); line-height: 1.01; }
.offer-copy > p:not(.eyebrow) { margin: 22px auto 0; color: #514944; font-size: 17px; line-height: 1.6; }
.offer-action { position: absolute; bottom: 26%; left: 50%; transform: translateX(-50%); text-align: center; }
.offer-action .purchase-note { margin: 13px 0 0; font-size: 12px; color: #75695e; }
.offer .scene-floor { top: 74%; }
.program { position: absolute; bottom: 7%; left: var(--gutter); right: var(--gutter); }
.program-tabs { display: flex; justify-content: center; gap: clamp(16px, 5vw, 80px); border-bottom: 1px solid #241d1b24; }
.program-tabs button { border: 0; background: none; padding: 15px 0; font-size: clamp(13px, 1.5vw, 21px); cursor: pointer; opacity: .5; border-bottom: 2px solid transparent; }
.program-tabs button[aria-selected="true"] { opacity: 1; border-color: #45362b; }
.program #program-panel { color: #60554f; text-align: center; min-height: 48px; margin: 20px auto 0; font-size: 15px; line-height: 1.5; }
@media (max-width: 800px) {
 .experience-scene { height: auto; min-height: 950px; }
 .practice-copy { top: 7%; }
 .practice-copy h2 { position: static; display: block; margin-top: 30px; font-size: clamp(38px, 7vw, 58px); }
 .practice-copy h2 span { display: block; }
 .practice-copy h2 span:last-child { text-align: left; }
 .practice-copy h2 br { display: none; }
 .practice-card { top: 31%; width: min(69vw, 340px); }
 .practice-instructions { bottom: 11%; width: calc(100% - var(--gutter)*2); font-size: 14px; }
 .practice-note { bottom: 4%; left: var(--gutter); right: auto; text-align: left; font-size: 12px; }
 .practice-note br { display: none; }
 .scene-floor { top: 68%; }
 .offer { min-height: 1000px; }
 .offer-copy { top: 10%; text-align: left; }
 .offer-copy h2 { font-size: clamp(42px, 8vw, 62px); }
 .offer-copy > p:not(.eyebrow) { font-size: 15px; margin-left: 0; }
 .offer-action { bottom: 29%; }
 .program { bottom: 6%; }
 .program-tabs { gap: 0; flex-direction: column; }
 .program-tabs button { text-align: left; padding: 10px 0; font-size: 15px; }
 .program #program-panel { text-align: left; font-size: 13px; min-height: 40px; margin-top: 14px; }
}

/* Sound radiates from the centre of the loader logo. */
.preloader { overflow: hidden; }
.preloader-logo { position: relative; z-index: 1; }
.preloader-waves { position: absolute; left: 50%; top: 50%; width: 0; height: 0; pointer-events: none; }
.preloader-waves i { position: absolute; width: 120px; height: 120px; left: -60px; top: -60px; border: 1px solid #ffffff30; border-radius: 50%; opacity: 0; animation: loader-wave 3.3s linear infinite; animation-play-state: paused; }
.is-loading .preloader-waves i { animation-play-state: running; }
.preloader-waves i:nth-child(2) { animation-delay: -1.1s; }
.preloader-waves i:nth-child(3) { animation-delay: -2.2s; }
@keyframes loader-wave { 0% { transform: scale(.65); opacity: 0; } 15% { opacity: .55; } 100% { transform: scale(4.4); opacity: 0; } }
.offer-native { position: absolute; inset: 24% 0 16%; z-index: -1; pointer-events: none; mask-image: radial-gradient(ellipse, #000 36%, #000b 64%, transparent 76%); }
.offer-native canvas { width: 100%; height: 100%; display: block; }
.offer.native-particles > .experience-canvas { visibility: hidden; }
@media(max-width:800px) { .offer-native { inset: 31% -18% 26%; } }
@media(prefers-reduced-motion:reduce) { .preloader-waves i { animation: none; } }

.offer.native-particles::before { background: radial-gradient(ellipse at 50% 53%, #ffe3b5 0, #fff0d98a 20%, #e5e7ea 42%, #f9fafb 73%); }

.film-scene { position: relative; background: #fff; padding: 0; height: 100svh; min-height: 480px; }
.film-frame { position: relative; width: 100%; height: 100%; overflow: hidden; background: #dededc; border-radius: 3rem; }
.mantra-film { display: block; width: 100%; height: 100%; object-fit: cover; }
.film-frame.is-playing { background: #111; }
.film-frame.is-playing .mantra-film { object-fit: contain; }
.film-play { position: absolute; inset: 0; margin: auto; width: 110px; height: 110px; border: 0; border-radius: 50%; display: grid; place-items: center; background: #00000012; color: #fff; cursor: pointer; transition: background .25s, transform .25s; }
.film-play:hover { background: #00000030; transform: scale(1.06); }
.film-play[hidden], .film-error[hidden] { display: none; }
.film-error { position: absolute; inset: auto 20px 25px; text-align: center; padding: 15px; background: #fffE; color: var(--ink); font-size: 14px; }
.film-error a { text-decoration: underline; }
@media(max-width:800px) { .film-scene { height: 75svh; min-height: 400px; } .film-frame { border-radius: 2rem; } }

/* Night palette shared by the page and the particle scenes. */
:root {
  color-scheme: dark;
  --paper: #101014;
  --ink: #f4f0e8;
  --muted: #bdb7b0;
  --rust: #efc77a;
  --line: #ffffff30;
}
.wordmark img { filter: brightness(0) invert(1); }
.stage, .experience-scene, .film-scene { background: var(--paper); color: var(--ink); }
.hero-still { background: radial-gradient(ellipse at 52% 45%, #4d381e, #241d19 32%, var(--paper) 69%); }
.valley-still { filter: brightness(.38) saturate(.78); }
.journey:not(.scene-ready) .stage::before { background: radial-gradient(ellipse, #28202480, transparent 75%); }
.stage::after { background: linear-gradient(transparent, var(--paper) 96%); }
.experience-scene::before, .offer::before, .offer.native-particles::before {
  background: radial-gradient(ellipse at 50% 50%, #332717, #1c181a 36%, var(--paper) 72%);
}
.experience-scene::after { background: linear-gradient(var(--paper), transparent 16%, transparent 80%, var(--paper)); }
.scene-floor { background: #0009; }
.primary, .light, .soft { color: var(--ink); background: #26232a; border: 1px solid #e1b76670; }
.primary:hover, .light:hover, .soft:hover { background: #403322; }
.eyebrow span, #dots .lit { background: var(--rust); }
.practice-card .om { color: #f8d99b; text-shadow: 0 0 32px #e8ad5a80; }
#dots span { background: #8a8277; box-shadow: none; }
#dots .lit { box-shadow: 0 0 12px #ffc879; }
output, .practice-meta, .practice-note, .offer-copy > p:not(.eyebrow),
.offer-action .purchase-note, .program #program-panel { color: var(--muted); }
.program-tabs { border-color: var(--line); }
.program-tabs button[aria-selected="true"] { border-color: var(--rust); }
.film-frame { background: #1f1d23; }
.film-error { background: #201e24ef; }
:focus-visible { outline-color: var(--rust); }

.hero-copy, .valley-copy { text-shadow: 0 1px 5px #101014cc, 0 0 20px #10101480; }

.valley-still { filter: none; }
.valley-copy { color: #241d1b; text-shadow: none; }
.valley-copy .button { color: #fff9ef; background: #30211e; }

@font-face { font-family: Jost; src: url('/assets/mantras/Jost.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
:root { font-family: Jost, sans-serif; }
.header { padding: 34px 3vw; align-items: flex-start; }
.header .wordmark img { width: clamp(125px, 10vw, 165px); }
.hero-menu { position: relative; }
.hero-menu summary { width: 44px; padding: 5px 0; list-style: none; cursor: pointer; }
.hero-menu summary::-webkit-details-marker { display: none; }
.hero-menu summary span { display: block; height: 2px; background: #fff; margin: 7px 0; }
.hero-menu nav { position: absolute; right: 0; top: 52px; min-width: 210px; padding: 22px; display: grid; background: #17171cf5; border: 1px solid #ffffff30; border-radius: 12px; font-size: 19px; }
.hero-copy { padding: 0 3vw 8svh; align-items: flex-end; text-shadow: none; }
.hero-portrait { position: absolute; z-index: 0; right: 7%; bottom: 5%; height: 89%; max-width: 54%; object-fit: contain; object-position: bottom; mask-image: linear-gradient(#000 65%, transparent 100%); pointer-events: none; }
.hero-main { position: relative; z-index: 1; width: 58%; max-width: none; }
.hero-event { display: flex; align-items: center; gap: 26px; margin-bottom: 32px; font-size: clamp(20px, 2vw, 34px); line-height: 1.3; }
.hero-event p { margin: 0; }
.hero-date { border: 1px solid #c5a16e; border-radius: 22px; padding: 12px 20px; font-size: clamp(20px, 1.8vw, 30px); font-weight: 700; white-space: nowrap; }
.hero-main h1 { font-size: clamp(56px, 6.5vw, 110px); line-height: 1.1; font-weight: 700; letter-spacing: -.025em; margin: 0 0 24px; }
.hero-main .hero-subtitle { font-size: clamp(23px, 2.4vw, 40px); line-height: 1.4; margin: 0 0 36px; }
.hero-main .button { background: #c6a170; color: #fff; border: none; border-radius: 20px; font-size: clamp(22px, 2.3vw, 38px); font-weight: 400; padding: 18px 32px; }
.hero-main .button:hover { background: #d4b17f; }
@media(max-width:700px) {
 .header { padding: 22px; }
 .hero-copy { padding: 0 22px 32px; }
 .hero-portrait { height: 62%; max-width: 95%; right: -6%; bottom: 32%; opacity: .85; }
 .hero-main { width: 100%; }
 .hero-event { font-size: 18px; gap: 14px; margin-bottom: 18px; }
 .hero-date { font-size: 18px; padding: 10px 12px; border-radius: 14px; }
 .hero-main h1 { font-size: clamp(42px, 10.7vw, 70px); margin-bottom: 16px; }
 .hero-main .hero-subtitle { font-size: 22px; margin-bottom: 22px; }
 .desktop-break { display: none; }
 .hero-main .button { font-size: 22px; padding: 16px 20px; border-radius: 14px; }
}

.hero-shadow { display: none; }
.om-still, #om-fallback { top: 31%; }

/* A gentle sound pulse around the first-screen action. */
.hero-main .button {
  position: relative;
  overflow: visible;
  animation: hero-button-pulse 3.6s ease-in-out infinite;
}
.hero-main .button::before,
.hero-main .button::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #dfba80;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  animation: hero-button-wave 3.6s ease-out infinite;
}
.hero-main .button::after { animation-delay: 1.8s; }
.is-loading .hero-main .button,
.is-loading .hero-main .button::before,
.is-loading .hero-main .button::after { animation-play-state: paused; }
@keyframes hero-button-wave {
  0% { inset: 0; opacity: 0; }
  12% { opacity: .42; }
  85%, 100% { inset: -22px; border-radius: 40px; opacity: 0; }
}
@keyframes hero-button-pulse {
  0%, 100% { box-shadow: 0 0 0 #d7ae7000; }
  35% { box-shadow: 0 0 26px #d7ae702b; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-main .button,
  .hero-main .button::before,
  .hero-main .button::after { animation: none; }
}

.journey { --pv-travel: 2.8; }
.audience-copy { position: absolute; inset: 0; z-index: 4; color: #25262a; opacity: var(--audience-visibility,0); visibility: visible; pointer-events: none; background: radial-gradient(ellipse at 50% 45%, #e0e2e5e8, #c9ced3ed); }
.audience-inner { padding: clamp(36px,8svh,85px) 8vw; transform: translateY(calc(var(--audience-pan,0px) + 36px * (1 - var(--audience-visibility,0)))); }
.audience-copy h2 { margin: 0 auto clamp(30px,7svh,80px); text-align: center; font-size: clamp(28px,3.2vw,54px); font-weight: 400; line-height: 1.15; letter-spacing: -.02em; }
.audience-grid { display: grid; grid-template-columns: repeat(3,1fr); list-style: none; padding: 0; margin: 0; }
.audience-grid li { padding: clamp(24px,4svh,48px) 2.5vw; border-right: 1px solid #292b3020; }
.audience-grid li:nth-child(3n) { border-right: 0; }
.audience-grid li:nth-child(n+4) { border-top: 1px solid #292b3020; }
.audience-grid strong { display: block; font-size: clamp(20px,1.7vw,28px); font-weight: 500; line-height: 1.2; }
.audience-grid p { margin: 16px 0 0; font-size: clamp(18px,1.45vw,24px); line-height: 1.4; color: #4a4d52; }
@media(max-width:700px) {
 .audience-inner { padding: 34px 22px; }
 .audience-copy h2 { font-size: 28px; margin-bottom: 25px; }
 .audience-grid { grid-template-columns: minmax(0,1fr); }
 .audience-grid li { padding: 18px 0; border: 0; min-width: 0; }
 .audience-grid li:nth-child(odd) { border-right: 0; }
 .audience-grid li:nth-child(n+2) { border-top: 1px solid #292b3020; }
 .audience-grid strong { font-size: 18px; }
 .audience-grid p { font-size: 16px; margin-top: 10px; }
}
@media(prefers-reduced-motion:reduce) {
 .audience-copy { position: relative; opacity: 1; }
 .audience-inner { transform: none; }
}

/* Quiet line icons for the six intentions. */
.audience-icon { display: block; width: 26px; height: 26px; margin-bottom: 14px; color: #777c84; }
@media(max-width:700px) {
 .audience-grid li { position: relative; padding-left: 38px; }
 .audience-icon { position: absolute; left: 0; top: 20px; width: 23px; height: 23px; margin: 0; }
}

/* Shorter reading hold on desktop; keep the full entrance and exit distances. */
@media(min-width:901px) {
 .journey { --pv-travel: 2.1; }
}

/* The valley remains a single scene; the benefits emerge from its particle cloud. */
.valley-copy { color: #fff; text-shadow: 0 1px 16px #34404c28; padding: 0 2.6vw; justify-content: center; }
.valley-copy-inner { width: 33%; max-width: 610px; }
.valley-heading { font-size: clamp(30px,3.55vw,66px); line-height: 1.35; letter-spacing: .005em; font-weight: 400; margin: 0 0 3.3vw; }
.valley-copy-inner p { font-size: clamp(18px,1.75vw,32px); line-height: 1.35; margin: 0 0 2.4vw; }
.valley-copy-inner strong { font-weight: 650; }
.valley-benefits { position: absolute; left: 70%; top: 19%; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; align-items: flex-start; gap: clamp(15px,2.7svh,34px); opacity: var(--valley-visibility,0); }
.valley-benefits li { padding: .24em .43em .3em; border: 1px solid #ffffffd9; border-radius: 23px; background: #52606b1f; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: inset 0 1px 0 #ffffff24,0 8px 25px #28323c08; color: #fff; font-size: clamp(21px,2.15vw,40px); line-height: 1.35; white-space: nowrap; opacity: 0; transform: translate(var(--launch-x, -20vw),var(--launch-y,0px)) scale(.18); filter: blur(6px); transition: transform 1.45s cubic-bezier(.16,1,.3,1), opacity .8s ease, filter 1.2s ease; transition-delay: 0s; }
.valley-copy.benefits-visible .valley-benefits li { opacity: 1; transform: translate(0,0) scale(1); filter: blur(0); transition-delay: var(--benefit-delay,0s); }
@media(max-width:700px) {
 .valley-copy { justify-content: flex-start; padding: 65px 22px 0; }
 .valley-copy-inner { width: 100%; max-width: 460px; }
 .valley-heading { font-size: 29px; line-height: 1.15; margin-bottom: 18px; }
 .valley-copy-inner p { font-size: 16px; margin-bottom: 14px; max-width: 340px; }
 .valley-benefits { left: 22px; right: 22px; top: auto; bottom: 17%; flex-direction: row; flex-wrap: wrap; gap: 9px; }
 .valley-benefits li { font-size: 17px; border-radius: 14px; padding: 7px 11px; }
}
@media(prefers-reduced-motion:reduce) {
 .valley-benefits { opacity: 1; }
 .valley-benefits li { opacity: 1; transform: none; filter: none; transition: none; }
}


/* Mobile copy sits on the foreground of the same valley, below the figure. */
@media(max-width:700px) {
 .valley-copy { justify-content: flex-end; padding: 0 22px max(24px,env(safe-area-inset-bottom)); color: #182129; text-shadow: 0 1px 12px #ffffff50; }
 .valley-copy-inner { width: 100%; max-width: none; }
 .valley-heading { font-size: clamp(24px,6.4vw,30px); line-height: 1.12; margin-bottom: 15px; }
 .valley-copy-inner p { font-size: 15px; line-height: 1.36; max-width: none; margin: 0 0 13px; }
 .valley-benefits { position: static; flex-direction: row; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
 .valley-benefits li { color: #182129; font-size: 14px; padding: 5px 9px; border-radius: 12px; border-color: #ffffffa0; background: #ffffff30; }
}
@media(max-width:700px) and (max-height:740px) {
 .valley-copy { padding: 0 18px 18px; }
 .valley-heading { font-size: 23px; margin-bottom: 10px; }
 .valley-copy-inner p { font-size: 14px; margin-bottom: 10px; }
 .valley-benefits li { font-size: 13px; padding: 4px 8px; }
}

/* On phones the benefits sit between the figure and the explanatory copy. */
@media(max-width:700px) {
 .valley-copy .valley-benefits { order: -1; margin: 0 0 20px; }
}

@media(max-width:700px) {
 .valley-copy { padding-bottom: max(24px, 16svh); }
}

@media(max-width:700px) {
 .valley-copy { padding-bottom: max(24px, 23svh); }
 .valley-copy .valley-benefits li { background: #ffffffe0; border-color: #fff; color: #17222b; font-weight: 500; box-shadow: inset 0 1px 0 #fff, 0 3px 16px #ffffff50; }
 .valley-copy.benefits-visible .valley-benefits li { transition-delay: calc(.9s + var(--benefit-delay,0s)); }
}

/* Keep the mobile copy readable while the valley floor remains visible. */
@media(max-width:700px) {
 .valley-copy-inner { position: relative; isolation: isolate; color: #fff; text-shadow: 0 1px 5px #10182055; }
 .valley-copy-inner::before { content: ""; position: absolute; z-index: -1; inset: -28px -40px -100svh; background: linear-gradient(180deg, transparent 0, #17212b66 65px, #17212b6c 210px); filter: blur(14px); pointer-events: none; }
}

/* Teacher portrait: dark charcoal and the same warm accent as the hero. */
.mentor { position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(28px,4vw,80px); min-height: 90svh; padding: 80px 5vw 60px 3vw; background: #101014; color: #f6f2ea; }
.mentor-visual { position: relative; align-self: stretch; min-height: 600px; display: flex; align-items: flex-end; justify-content: center; }
.mentor-visual::before { content: ""; position: absolute; inset: 10% -10% 0; background: radial-gradient(ellipse,#c6a16a20,transparent 65%); }
.mentor-visual img { position: relative; width: 100%; height: 100%; max-height: 850px; object-fit: contain; object-position: center bottom; mask-image: linear-gradient(#000 72%,transparent 100%); }
.mentor-orbits { position: absolute; width: 105%; aspect-ratio: 1; left: -2.5%; top: 10%; border: 1px solid #c6a16a30; border-radius: 50%; }
.mentor-orbits::before { content: ""; position: absolute; inset: 14%; border: 1px solid #c6a16a20; border-radius: 50%; }
.mentor-orbits i { position: absolute; inset: 0; animation: mentor-orbit 36s linear infinite; }
.mentor-orbits i::before { content: ""; position: absolute; left: 50%; top: -3px; width: 6px; height: 6px; background: #e5c48d; border-radius: 50%; box-shadow: 0 0 16px #e5c48da0; }
.mentor-orbits i+i { inset: 14%; animation-duration: 28s; animation-direction: reverse; }
.mentor-copy { position: relative; padding: 20px 0 45px; }
.mentor h2 { font-size: clamp(38px,4.5vw,78px); letter-spacing: -.035em; line-height: 1.08; font-weight: 500; margin: 0 0 44px; }
.mentor h2 span { color: #c6a16a; }
.mentor-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 38px; }
.mentor-stats>div { border: 1px solid #c6a16a35; background: linear-gradient(140deg,#c6a16a0d,#ffffff02); border-radius: 23px; padding: clamp(20px,2vw,35px); }
.mentor-stats strong { display: block; font-size: clamp(32px,3.5vw,60px); line-height: 1.1; font-weight: 550; color: #d3b17d; white-space: nowrap; }
.mentor-stats p { margin: 20px 0 0; font-size: clamp(15px,1.35vw,22px); line-height: 1.4; color: #b8b4ae; }
.mentor-bio { list-style: none; margin: 0; padding: 0; display: grid; gap: 26px; }
.mentor-bio li { position: relative; padding-left: 27px; font-size: clamp(17px,1.5vw,25px); line-height: 1.5; color: #e4e0da; }
.mentor-bio li::before { content: "✦"; position: absolute; left: 0; top: .15em; font-size: 14px; color: #d3b17d; }
@keyframes mentor-orbit { to { transform: rotate(360deg); } }
@media(max-width:700px) {
 .mentor { grid-template-columns: 1fr; gap: 0; padding: 38px 22px 55px; }
 .mentor-visual { min-height: 0; height: 430px; margin: 0 -8px; }
 .mentor-visual img { width: 100%; }
 .mentor-orbits { width: 100%; left: 0; top: 12%; }
 .mentor-copy { padding: 0; margin-top: -12px; }
 .mentor h2 { font-size: clamp(34px,9vw,46px); margin-bottom: 26px; }
 .mentor-stats { gap: 10px; margin-bottom: 28px; }
 .mentor-stats>div { padding: 18px 12px; border-radius: 17px; }
 .mentor-stats strong { font-size: clamp(27px,7.2vw,37px); }
 .mentor-stats p { font-size: 14px; margin-top: 12px; }
 .mentor-bio { gap: 20px; }
 .mentor-bio li { font-size: 17px; padding-left: 23px; }
}
@media(prefers-reduced-motion:reduce) { .mentor-orbits i { animation: none; } }

/* Three editorial scenes, read in sequence with ordinary smooth scrolling. */
.curriculum { background: #101014; color: #ece8e1; }
.syllabus-heading { padding: 85px 7vw 55px; background: #d9dde0; color: #24292e; }
.syllabus-heading>p { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; margin: 0 0 25px; }
.syllabus-heading h2 { font-size: clamp(55px,7.5vw,115px); line-height: .98; letter-spacing: -.045em; font-weight: 400; }
.syllabus-heading h2 em { font-style: normal; color: #777d80; }
.syllabus-plan { display: flex; gap: 38px; border-top: 1px solid #24292e30; padding-top: 22px; margin-top: 40px; font-size: 17px; }
.syllabus-plan span+span::before { content: "+"; padding-right: 30px; color: #8c7350; }
.syllabus-day { padding: 30px 7vw 85px; position: relative; --day-accent: #d0ad78; --day-muted: #b8b6b2; }
.syllabus-day-1 { background: radial-gradient(ellipse at 14% 30%,#f7f6ef99,transparent 48%),#d9dde0; color: #24292e; --day-accent: #876638; --day-muted: #50585e; }
.day-topline { display: flex; align-items: center; gap: 30px; padding: 20px 0; border-top: 1px solid #88888840; border-bottom: 1px solid #88888840; font-size: 14px; letter-spacing: .03em; }
.day-topline>span:first-child { color: var(--day-accent); }
.day-access { margin-left: auto; border: 1px solid #88888850; border-radius: 30px; padding: 7px 14px; font-size: 12px; }
.day-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6vw; align-items: start; padding-top: 55px; }
.day-art { position: sticky; top: 80px; height: min(70svh,650px); min-height: 380px; }
.day-ordinal { position: absolute; top: 0; left: 0; font-size: clamp(100px,14vw,210px); line-height: .9; font-weight: 300; color: var(--day-accent); opacity: .2; letter-spacing: -.07em; }
.day-art canvas { position: absolute; width: 125%; height: 100%; left: -12.5%; top: 0; }
.day-art-caption { position: absolute; left: 0; bottom: 16px; text-transform: uppercase; letter-spacing: .16em; font-size: 11px; color: var(--day-muted); }
.day-content h3 { font-size: clamp(34px,3.7vw,57px); line-height: 1.08; font-weight: 400; letter-spacing: -.025em; margin: 0 0 24px; }
.day-intro { font-size: 20px; line-height: 1.5; color: var(--day-muted); margin: 0 0 38px; }
.day-content strong { font-weight: 550; }
.curriculum-columns { display: grid; gap: 32px; }
.day-content h4 { font-size: 23px; font-weight: 500; margin: 0 0 17px; }
.curriculum-columns ul { list-style: none; padding: 0; margin: 0; }
.curriculum-columns li { padding: 10px 0 10px 22px; position: relative; border-bottom: 1px solid #88888825; }
.curriculum-columns li::before { content: "·"; position: absolute; left: 0; color: var(--day-accent); font-size: 26px; line-height: 1; }
.day-topics { font-size: 17px; line-height: 1.5; color: var(--day-muted); }
.day-topics h4 { color: inherit; }
.curriculum-questions { padding: 22px 0; margin: 20px 0 0; border-bottom: 1px solid #88888840; }
.curriculum-bonus { display: flex; gap: 22px; align-items: baseline; padding: 22px 0; }
.curriculum-bonus h4 { color: var(--day-accent); font-size: 17px; margin: 0; }
.curriculum-bonus p { margin: 0; }
.day-result { margin-top: 34px; border-left: 2px solid var(--day-accent); padding: 0 0 0 22px; }
.day-result h4 { color: var(--day-accent); font-size: 18px; }
.day-result p { font-size: 18px; line-height: 1.5; margin: 0; }
.day-cta { margin-top: 30px; border-radius: 14px; padding: 16px 22px; background: #25282c; color: #fff; font-size: 16px; }
.full-program-marker { padding: 52px 7vw 25px; display: flex; align-items: center; gap: 28px; color: #d0ad78; background: #101014; }
.full-program-marker>span:first-child { font-size: 27px; white-space: nowrap; }
.full-program-marker p { font-size: 15px; color: #b8b6b2; }
.full-program-line { height: 1px; flex: 1; background: #d0ad7840; }
.syllabus-day-2 { background: radial-gradient(ellipse at 12% 40%,#9c794319,transparent 46%),#101014; }
.syllabus-day-3 { background: radial-gradient(ellipse at 13% 45%,#c6a16a1c,transparent 48%),#171719; }
.day-access-note { color: #d0ad78; font-size: 15px; margin-top: 28px; }
@media(max-width:700px) {
 .syllabus-heading { padding: 55px 22px 24px; }
 .syllabus-heading h2 { font-size: 58px; }
 .syllabus-heading>p { font-size: 10px; line-height: 1.5; }
 .syllabus-plan { flex-direction: column; gap: 9px; font-size: 15px; margin-top: 28px; }
 .syllabus-plan span+span::before { content: none; }
 .syllabus-day { padding: 20px 22px 55px; }
 .day-topline { flex-wrap: wrap; gap: 14px; font-size: 12px; }
 .day-access { margin-left: 0; }
 .day-layout { grid-template-columns: 1fr; gap: 20px; padding-top: 25px; }
 .day-art { position: relative; top: auto; height: 260px; min-height: 0; }
 .day-ordinal { font-size: 115px; }
 .day-art canvas { width: 100%; left: 0; }
 .day-art-caption { bottom: 0; font-size: 10px; }
 .day-content h3 { font-size: 35px; }
 .day-intro { font-size: 18px; margin-bottom: 28px; }
 .day-topics { font-size: 16px; }
 .day-result p { font-size: 17px; }
 .day-content h4 { font-size: 21px; }
 .curriculum-bonus { gap: 15px; }
 .curriculum-bonus h4 { font-size: 17px; }
 .full-program-marker { padding: 38px 22px 18px; flex-wrap: wrap; gap: 5px; }
 .full-program-marker>span:first-child { font-size: 28px; }
 .full-program-marker p { width: 100%; margin: 8px 0; }
 .full-program-line { display: none; }
}

/* Compact program with continuous tonal transitions. */
.syllabus-heading { padding: 110px 7vw 20px; background: linear-gradient(#101014, #d9dde0 100px); }
.syllabus-heading h2 { font-size: clamp(32px,3.4vw,50px); line-height: 1.15; letter-spacing: -.025em; }
.syllabus-day { padding-bottom: 55px; }
.syllabus-day-1 { background: linear-gradient(to bottom,#d9dde0 calc(100% - 115px),#101014); padding-bottom: 145px; }
.syllabus-day-2,.syllabus-day-3 { background: #101014; }
.syllabus-day-3 .day-topline { border-top: 0; }
.day-layout { padding-top: 35px; }
.day-art { height: min(55svh,480px); min-height: 300px; }
.day-intro { margin-bottom: 23px; }
.curriculum-columns { gap: 0; }
.day-accordion { border-bottom: 1px solid #88888840; }
.day-accordion:first-child { border-top: 1px solid #88888840; }
.day-accordion summary { display: flex; justify-content: space-between; align-items: center; gap: 15px; cursor: pointer; list-style: none; padding: 18px 0; font-size: 21px; color: var(--day-accent); }
.day-accordion summary::-webkit-details-marker { display: none; }
.day-accordion summary span { font-size: 26px; font-weight: 300; transition: transform .25s; }
.day-accordion[open] summary span { transform: rotate(45deg); }
.day-accordion-body { padding-bottom: 18px; }
.curriculum-questions { padding: 15px 0; margin-top: 8px; font-size: 15px; }
.curriculum-bonus { padding: 16px 0 0; font-size: 15px; }
.day-result { margin-top: 24px; }
@media(max-width:700px) {
 .syllabus-heading { padding: 85px 22px 15px; background: linear-gradient(#101014,#d9dde0 78px); }
 .syllabus-heading h2 { font-size: 32px; }
 .syllabus-day { padding-bottom: 38px; }
 .syllabus-day-1 { padding-bottom: 115px; background: linear-gradient(to bottom,#d9dde0 calc(100% - 85px),#101014); }
 .day-layout { padding-top: 20px; gap: 18px; }
 .day-art { height: 175px; min-height: 0; }
 .day-ordinal { font-size: 88px; }
 .day-accordion summary { font-size: 19px; padding: 16px 0; }
}

/* An irregular, feathered mist edge echoes the valley scene dissolve. */
.syllabus-heading { position: relative; background: #d9dde0; }
.syllabus-heading::before { content: ""; position: absolute; pointer-events: none; left: 0; right: 0; top: -55px; height: 180px; background: url('/assets/mantras/scene-dissolve.svg') center / 100% 100% no-repeat; }
.syllabus-heading h2 { position: relative; }
.syllabus-day-1 { background: #d9dde0; }
.syllabus-day-1::after { content: ""; position: absolute; pointer-events: none; left: 0; right: 0; bottom: -1px; height: 165px; background: url('/assets/mantras/scene-dissolve.svg') center / 100% 100% no-repeat; transform: rotate(180deg); }
@media(max-width:700px) {
 .syllabus-heading::before { top: -40px; height: 135px; background-size: 180% 100%; }
 .syllabus-day-1::after { height: 125px; background-size: 180% 100%; }
}

/* One shared scene background crossfades with scroll, with no section edge. */
.program-flow { background: rgb(var(--flow-bg,16 16 20)); }
.program-flow .mentor, .program-flow .curriculum,
.program-flow .syllabus-heading, .program-flow .syllabus-day { background: transparent; }
.program-flow .syllabus-heading::before, .program-flow .syllabus-day-1::after { content: none; }
.program-flow .syllabus-heading { padding-top: 40px; }
.program-flow .syllabus-day-1 { padding-bottom: 65px; }
.program-flow .mentor { opacity: var(--mentor-fade,1); }
.program-flow .syllabus-heading, .program-flow .syllabus-day-1 { opacity: var(--light-copy,1); }
.program-flow .syllabus-day-2 { opacity: var(--dark-copy,1); }
@media(max-width:700px) {
 .program-flow .syllabus-heading { padding-top: 28px; }
 .program-flow .syllabus-day-1 { padding-bottom: 45px; }
}
@media(prefers-reduced-motion:reduce) {
 .program-flow .mentor { opacity: 1; }
}

.learning-path { display: block; padding: 0; margin: 30px 0 0; }
.learning-path ol { display: grid; grid-template-columns: repeat(3,1fr); list-style: none; padding: 0; margin: 0; }
.learning-path li { position: relative; border-top: 1px solid #8c735050; padding: 16px 14px 0 0; }
.learning-path li::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #9a8c77; }
.learning-path a { display: block; }
.learning-path small { display: block; color: #60686d; font-size: 12px; margin-bottom: 6px; }
.learning-path span { font-size: clamp(16px,1.7vw,24px); }
.learning-path a[aria-current=step] span { color: #8c642e; }
.day-topline>span:first-child::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--day-accent); margin-right: 12px; opacity: .45; }
.is-current-day .day-topline>span:first-child::before { opacity: 1; box-shadow: 0 0 12px #c6a16a90; }
.day-art { border-left: 1px solid #a38d6c30; }
.day-ordinal { left: 14px; opacity: .12; font-size: clamp(80px,10vw,140px); }
.day-art-caption { left: 14px; }
@media(max-width:700px) {
 .learning-path { margin-top: 24px; }
 .learning-path small { font-size: 10px; }
 .learning-path span { font-size: 14px; line-height: 1.2; display: block; }
 .day-art { height: 245px; }
 .day-ordinal { font-size: 75px; }
}

.day-native { position: absolute; inset: 0 -12.5%; background: radial-gradient(ellipse at 50% 48%,#d9a65019,transparent 64%); }
.day-art .day-native canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.day-native-ready>canvas[data-program-art] { visibility: hidden; }
.day-art-caption { z-index: 1; pointer-events: none; }
@media(max-width:700px) { .day-native { inset: 0; } }

.syllabus-day-1 .day-native { background: radial-gradient(ellipse at 50% 45%,#ffe0a55c,transparent 61%); }

.outcomes { position: relative; padding: 85px 7vw 95px; color: #292d32; opacity: var(--outcomes-copy,0); }
.outcomes h2 { text-align: center; font-size: clamp(32px,3.4vw,52px); font-weight: 400; letter-spacing: -.025em; line-height: 1.15; margin: 0 0 65px; }
.outcomes-grid { list-style: none; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin: 0 auto; padding: 0; max-width: 1360px; }
.outcomes-grid li { grid-column: span 2; padding: 36px 38px 44px; border-right: 1px solid #292b3025; }
.outcomes-grid li:nth-child(3),.outcomes-grid li:last-child { border-right: 0; }
.outcomes-grid li:nth-child(n+4) { grid-column: span 3; border-top: 1px solid #292b3025; }
.outcomes-grid svg { display: block; width: 28px; height: 28px; color: #777e87; margin-bottom: 25px; }
.outcomes-grid p { font-size: clamp(20px,1.7vw,28px); line-height: 1.42; margin: 0; color: #50565d; max-width: 510px; }
.outcomes-grid strong { color: #292d32; font-weight: 550; }
.program-flow .syllabus-day-3 { opacity: var(--third-copy,1); }
@media(max-width:700px) {
 .outcomes { padding: 48px 22px 55px; }
 .outcomes h2 { font-size: 30px; margin-bottom: 30px; }
 .outcomes-grid { grid-template-columns: minmax(0,1fr); }
 .outcomes-grid li,.outcomes-grid li:nth-child(n+4) { grid-column: 1; position: relative; padding: 24px 0 24px 40px; border: 0; }
 .outcomes-grid li+li { border-top: 1px solid #292b3025; }
 .outcomes-grid svg { position: absolute; left: 0; top: 28px; width: 23px; height: 23px; margin: 0; }
 .outcomes-grid p { font-size: 19px; }
}

.outcomes { min-height: 100svh; }

@media(max-width:700px) { .outcomes-grid li:nth-child(n+2) { border-top: 1px solid #292b3025; } }

.program-flow { position: relative; isolation: isolate; }
.program-flow>.mentor,.program-flow>.curriculum,.program-flow>.outcomes { position: relative; z-index: 1; }
.results-dissolve { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
.results-dissolve[hidden] { display: none; }
.results-dissolve canvas { display: block; width: 100%; height: 100%; }

.program-recap { position: relative; z-index: 1; padding: 35px 7vw 100px; color: #292d32; opacity: var(--recap-copy,1); }
.program-recap h2 { font-size: clamp(34px,4.2vw,64px); font-weight: 400; letter-spacing: -.035em; line-height: 1.08; margin: 0 0 54px; }
.recap-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.recap-steps li { position: relative; border-top: 1px solid #8c73504a; padding: 30px 40px 0 0; }
.recap-steps li:last-child { padding-right: 0; }
.recap-steps li::before { content: ""; position: absolute; left: 0; top: -4px; width: 7px; height: 7px; border-radius: 50%; background: #9b7a4b; }
.recap-number { display: block; color: #9b7a4b60; font-size: 68px; font-weight: 300; line-height: 1; margin-bottom: 20px; }
.recap-steps .recap-date { font-size: 13px; text-transform: uppercase; letter-spacing: .09em; color: #80663f; margin-bottom: 12px; }
.recap-steps h3 { font-size: clamp(24px,2.2vw,34px); font-weight: 500; letter-spacing: -.02em; line-height: 1.2; margin: 0 0 24px; }
.recap-steps p { font-size: 18px; line-height: 1.5; margin: 0 0 12px; color: #50565d; }
.recap-steps strong { color: #292d32; font-weight: 550; }
@media(max-width:700px) {
 .program-recap { padding: 25px 22px 55px; }
 .program-recap h2 { font-size: 33px; margin-bottom: 35px; }
 .recap-steps { grid-template-columns: 1fr; }
 .recap-steps li,.recap-steps li:last-child { border-top: 0; border-left: 1px solid #8c73504a; padding: 0 0 32px 24px; }
 .recap-steps li:last-child { padding-bottom: 0; }
 .recap-steps li::before { top: 9px; left: -4px; }
 .recap-number { font-size: 42px; margin-bottom: 12px; }
 .recap-steps h3 { font-size: 26px; margin-bottom: 18px; }
 .recap-steps p { font-size: 17px; }
}

.testimonials { position: relative; z-index: 1; overflow: hidden; padding: 45px 0 85px; color: #292d32; opacity: var(--recap-copy,1); }
.testimonials h2 { text-align: center; padding: 0 22px; font-weight: 400; font-size: clamp(30px,3.3vw,50px); line-height: 1.15; letter-spacing: -.025em; margin: 0 0 50px; }
.reviews-viewport { position: relative; }
.reviews-viewport::before,.reviews-viewport::after { content: ""; position: absolute; top: 0; bottom: 0; width: 9%; pointer-events: none; z-index: 2; }
.reviews-viewport::before { left: 0; background: linear-gradient(90deg,#d9dde0,transparent); }
.reviews-viewport::after { right: 0; background: linear-gradient(-90deg,#d9dde0,transparent); }
.reviews-track { --review-width: 430px; position: relative; display: flex; gap: 26px; overflow-x: auto; padding: 25px max(22px,calc((100% - var(--review-width))/2)) 35px; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; touch-action: pan-x pan-y; user-select: none; perspective: 1600px; }
.reviews-track::-webkit-scrollbar { display: none; }
.reviews-track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.review-card { flex: 0 0 var(--review-width); min-height: 420px; padding: 30px 32px; display: flex; flex-direction: column; border-radius: 27px; border: 1px solid #ffffffa0; background: radial-gradient(ellipse at top left,#e7d3b244,transparent 65%),#f1f2f1; box-shadow: 0 14px 35px #20252b0c; scroll-snap-align: center; transform: rotateY(var(--review-angle,0deg)) scale(var(--review-scale,1)); opacity: var(--review-opacity,1); filter: blur(var(--review-blur,0px)); transform-origin: center; }
.review-quote { color: #b49565; font-size: 66px; line-height: .9; height: 53px; font-family: Georgia,serif; }
.review-card h3 { font-size: 24px; line-height: 1.2; font-weight: 550; margin: 14px 0 18px; }
.review-card p { font-size: 18px; line-height: 1.5; color: #555b62; margin: 0 0 25px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 7; overflow: hidden; }
.review-card button { cursor: pointer; align-self: flex-start; margin-top: auto; padding: 8px 0; border: 0; border-bottom: 1px solid #9a815650; background: transparent; color: #84683f; font-size: 16px; }
.review-card button span { margin-left: 15px; }
.reviews-controls { display: flex; align-items: center; justify-content: center; gap: 26px; margin-top: 28px; }
.reviews-controls button { border: 1px solid #292d3235; width: 48px; height: 48px; border-radius: 50%; font-size: 27px; background: transparent; cursor: pointer; }
.reviews-controls button:disabled { opacity: .25; cursor: default; }
.review-dialog { background: #f0f1f0; color: #292d32; width: min(660px,calc(100vw - 32px)); max-height: 85svh; border: 1px solid #ffffff90; border-radius: 24px; padding: 40px; overflow-y: auto; }
.review-dialog::backdrop { background: #101014a8; backdrop-filter: blur(8px); }
.review-close { position: sticky; top: 0; float: right; border: 0; border-radius: 50%; background: #e1e3e3; width: 38px; height: 38px; font-size: 27px; cursor: pointer; }
.review-dialog-label { font-size: 12px; color: #88704c; text-transform: uppercase; letter-spacing: .08em; margin: 0 45px 18px 0; }
.review-dialog h2 { font-size: 30px; line-height: 1.15; letter-spacing: -.02em; margin: 0 0 26px; }
.review-full-text p { font-size: 18px; line-height: 1.65; margin: 0 0 18px; white-space: pre-line; }
@media(max-width:700px) {
 .testimonials { padding: 30px 0 55px; }
 .testimonials h2 { font-size: 28px; margin-bottom: 25px; }
 .reviews-track { --review-width: 82vw; gap: 16px; }
 .review-card { padding: 25px 24px; min-height: 435px; border-radius: 22px; }
 .review-card h3 { font-size: 22px; }
 .review-card p { font-size: 17px; }
 .reviews-viewport::before,.reviews-viewport::after { width: 4%; }
 .review-dialog { padding: 25px; }
}
@media(prefers-reduced-motion:reduce) { .review-card { transform: none; filter: none; } }

/* A typographic pause between participant stories and the offer. */
.readiness { position: relative; isolation: isolate; display: grid; place-items: center; min-height: min(780px,90svh); padding: 110px 28px 125px; background: #101014; color: #f3f1ec; text-align: center; }
.readiness::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 50% 50%,#b4956512,transparent 65%); }
.readiness h2 { max-width: 1120px; margin: 0; font-weight: 400; letter-spacing: -.035em; }
.readiness-lead { display: block; font-size: clamp(46px,7.1vw,100px); line-height: 1.04; margin-bottom: 36px; }
.readiness-question { display: block; font-size: clamp(29px,3.65vw,52px); line-height: 1.24; }
.readiness-accent { color: #dfc291; }
@media(max-width:700px) {
 .readiness { min-height: 620px; min-height: min(720px,90svh); padding: 85px 24px 95px; }
 .readiness-lead { font-size: clamp(40px,11vw,65px); margin-bottom: 30px; }
 .readiness-question { font-size: clamp(26px,7.1vw,36px); line-height: 1.3; }
 .readiness-break { display: none; }
}

/* Shared shader supplies the backdrop during the reviews-to-question handover. */
.program-flow > .readiness { z-index: 1; background: transparent; }
.readiness::before { content: none; }
.readiness h2 { position: relative; width: 100%; max-width: 1100px; font-size: clamp(30px,4.2vw,60px); line-height: 1.22; }
.readiness-lead,.readiness-question { display: inline; font-size: inherit; line-height: inherit; margin: 0; }
.readiness-lead::after { content: " "; }


.readiness-particles { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
@media(max-width:700px) { .readiness h2 { font-size: clamp(27px,7.2vw,38px); line-height: 1.3; } }
@media(prefers-reduced-motion:reduce) { .readiness h2 > span { transition: none; } }

.readiness-word { display: inline-block; transition: none; }
.readiness-particles { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.pricing { position: relative; background: #101014; color: #f1eee8; padding: 65px max(28px,calc((100vw - 1240px)/2)) 105px; }
.pricing>h2 { font-size: clamp(32px,4.1vw,58px); font-weight: 400; line-height: 1.1; letter-spacing: -.035em; text-align: center; margin: 0 0 58px; }
.pricing-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
.price-card { display: flex; flex-direction: column; padding: 40px; border: 1px solid #ffffff24; border-radius: 26px; background: linear-gradient(145deg,#ffffff08,transparent 65%),#151519; }
.price-card-full { border-color: #c9aa706e; background: radial-gradient(ellipse at 100% 0,#b7955625,transparent 65%),#19191c; }
.price-date { color: #c4a575; font-size: 14px; letter-spacing: .06em; margin: 0 0 20px; }
.price-heading h3 { font-size: clamp(28px,2.8vw,40px); line-height: 1.12; font-weight: 450; letter-spacing: -.02em; margin: 0; }
.price-heading { border-bottom: 1px solid #ffffff1c; padding-bottom: 30px; }
.price-features { list-style: none; padding: 28px 0 34px; margin: 0; display: grid; gap: 16px; color: #bcbcc2; font-size: 17px; line-height: 1.5; }
.price-features li { position: relative; padding-left: 24px; }
.price-features li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #bba176; font-size: 15px; }
.price-features strong { font-weight: 500; color: #ebe8e3; }
.price-features .price-extra strong { color: #e4cda6; }
.price-bottom { margin-top: auto; padding-top: 28px; border-top: 1px solid #ffffff1c; }
.price-value { font-size: clamp(42px,4vw,56px); font-weight: 450; letter-spacing: -.035em; line-height: 1.1; margin: 0 0 18px; }
.price-value>span { display: block; font-size: 14px; font-weight: 400; color: #a3a2aa; letter-spacing: 0; margin-bottom: 10px; }
.price-value small { font-size: .58em; }
.price-club { margin: 0 0 26px; color: #aaa8af; font-size: 15px; line-height: 1.5; }
.price-club strong { color: #dec69e; white-space: nowrap; font-weight: 500; margin-left: 8px; }
.price-button { display: flex; justify-content: space-between; align-items: center; gap: 15px; width: 100%; min-height: 58px; padding: 16px 22px; border-radius: 12px; border: 1px solid #c6ab7b80; background: transparent; color: #e8d5b5; font: inherit; font-size: 17px; cursor: pointer; transition: background .2s,transform .2s; }
.price-card-full .price-button { background: #dcc29a; color: #1b1a18; border-color: #dcc29a; }
.price-button:hover { background: #c6ab7b23; transform: translateY(-2px); }
.price-card-full .price-button:hover { background: #ebd6b6; }
.places { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 28px 55px; margin-top: 44px; padding: 38px 40px; border: 1px solid #d9a36e55; border-radius: 24px; background: radial-gradient(ellipse at 90% 50%,#b8662820,transparent 70%),#1b1919; }
.places-label { display: flex; gap: 10px; align-items: center; font-size: 12px; letter-spacing: .07em; color: #d9b58b; margin: 0 0 15px; }
.places-label>span { flex: 0 0 7px; height: 7px; border-radius: 50%; background: #efb777; box-shadow: 0 0 14px #e9a65780; }
.places h3 { font-size: clamp(25px,2.6vw,36px); font-weight: 400; line-height: 1.15; margin: 0; }
.places-caption { color: #bfb2a4; font-size: 14px; margin: 0; }
.places-number { display: flex; align-items: baseline; gap: 16px; margin: 0 0 13px; }
#places-remaining { font-size: clamp(64px,6.7vw,90px); line-height: 1.15; letter-spacing: -.06em; font-variant-numeric: tabular-nums; color: #f1c38d; }
.places-total { font-size: 17px; color: #c1b5a8; }
.places-bar { height: 5px; background: #ffffff12; border-radius: 5px; overflow: hidden; }
.places-bar>span { display: block; height: 100%; width: 54.65%; background: linear-gradient(90deg,#9d673b,#f1c38d); transition: width .7s; border-radius: inherit; }
.places-actions { grid-column: 1/-1; display: flex; gap: 30px; padding-top: 22px; border-top: 1px solid #d9a36e25; }
.places-actions button { background: none; border: 0; border-bottom: 1px solid #d9a36e55; color: #e0c39d; padding: 0 0 6px; font: inherit; font-size: 16px; cursor: pointer; }
.club-terms { display: grid; grid-template-columns: 1fr 1.5fr; gap: 45px; padding: 40px 0 0; margin-top: 40px; border-top: 1px solid #ffffff20; }
.club-terms h3 { font-size: 25px; font-weight: 400; line-height: 1.3; margin: 0; }
.club-terms p { font-size: 17px; line-height: 1.6; color: #aaa8af; margin: 0 0 12px; }
.club-terms strong { color: #ddd5c9; font-weight: 450; }
.pricing-dialog { width: min(480px,calc(100vw - 32px)); padding: 35px; border: 1px solid #bba17665; border-radius: 22px; background: #19191c; color: #f1eee8; }
.pricing-dialog::backdrop { background: #0009; backdrop-filter: blur(8px); }
.pricing-dialog h2 { font-size: 30px; line-height: 1.15; margin-bottom: 20px; }
.pricing-dialog form>p:not(.price-date) { color: #bcbcc2; line-height: 1.6; margin-bottom: 28px; }
@media(max-width:760px) {
 .pricing { padding: 40px 20px 70px; }
 .pricing>h2 { margin-bottom: 32px; }
 .pricing-grid { grid-template-columns: 1fr; gap: 22px; }
 .price-card { padding: 28px 23px; border-radius: 20px; }
 .price-features { font-size: 16px; gap: 14px; }
 .price-heading h3 { font-size: 32px; }
 .price-club strong { display: block; margin-left: 0; font-size: 20px; margin-top: 5px; }
 .places { grid-template-columns: 1fr; gap: 24px; padding: 28px 23px; margin-top: 28px; }
 .places-label { font-size: 10px; }
 .places-actions { flex-direction: column; align-items: flex-start; gap: 18px; }
 .club-terms { grid-template-columns: 1fr; gap: 22px; margin-top: 32px; padding-top: 30px; }
 .club-terms h3 br { display: none; }
 .club-terms p { font-size: 16px; }
}

/* Compact tariff headings and luminous date badges. */
.price-card { position: relative; }
.price-heading { padding-top: 44px; }
.price-heading .price-date { position: absolute; top: 22px; right: 24px; margin: 0; padding: 8px 13px; border: 1px solid #d9bc8766; border-radius: 999px; background: #b58a3c25; color: #edcf9b; box-shadow: 0 0 22px #c49a4920,inset 0 0 12px #e5be7020; font-size: 13px; line-height: 1.2; letter-spacing: .025em; }
.price-card-full .price-date { color: #f9ddb0; background: #b58a3c38; box-shadow: 0 0 25px #d9ac4f32,inset 0 0 12px #e5be7025; }
.price-heading h3 { white-space: nowrap; font-size: clamp(22px,2.2vw,31px); letter-spacing: -.035em; }
.price-features li::before { content: ""; width: 6px; height: 6px; top: .62em; border-radius: 50%; background: #c8a574; box-shadow: 0 0 7px #d7b37a30; }
.price-features .price-extra::before { background: #f1cb8c; box-shadow: 0 0 10px #e8b86965; }
.price-button { justify-content: center; text-align: center; }
.places-actions button { text-align: center; }
@media(max-width:760px) {
 .price-heading { padding-top: 42px; }
 .price-heading .price-date { top: 18px; right: 20px; font-size: 12px; }
 .price-heading h3 { font-size: clamp(19px,5.3vw,31px); }
}
/* A warm, luminous availability accent with a sparkler at the remaining edge. */
.places { padding: 44px; gap: 28px 65px; border-color: #dfaf716e; background: radial-gradient(ellipse at 75% 20%,#c184392e,transparent 70%),linear-gradient(135deg,#24201b,#181719); box-shadow: 0 0 55px #b9822610,inset 0 1px 0 #f4d3a12b; }
.places-label { color: #eac58f; }
.places h3 { font-size: clamp(28px,3vw,42px); max-width: 430px; }
#places-remaining { font-size: clamp(80px,8vw,112px); color: #ffe0a8; text-shadow: 0 0 35px #e9ab4c30; }
.places-number { margin-bottom: 24px; }
.places-bar { position: relative; height: 8px; overflow: visible; background: #ffffff12; margin-bottom: 12px; }
.places-bar>span { position: relative; background: linear-gradient(90deg,#a6783c,#e6b66d 75%,#ffe6ac); box-shadow: 0 0 16px #f0bd5d35; }
.places-bar>span::after { content: ""; position: absolute; right: -4px; top: 0; width: 8px; height: 8px; border-radius: 50%; background: #fff1cf; box-shadow: 0 0 8px #ffe4a8,0 0 22px #ffba5b; }
.places-bar.is-empty>span::after { display: none; }
.places-sparks { position: absolute; pointer-events: none; left: 0; top: -51px; width: 100%; height: 110px; }
.places-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-top: 28px; }
.places-actions button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 58px; padding: 16px 22px; border: 1px solid #dcc29a; border-radius: 12px; background: #dcc29a; color: #1b1a18; font-size: 17px; text-align: center; transition: background .2s,transform .2s; }
.places-actions button:hover { background: #ebd6b6; transform: translateY(-2px); }
@media(max-width:760px) {
 .places { padding: 28px 23px; gap: 28px; }
 .places h3 { font-size: 30px; }
 .places-actions { grid-template-columns: 1fr; gap: 12px; padding-top: 24px; }
}
@media(prefers-reduced-motion:reduce) { .places-sparks { display: none; } .places-actions button { transition: none; } }
.secret-club { position: relative; isolation: isolate; background: #101014; padding: 150px max(28px,calc((100vw - 1160px)/2)) 120px; color: #f3efff; }
.secret-club::before { content: none; }
.club-dissolve { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: #101014; }
.club-dissolve canvas { display: block; width: 100%; height: 100%; }
.club-dissolve.is-ready { background: transparent; }
.club-dissolve[hidden] { display: none; }
.club-inner { position: relative; z-index: 1; opacity: var(--club-copy,1); }
.club-member-info { display: grid; grid-template-columns: 1fr 1.65fr; gap: 60px; padding-bottom: 44px; margin-bottom: 65px; border-bottom: 1px solid #c7aaff38; }
.club-member-info h3 { margin: 0; font-size: 27px; line-height: 1.25; font-weight: 450; }
.club-member-info p { font-size: 18px; line-height: 1.55; color: #c2bad5; margin: 0 0 15px; }
.club-member-info strong { color: #ede4ff; font-weight: 500; }
.club-invitation { text-align: center; max-width: 1000px; margin: auto; }
.club-eyebrow { font-size: 12px; letter-spacing: .24em; color: #bd9af5; margin: 0 0 24px; }
.club-invitation h2 { font-size: clamp(32px,3.7vw,54px); font-weight: 400; line-height: 1.15; letter-spacing: -.025em; margin: 0 0 30px; }
.club-invitation h2 span { color: #ccb2ff; }
.club-intro { max-width: 780px; margin: 0 auto 35px; color: #c1b7d5; font-size: 20px; line-height: 1.55; }
.club-intro strong { font-weight: 450; color: #efe7ff; }
.club-saving-label { font-size: 16px; color: #c7bbdf; margin: 0 0 22px; }
.club-savings { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 740px; margin: auto; text-align: left; }
.club-savings>div { position: relative; padding: 25px 28px; border: 1px solid #b18de355; border-radius: 18px; background: #24163c80; backdrop-filter: blur(10px); }
.club-savings p { margin: 0 0 12px; color: #d2c2ec; font-size: 16px; }
.club-savings strong { font-size: 48px; line-height: 1; font-weight: 450; letter-spacing: -.03em; }
.club-savings small { font-size: 27px; }
.club-savings span { float: right; margin-top: 13px; border-radius: 999px; padding: 5px 10px; background: #b68bff26; color: #dbc4ff; font-size: 15px; }
.club-conclusion { max-width: 690px; font-size: 19px; line-height: 1.5; margin: 30px auto; color: #e2d7f3; }
.club-join { display: inline-flex; justify-content: center; align-items: center; min-height: 62px; padding: 18px 35px; border: 1px solid #d3aaff99; border-radius: 12px; background: linear-gradient(115deg,#8750ce,#a26ee6); box-shadow: 0 0 35px #9b56ed33,inset 0 1px 0 #ffffff33; color: #fff; font-size: 18px; text-decoration: none; transition: box-shadow .2s,transform .2s; }
.club-join:hover { box-shadow: 0 0 45px #a66aff66; transform: translateY(-2px); }
@media(max-width:760px) {
 .secret-club { padding: 100px 24px 80px; background-position: 45% center; }
 .club-member-info { grid-template-columns: 1fr; gap: 22px; margin-bottom: 45px; padding-bottom: 30px; }
 .club-member-info h3 { font-size: 24px; }
 .club-member-info p { font-size: 16px; }
 .club-invitation h2 { font-size: 32px; }
 .club-intro { font-size: 18px; }
 .club-savings { grid-template-columns: 1fr; gap: 14px; }
 .club-savings>div { padding: 23px; }
 .club-conclusion { font-size: 17px; }
 .club-join { width: 100%; padding: 18px; font-size: 16px; }
}
@media(prefers-reduced-motion:reduce) { .club-join { transition: none; } }

/* Centered club introduction and compact savings. */
.club-member-info { display: block; text-align: center; max-width: 860px; margin: 0 auto 48px; padding-bottom: 34px; }
.club-member-info h3 { margin-bottom: 22px; }
.club-member-info p { max-width: 770px; margin: 0 auto 12px; }
.club-savings { max-width: 620px; gap: 16px; }
.club-savings>div { padding: 19px 22px; border-radius: 15px; }
.club-savings p { font-size: 15px; margin-bottom: 12px; }
.club-savings strong { font-size: 39px; }
.club-savings small { font-size: 23px; }
.club-savings span { margin-top: 5px; padding: 7px 11px; background: #934fe1; color: #fff; border: 1px solid #cd9aff99; box-shadow: 0 0 18px #a25bf74d; font-size: 16px; font-weight: 500; }
.club-reveal { opacity: var(--club-reveal,1); transform: translateY(var(--club-rise,0px)); will-change: opacity,transform; }
@media(max-width:760px) {
 .club-member-info { margin-bottom: 35px; padding-bottom: 26px; }
 .club-member-info h3 { margin-bottom: 18px; }
 .club-savings { max-width: 380px; gap: 12px; }
 .club-savings>div { padding: 17px 20px; }
 .club-savings strong { font-size: 36px; }
}
@media(prefers-reduced-motion:reduce) { .club-reveal { transform: none; opacity: 1; } }

/* Two-column club invitation, with member terms separated below. */
.secret-club { padding: 130px max(28px,calc((100vw - 1240px)/2)) 100px; }
.club-main { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: start; }
.club-invitation { text-align: left; margin: 0; max-width: none; }
.club-invitation h2 { font-size: clamp(43px,4.9vw,70px); line-height: 1.08; font-weight: 500; letter-spacing: -.04em; margin: 0 0 22px; }
.club-subtitle { font-size: clamp(20px,1.85vw,26px); line-height: 1.4; margin: 0 0 32px; color: #f1e9ff; }
.club-benefits { list-style: none; margin: 0 0 38px; padding: 0; display: grid; gap: 16px; }
.club-benefits li { position: relative; padding-left: 26px; font-size: 21px; line-height: 1.4; color: #e0d7ed; }
.club-benefits li::before { content: ""; position: absolute; left: 0; top: .53em; width: 8px; height: 8px; border-radius: 50%; background: #bf91f1; box-shadow: 0 0 12px #b97df840; }
.club-join { min-height: 62px; width: 100%; max-width: 460px; font-size: 20px; padding: 17px 25px; background: linear-gradient(115deg,#8b36df,#a448ee); }
.club-conclusion { text-align: left; font-size: 16px; line-height: 1.5; margin: 17px 0 0; color: #bbadcf; }
.club-economy { border: 1px solid #bc8af384; border-radius: 22px; padding: 35px 36px 12px; background: linear-gradient(135deg,#48235c5c,#21142b9c); box-shadow: inset 0 1px 0 #ffffff0d; backdrop-filter: blur(14px); }
.club-economy h3 { font-size: clamp(30px,3vw,43px); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 0 0 12px; }
.club-saving-label { font-size: 19px; color: #c7a7e7; margin: 0 0 13px; }
.club-savings { display: block; max-width: none; margin: 0; }
.club-savings>div { padding: 28px 0; background: none; border: 0; border-radius: 0; backdrop-filter: none; }
.club-savings>div+div { border-top: 1px solid #b98ce94d; }
.club-savings p { font-size: 20px; color: #eee6f8; margin: 0 0 14px; }
.club-savings strong { font-size: clamp(44px,4.5vw,64px); font-weight: 500; }
.club-savings small { font-size: .75em; }
.club-savings span { margin-top: 13px; padding: 8px 13px; font-size: 19px; border-radius: 10px; background: #9636e6; }
.club-member-info { display: grid; grid-template-columns: 1.05fr 1.2fr 1.2fr; gap: 30px; align-items: center; max-width: none; text-align: left; margin: 64px 0 0; padding: 30px 0 0; border-bottom: 0; border-top: 1px solid #b28bd76b; }
.club-member-info h3 { font-size: 25px; font-weight: 500; margin: 0; }
.club-member-info p { max-width: none; margin: 0; padding-left: 28px; border-left: 1px solid #b28bd74d; font-size: 15px; line-height: 1.5; color: #d3c6df; }
@media(max-width:1000px) and (min-width:761px) {
 .club-main { gap: 32px; }
 .club-economy { padding: 28px 24px 8px; }
 .club-benefits li { font-size: 18px; }
 .club-savings p { font-size: 17px; }
 .club-savings span { font-size: 15px; padding: 7px 9px; }
}
@media(max-width:760px) {
 .secret-club { padding: 90px 24px 75px; }
 .club-main { grid-template-columns: 1fr; gap: 34px; }
 .club-invitation h2 { font-size: clamp(40px,10.8vw,64px); margin-bottom: 18px; }
 .club-subtitle { font-size: 20px; margin-bottom: 25px; }
 .club-benefits { gap: 13px; margin-bottom: 26px; }
 .club-benefits li { font-size: 18px; padding-left: 22px; }
 .club-join { max-width: none; font-size: 18px; padding: 16px; }
 .club-conclusion { font-size: 15px; }
 .club-economy { padding: 26px 24px 4px; border-radius: 18px; }
 .club-economy h3 { font-size: 32px; }
 .club-saving-label { font-size: 16px; margin-bottom: 4px; }
 .club-savings>div { padding: 23px 0; }
 .club-savings p { font-size: 17px; }
 .club-savings strong { font-size: 44px; }
 .club-savings span { font-size: 16px; margin-top: 8px; padding: 7px 11px; }
 .club-member-info { grid-template-columns: 1fr; gap: 20px; margin-top: 38px; padding-top: 28px; }
 .club-member-info h3 { font-size: 24px; }
 .club-member-info p { border-left: 0; padding-left: 0; font-size: 16px; }
}

/* Closing FAQ: native keyboard-accessible disclosure controls. */
.faq { position: relative; background: #101014; color: #f4efe8; padding: 110px max(24px,calc((100vw - 1240px)/2)) 120px; }
.faq-inner { max-width: 1040px; margin: 0 auto; }
.faq-label { margin: 0 0 22px; color: #cbb08b; font-size: 12px; letter-spacing: .18em; }
.faq h2 { margin: 0 0 56px; font-size: clamp(36px,4.5vw,64px); font-weight: 500; line-height: 1.1; letter-spacing: -.04em; }
.faq-list { border-top: 1px solid #dcc29a40; }
.faq-item { border-bottom: 1px solid #dcc29a40; }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px 0; cursor: pointer; list-style: none; font-size: clamp(18px,1.6vw,23px); font-weight: 500; line-height: 1.45; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: #dcc29a; }
.faq-item summary:focus-visible { outline-color: #dcc29a; outline-offset: 6px; border-radius: 2px; }
.faq-icon { position: relative; flex: 0 0 32px; height: 32px; border: 1px solid #dcc29a60; border-radius: 50%; color: #dcc29a; }
.faq-icon::before,.faq-icon::after { content: ''; position: absolute; width: 12px; height: 1px; background: currentColor; left: 9px; top: 15px; }
.faq-icon::after { transform: rotate(90deg); }
.faq-item[open] .faq-icon::after { transform: rotate(0); }
.faq-answer { max-width: 880px; padding: 0 60px 30px 0; color: #bdb8b5; font-size: 17px; line-height: 1.8; }
.faq-answer p { margin: 0; }
@media(max-width:760px) {
 .faq { padding: 76px 24px 80px; }
 .faq h2 { margin-bottom: 36px; }
 .faq-item summary { gap: 16px; padding: 23px 0; font-size: 18px; }
 .faq-answer { padding: 0 0 25px; font-size: 16px; line-height: 1.7; }
}
