/* ==========================================================================
   Contact page (827): form section, per Contact_page.html (2026-09-25 revision).
   The form now sits directly under the hero. Loaded after style.css and
   contact-responsive.css; the older .contact-form-* layers in style.css are
   overridden here, not edited, so this file is the single source for the look.
   ========================================================================== */
body.page-id-827 .contact-form-section {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  min-height: 0 !important;
  padding: clamp(104px, 9vw, 144px) 24px clamp(112px, 10vw, 152px) !important;
  background:
    /* glows toned down from the design's .14 / .11 (Ron, 2026-09-25) */
    radial-gradient(44% 52% at 84% 12%, rgba(50,192,233,.08), transparent 70%),
    radial-gradient(42% 58% at 8% 82%, rgba(0,131,193,.06), transparent 73%),
    #03101A !important;
}
/* No decorative shapes behind the form (Ron, 2026-09-25): the angled light planes in the
   prototype CSS are not wanted, and the legacy ones from style.css are switched off too. */
body.page-id-827 .contact-form-section::before,
body.page-id-827 .contact-form-section::after { content: none !important; display: none !important; }
/* the large Atimi mark was removed from this section in the new design */
body.page-id-827 .contact-form-section .contact-form-mark { display: none !important; }

body.page-id-827 .contact-form-section .contact-form-content {
  position: relative; z-index: 1;
  width: min(800px, 100%) !important;
  max-width: none !important;
  margin-inline: auto !important;
}
body.page-id-827 .contact-form-section .contact-form-intro {
  width: min(640px, 100%) !important;
  margin-inline: auto !important;
  text-align: left !important;
}
body.page-id-827 .contact-form-section .contact-form-heading .elementor-heading-title {
  margin: 0 !important;
  color: #fff !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-weight: 500 !important;
  font-size: 25px !important;
  line-height: 1.28 !important;
  letter-spacing: -.01em !important;
}
body.page-id-827 .contact-form-section .contact-form-copy { margin: 28px 0 0 !important; max-width: 640px !important; }
body.page-id-827 .contact-form-section .contact-form-copy p {
  max-width: 640px !important; margin: 0 !important;
  color: #AECBDE !important;
  font: 400 18px/1.6 Inter, Arial, sans-serif !important;
  text-align: left !important;
}

