.ek-contact-layout { display: grid; grid-template-columns: 360px 1fr; gap: 100px; align-items: start; }
.ek-contact-layout aside h2 { font-size: 1.8rem; line-height: 1.35; }
.ek-contact-layout aside ul { margin-top: 30px; border-top: 1px solid var(--ink); }
.ek-contact-layout aside li { padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.ek-contact-layout aside > div { display: grid; margin-top: 42px; }
.ek-contact-layout aside > div span, .ek-contact-layout aside small { color: var(--muted); font-size: .78rem; }
.ek-contact-layout aside > div a { margin: 6px 0; font-size: 1.75rem; font-weight: 850; }
.ek-contact-form-wrap { padding: 36px; border: 1px solid var(--line); border-radius: var(--radius); }
.ek-contact-source { margin-bottom: 28px; padding: 18px; border-left: 3px solid var(--blue); background: var(--canvas); }
.ek-contact-source span { display: block; color: var(--blue); font-size: .75rem; font-weight: 800; }
.ek-contact-source strong { display: block; margin-top: 5px; }
.ek-contact-form-wrap form { display: grid; gap: 20px; }
.ek-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ek-contact-form-wrap label { display: grid; gap: 8px; font-size: .86rem; font-weight: 700; }
.ek-contact-form-wrap label b { color: #d92d20; }
.ek-contact-form-wrap input, .ek-contact-form-wrap select, .ek-contact-form-wrap textarea { width: 100%; border: 1px solid #d0d5dd; border-radius: 6px; background: var(--white); color: var(--ink); outline: none; }
.ek-contact-form-wrap input, .ek-contact-form-wrap select { height: 48px; padding: 0 13px; }
.ek-contact-form-wrap textarea { padding: 13px; resize: vertical; }
.ek-contact-form-wrap input:focus, .ek-contact-form-wrap select:focus, .ek-contact-form-wrap textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.ek-agree { display: flex !important; align-items: center; grid-template-columns: 20px 1fr; gap: 9px !important; color: var(--muted); font-weight: 500 !important; }
.ek-agree input { width: 18px; height: 18px; }
.ek-agree a { color: var(--ink); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.ek-submit { width: 100%; margin-top: 6px; }
.ek-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ek-contact-done { padding: 70px 20px; text-align: center; }
.ek-contact-done i { color: var(--green); font-size: 3rem; }
.ek-contact-done h2 { margin-top: 15px; font-size: 1.7rem; }
.ek-contact-done p { margin: 8px 0 26px; color: var(--muted); }
@media (max-width: 850px) { .ek-contact-layout { grid-template-columns: 1fr; gap: 50px; } }
@media (max-width: 560px) { .ek-contact-form-wrap { padding: 24px 18px; } .ek-form-row { grid-template-columns: 1fr; } }
