.elementor-509 .elementor-element.elementor-element-fbd3c43{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-509 .elementor-element.elementor-element-6f4e5d5{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-509 .elementor-element.elementor-element-a66e9f4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}body.elementor-page-509{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for container, class: .elementor-element-6f4e5d5 *//* =========================================================
   McKee International — Formidable "Glass Card" (Container CSS)
   Scope: ONLY inside this Elementor container (.elementor-509 .elementor-element.elementor-element-6f4e5d5)
   Goal: Centered glass card, compact spacing, stainless/black
========================================================= */

.elementor-509 .elementor-element.elementor-element-6f4e5d5{
  --mk-ink: rgba(255,255,255,.92);
  --mk-muted: rgba(255,255,255,.60);
  --mk-faint: rgba(255,255,255,.36);

  --mk-glassTop: rgba(16,18,22,.66);
  --mk-glassBot: rgba(10,12,16,.42);

  --mk-border: rgba(220,225,235,.16);
  --mk-border-strong: rgba(235,238,242,.26);
  --mk-glow: rgba(235,238,242,.10);

  --mk-radius: 18px;

  /* Compact sizing */
  --mk-input-h: 42px;
  --mk-pad-x: 12px;
  --mk-pad-y: 10px;

  color: var(--mk-ink);
}

.elementor-509 .elementor-element.elementor-element-6f4e5d5 *{ box-sizing: border-box; }

/* =========================================================
   1) CARD WRAP — turn the form into a centered "glass" panel
========================================================= */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms{
  max-width: 960px;            /* card width (desktop) */
  margin: 28px auto 28px auto; /* centers the card */
  padding: 22px 22px 18px 22px;

  background: linear-gradient(180deg, var(--mk-glassTop), var(--mk-glassBot));
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-radius);

  box-shadow:
    0 30px 80px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.06);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  position: relative;
  overflow: hidden;
}

/* Subtle “sterling” sheen */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(900px 260px at 18% 10%, rgba(255,255,255,.08), transparent 60%),
    radial-gradient(760px 240px at 82% 0%, rgba(255,255,255,.06), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 35%);
  pointer-events:none;
}

/* Hairline inner frame for “institutional” feel */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms::after{
  content:"";
  position:absolute;
  inset: 10px;
  border-radius: calc(var(--mk-radius) - 10px);
  border: 1px solid rgba(255,255,255,.06);
  pointer-events:none;
}

/* Keep actual form content above overlays */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms form{
  position: relative;
  z-index: 2;
}

/* =========================================================
   2) LAYOUT — compact rhythm
========================================================= */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_form_field{
  margin-bottom: 12px !important;
}

/* Tighten label spacing */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_primary_label{
  display: inline-block;
  margin: 0 0 6px 0 !important;
  color: var(--mk-muted) !important;
  font-weight: 650;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 11px;
  line-height: 1.1;
}

/* Required star */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_required{
  color: rgba(255,110,110,.95) !important;
  font-weight: 800;
  margin-left: 4px;
}

/* Sub labels (First/Last) */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_description,
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_secondary_label{
  color: var(--mk-faint) !important;
  font-size: 11px !important;
  margin-top: 6px !important;
}

/* =========================================================
   3) INPUTS — sleek stainless-on-black
========================================================= */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="text"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="email"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="tel"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="url"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="number"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="search"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="password"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms select,
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms textarea{
  width: 100%;
  color: var(--mk-ink) !important;

  background: linear-gradient(180deg, rgba(10,12,16,.72), rgba(8,9,12,.52)) !important;
  border: 1px solid rgba(230,235,245,.14) !important;
  border-radius: 14px !important;

  padding: var(--mk-pad-y) var(--mk-pad-x) !important;
  height: var(--mk-input-h);
  min-height: var(--mk-input-h);

  outline: none !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 12px 28px rgba(0,0,0,.42);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms textarea{
  height: auto;
  min-height: 130px;
  padding: 12px 12px !important;
  resize: vertical;
}

.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms ::placeholder{
  color: rgba(255,255,255,.26) !important;
}

/* Focus: clean steel ring */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input:focus,
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms select:focus,
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms textarea:focus{
  border-color: var(--mk-border-strong) !important;
  box-shadow:
    0 0 0 3px var(--mk-glow),
    0 16px 38px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.07);
  transform: translateY(-1px);
}

