:root{--bg-950: #0d0a08;--bg-900: #15110f;--bg-850: #1b1613;--surface-800: #231d19;--surface-760: #2b231f;--surface-700: #322822;--brown-500: #8f6548;--brown-420: #b07a56;--brown-300: #d1a37f;--text-100: #f2ece4;--text-200: #dccfbe;--text-300: #b7a794;--accent-gold: #c8924f;--accent-green: #57c39f;--danger: #cb5f5f}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%}body{font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-weight:380;background:radial-gradient(circle at 20% 0%,rgba(176,122,86,.2),transparent 52%),radial-gradient(circle at 80% 80%,rgba(143,101,72,.16),transparent 58%),var(--bg-950);color:var(--text-100);letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}button,input{font:inherit}.app-frame{width:100%;max-width:598px;height:100dvh;margin:0 auto;border-left:1px solid rgba(177,125,89,.12);border-right:1px solid rgba(177,125,89,.12);background:linear-gradient(180deg,var(--bg-900),var(--bg-950))}.funnel-shell{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto}.top-bar{padding:env(safe-area-inset-top) 14px 0;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid rgba(210,163,127,.08);background:linear-gradient(180deg,#1a1411f2,#120e0cd9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-bottom:10px}.top-bar-row{display:grid;grid-template-columns:86px 1fr 86px;align-items:center;min-height:48px}.back-button{width:auto;min-width:74px;height:34px;border-radius:999px;padding:0 10px;border:1px solid rgba(177,125,89,.26);background:#2b231fa6;color:var(--text-100);font-size:.8rem;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,opacity .2s ease,border-color .2s ease}.back-button:active:not(:disabled){transform:scale(.95)}.back-button:disabled{opacity:.35;cursor:not-allowed}.brand-name{margin:0;text-align:center;font-family:Cormorant Upright,serif;font-style:normal;font-weight:500;font-size:1.2rem;letter-spacing:.06em}.progress-sections{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:0 2px}.progress-section{display:flex;flex-direction:column;gap:4px}.progress-section-bar{position:relative;height:4px;border-radius:999px;background:#b07a5629;overflow:hidden}.progress-section-bar-active{background:#b07a5638}.progress-section-bar-done{background:#c8924f47}.progress-section-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brown-420),var(--accent-gold));box-shadow:0 0 6px #c8924f80}.progress-section-label{margin:0;font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-300);text-align:center;opacity:.7}.funnel-content{position:relative}.funnel-content-locked{overflow:hidden}.funnel-content-scrollable{overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.step-page{width:100%;height:100%;padding:8px 10px 10px}.funnel-content-scrollable .step-page{min-height:100%;height:auto;padding-bottom:calc(48px + env(safe-area-inset-bottom))}.step{width:100%;display:flex;flex-direction:column;gap:12px}.step-welcome{align-items:center;text-align:center;min-height:100%;justify-content:space-evenly;gap:8px}.step-welcome .step-hero-image{display:block;width:100%;max-width:520px;height:auto;margin:-4px auto -6px;border-radius:16px;object-fit:cover}.step-welcome .step-icon{margin:0 auto}.step-welcome .step-title{font-size:clamp(1.9rem,7.4vw,2.6rem);line-height:1.16}.step-welcome .step-title,.step-welcome .step-description,.step-welcome .rating-line{text-align:center}.step-welcome .step-description{margin-top:20px;margin-bottom:-10px}.step-question{align-items:center;text-align:center;min-height:100%;justify-content:center;gap:20px}.step-question .step-title,.step-question .step-helper,.step-question .media-placeholder{text-align:center}.step-question .options-grid{width:100%;flex:0 1 auto;gap:10px;padding:4px 0;margin-top:12px}.step-question .option-card{width:100%;margin:0}.step-question .option-label{font-size:.85rem;line-height:1.25}.step-affirmation{min-height:100%;justify-content:center;align-items:center;text-align:center;gap:16px}.step-affirmation .step-icon,.step-affirmation .step-title,.step-affirmation .step-description{text-align:center}.step-affirmation .step-description{max-width:100%}.step-result{min-height:100%;justify-content:center;align-items:center;text-align:center;gap:16px}.step-result .step-icon,.step-result .step-kicker,.step-result .step-title,.step-result .step-description{text-align:center}.step-result .step-kicker{margin:-8px 0 -12px}.step-result .result-map{width:100%;text-align:left}.step-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#322822b3;border:1px solid rgba(176,122,86,.25)}.step-title{margin:0;line-height:1.25;font-size:clamp(1.34rem,5vw,1.55rem);font-weight:450;letter-spacing:.01em}.step-description{margin:0;font-size:1.05rem;color:var(--text-200);line-height:1.45}.step-description em{font-style:italic;display:inline-block;transform:skew(-8deg)}.step-description .step-description-note{font-size:.82em;color:var(--text-300)}.keyword-anchor{position:relative;display:inline-block;z-index:0}.keyword-spring{position:absolute;width:75%;height:auto;left:calc(18% + 20px);bottom:85%;color:currentColor;opacity:.5;transform:rotate(-6deg) scaleY(.8);transform-origin:left center;overflow:visible;pointer-events:none;z-index:1}.keyword-spring-path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.step-helper{margin:0;color:var(--text-300);font-size:.9rem}.rating-line{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-300);font-size:.88rem;letter-spacing:.08em}.rating-stars{color:var(--accent-gold);font-size:1.1rem;letter-spacing:.12em;text-transform:none}.rating-copy{color:var(--text-300);font-size:.88rem;letter-spacing:.06em;text-transform:none}.media-placeholder{width:100%;min-height:112px;border-radius:18px;border:1px solid rgba(176,122,86,.2);background:linear-gradient(145deg,#322822eb,#16110ef2),radial-gradient(circle at 20% 20%,rgba(200,145,90,.18),transparent 42%);display:flex;align-items:end;padding:12px 14px;color:var(--text-300);font-size:.82rem;letter-spacing:.03em}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.options-grid-single-column{grid-template-columns:1fr}.options-grid-compact .option-card{min-height:64px}.options-grid-multi{max-height:54dvh;overflow:auto;padding-right:4px}.step-question .options-grid.options-grid-multi{max-height:none;overflow:hidden;padding-right:0}.option-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;border:1px solid rgba(176,122,86,.22);border-radius:14px;padding:14px 12px;background:#231d19b8;color:var(--text-100);cursor:pointer;transition:transform .15s ease,border-color .2s ease,background .24s ease,box-shadow .24s ease}.option-card:active{transform:scale(.985)}.option-card-selected{border-color:#c8924ff2;background:#3f2f26f2;box-shadow:0 10px 22px #0000003d}.option-top-row{display:flex;flex-direction:row;align-items:center;gap:10px}.option-emoji{font-size:1.25rem;line-height:1;flex-shrink:0}.option-text{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.option-label{font-size:.9rem;line-height:1.3;text-align:left}.option-badge{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;padding:2px 6px;border-radius:999px;color:var(--bg-950);background:var(--accent-gold);white-space:nowrap}.option-description{margin:8px 0 0;color:var(--text-300);font-size:.78rem;line-height:1.3}.progress-track{width:100%;height:7px;border-radius:999px;background:#b07a562b;overflow:hidden}.progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brown-420),var(--accent-gold))}.step-kicker{margin:2px 0 0;color:var(--text-300);text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.result-map{margin-top:8px;border:1px solid rgba(176,122,86,.25);border-radius:16px;background:#231d19b3;padding:12px}.result-map h2{margin:0 0 10px;font-size:.95rem;font-weight:500}.result-map-row+.result-map-row{margin-top:10px}.result-map-label{display:flex;align-items:center;justify-content:space-between;font-size:.83rem;color:var(--text-200);margin-bottom:4px}.result-map-track{height:6px;border-radius:999px;background:#b07a5633;overflow:hidden}.result-map-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b07a56,#d6a16e)}.loading-track-wrap{margin-top:6px}.loading-track{width:100%;height:8px;border-radius:999px;background:#b07a562e;overflow:hidden}.loading-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b07952,#d8ad79)}.loading-label{margin:8px 2px 0;color:var(--text-300);font-size:.8rem}.loading-modal{margin-top:10px;border:1px solid rgba(176,122,86,.3);border-radius:14px;background:#2f2621f2;padding:12px}.loading-modal h2{margin:0 0 10px;font-size:.98rem;font-weight:500}.loading-modal-actions{display:flex;gap:8px}.loading-modal-actions button{flex:1;min-height:40px;border-radius:11px;border:1px solid rgba(176,122,86,.34);background:#231d19cc;color:var(--text-100)}.loading-ready{margin-top:6px;display:grid;gap:10px}.loading-ready p{margin:0;color:var(--text-200)}.loading-complete{color:var(--accent-green);font-weight:520}.text-input-label{font-size:.8rem;color:var(--text-300);margin-bottom:-6px}.text-input{width:100%;min-height:44px;border:1px solid rgba(176,122,86,.25);border-radius:12px;background:#231d19bf;color:var(--text-100);padding:0 12px}.text-input::placeholder{color:#c5b29d85}.secondary-button{margin-top:2px;border:1px solid rgba(176,122,86,.25);border-radius:12px;min-height:42px;color:var(--text-100);background:#231d19b8}.tiny-note{margin:0;color:var(--text-300);font-size:.78rem}.social-proof-container{display:flex;flex-direction:column;gap:10px;margin-top:10px}.social-proof{margin:0;border:1px solid rgba(176,122,86,.18);border-radius:12px;padding:10px;background:#1f1915b8}.social-proof p,.social-proof footer{margin:0}.social-proof footer{margin-top:5px;font-size:.79rem;color:var(--text-300)}.step-payment{padding-bottom:22px}.plan-selection{display:flex;gap:8px;width:100%}.plan-card{flex:1;display:flex;align-items:center;justify-content:center;height:48px;border:1px solid rgba(176,122,86,.22);border-radius:12px;background:#1e181499;color:var(--text-200);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.plan-card:active{transform:scale(.97)}.plan-card-selected{border-color:#b07a56cc;background:#3c2c24cc;color:#fff}.founding-card{border:1px solid rgba(176,122,86,.35);border-radius:16px;background:linear-gradient(145deg,#3c2c24eb,#211a16e6);padding:12px}.founding-card-label{margin:0 0 10px;color:var(--brown-300);text-transform:uppercase;letter-spacing:.08em;font-size:.73rem}.founding-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;color:var(--text-100)}.split-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-why-card{margin-top:8px;border-top:1px solid rgba(176,122,86,.25);padding-top:12px}.payment-why-card h2{margin:0 0 6px;font-size:.94rem}.payment-why-card p{margin:0;color:var(--text-200);line-height:1.42}.bottom-confirm-bar{padding:10px 16px calc(48px + env(safe-area-inset-bottom))}.primary-button,.primary-inline-button{width:100%;min-height:46px;border:none;border-radius:13px;background:linear-gradient(135deg,#b27f59,#d49f6e);color:#14100d;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .16s ease,filter .18s ease,opacity .18s ease}.primary-button:active:not(:disabled),.primary-inline-button:active:not(:disabled){transform:scale(.985)}.primary-button:disabled,.primary-inline-button:disabled{opacity:.45;cursor:not-allowed}.success-banner{margin-top:10px;border:1px solid rgba(87,195,159,.5);border-radius:11px;padding:10px;background:#1b3028cc;color:#b5ecd8;font-size:.84rem}@media(max-height:760px){.step-page{padding:9px 8px 8px}.options-grid-multi{max-height:48dvh}.step-title{font-size:clamp(1.2rem,5vw,1.42rem)}}
