/* ── NAV WRAPPER — sticky ── */
.lfnav {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: #0D263B;
  border-bottom: 1px solid #1E3F5E;
  font-family: 'Roboto', sans-serif;
}

/* ── INNER ── */
.lfnav__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

/* ── LOGO ── */
.lfnav__logo-wrap {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}
.lfnav__logo {
  height: 44px;
  width: auto;
  display: block;
}

/* ── DESKTOP NAV LINKS ── */
.lfnav__links {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  justify-content: center;
}
.lfnav__link {
  font-size: 14px;
  font-weight: 500;
  color: #8AAEC8;
  font-family: 'Roboto', sans-serif;
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 6px;
  transition: color 0.15s ease, background 0.15s ease;
  white-space: nowrap;
}
.lfnav__link:hover {
  color: #FFFFFF;
  background: rgba(255,255,255,0.06);
}
.lfnav__link--active {
  color: #FFFFFF;
  background: rgba(255,255,255,0.08);
}

/* ── ACTIONS ── */
.lfnav__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* ── RSVP BUTTON ── */
.lfnav__rsvp {
  display: inline-block;
  background: #FF6B00;
  color: #0D263B;
  padding: 9px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  font-family: 'Roboto', sans-serif;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s ease;
  white-space: nowrap;
}
.lfnav__rsvp:hover { opacity: 0.88; }

