/* ── Contact Page ── */
.ct-hero { background:linear-gradient(135deg,#0a0a14 0%,#0f0f1e 50%,#0d0d1a 100%); padding:80px 0 72px; position:relative; overflow:hidden; }
.ct-hero-blob1 { position:absolute; top:-200px; left:-200px; width:700px; height:700px; background:radial-gradient(circle,rgba(99,102,241,0.08) 0%,transparent 65%); pointer-events:none; }
.ct-hero-blob2 { position:absolute; bottom:-150px; right:-100px; width:500px; height:500px; background:radial-gradient(circle,rgba(139,92,246,0.07) 0%,transparent 65%); pointer-events:none; }
.ct-hero-inner { max-width:900px; margin:0 auto; padding:0 32px; text-align:center; position:relative; z-index:1; }
.ct-hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(99,102,241,0.12); border:1px solid rgba(99,102,241,0.25); border-radius:100px; padding:6px 18px; margin-bottom:24px; }
.ct-hero-badge-dot { width:6px; height:6px; border-radius:50%; background:#818cf8; display:inline-block; }
.ct-hero-badge-text { font-size:12px; font-weight:600; color:#818cf8; letter-spacing:.1em; text-transform:uppercase; }
.ct-hero-title { font-size:clamp(32px,5vw,58px); font-weight:900; color:#fff; line-height:1.05; margin:0 0 20px; letter-spacing:-0.03em; }
.ct-hero-desc { font-size:17px; color:rgba(255,255,255,0.5); line-height:1.7; max-width:600px; margin:0 auto; }

.ct-body { background:#0d0d1a; padding:80px 0 100px; position:relative; }
.ct-body-dots { position:absolute; inset:0; background:url('data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2260%22 height=%2260%22><circle cx=%2230%22 cy=%2230%22 r=%221%22 fill=%22rgba(255,255,255,0.025)%22/></svg>') repeat; pointer-events:none; }
.ct-body-inner { max-width:1200px; margin:0 auto; padding:0 32px; position:relative; z-index:1; }
.ct-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:start; }
.ct-info-title { font-size:22px; font-weight:800; color:#fff; margin:0 0 8px; letter-spacing:-0.02em; }
.ct-info-desc { font-size:14px; color:rgba(255,255,255,0.4); margin:0 0 36px; line-height:1.6; }
.ct-cards { display:flex; flex-direction:column; gap:12px; margin-bottom:36px; }
.ct-section-label { font-size:11px; color:rgba(255,255,255,0.35); font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin:0 0 12px; }
.ct-wa-row { display:flex; gap:10px; flex-wrap:wrap; }
.ct-wa-btn { display:inline-flex; align-items:center; gap:9px; padding:11px 20px; border-radius:12px; text-decoration:none; font-size:14px; font-weight:700; transition:all .2s; }
.ct-wa-tr { background:#25d366; color:#fff; box-shadow:0 4px 16px rgba(37,211,102,0.25); }
.ct-wa-tr:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,211,102,0.35); }
.ct-wa-int { background:linear-gradient(135deg,#128C7E,#075E54); color:#fff; box-shadow:0 4px 16px rgba(18,140,126,0.25); }
.ct-wa-int:hover { transform:translateY(-2px); }
.ct-social-row { display:flex; gap:10px; flex-wrap:wrap; }
.ct-social-icon { width:46px; height:46px; border-radius:12px; border:1px solid rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; text-decoration:none; transition:all .2s; }
.ct-social-icon:hover { transform:translateY(-3px); border-color:rgba(255,255,255,0.2); }

.ct-form-wrap { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:24px; padding:44px 40px; backdrop-filter:blur(10px); }
.ct-form-title { font-size:22px; font-weight:800; color:#fff; margin:0 0 8px; letter-spacing:-0.02em; }
.ct-form-desc { font-size:14px; color:rgba(255,255,255,0.4); margin:0 0 32px; }
.ct-success { display:flex; align-items:flex-start; gap:14px; background:rgba(16,185,129,0.1); border:1px solid rgba(16,185,129,0.3); border-radius:14px; padding:18px 20px; margin-bottom:28px; }
.ct-success-icon { width:36px; height:36px; background:rgba(16,185,129,0.2); border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ct-success-title { font-size:15px; font-weight:700; color:#34d399; margin:0 0 4px; }
.ct-success-desc { font-size:13px; color:rgba(52,211,153,0.7); margin:0; }
.ct-errors { background:rgba(239,68,68,0.08); border:1px solid rgba(239,68,68,0.25); border-radius:12px; padding:14px 18px; margin-bottom:24px; }
.ct-error-item { font-size:13px; color:#f87171; margin:0 0 4px; }
.ct-label { display:block; font-size:12px; font-weight:700; color:rgba(255,255,255,0.5); text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
.ct-label-req { color:#818cf8; }
.ct-name-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.ct-field { margin-bottom:16px; }
.ct-field-last { margin-bottom:28px; }
.ct-submit { width:100%; padding:16px; background:linear-gradient(135deg,#6366f1,#8b5cf6); color:#fff; font-size:15px; font-weight:700; border:none; border-radius:14px; cursor:pointer; letter-spacing:.02em; transition:all .25s; box-shadow:0 4px 20px rgba(99,102,241,0.35); }
.ct-submit:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(99,102,241,0.5); }
.ct-map { background:#0d0d1a; border-top:1px solid rgba(255,255,255,0.06); }
.ct-map-inner { width:100%; line-height:0; font-size:0; }

.contact-input { width:100%; box-sizing:border-box; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:12px; padding:14px 18px; font-size:15px; color:#fff; outline:none; transition:border-color .25s,background .25s,box-shadow .25s; font-family:inherit; }
.contact-input::placeholder { color:rgba(255,255,255,0.3); }
.contact-input:focus { border-color:rgba(99,102,241,0.7); background:rgba(99,102,241,0.06); box-shadow:0 0 0 3px rgba(99,102,241,0.15); }
.contact-input:hover:not(:focus) { border-color:rgba(255,255,255,0.2); }
.info-card { display:flex; align-items:flex-start; gap:16px; padding:20px 22px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:16px; text-decoration:none; transition:all .25s; }
.info-card:hover { background:rgba(99,102,241,0.1); border-color:rgba(99,102,241,0.35); transform:translateY(-2px); }
.info-icon { width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.info-label { font-size:11px; color:rgba(255,255,255,0.35); font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin-bottom:4px; }
.info-value { font-size:16px; font-weight:700; color:#fff; }
.info-value-sm { font-size:15px; font-weight:600; color:#fff; line-height:1.5; }
.ct-hours-value { font-size:14px; font-weight:600; color:#fff; line-height:1.7; white-space:pre-line; }

@media(max-width:768px) {
    .ct-grid { grid-template-columns:1fr !important; gap:32px !important; }
    .ct-form-wrap { padding:24px 20px !important; }
    .ct-name-grid { grid-template-columns:1fr !important; }
    .ct-hero-inner { padding:0 20px; }
    .ct-body-inner { padding:0 20px; }
}
