@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@300;400;500;600;700;800&display=swap";:root{--ink: #0B3D4F;--ink-soft: #1A5A6E;--ink-muted: #4A7886;--accent: #8a9e2a;--accent-deep: #7a8e1f;--accent-soft: #e8f0c4;--mint-bg: #f4f9e8;--cream: #FAF7F0;--cream-deep: #F2EDDF;--surface: #FFFFFF;--border: #E8E5DD;--border-soft: #F0EDE5;--danger: #DC2626;--danger-bg: #FEF2F2;--warning: #F59E0B;--warning-bg: #FFFBEB;--shadow-sm: 0 1px 2px rgba(11,61,79,.04), 0 1px 3px rgba(11,61,79,.06);--shadow-md: 0 4px 12px rgba(11,61,79,.06), 0 2px 4px rgba(11,61,79,.04);--shadow-lg: 0 20px 48px rgba(11,61,79,.12), 0 8px 16px rgba(11,61,79,.06)}.funnel-root *{box-sizing:border-box}.funnel-root{min-height:100vh;background:var(--cream);background-image:radial-gradient(at 20% 10%,rgba(16,185,129,.06) 0%,transparent 50%),radial-gradient(at 80% 90%,rgba(11,61,79,.05) 0%,transparent 50%);display:flex;justify-content:center;align-items:flex-start;font-family:Manrope,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}.funnel-shell{width:100%;max-width:480px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--shadow-lg);position:relative}.top-bar{display:flex;align-items:center;gap:12px;padding:12px 20px 14px;border-bottom:1px solid var(--border-soft);background:var(--surface);position:sticky;top:0;z-index:10}.top-bar-back{width:36px;height:36px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:background .15s;flex-shrink:0}.top-bar-back:hover{background:var(--cream)}.top-bar-back svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.progress-wrap{flex:1}.progress-meta{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink-muted);font-weight:600;letter-spacing:.02em;margin-bottom:5px;text-transform:uppercase}.progress-track{height:4px;background:var(--border-soft);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#8a9e2a,#7a8e1f);border-radius:2px;transition:width .4s cubic-bezier(.2,.8,.2,1)}.brand-logo{white-space:nowrap;flex-shrink:0}.top-bar-logo{height:22px;width:auto;object-fit:contain;display:block}.funnel-content{flex:1;overflow-y:visible;padding:24px 20px 16px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.funnel-content::-webkit-scrollbar{width:4px}.funnel-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.cta-area{padding:12px 20px 24px;border-top:1px solid var(--border-soft);background:var(--surface);position:sticky;bottom:0}.headline{font-family:"Instrument Serif",serif;font-size:30px;line-height:1.1;color:var(--ink);letter-spacing:-.015em;margin:0 0 8px}.headline em{font-style:italic;color:var(--accent-deep)}.subline{font-size:14.5px;color:var(--ink-muted);line-height:1.5;margin:0 0 24px}.section-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:20px 0 12px}.section-label:first-child{margin-top:0}.field-label{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:.01em}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile-grid.cols-1{grid-template-columns:1fr}.tile-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.tile{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:16px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;cursor:pointer;transition:all .18s cubic-bezier(.2,.8,.2,1);position:relative;text-align:left;font-family:inherit;color:var(--ink);width:100%}.tile:hover{border-color:var(--ink-muted);transform:translateY(-1px)}.tile.selected{border-color:var(--accent);background:var(--mint-bg);box-shadow:0 0 0 3px #8a9e2a1a}.tile.selected:after{content:"";position:absolute;top:10px;right:10px;width:18px;height:18px;background:var(--accent);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:10px;background-repeat:no-repeat;background-position:center}.tile-icon{font-size:22px;line-height:1}.tile-label{font-size:13.5px;font-weight:600;line-height:1.3}.tile-desc{font-size:11.5px;color:var(--ink-muted);line-height:1.3;font-weight:400}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--surface);border:1.5px solid var(--border);border-radius:100px;padding:10px 16px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .15s;font-family:inherit}.chip:hover{border-color:var(--ink-muted)}.chip.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-primary{width:100%;background:var(--ink);color:#fff;border:none;border-radius:14px;padding:16px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{background:#082f3d;transform:translateY(-1px)}.btn-primary:disabled{background:var(--border);color:var(--ink-muted);cursor:not-allowed;transform:none}.btn-primary.accent{background:#8a9e2a}.btn-primary.accent:hover{background:#7a8e1f}.btn-secondary{width:100%;background:transparent;color:var(--ink-muted);border:none;padding:10px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.skip-link{font-size:12px;color:var(--ink-muted);text-decoration:underline;text-underline-offset:3px;text-align:center;display:block;margin-top:10px;background:none;border:none;cursor:pointer;font-family:inherit;width:100%;font-weight:600}.jaw-wrap{background:linear-gradient(180deg,var(--cream),var(--surface));border:1px solid var(--border-soft);border-radius:20px;padding:16px;margin-bottom:12px;position:relative}.quad-zone{fill:transparent;stroke:#64783c59;stroke-width:1.5;stroke-dasharray:6 4;cursor:pointer;transition:fill .18s}.quad-zone:hover{fill:#8a9e2a1f}.quad-zone.quad-selected{fill:#8a9e2a40;stroke:#8a9e2a;stroke-dasharray:none;stroke-width:2}.slider-section{background:var(--cream);border-radius:18px;padding:20px 16px 16px;margin-bottom:20px}.slider-value{font-family:"Instrument Serif",serif;font-size:48px;font-weight:400;text-align:center;margin-bottom:4px;color:var(--ink);line-height:1}.slider-emoji{font-size:36px;text-align:center;margin-bottom:16px;transition:transform .2s}.slider-track-wrap{position:relative;height:40px;display:flex;align-items:center}.slider-track{height:8px;width:100%;background:linear-gradient(90deg,#8a9e2a,#fcd34d,#dc2626);border-radius:4px}.slider-input{position:absolute;inset:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;margin:0}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;background:#fff;border-radius:50%;box-shadow:0 2px 6px #00000026,0 0 0 2px var(--ink);cursor:pointer}.slider-input::-moz-range-thumb{width:28px;height:28px;background:#fff;border:2px solid var(--ink);border-radius:50%;cursor:pointer}.slider-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-muted);margin-top:8px;font-weight:600}.timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;background:var(--cream);border-radius:14px;padding:8px}.timeline-item{background:transparent;border:none;padding:10px 4px;border-radius:10px;font-size:11px;font-weight:600;color:var(--ink-muted);cursor:pointer;text-align:center;transition:all .15s;font-family:inherit;line-height:1.2}.timeline-item:hover{background:#fff9}.timeline-item.selected{background:var(--ink);color:#fff}.triage-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.triage-chip{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:12px 10px;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:8px;text-align:left;font-family:inherit;line-height:1.3;width:100%}.triage-chip:hover{border-color:var(--danger)}.triage-chip.selected{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.triage-chip .icon{font-size:16px;flex-shrink:0}.btn-all-clear{width:100%;background:linear-gradient(180deg,#8a9e2a,#7a8e1f);color:#fff;border:none;border-radius:16px;padding:18px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px 12px #10b9814d;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-all-clear:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.info-toggle{background:transparent;border:none;font-size:11.5px;color:var(--ink-muted);cursor:pointer;display:flex;align-items:center;gap:4px;margin-top:8px;font-family:inherit;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.info-box{background:var(--mint-bg);border-left:3px solid var(--accent);border-radius:8px;padding:10px 12px;font-size:12px;color:var(--ink-soft);line-height:1.5;margin:8px 0}.toggle-pills{display:flex;background:var(--cream);border-radius:12px;padding:4px;gap:4px;margin-bottom:12px}.toggle-pill{flex:1;background:transparent;border:none;padding:10px;font-size:13px;font-weight:600;color:var(--ink-muted);border-radius:8px;cursor:pointer;font-family:inherit;transition:all .15s}.toggle-pill.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.photo-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.photo-card{border-radius:14px;overflow:hidden;background:var(--surface);border:1.5px solid var(--border);position:relative}.photo-card-img-wrap{width:100%;aspect-ratio:3/2.6;overflow:hidden;background:#f5f5f3;position:relative}.photo-card-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.photo-card-label{padding:7px 10px 8px;font-size:11.5px;font-weight:700;color:var(--ink);line-height:1.3}.photo-card-hint{font-size:10px;font-weight:500;color:var(--ink-muted);margin-top:1px;display:block}.photo-handy-badge{position:absolute;bottom:6px;right:6px;width:44px;height:44px;border-radius:10px;overflow:hidden;border:2px solid white;box-shadow:0 2px 8px #0000002e;background:#fff}.photo-handy-badge img{width:100%;height:100%;object-fit:cover}.photo-quality-hint{background:var(--mint-bg);border:1.5px solid var(--accent-soft);border-radius:12px;padding:11px 14px;font-size:12px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;margin-bottom:18px}.upload-btn-main{width:100%;background:var(--accent);color:#fff;border:none;border-radius:14px;padding:16px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s;margin-bottom:10px}.upload-btn-main:hover{background:var(--accent-deep)}.upload-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.upload-slot{aspect-ratio:1;background:var(--cream);border:2px dashed var(--border);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:inherit;font-size:10.5px;font-weight:600;color:var(--ink-muted);padding:8px;text-align:center;overflow:hidden;position:relative}.upload-slot.filled{border-style:solid;border-color:var(--accent-deep);background:var(--mint-bg);padding:0}.upload-slot.filled img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}.upload-slot.add-slot{cursor:pointer;border:2px dashed var(--border);background:var(--cream);transition:border-color .15s,background .15s}.upload-slot.add-slot:hover{border-color:var(--accent);background:var(--mint-bg)}.add-slot-icon{font-size:22px;color:var(--ink-muted);line-height:1}.photo-delete-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;background:#0000008c;color:#fff;border:none;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s;z-index:2}.photo-delete-btn:hover{background:var(--danger)}.checkout-card{background:linear-gradient(135deg,#f4f9e8,#eef5d0);border:1px solid var(--accent-soft);border-radius:16px;padding:16px;margin-bottom:16px}.checkout-card-title{font-family:"Instrument Serif",serif;font-size:17px;font-style:italic;margin-bottom:12px;color:var(--ink)}.checkout-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.checkout-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink-soft);font-weight:500;line-height:1.4}.checkout-list li:before{content:"✓";color:var(--accent-deep);font-weight:800;flex-shrink:0;margin-top:1px}.price-row{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px;background:var(--cream);border-radius:12px;margin-bottom:16px}.price-row .plabel{font-size:12px;color:var(--ink-muted);font-weight:600}.price-row .pvalue{font-family:"Instrument Serif",serif;font-size:24px;color:var(--ink)}.input-field{width:100%;border:1.5px solid var(--border);border-radius:12px;padding:14px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--ink);margin-bottom:8px;display:block}.input-field:focus{outline:none;border-color:var(--accent)}.input-field::placeholder{color:var(--ink-muted);opacity:.7}.textarea-field{width:100%;border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;font-size:13px;font-family:inherit;resize:vertical;min-height:80px;background:var(--surface);color:var(--ink);display:block}.textarea-field:focus{outline:none;border-color:var(--accent)}.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--ink-soft);line-height:1.4;margin:12px 0;cursor:pointer}.checkbox-row input{margin-top:2px;accent-color:var(--accent-deep);flex-shrink:0}.checkbox-row a{color:var(--accent-deep)}.trust-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft)}.trust-badge{font-size:10.5px;color:var(--ink-muted);display:flex;align-items:center;gap:4px;font-weight:600;padding:4px 8px;background:var(--cream);border-radius:6px}.empathy-callout{background:var(--mint-bg);border-radius:12px;padding:12px 14px;font-family:"Instrument Serif",serif;font-style:italic;font-size:14px;line-height:1.4;color:var(--ink-soft);margin-bottom:16px}.persona-badge{display:inline-flex;align-items:center;gap:6px;background:var(--mint-bg);color:var(--accent-deep);padding:6px 10px;border-radius:100px;font-size:11px;font-weight:700;margin-bottom:12px}.info-callout{background:#3b82f614;border-radius:12px;padding:12px 14px;font-size:12.5px;color:#2563eb;font-weight:500;line-height:1.5;margin:4px 0 12px}.warning-callout{background:var(--warning-bg);border-left:3px solid var(--warning);border-radius:8px;padding:10px 12px;font-size:12px;color:#92400e;font-weight:600;line-height:1.4;margin-bottom:14px}.danger-callout{background:var(--danger-bg);border-radius:12px;padding:12px 14px;font-size:12.5px;color:var(--danger);font-weight:600;line-height:1.4;margin-top:14px}details{font-size:12px;color:var(--ink-muted);margin:8px 0 16px}details summary{cursor:pointer;font-weight:600;padding:4px 0;list-style:none;display:flex;align-items:center;gap:4px}details summary::-webkit-details-marker{display:none}details summary:after{content:"⌄";font-size:14px;transition:transform .2s}details[open] summary:after{transform:rotate(180deg)}details>p{font-size:11.5px;line-height:1.5;padding:8px 0;color:var(--ink-muted)}.welcome-screen{display:flex;flex-direction:column;padding:32px 20px 28px}.welcome-brand{display:flex;align-items:center;gap:10px;margin-bottom:42px}.welcome-brand-logo{height:36px;width:auto;object-fit:contain}.welcome-brand-mark{width:36px;height:36px;background:var(--ink);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Instrument Serif",serif;font-style:italic;font-size:20px}.welcome-brand-name{font-family:"Instrument Serif",serif;font-size:22px;color:var(--ink)}.welcome-hero{font-family:"Instrument Serif",serif;font-size:36px;line-height:1.07;color:var(--ink);letter-spacing:-.02em;margin:0 0 16px}.welcome-hero em{font-style:italic;color:var(--accent-deep)}.welcome-sub{font-size:15px;color:var(--ink-soft);line-height:1.5;margin:0 0 24px}.welcome-bullets{list-style:none;padding:0;margin:0 0 30px;display:flex;flex-direction:column;gap:12px}.welcome-bullets li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-soft);font-weight:500;line-height:1.45}.welcome-bullet-text{display:block;flex:1;min-width:0}.welcome-bullet-text strong{font-weight:800;color:var(--ink)}.welcome-bullets .dot{width:24px;height:24px;border-radius:50%;background:var(--mint-bg);display:flex;align-items:center;justify-content:center;color:var(--accent-deep);font-weight:800;font-size:13px;flex-shrink:0;margin-top:-1px}.welcome-process{background:var(--mint-bg);border-radius:18px;padding:24px 14px 18px;margin:0 -4px 24px}.welcome-section-title{font-family:"Instrument Serif",serif;font-size:30px;line-height:1.08;color:var(--ink);text-align:center;margin:0 0 10px}.welcome-section-sub{font-size:14px;line-height:1.45;color:#3f5917;text-align:center;font-weight:600;margin:0 auto 24px;max-width:360px}.welcome-step-list{display:flex;flex-direction:column;gap:34px}.welcome-step-card{background:var(--surface);border-radius:18px;padding:44px 18px 24px;text-align:center;position:relative;box-shadow:var(--shadow-sm)}.welcome-step-number{position:absolute;top:-26px;left:50%;transform:translate(-50%);width:58px;height:58px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:800}.welcome-step-card h3{font-size:20px;line-height:1.2;color:var(--ink);margin:0 0 14px}.welcome-step-card p{font-size:14px;line-height:1.5;color:var(--ink-soft);margin:0}.welcome-report{border:1.5px solid var(--accent-soft);background:linear-gradient(180deg,#f8fbef,var(--surface));border-radius:16px;padding:18px 16px;margin-bottom:18px}.welcome-report-title{font-family:"Instrument Serif",serif;font-style:italic;font-size:24px;line-height:1.15;color:var(--ink);margin:0 0 14px}.welcome-report-list{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:9px}.welcome-report-list li{display:flex;gap:9px;font-size:13.5px;line-height:1.4;color:var(--ink-soft);font-weight:600}.welcome-report-list li:before{content:"✓";color:var(--accent-deep);font-weight:800;flex-shrink:0}.welcome-report-note{font-size:11.5px;line-height:1.5;color:var(--ink-muted);margin:0}.welcome-help-link{display:block;width:fit-content;margin:0 auto;color:var(--accent-deep);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.emergency-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;min-height:100vh;background:linear-gradient(180deg,var(--danger-bg),white)}.emergency-icon{width:80px;height:80px;background:var(--danger);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:40px;color:#fff;box-shadow:0 10px 24px #dc262640;font-weight:900}.emergency-title{font-family:"Instrument Serif",serif;font-size:28px;color:var(--danger);margin-bottom:8px;line-height:1.15}.emergency-text{font-size:14px;color:var(--ink-soft);line-height:1.55;margin-bottom:24px}.emergency-call{width:100%;background:var(--danger);color:#fff;border-radius:14px;padding:18px;font-size:16px;font-weight:700;border:none;cursor:pointer;margin-bottom:8px;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}.emergency-call.secondary{background:var(--surface);color:var(--danger);border:2px solid var(--danger)}.success-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;min-height:100vh;background:linear-gradient(180deg,var(--mint-bg),white)}.success-icon{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#8a9e2a,#7a8e1f);display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 12px 32px #8a9e2a4d;animation:pop .5s cubic-bezier(.2,1.4,.4,1) backwards}@keyframes pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.success-icon svg{width:44px;height:44px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.success-title{font-family:"Instrument Serif",serif;font-size:32px;font-style:italic;margin-bottom:12px;line-height:1.1;color:var(--ink)}.success-text{font-size:14.5px;color:var(--ink-soft);line-height:1.55;margin-bottom:32px;max-width:280px}.success-card{background:var(--surface);border-radius:16px;padding:16px;width:100%;margin-bottom:24px;border:1px solid var(--border-soft);text-align:left}.success-card-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:6px 0}.success-card-row .slabel{color:var(--ink-muted);font-weight:600}.success-card-row .svalue{color:var(--ink);font-weight:700}.fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:600px){.funnel-root{padding:32px 16px;align-items:flex-start}.funnel-shell{border-radius:24px;box-shadow:var(--shadow-lg);height:calc(100vh - 64px);height:calc(100dvh - 64px);min-height:0}.funnel-content{min-height:0;overflow-y:auto}.emergency-screen,.success-screen{min-height:650px}}
