.contact-main { padding: 44px 0 70px; }
.contact-shell { width: min(760px, calc(100% - 32px)); margin: 0 auto; }
.contact-header { margin-bottom: 22px; }
.contact-header h1 { margin: 0; color: var(--navy, #10254a); font-size: clamp(40px, 7vw, 68px); line-height: .98; letter-spacing: -.05em; }
.contact-header p { max-width: 680px; margin: 15px 0 0; color: #46546c; font-size: 17px; line-height: 1.65; }
.contact-card { padding: clamp(22px, 5vw, 38px); border: 1px solid var(--line, rgba(16, 37, 74, .12)); border-radius: 26px; background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(255,255,255,.58)); box-shadow: var(--shadow, 0 18px 44px rgba(44,76,124,.12)); }
.contact-form,.contact-field { display: grid; }
.contact-form { gap: 18px; }.contact-field { gap: 7px; }
.contact-field label { color: var(--navy, #10254a); font-size: 14px; font-weight: 800; }
.contact-field input,.contact-field select,.contact-field textarea { width: 100%; border: 1px solid rgba(16,37,74,.16); border-radius: 14px; background: rgba(255,255,255,.9); color: #17233a; font: inherit; }
.contact-field input,.contact-field select { min-height: 48px; padding: 10px 13px; }.contact-field textarea { min-height: 190px; padding: 13px; resize: vertical; line-height: 1.55; }
.contact-help,.contact-privacy { margin: 0; color: #667087; line-height: 1.5; }.contact-help { font-size: 13px; }.contact-privacy { margin-top: 4px; font-size: 12px; }.contact-privacy a { color: var(--teal-deep, #0b6871); }
.contact-turnstile { min-height: 65px; }
.contact-code-panel { padding: 17px; border: 1px solid rgba(21,141,147,.25); border-radius: 16px; background: rgba(237,248,245,.75); }
.contact-code-panel[hidden] { display: none; }
#contactCode { max-width: 220px; font-size: 24px; font-weight: 800; letter-spacing: .18em; }
.contact-submit,.contact-resend { min-height: 50px; padding: 12px 18px; border-radius: 15px; font: inherit; font-weight: 850; cursor: pointer; }
.contact-submit { border: 0; background: linear-gradient(145deg, var(--teal, #158d93), #48a9bd); color: #fff; }.contact-submit:disabled { cursor: wait; opacity: .65; }
.contact-resend { min-height: 42px; margin-top: 12px; border: 1px solid rgba(16,37,74,.16); background: #fff; color: var(--navy, #10254a); }
.contact-status { min-height: 24px; margin: 0; font-size: 14px; font-weight: 700; line-height: 1.5; }.contact-status.success { color: #0b6b4c; }.contact-status.error { color: #a12c2c; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 520px) { .contact-main { padding: 30px 0 52px; }.contact-card { padding: 21px 17px; border-radius: 22px; }.contact-header h1 { font-size: 43px; } }
