.contact-page { background: #f3f7f9; color: #17324d; padding: 70px 0 90px; }
.contact-card { background: #fff; border-radius: 22px; box-shadow: 0 18px 50px rgba(8,43,76,.12); margin: 0 auto; max-width: 920px; overflow: hidden; padding: 42px; }
.contact-intro { margin: 0 auto 30px; max-width: 650px; text-align: center; }
.contact-kicker { color: #e8334f; display: block; font-size: .8rem; font-weight: 900; letter-spacing: .08em; margin-bottom: 9px; text-transform: uppercase; }
.contact-intro h2 { color: #0b2b46; font-size: clamp(2rem,4vw,3rem); margin: 0 0 10px; }
.contact-intro p { color: #607687; font-size: 1.05rem; margin: 0; }
.contact-success, .contact-errors { border-radius: 14px; margin: 0 0 24px; padding: 17px 19px; }
.contact-success { align-items: center; background: #e8f7f1; border: 1px solid #9dd8c4; color: #17664e; display: flex; gap: 13px; }
.contact-success .fa { font-size: 1.65rem; }
.contact-success h3, .contact-success p { color: inherit; margin: 0; }
.contact-errors { background: #fff2f2; border: 1px solid #e8b6ba; color: #87343b; }
.contact-errors ul { margin: 8px 0 0; padding-left: 20px; }
.contact-grid { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.contact-form label { display: block; margin: 0; }
.contact-form label > span { color: #29485e; display: block; font-size: .88rem; font-weight: 800; margin-bottom: 7px; }
.contact-form label b { color: #e8334f; }
.contact-form label small { color: #758b99; font-weight: 600; }
.contact-form input, .contact-form select, .contact-form textarea { background: #f8fafb; border: 2px solid #cfdae1; border-radius: 11px; color: #17324d; font: inherit; padding: 12px 14px; width: 100%; }
.contact-form input, .contact-form select { min-height: 52px; }
.contact-form textarea { line-height: 1.55; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { background: #fff; border-color: #0b6b8d; box-shadow: 0 0 0 4px rgba(11,107,141,.14); outline: 0; }
.contact-message { margin-top: 18px !important; }
.contact-human { align-items: end; background: #fff7db; border: 1px solid #edd477; border-radius: 13px; display: flex; gap: 18px; justify-content: space-between; margin-top: 18px; padding: 15px; }
.contact-human label { max-width: 260px; }
.contact-human input { background: #fff; }
.contact-human small { color: #6e5b1c; line-height: 1.4; }
.contact-submit { align-items: center; background: #e8334f; border: 0; border-radius: 12px; color: #fff; cursor: pointer; display: flex; font-size: 1rem; font-weight: 900; gap: 9px; justify-content: center; margin-top: 20px; min-height: 58px; padding: 13px 25px; width: 100%; }
.contact-submit:hover, .contact-submit:focus { background: #c9213d; box-shadow: 0 0 0 4px rgba(232,51,79,.18); outline: 0; }
.contact-direct { align-items: center; background: #eaf3f7; border-radius: 14px; display: flex; gap: 14px; margin-top: 28px; padding: 18px; }
.contact-direct > .fa { align-items: center; background: #fff; border-radius: 50%; color: #0b6b8d; display: flex; flex: 0 0 46px; height: 46px; justify-content: center; }
.contact-direct p { color: #526c7e; margin: 2px 0 0; }
.contact-email { color: #0b2b46; font-weight: 900; }
.contact-honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; top: auto; width: 1px; }
@media (max-width: 767.98px) { .contact-page { padding: 45px 0 65px; } .contact-card { border-radius: 16px; padding: 25px 19px; } .contact-grid { grid-template-columns: 1fr; } .contact-human { align-items: stretch; flex-direction: column; } .contact-human label { max-width: none; } }
