/* Shared mobile-first shell: gutter-quiz, gutter-upgrade-quiz, water-damage-quiz (matches gutter-cost look) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
    --blue:#185FA5;--blue-light:#E6F1FB;--blue-mid:#378ADD;
    --text:#1a1a1a;--muted:#6b7280;--border:#e5e7eb;--bg:#f9fafb;
    --card:#ffffff;--radius:14px;--green:#3B6D11;--green-light:#EAF3DE;
    --gold:#e6a400;
}
html{overflow-y:scroll;}
@supports (scrollbar-gutter: stable){html{scrollbar-gutter:stable;overflow-y:auto;}}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden;}
#app{flex:1;display:flex;flex-direction:column;max-width:480px;margin:0 auto;width:100%;padding:0 0 max(40px, env(safe-area-inset-bottom));padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right));}
.progress-bar-wrap{padding:16px 20px 0;}
.progress-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:500;}
.progress-track{height:5px;background:#e5e7eb;border-radius:99px;overflow:hidden;}
.progress-fill{height:100%;background:var(--blue-mid);border-radius:99px;transition:width 0.4s cubic-bezier(.4,0,0.2,1);}
.hero{padding:36px 24px 28px;text-align:center;}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-light);color:var(--blue);font-size:12px;font-weight:600;padding:5px 12px;border-radius:99px;margin-bottom:18px;letter-spacing:.3px;}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--blue-mid);}
.hero h1{font-size:22px;font-weight:700;line-height:1.25;color:var(--text);margin-bottom:12px;}
.hero p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:20px;}
.trust{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);font-weight:500;}
.trust-icon{font-size:14px;}
.hero-cta{display:block;width:100%;background:var(--blue);color:#fff;font-size:16px;font-weight:600;padding:16px;border-radius:var(--radius);border:none;cursor:pointer;margin-top:24px;transition:background .15s;}
.hero-cta:active{background:#0c447c;}
.q-wrap{padding:20px 20px 0;flex:1;display:flex;flex-direction:column;}
.q-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:22px 18px;margin-bottom:16px;}
.q-title{font-size:17px;font-weight:600;line-height:1.35;margin-bottom:18px;color:var(--text);}
.options{display:flex;flex-direction:column;gap:10px;}
.option{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:11px;border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:rgba(24,95,165,.12);min-height:48px;}
.option.selected{border-color:var(--blue-mid);background:var(--blue-light);}
.option:active{background:#e9f3fc;}
.option-radio{width:20px;height:20px;border-radius:50%;border:2px solid #d1d5db;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px;transition:border-color .15s,background .15s;}
.option.selected .option-radio{border-color:var(--blue-mid);background:var(--blue-mid);}
.option-radio-dot{width:8px;height:8px;border-radius:50%;background:#fff;opacity:0;transition:opacity .15s;}
.option.selected .option-radio-dot{opacity:1;}
.option-label{font-size:15px;color:var(--text);line-height:1.35;overflow-wrap:break-word;}
.q-nav{display:flex;gap:10px;padding:0 20px;margin-top:auto;padding-top:12px;}
.btn-back{flex:0 0 auto;padding:15px 18px;border-radius:var(--radius);border:1.5px solid var(--border);background:#fff;font-size:15px;font-weight:600;color:var(--muted);cursor:pointer;}
.btn-next{flex:1;padding:15px;border-radius:var(--radius);border:none;background:var(--blue);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;touch-action:manipulation;}
.btn-next:disabled{background:#9ca3af;cursor:not-allowed;}
.btn-next:not(:disabled):active{background:#0c447c;}
.contact-wrap{padding:20px;}
.contact-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:22px 18px;}
.contact-card h2{font-size:19px;font-weight:700;margin-bottom:6px;}
.contact-card p{font-size:13px;color:var(--muted);margin-bottom:20px;line-height:1.5;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px;}
.field input{width:100%;padding:13px 14px;border-radius:10px;border:1.5px solid var(--border);font-size:16px;color:var(--text);background:#fff;outline:none;transition:border-color .15s;}
.field input:focus{border-color:var(--blue-mid);}
.field .opt{font-size:11px;color:var(--muted);font-weight:400;margin-left:4px;}
.error{font-size:12px;color:#dc2626;margin-top:4px;}
.submit-btn{width:100%;background:var(--blue);color:#fff;font-size:16px;font-weight:600;padding:16px;border-radius:var(--radius);border:none;cursor:pointer;margin-top:8px;transition:background .15s,opacity .15s;touch-action:manipulation;}
.submit-btn:disabled{opacity:.55;cursor:not-allowed;}
.form-trust{font-size:12px;color:#64748b;margin-bottom:12px;padding:10px 12px;background:#f8fafc;border-radius:10px;border:1px solid var(--border);}
.results-wrap{padding:20px;}
.results-hero{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:28px 20px;text-align:center;margin-bottom:14px;}
.results-badge{display:inline-block;font-size:11px;font-weight:700;padding:4px 12px;border-radius:99px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase;}
.results-hero h2{font-size:20px;font-weight:700;margin-bottom:8px;line-height:1.25;}
.result-msg{font-size:14px;color:#475569;line-height:1.6;margin-bottom:1rem;text-align:left;}
.score-ring{width:88px;height:88px;margin:0 auto 10px;border-radius:50%;background:linear-gradient(145deg,var(--ring-c1,#2563eb),var(--ring-c2,#1d4ed8));display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.12);}
.score-ring-inner{font-size:1.75rem;font-weight:800;color:var(--ring-text,#fff);}
.score-label{font-size:12px;color:var(--muted);margin:-4px 0 10px;}
.share-block{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);text-align:center;}
.share-block p{font-size:13px;color:var(--muted);margin-bottom:8px;}
.share-btn{display:inline-block;font-size:13px;color:var(--blue);font-weight:600;padding:8px 14px;border:1px solid var(--border);border-radius:10px;text-decoration:none;}
.quiz-res-cta{display:block;width:100%;text-align:center;padding:14px 16px;border-radius:var(--radius);font-size:16px;font-weight:600;text-decoration:none;margin-top:4px;}
.quiz-res-cta--high{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;}
.quiz-res-cta--medium{background:linear-gradient(135deg,#FFB600,#e6a400);color:#0f172a;}
.quiz-res-cta--low{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;}
.quiz-res-cta--gold{background:linear-gradient(135deg,#FFB600,#e6a400);color:#0f172a;}
.brand-foot{padding:20px 16px;text-align:center;border-top:1px solid var(--border);margin-top:8px;}
.brand-foot .rating-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:6px;}
.brand-foot .rating-num{font-size:1.2rem;font-weight:700;color:var(--text);}
.brand-foot .stars{color:#ca8a04;letter-spacing:0.06em;}
.brand-foot .biz-name{font-size:15px;font-weight:700;color:var(--text);}
.slide-in{animation:slideIn .3s ease forwards;}
@keyframes slideIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
/* Celebration overlay (used when entering contact step) */
.quiz-sparklers{position:fixed;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden;}
.quiz-sparkle{position:absolute;width:6px;height:6px;border-radius:50%;animation:quiz-sparkle-fall 2.2s ease-out forwards;}
@keyframes quiz-sparkle-fall{0%{opacity:1;transform:translateY(-10px) scale(1);}100%{opacity:0;transform:translateY(100vh) scale(0.3);}}
