:root { --contact-ink:#17212b; --contact-muted:#687480; --contact-line:#dce3e8; --contact-soft:#f4f7f8; --contact-green:#19745d; --contact-yellow:#f4c542; }
.contact-hero { border-bottom:1px solid var(--contact-line); background:#fff; }
.contact-hero-inner { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-items:end; gap:48px; padding-top:54px; padding-bottom:48px; }
.contact-eyebrow,.contact-form header span,.contact-result > div > span { display:block; margin-bottom:10px; color:var(--contact-green); font-size:11px; font-weight:800; letter-spacing:0; }
.contact-hero h1 { max-width:760px; margin:0; color:var(--contact-ink); font-size:48px; line-height:1.04; letter-spacing:0; }
.contact-hero p { max-width:730px; margin:18px 0 0; color:var(--contact-muted); font-size:15px; line-height:1.75; }
.contact-service-facts { margin:0; border-top:3px solid var(--contact-yellow); }
.contact-service-facts div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:12px 0; border-bottom:1px solid var(--contact-line); }
.contact-service-facts dt,.contact-service-facts dd { margin:0; font-size:11px; line-height:1.45; }
.contact-service-facts dt { color:var(--contact-muted); }.contact-service-facts dd { color:var(--contact-ink); font-weight:800; text-align:right; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:28px; padding-top:30px; padding-bottom:60px; }
.contact-main,.contact-aside { min-width:0; }.contact-form,.contact-result,.contact-unavailable,.contact-aside section { border:1px solid var(--contact-line); border-radius:6px; background:#fff; box-shadow:0 8px 24px rgba(23,33,43,.05); }
.contact-form header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:23px 25px; border-bottom:1px solid var(--contact-line); }
.contact-form header span { margin-bottom:5px; }.contact-form h2,.contact-aside h2,.contact-result h2,.contact-unavailable h2 { margin:0; color:var(--contact-ink); font-size:18px; letter-spacing:0; }
.contact-form header p { margin:5px 0 0; color:var(--contact-muted); font-size:11px; }.contact-form .contact-step { flex:0 0 auto; margin:0; padding:7px 9px; border-radius:4px; color:#4d5965; background:var(--contact-soft); }
.contact-form-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; padding:25px; }.contact-field-wide { grid-column:1/-1; }
.contact-field { display:grid; min-width:0; gap:7px; color:var(--contact-ink); font-size:11px; font-weight:800; }.contact-field input,.contact-field select,.contact-field textarea { width:100%; min-width:0; box-sizing:border-box; padding:11px 12px; border:1px solid #cfd8de; border-radius:5px; outline:0; color:var(--contact-ink); background:#fff; font:inherit; font-size:12px; font-weight:500; letter-spacing:0; }.contact-field textarea { resize:vertical; line-height:1.6; }.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:var(--contact-green); box-shadow:0 0 0 3px rgba(25,116,93,.12); }.contact-field small { color:var(--contact-muted); font-size:9px; font-weight:500; line-height:1.5; }
.contact-upload { position:relative; display:block; border:1px dashed #bfcad1; border-radius:5px; background:var(--contact-soft); cursor:pointer; }.contact-upload input { position:absolute; width:1px; height:1px; opacity:0; }.contact-upload > span { display:grid; grid-template-columns:30px minmax(0,1fr); gap:2px 10px; padding:14px; }.contact-upload svg { grid-row:1/3; width:22px; height:22px; color:var(--contact-green); }.contact-upload strong,.contact-upload small { display:block; }.contact-upload small { color:var(--contact-muted); font-size:9px; font-weight:500; }
.contact-consent { display:flex; align-items:flex-start; gap:9px; color:var(--contact-muted); font-size:10px; font-weight:500; line-height:1.55; }.contact-consent input { flex:0 0 auto; margin-top:2px; }
.contact-form footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 25px; border-top:1px solid var(--contact-line); background:#fbfcfc; }.contact-form footer p { display:flex; min-width:0; align-items:center; gap:8px; margin:0; color:var(--contact-muted); font-size:9px; }.contact-form footer p svg { width:16px; height:16px; color:var(--contact-green); }.contact-form footer .btn { flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; }.contact-form footer .btn svg { width:15px; height:15px; }
.contact-alert { margin-bottom:14px; padding:13px 15px; border:1px solid #e3a4a4; border-radius:5px; color:#872f2f; background:#fff3f3; font-size:11px; font-weight:700; }
.contact-aside { display:grid; gap:14px; }.contact-aside section { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; padding:18px; box-shadow:none; }.contact-aside section.contact-departments { display:block; }.contact-aside-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:5px; color:var(--contact-green); background:#e9f5f1; }.contact-aside-icon svg { width:18px; height:18px; }.contact-aside h2 { font-size:13px; }.contact-aside p,.contact-aside li { color:var(--contact-muted); font-size:10px; line-height:1.65; }.contact-aside ol { margin:9px 0 0; padding-left:17px; }.contact-departments article { padding:12px 0; border-bottom:1px solid var(--contact-line); }.contact-departments article:last-child { padding-bottom:0; border:0; }.contact-departments strong { color:var(--contact-ink); font-size:11px; }.contact-departments p { margin:4px 0 0; }
.contact-result,.contact-unavailable { display:grid; min-height:320px; place-content:center; padding:36px; text-align:center; }.contact-result { grid-template-columns:50px minmax(0,520px); align-items:start; gap:17px; text-align:left; }.contact-result-icon { display:grid; width:50px; height:50px; place-items:center; border-radius:50%; color:var(--contact-green); background:#e9f5f1; }.contact-result-icon svg { width:25px; height:25px; }.contact-result p,.contact-unavailable p { color:var(--contact-muted); font-size:11px; line-height:1.7; }.contact-reference { display:block; width:max-content; margin:18px 0; padding:9px 12px; border:1px solid var(--contact-line); border-radius:4px; color:var(--contact-ink); background:var(--contact-soft); font-size:14px; letter-spacing:0; }.contact-unavailable .btn { margin:16px auto 0; }.contact-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
@media (max-width:900px) { .contact-hero-inner,.contact-layout { grid-template-columns:1fr; }.contact-hero-inner { gap:30px; }.contact-aside { grid-template-columns:repeat(2,minmax(0,1fr)); }.contact-aside .contact-departments { grid-column:1/-1; } }
@media (max-width:620px) { .contact-hero-inner { padding-top:34px; padding-bottom:32px; }.contact-hero h1 { font-size:34px; }.contact-layout { gap:18px; padding-top:18px; padding-bottom:36px; }.contact-form-body { grid-template-columns:1fr; padding:16px; }.contact-field-wide { grid-column:auto; }.contact-form header,.contact-form footer { padding:16px; }.contact-form footer { align-items:stretch; flex-direction:column; }.contact-form footer .btn { width:100%; justify-content:center; }.contact-aside { grid-template-columns:1fr; }.contact-aside .contact-departments { grid-column:auto; }.contact-result { grid-template-columns:1fr; padding:24px 18px; }.contact-reference { max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; }.contact-service-facts div { grid-template-columns:1fr; gap:3px; }.contact-service-facts dd { text-align:left; } }
