.contact{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,5vw,4.5rem); align-items:start; }
.form{ display:grid; gap:1.1rem; margin-top:2.4rem; }
.field{ position:relative; display:grid; gap:.5rem; }
.field label{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--on-ink-3); }
.field label i,.consent i{ font-style:normal; color:var(--gold); }
.field__head{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.counter{ font-size:.7rem; letter-spacing:.06em; font-weight:600; font-variant-numeric:tabular-nums; color:var(--on-ink-3); transition:color .3s var(--ease); }
.counter.is-ok{ color:var(--gold); }
.field input,.field select,.field textarea{ width:100%; background:rgba(246,244,240,.035); color:var(--on-ink); border:1px solid var(--ink-line); border-radius:var(--r-sm); padding:.9rem 1rem; font-size:.94rem; transition:border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease); appearance:none; }
.field textarea{ min-height:118px; resize:vertical; }
.field select{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C0A265' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; background-size:15px; padding-right:2.6rem; }
.field select option{ background:var(--ink-2); color:var(--on-ink); }
.field input::placeholder,.field textarea::placeholder{ color:var(--on-ink-3); }
.field input:hover,.field select:hover,.field textarea:hover{ border-color:var(--ink-line-2); }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--gold); background:rgba(246,244,240,.055); box-shadow:0 0 0 3px var(--gold-dim); }
.field.has-error input,.field.has-error select,.field.has-error textarea{ border-color:#E0736A; }
.field .err{ font-size:.74rem; color:#E9938C; opacity:0; height:0; transition:opacity .25s var(--ease); }
.field.has-error .err{ opacity:1; height:auto; }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.consent{ display:flex; gap:.8rem; align-items:flex-start; font-size:.8rem; color:var(--on-ink-3); line-height:1.55; cursor:pointer; }
.consent input{ appearance:none; width:18px; height:18px; flex:none; margin-top:.1rem; border:1px solid var(--ink-line-2); border-radius:4px; background:transparent; cursor:pointer; transition:all .3s var(--ease); position:relative; }
.consent input:checked{ background:var(--gold); border-color:var(--gold); }
.consent input:checked::after{ content:""; position:absolute; left:5px; top:2px; width:5px; height:9px; border:solid var(--ink); border-width:0 1.7px 1.7px 0; transform:rotate(45deg); }
.consent a{ color:var(--on-ink-2); text-decoration:underline; text-underline-offset:2px; }
.form__submit{ display:flex; align-items:center; gap:1.1rem; flex-wrap:wrap; margin-top:.4rem; }
.form__submit .btn svg{ width:17px; height:17px; }
.form__submit-note{ font-size:.78rem; color:var(--on-ink-3); letter-spacing:.01em; }
.form__status{ font-size:.86rem; padding:.9rem 1.1rem; border-radius:var(--r-sm); border:1px solid var(--gold); background:var(--gold-dim); color:var(--gold-soft); display:none; }
.form__status.is-visible{ display:block; animation:reveal .45s var(--ease-out); }
.form__status--error{ border-color:#E0736A; background:rgba(224,115,106,.12); color:#F0A9A3; }
.form__status--ok{ border-color:#4FBE7F; background:rgba(79,190,127,.12); color:#9BE3B8; }
.btn:disabled{ opacity:.6; cursor:progress; transform:none; }
.contact__aside{ display:grid; gap:1.5rem; }
.wa-card{ border:1px solid var(--ink-line); border-radius:var(--r-lg); background:linear-gradient(160deg,rgba(246,244,240,.055),rgba(246,244,240,.012)); backdrop-filter:blur(12px); padding:clamp(1.6rem,3vw,2.2rem); display:grid; gap:1.15rem; align-content:start; }
.wa-card--note{ background:rgba(246,244,240,.025); padding:1.25rem clamp(1.4rem,2.5vw,1.8rem); }
.wa-card h3{ font-family:var(--font-display); font-size:var(--step-2); }
.wa-card p{ color:var(--on-ink-2); font-size:.93rem; line-height:1.65; }
.wa-card .btn{ width:100%; }
.wa-card__split{ display:grid; gap:.7rem; padding-top:1.15rem; border-top:1px solid var(--ink-line); }
.wa-card__note{ display:flex; gap:.7rem; align-items:flex-start; font-size:.8rem; color:var(--on-ink-3); line-height:1.55; }
.wa-card__note svg{ width:16px; height:16px; flex:none; color:var(--gold); margin-top:.12rem; }

@media (max-width:1080px){
  .contact{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .form__row{ grid-template-columns:1fr; }
}
