.contact-page { max-width: 1180px; }
.contact-hero { text-align: center; max-width: 720px; margin: 0 auto 2rem; }
.contact-kicker { color: #ffdf00; font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.contact-hero h1 { margin: .4rem 0 .7rem; font-size: clamp(2.1rem, 5vw, 3.5rem); font-weight: 800; }
.contact-hero h1 span { color: #ffdf00; }
.contact-hero p, .contact-card-heading p, .contact-info-card p { color: #aeb3be; margin: 0; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 1.25rem; align-items: start; }
.contact-form-card { padding: clamp(1.2rem, 3vw, 2rem); }
.contact-card-heading { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.5rem; }
.contact-card-heading h2, .contact-info-card h3 { margin: 0 0 .2rem; }
.contact-card-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; color: #ffdf00; background: rgba(255,223,0,.09); border: 1px solid rgba(255,223,0,.25); font-size: 1.15rem; }
.contact-form { display: grid; gap: 1rem; }
.contact-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-field { display: grid; gap: .4rem; }
.contact-field label { color: #e9ebef; font-size: .84rem; font-weight: 700; }
.contact-field input, .contact-field select, .contact-field textarea { width: 100%; color: #f4f4f5; background: #090a0d; border: 1px solid #34363d; border-radius: 10px; padding: .78rem .9rem; outline: none; transition: border-color .15s, box-shadow .15s; }
.contact-field textarea { resize: vertical; min-height: 150px; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: #ffdf00; box-shadow: 0 0 0 3px rgba(255,223,0,.1); }
.contact-field input:-webkit-autofill,
.contact-field input:-webkit-autofill:hover,
.contact-field input:-webkit-autofill:focus,
.contact-field textarea:-webkit-autofill,
.contact-field textarea:-webkit-autofill:hover,
.contact-field textarea:-webkit-autofill:focus,
.contact-field select:-webkit-autofill,
.contact-field select:-webkit-autofill:hover,
.contact-field select:-webkit-autofill:focus {
  -webkit-text-fill-color: #f4f4f5;
  caret-color: #f4f4f5;
  border-color: #ffdf00;
  box-shadow: 0 0 0 1000px #090a0d inset, 0 0 0 3px rgba(255,223,0,.1);
  transition: background-color 9999s ease-out 0s;
}
.contact-field small { color: #ff7b7b; }
.contact-submit-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: .3rem; }
.contact-submit-row p { color: #9298a4; font-size: .76rem; margin: 0; }
.contact-submit-row p i { color: #77dd77; }
.contact-submit-row button { border: 1px solid #ffdf00; border-radius: 10px; padding: .72rem 1.1rem; color: #08090b; background: #ffdf00; font-weight: 800; white-space: nowrap; }
.contact-submit-row button:hover { background: #ffe83e; transform: translateY(-1px); }
.contact-sidebar { display: grid; gap: 1rem; }
.contact-info-card { padding: 1.35rem; }
.contact-info-card > i { display: block; color: #ffdf00; font-size: 1.3rem; margin-bottom: .8rem; }
.contact-info-card h3 { font-size: 1rem; }
.contact-info-card a { display: inline-block; color: #ffdf00; margin-top: .7rem; word-break: break-word; }
.contact-info-card ol { color: #b8bec8; padding-left: 1.2rem; margin: .8rem 0 0; display: grid; gap: .7rem; font-size: .85rem; }
.contact-alert { display: flex; gap: .55rem; align-items: center; border-radius: 10px; padding: .8rem 1rem; margin-bottom: 1rem; font-size: .86rem; }
.contact-alert--success { color: #a8efb1; background: rgba(65,180,90,.1); border: 1px solid rgba(65,180,90,.3); }
.contact-alert--error { color: #ffaaaa; background: rgba(220,70,70,.1); border: 1px solid rgba(220,70,70,.3); }
@media (max-width: 991.98px) { .contact-layout { grid-template-columns: 1fr; } .contact-sidebar { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .contact-field-grid, .contact-sidebar { grid-template-columns: 1fr; } .contact-submit-row { align-items: stretch; flex-direction: column; } .contact-submit-row button { width: 100%; } }
