:root{--brand: #5b3290;--brand-deep: #3b115d;--brand-hover: #4a2575;--accent: #da2128;--accent-hover: #c21a22;--accent-press: #a30f25;--bg: #fafafa;--card: #ffffff;--wash: #f6f0ff;--wash-2: #ede7f5;--ink: #171717;--ink-800: #2d2d2d;--muted: #525252;--muted-2: #888888;--line: #e0d9eb;--input-border: #a694c4;--error: #da2128;--error-wash: #fbe2e3;--ok: #1f8a5b;--radius: 18px;--radius-sm: 10px;--radius-media: 14px;--radius-pill: 999px;--shadow: 0 15px 32px -10px rgba(0, 0, 0, .07);--shadow-pop: 0 12px 28px rgba(42, 12, 69, .18);--maxw: 560px;--tap: 52px;--font-heading: "Montserrat", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--font-body: Arial, "Inter", "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--muted);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app{max-width:var(--maxw);margin:0 auto;padding:0 16px calc(32px + env(safe-area-inset-bottom));padding-top:calc(24px + env(safe-area-inset-top))}.masthead{text-align:center;padding:8px 0 16px}.masthead .logo{max-height:48px;width:auto;margin-bottom:12px}.masthead h1{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;line-height:1.15;margin:0;color:var(--brand);letter-spacing:-.01em}.masthead .org{margin:5px 0 0;color:var(--muted);font-size:.9rem}.steps{display:flex;align-items:flex-start;gap:6px;margin:4px 0 20px}.steps .step{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.steps .step-num{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:15px;display:inline-flex;align-items:center;justify-content:center}.steps .step-label{font-size:.8rem;line-height:1.35;color:var(--ink-800)}.steps .step-arrow{flex:0 0 auto;padding-top:15px;color:var(--accent)}.card{background:var(--card);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line),var(--shadow);padding:20px 18px}.intro{margin:0 0 20px;color:var(--muted);font-size:.96rem}.form fieldset{border:0;margin:0;padding:0}.form fieldset[disabled]{opacity:.55}.field{margin-bottom:18px}.field-row{display:flex;gap:12px}.field-row .field{flex:1;min-width:0}label,.label-text{display:block;font-family:var(--font-heading);font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--ink)}input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font-size:16px;font-family:var(--font-body);color:var(--ink);background:#fff;border:1.5px solid var(--input-border);border-radius:var(--radius-sm);padding:13px 12px;min-height:var(--tap)}textarea{min-height:84px;resize:vertical;line-height:1.5}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23a694c4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #5b329026}::placeholder{color:var(--muted-2)}.field-hint{margin:6px 0 0;font-size:.82rem;color:var(--muted)}.field-error{margin:6px 0 0;font-size:.84rem;color:var(--error);font-weight:500}.questions{list-style:none;margin:0;padding:0}.questions li{margin-bottom:11px}.checkbox{display:flex;align-items:flex-start;gap:12px;font-family:var(--font-body);font-weight:400;font-size:.92rem;line-height:1.45;cursor:pointer;margin:0;color:var(--ink-800)}.checkbox input{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:var(--brand)}.req{color:var(--accent)}.picker-button{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;background:var(--wash);border:2px dashed var(--input-border);border-radius:var(--radius-media);cursor:pointer;color:var(--ink)}.picker-button.has-error{border-color:var(--error)}.picker-icon{color:var(--brand);line-height:0}.picker-label{font-family:var(--font-heading);font-weight:700;font-size:1.05rem;color:var(--brand)}.picker-hint{font-size:.85rem;color:var(--muted)}.picker-selected{border-radius:var(--radius-media);box-shadow:inset 0 0 0 1.5px var(--line);padding:12px;background:var(--wash)}.picker-preview{width:100%;max-height:220px;border-radius:var(--radius-sm);background:#000;display:block}.picker-meta{display:flex;justify-content:space-between;gap:12px;margin-top:10px}.picker-filename{font-family:var(--font-heading);font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-filesize{color:var(--muted);font-size:.9rem;flex:0 0 auto}.picker-change{margin-top:12px;width:100%;min-height:44px;background:#fff;border:1.5px solid var(--input-border);border-radius:var(--radius-pill);font-family:var(--font-heading);font-size:.95rem;font-weight:600;color:var(--brand);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:0 24px;border-radius:var(--radius-pill);font-family:var(--font-heading);font-size:1.05rem;font-weight:700;letter-spacing:.02em;cursor:pointer;border:1.5px solid transparent;transition:background .15s ease,transform .08s ease}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.primary:active:not(:disabled){background:var(--accent-press);transform:scale(.98)}.btn.primary:disabled{opacity:.5;cursor:default}.btn.ghost{background:#fff;border-color:var(--brand);color:var(--brand)}.btn.ghost:hover:not(:disabled){background:var(--wash)}.btn.submit{width:100%;margin-top:6px}.btn .btn-arrow{width:30px;height:30px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex:0 0 auto}.foot{text-align:center;color:var(--muted);font-size:.82rem;margin-top:18px;padding:0 8px;line-height:1.5}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a0c458c;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50}.overlay-card{background:#fff;border-radius:var(--radius);box-shadow:0 14px 48px #00000047;padding:28px 24px;width:100%;max-width:420px;text-align:center}.overlay-card h2{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;margin:0 0 16px;color:var(--brand)}.overlay-card .muted{color:var(--muted);font-size:.92rem;margin:14px 0 0;line-height:1.55}.result-note{margin:14px 0 20px;font-size:.88rem;color:var(--ink-800);background:var(--wash);border-radius:var(--radius-sm);padding:10px 12px}.error-detail{margin:14px 0 0;font-size:.78rem;color:var(--muted);word-break:break-word;background:var(--error-wash);border-radius:var(--radius-sm);padding:8px 10px}.bar{position:relative;height:12px;background:var(--wash-2);border-radius:999px;overflow:hidden}.bar .fill{position:absolute;inset:0 auto 0 0;height:100%;background:var(--brand);border-radius:999px;transition:width .25s ease}.bar.indeterminate:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:sweep 1.2s linear infinite}@keyframes sweep{0%{transform:translate(-120%)}to{transform:translate(320%)}}.badge{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;margin:0 auto 4px;color:#fff}.badge.ok{background:var(--ok)}.badge.err{background:var(--error)}.btn-row{display:flex;flex-direction:column;gap:10px;margin-top:20px}.overlay-card .btn{width:100%;margin-top:20px}.overlay-card .btn-row .btn{margin-top:0}@media(prefers-reduced-motion:reduce){.bar.indeterminate:after{animation:none}.bar .fill,.btn{transition:none}}
