/* ============================================================
   CSI — CONTACT page — depends on core.css
   ============================================================ */
.ct{background:var(--white)}
.ct-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:start}

/* Form card */
.ct-form{background:var(--white);border:1px solid #e3edee;padding:40px;position:relative;overflow:hidden}
.ct-form::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--teal),var(--cyan))}
.ct-form h2{font-size:24px;font-weight:900;text-transform:uppercase;color:var(--teal-dark);margin-bottom:6px;letter-spacing:-.5px}
.ct-form .sub{font-size:13px;color:var(--muted);margin-bottom:26px;line-height:1.7}
.ct-field{margin-bottom:18px}
.ct-field label{display:block;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--teal-dark);margin-bottom:8px}
.ct-field label .req{color:#d9534f}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;padding:14px 16px;border:1px solid #d7e3e5;background:var(--light);font-family:var(--font);font-size:14px;color:var(--ink);transition:border-color .3s,box-shadow .3s;border-radius:2px}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(4,106,120,.12);background:#fff}
.ct-field textarea{resize:vertical;min-height:130px}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-submit{width:100%;justify-content:center;margin-top:6px}
.ct-alert{padding:14px 18px;font-size:13px;margin-bottom:20px;border-left:3px solid;display:none}
.ct-alert.err{display:block;background:#fdecea;border-color:#d9534f;color:#a33}

/* Info side */
.ct-info{display:grid;gap:16px}
.ct-card{display:flex;gap:16px;align-items:flex-start;background:var(--teal-deep);color:#fff;padding:24px;border-left:3px solid var(--cyan)}
.ct-card .ic{width:46px;height:46px;min-width:46px;display:grid;place-items:center;background:rgba(4,106,120,.35);color:var(--cyan);font-size:18px}
.ct-card b{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:5px}
.ct-card a,.ct-card span{color:#fff;font-size:14px;font-weight:600;line-height:1.5;word-break:break-word}
.ct-card a:hover{color:var(--cyan)}
.ct-map{border:1px solid #e3edee;overflow:hidden;line-height:0;margin-top:4px}
.ct-map iframe{width:100%;height:260px;border:0;filter:grayscale(.2)}

/* Emergency band */
.ct-emg{background:var(--teal);color:#fff;text-align:center}
.ct-emg .in{max-width:640px;margin:0 auto}
.ct-emg h2{font-size:clamp(24px,3.4vw,38px);font-weight:900;text-transform:uppercase;margin-bottom:10px}
.ct-emg p{color:rgba(255,255,255,.85);font-size:14px;margin-bottom:22px;line-height:1.8}
.ct-emg .num{font-size:clamp(26px,4vw,40px);font-weight:900;color:#fff;letter-spacing:1px}

@media(max-width:1024px){.ct-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:560px){.ct-row{grid-template-columns:1fr}.ct-form{padding:26px}}
