.contact-hero { max-width:760px; padding-bottom:1.4rem; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(285px,.72fr); gap:1.5rem; align-items:start; padding-bottom:3rem; }
.contact-card { padding:clamp(1.25rem,3vw,2rem); }
.contact-card__header { display:flex; justify-content:space-between; gap:1rem; margin-bottom:1.35rem; padding-bottom:1.1rem; border-bottom:1px solid var(--border); }
.contact-card__header h2 { margin:.2rem 0 .3rem; font-size:clamp(1.35rem,2vw,1.7rem); }
.contact-card__header p { margin:0; color:var(--muted); font-size:.86rem; }
.contact-eyebrow { color:#0f766e; font-size:.74rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.contact-form { display:grid; gap:1rem; }
.contact-field { display:grid; gap:.45rem; min-width:0; }
.contact-label { display:flex; align-items:center; gap:.3rem; font-size:.9rem; font-weight:780; line-height:1.3; }
.contact-required { color:#dc2626; font-weight:900; }
.contact-optional { margin-left:.25rem; padding:.14rem .42rem; color:var(--muted); background:color-mix(in srgb,var(--border) 48%,transparent); border-radius:999px; font-size:.66rem; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { box-sizing:border-box; width:100%; padding:.82rem .92rem; color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:0 1px 2px rgba(15,23,42,.03); font:inherit; font-size:.94rem; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:color-mix(in srgb,var(--muted) 72%,transparent); }
.contact-form select { min-height:48px; cursor:pointer; }
.contact-form textarea { resize:vertical; min-height:165px; line-height:1.55; }
.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover { border-color:color-mix(in srgb,#0f766e 45%,var(--border)); }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline:0; border-color:#0f766e; box-shadow:0 0 0 4px rgba(15,118,110,.12); }
.contact-form__row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.contact-counter { justify-self:end; margin-top:-.15rem; color:var(--muted); font-size:.76rem; font-variant-numeric:tabular-nums; }
.contact-actions { display:grid; gap:.8rem; margin-top:.1rem; }
.contact-submit,.contact-success button { min-height:48px; padding:.78rem 1.1rem; color:#fff; background:linear-gradient(135deg,#0f766e,#126c65); border:0; border-radius:10px; box-shadow:0 7px 18px rgba(15,118,110,.18); cursor:pointer; font:inherit; font-weight:800; transition:transform .16s ease,box-shadow .16s ease,filter .16s ease; }
.contact-submit { display:flex; align-items:center; justify-content:center; gap:.55rem; }
.contact-submit:hover,.contact-success button:hover { transform:translateY(-1px); box-shadow:0 10px 24px rgba(15,118,110,.24); filter:brightness(1.04); }
.contact-submit:active,.contact-success button:active { transform:translateY(0); }
.contact-submit:disabled { opacity:.65; cursor:wait; transform:none; }
.contact-consent { max-width:680px; margin:0 auto; color:var(--muted); font-size:.75rem; line-height:1.55; text-align:center; }
.contact-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-file-hint { color:var(--muted); font-size:.76rem; line-height:1.45; }
.contact-form input[type=file] { padding:.7rem; cursor:pointer; }
.contact-alert { padding:.8rem 1rem; border-radius:10px; }
.contact-alert--error { color:#b42318; background:#fff1f0; border:1px solid rgba(180,35,24,.22); }
.contact-success { padding:2rem; text-align:center; }
.contact-success > span { width:54px; height:54px; display:grid; place-items:center; margin:0 auto 1rem; color:#fff; background:#15803d; border-radius:50%; font-size:1.7rem; font-weight:900; }
.contact-help { position:sticky; top:90px; padding:1.6rem; overflow:hidden; }
.contact-help__icon { width:38px; height:38px; display:grid; place-items:center; margin-bottom:1rem; color:#0f766e; background:rgba(15,118,110,.1); border:1px solid rgba(15,118,110,.16); border-radius:11px; font-family:Georgia,serif; font-size:1.15rem; font-weight:800; }
.contact-help h2 { margin:0 0 .65rem; font-size:1.35rem; }
.contact-help h3 { margin:0 0 .6rem; font-size:1rem; }
.contact-help p { margin:0 0 .85rem; color:var(--muted); font-size:.9rem; line-height:1.65; }
.contact-help__divider { height:1px; margin:1.2rem 0; background:var(--border); }
.contact-help__notice { display:grid; gap:.25rem; margin-top:1.1rem; padding:.9rem 1rem; color:var(--muted); background:rgba(15,118,110,.06); border:1px solid rgba(15,118,110,.12); border-radius:11px; font-size:.78rem; line-height:1.5; }
.contact-help__notice strong { color:var(--text); font-size:.8rem; }
@media (max-width:860px) { .contact-layout { grid-template-columns:1fr; } .contact-help { position:static; } }
@media (max-width:600px) { .contact-form__row { grid-template-columns:1fr; } .contact-card,.contact-help { padding:1.15rem; } .contact-layout { gap:1rem; } .contact-form textarea { min-height:145px; } }
@media (prefers-reduced-motion:reduce) { .contact-form input,.contact-form select,.contact-form textarea,.contact-submit,.contact-success button { transition:none; } }
