/* Contact page styles */

/* Hero */
.ct-hero{position:relative;z-index:2;padding:60px 0 40px;text-align:center}
.ct-hero-inner{display:flex;flex-direction:column;align-items:center}

/* Info cards */
.ct-grid{padding:20px 0 60px;position:relative;z-index:2}
.ct-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ct-card{padding:28px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(28,29,61,.5),rgba(22,23,52,.5));text-align:center;transition:transform .25s,border-color .25s}
.ct-card:hover{transform:translateY(-4px);border-color:rgba(106,92,255,.4)}
.ct-icon{width:48px;height:48px;border-radius:12px;background:rgba(106,92,255,.15);color:#a89bff;display:grid;place-items:center;font-size:20px;margin:0 auto 16px}
.ct-card h3{margin:0 0 6px;font-size:17px}
.ct-card p{margin:0;color:var(--text);font-size:15px;font-weight:500}
.ct-note{display:block;margin-top:8px;color:var(--muted);font-size:12px}

/* Form */
.ct-form-section{padding:20px 0 80px;position:relative;z-index:2}
.ct-form-wrap{max-width:720px;margin:0 auto;background:linear-gradient(180deg,rgba(28,29,61,.7),rgba(22,23,52,.7));border:1px solid var(--border);border-radius:20px;padding:40px;backdrop-filter:blur(12px)}
.ct-form-head{text-align:center;margin-bottom:32px}
.ct-form-head h2{font-size:clamp(22px,3vw,32px);margin:0 0 8px;letter-spacing:-.02em}
.ct-form-head .sub{margin:0 auto}

.ct-form{display:flex;flex-direction:column;gap:18px}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ct-field{display:flex;flex-direction:column;gap:6px}
.ct-field label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.ct-field input,
.ct-field select,
.ct-field textarea{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  color:var(--text);
  padding:12px 14px;
  border-radius:12px;
  font-size:14px;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
  font-family:inherit;
}
.ct-field input:focus,
.ct-field select:focus,
.ct-field textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px rgba(106,92,255,.15)}
.ct-field input::placeholder,
.ct-field textarea::placeholder{color:rgba(154,160,199,.5)}
.ct-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239aa0c7' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.ct-field select option{background:var(--panel);color:var(--text)}
.ct-field textarea{resize:vertical;min-height:120px}

.ct-error{display:none;color:var(--danger);font-size:12px;margin-top:2px}
.ct-field.invalid input,
.ct-field.invalid select,
.ct-field.invalid textarea{border-color:var(--danger)}
.ct-field.invalid .ct-error{display:block}

.ct-actions{display:flex;align-items:center;gap:16px;margin-top:6px;flex-wrap:wrap}
.ct-status{font-size:14px;color:var(--success);opacity:0;transition:opacity .3s}
.ct-status.visible{opacity:1}
.ct-status.error{color:var(--danger)}

/* FAQ */
.ct-faq{padding:40px 0 80px;position:relative;z-index:2}
.ct-faq .faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.ct-faq details{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:14px;padding:18px 20px;cursor:pointer;transition:border-color .2s}
.ct-faq details:hover{border-color:rgba(106,92,255,.3)}
.ct-faq summary{list-style:none;font-weight:600;font-size:15px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.ct-faq summary::-webkit-details-marker{display:none}
.ct-faq summary::after{content:"+";color:var(--muted);font-size:18px;transition:transform .2s}
.ct-faq details[open] summary::after{transform:rotate(45deg);color:var(--primary-2)}
.ct-faq details p{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.6}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* Responsive */
@media(max-width:980px){
  .ct-form-wrap{padding:32px 24px}
}
@media(max-width:780px){
  .ct-cards{grid-template-columns:1fr}
  .ct-row{grid-template-columns:1fr}
}
@media(max-width:480px){
  .ct-hero{padding:40px 0 20px}
  .ct-form-wrap{padding:24px 18px;border-radius:14px}
  .ct-actions{flex-direction:column;align-items:flex-start;gap:10px}
}
