
/* =========================================================================
   CONTACT PAGE CSS  (post ID 2)
   All selectors scoped to .page-id-2.
   ========================================================================= */

/* --- SHARED: eyebrows --- */
.page-id-2 .ct-eyebrow-dark .elementor-heading-title,
.page-id-2 .ct-eyebrow-light .elementor-heading-title {
  display: inline-block;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin: 0 0 12px;
}
.page-id-2 .ct-eyebrow-dark .elementor-heading-title { color: var(--e-global-color-primary) !important; }
.page-id-2 .ct-eyebrow-light .elementor-heading-title { color: var(--e-global-color-secondary) !important; }

/* ============== HERO ============== */
.page-id-2 .ct-hero { isolation: isolate; position: relative; }
.page-id-2 .ct-hero > .e-con-inner { width: 100%; max-width: 920px; }

.page-id-2 .ct-hero-title .elementor-heading-title {
  font-size: clamp(2.4rem, 5.6vw, 4.6rem) !important;
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: #FFFFFF !important;
  margin: 0;
  max-width: 22ch;
}
.page-id-2 .ct-hero-title em,
.page-id-2 .ct-hero-title i {
  font-style: normal;
  font-weight: inherit;
  color: var(--e-global-color-secondary);
}
.page-id-2 .ct-hero-lead .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.98rem !important;
  font-weight: 400 !important;
  line-height: 1.65;
  color: #C8D0D7 !important;
  max-width: 58ch;
  margin: 8px 0 12px;
  text-align: center;
}

/* HERO pill chip */
.page-id-2 .ct-hero-pill { width: auto !important; display: inline-flex; }
.page-id-2 .ct-hero-pill .ct-hero-pill-dot .elementor-icon i,
.page-id-2 .ct-hero-pill .ct-hero-pill-dot .elementor-icon svg {
  color: var(--e-global-color-secondary) !important;
  fill: var(--e-global-color-secondary) !important;
  font-size: 7px !important;
}
.page-id-2 .ct-hero-pill-text .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  color: #E5E7EB !important;
  margin: 0;
}
.page-id-2 .ct-pill-accent {
  color: var(--e-global-color-secondary);
  font-weight: 700;
  margin-left: 4px;
}

/* ============== SECTION 1 ============== */
.page-id-2 .ct-section1 { background: #F4F6F9; }
.page-id-2 .ct-section1 > .e-con-inner { width: 100%; max-width: 1200px; }

/* Card shells */
.page-id-2 .ct-card { box-shadow: 0 30px 80px -40px rgba(14,27,34,.18); }
.page-id-2 .ct-card-dark { background: #0E1B22; }
.page-id-2 .ct-card-light { background: #FFFFFF; }

.page-id-2 .ct-card-title .elementor-heading-title {
  font-size: clamp(1.5rem, 2.6vw, 1.9rem) !important;
  line-height: 1.18;
  letter-spacing: -0.02em;
  margin: 0 0 4px;
}
.page-id-2 .ct-card-dark .ct-card-title .elementor-heading-title { color: #FFFFFF !important; }
.page-id-2 .ct-card-light .ct-card-title .elementor-heading-title { color: var(--e-global-color-accent) !important; }

.page-id-2 .ct-card-subtext-light .elementor-heading-title,
.page-id-2 .ct-card-subtext-dark .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  line-height: 1.55;
  margin: 0;
  max-width: 56ch;
}
.page-id-2 .ct-card-subtext-light .elementor-heading-title { color: #B8C0C5 !important; }
.page-id-2 .ct-card-subtext-dark .elementor-heading-title { color: var(--e-global-color-6f59b15d) !important; }
.page-id-2 .ct-card-subtext-dark strong { color: var(--e-global-color-accent); }

/* Steps */
.page-id-2 .ct-steps { padding: 4px 0; width: 100%; }
.page-id-2 .ct-step-num .elementor-heading-title {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--e-global-color-primary);
  color: #FFFFFF !important;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  line-height: 1;
  letter-spacing: 0;
  margin: 0;
  flex-shrink: 0;
}
.page-id-2 .ct-step-text .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  color: #E5E7EB !important;
  margin: 0;
  line-height: 1.4;
}

/* Hairline divider inside the dark card */
.page-id-2 .ct-card-divider .elementor-divider-separator { border-top-color: rgba(255,255,255,0.10) !important; }
.page-id-2 .ct-card-divider .elementor-widget-container { padding: 20px 0 !important; }

/* Contact info rows */
.page-id-2 .ct-info-rows { width: 100%; }
.page-id-2 .ct-info-row .ct-info-icon .elementor-icon {
  width: 32px; height: 32px; border-radius: 8px;
  background: rgba(102,151,199,0.16);
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.page-id-2 .ct-info-row .ct-info-icon .elementor-icon i,
.page-id-2 .ct-info-row .ct-info-icon .elementor-icon svg {
  color: var(--e-global-color-secondary) !important;
  fill: var(--e-global-color-secondary) !important;
  font-size: 12px !important;
}
.page-id-2 .ct-info-label .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.66rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--e-global-color-secondary) !important;
  margin: 0;
}
.page-id-2 .ct-info-value .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin: 0;
  line-height: 1.3;
}
.page-id-2 .ct-info-value .elementor-heading-title a { color: inherit; text-decoration: none; }
.page-id-2 .ct-info-value .elementor-heading-title a:hover { color: var(--e-global-color-secondary) !important; }

