:root{--brand:#1f4e79;--brand-dark:#163a5a;--accent:#2f80ed;--text:#2c3038;--text-muted:#6b7280;--bg:#eef2f7;--card-bg:#fff;--border:#dfe4ec;--error:#c0392b;--error-bg:#fdecea;--success:#1e874b;--sans:system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}#root{min-height:100svh}.page{flex-direction:column;align-items:center;min-height:100svh;display:flex}.masthead{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);color:#fff;text-align:center;width:100%;padding:clamp(32px,6vw,48px) clamp(16px,4vw,24px) clamp(36px,6vw,44px)}.masthead .logo{width:auto;max-width:min(100%,300px);height:clamp(30px,5vw,42px);margin:0 auto;display:block}.masthead h1{margin:18px 0 8px;font-size:clamp(26px,6vw,34px);font-weight:600;line-height:1.15}.masthead .subtitle{opacity:.9;max-width:68ch;margin:0 auto;font-size:clamp(14px,2.2vw,15px)}.masthead .subtitle-note{opacity:.78;margin-top:10px;font-size:clamp(13px,2vw,14px)}.content{flex:1;width:100%;max-width:1120px;margin-top:-28px;padding:0 clamp(16px,4vw,24px) clamp(32px,6vw,48px)}.layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:stretch;gap:clamp(16px,2.2vw,22px);display:grid}.col-form,.col-faq{min-width:0;display:flex}.col-form>*,.col-faq>*{flex:1}.col-form>form.card{flex-direction:column;display:flex}.col-form>form.card .btn-primary{margin-top:auto}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:clamp(20px,3.2vw,28px);box-shadow:0 10px 30px #1f4e7914}.anon-banner{color:#1f4e79;background:#eaf2fb;border:1px solid #cfe0f5;border-radius:10px;margin-bottom:22px;padding:12px 14px;font-size:14px}.form-error{background:var(--error-bg);color:var(--error);border:1px solid #f3c0ba;border-radius:10px;margin-bottom:18px;padding:12px 14px;font-size:14px}.field{margin-bottom:20px}.field label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.field label .optional{color:var(--text-muted);font-weight:400}.field input,.field textarea{border:1px solid var(--border);width:100%;max-width:100%;color:var(--text);background:#fff;border-radius:9px;padding:12px;font-family:inherit;font-size:16px;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:block}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2f80ed26}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--error)}.field textarea{resize:vertical;min-height:clamp(140px,22vh,190px)}.field-footer{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.field-error{color:var(--error);font-size:13px}.char-count{color:var(--text-muted);margin-left:auto;font-size:12px}.btn-primary{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:9px;width:100%;min-height:48px;padding:13px 16px;font-size:15px;font-weight:600;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.success-panel{text-align:center}.success-check{width:56px;height:56px;color:var(--success);background:#e5f5ec;border-radius:50%;margin:0 auto 12px;font-size:30px;font-weight:700;line-height:56px}.success-panel h2{margin:0 0 8px;font-size:22px}.success-panel p{color:var(--text-muted);margin-bottom:22px}.success-panel .btn-primary{width:auto;padding-inline:24px}.faq h2{letter-spacing:-.01em;margin:0 0 clamp(8px,1.6vw,12px);font-size:clamp(19px,2.6vw,21px);font-weight:600}.faq details{border-bottom:1px solid var(--border)}.faq details:last-of-type{border-bottom:0}.faq summary{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;min-height:48px;padding:14px 36px 14px 0;font-size:clamp(14.5px,2vw,15.5px);font-weight:600;line-height:1.45;list-style:none;display:flex;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--text-muted);font-size:20px;font-weight:400;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.faq details[open] summary:after{content:"–"}.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.faq-answer{padding:0 0 20px}.faq-answer p{color:var(--text-muted);margin:0 0 14px;font-size:clamp(14px,1.9vw,14.5px);line-height:1.6}.faq-answer p:last-child{margin-bottom:0}.footer{text-align:center;width:100%;color:var(--text-muted);padding:0 clamp(16px,4vw,24px) clamp(28px,5vw,40px);font-size:13px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
