/* ===== CONTACT page (contact.php) ===== */
.ct-hero{padding:84px 0 118px}
.ct-hero h1{max-width:820px;margin-left:auto;margin-right:auto;line-height:1.15;letter-spacing:-.02em}
.ct-hero p{font-size:1.05rem;margin-bottom:28px}
.ct-hero .badge{margin-bottom:16px}
.ct-orbs i{position:absolute;display:block;border-radius:50%;pointer-events:none;animation:ctOrb 11s ease-in-out infinite}
.ct-orbs .o1{width:260px;height:260px;left:6%;top:14%;background:radial-gradient(circle at 30% 30%,rgba(0,198,255,.45),transparent 70%)}
.ct-orbs .o2{width:320px;height:320px;right:4%;top:-8%;background:radial-gradient(circle at 60% 40%,rgba(139,44,245,.5),transparent 70%);animation-delay:-4s}
.ct-orbs .o3{width:180px;height:180px;right:22%;bottom:-6%;background:radial-gradient(circle,rgba(10,108,255,.5),transparent 70%);animation-delay:-7s}
@keyframes ctOrb{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(18px,-22px) scale(1.08)}}

/* quick contact cards */
.ct-cards-wrap{margin-top:-58px;position:relative;z-index:3}
.ct-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ct-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;background:#fff;border:1px solid #e3ebfb;border-radius:20px;padding:26px 16px 24px;box-shadow:0 18px 40px rgba(11,31,77,.14);position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .3s}
.ct-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad)}
.ct-card:hover{transform:translateY(-8px);box-shadow:0 28px 50px rgba(10,108,255,.26);border-color:#bcd3ff}
.ct-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;font-size:1.6rem;background:linear-gradient(135deg,#e6f3ff,#efe6ff);margin-bottom:8px;transition:transform .35s}
.ct-ico.wa{background:linear-gradient(135deg,#d9fbe6,#e6fff1)}
.ct-card:hover .ct-ico{transform:rotate(-8deg) scale(1.1)}
.ct-card small{color:var(--muted);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}
.ct-card strong{color:var(--navy);font-size:.98rem;word-break:break-word}

/* form + details */
.ct-main{padding-top:80px}
.ct-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:54px;align-items:start}
.ct-h2{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--navy);font-weight:800;letter-spacing:-.01em;margin-bottom:8px;padding-left:16px;border-left:5px solid var(--blue)}
.ct-lead{color:var(--muted);margin-bottom:22px}
.ct-form-col .query-card{padding:30px 28px}
.ct-list{display:grid;gap:14px;margin-bottom:26px}
.ct-list li{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #e3ebfb;border-radius:16px;padding:14px 18px;box-shadow:0 8px 20px rgba(11,31,77,.07);transition:transform .3s,box-shadow .3s}
.ct-list li:hover{transform:translateX(8px);box-shadow:0 16px 30px rgba(10,108,255,.18)}
.ct-li-ico{flex:0 0 46px;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:1.3rem;background:linear-gradient(135deg,#e6f3ff,#efe6ff)}
.ct-list small{display:block;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.ct-list a,.ct-list span{font-weight:700;color:var(--navy);word-break:break-word}
.ct-list a:hover{color:var(--blue)}
.ct-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.ct-btn-line{border-color:#cfe0ff;color:var(--navy);background:#fff}
.ct-btn-line:hover{background:var(--navy);color:#fff;transform:translateY(-3px)}
.ct-follow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ct-follow>span{color:var(--navy);font-weight:800;font-size:.9rem}
.ct-social{display:flex;gap:10px}
.ct-social a{width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid #e3ebfb;display:grid;place-items:center;box-shadow:0 6px 14px rgba(11,31,77,.12);transition:.3s}
.ct-social a svg{width:20px;height:20px}
.ct-social a:hover{transform:translateY(-5px) rotate(-6deg);box-shadow:0 12px 22px rgba(10,108,255,.3)}

/* FAQ */
.ct-faq{background:rgba(244,248,255,.6)}
.ct-faq-list{max-width:820px;margin:0 auto;display:grid;gap:14px}
.ct-faq details{background:#fff;border:1px solid #e3ebfb;border-radius:16px;box-shadow:0 8px 20px rgba(11,31,77,.07);overflow:hidden;transition:box-shadow .3s,border-color .3s}
.ct-faq details[open]{border-color:#bcd3ff;box-shadow:0 16px 32px rgba(10,108,255,.16)}
.ct-faq summary{list-style:none;cursor:pointer;padding:18px 54px 18px 22px;font-weight:700;color:var(--navy);position:relative}
.ct-faq summary::-webkit-details-marker{display:none}
.ct-faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:1.2rem;line-height:1;transition:transform .3s}
.ct-faq details[open] summary::after{content:"−";transform:translateY(-50%) rotate(180deg)}
.ct-faq details p{padding:0 22px 20px;color:#43527a}

@media (max-width:1000px){
  .ct-cards{grid-template-columns:repeat(2,1fr)}
  .ct-grid{grid-template-columns:1fr;gap:44px}
}
@media (max-width:560px){
  .ct-hero{padding:60px 0 92px}
  .ct-cards{grid-template-columns:1fr}
  .ct-form-col .query-card{padding:22px 18px}
}