/* Tighter contact info rows: kill default widget bottom margins inside the row stacks */
.page-id-2 .ct-info-rows .elementor-element { margin-bottom: 0 !important; }
.page-id-2 .ct-info-rows .elementor-widget-container { padding: 0 !important; }
.page-id-2 .ct-info-row { padding: 0 !important; }
.page-id-2 .ct-info-stack > .e-con-inner { gap: 2px !important; }

/* Service area footer */
.page-id-2 .ct-service-area .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  line-height: 1.55;
  color: #B8C0C5 !important;
  margin: 6px 0 0;
}
.page-id-2 .ct-service-area strong { color: #FFFFFF; font-weight: 600; }

/* ============== FORM ============== */
.page-id-2 .ct-form { width: 100%; }
.page-id-2 .ct-form form { margin: 0; }
.page-id-2 .ct-form .elementor-form-fields-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px 12px !important;
}
.page-id-2 .ct-form .elementor-col-50 {
  flex: 0 0 calc(50% - 6px) !important;
  max-width: calc(50% - 6px) !important;
  width: auto !important;
}
.page-id-2 .ct-form .elementor-col-100 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
.page-id-2 .ct-form .elementor-field-group { padding: 0; margin-bottom: 0 !important; }
.page-id-2 .ct-form .elementor-field-group > label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--e-global-color-6f59b15d) !important;
  margin-bottom: 6px;
}
.page-id-2 .ct-form .elementor-field-group .elementor-field-required:after { color: var(--e-global-color-primary); margin-left: 2px; }

.page-id-2 .ct-form input[type="text"],
.page-id-2 .ct-form input[type="email"],
.page-id-2 .ct-form input[type="tel"],
.page-id-2 .ct-form select,
.page-id-2 .ct-form textarea {
  background: #F4F6F9 !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.92rem !important;
  color: var(--e-global-color-accent) !important;
  width: 100%;
  box-shadow: none !important;
  transition: border-color .2s ease, background .2s ease;
}
.page-id-2 .ct-form input::placeholder,
.page-id-2 .ct-form textarea::placeholder { color: #98A0A5; opacity: 1; }
.page-id-2 .ct-form input:focus,
.page-id-2 .ct-form select:focus,
.page-id-2 .ct-form textarea:focus {
  outline: none !important;
  border-color: var(--e-global-color-primary) !important;
  background: #FFFFFF !important;
}
.page-id-2 .ct-form select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%236B6862' d='M6 8L0 0h12z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px !important;
}
.page-id-2 .ct-form textarea { resize: vertical; min-height: 110px; }

/* Submit button */
.page-id-2 .ct-form .elementor-button {
  width: 100% !important;
  margin-top: 6px;
  background-color: var(--e-global-color-primary) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 16px 24px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: background-color .2s ease, transform .2s ease;
}
.page-id-2 .ct-form .elementor-button:hover {
  background-color: var(--e-global-color-secondary) !important;
  transform: translateY(-1px);
}
.page-id-2 .ct-form .elementor-button-content-wrapper { justify-content: center; }

/* Form footer */
.page-id-2 .ct-form-footer { padding-top: 4px; }
.page-id-2 .ct-form-footer .ct-form-footer-icon { margin-top: 4px; }
.page-id-2 .ct-form-footer-icon .elementor-icon i,
.page-id-2 .ct-form-footer-icon .elementor-icon svg {
  color: var(--e-global-color-primary) !important;
  fill: var(--e-global-color-primary) !important;
  font-size: 7px !important;
}
.page-id-2 .ct-form-footer-text .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  line-height: 1.55;
  color: var(--e-global-color-6f59b15d) !important;
  margin: 0;
}
.page-id-2 .ct-form-footer-text strong { color: var(--e-global-color-accent); font-weight: 600; }

/* ============== RESPONSIVE ============== */
@media (max-width: 1024px) {
  .page-id-2 .ct-section1 .e-con-inner { flex-direction: column !important; }
  .page-id-2 .ct-card-dark,
  .page-id-2 .ct-card-light { width: 100% !important; }
}
@media (max-width: 767px) {
  .page-id-2 .ct-hero-title .elementor-heading-title { font-size: clamp(2rem, 9vw, 2.8rem) !important; }
  .page-id-2 .ct-card { padding: 14px !important; }
  .page-id-2 .ct-form .elementor-form-fields-wrapper { gap: 12px !important; }
  .page-id-2 .ct-form .elementor-field-type-text,
  .page-id-2 .ct-form .elementor-field-type-email,
  .page-id-2 .ct-form .elementor-field-type-tel,
  .page-id-2 .ct-form .elementor-field-type-select { width: 100% !important; }
}