:root {
  --ink: #4f315e;
  --ink-soft: #745c7d;
  --cream: #fffaf5;
  --paper: #fffdfb;
  --coral: #f18168;
  --coral-soft: #f7c4b6;
  --lilac: #dcd2f3;
  --lilac-deep: #9577bf;
  --mint: #c6e8dc;
  --yellow: #f9d56e;
  --line: #eadfe5;
  --shadow: 0 18px 50px rgba(85, 52, 82, 0.11);
  --serif: "Fraunces", Georgia, serif;
  --sans: "DM Sans", "Avenir Next", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); line-height: 1.5; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
.section-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }

.announcement { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 13px; background: var(--yellow); color: #69582c; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.announcement span { font-size: 14px; }
.site-header { width: min(1180px, calc(100% - 48px)); margin: 0 auto; height: 90px; display: flex; align-items: center; justify-content: space-between; gap: 30px; position: relative; z-index: 5; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 700; letter-spacing: -.05em; color: var(--ink); }
.brand > span:last-child > span { color: var(--coral); }
.brand-mark { position: relative; width: 28px; height: 28px; display: inline-block; }
.brand-mark i, .brand-mark b, .brand-mark em { position: absolute; display: block; border-radius: 50%; font-style: normal; }
.brand-mark i { width: 21px; height: 21px; background: var(--coral); bottom: 0; left: 0; }
.brand-mark b { width: 15px; height: 15px; background: var(--lilac-deep); top: 0; right: 0; }
.brand-mark em { width: 8px; height: 8px; background: var(--yellow); left: 11px; top: 10px; }
.main-nav { display: flex; gap: 30px; color: var(--ink-soft); font-size: 13px; font-weight: 600; }
.main-nav a, .text-button, .footer-links a, .footer-links button { transition: color .2s ease; }
.main-nav a:hover, .text-button:hover, .footer-links a:hover, .footer-links button:hover { color: var(--coral); }
.header-actions { display: flex; align-items: center; gap: 19px; }
.text-button { border: 0; background: transparent; color: var(--ink-soft); font-weight: 600; font-size: 13px; }
.button { border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 15px; border-radius: 999px; padding: 15px 23px; font-size: 13px; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 9px 23px rgba(80, 45, 73, .15); }
.button span { font-size: 17px; font-weight: 400; line-height: 0; }
.button-small { padding: 12px 18px; font-size: 12px; }
.button-dark { background: var(--ink); color: #fff; }
.button-primary { background: var(--coral); color: #fff; }
.button-outline { background: transparent; color: var(--ink); border: 1px solid #d5c5d8; }
.button-light { background: #fff; color: var(--ink); }
.button-full { width: 100%; margin-top: 10px; }
.menu-toggle { display: none; border: 0; background: none; padding: 10px; }
.menu-toggle span { width: 24px; height: 2px; display: block; background: var(--ink); margin: 5px; }

.hero { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; min-height: 600px; align-items: center; padding-top: 34px; padding-bottom: 70px; }
.hero-copy { padding: 35px 0 0 35px; position: relative; z-index: 2; }
.eyebrow { color: var(--coral); font-weight: 700; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; display: flex; align-items: center; gap: 9px; }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); display: inline-block; box-shadow: 0 0 0 5px rgba(241, 129, 104, .12); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 600; letter-spacing: -.07em; }
h1 { font-size: clamp(57px, 6vw, 85px); line-height: .98; margin: 22px 0 25px; }
h1 span, h2 em { color: var(--coral); font-style: normal; }
.hero-lede { max-width: 430px; color: var(--ink-soft); font-size: 16px; line-height: 1.75; margin-bottom: 30px; }
.hero-actions { display: flex; align-items: center; gap: 24px; }
.play-link { color: var(--ink-soft); display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; }
.play-icon { width: 29px; height: 29px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ink-soft); border-radius: 50%; font-size: 9px; padding-left: 2px; }
.trust-row { margin-top: 56px; display: flex; align-items: center; gap: 13px; color: var(--ink-soft); }
.avatar-stack { display: flex; margin-right: 2px; }
.avatar-stack span { width: 29px; height: 29px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 2px solid var(--cream); margin-left: -7px; font-size: 8px; font-weight: 700; color: var(--ink); }
.avatar-stack span:first-child { margin-left: 0; background: #f5c9b2; }
.avatar-stack span:nth-child(2) { background: #b9ddcf; }
.avatar-stack span:nth-child(3) { background: #c9bae9; }
.avatar-stack span:nth-child(4) { background: var(--yellow); font-size: 8px; }
.trust-row strong, .trust-row small { display: block; }
.trust-row strong { font-size: 11px; color: var(--ink); }
.trust-row small { font-size: 9px; margin-top: 1px; }
.trust-divider { width: 1px; height: 28px; background: var(--line); margin: 0 5px 0 12px; }
.rating strong { display: inline; margin-right: 5px; font-size: 11px; }
.rating span { color: #f3be48; letter-spacing: 1px; font-size: 11px; }
.rating small { display: block; }

.hero-art { min-height: 500px; position: relative; display: grid; place-items: center; }
.sun { position: absolute; border-radius: 50%; filter: blur(1px); }
.sun-one { width: 300px; height: 300px; background: rgba(250, 218, 142, .22); top: 75px; left: 100px; }
.sun-two { width: 100px; height: 100px; background: rgba(241, 129, 104, .14); bottom: 48px; right: 20px; }
.sparkle { position: absolute; font-size: 25px; color: var(--coral); }
.sparkle-one { top: 33px; right: 113px; }
.sparkle-two { bottom: 45px; left: 83px; color: var(--lilac-deep); }
.orbit { position: absolute; border: 1px solid rgba(181, 153, 185, .3); border-radius: 50%; transform: rotate(-25deg); }
.orbit-one { width: 480px; height: 220px; }
.orbit-two { width: 380px; height: 450px; transform: rotate(28deg); }
.chart-card { background: #fff; border-radius: 22px; width: 330px; padding: 18px 22px 16px; box-shadow: var(--shadow); transform: rotate(4deg); position: relative; z-index: 1; }
.chart-top { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #f1e9ed; padding-bottom: 11px; }
.tiny-label, .chart-status { font-size: 8px; letter-spacing: .14em; font-weight: 700; color: var(--ink-soft); }
.chart-status { letter-spacing: .04em; color: #70a993; text-transform: none; display: flex; gap: 5px; align-items: center; }
.chart-status i { width: 6px; height: 6px; background: #70a993; border-radius: 50%; }
.bodygraph { display: flex; align-items: center; justify-content: center; padding: 15px 0 11px; }
.bodygraph svg { width: 216px; height: 235px; }
.chart-bottom { border-top: 1px solid #f1e9ed; padding-top: 12px; display: flex; justify-content: space-between; color: var(--ink-soft); font-size: 8px; }
.chart-bottom b { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 3px; background: var(--coral); }
.chart-bottom span:nth-child(2) b { background: var(--lilac-deep); }
.chart-bottom span:nth-child(3) b { background: var(--mint); }
.floating-card { background: #fff; border-radius: 13px; box-shadow: 0 13px 30px rgba(85, 52, 82, .12); position: absolute; z-index: 2; }
.floating-type { left: 0; top: 124px; display: flex; align-items: center; gap: 10px; padding: 13px 15px; transform: rotate(-5deg); }
.floating-type small, .floating-note small { display: block; color: #a08fa3; font-size: 8px; margin-bottom: 3px; }
.floating-type strong { font-size: 11px; display: block; }
.mini-orb { width: 25px; height: 25px; background: var(--coral-soft); display: inline-block; border-radius: 50%; }
.card-arrow { margin-left: 3px; font-size: 16px; }
.floating-note { right: 5px; bottom: 73px; padding: 15px 17px; display: flex; align-items: flex-start; gap: 9px; transform: rotate(4deg); }
.note-star { color: var(--lilac-deep); font-size: 18px; }
.floating-note strong { font-family: var(--serif); font-size: 12px; line-height: 1.2; }

.logo-strip { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 24px 0; color: var(--ink-soft); font-size: 11px; }
.logo-strip > span { opacity: .7; }
.logo-strip strong { color: var(--ink); font-size: 11px; }
.logo-strip i { font-style: normal; color: var(--coral); margin-right: 7px; }
.intro-section { display: grid; grid-template-columns: 1fr 1fr; gap: 120px; padding-top: 140px; padding-bottom: 58px; }
h2 { font-size: clamp(43px, 5vw, 66px); line-height: 1.02; margin: 18px 0 0; }
.intro-copy { padding-top: 40px; max-width: 390px; color: var(--ink-soft); font-size: 15px; line-height: 1.75; }
.arrow-link { display: inline-flex; gap: 14px; align-items: center; color: var(--ink); border-bottom: 1px solid var(--coral); padding-bottom: 6px; font-size: 12px; font-weight: 700; margin-top: 14px; }
.arrow-link span { color: var(--coral); font-size: 17px; }
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; padding-bottom: 145px; }
.pillar-card { min-height: 305px; border-radius: 20px; padding: 24px 26px; position: relative; overflow: hidden; }
.pillar-card:after { content: ""; width: 150px; height: 150px; border-radius: 50%; background: rgba(255,255,255,.21); position: absolute; right: -47px; bottom: -62px; }
.pillar-coral { background: var(--coral-soft); }.pillar-lilac { background: var(--lilac); }.pillar-mint { background: var(--mint); }
.pillar-number { position: absolute; top: 24px; right: 26px; font-size: 10px; opacity: .6; }
.pillar-icon { width: 49px; height: 49px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(79,49,94,.22); border-radius: 50%; font-size: 24px; margin-top: 11px; }
.pillar-card h3 { font-family: var(--serif); font-size: 24px; letter-spacing: -.04em; margin: 35px 0 11px; }
.pillar-card p { max-width: 245px; font-size: 12px; line-height: 1.6; color: rgba(79,49,94,.72); }
.pillar-link { position: absolute; left: 26px; bottom: 25px; font-size: 10px; font-weight: 700; }.pillar-link b { font-size: 15px; margin-left: 8px; }

.report-preview { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; padding-bottom: 150px; align-items: center; }
.report-preview-copy > p { color: var(--ink-soft); max-width: 350px; margin-top: 23px; font-size: 14px; line-height: 1.7; }
.quote { border-top: 1px solid var(--line); margin-top: 57px; padding-top: 17px; display: grid; grid-template-columns: 26px 1fr; gap: 6px; max-width: 340px; }.quote > span { color: var(--coral); font-family: var(--serif); font-size: 42px; line-height: .7; }.quote p { font-family: var(--serif); font-size: 15px; line-height: 1.35; margin: 0; }.quote small { grid-column: 2; color: var(--ink-soft); font-size: 10px; margin-top: -1px; }
.paper-report { background: #fff; border-radius: 10px; box-shadow: var(--shadow); padding: 42px 44px 30px; min-height: 450px; position: relative; transform: rotate(2deg); max-width: 610px; justify-self: end; overflow: hidden; }.paper-report:before { content: ""; position: absolute; inset: 0; opacity: .24; background-image: radial-gradient(#d7c5d7 .7px, transparent .7px); background-size: 8px 8px; pointer-events: none; }.paper-tape { position: absolute; width: 105px; height: 24px; top: -8px; left: 44%; background: rgba(249,213,110,.65); transform: rotate(-4deg); }.paper-kicker { font-size: 8px; letter-spacing: .18em; color: var(--coral); font-weight: 700; position: relative; }.paper-report h3 { font-family: var(--serif); font-size: 29px; margin: 15px 0 9px; position: relative; }.paper-report > p { max-width: 420px; color: var(--ink-soft); font-family: var(--serif); font-size: 14px; line-height: 1.45; position: relative; }.report-highlight { position: relative; display: flex; gap: 13px; align-items: flex-start; border-top: 1px solid var(--line); padding: 15px 0 10px; }.report-highlight > span { font-size: 11px; color: var(--coral); font-weight: 700; }.report-highlight small, .report-highlight strong, .report-highlight em { display: block; }.report-highlight small { font-size: 8px; letter-spacing: .13em; color: var(--ink-soft); font-weight: 700; }.report-highlight strong { font-family: var(--serif); font-size: 17px; margin: 2px 0; }.report-highlight em { font-style: normal; color: var(--coral); font-size: 10px; }.paper-footer { border-top: 1px solid var(--line); padding-top: 15px; margin-top: 8px; position: relative; display: flex; justify-content: space-between; gap: 20px; font-size: 10px; color: var(--ink-soft); }.paper-footer strong { color: var(--ink); text-align: right; max-width: 220px; }

.pricing-section { padding-bottom: 150px; }.pricing-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 48px; }.pricing-heading > p { color: var(--ink-soft); max-width: 280px; margin: 0 60px 4px 0; font-size: 13px; line-height: 1.65; }.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; align-items: stretch; }.price-card { background: #fff; padding: 27px; border: 1px solid var(--line); border-radius: 20px; position: relative; display: flex; flex-direction: column; }.price-card-featured { background: var(--ink); color: #fff; border-color: var(--ink); transform: translateY(-14px); box-shadow: var(--shadow); }.popular-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--yellow); color: var(--ink); border-radius: 999px; font-size: 9px; font-weight: 700; padding: 6px 12px; white-space: nowrap; }.price-top { display: flex; gap: 10px; align-items: center; font-size: 9px; letter-spacing: .16em; font-weight: 700; color: var(--ink-soft); }.price-card-featured .price-top { color: var(--coral-soft); }.price-icon { width: 29px; height: 29px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--ink); font-size: 14px; }.price-icon-yellow { background: var(--yellow); }.price-icon-coral { background: var(--coral); color: #fff; }.price-icon-lilac { background: var(--lilac); }.price-card h3 { font-family: var(--serif); font-size: 29px; letter-spacing: -.05em; margin: 22px 0 7px; }.price-desc { color: var(--ink-soft); font-size: 12px; line-height: 1.6; min-height: 58px; }.price-card-featured .price-desc { color: #d8c8da; }.price { border-top: 1px solid var(--line); padding-top: 16px; display: flex; align-items: baseline; gap: 7px; margin-top: auto; }.price-card-featured .price { border-color: #735878; }.price strong { font-family: var(--serif); font-size: 44px; letter-spacing: -.08em; }.price > span { color: var(--ink-soft); font-size: 15px; }.price-card-featured .price > span { color: var(--coral-soft); }.price small { display: block; font-size: 9px; }.price-card ul { list-style: none; padding: 0; margin: 16px 0 25px; font-size: 12px; line-height: 2.2; }.price-card li:before { content: "✓"; color: var(--coral); margin-right: 9px; font-weight: 700; }.price-card li.muted { color: #af9eae; text-decoration: line-through; }.price-card-featured li { color: #fff; }.price-card-featured li:before { color: var(--yellow); }.price-card .button { width: 100%; }.price-card-featured .button-primary { background: var(--coral); }.pricing-note { text-align: center; color: var(--ink-soft); font-size: 10px; margin-top: 33px; }

.form-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; padding-bottom: 150px; align-items: start; }.form-intro { padding-top: 35px; }.form-intro > p { color: var(--ink-soft); font-size: 14px; line-height: 1.7; max-width: 360px; margin-top: 24px; }.privacy-note { display: flex; gap: 12px; align-items: flex-start; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 48px; max-width: 370px; }.privacy-note > span { color: var(--coral); font-size: 24px; line-height: 1; }.privacy-note strong, .privacy-note small { display: block; }.privacy-note strong { font-size: 11px; }.privacy-note small { color: var(--ink-soft); font-size: 10px; line-height: 1.6; margin-top: 5px; }.report-form { background: #fff; border-radius: 20px; box-shadow: var(--shadow); padding: 29px; }.form-progress { display: flex; gap: 7px; align-items: center; margin-bottom: 34px; }.form-progress span { width: 35px; height: 3px; background: #ece5ed; border-radius: 10px; }.form-progress span.active { background: var(--coral); }.form-progress small { color: var(--ink-soft); font-size: 9px; margin-left: 4px; }.step-label { color: var(--coral); letter-spacing: .16em; font-size: 9px; font-weight: 700; }.form-heading h3 { font-family: var(--serif); letter-spacing: -.05em; font-size: 29px; margin: 8px 0 5px; }.form-heading p { color: var(--ink-soft); font-size: 12px; margin: 0 0 21px; }.form-heading.compact { margin-top: 28px; }.form-heading.compact p { margin-top: 6px; }.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }.field-grid.three { grid-template-columns: 1fr 1fr 1.12fr; }.report-form label { display: block; color: var(--ink-soft); font-size: 10px; font-weight: 700; }.report-form input, .report-form select { display: block; width: 100%; border: 1px solid #e5dbe5; border-radius: 10px; background: #fffdfb; color: var(--ink); padding: 13px 13px; margin-top: 7px; outline: none; font-size: 12px; transition: border .2s ease, box-shadow .2s ease; }.report-form input:focus, .report-form select:focus { border-color: var(--coral); box-shadow: 0 0 0 3px rgba(241,129,104,.12); }.select-label { margin-top: 18px; }.plan-choice { margin-top: 22px; }.choice-title { display: block; color: var(--ink-soft); font-size: 10px; font-weight: 700; margin-bottom: 7px; }.plan-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }.plan-options label { position: relative; }.plan-options input { position: absolute; opacity: 0; pointer-events: none; }.plan-options label > span { display: block; border: 1px solid #e5dbe5; border-radius: 9px; padding: 10px; background: #fffdfb; transition: border .2s ease, background .2s ease; }.plan-options label.selected > span, .plan-options label:has(input:checked) > span { border-color: var(--coral); background: #fff2ee; }.plan-options b, .plan-options small { display: block; }.plan-options b { color: var(--ink); font-size: 10px; }.plan-options small { color: var(--ink-soft); font-size: 9px; margin-top: 2px; }.checkbox-label { display: flex !important; gap: 9px; align-items: flex-start; margin-top: 18px; font-weight: 400 !important; line-height: 1.5; }.checkbox-label input { appearance: none; width: 16px; height: 16px; padding: 0; margin: 1px 0 0; flex: 0 0 16px; border-radius: 5px; }.checkbox-label input:checked { background: var(--coral); border-color: var(--coral); }.checkbox-label input:checked:after { content: "✓"; color: #fff; display: flex; justify-content: center; font-size: 10px; }.checkbox-label span { color: var(--ink-soft); font-size: 9px; }.checkbox-label u { color: var(--ink); }.form-footnote { font-size: 9px; color: #a995a7; text-align: center; margin: 11px 0 0; }

.faq-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: 110px; padding-bottom: 155px; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); padding: 18px 0; }.faq-list summary { list-style: none; cursor: pointer; font-family: var(--serif); font-size: 20px; display: flex; justify-content: space-between; gap: 20px; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { font-family: var(--sans); color: var(--coral); font-size: 21px; font-weight: 400; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list p { max-width: 580px; color: var(--ink-soft); font-size: 12px; line-height: 1.7; margin: 14px 35px 2px 0; }
.final-cta { min-height: 250px; background: var(--ink); color: #fff; border-radius: 22px; display: flex; align-items: center; justify-content: space-between; padding: 48px 72px; position: relative; overflow: hidden; margin-bottom: 80px; }.final-cta:after { content: ""; position: absolute; width: 300px; height: 300px; border-radius: 50%; right: 90px; top: -170px; border: 1px solid rgba(249,213,110,.25); box-shadow: 0 0 0 40px rgba(249,213,110,.05), 0 0 0 80px rgba(249,213,110,.04); }.final-cta h2 { position: relative; z-index: 1; }.final-cta h2 em { color: var(--yellow); }.eyebrow-light { color: var(--coral-soft); }.eyebrow-light .eyebrow-dot { background: var(--coral-soft); }.cta-sparkle { position: absolute; color: var(--yellow); font-size: 34px; left: 47%; top: 45px; }
.site-footer { border-top: 1px solid var(--line); padding-top: 44px; padding-bottom: 25px; }.footer-brand p { color: var(--ink-soft); font-size: 11px; margin: 16px 0 0; }.footer-links { display: flex; gap: 75px; margin-left: 42%; margin-top: -35px; }.footer-links div { display: flex; flex-direction: column; gap: 10px; }.footer-links strong { font-size: 10px; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 3px; }.footer-links a, .footer-links button { border: 0; padding: 0; background: none; text-align: left; color: var(--ink-soft); font-size: 11px; }.footer-bottom { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 50px; color: #ab98ab; font-size: 9px; }.footer-bottom a { color: var(--coral); }

.hidden { display: none !important; }.modal-backdrop { position: fixed; inset: 0; z-index: 20; background: rgba(49, 26, 51, .44); display: flex; align-items: center; justify-content: center; padding: 20px; backdrop-filter: blur(7px); }.modal { background: var(--cream); border-radius: 22px; box-shadow: 0 30px 90px rgba(33, 15, 37, .26); position: relative; max-height: calc(100vh - 40px); overflow: auto; }.modal-close { position: absolute; top: 17px; right: 19px; width: 31px; height: 31px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); font-size: 22px; line-height: 1; z-index: 2; }.report-modal { width: min(680px, 100%); padding: 39px; }.modal-kicker { color: var(--coral); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.report-modal h2, .dashboard-modal h2, .admin-modal h2 { font-size: 43px; margin: 16px 0 9px; }.modal-lede { color: var(--ink-soft); font-size: 12px; max-width: 540px; }.report-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 25px; }.result-hero, .result-item { background: #fff; border: 1px solid var(--line); border-radius: 13px; padding: 18px; }.result-hero { grid-column: span 2; background: var(--lilac); border-color: transparent; }.result-label, .result-item span { display: block; color: var(--ink-soft); font-size: 8px; letter-spacing: .13em; font-weight: 700; }.result-hero strong { display: block; font-family: var(--serif); font-size: 28px; margin-top: 8px; }.result-hero p { color: var(--ink-soft); font-size: 11px; margin: 7px 0 0; }.result-item strong { display: block; font-family: var(--serif); font-size: 17px; margin-top: 6px; }.result-note { background: #fff1d3; border-radius: 13px; display: flex; gap: 12px; padding: 14px 16px; margin-top: 10px; }.result-note > span { color: var(--coral); font-size: 20px; }.result-note strong { font-size: 11px; }.result-note p { font-family: var(--serif); font-size: 13px; margin: 3px 0 0; }.modal-actions { display: flex; gap: 9px; margin-top: 20px; }.modal-actions .button { flex: 1; }.demo-disclaimer { border-top: 1px solid var(--line); color: #a594a5; font-size: 9px; line-height: 1.5; padding-top: 13px; margin: 20px 0 0; }
.dashboard-modal, .admin-modal { width: min(790px, 100%); padding: 38px; }.dashboard-top { display: flex; justify-content: space-between; align-items: flex-start; padding-right: 30px; }.status-pill, .admin-role { font-size: 9px; color: #6d9d88; background: #e6f3ed; padding: 7px 11px; border-radius: 999px; font-weight: 700; }.status-pill i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #6d9d88; margin-right: 5px; }.dashboard-welcome { display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; margin-top: 21px; }.dashboard-avatar { width: 45px; height: 45px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--coral-soft); font-family: var(--serif); font-size: 22px; }.dashboard-welcome strong { display: block; font-family: var(--serif); font-size: 18px; }.dashboard-welcome p { color: var(--ink-soft); font-size: 11px; margin: 1px 0 0; }.mood-chip { margin-left: auto; background: var(--yellow); padding: 8px 12px; border-radius: 999px; font-size: 10px; }.dashboard-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 17px; }.dashboard-stats > div { background: #fff; border-radius: 12px; padding: 14px; }.dashboard-stats span, .dashboard-stats strong { display: block; }.dashboard-stats span { color: var(--ink-soft); font-size: 9px; }.dashboard-stats strong { font-family: var(--serif); font-size: 15px; margin-top: 4px; }.dashboard-empty { text-align: center; border: 1px dashed #d8c9dc; border-radius: 15px; margin-top: 17px; padding: 30px; }.empty-orb { width: 47px; height: 47px; border-radius: 50%; background: var(--lilac); margin: 0 auto 10px; display: grid; place-items: center; font-size: 20px; }.dashboard-empty h3 { font-family: var(--serif); font-size: 22px; margin-bottom: 6px; }.dashboard-empty p { color: var(--ink-soft); font-size: 11px; }.dashboard-empty .button { margin-top: 4px; }.dashboard-report { background: #fff; border-radius: 14px; padding: 19px; margin-top: 17px; }.mini-report-head { display: flex; justify-content: space-between; color: var(--coral); font-size: 8px; letter-spacing: .13em; font-weight: 700; }.mini-report-head button { border: 0; background: none; color: var(--ink); font-size: 10px; font-weight: 700; }.dashboard-report h3 { font-family: var(--serif); font-size: 26px; margin: 17px 0 4px; }.dashboard-report p { color: var(--ink-soft); font-size: 12px; }.dashboard-tags { display: flex; gap: 7px; }.dashboard-tags span { background: var(--lilac); border-radius: 999px; padding: 7px 10px; font-size: 9px; }.dashboard-tags span:first-child { background: var(--mint); }.dashboard-report .arrow-link { margin-top: 20px; }
.admin-actions { display: flex; align-items: center; gap: 14px; }.admin-actions .text-button { font-size: 10px; }.login-modal { width: min(440px, 100%); padding: 38px; }.login-form { margin-top: 24px; }.login-form label { display: block; color: var(--ink-soft); font-size: 10px; font-weight: 700; margin-top: 13px; }.login-form input { display: block; width: 100%; border: 1px solid #e5dbe5; border-radius: 10px; background: #fffdfb; color: var(--ink); padding: 13px; margin-top: 7px; outline: none; font-size: 12px; }.login-form input:focus { border-color: var(--coral); box-shadow: 0 0 0 3px rgba(241,129,104,.12); }.login-error { min-height: 15px; color: var(--coral); font-size: 10px; margin: 10px 0 0; }.login-note { color: #a594a5; font-size: 9px; line-height: 1.5; border-top: 1px solid var(--line); padding-top: 13px; margin-top: 20px; }
.report-pending { border: 1px dashed #d8c9dc; border-radius: 15px; text-align: center; padding: 32px 24px; margin-top: 24px; }.report-pending h3 { font-family: var(--serif); font-size: 24px; margin-bottom: 6px; }.report-pending p { color: var(--ink-soft); font-size: 11px; max-width: 390px; margin: 0 auto; }.report-detail { margin-top: 24px; border-top: 1px solid var(--line); }.report-detail article { border-bottom: 1px solid var(--line); padding: 19px 0 17px; }.report-detail h3 { font-family: var(--serif); font-size: 21px; margin: 0 0 6px; }.report-detail .report-lead { color: var(--coral); font-size: 11px; font-weight: 700; margin: 0 0 10px; }.report-detail p { color: var(--ink-soft); font-size: 11px; line-height: 1.7; margin: 0 0 9px; }.report-detail ul { color: var(--ink-soft); font-size: 10px; line-height: 1.6; padding-left: 18px; margin: 8px 0; }.report-detail .practice { background: #fff1d3; border-radius: 10px; padding: 10px 12px; color: var(--ink); font-size: 10px; margin: 11px 0 0; }.report-detail .practice strong { color: var(--coral); margin-right: 5px; }
.admin-role { background: var(--lilac); color: var(--ink); }.admin-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-top: 25px; }.admin-metric { background: #fff; border-radius: 12px; padding: 14px; }.admin-metric span, .admin-metric small { display: block; color: var(--ink-soft); font-size: 9px; }.admin-metric strong { display: block; font-family: var(--serif); font-size: 26px; margin: 5px 0; }.admin-metric small { color: #6d9d88; }.admin-metric small.warning-text { color: var(--coral); }.admin-toolbar { display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 27px 0 13px; }.admin-toolbar h3 { font-family: var(--serif); font-size: 22px; margin: 0 0 3px; }.admin-toolbar p { color: var(--ink-soft); font-size: 10px; margin: 0; }.admin-table-wrap { overflow-x: auto; }.admin-table-wrap table { width: 100%; border-collapse: collapse; font-size: 10px; }.admin-table-wrap th { text-align: left; color: var(--ink-soft); font-size: 8px; letter-spacing: .12em; padding: 13px 9px; font-weight: 700; }.admin-table-wrap td { border-top: 1px solid var(--line); padding: 12px 9px; color: var(--ink-soft); white-space: nowrap; }.admin-table-wrap td:first-child { color: var(--ink); }.admin-table-wrap td strong, .admin-table-wrap td small { display: block; }.admin-table-wrap td small { color: var(--ink-soft); font-size: 8px; margin-top: 2px; }.table-status { border-radius: 999px; padding: 5px 8px; font-size: 8px; font-weight: 700; }.table-status.success { background: #e6f3ed; color: #60967e; }.table-status.waiting { background: #fff1d3; color: #a27d31; }.admin-approve-button { margin-left: 6px; border: 1px solid #e7b6a4; border-radius: 999px; background: #fff8f4; color: var(--coral); padding: 5px 8px; font: 700 8px var(--sans); cursor: pointer; }.admin-approve-button:hover { background: #ffe9df; }.admin-approve-button:disabled { opacity: .6; cursor: wait; }.admin-footer-note { display: flex; gap: 9px; border-top: 1px solid var(--line); padding-top: 13px; margin-top: 7px; }.admin-footer-note > span { color: var(--coral); }.admin-footer-note p { color: #a594a5; font-size: 9px; margin: 0; line-height: 1.5; }
.toast { position: fixed; z-index: 30; bottom: 24px; right: 24px; display: flex; align-items: center; gap: 9px; background: var(--ink); color: #fff; border-radius: 12px; padding: 12px 17px; box-shadow: var(--shadow); transform: translateY(120px); opacity: 0; transition: all .3s ease; pointer-events: none; }.toast.show { transform: translateY(0); opacity: 1; }.toast > span { color: var(--yellow); }.toast p { margin: 0; font-size: 11px; }

@media (max-width: 900px) { .main-nav { gap: 15px; }.header-actions .text-button { display: none; }.hero-copy { padding-left: 0; }.hero-art { transform: scale(.9); }.intro-section, .report-preview, .form-section, .faq-section { gap: 50px; }.footer-links { margin-left: 30%; } }
@media (max-width: 720px) { .section-shell, .site-header { width: min(100% - 32px, 520px); }.site-header { height: 72px; }.main-nav, .header-actions { display: none; }.menu-toggle { display: block; }.site-header.menu-open .main-nav { display: flex; position: absolute; left: 0; right: 0; top: 64px; background: var(--cream); padding: 18px; border: 1px solid var(--line); border-radius: 15px; flex-direction: column; gap: 16px; box-shadow: var(--shadow); }.site-header.menu-open .header-actions { display: flex; position: absolute; right: 15px; top: 180px; }.hero { display: block; padding-top: 43px; }.hero-copy { padding-top: 0; }.hero-art { min-height: 430px; margin-top: 24px; transform: scale(.84); transform-origin: top center; }.chart-card { width: 305px; }.floating-type { left: -4px; }.floating-note { right: -8px; }.logo-strip { flex-wrap: wrap; gap: 17px; }.logo-strip > span { width: 100%; }.intro-section, .report-preview, .form-section, .faq-section { display: block; padding-top: 90px; padding-bottom: 90px; }.intro-copy { padding-top: 25px; }.pillars, .pricing-grid { grid-template-columns: 1fr; padding-bottom: 90px; }.pillar-card { min-height: 270px; }.report-preview-copy { margin-bottom: 35px; }.paper-report { transform: rotate(0); padding: 34px 24px 26px; }.pricing-heading { display: block; margin-bottom: 35px; }.pricing-heading > p { margin: 20px 0 0; }.price-card-featured { transform: none; margin: 9px 0; }.form-intro { padding-top: 0; margin-bottom: 35px; }.report-form { padding: 22px 18px; }.field-grid, .field-grid.three { grid-template-columns: 1fr; }.plan-options { grid-template-columns: 1fr; }.plan-options label > span { display: flex; align-items: center; justify-content: space-between; }.faq-heading { margin-bottom: 35px; }.final-cta { display: block; padding: 40px 27px; margin-bottom: 50px; }.final-cta .button { margin-top: 25px; }.cta-sparkle { right: 28px; left: auto; top: 36px; }.footer-links { margin: 44px 0 0; gap: 55px; }.footer-bottom { display: grid; gap: 8px; margin-top: 35px; }.report-modal, .dashboard-modal, .admin-modal, .login-modal { padding: 28px 18px; border-radius: 18px; }.report-modal h2, .dashboard-modal h2, .admin-modal h2, .login-modal h2 { font-size: 33px; }.report-result-grid { grid-template-columns: 1fr; }.result-hero { grid-column: auto; }.modal-actions { display: grid; }.dashboard-stats, .admin-metrics { grid-template-columns: 1fr 1fr; }.dashboard-welcome { align-items: flex-start; flex-wrap: wrap; }.mood-chip { margin-left: 0; width: 100%; text-align: center; }.admin-actions { align-items: flex-end; flex-direction: column; gap: 8px; }.announcement { font-size: 9px; gap: 7px; padding: 7px; text-align: center; line-height: 1.2; } }

@media print { body > *:not(#reportModal) { display: none !important; } #reportModal { display: flex !important; position: static; background: none; padding: 0; } #reportModal .modal { box-shadow: none; max-height: none; width: 100%; } #reportModal .modal-close, #reportModal .modal-actions, #reportModal .demo-disclaimer, #reportModal .report-pending { display: none; } #reportModal .report-modal { padding: 0; } #reportModal .report-detail article { break-inside: avoid; } }
