@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Nunito:wght@700;800;900&display=swap');

:root { --paper:#fff9f2; --surface:#fffefc; --ink:#302b28; --muted:#786f68; --line:#f0e2d5; --tomato:#e94b43; --tomato-dark:#c93834; --tangerine:#f57945; --banana:#f7c84b; --leaf:#3d9b62; --leaf-pale:#e2f2df; --berry:#d94b5b; --peach:#fff0e5; --shadow:0 22px 55px rgba(92,55,35,.12); --shadow-soft:0 9px 25px rgba(92,55,35,.08); --radius:27px; --site:1120px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:"DM Sans", system-ui, sans-serif; }
button, input { font:inherit; }
button { cursor:pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible { outline:3px solid rgba(233,75,67,.42); outline-offset:3px; }
[hidden] { display:none!important; }
.skip-link { position:absolute; left:16px; top:-70px; z-index:10; padding:10px 14px; color:#fff; background:var(--tomato-dark); border-radius:10px; font-weight:800; text-decoration:none; }
.skip-link:focus { top:14px; }

.quiz-header { position:relative; width:min(calc(100% - 48px), var(--site)); min-height:90px; margin:auto; display:flex; align-items:center; justify-content:center; gap:20px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; }
.brand img { width:39px; height:39px; }
.brand span { display:grid; gap:1px; }
.brand strong { font-family:Nunito,system-ui,sans-serif; font-size:1.08rem; letter-spacing:-.015em; }
.brand small { color:var(--muted); font-size:.65rem; font-weight:700; }
.header-note { position:absolute; right:0; padding:8px 12px; color:var(--tomato-dark); border:1px solid #f4c8b9; border-radius:999px; background:#fff4ec; font-size:.71rem; font-weight:800; }

.quiz-view { width:min(calc(100% - 48px), 690px); margin:18px auto 90px; }
.quiz-progress-area { position:relative; display:grid; grid-template-columns:auto 1fr; column-gap:15px; row-gap:9px; align-items:center; margin-bottom:21px; }
.back-button { grid-row:1 / span 2; display:inline-flex; align-items:center; gap:6px; padding:7px 0; color:var(--muted); border:0; background:transparent; font-size:.75rem; font-weight:800; }
.back-button:disabled { opacity:.32; cursor:default; }
.progress-track { position:relative; height:7px; overflow:hidden; border-radius:999px; background:#f5e5d6; }
.progress-track span { position:absolute; inset:0 auto 0 0; width:16.6%; border-radius:inherit; background:linear-gradient(90deg, var(--tangerine), var(--tomato)); transition:width .32s ease; }
.fruit-steps { grid-column:2; display:flex; gap:5px; margin-top:-1px; }
.fruit-steps i { width:7px; height:7px; border-radius:50%; background:#e8d5c4; }
.fruit-steps i.is-current { background:var(--tomato); box-shadow:0 0 0 3px #ffe0d2; }
.fruit-steps i.is-complete { background:var(--leaf); }

.quiz-layout { display:grid; }
.quiz-card { position:relative; overflow:hidden; border:1px solid rgba(234,210,192,.9); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }
.quiz-card::before { position:absolute; top:-98px; right:-80px; width:240px; height:240px; content:""; border-radius:50%; background:radial-gradient(circle, #fff0d5, rgba(255,240,213,0)); pointer-events:none; }
.question-kicker { position:relative; margin:32px 39px 0; color:var(--tomato-dark); font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.question-fieldset { position:relative; min-width:0; margin:0; padding:13px 39px 9px; border:0; }
.question-fieldset legend { max-width:590px; padding:0; font-family:Nunito,system-ui,sans-serif; font-size:clamp(2rem,4.1vw,2.84rem); font-weight:600; letter-spacing:-.015em; line-height:1.04; }
.question-context { display:flex; min-height:80px; align-items:center; gap:16px; margin:14px 0 17px; }
.question-helper { flex:1; max-width:430px; margin:0; color:var(--muted); font-size:.9rem; font-weight:600; line-height:1.47; }
.quiz-sticker { flex:0 0 114px; align-self:stretch; display:flex; align-items:center; justify-content:center; transition:opacity .18s ease, transform .18s ease; }
.quiz-sticker[hidden] { display:none; }
.quiz-sticker img { display:block; max-width:100%; max-height:130px; object-fit:contain; }
.quiz-sticker.is-celebrate { flex-basis:138px; }
.quiz-sticker.is-celebrate img { max-height:151px; }
.quiz-card.is-celebrating .quiz-sticker { transform:rotate(-2deg) scale(1.04); }
.scenario-card { position:relative; min-height:250px; margin:2px 0 19px; overflow:hidden; border:1px solid #ead9ca; border-radius:18px; background:#6e5345; box-shadow:0 10px 22px rgba(108,68,43,.13); }
.scenario-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.92) contrast(.98); }
.question-options { display:grid; gap:9px; }
.option { position:relative; display:block; }
.option input { position:absolute; opacity:0; pointer-events:none; }
.option-content { min-height:58px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:10px; padding:12px 14px 12px 16px; border:1px solid #ecddd1; border-radius:15px; background:#fff; transition:border-color .16s ease, transform .16s ease, box-shadow .16s ease, background .16s ease; }
.option:hover .option-content { border-color:#e9a694; transform:translateY(-1px); box-shadow:0 7px 16px rgba(127,72,45,.08); }
.option input:checked + .option-content { border-color:var(--tomato); background:#fff5f0; box-shadow:0 7px 16px rgba(201,56,52,.12); }
.option-copy { display:grid; }
.option-label { font-size:.91rem; font-weight:800; line-height:1.22; }
.option-mark { display:grid; width:23px; height:23px; place-items:center; color:transparent; border:1.5px solid #e8d8ca; border-radius:50%; font-size:.7rem; font-weight:900; }
.option input:checked + .option-content .option-mark { color:#fff; border-color:var(--tomato); background:var(--tomato); }
.question-options.is-object-question { grid-template-columns:repeat(3,1fr); }
.option.option-object .option-content { min-height:138px; grid-template-columns:1fr; align-content:center; justify-items:center; padding:15px 9px; text-align:center; }
.option-emoji { font-size:2rem; line-height:1; }
.option.option-object .option-mark { position:absolute; top:10px; right:10px; }
.answer-reaction { min-height:18px; margin:8px 1px 0; color:var(--leaf); font-size:.76rem; font-weight:800; line-height:1.35; }
.quiz-card-footer { display:flex; align-items:center; justify-content:flex-end; gap:18px; padding:11px 39px 16px; border-top:1px solid var(--line); background:#fffaf6; }
.quiz-card-footer p { max-width:265px; margin:0; color:var(--muted); font-size:.68rem; font-weight:600; line-height:1.42; }
.button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:9px; padding:12px 18px; border:0; border-radius:13px; font-size:.83rem; font-weight:900; text-decoration:none; transition:transform .16s ease, box-shadow .16s ease, background .16s ease; }
.button:not(:disabled):hover { transform:translateY(-2px); }
.button:disabled { opacity:1; color:#fff7f1; background:linear-gradient(135deg,#f48a73,#df665d); box-shadow:0 5px 12px rgba(201,56,52,.14); cursor:default; }
.button-primary { color:#fff; background:linear-gradient(135deg,#ff624c, #d83539); box-shadow:0 12px 23px rgba(201,56,52,.31); }
.button-primary:not(:disabled):hover { box-shadow:0 15px 28px rgba(201,56,52,.38); }
.button-quiet { color:var(--tomato-dark); background:#fff3eb; }

.build-view { min-height:calc(100vh - 90px); display:grid; place-items:center; padding:35px 24px 80px; }
.build-card { width:min(100%,520px); padding:47px 44px; border:1px solid #f0d9c8; border-radius:30px; background:#fffefa; box-shadow:var(--shadow); text-align:center; }
.mini-characters { display:flex; justify-content:center; margin-bottom:13px; font-size:2.1rem; }
.mini-characters span + span { margin-left:-7px; }
.eyebrow { margin:0; color:var(--tomato-dark); font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.build-card h1 { margin:9px 0; font-family:Nunito,system-ui,sans-serif; font-size:clamp(2rem,5vw,2.8rem); letter-spacing:-.015em; line-height:1.02; }
.build-card > p:not(.eyebrow) { margin:0; color:var(--muted); font-weight:600; }
.build-dots { display:flex; justify-content:center; gap:8px; margin-top:26px; }
.build-dots i { width:8px; height:8px; border-radius:50%; background:var(--tangerine); animation:dotPulse 1.15s infinite ease-in-out; }
.build-dots i:nth-child(2) { animation-delay:.14s; }.build-dots i:nth-child(3) { animation-delay:.28s; }

.result-view { width:min(calc(100% - 48px), 930px); margin:24px auto 86px; overflow:hidden; border:1px solid #ecdace; border-radius:31px; background:#fffefa; box-shadow:var(--shadow); }
.result-top { display:grid; grid-template-columns:205px 1fr; align-items:center; gap:25px; padding:31px 39px; background:linear-gradient(120deg,#fff0e5,#fff8e8); }
.result-character { display:grid; height:190px; place-items:center; }
.result-character img { width:100%; height:100%; object-fit:contain; }
.result-heading h1 { max-width:610px; margin:8px 0 10px; font-family:Nunito,system-ui,sans-serif; font-size:clamp(2.2rem,5vw,3.55rem); letter-spacing:-.015em; line-height:1.01; }
.result-summary { max-width:650px; margin:0; color:#5e514a; font-size:.93rem; font-weight:600; line-height:1.5; }
.result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:13px; }
.result-card { padding:25px; border-radius:20px; }
.result-card h2 { margin:0; font-family:Nunito,system-ui,sans-serif; font-size:1.48rem; letter-spacing:-.015em; line-height:1.08; }
.result-card-map { border:1px solid var(--line); background:#fffdfa; }
.result-evidence { margin:12px 0 19px; color:var(--muted); font-size:.82rem; font-weight:600; line-height:1.47; }
.signal-row { display:grid; gap:6px; margin-top:13px; }
.signal-copy { display:flex; justify-content:space-between; gap:10px; font-size:.72rem; font-weight:800; }.signal-copy small { color:var(--tomato-dark); font-size:.69rem; }
.signal-track { height:8px; overflow:hidden; border-radius:999px; background:#f6ded5; }.signal-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--tangerine),var(--tomato)); transition:width .65s ease; }.signal-track-green { background:#e6f1e2; }.signal-track-green i { background:linear-gradient(90deg,#8fc56b,var(--leaf)); }
.result-disclosure { margin:18px 0 0; color:#957f70; font-size:.65rem; font-weight:600; line-height:1.4; }
.risk-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }.risk-heading .eyebrow { color:#d83539; }.risk-status { padding:6px 9px; color:#fff; border-radius:999px; background:#d83539; font-size:.6rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.result-card-map h2 { margin-top:12px; }.risk-score-card { display:flex; align-items:center; gap:16px; margin:18px 0; padding:15px 17px; border:1px solid #f0c0b0; border-radius:16px; background:linear-gradient(110deg,#fff0e9,#fff9e6); }.risk-score-card>div { display:flex; align-items:baseline; color:#d83539; }.risk-score-card strong { font-family:Nunito,system-ui,sans-serif; font-size:3.2rem; letter-spacing:-.015em; line-height:.82; }.risk-score-card span { font-size:.72rem; font-weight:900; }.risk-score-card p { max-width:185px; margin:0; color:#725f55; font-size:.72rem; font-weight:800; line-height:1.35; }.risk-chart { display:grid; gap:12px; padding:16px; border-radius:16px; background:#3c302c; }.risk-bar { display:grid; grid-template-columns:1fr 48px; gap:11px; align-items:center; }.risk-bar span { color:#fff6ef; font-size:.69rem; font-weight:800; }.risk-bar i { display:block; height:9px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.16); }.risk-bar b { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#ff9b45,#ff5145); box-shadow:0 0 12px rgba(255,109,76,.5); transition:width .7s cubic-bezier(.2,.8,.2,1); }.risk-alert { margin:15px 0 0; padding-left:12px; color:#8e3e35; border-left:3px solid #ff634c; font-size:.73rem; font-weight:700; line-height:1.45; }
.trajectory-chart { margin:16px 0 0; padding:14px 12px 11px; border:1px solid #ead6ca; border-radius:16px; background:#fff; }.trajectory-legend { display:flex; flex-wrap:wrap; gap:14px; margin:0 5px 10px; color:#6d5a51; font-size:.62rem; font-weight:800; }.trajectory-legend span::before { display:inline-block; width:19px; height:3px; margin:0 6px 2px 0; content:""; vertical-align:middle; border-radius:99px; }.legend-visible::before { background:#3d9a65; }.legend-current::before { background:#e34b3d; }.trajectory-chart svg { display:block; width:100%; height:auto; overflow:visible; }.chart-grid path { fill:none; stroke:#e8e2dd; stroke-width:1; }.chart-axis { fill:#8f8178; font-family:"DM Sans",system-ui,sans-serif; font-size:10px; font-weight:700; }.trajectory-visible-line,.trajectory-current-line { fill:none; stroke-linecap:round; stroke-linejoin:round; stroke-width:4; }.trajectory-visible-line { stroke:#3d9a65; }.trajectory-current-line { stroke:#e34b3d; }.trajectory-current-dot { fill:#e34b3d; stroke:#fff; stroke-width:3; }.trajectory-current-label { fill:#c83c33; font-family:"DM Sans",system-ui,sans-serif; font-size:11px; font-weight:900; }.trajectory-chart figcaption { margin:9px 5px 0; color:#8f8178; font-size:.61rem; font-weight:700; line-height:1.35; }
.diagnosis-findings { display:grid; gap:9px; margin-top:16px; }.finding { padding:13px 14px; border-radius:14px; }.finding span { display:block; margin-bottom:5px; font-size:.61rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }.finding h3 { margin:0; font-size:.9rem; line-height:1.18; }.finding p { margin:5px 0 0; font-size:.72rem; font-weight:650; line-height:1.38; }.finding-attention { color:#7d332d; background:#fff0ea; }.finding-attention span { color:#c53e35; }.finding-positive { color:#315e42; background:#edf7eb; }.finding-positive span { color:#3d8d59; }.finding-priority { color:#6d4e2f; background:#fff7df; }.finding-priority span { color:#a86a24; }
.result-card-plan { color:#fff; background:linear-gradient(145deg, #d54842, #b63139); }.plan-chip { display:inline-block; margin:0 0 11px; padding:5px 8px; color:#fff8e9; border:1px solid rgba(255,255,255,.25); border-radius:999px; font-size:.62rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.habit-copy { margin:11px 0 17px; color:#fff1e9; font-size:.8rem; font-weight:600; line-height:1.43; }.result-steps { display:grid; gap:9px; margin:0; padding:0; list-style:none; counter-reset:result; }.result-steps li { display:grid; grid-template-columns:23px 1fr; gap:8px; align-items:center; color:#fff; font-size:.75rem; font-weight:700; line-height:1.3; }.result-steps li::before { display:grid; width:22px; height:22px; content:counter(result); counter-increment:result; place-items:center; color:var(--tomato-dark); border-radius:7px; background:var(--banana); font-size:.65rem; font-weight:900; }
.result-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding:24px 28px 12px; border-top:1px solid var(--line); }.restart-link { width:100%; padding:5px; color:var(--muted); border:0; background:transparent; font-size:.75rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; }.result-price { margin:0 0 24px; color:var(--muted); font-size:.7rem; font-weight:700; text-align:center; }

.proof-section,.offer-section,.faq-section { width:min(calc(100% - 48px),var(--site)); margin:auto; }.proof-section { padding:7px 0 92px; }.proof-heading { max-width:650px; }.proof-heading h2,.offer-copy h2,.faq-heading h2 { margin:8px 0 0; font-family:Nunito,system-ui,sans-serif; font-size:clamp(2.1rem,4.8vw,3.45rem); letter-spacing:-.015em; line-height:1.03; }.proof-heading > p:not(.eyebrow) { max-width:610px; margin:15px 0 0; color:var(--muted); font-weight:600; line-height:1.55; }.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:33px; }.proof-card { display:flex; min-width:0; flex-direction:column; padding:25px 22px 27px; border:1px solid #ecdace; border-radius:22px; background:#fffefa; box-shadow:var(--shadow-soft); }.proof-number { margin-bottom:11px; color:var(--tomato-dark); font-size:.68rem; font-weight:900; letter-spacing:.11em; }.proof-card h3 { margin:0; font-family:Nunito,system-ui,sans-serif; font-size:1.35rem; letter-spacing:-.015em; line-height:1.08; }.proof-card p { margin:10px 0 18px; color:var(--muted); font-size:.8rem; font-weight:600; line-height:1.45; }.app-shot { width:min(100%,216px); margin:auto auto 0; padding:5px; border:5px solid #382e29; border-radius:26px; background:#382e29; box-shadow:0 15px 28px rgba(69,44,31,.22); }.app-shot img { display:block; width:100%; height:auto; border-radius:16px; }.proof-card-panel { background:linear-gradient(160deg,#fffdfa,#fff4e8); }.proof-card-expense { background:linear-gradient(160deg,#fffaf4,#fff0e8); }.proof-card-history { background:linear-gradient(160deg,#fbfff8,#ebf6e6); }

.offer-section { padding-bottom:91px; }.offer-card { display:grid; grid-template-columns:1.16fr .84fr; overflow:hidden; border:1px solid #ecdace; border-radius:30px; background:#fffefa; box-shadow:var(--shadow-soft); }.offer-copy { padding:clamp(34px,5vw,58px); }.offer-copy > p:not(.eyebrow):not(.payment-note) { max-width:575px; margin:15px 0 0; color:var(--muted); font-weight:600; line-height:1.52; }.offer-copy ul { display:grid; gap:9px; margin:23px 0 26px; padding:0; list-style:none; }.offer-copy li { display:flex; align-items:center; gap:9px; font-size:.83rem; font-weight:800; }.offer-copy li span { display:grid; width:19px; height:19px; place-items:center; color:var(--leaf); border-radius:50%; background:var(--leaf-pale); font-size:.67rem; }.payment-note { margin:12px 0 0; color:var(--muted); font-size:.72rem; font-weight:600; }.payment-note strong { color:var(--tomato-dark); font-weight:900; }.offer-price { position:relative; display:grid; min-height:375px; padding:34px; align-content:center; justify-items:center; overflow:hidden; color:var(--ink); background:linear-gradient(155deg,#fff2df,#fde1d2); text-align:center; }.offer-price > *:not(.price-circle) { position:relative; z-index:1; }.offer-price > span { padding:6px 10px; color:var(--tomato-dark); border:1px solid #edb8a6; border-radius:999px; background:rgba(255,255,255,.47); font-size:.64rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.offer-price strong { margin:9px 0 5px; color:var(--tomato-dark); font-family:Nunito,system-ui,sans-serif; font-size:clamp(5.1rem,8vw,7.2rem); letter-spacing:-.015em; line-height:.88; }.offer-price strong small { position:relative; top:-1.18em; margin-right:2px; font-family:"DM Sans",sans-serif; font-size:.2em; letter-spacing:0; }.offer-price em { color:#785a50; font-size:.84rem; font-style:normal; font-weight:700; line-height:1.3; }.price-circle { position:absolute; border:1px solid rgba(210,103,72,.23); border-radius:50%; }.circle-one { top:-115px; right:-100px; width:300px; height:300px; }.circle-two { bottom:-130px; left:-105px; width:270px; height:270px; border-color:rgba(236,152,72,.38); }
.faq-section { padding-bottom:90px; }.faq-heading { max-width:570px; }.faq-list { display:grid; gap:10px; margin-top:29px; }.faq-list details { overflow:hidden; border:1px solid var(--line); border-radius:17px; background:#fffefa; }.faq-list details[open] { border-color:#efb39f; box-shadow:var(--shadow-soft); }.faq-list summary { position:relative; padding:18px 53px 18px 20px; list-style:none; font-size:.9rem; font-weight:800; cursor:pointer; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { position:absolute; top:50%; right:17px; display:grid; width:24px; height:24px; content:"+"; place-items:center; color:var(--tomato-dark); border-radius:8px; background:#ffebe1; font-size:1.1rem; transform:translateY(-50%); }.faq-list details[open] summary::after { content:"–"; }.faq-list p { margin:-2px 20px 19px; color:var(--muted); font-size:.84rem; font-weight:600; line-height:1.53; }

.site-footer { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:32px 24px; text-align:center; color:#e9ddd2; background:#382e29; }.brand-footer { justify-content:center; color:#fff; }.brand-footer small,.site-footer>p { color:#cdbbb0; }.site-footer>p { margin:0; font-size:.73rem; font-weight:600; }.site-footer nav { display:flex; justify-content:center; gap:16px; }.site-footer nav a { color:#f8eee5; font-size:.73rem; font-weight:800; text-decoration:none; }.site-footer nav a:hover { text-decoration:underline; text-underline-offset:3px; }
.checkout-dialog { width:min(calc(100% - 36px),435px); padding:33px; color:var(--ink); border:0; border-radius:24px; box-shadow:0 30px 90px rgba(62,37,25,.35); }.checkout-dialog::backdrop { background:rgba(47,35,29,.6); backdrop-filter:blur(3px); }.dialog-close { position:absolute; top:14px; right:14px; display:grid; width:31px; height:31px; padding:0; place-items:center; color:var(--muted); border:0; border-radius:9px; background:#fff0e6; font-size:1.3rem; }.dialog-icon { display:grid; width:45px; height:45px; place-items:center; color:#fff; border-radius:14px; background:var(--tomato); font-size:1.25rem; font-weight:900; }.checkout-dialog h2 { margin:16px 0 8px; font-family:Nunito,system-ui,sans-serif; font-size:1.7rem; letter-spacing:-.015em; line-height:1.05; }.checkout-dialog p { margin:0 0 23px; color:var(--muted); font-size:.88rem; font-weight:600; line-height:1.52; }
.legal-page { background:var(--paper); }.legal-main { width:min(calc(100% - 48px),760px); margin:50px auto 90px; padding:42px; border:1px solid var(--line); border-radius:25px; background:#fffefa; box-shadow:var(--shadow-soft); }.legal-main h1 { margin:10px 0 22px; font-family:Nunito,system-ui,sans-serif; font-size:2.8rem; letter-spacing:-.015em; }.legal-main h2 { margin-top:28px; font-size:1.12rem; }.legal-main p,.legal-main li { color:var(--muted); line-height:1.6; }.legal-main a { color:var(--tomato-dark); }
@keyframes dotPulse { 0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(-7px);opacity:1} }
@media (max-width:760px) { .result-top { grid-template-columns:160px 1fr; padding:27px; }.proof-grid { grid-template-columns:1fr 1fr; }.proof-card:last-child { grid-column:span 2; }.offer-card { grid-template-columns:1fr; }.offer-price { min-height:148px; grid-template-columns:auto 1fr; column-gap:13px; padding:27px 31px; align-items:center; align-content:center; justify-items:start; text-align:left; }.offer-price > span { grid-column:1 / -1; }.offer-price strong { grid-column:1; grid-row:2; margin:0; font-size:4.6rem; }.offer-price em { grid-column:2; grid-row:2; max-width:130px; }.circle-one { top:-180px; right:-70px; }.circle-two { bottom:-195px; left:-80px; }.site-footer { gap:15px; } }
@media (max-width:560px) { .quiz-header,.quiz-view,.result-view,.proof-section,.offer-section,.faq-section { width:min(calc(100% - 32px),var(--site)); }.quiz-header { min-height:75px; }.header-note { display:none; }.quiz-view { margin:5px auto 61px; }.quiz-progress-area { margin-bottom:16px; }.progress-copy span:last-child { display:none; }.question-kicker { margin:27px 22px 0; }.question-fieldset { padding:12px 22px 19px; }.question-fieldset legend { font-size:clamp(1.78rem,8.4vw,2.25rem); }.question-context { min-height:0; margin:12px 0 13px; }.question-helper { font-size:.82rem; }.quiz-sticker { display:none; }.scenario-card { min-height:205px; margin:2px 0 16px; border-radius:16px; }.option-content { min-height:57px; padding:11px 12px; }.option-label { font-size:.85rem; }.option.option-object .option-content { min-height:126px; padding:11px 7px; }.option-emoji { font-size:1.65rem; }.option.option-object .option-label { font-size:.73rem; }.quiz-card-footer { flex-direction:column; align-items:stretch; gap:12px; padding:14px 22px 18px; }.quiz-card-footer p { max-width:none; text-align:center; }.quiz-card-footer .button { width:100%; }.build-view { min-height:calc(100vh - 75px); padding:18px 16px 62px; }.build-card { padding:38px 22px; }.result-view { margin:18px auto 61px; }.result-top { grid-template-columns:1fr; gap:20px; padding:28px 22px 25px; }.result-character { width:142px; height:142px; margin-bottom:11px; align-items:flex-end; }.result-character img { display:block; width:100%; height:100%; object-fit:contain; }.result-heading h1 { font-size:clamp(2rem,9vw,2.5rem); }.result-grid { grid-template-columns:1fr; padding:10px; }.result-card { padding:21px; }.result-actions { padding:21px 16px 11px; }.result-actions .button { width:100%; }.proof-section { padding:4px 0 64px; }.proof-heading h2,.offer-copy h2,.faq-heading h2 { font-size:clamp(1.95rem,8.8vw,2.65rem); }.proof-grid { grid-template-columns:1fr; margin-top:27px; }.proof-card:last-child { grid-column:auto; }.app-shot { width:min(100%,230px); }.offer-section { padding-bottom:64px; }.offer-copy { padding:34px 23px; }.offer-price { min-height:138px; padding:23px 25px; }.offer-price strong { font-size:4.25rem; }.faq-section { padding-bottom:67px; }.legal-main { width:calc(100% - 32px); margin:22px auto 60px; padding:27px 22px; }.legal-main h1 { font-size:2.3rem; } }
@media (max-width:560px) { .question-fieldset { padding-bottom:9px; }.quiz-card-footer { padding:11px 22px 16px; } }
.result-top { grid-template-columns:128px 1fr; gap:20px; padding:26px 31px; }.result-character { height:116px; }.risk-heading { justify-content:flex-end; }.risk-number { display:flex; align-items:baseline; color:#d83539; }.risk-number strong { font-family:Nunito,system-ui,sans-serif; font-size:3rem; letter-spacing:-.015em; line-height:.82; }.risk-number span { font-size:.72rem; font-weight:900; }.risk-score-card p strong { color:#725f55; font-size:inherit; }.proof-section { padding-bottom:62px; }.proof-highlight { color:var(--tomato-dark)!important; font-weight:900!important; }.proof-grid { margin-top:27px; }.proof-card { padding:22px 20px 23px; }.proof-card h3 { font-size:1.28rem; }.proof-card p { margin-bottom:14px; }.app-shot { width:min(100%,188px); border-radius:24px; }.app-shot img { border-radius:14px; }.offer-section { padding-bottom:68px; }
@media (max-width:560px) { .result-top { grid-template-columns:1fr; gap:10px; padding:22px; }.result-character { width:96px; height:96px; margin:0 auto; }.result-heading h1 { font-size:clamp(2rem,8.5vw,2.35rem); }.result-summary { font-size:.87rem; }.risk-score-card { gap:12px; }.risk-number strong { font-size:2.65rem; }.proof-section { padding-bottom:48px; }.proof-heading h2,.offer-copy h2 { font-size:clamp(2rem,8.5vw,2.35rem); }.app-shot { width:min(100%,174px); }.offer-section { padding-bottom:54px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

/* Funil de resultado em três etapas */
.journey-view { width:min(calc(100% - 48px),760px); min-height:calc(100vh - 150px); margin:19px auto 72px; }
.journey-shell { min-height:inherit; padding:16px; border:1px solid #ecdace; border-radius:31px; background:linear-gradient(150deg,#fffefa 0%,#fff8f0 100%); box-shadow:var(--shadow); }
.journey-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:34px; margin:0 4px 15px; }
.journey-step { margin:0; color:#89746a; font-size:.67rem; font-weight:900; letter-spacing:.055em; text-align:center; text-transform:uppercase; }
.journey-back { justify-self:start; padding:6px 3px; color:var(--tomato-dark); border:0; background:transparent; font-size:.73rem; font-weight:900; }
.journey-back:hover { text-decoration:underline; text-underline-offset:3px; }
.journey-spacer { min-width:42px; }
.journey-stage { animation:journeyIn .34s ease both; }
.journey-stage[hidden] { display:none; }
.journey-intro { display:grid; grid-template-columns:128px minmax(0,1fr); align-items:center; gap:21px; padding:17px 18px 24px; }
.journey-fruit { display:grid; width:126px; height:120px; place-items:center; }
.journey-fruit img { display:block; width:100%; height:100%; object-fit:contain; }
.journey-stage h1 { max-width:620px; margin:8px 0 9px; font-family:Nunito,system-ui,sans-serif; font-size:clamp(2.1rem,5.2vw,3.35rem); letter-spacing:-.015em; line-height:1.01; }
.journey-summary { max-width:610px; margin:0; color:#6e615a; font-size:.91rem; font-weight:600; line-height:1.55; }
.diagnosis-stack { display:grid; gap:10px; }
.diagnosis-card { display:grid; grid-template-columns:35px minmax(0,1fr); gap:12px; padding:16px 18px; border-radius:18px; }
.diagnosis-card>span { display:grid; width:31px; height:31px; place-items:center; border-radius:10px; font-size:.9rem; font-weight:900; }
.diagnosis-card p { margin:0; font-size:.76rem; font-weight:600; line-height:1.43; }
.diagnosis-card p:first-child { margin-bottom:4px; font-size:.6rem; font-weight:900; letter-spacing:.075em; text-transform:uppercase; }
.diagnosis-card h2 { margin:0 0 5px; font-size:.98rem; line-height:1.2; }
.diagnosis-card-attention { color:#743a34; background:#fff0ea; }
.diagnosis-card-attention>span { color:#c33d35; background:#ffdcd1; }
.diagnosis-card-attention p:first-child { color:#ba4338; }
.diagnosis-card-positive { color:#326042; background:#edf7eb; }
.diagnosis-card-positive>span { color:#2f8753; background:#d9eed6; }
.diagnosis-card-positive p:first-child { color:#39845a; }
.diagnosis-card-next { color:#73542e; background:#fff7df; }
.diagnosis-card-next>span { color:#a96c27; background:#ffeab0; }
.diagnosis-card-next p:first-child { color:#a1702d; }
.journey-reassurance { max-width:570px; margin:21px auto 0; color:#584941; font-family:Nunito,system-ui,sans-serif; font-size:1.14rem; font-weight:600; letter-spacing:-.025em; line-height:1.28; text-align:center; }
.journey-disclosure { margin:13px auto 0; color:#97847a; font-size:.64rem; font-weight:700; line-height:1.4; text-align:center; }
.journey-action { display:flex; justify-content:center; margin-top:23px; }
.journey-action .button { min-width:min(100%,314px); min-height:53px; padding:14px 23px; font-size:.82rem; }

.solution-copy,.offer-heading { max-width:650px; margin:0 auto; padding:16px 18px 0; text-align:center; }
.solution-copy .journey-summary,.offer-heading .journey-summary { margin-right:auto; margin-left:auto; }
.phone-showcase { position:relative; display:grid; width:min(100%,326px); margin:27px auto 23px; place-items:center; }
.phone-showcase::before { position:absolute; inset:12% -25% -7%; z-index:0; content:""; border-radius:50%; background:radial-gradient(ellipse,rgba(255,207,118,.43),rgba(255,207,118,0) 69%); }
.phone-frame { position:relative; z-index:1; overflow:hidden; width:208px; padding:5px; border:6px solid #3a302b; border-radius:30px; background:#3a302b; box-shadow:0 21px 38px rgba(66,42,29,.25); }
.phone-frame img { display:block; width:100%; height:auto; border-radius:19px; }
.benefit-list { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:12px; }
.benefit-list article { display:grid; grid-template-columns:auto 1fr; gap:8px; align-items:flex-start; padding:13px 11px; border:1px solid #eee0d4; border-radius:15px; background:#fffdf9; }
.benefit-list span { font-size:1rem; line-height:1; }
.benefit-list h2 { margin:0; font-size:.76rem; line-height:1.2; }
.benefit-list p { margin:3px 0 0; color:var(--muted); font-size:.66rem; font-weight:600; line-height:1.35; }

.offer-heading { padding-bottom:3px; }
.offer-product { display:grid; grid-template-columns:1fr 160px; gap:18px; align-items:center; max-width:535px; margin:24px auto 18px; padding:18px 22px; overflow:hidden; border:1px solid #f1d8c8; border-radius:23px; background:linear-gradient(135deg,#fff2e5,#fffaf1); }
.offer-app-mark { display:flex; align-items:center; gap:10px; color:#382e29; font-family:Nunito,system-ui,sans-serif; font-size:1.18rem; font-weight:700; letter-spacing:-.015em; line-height:1.05; }
.offer-app-mark img { flex:0 0 auto; width:42px; height:42px; }
.offer-app-mark small { color:#806e65; font-family:"DM Sans",system-ui,sans-serif; font-size:.59rem; font-weight:800; letter-spacing:0; }
.offer-phone { justify-self:end; overflow:hidden; width:120px; padding:4px; border:5px solid #392f2b; border-radius:22px; background:#392f2b; box-shadow:0 13px 25px rgba(66,42,29,.2); transform:rotate(4deg); }
.offer-phone img { display:block; width:100%; border-radius:13px; }
.offer-benefits { display:grid; grid-template-columns:1fr 1fr; gap:8px 11px; max-width:535px; margin:18px auto 0; padding:0; list-style:none; }
.offer-benefits li { position:relative; padding-left:24px; color:#4f423c; font-size:.76rem; font-weight:800; line-height:1.32; }
.offer-benefits li::before { position:absolute; left:0; top:0; display:grid; width:17px; height:17px; content:"✓"; place-items:center; color:#38865a; border-radius:50%; background:#e1f1dd; font-size:.63rem; }
.inside-details { max-width:535px; margin:21px auto 0; overflow:hidden; border:1px solid #eaded3; border-radius:15px; background:#fffdf9; }
.inside-details summary { display:flex; align-items:center; justify-content:space-between; padding:15px 17px; color:#533f36; font-size:.78rem; font-weight:900; cursor:pointer; list-style:none; }
.inside-details summary::-webkit-details-marker { display:none; }
.inside-details summary span { display:grid; width:21px; height:21px; place-items:center; color:var(--tomato-dark); border-radius:7px; background:#fff0e8; font-size:1.1rem; }
.inside-details[open] summary span { transform:rotate(45deg); }
.inside-preview-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; padding:2px 14px 15px; }
.inside-preview-grid figure { display:grid; grid-template-columns:65px minmax(0,1fr); gap:9px; align-items:center; margin:0; padding:8px; border-radius:12px; background:#fff5eb; }
.inside-preview-grid img { display:block; width:65px; border-radius:9px; box-shadow:0 5px 11px rgba(65,40,27,.16); }
.inside-preview-grid figcaption { color:#69594f; font-size:.65rem; font-weight:800; line-height:1.25; }
.offer-price-line { display:grid; justify-items:center; gap:1px; margin:24px 0 0; text-align:center; }
.offer-price-line span { color:#887166; font-size:.69rem; font-weight:800; }
.offer-price-line strong { color:var(--tomato-dark); font-family:Nunito,system-ui,sans-serif; font-size:3.8rem; letter-spacing:-.015em; line-height:.94; }

@keyframes journeyIn { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:560px) {
  .journey-view { width:calc(100% - 32px); min-height:calc(100vh - 112px); margin:7px auto 52px; }
  .journey-shell { padding:10px; border-radius:24px; }
  .journey-header { margin:0 3px 11px; }
  .journey-step { font-size:.59rem; }
  .journey-intro { grid-template-columns:1fr; gap:8px; padding:8px 10px 18px; text-align:center; }
  .journey-fruit { width:82px; height:79px; margin:auto; }
  .journey-stage h1 { font-size:clamp(1.94rem,8.4vw,2.45rem); }
  .journey-summary { font-size:.84rem; }
  .diagnosis-card { grid-template-columns:30px minmax(0,1fr); gap:10px; padding:13px; border-radius:15px; }
  .diagnosis-card>span { width:27px; height:27px; border-radius:8px; }
  .diagnosis-card p { font-size:.71rem; }.diagnosis-card h2 { font-size:.87rem; }
  .journey-reassurance { margin-top:17px; font-size:1.01rem; }
  .journey-disclosure { font-size:.58rem; }
  .journey-action { position:sticky; bottom:9px; z-index:4; margin:19px -1px 0; padding:9px 2px 1px; background:linear-gradient(180deg,rgba(255,254,250,0),#fffaf4 30%); }
  .journey-action .button { width:100%; min-height:52px; box-shadow:0 14px 25px rgba(201,56,52,.34); }
  .solution-copy,.offer-heading { padding:8px 9px 0; }
  .phone-showcase { width:245px; margin:21px auto 18px; }.phone-frame { width:181px; border-radius:27px; }
  .benefit-list { grid-template-columns:1fr; gap:7px; }.benefit-list article { padding:11px 12px; }.benefit-list p { font-size:.68rem; }
  .offer-product { grid-template-columns:1fr 112px; gap:8px; margin:18px 0 16px; padding:14px; }.offer-phone { width:100px; }
  .offer-benefits { grid-template-columns:1fr; gap:8px; margin-top:15px; }.offer-benefits li { font-size:.73rem; }
  .inside-preview-grid { grid-template-columns:1fr; }.inside-preview-grid figure { grid-template-columns:59px 1fr; }.inside-preview-grid img { width:59px; }
  .offer-price-line { margin-top:20px; }.offer-price-line strong { font-size:3.45rem; }
}

/* Diagnóstico personalizado — ajustes */
.journey-step { grid-column:2; }
.journey-back { grid-column:1; grid-row:1; }
.diagnosis-card>span { font-size:1rem; }
.journey-stage.is-active .diagnosis-card { animation:cardReveal .45s ease both; }
.journey-stage.is-active .diagnosis-card:nth-child(2) { animation-delay:.12s; }
.journey-stage.is-active .diagnosis-card:nth-child(3) { animation-delay:.24s; }
.journey-restart { padding:0; color:#97847a; border:0; background:transparent; font:inherit; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.phone-frame img,.phone-frame video { aspect-ratio:9 / 16; object-fit:cover; object-position:top; }
.offer-phone img,.offer-phone video,.inside-preview-grid img,.inside-preview-grid video { display:block; width:100%; aspect-ratio:9 / 16; object-fit:cover; object-position:top; }
.inside-preview-grid video { width:65px; border-radius:9px; }
.solution-focus { position:relative; z-index:1; max-width:290px; margin:14px auto 0; padding:8px 12px; color:#7d332d; border:1px solid #f4c8b9; border-radius:12px; background:#fff4ec; font-size:.74rem; font-weight:800; line-height:1.35; text-align:center; }
.solution-focus:empty { display:none; }
.benefit-list article.is-featured { border-color:#f0b49f; background:#fff4ec; box-shadow:0 8px 18px rgba(201,56,52,.1); }
.offer-focus { max-width:535px; margin:0 auto 4px; padding:14px 16px; border-left:4px solid var(--tomato); border-radius:14px; background:#fff4ec; }
.offer-focus p:first-child { margin:0 0 3px; color:var(--tomato-dark); font-size:.6rem; font-weight:900; letter-spacing:.075em; text-transform:uppercase; }
.offer-focus h2 { margin:0 0 4px; color:#5d2f2a; font-size:.95rem; line-height:1.2; }
.offer-focus p:last-child { margin:0; color:#6e4b44; font-size:.74rem; font-weight:600; line-height:1.4; }
.offer-benefits li.is-featured { color:var(--tomato-dark); }
.offer-note { max-width:420px; margin:12px auto 4px; color:#97847a; font-size:.64rem; font-weight:700; line-height:1.45; text-align:center; }
@keyframes cardReveal { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:none; } }
@media (max-width:560px) {
  .journey-stage h1 { font-size:clamp(1.7rem,7.4vw,2.2rem); }
  .journey-step { white-space:nowrap; }
  .journey-fruit { margin-bottom:8px; }
  .offer-focus { margin:0 0 4px; }
  .offer-note { margin-top:10px; }
}
.journey-back { white-space:nowrap; }
@media (max-width:380px) {
  .journey-header { grid-template-columns:auto 1fr; gap:10px; }
  .journey-step { white-space:normal; text-align:right; }
  .journey-spacer { display:none; }
  .journey-action .button { font-size:.78rem; }
}
@media (max-width:380px) {
  .offer-product { grid-template-columns:1fr 88px; padding:12px 14px; }
  .offer-app-mark { flex-direction:column; align-items:flex-start; gap:8px; font-size:1.1rem; }
  .offer-app-mark span { white-space:nowrap; }
  .offer-phone { width:88px; border-width:4px; border-radius:18px; }
}

/* Títulos em Nunito (mesma fonte do app): mais legível no celular */
.question-fieldset legend,.journey-stage h1,.build-card h1 { font-weight:800; line-height:1.15; }
.journey-reassurance { font-weight:700; line-height:1.35; }
.offer-price-line strong { font-weight:900; }
@media (max-width:560px) {
  .question-fieldset legend { font-size:clamp(1.4rem,6.4vw,1.75rem); }
  .journey-stage h1 { font-size:clamp(1.45rem,6.6vw,1.85rem); }
  .question-kicker { letter-spacing:.08em; }
}

/* Preço: único, vitalício, promocional e pulsando */
.offer-price-box { display:grid; justify-items:center; gap:6px; max-width:420px; margin:22px auto 0; padding:18px 16px 16px; border:2px dashed #f2b29d; border-radius:20px; background:#fff; text-align:center; }
.promo-badge { padding:5px 11px; color:#fff; border-radius:999px; background:linear-gradient(135deg,#ff624c,#d83539); font-size:.68rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.price-pulse { display:inline-block; color:var(--tomato-dark); font-family:Nunito,system-ui,sans-serif; font-size:3.6rem; font-weight:900; letter-spacing:-.015em; line-height:1; animation:pricePulse 1.6s ease-in-out infinite; }
.price-terms { color:#4f423c; font-size:.86rem; font-weight:700; }
.price-terms b { color:var(--leaf); font-weight:900; }
.promo-urgency { margin:2px 0 0; color:var(--tomato-dark); font-size:.72rem; font-weight:800; }
@keyframes pricePulse { 0%,100% { transform:scale(1); text-shadow:0 0 0 rgba(216,53,57,0); } 50% { transform:scale(1.08); text-shadow:0 6px 22px rgba(216,53,57,.35); } }
@media (max-width:560px) { .offer-price-box { margin-top:18px; } .price-pulse { font-size:3.2rem; } }

/* Oferta: Bananildo mostrando o app de verdade */
.offer-hero { position:relative; max-width:420px; margin:20px auto 16px; overflow:hidden; border:1px solid #f1d8c8; border-radius:24px; background:#fbe6d4; }
.offer-hero > img { display:block; width:100%; height:auto; }
.offer-hero-mark { position:absolute; right:12px; bottom:12px; display:flex; align-items:center; gap:8px; padding:8px 12px 8px 8px; border-radius:16px; background:rgba(255,255,255,.92); box-shadow:0 8px 20px rgba(66,42,29,.16); backdrop-filter:blur(4px); }
.offer-hero-mark img { width:34px; height:34px; }
.offer-hero-mark span { display:grid; color:#382e29; font-size:.95rem; font-weight:900; line-height:1.1; }
.offer-hero-mark small { color:#806e65; font-size:.6rem; font-weight:800; }

/* Carregamento do diagnóstico: logo do Lar em Dia */
.build-logo { display:grid; width:92px; height:92px; margin:0 auto 16px; place-items:center; border-radius:28px; background:#fff; box-shadow:0 12px 28px rgba(201,56,52,.2); animation:logoBeat 1.3s ease-in-out infinite; }
.build-logo img { display:block; width:76px; height:76px; }
@keyframes logoBeat { 0%,100% { transform:scale(1); } 50% { transform:scale(1.08); } }

/* Perguntas: sem cabeçalho e sem linha "Cena X", pra as opções caberem na tela */
body:has(#quiz-view:not([hidden])) .quiz-header { display:none; }
.question-fieldset { padding-top:22px; }
/* Oferta: foto do Bananildo menor */
.offer-hero { max-width:300px; }
.offer-hero > img { aspect-ratio:1 / .9; object-fit:cover; object-position:50% 58%; }
@media (max-width:560px) {
  .quiz-view { margin-top:12px; }
  .scenario-card { min-height:170px; margin-bottom:12px; }
  .question-context { margin:8px 0 10px; }
  .offer-hero { max-width:250px; margin:14px auto 12px; }
  .offer-hero-mark { right:8px; bottom:8px; padding:5px 9px 5px 6px; border-radius:12px; }
  .offer-hero-mark img { width:26px; height:26px; }
  .offer-hero-mark span { font-size:.78rem; }
  .offer-hero-mark small { font-size:.5rem; }
}
@media (max-width:560px) {
  .quiz-card { overflow:clip; }
  .quiz-card-footer { position:sticky; bottom:0; z-index:5; box-shadow:0 -8px 18px rgba(92,55,35,.08); }
}
@media (max-width:560px) {
  .scenario-card { min-height:140px; max-height:150px; }
  .quiz-card-footer { padding:8px 22px 10px; }
  .quiz-card-footer .button { min-height:46px; }
  .answer-reaction { min-height:0; margin-top:4px; }
}

/* Botão Continuar das perguntas: volta a ficar no fluxo da página (sem barra fixa) */
@media (max-width:560px) {
  .quiz-card { overflow:hidden; }
  .quiz-card-footer { position:static; box-shadow:none; border-top:0; background:transparent; padding:4px 22px 18px; }
}

/* Diagnóstico/oferta: sem rótulo de etapa, só o "Voltar" */
.journey-header { display:flex; justify-content:flex-start; min-height:30px; margin-bottom:6px; }
