/* Save or Splurge: a compact branded banner and centered signup. */
body.page-id-502 { background: #fffaf2; }
body.page-id-502 > .elementor {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "brand" "banner" "form";
  gap: 0;
}
body.page-id-502 > .elementor > .elementor-element-d6b6243 {
  grid-area: brand;
  width: 100%;
  margin: 0 !important;
  padding: 16px 24px !important;
  align-items: center;
  gap: 0;
}
body.page-id-502 .elementor-element-299ade7 { width: 230px !important; max-width: 100%; }
body.page-id-502 .elementor-element-299ade7 img { display: block; width: 100%; height: auto; }
body.page-id-502 > .elementor > .elementor-element-8b648de {
  grid-area: banner;
  position: relative;
  min-height: 0;
  height: 420px;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
body.page-id-502 .elementor-element-936f8ff,
body.page-id-502 .elementor-element-936f8ff .elementor-widget-container { height: 100%; width: 100%; }
body.page-id-502 .elementor-element-936f8ff img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
body.page-id-502 .elementor-element-8b648de::after { content: ""; position: absolute; inset: 0; background: rgba(22, 34, 35, .52); pointer-events: none; }
body.page-id-502 > .elementor > .elementor-element-250be9b {
  grid-area: banner;
  position: relative;
  z-index: 1;
  align-self: stretch;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 !important;
  padding: 40px 24px !important;
  gap: 18px;
  background: transparent !important;
  text-align: center;
}
body.page-id-502 .elementor-element-3c18a87 .elementor-heading-title {
  color: #fff !important;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
body.page-id-502 .elementor-element-51b5d1e { width: 100%; max-width: 620px; color: #fff; }
body.page-id-502 .elementor-element-51b5d1e p { color: #fff !important; font-size: 18px; line-height: 1.6; margin: 0; text-align: center; }
body.page-id-502 .elementor-element-2a33d40 { display: none !important; }
body.page-id-502 > .elementor > .elementor-element-03a2717 {
  grid-area: form;
  width: 100%;
  min-height: 0;
  margin: 0 !important;
  padding: 48px 24px 56px !important;
  align-items: center;
}
body.page-id-502 .elementor-element-f4456e5 { width: 100%; max-width: 680px; margin: 0 auto; }
body.page-id-502 .elementor-form-fields-wrapper { width: 100%; max-width: none; margin: 0 -8px; row-gap: 16px; }
body.page-id-502 .elementor-field-group { padding: 0 8px; margin: 0 !important; }
body.page-id-502 .elementor-field-label { padding-bottom: 8px; color: #273237; font-size: 15px; }
body.page-id-502 .elementor-field { min-height: 48px; background: #fff; padding: 12px 14px; font-size: 16px; }
body.page-id-502 .elementor-button { min-height: 48px !important; }
body.page-id-502 .elementor-field:focus-visible { outline: 2px solid #00aab6; outline-offset: 2px; }
@media (max-width: 767px) {
  body.page-id-502 .elementor-element-299ade7 { width: 190px !important; }
  body.page-id-502 > .elementor > .elementor-element-8b648de { height: 320px; }
  body.page-id-502 > .elementor > .elementor-element-250be9b { padding: 28px 24px !important; gap: 16px; }
  body.page-id-502 .elementor-element-51b5d1e p { font-size: 16px; }
  body.page-id-502 > .elementor > .elementor-element-03a2717 { padding: 32px 24px 40px !important; }
  body.page-id-502 .elementor-field-type-text { width: 100%; }
}
body.page-id-502 > .elementor { isolation: isolate; }
body.page-id-502 > .elementor > .elementor-element-8b648de { z-index: 0; }
body.page-id-502 > .elementor > .elementor-element-250be9b { z-index: 2; }
body.page-id-502 > .elementor > .elementor-element-d6b6243 > .e-con-inner,
body.page-id-502 > .elementor > .elementor-element-250be9b > .e-con-inner,
body.page-id-502 > .elementor > .elementor-element-03a2717 > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
}
body.page-id-502 .elementor-element-299ade7 .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
body.page-id-502 .elementor-element-f4456e5 { width: 100% !important; max-width: 680px !important; }
body.page-id-502 .elementor-element-f4456e5 .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
body.page-id-502 .elementor-element-3c18a87 .elementor-heading-title { font-size: clamp(38px, 5vw, 64px) !important; }
body.page-id-502 .elementor-element-51b5d1e { max-width: 620px !important; }
body.page-id-502 > div.elementor > .elementor-element-250be9b { background: transparent !important; }
body.page-id-502 > div.elementor .elementor-element-3c18a87 .elementor-heading-title {
  font: 400 clamp(38px, 5vw, 64px)/1.08 'TWK Lausanne', sans-serif !important;
}
/* Elementor's label reset otherwise removes the label-to-input gap. */
body.page-id-502 .elementor-element-f4456e5 .elementor-field-group > .elementor-field-label {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 0 0 8px !important;
  line-height: 1.4;
}

body.page-id-502 .elementor-element-f4456e5 .elementor-button,
body.page-id-502 .elementor-element-f4456e5 .elementor-button-text {
  font: 500 13px/1.2 'Silka', sans-serif !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
}
