:root {
  --navy: #451b30;
  --navy-deep: #301121;
  --blue: #8b769b;
  --teal: #71714d;
  --gold: #c95a46;
  --gold-light: #e9b7a2;
  --cream: #f8f6f1;
  --ink: #3b3035;
  --white: #ffffff;
  --muted: #75666b;
  --line: rgba(69, 27, 48, .16);
  --shadow: 0 22px 80px rgba(48, 17, 33, .22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Manrope, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.6; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; transform: translateY(-160%); padding: .7rem 1rem; background: white; color: var(--ink); border-radius: 999px; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: absolute; inset: 0 0 auto; z-index: 10; display: flex; align-items: center; max-width: 1220px; width: calc(100% - 3rem); margin: 0 auto; padding: 1.25rem 0; color: white; }
.brand { width: 46px; height: 46px; }
.brand img { display: block; width: 100%; height: 100%; object-fit: contain; }

.button { border: 0; border-radius: 999px; background: var(--gold); color: #ffffff; font-weight: 800; box-shadow: 0 10px 30px rgba(201, 90, 70, .22); transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--gold-light); box-shadow: 0 14px 34px rgba(201, 90, 70, .32); }
.button:focus-visible, .modal-close:focus-visible { outline: 3px solid white; outline-offset: 3px; }
.button--small { padding: .8rem 1.35rem; font-size: .9rem; }
.button--hero { min-width: min(100%, 370px); padding: 1.08rem 1.8rem; font-size: 1.05rem; }

.hero { position: relative; min-height: 100svh; overflow: hidden; color: white; background:
  linear-gradient(118deg, rgba(69, 27, 48, .96) 0%, rgba(113, 91, 113, .95) 52%, rgba(201, 90, 70, .95) 115%),
  var(--navy); }
.hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.15) 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.4), transparent 70%); opacity: .45; }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(to top, rgba(48,17,33,.34), transparent); pointer-events: none; }
.hero-inner { position: relative; z-index: 2; width: min(1180px, calc(100% - 2rem)); min-height: 100svh; margin: 0 auto; padding: 5.75rem 0 5.5rem; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; }
.hero-confirmation { display: flex; flex-direction: column; align-items: center; margin-bottom: 3.5rem; }
.success-chip { display: inline-flex; align-items: center; gap: .6rem; margin-bottom: .75rem; padding: .55rem 1rem; border: 1px solid rgba(255,255,255,.45); border-radius: 999px; background: rgba(255,255,255,.12); backdrop-filter: blur(10px); font-size: .76rem; font-weight: 800; letter-spacing: .16em; }
.success-chip span { display: grid; place-items: center; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--gold); color: var(--navy-deep); letter-spacing: 0; }
.eyebrow { margin: 0 0 1rem; font-size: .78rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #e9b7a2; }
.eyebrow--ink { color: #a34133; }
.hero-notice { max-width: 820px; margin-bottom: 0; color: rgba(255,255,255,.78); font-size: .86rem; font-weight: 600; letter-spacing: .01em; line-height: 1.45; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 1160px; margin-bottom: 1.25rem; font-size: clamp(3.25rem, 7vw, 6.35rem); line-height: .9; letter-spacing: -.065em; font-weight: 560; }
h1 em { color: var(--gold-light); font-style: normal; }
.hero-title { display: flex; flex-direction: column; align-items: center; }
.hero-title-line { display: block; width: max-content; max-width: 100%; white-space: nowrap; }
.hero-title-three { margin-top: .25em; color: white; font-size: .72em; line-height: 1; letter-spacing: -.055em; font-weight: 600; }
.hero-lede { max-width: 760px; margin-bottom: 2rem; font-size: clamp(1.06rem, 2.2vw, 1.28rem); line-height: 1.6; color: rgba(255,255,255,.9); }
.hero-checklist-frame { width: min(680px, 100%); margin: 0 0 1.5rem; padding: 1.15rem 1.35rem; border: 1px solid rgba(255,255,255,.26); border-radius: 22px; background: rgba(48, 17, 33, .2); backdrop-filter: blur(12px); }
.hero-checklist { width: max-content; max-width: 100%; display: grid; grid-template-columns: 1fr; gap: .72rem; margin: 0 auto; padding: 0; list-style: none; text-align: left; }
.hero-checklist li { position: relative; padding-left: 1.85rem; color: rgba(255,255,255,.92); font-size: .875rem; font-weight: 650; line-height: 1.4; }
.hero-checklist li::before { content: "✓"; position: absolute; left: 0; top: .02rem; display: grid; place-items: center; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--gold); color: var(--navy-deep); font-size: .72rem; font-weight: 900; }
.microcopy { margin: .8rem 0 0; font-size: .79rem; color: rgba(255,255,255,.68); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .55; }
.hero-orb--one { width: 38vw; height: 38vw; left: -18vw; top: 20%; border: 1px solid rgba(255,255,255,.26); box-shadow: inset 0 0 90px rgba(255,255,255,.06); }
.hero-orb--two { width: 22vw; height: 22vw; right: -7vw; top: 28%; border: 1px solid rgba(255,255,255,.2); }
.scroll-cue { position: absolute; z-index: 3; bottom: 1.15rem; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: .7rem; font-size: .66rem; font-weight: 800; letter-spacing: .17em; color: rgba(255,255,255,.58); }
.scroll-cue span { width: 1px; height: 26px; background: rgba(255,255,255,.48); }

.registration-reminder { border-bottom: 1px solid rgba(69,27,48,.12); background: #f8f6f1; }
.registration-reminder-inner { min-height: 58px; display: flex; align-items: center; justify-content: center; gap: .7rem; padding-block: .75rem; text-align: center; }
.registration-reminder-icon { display: grid; flex: 0 0 auto; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #eae6de; color: #71714d; font-size: .72rem; font-weight: 900; }
.registration-reminder p { margin: 0; color: #75666b; font-size: .82rem; line-height: 1.45; }
.registration-reminder strong { color: var(--ink); }

.section-shell { width: min(1160px, calc(100% - 3rem)); margin: 0 auto; }
.intro { padding: clamp(5rem, 10vw, 8rem) 0; }
.intro-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.intro h2 { max-width: 560px; margin-bottom: 1.5rem; font-size: clamp(2.5rem, 4.7vw, 4.3rem); line-height: 1.02; letter-spacing: -.05em; font-weight: 560; }
.intro-copy { padding: 0; font-size: 1.12rem; color: #75666b; }
.intro-copy p:last-child { color: var(--ink); font-weight: 800; }
.connection-visual { position: relative; width: min(100%, 480px); height: auto; aspect-ratio: 4 / 3; justify-self: center; margin: 0; overflow: hidden; border-radius: 26px; background: var(--navy); box-shadow: 0 30px 90px rgba(69,27,48,.2); }
.connection-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(48,17,33,.9), transparent 62%); }
.connection-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 43% center; }
.connection-visual figcaption { position: absolute; z-index: 1; right: 2rem; bottom: 2rem; left: 2rem; width: auto; color: white; }
.connection-visual figcaption span { display: block; margin-bottom: .8rem; font-size: .69rem; font-weight: 800; letter-spacing: .16em; color: #e9b7a2; }
.connection-visual figcaption strong { display: block; font-size: clamp(1.8rem, 3.2vw, 3.25rem); line-height: 1.05; letter-spacing: -.04em; }

.section-heading { max-width: 820px; margin-bottom: 3.5rem; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading h2, .offer-copy h2, .team-copy h2, .best-fit h2, .value-copy h2, .faq-heading h2, .final-cta h2 { margin-bottom: 1.25rem; font-size: clamp(2.45rem, 5vw, 4.65rem); line-height: 1.02; letter-spacing: -.05em; font-weight: 560; }
.section-heading > p:last-child { max-width: 690px; margin-inline: auto; color: rgba(255,255,255,.74); font-size: 1.08rem; }

.vip-details { position: relative; padding: clamp(5.5rem, 10vw, 8.5rem) 0; color: white; background: var(--navy); overflow: hidden; }
.vip-details::before { content: ""; position: absolute; inset: 0; background: linear-gradient(130deg, rgba(139,118,155,.3), transparent 45%, rgba(113,113,77,.25)); }
.vip-details .section-shell { position: relative; z-index: 1; }
.vip-value-grid { display: grid; grid-template-columns: 1.16fr .84fr; gap: clamp(3rem, 8vw, 7rem); align-items: start; }
.vip-value-copy h2 { max-width: 720px; margin-bottom: 1.3rem; font-size: clamp(2.8rem, 5.4vw, 5.2rem); line-height: .98; letter-spacing: -.055em; font-weight: 560; }
.vip-schedule { display: flex; align-items: center; gap: 1rem; max-width: 690px; margin: 1.6rem 0; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(255,255,255,.07); }
.vip-schedule-icon { display: grid; flex: 0 0 auto; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--gold); color: var(--navy-deep); font-size: 1rem; font-weight: 900; }
.vip-schedule-copy { min-width: 0; }
.vip-schedule strong, .vip-schedule small { display: block; }
.vip-schedule strong { color: white; font-size: .96rem; line-height: 1.3; }
.vip-schedule small { margin-top: .18rem; color: rgba(255,255,255,.64); font-size: .76rem; }
.vip-value-lede { max-width: 690px; margin-bottom: 1.7rem; color: rgba(255,255,255,.75); font-size: 1.08rem; }
.vip-value-lede strong { color: white; }
.vip-benefits { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.16); }
.vip-benefits li { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; align-items: center; padding: 1.15rem 0; border-bottom: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.94); font-size: 1.05rem; font-weight: 650; }
.vip-check { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--gold); color: var(--navy-deep); font-weight: 900; }
.vip-benefits strong { color: #e9b7a2; }
.vip-upgrade-panel { position: sticky; top: 2rem; padding: 2rem; border: 1px solid rgba(255,255,255,.2); border-radius: 28px; background: rgba(255,255,255,.08); backdrop-filter: blur(14px); box-shadow: 0 26px 80px rgba(0,0,0,.2); }
.vip-panel-lede { margin-bottom: 1.5rem; font-size: 1.2rem; line-height: 1.45; font-weight: 700; }
.vip-price-lock { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; padding: 1rem 1.2rem; border-radius: 18px; background: rgba(201,90,70,.14); }
.vip-price-lock span { max-width: 140px; font-size: .67rem; font-weight: 800; letter-spacing: .14em; color: #e9b7a2; }
.vip-price-lock strong { font-size: 3.25rem; line-height: 1; letter-spacing: -.06em; }
.vip-panel-copy { margin-bottom: .7rem; color: rgba(255,255,255,.82); }
.vip-panel-deadline { margin-bottom: 1.5rem; color: #e9b7a2; font-size: .84rem; font-weight: 700; }
.vip-upgrade-panel .button { width: 100%; min-width: 0; }

.offer-stack { padding: clamp(5.5rem, 10vw, 9rem) 0; background: #eae6de; }
.offer-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 7rem); align-items: start; }
.offer-copy { position: sticky; top: 2rem; }
.offer-intro { max-width: 520px; color: #75666b; font-size: 1.08rem; }
.button--dark { margin-top: 1rem; padding: 1rem 1.5rem; background: var(--navy); color: white; box-shadow: 0 12px 32px rgba(48,17,33,.2); }
.button--dark:hover { background: #632d47; }
.benefit-list { border-top: 1px solid var(--line); }
.benefit-row { display: grid; grid-template-columns: 68px 1fr; gap: 1.25rem; padding: 1.65rem 0; border-bottom: 1px solid var(--line); }
.benefit-icon { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid rgba(69,27,48,.18); border-radius: 50%; background: rgba(255,255,255,.4); color: #71714d; font-weight: 800; font-size: 1.15rem; }
.benefit-row h3 { margin-bottom: .35rem; font-size: 1.2rem; letter-spacing: -.02em; }
.benefit-row p { margin-bottom: 0; color: #75666b; }

.team { position: relative; overflow: hidden; padding: clamp(5.5rem, 10vw, 8.5rem) 0; color: white; background: linear-gradient(135deg, #451b30 0%, #8b769b 100%); }
.team::after { content: ""; position: absolute; width: 42vw; height: 42vw; right: -20vw; bottom: -25vw; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.team-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.team-copy > p:not(.eyebrow) { max-width: 520px; color: rgba(255,255,255,.76); }
.signature-line { display: flex; align-items: center; gap: .8rem; margin-top: 2rem; font-size: .68rem; font-weight: 800; letter-spacing: .16em; color: rgba(255,255,255,.62); }
.signature-line span { width: 42px; height: 1px; background: #e9b7a2; }
.team-portraits { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.team-portraits figure { position: relative; min-height: 480px; margin: 0; overflow: hidden; border-radius: 24px; background: var(--navy-deep); box-shadow: 0 22px 70px rgba(48,17,33,.28); }
.team-portraits figure:nth-child(2) { transform: translateY(2rem); }
.team-portraits img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; filter: saturate(.88) contrast(1.03); }
.team-portraits figcaption { position: absolute; inset: auto 0 0; padding: 4.5rem 1.25rem 1.25rem; display: flex; flex-direction: column; background: linear-gradient(transparent, rgba(48,17,33,.95)); }
.team-portraits figcaption strong { font-size: 1.05rem; }
.team-portraits figcaption span { font-size: .75rem; color: rgba(255,255,255,.68); }

.best-fit { padding: clamp(5.5rem, 10vw, 8.5rem) 0; }
.fit-layout { max-width: 900px; text-align: center; }
.fit-layout > div { max-width: 760px; margin: 0 auto; }
.fit-list { width: min(820px, 100%); margin: 2.75rem auto 0; padding: 0; list-style: none; border-top: 1px solid var(--line); text-align: left; }
.fit-list li { display: grid; grid-template-columns: 48px 1fr; gap: 1rem; align-items: start; padding: 1.35rem 0; border-bottom: 1px solid var(--line); font-size: 1.05rem; font-weight: 650; }
.fit-list span { font-size: .7rem; font-weight: 800; letter-spacing: .12em; color: #a34133; }

.value-section { position: relative; overflow: hidden; padding: clamp(5.5rem, 10vw, 8.5rem) 0; color: white; background: var(--navy-deep); }
.value-glow { position: absolute; width: 70vw; height: 70vw; left: -28vw; top: -45vw; border-radius: 50%; background: radial-gradient(circle, rgba(139,118,155,.52), transparent 68%); }
.value-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 430px; gap: clamp(3rem, 8vw, 7rem); align-items: center; }
.value-copy > p:not(.eyebrow) { max-width: 650px; color: rgba(255,255,255,.7); font-size: 1.08rem; }
.value-copy-list { margin: 1.4rem 0; padding: 0; list-style: none; }
.value-copy-list li { position: relative; margin-bottom: .75rem; padding-left: 1.8rem; color: rgba(255,255,255,.9); font-weight: 650; }
.value-copy-list li::before { content: "✓"; position: absolute; left: 0; color: #e9b7a2; font-weight: 900; }
.value-copy .value-emphasis { color: #e9b7a2; font-weight: 750; }
.price-card { padding: 2rem; border: 1px solid rgba(255,255,255,.18); border-radius: 28px; background: rgba(255,255,255,.08); backdrop-filter: blur(14px); box-shadow: 0 26px 80px rgba(0,0,0,.22); }
.price-kicker { margin-bottom: 1.4rem; font-size: .68rem; font-weight: 800; letter-spacing: .15em; color: #e9b7a2; }
.price-display { display: flex; align-items: flex-start; justify-content: center; line-height: .8; }
.price-display span { margin-top: .7rem; font-size: 2rem; font-weight: 700; color: #e9b7a2; }
.price-display strong { font-size: 7rem; letter-spacing: -.09em; }
.price-note { text-align: center; color: rgba(255,255,255,.58); font-size: .8rem; }
.price-card ul { margin: 1.5rem 0; padding: 1.35rem 0; list-style: none; border-block: 1px solid rgba(255,255,255,.14); }
.price-card li { position: relative; padding: .4rem 0 .4rem 1.6rem; color: rgba(255,255,255,.82); }
.price-card li::before { content: "✓"; position: absolute; left: 0; color: #e9b7a2; font-weight: 800; }
.price-card .button { width: 100%; }
.deadline { margin: .8rem 0 0; text-align: center; font-size: .73rem; color: rgba(255,255,255,.57); }

.faq { padding: clamp(5.5rem, 10vw, 8.5rem) 0; background: #eae6de; }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 9vw, 8rem); align-items: start; }
.faq-heading { position: sticky; top: 2rem; }
.faq-heading > p:last-child { color: #75666b; }
.faq-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { position: relative; padding: 1.4rem 3rem 1.4rem 0; list-style: none; font-weight: 750; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; position: absolute; top: 1.2rem; right: 0; width: 2rem; height: 2rem; display: grid; place-items: center; border: 1px solid rgba(69,27,48,.2); border-radius: 50%; transition: transform .2s ease; }
details[open] summary::after { transform: rotate(45deg); }
details p { padding: 0 2.8rem 1.4rem 0; color: #75666b; }

.final-cta { position: relative; overflow: hidden; padding: clamp(6rem, 12vw, 10rem) 0; color: white; text-align: center; background: linear-gradient(118deg, rgba(69, 27, 48, .96) 0%, rgba(113, 91, 113, .95) 52%, rgba(201, 90, 70, .95) 115%), var(--navy); }
.final-cta::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.15) 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.4), transparent 70%); opacity: .45; }
.final-cta::after { content: ""; position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(to top, rgba(48,17,33,.34), transparent); pointer-events: none; }
.final-inner { position: relative; z-index: 1; max-width: 980px; }
.final-cta h2 { font-size: clamp(3rem, 7vw, 6.25rem); }
.final-cta .final-inner > p:not(.eyebrow):not(.microcopy) { max-width: 700px; margin: 0 auto 2rem; color: rgba(255,255,255,.78); font-size: 1.08rem; }

.site-footer { padding: 1.3rem 0; color: rgba(255,255,255,.65); background: #301121; font-size: .75rem; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.footer-brand { display: flex; align-items: center; gap: .8rem; }
.footer-brand img { width: 38px; height: 38px; }
.mobile-upgrade { display: none; }

.checkout-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 1rem; overflow: auto; visibility: hidden; opacity: 0; pointer-events: none; background: rgba(48,17,33,.82); backdrop-filter: blur(10px); transition: opacity .2s ease, visibility .2s ease; }
.checkout-modal.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.checkout-panel { position: relative; width: min(1040px, 100%); max-height: calc(100svh - 2rem); overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 28px; background: white; box-shadow: 0 30px 110px rgba(0,0,0,.38); transform: translateY(10px) scale(.99); transition: transform .2s ease; }
.checkout-modal.is-open .checkout-panel { transform: translateY(0) scale(1); }
.checkout-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); height: min(760px, calc(100svh - 2rem)); min-height: 0; }
.checkout-summary { position: relative; min-height: 0; padding: 2.4rem 2rem; overflow-x: hidden; overflow-y: auto; color: white; background: linear-gradient(145deg, #8b769b 0%, #8b769b 58%, #c95a46 145%); }
.checkout-summary::after { content: ""; position: absolute; width: 260px; height: 260px; right: -170px; bottom: -160px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; }
.checkout-summary img { display: block; margin-bottom: 1.5rem; }
.checkout-summary .eyebrow { margin-bottom: .9rem; color: #e9b7a2; }
.checkout-summary h2 { margin-bottom: 1rem; font-size: 2.45rem; line-height: .98; letter-spacing: -.05em; font-weight: 600; }
.checkout-summary > p:not(.eyebrow):not(.checkout-secure) { color: rgba(255,255,255,.78); font-size: .95rem; }
.checkout-schedule { display: grid; grid-template-columns: 2.35rem minmax(0, 1fr); align-items: start; gap: .85rem; padding: 1rem; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.1); }
.checkout-schedule-icon { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border-radius: 50%; background: #e9b7a2; color: var(--navy-deep); font-size: .9rem; }
.checkout-schedule-copy { margin: 0; }
.checkout-schedule-copy strong { color: white; font-size: .78rem; line-height: 1.45; }
.checkout-schedule-copy span { color: rgba(255,255,255,.72); font-size: .78rem; line-height: 1.45; }
.modal-price { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.5rem 0; padding: 1rem 1.1rem; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.1); }
.modal-price span { max-width: 100px; font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #e9b7a2; }
.modal-price strong { font-size: 3rem; line-height: 1; letter-spacing: -.06em; }
.checkout-summary ul { margin: 0; padding: 0; list-style: none; }
.checkout-summary li { position: relative; margin-bottom: .75rem; padding-left: 1.55rem; color: rgba(255,255,255,.9); font-size: .83rem; font-weight: 600; }
.checkout-summary li::before { content: "✓"; position: absolute; left: 0; color: #e9b7a2; font-weight: 900; }
.checkout-secure { margin: 1.5rem 0 0; color: rgba(255,255,255,.56); font-size: .7rem; }
.checkout-embed-wrap { position: relative; height: 100%; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; padding: 1.2rem; background: #f8f6f1; }
.checkout-loading { position: absolute; z-index: 0; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; color: #75666b; transition: opacity .2s ease; }
.checkout-loading.is-hidden { opacity: 0; pointer-events: none; }
.checkout-loading span { width: 34px; height: 34px; border: 3px solid rgba(113,113,77,.18); border-top-color: var(--teal); border-radius: 50%; animation: checkout-spin .8s linear infinite; }
.checkout-loading strong { font-size: .88rem; }
.tc-v2-embeddable-target { position: relative; z-index: 1; min-height: 580px; }
.modal-close { position: absolute; z-index: 5; top: .85rem; right: .85rem; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; padding: 0; border: 1px solid rgba(69,27,48,.12); border-radius: 50%; background: rgba(255,255,255,.92); color: var(--ink); box-shadow: 0 8px 24px rgba(48,17,33,.15); font-size: 1.5rem; line-height: 1; }
body.checkout-open { overflow: hidden; }
@keyframes checkout-spin { to { transform: rotate(360deg); } }

@media (max-width: 720px) {
  .site-header { width: calc(100% - 2rem); }
  .hero-inner { padding-top: 5.8rem; }
  .hero-confirmation { margin-bottom: 2.75rem; }
  .hero-notice { font-size: .82rem; }
  h1 { font-size: clamp(2.35rem, 12vw, 4.4rem); }
  .hero-checklist-frame { padding: 1rem; }
  .hero-checklist { gap: .65rem; }
  .intro-split { grid-template-columns: 1fr; gap: 2.5rem; }
  .intro-copy { padding-top: 0; }
  .connection-visual { width: min(78vw, 360px); margin-inline: auto; border-radius: 22px; }
  .connection-visual::after { background: linear-gradient(to top, rgba(48,17,33,.88), transparent 65%); }
  .connection-visual img { object-position: 36% center; }
  .connection-visual figcaption { right: 1.4rem; bottom: 1.5rem; left: 1.4rem; width: auto; }
  .connection-visual figcaption strong { max-width: 430px; }
  .section-shell { width: min(100% - 2rem, 1160px); }
  .registration-reminder-inner { align-items: flex-start; text-align: left; }
  .vip-value-grid, .offer-layout, .team-grid, .fit-layout, .value-grid, .faq-grid { grid-template-columns: 1fr; }
  .vip-schedule { align-items: flex-start; }
  .vip-upgrade-panel { position: static; }
  .offer-copy, .faq-heading { position: static; }
  .team-portraits { margin-top: 1rem; }
  .team-portraits figure, .team-portraits img { min-height: 390px; }
  .team-portraits figure:nth-child(2) { transform: translateY(1rem); }
  .value-grid { gap: 2.5rem; }
  .price-card { width: min(100%, 460px); margin: 0 auto; }
  .footer-inner { align-items: flex-start; flex-direction: column; }
  .mobile-upgrade { position: fixed; z-index: 20; inset: auto .75rem .75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .75rem .7rem 1rem; border: 1px solid rgba(255,255,255,.22); border-radius: 18px; background: rgba(48,17,33,.94); color: white; box-shadow: 0 14px 40px rgba(0,0,0,.32); backdrop-filter: blur(14px); }
  .mobile-upgrade > div { display: flex; flex-direction: column; line-height: 1.1; }
  .mobile-upgrade span { font-size: .6rem; font-weight: 800; letter-spacing: .12em; color: rgba(255,255,255,.58); }
  .mobile-upgrade strong { font-size: 1.15rem; }
  .mobile-upgrade .button { padding: .75rem 1rem; }
  .site-footer { padding-bottom: 6.5rem; }
  .checkout-modal { padding: .5rem; }
  .checkout-panel { max-height: calc(100svh - 1rem); border-radius: 20px; overflow: auto; }
  .checkout-layout { grid-template-columns: 1fr; height: auto; min-height: 0; max-height: none; }
  .checkout-summary { padding: 1.7rem 1.25rem 1.4rem; overflow: visible; }
  .checkout-summary img { margin-bottom: 1rem; }
  .checkout-summary h2 { max-width: 290px; font-size: 2rem; }
  .checkout-summary ul { display: none; }
  .modal-price { margin-bottom: 0; }
  .checkout-secure { display: none; }
  .checkout-embed-wrap { height: auto; min-height: 560px; padding: .75rem; overflow: visible; }
  .tc-v2-embeddable-target { min-height: 520px; }
  .modal-close { position: fixed; top: 1rem; right: 1rem; }
}

@media (min-width: 721px) and (max-height: 820px) {
  .hero-inner { padding-top: 5.3rem; padding-bottom: 2.8rem; }
  .success-chip { margin-bottom: .75rem; }
  .hero-confirmation { margin-bottom: 3rem; }
  h1 { max-width: 1120px; margin-bottom: .8rem; font-size: clamp(3.5rem, 5.7vw, 5.3rem); }
  .hero-lede { max-width: 790px; margin-bottom: 1.15rem; font-size: 1.02rem; line-height: 1.45; }
  .hero-checklist-frame { margin-bottom: 1rem; padding-block: .85rem; }
  .hero-checklist { gap: .45rem; }
  .hero-checklist li { font-size: .875rem; }
  .button--hero { padding-block: .9rem; }
  .microcopy { margin-top: .5rem; }
  .scroll-cue { display: none; }
}

@media (max-width: 520px) {
  .site-header .button { padding: .72rem 1rem; }
  .team-portraits { grid-template-columns: 1fr; }
  .team-portraits figure:nth-child(2) { transform: none; }
  .team-portraits figure, .team-portraits img { min-height: 430px; }
  .benefit-row { grid-template-columns: 52px 1fr; }
  .benefit-icon { width: 46px; height: 46px; }
}

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

/* Ways of Wisdom typography and brand assets; reference layout retained. */
h1,h2,h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500!important; }
h1 { line-height:1; letter-spacing:-.045em; }
.hero-title-three { font-weight:500; font-size:.64em; }
.hero-title-two { font-style:italic; }
.button { border-radius:5px; color:white; }
.button:hover { color:white; background:#a34133; }
.brand { width:112px; height:46px; }
.brand img { object-fit:contain; }
.checkout-summary>img { width:112px; height:46px; object-fit:contain; }
.footer-brand img { width:85px; height:38px; object-fit:contain; }
.team-portraits img { filter:none; }
.connection-visual figcaption strong { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; }
.checkout-embed-wrap iframe { display:block; position:relative; z-index:1; width:100%; background:white; }
.form-fallback { position:relative; z-index:1; text-align:center; font-size:.72rem; color:#75666b; margin:1rem 0; }
.form-fallback a { color:#451b30; }
.checkout-modal:not(.is-open) { display:none; }
@media(max-width:720px) { .hero-title-three {font-size:clamp(1.15rem,5.2vw,2.4rem);} .checkout-embed-wrap {padding:.75rem 0;} }

/* Requested photo, spacing and CTA refinements. */
.button { text-transform:uppercase; }
.button:hover,.button--dark:hover { background:#414b3b; color:#fff; box-shadow:0 14px 34px rgba(65,75,59,.28); }
.team-grid { grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(2.5rem,6vw,5rem); align-items:center; }
.team-copy .eyebrow { margin-bottom:1.2rem; }
.team-copy h2 { max-width:620px; margin-bottom:1.5rem; line-height:1.08; }
.team-copy>p:not(.eyebrow) { max-width:580px; margin-bottom:0; line-height:1.7; }
.team-copy .signature-line { margin-top:1.75rem; line-height:1.5; }
.team-portraits { display:block; width:100%; max-width:440px; justify-self:end; margin:0; }
.team-portraits figure { min-height:0; aspect-ratio:4/5; }
.team-portraits img { display:block; min-height:0; width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.fit-list span { font-size:1.5rem; line-height:1.1; }
@media(max-width:720px) {
 .team-grid { grid-template-columns:1fr; gap:2rem; }
 .team-portraits { justify-self:center; margin-top:0; max-width:420px; }
 .team-portraits figure,.team-portraits img { min-height:0; }
}

/* Original logo artwork, white with its original transparency. */
.brand {width:112px;height:68px;}
.checkout-summary>img {width:112px;height:68px;}
.footer-brand img {width:85px;height:52px;}

/* Added breathing room for uppercase CTA labels. */
.button { letter-spacing: .08em; }

/* Registration confirmation bar matches the main site's charcoal. */
.registration-reminder { background:#282e2b; border-bottom-color:rgba(255,255,255,.15); }
.registration-reminder p,.registration-reminder strong { color:#fff; }
.registration-reminder-icon { background:rgba(255,255,255,.14); color:#fff; }

/* Match the registration check circle to the main page's deep olive. */
.success-chip span { background:#414b3b; color:#fff; }
