:root{--mint:#e9f5ee;--mint-deep:#d3ecdd;--forest:#1d4d33;--forest-dark:#143726;--ink:#15241c;--muted:#5b6f63;--line:#c4dccd;--white:#fff;--error:#b3361f;--radius:14px;--font-display:"Mona Sans",system-ui,sans-serif;--font-body:"Hubot Sans",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--mint);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}.page{max-width:760px;margin:0 auto;padding:48px 20px 96px}.masthead{margin-bottom:36px}.masthead .brand{font-weight:800;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--forest)}.masthead .brand,.masthead h1{font-family:var(--font-display)}.masthead h1{font-weight:700;font-size:clamp(28px,5vw,40px);line-height:1.12;letter-spacing:-.015em;margin-top:14px;color:var(--forest-dark)}.masthead p{margin-top:12px;color:var(--muted);max-width:56ch}form{display:flex;flex-direction:column;gap:22px}fieldset{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);padding:26px 26px 30px}legend{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);padding:4px 12px;background:var(--mint-deep);border-radius:99px}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 18px;gap:16px 18px;margin-top:14px}.grid .full{grid-column:1/-1}@media (max-width:600px){.grid{grid-template-columns:1fr}}label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}label .opt{font-weight:400}.hint,label .opt{color:var(--muted)}.hint{font-size:13px;margin-top:5px}input,select,textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:9px;padding:11px 13px}textarea{min-height:110px;resize:vertical}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--forest);outline-offset:1px}.field-error{color:var(--error);font-size:13px;margin-top:5px}.invalid{border-color:var(--error)}.actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}button.submit{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--white);background:var(--forest);border:none;border-radius:99px;padding:15px 34px;cursor:pointer;transition:background .14s ease}button.submit:hover{background:var(--forest-dark)}button.submit:disabled{opacity:.6;cursor:wait}.form-error{color:var(--error);font-weight:600}.success{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:48px 36px;text-align:center}.success h2{font-family:var(--font-display);font-weight:700;font-size:28px;color:var(--forest-dark)}.success p{margin-top:12px;color:var(--muted)}.success .check{width:56px;height:56px;margin:0 auto 20px;border-radius:50%;background:var(--mint-deep);display:grid;place-items:center;color:var(--forest);font-size:26px}.label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}.radio-group{display:flex;gap:10px;flex-wrap:wrap}.radio-card{flex:1 1 200px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:14px 16px;cursor:pointer;font-weight:400;margin-bottom:0}.radio-card.checked{border-color:var(--forest);background:var(--mint)}.radio-card input{width:auto;accent-color:var(--forest)}.radio-card strong{display:block;font-size:15px}.radio-card small{display:block;color:var(--muted);font-size:13px}.radio-card:focus-within{outline:2px solid var(--forest);outline-offset:1px}.radio-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;background:var(--white);padding:9px 18px;cursor:pointer;font-weight:400;margin-bottom:0}.radio-pill input{width:auto;accent-color:var(--forest)}.radio-pill:has(input:checked){border-color:var(--forest);background:var(--mint);font-weight:600}.radio-pill:focus-within{outline:2px solid var(--forest);outline-offset:1px}.dropzone{display:flex;align-items:center;gap:12px;border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--mint);padding:18px 20px;color:var(--muted);font-size:14px;cursor:pointer;transition:border-color .14s ease,background .14s ease}.dropzone.dragging,.dropzone:hover{border-color:var(--forest);background:var(--mint-deep);color:var(--ink)}.dropzone-icon{font-size:20px;color:var(--forest)}.file-list{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:6px}.file-list li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;background:var(--white);padding:8px 12px;font-size:14px}.file-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--muted);font-size:13px;flex-shrink:0}.file-remove{flex-shrink:0;width:26px;height:26px;border:none;border-radius:50%;background:var(--mint-deep);color:var(--forest);font-size:16px;line-height:1;cursor:pointer}.file-remove:hover{background:var(--forest);color:var(--white)}.spinner{width:20px;height:20px;border:3px solid var(--mint-deep);border-top-color:var(--forest);border-radius:50%}@media (prefers-reduced-motion:no-preference){.success,fieldset{animation:rise .32s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}}