:root{--ct-ink:#0f172a;--ct-body:#64748b;--ct-line:#e2e8f0;--ct-paper:#fff;--ct-soft:#f6f8fc;--ct-blue:#2563eb;--ct-green:#10b981}
[data-theme="dark"]{--ct-ink:#e8edf6;--ct-body:#aeb8c9;--ct-line:#25304a;--ct-paper:#0f1728;--ct-soft:#0b1220}
.ct-section{background:var(--ct-soft);border-top:1px solid var(--ct-line)}
.ct-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;margin-bottom:44px;align-items:stretch}
.ct-info{display:flex;flex-direction:column;gap:14px;height:100%}
.ct-info .ct-card{flex:1;min-height:0}
.ct-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;background:var(--ct-paper);border:1px solid var(--ct-line);border-radius:17px;padding:18px 20px;box-shadow:0 14px 32px -30px rgba(15,23,42,.55);transition:.22s}
.ct-card::before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:3px;border-radius:0 5px 5px 0;background:var(--ct-blue);opacity:.72}
.ct-card:hover{transform:translateX(5px);border-color:#bfdbfe;box-shadow:0 20px 40px -30px rgba(37,99,235,.55)}
.ct-ic{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.ct-card b{display:block;font-size:14.5px;color:var(--ct-ink);margin-bottom:3px;font-family:Poppins,sans-serif}
.ct-card span{font-size:13.5px;color:var(--ct-body);line-height:1.45;overflow-wrap:anywhere}
.ct-card a{color:#4f46e5;text-decoration:none}
.ct-card a:hover{text-decoration:underline}

.ct-form-wrap{position:relative;height:100%;background:var(--ct-paper);border:1px solid var(--ct-line);border-top:4px solid var(--ct-blue);border-radius:22px;padding:34px;box-shadow:0 28px 60px -38px rgba(15,23,42,.5)}
.ct-form-art{position:relative;width:70px;height:70px;margin:0 auto 18px;display:grid;place-items:center;background:linear-gradient(145deg,#eef2ff,#dbeafe);border:1px solid #c7d2fe;border-radius:22px;box-shadow:0 16px 34px -22px rgba(37,99,235,.7)}
.ct-form-art::before{content:"";position:absolute;inset:8px;border-radius:17px;background:linear-gradient(145deg,#4f46e5,#2563eb);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.ct-form-art-bubble{position:relative;z-index:1;color:#fff;font-size:24px;line-height:1}
.ct-form-art-send{position:absolute;z-index:2;right:5px;bottom:4px;width:25px;height:25px;display:grid;place-items:center;border:3px solid var(--ct-paper);border-radius:50%;background:#10b981;color:#fff;font-size:10px;box-shadow:0 5px 12px rgba(15,23,42,.2)}
.ct-form label{display:block;font-size:12.5px;font-weight:750;color:var(--ct-body);margin:15px 0 7px}
.ct-form label:first-of-type{margin-top:0}
.ct-form input,.ct-form textarea{width:100%;border:1px solid var(--ct-line);border-radius:12px;padding:13px 14px;font-size:14px;font-family:inherit;color:var(--ct-ink);background:var(--ct-paper);outline:none;transition:border-color .18s,box-shadow .18s,transform .18s}
.ct-form textarea{min-height:138px;resize:vertical}
.ct-form input:focus,.ct-form textarea:focus{border-color:var(--ct-blue);box-shadow:0 0 0 4px rgba(37,99,235,.11)}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-form button{margin-top:22px;width:100%;justify-content:center;background:#0b9f76;border-color:#0b9f76;min-height:52px;box-shadow:0 16px 30px -18px rgba(5,150,105,.65)}
.ct-form button:hover{background:#078665;border-color:#078665;transform:translateY(-2px)}
.ct-sent{text-align:center;padding:40px 20px}
.ct-sent i{font-size:46px;color:#059669;margin-bottom:14px}
.ct-sent h3{font-size:19px;font-weight:750;margin:0 0 8px;color:#0f172a}
.ct-sent p{font-size:14px;color:#64748b;margin:0}

.ct-map{border-radius:22px;overflow:hidden;height:330px;margin-bottom:58px;border:1px solid var(--ct-line);box-shadow:0 24px 55px -38px rgba(15,23,42,.55)}
.ct-map iframe{width:100%;height:100%;border:0}
.ct-faq-head{text-align:center;margin-bottom:26px}
.ct-faq-head h2{font-size:24px;font-weight:800;color:#0f172a;margin:0}

@media (max-width:860px){.ct-grid{grid-template-columns:1fr}.ct-info .ct-card{flex:none}.ct-row{grid-template-columns:1fr}.ct-form-wrap{padding:28px}}
@media (max-width:560px){.ct-grid{gap:22px}.ct-card{padding:16px}.ct-form-wrap{padding:24px 18px}.ct-form-art{width:64px;height:64px}.ct-map{height:280px}}
