/* ===== CONTACT PAGE ===== */

.contact-hero{
  background: radial-gradient(1200px 600px at 30% 20%, rgba(255,255,255,.10), transparent 60%),
              linear-gradient(180deg, #001a3a 0%, #00122b 100%);
  padding: 90px 0 70px;
  color:#fff;
}
.contact-hero-inner{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 32px;
  align-items:center;
}
.hero-title{ font-size: clamp(34px, 4.4vw, 56px); margin:0 0 12px; }
.hero-sub{ font-size: 18px; opacity:.85; margin:15px 0 18px; max-width: 640px; }

.hero-badges{ display:flex; flex-wrap:wrap; gap:10px; }
.badge{
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.14);
  padding: 9px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  backdrop-filter: blur(10px);
}

.hero-illustration{
  display: flex;
  align-items: center;
  justify-content: center;
  /* Removed all glass styling */
}

/* animated gold line like home */
.title-underline {
  position: relative;
  display: inline-block; /* keeps underline tight to the text */
}

.title-underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;                 /* distance below text */
  height: 3px;
  width: 110px;
  border-radius: 999px;
  background: linear-gradient(90deg, #d4af37, #ffe08a);
  transform-origin: left;
  animation: titleUnderline 2.4s ease-in-out infinite;
}

@keyframes titleUnderline {
  0%   { transform: scaleX(0); opacity: 0; }
  25%  { transform: scaleX(1); opacity: 1; }
  70%  { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(0); opacity: 0; }
}

.section.light{ background:#f2f4f7; padding: 70px 0; }
.section.navy{
  background: radial-gradient(900px 460px at 30% 0%, rgba(255,255,255,.08), transparent 60%),
              linear-gradient(180deg, #001a3a 0%, #00122b 100%);
  padding: 80px 0;
  color:#fff;
}

.section-title{ font-size: 34px; margin:0 0 10px; color:#0b1a33; }
.section-sub{ margin:15px 0 18px; color:#4a5568; }

/* grid */
.contact-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  align-items:start;
}

/* form card */
.contact-form-card{
  background:#fff;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.alerts{ display:flex; flex-direction:column; gap:10px; margin: 10px 0 14px; }
.alert{
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 600;
  border: 1px solid rgba(0,0,0,.08);
  background: #f7f7f7;
}
.alert.success{
  background: rgba(30, 170, 90, 0.10);
  border-color: rgba(30, 170, 90, 0.25);
}
.alert.error{
  background: rgba(220, 50, 50, 0.10);
  border-color: rgba(220, 50, 50, 0.25);
}

/* form */
.contact-form .hp{ display:none !important; }
.form-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.field{ margin-bottom: 12px; }
.field label{
  display:block;
  font-weight: 800;
  font-size: 13px;
  color:#0b1a33;
  margin-bottom: 6px;
}
.field input, .field textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  padding: 12px 12px;
  font-size: 15px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.field input:focus, .field textarea:focus{
  border-color: rgba(202,161,42,.65);
  box-shadow: 0 0 0 4px rgba(202,161,42,.18);
}

.btn-gold{
  width: 100%;
  margin-top: 8px;
  background:#caa12a;
  color:#04132a;
  border: none;
  padding: 14px 16px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 16px;
  cursor:pointer;
  transition: transform .15s ease, filter .15s ease;
}
.btn-gold:hover{ filter: brightness(1.2); }
.btn-gold:active{ transform: scale(0.98); }

.form-note{
  margin: 10px 0 0;
  color:#718096;
  font-size: 13px;
}

/* info side */
.contact-info{
  display:flex;
  flex-direction:column;
  gap: 16px;
}

.info-card, .faq-card{
  background:#fff;
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.info-title{ margin:0 0 14px; font-size: 20px; color:#0b1a33; }

.info-item{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.info-item:last-child{ border-bottom: none; }
.info-label{ color:#718096; font-weight: 700; }
.info-value{ color:#0b1a33; font-weight: 900; }

.info-mini{
  margin-top: 12px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.mini{
  border-radius: 16px;
  background:#f2f4f7;
  border: 1px solid rgba(0,0,0,.06);
  padding: 12px;
}
.mini-title{ font-weight: 900; color:#0b1a33; }
.mini-text{ color:#4a5568; margin-top: 4px; }

/* FAQ */
.faq-card details{
  border-radius: 16px;
  background:#f2f4f7;
  border: 1px solid rgba(0,0,0,.06);
  padding: 12px 14px;
  margin-bottom: 10px;
  margin-top: 15px;
}
.faq-card summary{
  cursor:pointer;
  font-weight: 900;
  color:#0b1a33;
}
.faq-card p{
  margin: 10px 0 0;
  color:#4a5568;
  line-height: 1.55;
}

/* CTA */
.contact-cta .cta-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 18px;
}
.cta-title{ margin:0 0 10px; font-size: 34px; }
.cta-sub{ margin:15px 0 0; opacity:.82; max-width: 680px; }

.btn-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration:none;
  color:#fff;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
}
.btn-outline:hover{
  border-color: rgba(202,161,42,.55);
  background: rgba(202,161,42,.12);
}

/* reveal animation */
.reveal{ transform: translateY(14px); opacity: 0; transition: transform .55s ease, opacity .55s ease; }
.reveal.in{ transform: translateY(0); opacity: 1; }

/* RESPONSIVE */
@media (max-width: 980px){
  .contact-hero-inner{ grid-template-columns: 1fr; }
  .contact-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 640px){
  .contact-hero{ padding: 70px 0 55px; }
  .section.light{ padding: 55px 0; }
  .section.navy{ padding: 65px 0; }

  .form-row{ grid-template-columns: 1fr; }
  .contact-form-card, .info-card, .faq-card{ padding: 18px; }

  .contact-cta .cta-inner{
    flex-direction: column;
    align-items:flex-start;
  }
  .btn-outline{ width: 100%; }
}

