@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Manrope:wght@400;500;600;700&display=swap');

:root {
  --ivory: #f8f4ed;
  --ivory-soft: #fdfaf5;
  --ink: #191824;
  --indigo: #55526f;
  --indigo-deep: #322c4a;
  --plum: #93536d;
  --plum-deep: #67405d;
  --gold: #bd9560;
  --muted: #6c6878;
  --line: rgba(189, 149, 96, .42);
  --surface: rgba(255, 255, 255, .57);
  --surface-hover: rgba(255, 255, 255, .86);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Manrope', Arial, sans-serif;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: hidden; overflow-x: clip; scroll-behavior: smooth; overscroll-behavior-x: none; }
body { max-width: 100%; margin: 0; min-height: 100vh; overflow-x: hidden; overflow-x: clip; color: var(--ink); background: var(--ivory); font: 16px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
#app { max-width: 100%; overflow-x: hidden; overflow-x: clip; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
em { color: var(--plum); font-weight: 500; }
strong { font-weight: 700; }
img { display: block; max-width: 100%; }
.page-section { position: relative; }
.hero-inner, .intro-section, .founder-section, .site-footer { width: min(100%, var(--max)); margin-inline: auto; }

.hero-section {
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  padding: 24px 28px 42px;
  background:
    radial-gradient(ellipse 34% 28% at 50% 61%, rgba(202, 199, 226, .52), transparent 72%),
    radial-gradient(ellipse 29% 46% at 99% 91%, rgba(202, 198, 226, .58), transparent 72%),
    radial-gradient(ellipse 21% 29% at 89% 18%, rgba(231, 228, 241, .82), transparent 73%),
    radial-gradient(ellipse 17% 26% at 4% 90%, rgba(229, 226, 238, .66), transparent 74%),
    linear-gradient(180deg, #fdfbf7 0%, #faf6ef 74%, var(--ivory) 100%);
}
.hero-section::before { content: ''; position: absolute; z-index: -1; inset: 38% 12% 2%; background: radial-gradient(ellipse at center, rgba(226, 223, 240, .62), transparent 68%); filter: blur(28px); pointer-events: none; }
.hero-inner { position: relative; z-index: 2; }
.hero-decor { position: absolute; z-index: 1; pointer-events: none; user-select: none; }
.decor-orbits { left: -190px; top: -82px; width: 410px; height: 410px; border: 1px solid rgba(189, 149, 96, .75); border-radius: 50%; box-shadow: 0 0 0 16px transparent, 0 0 0 17px rgba(189, 149, 96, .52), 0 0 0 60px transparent, 0 0 0 61px rgba(189, 149, 96, .36); }
.decor-orbits span { position: absolute; right: -4px; bottom: 70px; width: 108px; height: 108px; border-radius: 50%; background: radial-gradient(circle at 34% 28%, #dfc598, #b88f58 72%); box-shadow: inset -14px -12px 26px rgba(101, 64, 57, .12); opacity: .76; }
.decor-moon { top: 52px; right: 72px; color: rgba(74, 67, 100, .27); font: 190px/.7 Georgia, serif; transform: rotate(-14deg); text-shadow: 18px 20px 42px rgba(117, 108, 151, .08); }
.decor-stars { color: var(--gold); font-size: 25px; }
.decor-stars-left { left: 11%; top: 17%; }
.decor-stars-right { right: 3.5%; top: 31%; }
.brand-header { display: flex; align-items: center; justify-content: center; }
.brand { display: inline-flex; align-items: center; gap: 14px; padding: 4px; }
.brand img { width: 52px; height: 52px; border: 1.5px solid var(--gold); border-radius: 50%; object-fit: cover; object-position: 50% 22%; box-shadow: 0 8px 24px rgba(50, 44, 74, .16); }
.brand strong { display: block; font: 600 27px/1 var(--serif); letter-spacing: .01em; }
.brand small { display: block; margin-top: 6px; color: var(--indigo); font-size: 9px; letter-spacing: .29em; }
.hero-copy { margin-top: 20px; text-align: center; }
.eyebrow, .script-label { color: var(--indigo); font: 500 18px/1.3 var(--serif); font-style: italic; letter-spacing: .15em; }
.eyebrow span { margin: 0 11px; color: var(--gold); font-size: 11px; }
.hero-copy h1, .section-heading h2, .preview-copy h2, .founder-section h2, .final-cta h2 { margin: 16px 0 13px; font: 600 clamp(66px, 5.5vw, 94px)/.9 var(--serif); letter-spacing: -.052em; }
.hero-copy h1 { max-width: 990px; margin-inline: auto; }
.hero-subtitle { margin: 0; color: #383447; font: 500 25px/1.28 var(--serif); }
.card-fan { position: relative; width: min(100%, 1080px); height: 308px; margin: 12px auto -4px; filter: drop-shadow(0 22px 18px rgba(50, 44, 74, .18)); }
.archetype-card { --x: 0px; --y: 0px; --rot: 0deg; position: absolute; top: 0; left: 50%; width: 262px; height: 262px; margin: 0 0 0 -131px; z-index: var(--z, 1); transform: translate(var(--x), var(--y)) rotate(var(--rot)); transform-origin: 50% 82%; transition: transform .4s cubic-bezier(.2, .8, .2, 1), filter .3s, opacity .3s; will-change: transform; }
.archetype-card::after { content: ''; position: absolute; inset: 5% 18% 5%; border-radius: 16px; opacity: 0; background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255, 255, 255, .72), transparent 43%); mix-blend-mode: soft-light; pointer-events: none; transition: opacity .25s; }
.card-1 { --x: -395px; --y: 54px; --rot: -14deg; --z: 1; }
.card-2 { --x: -244px; --y: 20px; --rot: -8deg; --z: 2; }
.card-3 { --x: -82px; --y: 2px; --rot: -2.5deg; --z: 3; }
.card-4 { --x: 82px; --y: 2px; --rot: 3deg; --z: 4; }
.card-5 { --x: 244px; --y: 20px; --rot: 9deg; --z: 5; }
.card-6 { --x: 395px; --y: 54px; --rot: 15deg; --z: 6; }
.archetype-card:hover { z-index: 20; transform: translate(var(--x), calc(var(--y) - 28px)) rotate(0deg) scale(1.07); filter: drop-shadow(0 18px 18px rgba(103, 64, 93, .24)); }
.archetype-card:hover::after { opacity: 1; }
.card-fan:has(.archetype-card:hover) .archetype-card:not(:hover) { opacity: .74; filter: saturate(.78); }
.archetype-card > img { width: 100%; height: 100%; object-fit: contain; }
.card-art { width: 100%; aspect-ratio: 1; background: url('./cards-sprite.png') no-repeat; background-size: 300% 200%; clip-path: inset(1.2% 17.5% round 17px); }
.sprite-1 { background-position: 0 0; }
.sprite-2 { background-position: 50% 0; }
.sprite-3 { background-position: 100% 0; }
.sprite-4 { background-position: 0 100%; }
.sprite-5 { background-position: 50% 100%; }
.sprite-6 { background-position: 100% 100%; }
.archetype-card figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.primary { display: inline-flex; min-height: 62px; align-items: center; justify-content: center; gap: 18px; padding: 0 40px; border: 0; border-radius: 999px; color: #fff; background: linear-gradient(135deg, #514265, var(--indigo-deep)); box-shadow: 0 13px 26px rgba(50, 44, 74, .24), inset 0 1px rgba(255, 255, 255, .22); font-size: 13px; font-weight: 700; letter-spacing: .2em; transition: transform .25s, box-shadow .25s, filter .25s; }
.primary:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(50, 44, 74, .32), inset 0 1px rgba(255, 255, 255, .25); }
.primary:active { transform: translateY(-1px) scale(.99); }
.primary:disabled { cursor: not-allowed; opacity: .45; transform: none; }
.hero-inner > .primary, .intro-section > .primary { display: flex; margin-inline: auto; }
.meta { margin: 15px 0; color: var(--indigo); text-align: center; font-size: 11px; letter-spacing: .22em; }
.meta span { margin: 0 8px; color: var(--gold); }
.readings { margin: 23px 0 7px; text-align: center; font-size: 13px; }
.readings > span, .stars { color: var(--gold); letter-spacing: .08em; }
.creator { margin: 0; color: var(--indigo); text-align: center; font-size: 10px; letter-spacing: .18em; }
.creator em { font: 500 17px var(--serif); font-style: italic; }

.intro-section { padding: 96px 28px 118px; }
.statement-card { max-width: 800px; margin: 0 auto 108px; padding: 42px 48px; border: 1px solid var(--line); border-left: 4px solid var(--plum); border-radius: 0 18px 18px 0; background: rgba(255, 255, 255, .48); box-shadow: 0 24px 70px rgba(85, 82, 111, .07); }
.statement-card p { margin: 0 0 17px; }
.statement-card p:last-child { margin: 0; }
.statement-lead { font: 500 22px/1.4 var(--serif); font-style: italic; }
.statement-card em { font: 500 19px var(--serif); font-style: italic; }
.section-heading { text-align: center; }
.section-heading h2 { margin: 9px 0 38px; font-size: clamp(48px, 5vw, 70px); }
.discover-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.discover-card { position: relative; min-height: 300px; overflow: hidden; padding: 44px 30px 30px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); transition: transform .25s, background .25s, box-shadow .25s; }
.discover-card:hover { transform: translateY(-7px); background: var(--surface-hover); box-shadow: 0 20px 44px rgba(85, 82, 111, .1); }
.card-number { position: absolute; top: -30px; right: 7px; color: rgba(85, 82, 111, .08); font: 600 112px var(--serif); }
.discover-card h3 { position: relative; margin: 12px 0; font: 600 29px/1.05 var(--serif); }
.discover-card > p:last-child { color: var(--muted); font-size: 15px; }
.intro-section > .primary { margin-top: 46px; }
.reading-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; max-width: none; padding: 110px 38px; background: radial-gradient(circle at 17% 55%, rgba(204, 199, 226, .43), transparent 31%), radial-gradient(circle at 88% 28%, rgba(231, 226, 238, .78), transparent 30%), linear-gradient(180deg, var(--ivory) 0%, var(--ivory-soft) 100%); }
.reading-preview > * { width: min(100%, 550px); }
.preview-copy { justify-self: end; }
.preview-copy h2 { margin: 10px 0 28px; font-size: clamp(48px, 5vw, 68px); }
.preview-copy > p:not(.script-label) { max-width: 520px; color: var(--muted); font-size: 17px; }
.preview-cards { position: relative; height: 420px; }
.preview-card { position: absolute; width: 210px; height: 315px; object-fit: contain; filter: drop-shadow(0 22px 22px rgba(50, 44, 74, .17)); transition: transform .35s; }
.preview-card:nth-child(1) { top: 42px; left: 0; transform: rotate(-9deg); }
.preview-card:nth-child(2) { top: 0; left: 130px; transform: rotate(2deg); }
.preview-card:nth-child(3) { top: 35px; left: 255px; transform: rotate(10deg); }
@media (hover: hover) and (pointer: fine) {
  .preview-cards:hover .preview-card:nth-child(1) { transform: translateX(-12px) rotate(-12deg); }
  .preview-cards:hover .preview-card:nth-child(2) { transform: translateY(-10px) rotate(1deg); }
  .preview-cards:hover .preview-card:nth-child(3) { transform: translateX(12px) rotate(13deg); }
}
.founder-section { padding: 112px 28px 122px; text-align: center; }
.founder-photo-wrap { position: relative; width: 310px; margin: 0 auto 36px; padding: 13px 13px 49px; border: 1px solid rgba(189, 149, 96, .35); background: #fffdf8; box-shadow: 0 25px 55px rgba(85, 82, 111, .16); transform: rotate(-2deg); }
.founder-photo-wrap img { width: 100%; height: 360px; object-fit: cover; object-position: 50% 28%; }
.photo-star { position: absolute; top: -26px; left: -24px; color: var(--plum); font-size: 37px; }
.founder-section h2 { margin: 4px 0 28px; font-size: 64px; }
.founder-copy { max-width: 780px; margin-inline: auto; }
.founder-copy p { font: 500 19px/1.65 var(--serif); }
blockquote { max-width: 900px; margin: 68px auto; padding: 40px 90px; border-block: 1px solid var(--line); font: 500 clamp(34px, 4vw, 55px)/1.15 var(--serif); font-style: italic; }
blockquote span { display: block; margin: 0 0 18px; color: var(--gold); font-size: 15px; }
blockquote span:last-child { margin: 18px 0 0; }
.signature { margin: 42px 0 0; color: var(--plum); font: 500 48px var(--serif); font-style: italic; }
.role { color: var(--indigo); font-size: 10px; letter-spacing: .34em; }
.testimonials-section { max-width: none; padding: 108px 28px 60px; background: radial-gradient(circle at 18% 42%, rgba(206, 201, 228, .38), transparent 29%), radial-gradient(circle at 93% 18%, rgba(231, 226, 238, .76), transparent 28%), var(--ivory-soft); }
.testimonials-section > * { max-width: var(--max); margin-inline: auto; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.testimonial { display: flex; min-height: 315px; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255, 255, 255, .56); transition: transform .25s, box-shadow .25s, background .25s; }
.testimonial:hover { transform: translateY(-6px); background: rgba(255, 255, 255, .82); box-shadow: 0 18px 42px rgba(85, 82, 111, .11); }
.testimonial > p:not(.stars) { font: 500 19px/1.45 var(--serif); font-style: italic; }
.testimonial footer { margin-top: auto; color: var(--indigo); font-size: 10px; letter-spacing: .18em; }
.celestial-divider { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 72px; color: var(--gold); }
.celestial-divider::before, .celestial-divider::after { content: ''; height: 1px; max-width: 310px; flex: 1; background: var(--line); }
.celestial-divider b { font-size: 28px; font-weight: 400; }
.final-cta { padding: 55px 0 70px; text-align: center; }
.final-cta h2 { margin: 12px 0; font-size: clamp(58px, 7vw, 88px); }
.final-cta > p:not(.eyebrow, .meta) { margin: 0 0 30px; font: 500 21px var(--serif); font-style: italic; }
.site-footer { display: flex; align-items: center; justify-content: space-between; padding: 27px 28px; border-top: 1px solid var(--line); color: var(--indigo); font-size: 11px; letter-spacing: .04em; }
.site-footer nav { display: flex; gap: 21px; }
.footer-link { padding: 3px; border: 0; color: inherit; background: transparent; text-decoration: underline; text-decoration-color: rgba(85, 82, 111, .35); text-underline-offset: 4px; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

.sticky-cta { display: none; position: fixed; z-index: 99; right: 0; bottom: 0; left: 0; padding: 10px 14px; border-top: 1px solid rgba(147, 83, 109, .17); background: rgba(253, 250, 245, .94); box-shadow: 0 -8px 24px rgba(50, 44, 74, .08); backdrop-filter: blur(20px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.sticky-cta-btn { display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 999px; color: #fff; background: linear-gradient(135deg, #514265, var(--indigo-deep)); box-shadow: 0 8px 18px rgba(50, 44, 74, .23); font-size: 12px; font-weight: 700; letter-spacing: .18em; }
body.quiz-active .sticky-cta { display: none; }

.quiz, .gate, .reading, .offers { max-width: 780px; margin: 45px auto 85px; padding: 0 28px; }
.step-row { display: flex; justify-content: space-between; margin-bottom: 12px; color: var(--muted); font-size: 13px; }
.progress { height: 3px; margin-bottom: 45px; background: rgba(85, 82, 111, .15); }
.progress div { height: 100%; background: var(--plum); transition: width .3s; }
.quiz h2, .gate h2, .reading h1, .offers h2 { margin: 18px 0; font: 600 clamp(42px, 5vw, 65px)/1.05 var(--serif); letter-spacing: -.03em; }
.hint { margin-bottom: 28px; color: var(--muted); }
.field { width: 100%; padding: 18px; border: 1px solid rgba(85, 82, 111, .25); border-radius: 10px; outline: none; color: var(--ink); background: rgba(255, 255, 255, .6); }
.field:focus { border-color: var(--plum); box-shadow: 0 0 0 3px rgba(147, 83, 109, .1); }
textarea { min-height: 140px; resize: vertical; }
.choices { display: grid; gap: 12px; }
.multi-note { margin: 10px 2px 0; color: var(--muted); font-size: 12px; letter-spacing: .02em; }
.choice { display: flex; align-items: center; gap: 16px; padding: 18px; border: 1px solid rgba(85, 82, 111, .18); border-radius: 12px; color: var(--ink); background: rgba(255, 255, 255, .55); line-height: 1.5; text-align: left; transition: .2s; }
.choice:hover { background: #fff; }
.choice.selected { border-color: var(--plum); background: rgba(147, 83, 109, .08); }
.choice input { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--plum); }
.visuals { grid-template-columns: 1fr 1fr; }
.visual { display: block; overflow: hidden; padding: 0; }
.scene { display: block; height: 145px; background-position: center; background-size: cover; }
.energy-scene.scene-0 { background-image: url('./energy-radiant.webp'); }
.energy-scene.scene-1 { background-image: url('./energy-intuitive.webp'); }
.energy-scene.scene-2 { background-image: url('./energy-grounded.webp'); }
.energy-scene.scene-3 { background-image: url('./energy-visionary.webp'); }
.scene-scene.scene-0 { background-image: url('./place-shoreline.webp'); }
.scene-scene.scene-1 { background-image: url('./place-cedar-grove.webp'); }
.scene-scene.scene-2 { background-image: url('./place-open-sky.webp'); }
.scene-scene.scene-3 { background-image: url('./place-sanctuary.webp'); }
.visual .caption { display: flex; align-items: center; gap: 10px; padding: 15px; }
.actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 32px; }
.back { padding: 14px 0; border: 0; color: var(--muted); background: none; }
.error { color: #a13d3d; font-size: 14px; }
.range { width: 100%; margin: 24px 0; accent-color: var(--plum); }
.range-labels { display: flex; justify-content: space-between; color: var(--muted); font-size: 14px; }
.range-value { color: var(--plum); text-align: center; font: 64px var(--serif); }
.gate { max-width: 590px; text-align: center; }
.gate label { display: block; text-align: left; }
.gate .primary { width: 100%; margin-top: 20px; }
.gate input { margin-top: 10px; }
.demo { margin-top: 26px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: rgba(255, 255, 255, .48); font-size: 13px; }
.loading { padding: 90px 24px; text-align: center; }
.loading-mark { color: var(--plum); font: 65px var(--serif); animation: pulse 1.4s infinite; }
.loading p { color: var(--muted); }
@keyframes pulse { 50% { opacity: .25; transform: scale(.9); } }
.reading { max-width: 900px; text-align: center; }
.result-kicker { color: var(--plum); font-size: 13px; letter-spacing: 2px; }
.result-copy { max-width: 650px; margin: 20px auto; color: var(--muted); font-size: 18px; }
.insights { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 36px 0; text-align: left; }
.insight, .offer { padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .58); }
.insight h3, .offer h3 { margin: 10px 0; font: 600 30px/1.1 var(--serif); }
.insight p { color: var(--muted); font-size: 15px; }
.offers { max-width: 960px; text-align: center; }
.offer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 35px; }
.offer { position: relative; display: flex; flex-direction: column; text-align: left; }
.offer.featured { border-color: var(--plum); }
.badge { position: absolute; top: -15px; left: 30px; padding: 5px 16px; border-radius: 20px; color: #fff; background: var(--plum); font-size: 12px; letter-spacing: 1px; }
.product-label { padding: 22px 0; border-bottom: 1px solid var(--line); color: var(--plum); font-size: 12px; letter-spacing: 2px; }
.price { margin: 18px 0; font: 56px var(--serif); }
.offer ul { flex: 1; margin-bottom: 30px; padding: 0; list-style: none; }
.offer li { padding: 9px 0; color: var(--muted); font-size: 15px; }
.offer li::before { content: '✓'; margin-right: 12px; color: var(--plum); }
.outline { border: 1px solid var(--plum); color: var(--plum); background: transparent; }
.offer .primary { width: 100%; }
.result-action { margin-top: 25px; }
dialog { width: calc(100% - 40px); max-width: 520px; margin: auto; padding: 40px; border: 1px solid var(--gold); border-radius: 16px; color: var(--ink); background: var(--ivory-soft); }
dialog::backdrop { background: #20202a99; }
.close { position: absolute; top: 10px; right: 16px; border: 0; color: var(--ink); background: none; font-size: 28px; }
dialog h2 { font: 600 38px/1.1 var(--serif); }
dialog p { color: var(--muted); }
:focus-visible { outline: 2px solid var(--plum); outline-offset: 5px; }
h1[tabindex="-1"]:focus-visible, h2[tabindex="-1"]:focus-visible { outline: none; }

@media (max-width: 1100px) {
  .card-fan { width: 110%; margin-inline: -5%; transform: scale(.86); }
  .decor-moon { right: 16px; opacity: .72; }
  .reading-preview { gap: 24px; }
  .preview-cards { transform: scale(.8); transform-origin: left center; }
}

@media (max-width: 760px) {
  body { padding-bottom: 82px; }
  body.quiz-active { padding-bottom: 0; }
  .sticky-cta { display: block; }
  body.hero-cta-visible .sticky-cta { visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(100%); }
  .hero-section { min-height: auto; padding: 16px 18px 48px; }
  .hero-decor { opacity: .48; }
  .decor-orbits { top: -105px; left: -218px; transform: scale(.62); }
  .decor-orbits span { width: 88px; height: 88px; }
  .decor-moon { top: 76px; right: -16px; font-size: 108px; }
  .decor-stars-left { top: 225px; left: 8px; }
  .decor-stars-right { top: 285px; right: 10px; }
  .brand { gap: 10px; }
  .brand img { width: 46px; height: 46px; }
  .brand strong { font-size: 22px; }
  .brand small { margin-top: 5px; font-size: 8px; letter-spacing: .24em; }
  .hero-copy { margin-top: 29px; }
  .eyebrow, .script-label { font-size: 16px; letter-spacing: .08em; }
  .eyebrow span { margin: 0 7px; }
  .hero-copy h1 { margin-top: 17px; font-size: clamp(47px, 14.2vw, 61px); line-height: 1.08; }
  .hero-copy h1 br { display: block; }
  .hero-subtitle { max-width: 340px; margin-inline: auto; font-size: 19px; line-height: 1.34; }
  .hero-subtitle br { display: none; }
  .card-fan { width: 100%; height: 192px; margin: 14px auto 2px; transform: none; }
  .archetype-card { width: 122px; height: 122px; margin-left: -61px; }
  .card-1 { --x: -143px; --y: 48px; --rot: -22deg; }
  .card-2 { --x: -87px; --y: 20px; --rot: -13deg; }
  .card-3 { --x: -29px; --y: 3px; --rot: -4deg; }
  .card-4 { --x: 29px; --y: 3px; --rot: 4deg; }
  .card-5 { --x: 87px; --y: 20px; --rot: 13deg; }
  .card-6 { --x: 143px; --y: 48px; --rot: 22deg; }
  .archetype-card:hover { transform: translate(var(--x), var(--y)) rotate(var(--rot)); }
  .primary { min-height: 56px; padding: 0 25px; font-size: 11px; letter-spacing: .15em; }
  .hero-inner > .primary { width: min(100%, 355px); }
  .meta { font-size: 9px; letter-spacing: .17em; }
  .meta span { margin: 0 5px; }
  .readings { margin-top: 20px; }
  .intro-section { padding: 72px 18px 86px; }
  .statement-card { margin-bottom: 76px; padding: 30px 25px; }
  .statement-lead { font-size: 20px; }
  .discover-grid, .testimonial-grid, .reading-preview { grid-template-columns: 1fr; }
  .discover-card { min-height: auto; padding: 38px 24px 27px; }
  .reading-preview { gap: 20px; padding: 78px 20px 40px; text-align: center; }
  .preview-copy { justify-self: center; }
  .preview-copy > p:not(.script-label) { margin-inline: auto; }
  .preview-cards { width: 100%; max-width: 390px; height: 300px; margin: 0 auto -35px; transform: none; pointer-events: none; touch-action: pan-y; }
  .preview-card { width: 180px; height: 270px; left: 50%; }
  .preview-card:nth-child(1) { top: 40px; left: 50%; transform: translateX(-145px) rotate(-9deg); }
  .preview-card:nth-child(2) { top: 0; left: 50%; transform: translateX(-90px) rotate(2deg); }
  .preview-card:nth-child(3) { top: 35px; left: 50%; transform: translateX(-20px) rotate(10deg); }
  .founder-section { padding: 78px 20px; }
  .founder-photo-wrap { width: 260px; }
  .founder-photo-wrap img { height: 310px; }
  .founder-section h2 { font-size: 56px; }
  .founder-copy p { font-size: 18px; }
  blockquote { margin: 48px auto; padding: 34px 5px; }
  .testimonials-section { padding: 78px 18px 45px; }
  .testimonial { min-height: auto; }
  .final-cta { padding-bottom: 45px; }
  .site-footer { flex-direction: column; gap: 14px; text-align: center; }
  .site-footer nav { flex-wrap: wrap; justify-content: center; gap: 13px; }
  .visuals, .insights, .offer-grid { grid-template-columns: 1fr; }
  .quiz, .gate, .reading, .offers { margin-top: 28px; }
  .date-fields { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
  .date-fields .field { padding: 14px 8px; font-size: 15px; }
}

@media (max-width: 380px) {
  .archetype-card { width: 110px; height: 110px; margin-left: -55px; }
  .card-1 { --x: -130px; --y: 45px; }
  .card-2 { --x: -78px; --y: 18px; }
  .card-3 { --x: -26px; --y: 3px; }
  .card-4 { --x: 26px; --y: 3px; }
  .card-5 { --x: 78px; --y: 18px; }
  .card-6 { --x: 130px; --y: 45px; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Quiz journey — the landing-page visual system carried into every step. */
body.quiz-active {
  min-height: 100svh;
  padding-bottom: 0;
  background: var(--ivory-soft);
}
body.quiz-active #app {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(ellipse 36% 44% at 1% 100%, rgba(219, 215, 235, .63), transparent 72%),
    radial-gradient(ellipse 28% 36% at 97% 7%, rgba(228, 224, 239, .82), transparent 72%),
    radial-gradient(ellipse 36% 30% at 55% 63%, rgba(230, 226, 241, .58), transparent 72%),
    linear-gradient(180deg, #fdfbf7 0%, #faf6ef 78%, var(--ivory) 100%);
}
body.quiz-active #app::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -310px;
  left: -290px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(189, 149, 96, .42);
  border-radius: 50%;
  box-shadow: 0 0 0 34px transparent, 0 0 0 35px rgba(189, 149, 96, .28), 0 0 0 88px transparent, 0 0 0 89px rgba(189, 149, 96, .18);
  pointer-events: none;
}
body.quiz-active .site-footer { display: none; }
.quiz-brand {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  padding: 22px 20px 10px;
}
.quiz-brand-home {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 3px;
  border: 0;
  color: var(--ink);
  background: transparent;
}
.quiz-brand-home img {
  width: 44px;
  height: 44px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 22%;
  box-shadow: 0 6px 18px rgba(50, 44, 74, .14);
}
.quiz-brand-home strong { display: block; font: 600 23px/1 var(--serif); }
.quiz-brand-home small { display: block; margin-top: 5px; color: var(--indigo); font-size: 8px; letter-spacing: .27em; }
.quiz-intro {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, 440px) minmax(380px, 480px);
  gap: clamp(48px, 7vw, 94px);
  align-items: center;
  width: min(calc(100% - 56px), 1040px);
  min-height: calc(100svh - 86px);
  margin: 0 auto;
  padding: 30px 0 60px;
}
.quiz-intro-decor { position: absolute; z-index: -1; pointer-events: none; }
.quiz-intro-orbit { right: -225px; bottom: -260px; width: 440px; height: 440px; border: 1px solid rgba(189, 149, 96, .35); border-radius: 50%; box-shadow: 0 0 0 44px transparent, 0 0 0 45px rgba(189, 149, 96, .18); }
.quiz-intro-visual { position: relative; width: min(100%, 420px); margin-inline: auto; }
.quiz-intro-photo {
  position: relative;
  overflow: hidden;
  padding: 12px 12px 46px;
  border: 1px solid rgba(189, 149, 96, .36);
  border-radius: 4px;
  background: #fffdf8;
  box-shadow: 0 30px 68px rgba(50, 44, 74, .16), 0 7px 18px rgba(147, 83, 109, .08);
  transform: rotate(-1.8deg);
}
.quiz-intro-photo img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 26%; }
.intro-sparkle { position: absolute; z-index: 3; color: var(--gold); pointer-events: none; }
.sparkle-one { top: -22px; left: -24px; font-size: 36px; }
.sparkle-two { right: -18px; bottom: 18px; color: var(--plum); font-size: 24px; }
.sparkle-three { top: 47%; right: -31px; font-size: 17px; }
.quiz-intro-copy { position: relative; }
.quiz-intro-copy .script-label { margin: 0 0 14px; color: var(--indigo); letter-spacing: .08em; }
.quiz-intro-copy h1 { margin: 0; font: 600 clamp(60px, 6.2vw, 84px)/1.02 var(--serif); letter-spacing: -.055em; }
.quiz-intro-copy h1 em { display: block; font-weight: 500; line-height: 1.08; }
.quiz-intro-copy h1 > span { display: block; margin-top: 13px; color: var(--indigo); font-size: .35em; font-style: italic; letter-spacing: .02em; }
.quiz-intro-copy > p:not(.script-label, .meta, .quiz-intro-proof) { max-width: 465px; margin: 28px 0; color: #504b5d; font: 500 18px/1.55 var(--serif); }
.quiz-intro-copy .primary { width: min(100%, 335px); }
.quiz-intro-copy .meta { max-width: 390px; text-align: left; }
.quiz-intro-proof { display: flex; align-items: center; gap: 8px; margin: 20px 0 0; color: var(--indigo); font-size: 12px; }
.quiz-intro-proof > span { color: var(--gold); letter-spacing: .08em; }
.quiz-return { margin-top: 26px; padding: 5px 0; border: 0; color: var(--muted); background: transparent; font-size: 12px; }

body.quiz-active .quiz {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 36px), 760px);
  min-height: calc(100svh - 80px);
  margin: 0 auto;
  padding: 32px 28px 84px;
  text-align: center;
}
body.quiz-active .step-row { margin-bottom: 9px; color: var(--indigo); font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
body.quiz-active .progress { height: 3px; margin-bottom: 54px; overflow: hidden; border-radius: 99px; background: rgba(85, 82, 111, .14); }
body.quiz-active .progress div { border-radius: inherit; background: linear-gradient(90deg, var(--gold), var(--plum)); transition: width .45s cubic-bezier(.25, .1, .25, 1); }
body.quiz-active .quiz > .eyebrow { margin: 0 0 15px; color: var(--plum); font-size: 14px; letter-spacing: .08em; }
body.quiz-active .quiz h2 { max-width: 690px; margin: 0 auto 12px; font: 600 clamp(34px, 4.6vw, 48px)/1.06 var(--serif); letter-spacing: -.035em; }
body.quiz-active .quiz .hint { max-width: 530px; margin: 0 auto 34px; color: var(--muted); font: 500 17px/1.5 var(--serif); font-style: italic; }
body.quiz-active .quiz form { max-width: 620px; margin-inline: auto; }
body.quiz-active .quiz input.field:not([type]) { display: block; max-width: 470px; margin: 8px auto 0; padding: 15px 4px; border: 0; border-bottom: 2px solid rgba(85, 82, 111, .21); border-radius: 0; background: transparent; box-shadow: none; text-align: center; font: 500 25px var(--serif); font-style: italic; }
body.quiz-active .quiz input.field:not([type]):focus { border-bottom-color: var(--plum); }
body.quiz-active .quiz textarea.field { max-width: 590px; min-height: 125px; margin-inline: auto; border-color: rgba(147, 83, 109, .22); background: rgba(255, 255, 255, .7); font-family: var(--serif); font-size: 17px; font-style: italic; }
body.quiz-active .choices { max-width: 540px; margin-inline: auto; gap: 10px; }
body.quiz-active .choice { position: relative; min-height: 58px; padding: 15px 20px; border-color: rgba(147, 83, 109, .19); background: rgba(255, 255, 255, .62); backdrop-filter: blur(8px); }
body.quiz-active .choice:hover { border-color: var(--gold); background: rgba(255, 253, 248, .9); }
body.quiz-active .choice.selected { border-color: var(--plum); background: rgba(147, 83, 109, .075); box-shadow: 0 0 0 1px rgba(147, 83, 109, .18); }
body.quiz-active .choice input { accent-color: var(--plum); }
body.quiz-active .visuals { max-width: 570px; grid-template-columns: 1fr 1fr; gap: 14px; }
body.quiz-active .visual { padding: 0; overflow: hidden; border-radius: 10px; }
body.quiz-active .visual .scene { width: 100%; height: auto; aspect-ratio: 1 / 1; background-size: cover; background-position: center; }
body.quiz-active .visual .caption { justify-content: center; padding: 14px; font-family: var(--serif); font-size: 16px; font-style: italic; }
body.quiz-active .visual .caption input { position: absolute; opacity: 0; }
body.quiz-active .date-fields { max-width: 520px; margin: 18px auto 0; }
body.quiz-active .date-fields label { color: var(--indigo); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
body.quiz-active .date-fields .field { margin-top: 8px; border-color: rgba(147, 83, 109, .22); background: rgba(255, 255, 255, .72); }
body.quiz-active .range-value { margin-top: 12px; color: var(--plum); font-style: italic; }
body.quiz-active .range { height: 32px; margin: 22px 0 12px; }
body.quiz-active .range-labels { color: var(--indigo); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
body.quiz-active .actions { justify-content: center; margin-top: 38px; }
body.quiz-active .actions .back { order: 0; color: var(--indigo); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
body.quiz-active .actions .primary { min-width: 210px; min-height: 52px; padding: 0 30px; font-size: 12px; }

body.quiz-active .gate {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 36px), 570px);
  margin: 36px auto 80px;
  padding: 52px 42px 40px;
  overflow: hidden;
  border: 1px solid rgba(147, 83, 109, .22);
  border-radius: 22px;
  background: rgba(255, 253, 248, .83);
  box-shadow: 0 30px 70px rgba(50, 44, 74, .15), 0 8px 18px rgba(147, 83, 109, .06);
  backdrop-filter: blur(16px);
}
body.quiz-active .gate::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 5px; background: linear-gradient(90deg, #d9cfbf, var(--plum), #c6bddc, var(--gold), #d9cfbf); }
.gate-glow { margin-bottom: 12px; color: var(--plum); font-size: 29px; animation: gatePulse 2.2s ease-in-out infinite; }
@keyframes gatePulse { 50% { opacity: .45; transform: scale(.88) rotate(10deg); } }
body.quiz-active .gate > .eyebrow { margin-bottom: 10px; color: var(--plum); font-size: 13px; letter-spacing: .12em; }
body.quiz-active .gate h2 { margin: 0; font-size: clamp(39px, 5vw, 55px); }
.gate-subline { margin: 12px 0 16px; color: var(--plum); font: 500 26px var(--serif); font-style: italic; }
body.quiz-active .gate .hint { max-width: 460px; margin: 0 auto 28px; font-family: var(--serif); font-size: 17px; }
body.quiz-active .gate .field { border-color: rgba(147, 83, 109, .24); background: rgba(255, 255, 255, .75); }
.gate-enter { animation: gateEnter .72s cubic-bezier(.2,.78,.2,1) both; }
@keyframes gateEnter { from { opacity: 0; transform: translateY(22px) scale(.975); filter: blur(5px); } to { opacity: 1; transform: none; filter: none; } }
.gate .primary.is-preparing span { animation: preparingSpark 1s ease-in-out infinite; }
@keyframes preparingSpark { 50% { opacity:.35; transform:rotate(45deg) scale(.75); } }
.marketing-choice { display: flex !important; align-items: flex-start; gap: 10px; margin-top: 18px; color: var(--muted); font-size: 13px; line-height: 1.5; text-align: left; }
.marketing-choice input { flex: 0 0 auto; margin-top: 3px !important; accent-color: var(--plum); }

body.quiz-active .loading { position: relative; z-index: 1; display:flex; min-height: calc(100svh - 80px); flex-direction:column; align-items:center; justify-content:center; padding: 45px 24px 110px; text-align:center; }
.loading-orb { position: relative; display: grid; width: 148px; height: 148px; place-items: center; margin: 0 auto 38px; }
.loading-orb::before { content:''; position:absolute; inset:8px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.72),rgba(231,224,239,.22) 55%,transparent 72%); filter:blur(1px); }
.loading-ring { position:absolute; border:1px solid rgba(147,83,109,.58); border-radius:50%; }
.ring-one { inset:27px; box-shadow:0 0 0 10px rgba(147,83,109,.035); animation:loadingOrbit 3.4s linear infinite; }
.ring-two { inset:41px 20px; border-color:rgba(189,149,96,.58); transform:rotate(62deg); animation:loadingOrbitReverse 2.8s linear infinite; }
.loading-ring::before,.loading-ring::after { content:'✦'; position:absolute; color:var(--gold); font-size:10px; }
.loading-ring::before { top:-8px; left:50%; }
.loading-ring::after { right:-8px; bottom:24%; color:var(--plum); font-size:7px; }
.loading-orb b { position:relative; z-index:2; color:var(--plum); font:500 31px/1 var(--serif); animation:loadingPulse 1.8s ease-in-out infinite; }
.loading-orb i { position:absolute; top:10px; right:15px; color:var(--indigo); font-size:24px; font-style:normal; }
.loading-orb.complete b { color:var(--gold); transform:scale(1.12); }
@keyframes loadingOrbit { to { transform:rotate(360deg); } }
@keyframes loadingOrbitReverse { to { transform:rotate(-298deg); } }
@keyframes loadingPulse { 50% { opacity:.42; transform:scale(.78) rotate(18deg); } }
body.quiz-active .loading h2 { margin: 0; font: 600 clamp(44px, 5vw, 61px)/1 var(--serif); font-style:italic; letter-spacing:-.025em; }
body.quiz-active .loading > p { max-width:500px; margin: 15px 0 31px; color:var(--muted); font:500 16px/1.5 var(--serif); font-style: italic; transition:opacity .3s; }
.loading-steps { display: grid; gap: 11px; width:min(100%,390px); margin-inline: auto; color:rgba(85,82,111,.42); text-align:left; font-size: 13px; }
.loading-steps span { position:relative; padding-left:27px; transition:color .4s,transform .4s; }
.loading-steps span::before { content: ''; position:absolute; top:50%; left:0; width:12px; height:12px; border:1px solid rgba(147,83,109,.28); border-radius:50%; transform:translateY(-50%); transition:background .35s,border-color .35s,box-shadow .35s; }
.loading-steps span::after { content:'✓'; position:absolute; top:50%; left:0; width:12px; height:12px; line-height:12px; text-align:center; color:#fff; font-size:8px; font-weight:700; opacity:0; transform:translateY(-50%) scale(.3); transition:opacity .3s,transform .3s; }
.loading-steps span.complete { color:var(--plum-deep); transform:translateX(4px); }
.loading-steps span.complete::before { border-color:var(--plum); background:var(--plum); box-shadow:0 0 0 5px rgba(147,83,109,.08); }
.loading-steps span.complete::after { opacity:1; transform:translateY(-52%) scale(1); }
body.quiz-active .reading, body.quiz-active .offers { position: relative; z-index: 1; }

@media (max-width: 820px) {
  .quiz-intro { grid-template-columns: 1fr; gap: 34px; width: min(calc(100% - 36px), 560px); padding: 28px 0 70px; text-align: center; }
  .quiz-intro-copy { order: 1; }
  .quiz-intro-visual { order: 2; max-width: 285px; }
  .quiz-intro-copy .script-label { font-size: 15px; }
  .quiz-intro-copy h1 { font-size: clamp(54px, 14vw, 72px); }
  .quiz-intro-copy h1 > span { margin-top: 12px; }
  .quiz-intro-copy > p:not(.script-label, .meta, .quiz-intro-proof) { margin: 22px auto 26px; font-size: 17px; }
  .quiz-intro-copy .meta { margin-inline: auto; text-align: center; }
  .quiz-intro-proof { justify-content: center; }
  .quiz-intro-photo { padding: 10px 10px 36px; }
  .quiz-return { margin-top: 20px; }
}

@media (max-width: 620px) {
  .quiz-brand { padding: 14px 16px 7px; }
  .quiz-brand-home img { width: 40px; height: 40px; }
  .quiz-brand-home strong { font-size: 21px; }
  .quiz-brand-home small { font-size: 7px; }
  body.quiz-active #app::before { top: -410px; left: -390px; opacity: .72; }
  body.quiz-active .quiz { width: 100%; min-height: calc(100svh - 64px); padding: 25px 18px 64px; }
  body.quiz-active .progress { margin-bottom: 42px; }
  body.quiz-active .quiz h2 { font-size: clamp(32px, 9.5vw, 43px); }
  body.quiz-active .quiz .hint { margin-bottom: 27px; font-size: 16px; }
  body.quiz-active .visuals { grid-template-columns: 1fr 1fr; gap: 9px; }
  body.quiz-active .visual .scene { width: 100%; height: auto; aspect-ratio: 1 / 1; }
  body.quiz-active .visual .caption { min-height: 62px; padding: 10px 7px; font-size: 14px; line-height: 1.2; }
  body.quiz-active .choice { padding: 14px 16px; }
  body.quiz-active .choice.visual { padding: 0; }
  body.quiz-active .actions { gap: 12px; margin-top: 30px; }
  body.quiz-active .actions .primary { min-width: 170px; }
  body.quiz-active .gate { margin-top: 24px; padding: 42px 22px 30px; }
  body.quiz-active .gate h2 { font-size: 42px; }
  .gate-subline { font-size: 23px; }
  .loading-orb { width: 126px; height: 126px; }
}

/* Full result journey — reference structure in the Nora Solenne visual system. */
.result-urgency { position: relative; z-index: 3; padding: 9px 18px; border-block: 1px solid rgba(189,149,96,.28); color: var(--indigo); background: rgba(244,236,224,.76); text-align: center; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.result-page { position: relative; z-index: 1; width: 100%; padding-bottom: 72px; }
.result-hero { display: grid; grid-template-columns: minmax(280px,430px) minmax(380px,560px); gap: clamp(44px,7vw,92px); align-items: center; width: min(calc(100% - 56px),1080px); min-height: 710px; margin-inline: auto; padding: 64px 0 90px; }
.result-card-wrap { position: relative; justify-self: center; width: min(100%,390px); filter: drop-shadow(0 28px 26px rgba(50,44,74,.2)); }
.result-card-wrap::before { content:''; position:absolute; inset: 10% -8%; z-index:-1; border-radius:50%; background: radial-gradient(circle,rgba(202,198,226,.58),transparent 68%); filter:blur(17px); }
.result-card-wrap img { width:100%; transform:rotate(-2deg); }
.result-spark { position:absolute; z-index:2; color:var(--gold); }
.result-spark-a { top:8%; left:-4%; font-size:31px; }
.result-spark-b { right:-1%; bottom:12%; color:var(--plum); font-size:23px; }
.result-hero-copy { text-align:left; }
.result-eyebrow,.result-section-head>p { margin:0 0 9px; color:var(--plum); font:500 15px/1.3 var(--serif); font-style:italic; letter-spacing:.12em; }
.result-hello { margin:0 0 35px; color:var(--indigo); font:500 20px var(--serif); font-style:italic; }
.result-label { margin:0; color:var(--indigo); font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.result-hero-copy h1 { max-width:610px; margin:6px 0 20px; color:var(--plum); font:500 clamp(66px,7vw,98px)/.83 var(--serif); font-style:italic; letter-spacing:-.055em; }
.result-tagline { max-width:545px; margin:0; color:#454052; font:500 21px/1.48 var(--serif); }
.result-ornament { margin:27px 0 12px; color:var(--gold); letter-spacing:.38em; }
.result-ornament span { color:var(--indigo); }
.result-scroll { margin:0; color:var(--muted); font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.result-generated { margin-top:22px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.result-section { width:min(calc(100% - 56px),1080px); margin-inline:auto; padding:96px 0; }
.result-section-head { margin-bottom:38px; text-align:center; }
.result-section-head h2 { margin:0; font:600 clamp(50px,5.4vw,72px)/.92 var(--serif); letter-spacing:-.04em; }
.result-section-head h2 em { font-weight:500; }
.result-insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.result-insight-grid article { min-height:292px; padding:36px 30px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.58); box-shadow:0 18px 50px rgba(85,82,111,.06); }
.result-insight-grid article>span { color:var(--gold); font-size:13px; letter-spacing:.18em; }
.result-insight-grid small { display:block; margin-top:28px; color:var(--indigo); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.result-insight-grid h3 { margin:8px 0 14px; font:600 31px/1 var(--serif); }
.result-insight-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.result-personal { width:100%; padding:90px 28px; background:radial-gradient(circle at 10% 20%,rgba(203,198,226,.34),transparent 33%),linear-gradient(135deg,#f4efe8,#fbf8f3); }
.result-personal>div { width:min(100%,820px); margin-inline:auto; text-align:center; }
.result-personal>div>p { color:var(--plum); font:500 16px var(--serif); font-style:italic; letter-spacing:.1em; }
.result-personal blockquote { margin:18px auto 30px; color:var(--ink); font:500 clamp(38px,5vw,60px)/1.03 var(--serif); font-style:italic; }
.result-personal-copy { color:#4b4656; font:500 18px/1.7 var(--serif); }
.result-personal-copy strong { color:var(--plum-deep); }
.result-goal { padding-top:80px; border-top:1px solid rgba(189,149,96,.2); background:linear-gradient(135deg,#faf7f1,#f1edf7); }
.result-goal small { display:block; margin-top:24px; color:var(--indigo); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.result-gate { width:min(calc(100% - 56px),920px); margin:110px auto 20px; padding:68px clamp(30px,7vw,90px); border:1px solid rgba(147,83,109,.24); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(240,235,247,.78)); box-shadow:0 30px 80px rgba(50,44,74,.12); text-align:center; }
.result-gate>span { color:var(--gold); font-size:29px; }
.result-gate>p { color:var(--plum); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.result-gate h2 { margin:8px 0 0; font:600 clamp(50px,6vw,78px)/.9 var(--serif); letter-spacing:-.04em; }
.result-gate h3 { margin:8px 0 25px; color:var(--indigo); font:500 30px var(--serif); font-style:italic; }
.result-gate>div { max-width:700px; margin-inline:auto; color:var(--muted); font:500 17px/1.68 var(--serif); }
.result-inside-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.result-inside-grid article { min-height:205px; padding:27px 22px; border:1px solid rgba(189,149,96,.35); border-radius:12px; background:rgba(255,255,255,.5); text-align:center; }
.result-inside-icon { display:grid; width:62px; height:62px; place-items:center; margin:0 auto 22px; border:1px solid var(--line); border-radius:50%; color:var(--plum); background:rgba(255,253,248,.7); box-shadow:0 10px 24px rgba(85,82,111,.06); }
.result-inside-icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.result-inside-icon svg circle:not(:first-child) { fill:currentColor; stroke:none; }
.result-inside-grid h3 { margin:0 0 8px; font:600 25px var(--serif); }
.result-inside-grid p { margin:0; color:var(--muted); font-size:13px; }
.result-pricing { padding-top:70px; }
.result-price-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; align-items:stretch; max-width:900px; margin-inline:auto; }
.result-tier { position:relative; display:flex; flex-direction:column; padding:30px; border:1px solid rgba(189,149,96,.43); border-radius:18px; background:rgba(255,255,255,.65); box-shadow:0 22px 58px rgba(85,82,111,.08); }
.result-tier.featured { border-color:rgba(147,83,109,.54); box-shadow:0 28px 70px rgba(103,64,93,.14); }
.result-tier-badge { position:absolute; top:17px; right:17px; z-index:2; padding:6px 10px; border-radius:99px; color:#fff; background:var(--plum); font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.result-tier>img { width:100%; height:205px; margin-bottom:21px; object-fit:contain; }
.result-tier h3 { min-height:60px; margin:0 0 5px; font:600 28px/1.05 var(--serif); }
.result-tier>p { margin:0 0 14px; color:var(--muted); font-size:13px; }
.result-price { display:flex; align-items:baseline; gap:10px; }
.result-price strong { font:600 43px var(--serif); }
.result-price s { color:var(--muted); }
.result-tier>small { color:var(--plum); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.result-tier ul { flex:1; margin:22px 0 27px; padding:0; list-style:none; }
.result-tier li { position:relative; margin:10px 0; padding-left:22px; color:#4e4958; font-size:13px; }
.result-tier li::before { content:'✦'; position:absolute; left:0; color:var(--gold); font-size:10px; }
.result-tier .primary { width:100%; min-height:56px; padding-inline:18px; }
.result-tier .result-tier-trust { margin:13px 0 0; text-align:center; font-size:10px; }
.result-preview-note { margin:22px 0 0; color:var(--muted); text-align:center; font-size:11px; }
.result-trust { width:min(calc(100% - 56px),900px); margin:20px auto 90px; padding:34px 38px; border:1px solid rgba(189,149,96,.38); border-radius:16px; background:rgba(250,247,241,.85); }
.result-trust>div { display:flex; gap:18px; align-items:flex-start; }
.result-trust>div>span { color:var(--gold); font-size:25px; }
.result-trust h3 { margin:0 0 5px; font:600 25px var(--serif); }
.result-trust p { margin:0; color:var(--muted); font-size:13px; }
.result-trust hr { height:1px; margin:24px 0; border:0; background:var(--line); }
.result-trust>p { text-align:center; }
.result-rating { margin-top:18px; color:var(--muted); font-size:12px; }
.result-rating .result-stars { color:var(--gold); letter-spacing:.05em; }
.gate-trust { margin: 14px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.share-review-btn { display: flex; width: fit-content; align-items: center; justify-content: center; gap: 8px; margin: 26px auto 0; padding: 0 28px; min-height: 52px; border: 1px solid var(--indigo-deep); border-radius: 999px; color: var(--indigo-deep); background: #fff; font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.share-review-btn:disabled { cursor: not-allowed; opacity: .5; }
.result-testimonial-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.result-testimonial-grid article { position:relative; padding:30px; border:1px solid rgba(189,149,96,.35); border-radius:14px; background:rgba(255,255,255,.55); }
.result-testimonial-grid article>b { position:absolute; top:18px; right:18px; color:var(--plum); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.result-testimonial-grid h3 { margin:0; font:600 25px var(--serif); }
.result-testimonial-grid small { color:var(--muted); }
.result-testimonial-grid article>div { margin-top:7px; color:var(--gold); letter-spacing:.09em; }
.result-testimonial-grid article>p { margin:15px 0 0; color:#4e4958; font:500 17px/1.55 var(--serif); font-style:italic; }
.result-faq { max-width:850px; }
.result-faq-list { border-top:1px solid var(--line); }
.result-faq-list article { border-bottom:1px solid var(--line); }
.result-faq-list button { display:flex; width:100%; justify-content:space-between; gap:20px; padding:22px 0; border:0; color:var(--ink); background:transparent; text-align:left; font:600 22px var(--serif); }
.result-faq-list button span { color:var(--plum); transition:transform .2s; }
.result-faq-list article>div { display:none; padding:0 35px 23px 0; color:var(--muted); font-size:14px; }
.result-faq-list article.open>div { display:block; }
.result-faq-list article.open button span { transform:rotate(180deg); }
.result-final { width:min(calc(100% - 56px),900px); margin:40px auto 0; padding:82px clamp(28px,8vw,100px); border-radius:24px; color:#fff; background:radial-gradient(circle at 85% 10%,rgba(189,149,96,.24),transparent 35%),linear-gradient(135deg,#4b405f,#302b47); text-align:center; box-shadow:0 32px 80px rgba(50,44,74,.22); }
.result-final>p { margin:0; color:#d8c4a5; font:500 16px var(--serif); font-style:italic; letter-spacing:.12em; }
.result-final h2 { margin:10px 0 25px; font:600 clamp(51px,6vw,76px)/.9 var(--serif); letter-spacing:-.04em; }
.result-final h2 em,.result-final div em { color:#dfb6c5; }
.result-final>div { max-width:640px; margin:0 auto 32px; color:#eee9f1; font:500 20px/1.5 var(--serif); }
.result-final>div strong { color:#e5c28f; }
.result-final .primary { background:linear-gradient(135deg,#a46079,#7d4967); }
.result-final>small { display:block; margin-top:16px; color:#d3cbd8; font-size:10px; letter-spacing:.1em; }
.result-final .back { margin-top:28px; color:#e8e0eb; }
.result-mobile-sticky { display:none; }

@media (max-width:820px) {
  .result-hero { grid-template-columns:1fr; gap:22px; min-height:0; padding:45px 0 75px; text-align:center; }
  .result-card-wrap { width:min(82vw,345px); }
  .result-hero-copy { text-align:center; }
  .result-hello { margin-bottom:22px; }
  .result-hero-copy h1 { margin-inline:auto; }
  .result-tagline { margin-inline:auto; }
  .result-insight-grid { grid-template-columns:1fr; }
  .result-insight-grid article { min-height:0; }
  .result-inside-grid { grid-template-columns:1fr 1fr; }
  .result-price-grid { grid-template-columns:1fr; max-width:520px; }
}

@media (max-width:620px) {
  .result-page { padding-bottom:86px; }
  .result-urgency { padding:8px 10px; font-size:9px; }
  .result-hero,.result-section,.result-gate,.result-trust,.result-final { width:min(calc(100% - 30px),560px); }
  .result-hero { padding:35px 0 62px; }
  .result-card-wrap { width:min(78vw,310px); }
  .result-hero-copy h1 { font-size:clamp(56px,17vw,76px); line-height:.88; }
  .result-tagline { font-size:18px; }
  .result-section { padding:70px 0; }
  .result-section-head h2 { font-size:clamp(44px,13vw,59px); }
  .result-personal { padding:66px 18px; }
  .result-personal blockquote { font-size:clamp(35px,10.5vw,48px); overflow-wrap:anywhere; }
  .result-personal-copy { font-size:17px; }
  .result-gate { margin-top:78px; padding:48px 21px; }
  .result-gate h2 { font-size:50px; }
  .result-gate h3 { font-size:25px; }
  .result-inside-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .result-inside-grid article { min-height:180px; padding:22px 12px; }
  .result-inside-icon { width:56px; height:56px; margin-bottom:18px; }
  .result-inside-icon svg { width:28px; height:28px; }
  .result-tier { padding:22px 20px; }
  .result-tier>img { height:180px; }
  .result-testimonial-grid { grid-template-columns:1fr; }
  .result-testimonial-grid article { padding:28px 22px; }
  .result-trust { padding:28px 22px; }
  .result-faq-list button { font-size:19px; }
  .result-final { padding:62px 22px; }
  .result-mobile-sticky { position:fixed; z-index:50; right:0; bottom:0; left:0; display:block; padding:11px 14px max(11px,env(safe-area-inset-bottom)); background:rgba(250,247,242,.93); box-shadow:0 -12px 30px rgba(50,44,74,.14); backdrop-filter:blur(12px); }
  .result-mobile-sticky a { display:flex; min-height:56px; align-items:center; justify-content:center; border-radius:999px; color:#fff; background:linear-gradient(135deg,#514265,var(--indigo-deep)); font-size:12px; font-weight:700; letter-spacing:.12em; }
}
