.contact-page { min-height:calc(100vh - 100px); padding-top:108px; color:#111827; }
.contact-page > #particles-container { pointer-events:none; }
.contact-page > section { position:relative; z-index:1; }
.contact-page h1,.contact-page h2 { background:none; -webkit-background-clip:border-box; background-clip:border-box; color:#111827; text-shadow:none; }
.contact-page h2::after { display:none; }
.contact-heading-band { padding:52px 0 34px; border-bottom:1px solid rgba(203,213,225,.65); background:rgba(255,255,255,.32); }
.contact-heading-band .container { max-width:1180px; }
.contact-eyebrow { display:flex; align-items:center; gap:8px; color:#c51f5d; font-size:12px; font-weight:900; }
.contact-heading-band h1 { margin-top:8px; font-size:42px; line-height:1.15; font-weight:900; letter-spacing:0; }
.contact-heading-band > div > p:last-child { max-width:720px; margin-top:10px; color:#5b6472; font-size:16px; line-height:1.7; }
.contact-content-band { padding:36px 0 70px; }
.contact-layout { max-width:1180px; display:grid; grid-template-columns:320px minmax(0,1fr); gap:36px; align-items:start; }
.contact-guide { padding-top:10px; }
.contact-guide-section { display:flex; gap:14px; padding:19px 0; border-bottom:1px solid rgba(148,163,184,.35); }
.contact-guide-section > i { width:38px; height:38px; flex:0 0 38px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:#fff; color:#2563eb; box-shadow:0 6px 18px rgba(15,23,42,.08); }
.contact-guide-section:nth-child(2) > i { color:#c51f5d; }
.contact-guide-section:nth-child(3) > i { color:#15803d; }
.contact-guide-section strong { color:#111827; font-size:14px; }
.contact-guide-section p { margin-top:4px; color:#64748b; font-size:12px; line-height:1.6; }
.contact-direct { margin-top:26px; display:flex; flex-direction:column; gap:4px; }
.contact-direct span { color:#64748b; font-size:11px; }
.contact-direct a { color:#1d4ed8; font-size:13px; font-weight:800; overflow-wrap:anywhere; }
.contact-form-shell { overflow:hidden; border:1px solid rgba(255,255,255,.8); border-radius:8px; background:rgba(255,255,255,.78); box-shadow:0 18px 50px rgba(15,23,42,.10); backdrop-filter:blur(14px); }
.contact-form-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 26px; border-bottom:1px solid #e2e8f0; }
.contact-form-header h2,.contact-success h2 { color:#111827; font-size:22px; font-weight:900; }
.contact-form-header p { margin-top:3px; color:#64748b; font-size:12px; }
.contact-form-header > span { display:inline-flex; align-items:center; gap:6px; color:#15803d; font-size:10px; font-weight:800; }
#contact-form { padding:24px 26px 27px; }
.contact-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.contact-field { min-width:0; margin-bottom:18px; }
.contact-field label,.contact-label-line label { display:block; margin-bottom:7px; color:#334155; font-size:12px; font-weight:800; }
.contact-input-wrap { position:relative; }
.contact-input-wrap > i { position:absolute; left:13px; top:50%; width:16px; color:#94a3b8; font-size:12px; text-align:center; transform:translateY(-50%); pointer-events:none; }
.contact-input-wrap input,.contact-input-wrap select,.contact-field textarea { width:100%; border:1px solid #cbd5e1; border-radius:7px; background:#fff; color:#111827; font-size:13px; outline:none; transition:border-color .15s,box-shadow .15s; }
.contact-input-wrap input,.contact-input-wrap select { height:45px; padding:9px 12px 9px 39px; }
.contact-input-wrap select { appearance:auto; }
.contact-field textarea { min-height:170px; padding:13px 14px; line-height:1.6; resize:vertical; }
.contact-input-wrap input:focus,.contact-input-wrap select:focus,.contact-field textarea:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.contact-label-line { display:flex; justify-content:space-between; gap:12px; }
.contact-label-line span { color:#94a3b8; font-size:10px; }
.contact-error { display:block; margin-top:5px; color:#b91c1c; font-size:10px; font-weight:700; }
.contact-consent { display:flex; align-items:flex-start; gap:9px; color:#475569; font-size:11px; line-height:1.5; cursor:pointer; }
.contact-consent input { width:16px; height:16px; flex:0 0 16px; margin-top:1px; accent-color:#2563eb; }
.contact-submit-button { width:100%; min-height:48px; margin-top:20px; display:flex; align-items:center; justify-content:center; gap:9px; border-radius:7px; background:linear-gradient(90deg,#c51f5d,#2563eb); color:#fff; font-size:13px; font-weight:900; box-shadow:0 10px 24px rgba(37,99,235,.20); transition:transform .15s,opacity .15s; }
.contact-submit-button:hover { transform:translateY(-1px); }
.contact-submit-button:disabled { cursor:wait; opacity:.65; transform:none; }
.contact-recaptcha-note { margin-top:10px; color:#94a3b8; font-size:9px; line-height:1.5; text-align:center; }
.contact-form-alert { display:flex; align-items:flex-start; gap:8px; margin:18px 26px 0; padding:11px 13px; border:1px solid #fecaca; border-radius:7px; background:#fef2f2; color:#991b1b; font-size:11px; font-weight:700; }
.contact-form-alert.hidden { display:none; }
#contact-form .contact-form-alert { margin:16px 0 0; }
.contact-honeypot { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.contact-success { min-height:520px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:42px 28px; text-align:center; }
.contact-success-icon { width:58px; height:58px; margin-bottom:18px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:#dcfce7; color:#15803d; font-size:24px; }
.contact-success > p:not(.contact-eyebrow) { max-width:500px; margin-top:9px; color:#64748b; font-size:13px; }
.contact-protocol { min-width:240px; margin-top:24px; padding:13px 18px; border:1px dashed #94a3b8; border-radius:7px; background:#f8fafc; }
.contact-protocol span { display:block; color:#64748b; font-size:9px; font-weight:800; text-transform:uppercase; }
.contact-protocol strong { display:block; margin-top:3px; color:#111827; font-size:16px; letter-spacing:0; }
.contact-secondary-button { min-height:42px; margin-top:22px; display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid #cbd5e1; border-radius:7px; background:#fff; color:#334155; font-size:12px; font-weight:800; }

@media (max-width: 900px) {
    .contact-layout { grid-template-columns:1fr; }
    .contact-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding-top:0; }
    .contact-guide-section { border:0; }
    .contact-direct { grid-column:1/-1; margin-top:0; }
}
@media (max-width: 640px) {
    .contact-page { padding-top:74px; }
    .contact-heading-band { padding:34px 0 26px; }
    .contact-heading-band h1 { font-size:31px; }
    .contact-content-band { padding:24px 0 48px; }
    .contact-guide { grid-template-columns:1fr; gap:0; }
    .contact-guide-section { border-bottom:1px solid rgba(148,163,184,.35); }
    .contact-field-grid { grid-template-columns:1fr; gap:0; }
    .contact-form-header { align-items:flex-start; padding:19px; }
    .contact-form-header > span { display:none; }
    #contact-form { padding:20px 19px 23px; }
    .contact-form-alert { margin:15px 19px 0; }
}