/* ── HAMBURGER — hidden on desktop ── */
.lfnav__hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.lfnav__hamburger span {
  display: block;
  width: 20px;
  height: 2px;
  background: #C8D6E8;
  border-radius: 2px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Hamburger → X when drawer open */
.lfnav--drawer-open .lfnav__hamburger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.lfnav--drawer-open .lfnav__hamburger span:nth-child(2) {
  opacity: 0;
}
.lfnav--drawer-open .lfnav__hamburger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ── MOBILE DRAWER ── */
.lfnav__drawer {
  display: none;
  flex-direction: column;
  background: #0D263B;
  border-top: 1px solid #1E3F5E;
  padding: 16px 24px 24px;
  gap: 4px;
}
.lfnav__drawer--open {
  display: flex;
}
.lfnav__drawer-link {
  font-size: 15px;
  font-weight: 500;
  color: #8AAEC8;
  font-family: 'Roboto', sans-serif;
  text-decoration: none;
  padding: 12px 0;
  border-bottom: 1px solid #1E3F5E;
  transition: color 0.15s ease;
}
.lfnav__drawer-link:last-of-type {
  border-bottom: none;
}
.lfnav__drawer-link:hover { color: #FFFFFF; }
.lfnav__drawer-rsvp {
  width: 100%;
  margin-top: 16px;
  padding: 13px 22px;
  background: #FF6B00;
  color: #0D263B;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  font-family: 'Roboto', sans-serif;
  cursor: pointer;
  transition: opacity 0.15s ease;
  text-align: center;
}
.lfnav__drawer-rsvp:hover { opacity: 0.88; }

/* ── MODAL OVERLAY ── */
.lfnav__modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(13,38,59,0.85);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.lfnav__modal-overlay--open {
  display: flex;
}

/* ── MODAL ── */
.lfnav__modal {
  background: #163450;
  border: 1px solid #1E3F5E;
  border-radius: 12px;
  padding: 40px;
  width: 100%;
  max-width: 560px;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
}
.lfnav__modal::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #A4F4A7 13%, #C2E8FF 36%, #B1E1F1 57%, #468DFF 95%);
  border-radius: 12px 12px 0 0;
}

/* ── MODAL CLOSE ── */
.lfnav__modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  color: #6B9FD4;
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
  padding: 4px 8px;
  font-family: 'Roboto', sans-serif;
  transition: color 0.15s ease;
  z-index: 1;
}
.lfnav__modal-close:hover { color: #FFFFFF; }

/* ── MODAL FORM WRAP ── */
.lfnav__modal-form { width: 100%; }

/* ── COLLAPSE HUBSPOT WRAPPER SPACING ── */
.lfnav__modal-form .hs_cos_wrapper,
.lfnav__modal-form .hs_cos_wrapper_type_module,
.lfnav__modal-form > div {
  margin: 0 !important;
  padding: 0 !important;
}
.lfnav__modal-form .hs-form,
.lfnav__modal-form > div,
.lfnav__modal-form form {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.lfnav__modal-form form {
  max-width: 100% !important;
  margin: 0 !important;
}

/* ── HIDE RICHTEXT ── */
.lfnav__modal-form .hs-richtext,
.lfnav__modal-form .hs-richtext p,
.lfnav__modal-form .hs-richtext * {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* ── FORM DESCRIPTION TEXT ── */
.lfnav__modal-form .hsfc-Form__description,
.lfnav__modal-form .hsfc-Form__description p,
.lfnav__modal-form .hsfc-Form__description span {
  color: #C8D6E8 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  font-family: 'Roboto', sans-serif !important;
  background: none !important;
  margin-bottom: 16px !important;
  padding-bottom: 0 !important;
}
.lfnav__modal-form .hsfc-Form__description a {
  color: #6B9FD4 !important;
  text-decoration: underline !important;
}

/* ── EVEN ROW SPACING ── */
.lfnav__modal-form .hsfc-Row {
  margin-bottom: 16px !important;
  margin-top: 0 !important;
  padding: 0 !important;
}
.lfnav__modal-form .hsfc-Step__Content {
  gap: 16px !important;
  padding: 0 !important;
}
.lfnav__modal-form .hsfc-NavigationRow {
  margin-top: 8px !important;
  padding-top: 0 !important;
}

/* ── FIELDSET ── */
.lfnav__modal-form form fieldset {
  max-width: 100% !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 8px 0 !important;
}
.lfnav__modal-form form .hs-form-field {
  margin-bottom: 16px !important;
}

/* ── LABELS ── */
.lfnav__modal-form form label {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #C8D6E8 !important;
  font-family: 'Roboto', sans-serif !important;
  margin: 0 0 7px 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

/* ── ERROR LABELS ── */
.lfnav__modal-form form .hs-error-msgs li label {
  color: #F0997B !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

/* ── INPUTS ── */
.lfnav__modal-form form input[type="text"],
.lfnav__modal-form form input[type="email"],
.lfnav__modal-form form input[type="tel"],
.lfnav__modal-form form input[type="number"],
.lfnav__modal-form form input[type="phone"],
.lfnav__modal-form form select,
.lfnav__modal-form form .hs-input {
  display: inline-block !important;
  width: 100% !important;
  padding: 13px 16px !important;
  background-color: #0D263B !important;
  background: #0D263B !important;
  border: 1px solid #1E3F5E !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease !important;
}

/* ── TEXTAREA ── */
.lfnav__modal-form form textarea {
  display: inline-block !important;
  width: 100% !important;
  padding: 13px 16px !important;
  background-color: #0D263B !important;
  background: #0D263B !important;
  border: 1px solid #1E3F5E !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: 'Roboto', sans-serif !important;
  color: #FFFFFF !important;
  resize: vertical !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* ── PLACEHOLDER ── */
.lfnav__modal-form form input::placeholder,
.lfnav__modal-form form textarea::placeholder {
  color: #3D5470 !important;
}

/* ── FOCUS ── */
.lfnav__modal-form form input:focus,
.lfnav__modal-form form textarea:focus {
  border-color: #2368A1 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ── CHECKBOX FIELD GROUP ── */
.lfnav__modal-form .hsfc-CheckboxFieldGroup__Options {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 8px !important;
  padding: 0 !important;
}
.lfnav__modal-form .hsfc-CheckboxFieldGroup__Options label,
.lfnav__modal-form .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #C8D6E8 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}
.lfnav__modal-form .hsfc-CheckboxFieldGroup__Options input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #FF6B00 !important;
  cursor: pointer !important;
}

/* ── RADIO BUTTON GROUP ── */
.lfnav__modal-form .hsfc-RadioButtonFieldGroup__Options {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-top: 8px !important;
  padding: 0 !important;
}
.lfnav__modal-form .hsfc-RadioButtonFieldGroup__Options label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #C8D6E8 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}
.lfnav__modal-form .hsfc-RadioButtonFieldGroup__Options input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #FF6B00 !important;
  cursor: pointer !important;
}

/* ── FIELD LABEL ── */
.lfnav__modal-form .hsfc-FieldLabel {
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #C8D6E8 !important;
  font-family: 'Roboto', sans-serif !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* ── PROGRESS BAR ── */
.lfnav__modal-form form .hs-progressbar,
.lfnav__modal-form form .hs-form-progress,
.lfnav__modal-form form progress,
.lfnav__modal-form form [role="progressbar"] {
  height: 3px !important;
  background: #1E3F5E !important;
  border-radius: 2px !important;
  border: none !important;
  margin-bottom: 24px !important;
}
.lfnav__modal-form form .hs-progressbar-fill,
.lfnav__modal-form form progress::-webkit-progress-value,
.lfnav__modal-form form progress::-moz-progress-bar {
  background: linear-gradient(90deg, #A4F4A7 13%, #C2E8FF 36%, #B1E1F1 57%, #468DFF 95%) !important;
  border-radius: 2px !important;
}
.lfnav__modal-form form progress::-webkit-progress-bar {
  background: #1E3F5E !important;
  border-radius: 2px !important;
}

/* ── ACTIONS WRAPPER ── */
.lfnav__modal-form form .actions {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* ── SUBMIT + NEXT BUTTON ── */
.lfnav__modal-form form .hs-button,
.lfnav__modal-form form input[type="submit"],
.lfnav__modal-form form button[type="submit"],
.lfnav__modal-form form button[type="button"] {
  display: inline-block !important;
  width: 100% !important;
  padding: 13px 32px !important;
  background: #FF6B00 !important;
  background-color: #FF6B00 !important;
  color: #0D263B !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'Roboto', sans-serif !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: opacity 0.15s ease !important;
  margin-top: 8px !important;
  text-align: center !important;
}
.lfnav__modal-form form .hs-button:hover,
.lfnav__modal-form form input[type="submit"]:hover,
.lfnav__modal-form form button[type="submit"]:hover,
.lfnav__modal-form form button[type="button"]:hover {
  opacity: 0.88