.form-section,.legal{background:#fff}
.form-wrap,.legal-wrap{margin:0 auto;max-width:860px}
.form-steps{display:flex;gap:10px;list-style:none;margin:0 0 42px;padding:0}
.form-steps li{align-items:center;border-bottom:2px solid var(--line);color:#8a918d;display:flex;flex:1;font-size:.78rem;gap:10px;letter-spacing:.08em;padding:0 0 12px}
.form-steps span{align-items:center;border:1px solid currentColor;border-radius:50%;display:inline-flex;flex-shrink:0;font:500 .95rem/1 var(--serif);height:28px;justify-content:center;width:28px}
.form-steps .is-current{border-color:#5f8f7c;color:var(--ink);font-weight:700}
.form-steps .is-current span{background:#5f8f7c;border-color:#5f8f7c;color:#fff}
.form-steps .is-done{border-color:rgba(95,143,124,.45);color:#4f806d}
.form-intro p{font-size:.9rem;margin:0 0 12px}
.form-cross{background:#f2f5f3;border-left:2px solid #5f8f7c;font-size:.82rem;padding:12px 16px}
.form-cross a,.form-row-check a,.legal a{border-bottom:1px solid currentColor;color:#4f806d}
.form-alert{background:#fbf1ef;border:1px solid #d8a79a;color:#8a3b2a;font-size:.85rem;margin:28px 0;padding:16px 20px}
.form-alert p{margin:0}
.form-alert ul{margin:10px 0 0;padding-left:1.2em}
.form-alert a{border-bottom:1px solid currentColor}
.contact-form{margin-top:36px}
.form-row{border:0;border-top:1px solid var(--line);margin:0;min-width:0;padding:22px 0}
fieldset.form-row>legend{float:left;width:100%}
.form-label{align-items:center;display:flex;font-size:.88rem;font-weight:500;gap:10px;margin-bottom:12px;padding:0}
.req,.opt{flex-shrink:0;font-size:.62rem;font-weight:500;letter-spacing:.06em;line-height:1.6;padding:1px 8px}
.req{background:#5f8f7c;color:#fff}
.opt{border:1px solid var(--line);color:#6f7772}
.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=number],.contact-form input[type=date],.contact-form select,.contact-form textarea{background:#fbfcfb;border:1px solid rgba(32,35,34,.24);border-radius:0;color:var(--ink);font:inherit;font-size:16px;padding:12px 14px;width:100%}
.contact-form textarea{min-height:170px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#5f8f7c;outline:2px solid rgba(95,143,124,.35);outline-offset:1px}
.has-error input[type=text],.has-error input[type=email],.has-error input[type=tel],.has-error input[type=number],.has-error input[type=date],.has-error select,.has-error textarea{background:#fffafa;border-color:#c2573f}
.form-error{color:#b3452f;font-size:.8rem;margin:8px 0 0}
.form-hint{clear:both;color:#6f7772;font-size:.76rem;margin:8px 0 0}
.input-suffix{align-items:center;display:flex;gap:10px;max-width:180px}
.input-suffix span{font-size:.88rem}
.choice-group{clear:both;display:flex;flex-wrap:wrap;gap:12px 26px}
.choice{align-items:center;cursor:pointer;display:inline-flex;font-size:.9rem;gap:9px}
.choice input{accent-color:#5f8f7c;flex-shrink:0;height:18px;margin:0;width:18px}
.choice-check{align-items:flex-start;flex-wrap:wrap}
.choice-check input{margin-top:4px}
.hp-field{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}
.form-actions{border-top:1px solid var(--line);padding-top:36px;text-align:center}
.form-actions .button,.confirm-actions .button,.form-done-actions .button{border:0;cursor:pointer;font-size:.8rem;min-width:260px}
.confirm-actions .button-outline{background:transparent;border:1px solid currentColor;color:var(--ink)}
.button[aria-disabled=true]{opacity:.6;pointer-events:none}
.confirm-list{border-top:1px solid var(--line);margin:26px 0 42px}
.confirm-list>div{border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:210px 1fr;padding:16px 0}
.confirm-list dt{color:#4f806d;font-size:.78rem;letter-spacing:.04em}
.confirm-list dd{font-size:.9rem;margin:0;overflow-wrap:anywhere}
.confirm-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.confirm-actions form{margin:0}
.form-done{padding:24px 0;text-align:center}
.form-done h2{font:500 clamp(2rem,4vw,3rem)/1.2 var(--sans);margin:22px 0 26px}
.form-done p{font-size:.9rem;margin:0 auto 12px;max-width:560px}
.form-done-actions{align-items:center;display:flex;flex-direction:column;gap:24px;margin-top:38px}
.legal-lead{font-size:.92rem;margin:0 0 34px}
.legal-section{border-top:1px solid var(--line);padding:34px 0}
.legal h2{align-items:baseline;display:flex;font:700 1.08rem/1.5 var(--sans);gap:14px;margin:0 0 16px}
.legal h2 span{color:#4f806d;font:500 1.35rem/1 var(--serif)}
.legal h3{font-size:.92rem;margin:22px 0 8px}
.legal p,.legal li,.legal dd,.legal dt{font-size:.88rem}
.legal p{margin:0 0 12px}
.legal ul,.legal ol{margin:0 0 12px;padding-left:1.4em}
.legal li{margin-bottom:6px}
.legal-table{border-top:1px solid var(--line);margin:14px 0}
.legal-table>div{border-bottom:1px solid var(--line);display:grid;gap:20px;grid-template-columns:190px 1fr;padding:12px 0}
.legal-table dt{color:#4f806d;font-weight:500}
.legal-table dd{margin:0}
.legal-contact{background:#f2f5f3;margin-top:10px;padding:24px 28px}
.legal-contact .legal-table{border-top-color:rgba(32,35,34,.1)}
.legal-date{color:#6f7772;font-size:.8rem;margin-top:30px;text-align:right}
@media(max-width:800px){.form-steps li{flex-direction:column;font-size:.7rem;gap:6px;text-align:center}.confirm-list>div,.legal-table>div{gap:4px;grid-template-columns:1fr}.form-actions .button,.confirm-actions .button,.form-done-actions .button{min-width:0;width:100%}.confirm-actions{flex-direction:column-reverse}.confirm-actions form{width:100%}.legal-contact{padding:20px}}
.rep-name{display:inline-block;height:20px;vertical-align:middle;width:78px}
