/* =====================================================================
   contact.css — Contact Us page. Requires common.css first.
   Layout columns come from Bootstrap; this carries the visuals.
   ===================================================================== */

/* ---- HERO (shared "pr-" hero look) ---- */
.pr-hero{background:radial-gradient(120% 130% at 50% 0%,var(--navy),var(--deep) 55%,var(--deep-2));color:#fff;padding:84px 0 150px;text-align:center;position:relative;overflow:hidden;}
.pr-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 60% at 50% 0%,rgba(99,140,255,.28),transparent 70%);}
.pr-hero-in{position:relative;z-index:1;}
.pr-eyebrow-l{font-size:.72rem;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:#a9c0ff;margin:0 0 1.2rem;}
.pr-h1{font-family:var(--font-display);font-size:3.1rem;font-weight:800;letter-spacing:-1.5px;line-height:1.08;margin:0 0 1.1rem;}
.pr-sub{color:#cdd8f5;font-size:1.02rem;line-height:1.6;max-width:560px;margin:0 auto;}
.ct-hero{padding-bottom:175px;}

/* ---- SECTION HEAD ---- */
.ct-section{padding:70px 0;}
.pr-head{text-align:center;margin-bottom:3rem;}
.pr-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--muted);margin:0 0 .9rem;}
.pr-h2{font-family:var(--font-display);font-size:2.4rem;font-weight:800;letter-spacing:-1px;color:var(--ink-2);line-height:1.12;margin:0;}

/* ---- CONTACT CARD (overlaps hero) ---- */
.ct-wrap{position:relative;z-index:5;margin-top:-125px;}
.ct-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(15,23,42,.18);border:1px solid var(--line);}

.ct-info{height:100%;background:radial-gradient(130% 130% at 0% 0%,var(--navy),var(--deep) 70%);color:#fff;padding:3rem 2.6rem;}
.ct-pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:.42rem .9rem;font-size:.74rem;font-weight:600;margin:0 0 1.4rem;}
.ct-pill .dot{width:7px;height:7px;border-radius:50%;background:#4ade80;}
.ct-info h2{font-family:var(--font-display);font-size:1.8rem;font-weight:800;letter-spacing:-.5px;margin:0 0 .9rem;}
.ct-info .ct-intro{color:#cdd8f5;font-size:.95rem;line-height:1.7;margin:0 0 2rem;}
.ct-methods{display:flex;flex-direction:column;gap:1.25rem;}
.ct-method{display:flex;gap:.9rem;align-items:flex-start;}
.ct-method .ic{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ct-method .ic svg{width:18px;height:18px;}
.ct-m-label{font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:#9bb3f0;font-weight:700;margin:0;}
.ct-m-val{font-size:.93rem;font-weight:600;color:#fff;margin:.15rem 0 0;line-height:1.45;}
.ct-socials{display:flex;gap:.7rem;margin-top:2.2rem;}
.ct-soc{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;transition:.15s;}
.ct-soc:hover{background:rgba(255,255,255,.22);color:#fff;}
.ct-soc svg{width:17px;height:17px;}

/* ---- FORM ---- */
.ct-form{padding:3rem 2.6rem;}
.ct-form h3{font-family:var(--font-display);font-size:1.4rem;font-weight:800;color:var(--ink-2);margin:0 0 1.4rem;}
.ct-field{margin-bottom:1.05rem;}
.ct-field label{display:block;font-size:.78rem;font-weight:700;color:var(--text);margin-bottom:.4rem;}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:.78rem .9rem;font-family:var(--font-body);font-size:.92rem;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s;}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.12);}
.ct-field textarea{min-height:118px;resize:vertical;}
.ct-submit{width:100%;background:var(--blue);color:#fff;font-weight:700;font-size:.95rem;padding:.9rem;border-radius:11px;border:none;cursor:pointer;margin-top:.5rem;transition:background .15s;}
.ct-submit:hover{background:var(--navy);}
.ct-privacy{font-size:.72rem;color:var(--soft);text-align:center;margin:.9rem 0 0;line-height:1.5;}

.ct-thanks{display:none;text-align:center;padding:3rem 1rem;}
.ct-thanks.show{display:block;}
.ct-thanks .tick{width:62px;height:62px;border-radius:50%;background:#eafaf0;color:var(--success);display:flex;align-items:center;justify-content:center;font-size:1.9rem;margin:0 auto 1.1rem;}
.ct-thanks h3{font-family:var(--font-display);font-size:1.4rem;font-weight:800;color:var(--ink-2);margin:0 0 .5rem;}
.ct-thanks p{color:var(--muted);font-size:.92rem;line-height:1.6;margin:0;}

/* ---- REASON CARDS ---- */
.ct-reasons{background:#fff;}
.ct-rcard{height:100%;border:1px solid var(--line);border-radius:18px;padding:1.8rem;transition:.2s;}
.ct-rcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(29,78,216,.1);border-color:#dbe4ff;}
.ct-rcard .ic{width:46px;height:46px;border-radius:12px;background:#eff4ff;color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;}
.ct-rcard .ic svg{width:22px;height:22px;}
.ct-rcard h3{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--ink-2);margin:0 0 .5rem;}
.ct-rcard p{font-size:.88rem;color:var(--muted);line-height:1.6;margin:0 0 .9rem;}
.ct-rcard a{font-size:.86rem;font-weight:700;color:var(--blue);text-decoration:none;}

/* ---- CTA BAND ---- */
.ct-band{background:radial-gradient(120% 140% at 50% 0%,var(--navy),var(--deep));color:#fff;text-align:center;border-radius:24px;padding:3.2rem 2rem;}
.ct-band h2{font-family:var(--font-display);font-size:1.9rem;font-weight:800;letter-spacing:-.6px;margin:0 0 .6rem;}
.ct-band p{color:#cdd8f5;font-size:.97rem;margin:0 0 1.6rem;}
.ct-band-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.ct-bbtn{font-weight:700;font-size:.92rem;padding:.8rem 1.7rem;border-radius:11px;text-decoration:none;transition:.15s;}
.ct-bbtn.primary{background:#fff;color:var(--navy);}
.ct-bbtn.primary:hover{color:var(--navy);opacity:.92;}
.ct-bbtn.ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;}
.ct-bbtn.ghost:hover{background:rgba(255,255,255,.2);color:#fff;}

/* ---- RESPONSIVE ---- */
@media (max-width:991.98px){
  .pr-h1{font-size:2.2rem;}
  .pr-h2{font-size:1.9rem;}
  .ct-wrap{margin-top:-90px;}
  .ct-info,.ct-form{padding:2.2rem 1.6rem;}
}