/* glass panel */
body.page-id-827 .contact-form-section .contact-form-panel {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  margin-top: 48px !important;
  padding: 44px 48px !important;
  border: 1px solid rgba(174,203,222,.24) !important;
  border-radius: 28px !important;
  background: linear-gradient(128deg, rgba(20,45,60,.94), rgba(9,28,40,.94) 58%, rgba(13,48,62,.92)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 30px 72px rgba(0,0,0,.2) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  overflow: visible !important;
}
/* No coloured line on the panel's top edge (Ron, 2026-09-25); the legacy glow blob is off too. */
body.page-id-827 .contact-form-section .contact-form-panel::before { content: none !important; display: none !important; }
body.page-id-827 .contact-form-section .contact-form-panel::after { content: none !important; }

/* form grid */
body.page-id-827 .contact-form-section .elementor-form { display: block !important; width: 100% !important; }
body.page-id-827 .contact-form-section .elementor-form .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px 32px !important;
  margin: 0 !important;
  width: 100% !important;
}
/* empty status row under the button, as in the design (keeps the panel height stable when a message appears) */
body.page-id-827 .contact-form-section .elementor-form .elementor-form-fields-wrapper::after { content: "" !important; grid-column: 1 / -1 !important; min-height: 1.45em !important; font: 400 14px/1.45 Inter, Arial, sans-serif !important; }
body.page-id-827 .contact-form-section .elementor-field-group {
  display: grid !important;
  align-content: start;
  gap: 10px !important;
  width: auto !important; max-width: none !important; flex: none !important;
  padding: 0 !important; margin: 0 !important;
}
body.page-id-827 .contact-form-section .elementor-field-group.elementor-col-100,
body.page-id-827 .contact-form-section .elementor-field-type-submit,
body.page-id-827 .contact-form-section .elementor-message { grid-column: 1 / -1 !important; }
body.page-id-827 .contact-form-section .elementor-field-label {
  margin: 0 !important; padding: 0 !important;
  color: #AECBDE !important;
  font: 500 14px/1.45 Inter, Arial, sans-serif !important;
  letter-spacing: .01em !important;
}
body.page-id-827 .contact-form-section .elementor-mark-required .elementor-field-label::after { content: " *"; color: #32C0E9; }
body.page-id-827 .contact-form-section .contact-form-panel .elementor-form .elementor-field-group .elementor-field-textual {
  width: 100% !important;
  height: 46px !important;
  min-height: 0 !important;
  padding: 0 0 10px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(174,203,222,.30) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #fff !important;
  caret-color: #fff;
  font: 400 18px/1.45 Inter, Arial, sans-serif !important;
  box-shadow: none !important;
  transition: border-color .25s ease, box-shadow .25s ease !important;
}
body.page-id-827 .contact-form-section .contact-form-panel .elementor-form .elementor-field-group textarea.elementor-field-textual {
  height: 124px !important;
  min-height: 124px !important;
  resize: vertical !important;
}
body.page-id-827 .contact-form-section .contact-form-panel .elementor-form .elementor-field-group .elementor-field-textual:focus {
  border-bottom-color: #32C0E9 !important;
  box-shadow: 0 1px 0 #32C0E9 !important;
}
body.page-id-827 .contact-form-section .contact-form-panel .elementor-form .elementor-field-group .elementor-field-textual::placeholder { color: rgba(174,203,222,.55) !important; }

/* submit: same treatment as the global primary button */
body.page-id-827 .contact-form-section .elementor-field-type-submit {
  display: flex !important; justify-content: flex-start !important; margin-top: 4px !important;
}
body.page-id-827 .contact-form-section .elementor-form .elementor-button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  gap: 12px !important;
  flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; min-height: 52px !important;
  padding: 15px 32px !important;
  border: 0 !important; border-radius: 999px !important; overflow: hidden !important;
  color: #fff !important;
  font: 500 18px/1.3 Inter, Arial, sans-serif !important;
  background: linear-gradient(110deg, #006DA6 0%, #007FA0 42%, #00819A 70%, #73518E 100%) !important;
  background-size: 100% 100% !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-image .58s cubic-bezier(.22,1,.36,1), box-shadow .32s ease !important;
}
body.page-id-827 .contact-form-section .elementor-form .elementor-button:is(:hover, :focus-visible) {
  background: linear-gradient(110deg, #73518E 0%, #00819A 30%, #007FA0 58%, #006DA6 100%) !important;
  box-shadow: 0 0 8px rgb(50 192 233 / .16), 0 8px 16px rgb(11 211 197 / .20) !important;
  transform: none !important;
}
body.page-id-827 .contact-form-section .elementor-button-content-wrapper { display: inline-flex !important; align-items: center !important; gap: 0 !important; }
body.page-id-827 .contact-form-section .elementor-button .elementor-button-icon { display: none !important; }
body.page-id-827 .contact-form-section .elementor-button-text::after {
  content: "\2192"; display: inline-block; margin-left: 12px !important;
  font-size: 23px; line-height: .8; vertical-align: middle;
  transition: transform .28s cubic-bezier(.22,1,.36,1);
}
body.page-id-827 .contact-form-section .elementor-form .elementor-button:is(:hover, :focus-visible) .elementor-button-text::after { transform: translateX(5px); }
body.page-id-827 .contact-form-section .elementor-message {
  margin: 0 !important; color: #AEE8E3 !important; font: 400 14px/1.45 Inter, Arial, sans-serif !important;
}

/* tablet */
@media (min-width: 701px) and (max-width: 1024px) {
  body.page-id-827 .contact-form-section .contact-form-heading .elementor-heading-title { font-size: 23px !important; }
}
/* mobile */
@media (max-width: 700px) {
  body.page-id-827 .contact-form-section { padding: 80px 24px 96px !important; }
  body.page-id-827 .contact-form-section .contact-form-intro { width: 100% !important; }
  body.page-id-827 .contact-form-section .contact-form-heading .elementor-heading-title { font-size: 21px !important; }
  body.page-id-827 .contact-form-section .contact-form-copy { margin-top: 24px !important; }
  body.page-id-827 .contact-form-section .contact-form-copy p { font-size: 17px !important; }
  body.page-id-827 .contact-form-section .contact-form-panel { margin-top: 36px !important; padding: 32px 24px !important; border-radius: 22px !important; }
  body.page-id-827 .contact-form-section .elementor-form .elementor-form-fields-wrapper { grid-template-columns: 1fr !important; }
  body.page-id-827 .contact-form-section .contact-form-panel .elementor-form .elementor-field-group textarea.elementor-field-textual { height: 116px !important; min-height: 116px !important; }
  body.page-id-827 .contact-form-section .elementor-form .elementor-button { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-827 .contact-form-section .elementor-form .elementor-button,
  body.page-id-827 .contact-form-section .elementor-button-text::after { transition: none !important; }
}
