/* ---------- contact ---------- */
.contact{background:var(--mist);border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:960px){.contact-grid{grid-template-columns:1fr}}
form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,40px)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:600px){.f2{grid-template-columns:1fr}}
label{display:block;font-size:.9rem;font-weight:700;margin:0 0 6px}
label .req{color:var(--brand-ink)}
input,select,textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);font:inherit;font-size:1rem;line-height:1.4;background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}
select{-webkit-appearance:none;appearance:none;padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23d1007c' stroke-width='2'/%3E%3C/svg%3E") right 16px center / 12px 8px no-repeat}
textarea{min-height:120px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:#b9b9c2}
input:focus,select:focus,textarea:focus{outline:2px solid transparent;border-color:var(--brand-ink);box-shadow:0 0 0 4px rgba(237,0,140,.16)}
.field{margin-bottom:18px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;line-height:1.5;color:var(--muted);margin:6px 0 22px;font-weight:400}
.consent input{flex:none;width:20px;height:20px;min-height:0;margin:2px 0 0;padding:0;accent-color:var(--brand-ink)}
.consent a{color:var(--brand-ink)}
#lead-form .btn{min-width:200px}
.form-note{font-size:.88rem;color:var(--muted);margin-top:14px}
.form-ok{display:none;padding:18px 20px;border-radius:var(--r-md);background:#e9f6ee;border:1px solid #bfe3cc;color:var(--ok);font-weight:700}
.direct{background:var(--stage);color:var(--ink-inv-2);border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);position:relative;overflow:hidden}
.direct::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 260px at 100% 0%,rgba(237,0,140,.24),rgba(237,0,140,0) 70%);pointer-events:none}
.direct > *{position:relative}
.direct h3{margin-top:0;color:#fff;font-size:1.5rem}
.direct > p{color:var(--ink-inv)}
.direct a{font-weight:700;color:var(--brand-glow);text-decoration:none}
.direct a:hover{text-decoration:underline;text-underline-offset:3px}
.direct .row{padding:15px 0;border-top:1px solid var(--line-inv);line-height:1.7}
.direct .lbl{display:block;font-size:.85rem;color:var(--ink-inv-2);margin-bottom:2px;font-weight:600}
.direct .muted{color:var(--ink-inv-2)}
.direct strong{color:var(--ink-inv);font-weight:700}
.direct-person{display:flex;gap:20px;align-items:center;margin-bottom:26px}
.direct-person img{flex:none;width:110px;height:auto;border-radius:var(--r-md);border:1px solid var(--line-inv)}
.direct-person h3{margin:0 0 8px}
.direct-person p{margin:0;color:var(--ink-inv);font-size:.95rem}
@media (min-width:961px) and (max-width:1100px){.direct-person{align-items:flex-start;flex-direction:column}}
@media (max-width:380px){.direct-person{gap:14px}.direct-person img{width:88px}.direct-person h3{font-size:1.3rem}}

