.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:55px;align-items:start}.form-card{padding:38px;background:var(--white);border:1px solid var(--line)}.form-intro{margin:0 0 30px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label,.fieldset-title{font-weight:700}.required{margin-left:7px;color:#8f4d3b;font-size:.72rem}.optional{margin-left:7px;color:var(--muted);font-size:.72rem}input,select,textarea{width:100%;min-height:50px;padding:11px 13px;border:1px solid #aaa99f;background:#fffefa;color:var(--ink);font:inherit;border-radius:0}textarea{min-height:150px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #c7ab8d;outline-offset:1px;border-color:var(--green)}.choice-row{display:flex;flex-wrap:wrap;gap:10px 22px}.choice-row label,.agree{display:flex;align-items:flex-start;gap:9px;font-weight:400}.choice-row input,.agree input{width:18px;min-height:18px;margin-top:5px;accent-color:var(--green)}.form-help{margin:0;color:var(--muted);font-size:.78rem}.submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.submit-row .btn{min-width:230px;cursor:pointer}.form-status{display:none;margin-top:22px;padding:18px 20px;background:#e3ebe5;border-left:4px solid var(--green)}.form-status.show{display:block}.contact-side{display:grid;gap:18px}.contact-panel{padding:28px;background:var(--sand)}.contact-panel h2{margin:0 0 13px;font-size:1.55rem}.contact-panel p{margin:0 0 20px;color:var(--muted)}.steps{counter-reset:step;display:grid;gap:15px;margin:0;padding:0;list-style:none}.steps li{display:grid;grid-template-columns:30px 1fr;gap:10px}.steps li:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:26px;height:26px;background:var(--green);color:#fff;font-size:.72rem}.preview-note{margin-top:28px;padding:17px 19px;background:var(--paper);border:1px solid var(--line);font-size:.8rem}@media(max-width:850px){.contact-layout{grid-template-columns:1fr}.contact-side{grid-template-columns:1fr 1fr}}@media(max-width:600px){.form-card{padding:25px 18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-side{grid-template-columns:1fr}.submit-row .btn{width:100%}.choice-row{display:grid}}