/* =========================================================
   4) TWO-COLUMN NAME — keep it tight inside the card
========================================================= */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_form_field.frm_first_half,
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_form_field.frm_last_half{
  width: calc(50% - 10px);
  display: inline-block;
  vertical-align: top;
  margin-right: 20px;
}

.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_form_field.frm_last_half{
  margin-right: 0;
}

/* Mobile stack */
@media (max-width: 767px){
  .elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms{
    max-width: 94vw;
    padding: 18px 16px 14px 16px;
    margin: 18px auto;
  }

  .elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_form_field.frm_first_half,
  .elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_form_field.frm_last_half{
    width: 100%;
    margin-right: 0;
    display: block;
  }
}

/* =========================================================
   5) SUBMIT — compact steel pill, aligned like a pro
========================================================= */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_submit{
  margin-top: 10px !important;
  display: flex;
  justify-content: flex-start; /* left aligned = more institutional */
}

.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_button_submit{
  appearance: none;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 14px !important;

  padding: 11px 20px !important;
  min-height: 42px;

  color: rgba(10,12,16,.96) !important;
  background: linear-gradient(180deg, rgba(242,244,248,.96), rgba(204,209,218,.90)) !important;

  font-weight: 750;
  letter-spacing: .02em;

  box-shadow:
    0 16px 40px rgba(0,0,0,.52),
    inset 0 1px 0 rgba(255,255,255,.30);

  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_button_submit:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow:
    0 20px 52px rgba(0,0,0,.60),
    inset 0 1px 0 rgba(255,255,255,.34);
}

.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_button_submit:active{
  transform: translateY(0);
  filter: brightness(.99);
}

/* =========================================================
   6) VALIDATION — restrained
========================================================= */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_error{
  color: rgba(255,190,190,.92) !important;
  font-size: 12px !important;
  margin-top: 6px !important;
}

.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_blank_field input,
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_blank_field textarea{
  border-color: rgba(255,120,120,.38) !important;
  box-shadow: 0 0 0 3px rgba(255,120,120,.10), 0 12px 28px rgba(0,0,0,.45);
}

/* =========================================================
   McKee Glass Card — Height Compression + Footer Clearance
========================================================= */

/* Reduce overall internal padding of the card */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms{
  max-width: 840px;              /* slightly narrower = more executive */
  margin: 28px auto 64px auto;   /* CRITICAL: creates footer breathing room */
  padding: 18px 20px 14px 20px;  /* reduced from larger padding */
}

/* Reduce field vertical spacing */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_form_field{
  margin-bottom: 10px !important;
}

/* Tighten label spacing */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_primary_label{
  margin-bottom: 5px !important;
}

/* Reduce textarea height slightly */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms textarea{
  min-height: 110px;
}

/* Reduce submit area spacing */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_submit{
  margin-top: 8px !important;
}

/* Slightly reduce input height */
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="text"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="email"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="tel"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="url"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms input[type="number"],
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms select{
  height: 40px;
  min-height: 40px;
  padding: 9px 12px !important;
}

/* Mobile refinement */
@media (max-width: 767px){

  .elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms{
    margin: 20px auto 60px auto;
    padding: 16px 14px 12px 14px;
  }

  .elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms textarea{
    min-height: 100px;
  }
.elementor-509 .elementor-element.elementor-element-6f4e5d5 .frm_forms{
  margin-bottom: 120px !important;
}
}
 /* Container holding the form *//* End custom CSS */
/* Start custom CSS *//* =========================================================
   TRUE STICK-TO-BOTTOM FOOTER — NO SCROLL, NO OVERFLOW
========================================================= */

/* Make Elementor page fill viewport */
body.elementor-page {
  min-height: 100vh;
  position: relative;
}

/* Anchor footer to bottom of viewport */
body.elementor-page .elementor-location-footer,
body.elementor-page footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

/* Prevent content from hiding behind footer */
body.elementor-page .elementor-location-single,
body.elementor-page .elementor-location-page,
body.elementor-page main,
body.elementor-page .site-main {
  padding-bottom: 60px; /* adjust to your footer height */
}/* End custom CSS */