.contact-page { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 28px 0 72px; color: #17213a; }
.contact-page nav { margin-bottom: 34px; color: #68748b; font-size: .9rem; }
.contact-page nav a { color: #3157c8; text-decoration: none; }
.contact-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr); gap: clamp(48px, 8vw, 110px); align-items: start; }
.contact-intro { padding-top: 38px; }
.contact-eyebrow { margin: 0 0 14px; color: #ef6c35; font-size: .76rem; font-weight: 800; letter-spacing: .13em; }
.contact-intro h1 { margin: 0 0 20px; font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1; letter-spacing: -.045em; }
.contact-intro > p:last-child { max-width: 470px; color: #647087; font-size: 1.08rem; line-height: 1.7; }
.contact-card { padding: clamp(24px, 4vw, 42px); border: 1px solid #e3e8f3; border-radius: 22px; background: #fff; box-shadow: 0 18px 50px rgba(34, 53, 94, .1); }
.contact-field { margin-bottom: 21px; }
.contact-field label { display: block; margin-bottom: 8px; font-size: .9rem; font-weight: 750; }
.contact-field input, .contact-field textarea { box-sizing: border-box; width: 100%; border: 1px solid #cfd7e6; border-radius: 10px; background: #fbfcff; padding: 13px 14px; color: #17213a; font: inherit; transition: border-color .15s, box-shadow .15s; }
.contact-field textarea { min-height: 160px; resize: vertical; }
.contact-field input:focus, .contact-field textarea:focus { outline: none; border-color: #3157c8; box-shadow: 0 0 0 3px rgba(49, 87, 200, .13); }
.contact-consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 2px; color: #4f5b72; font-size: .9rem; line-height: 1.45; }
.contact-consent input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: #3157c8; }
.contact-submit { width: 100%; margin-top: 25px; border: 0; border-radius: 10px; padding: 14px 20px; background: #3157c8; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.contact-submit:hover { background: #2445ad; }
.field-errors, .contact-errors { margin-top: 7px; color: #b42318; font-size: .85rem; }
.field-errors ul, .contact-errors ul { margin: 0; padding-left: 20px; }
.contact-errors, .contact-success { margin-bottom: 22px; border-radius: 10px; padding: 13px 15px; }
.contact-errors { background: #fff1f0; }
.contact-success { border: 1px solid #a7dfc1; background: #edfbf3; color: #17633a; }
@media (max-width: 780px) { .contact-page { width: calc(100% - 28px); padding: 20px 0 48px; } .contact-layout { grid-template-columns: 1fr; gap: 28px; } .contact-intro { padding-top: 0; } .contact-card { padding: 22px 18px; border-radius: 16px; } }
