/* Home page scoped overrides. Keep new home-only layout work here. */

#homeView:not(.is-hidden) #homeForm .cash-controls {
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox {
  position: relative;
  min-width: 0;
  min-height: 34px;
  height: 34px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  justify-self: start;
  gap: 0;
  border: 0;
  border-radius: 9px;
  background: rgba(248, 251, 255, 0.72);
  color: #536174;
  padding: 0 10px;
  font-size: 13.5px;
  font-weight: 680;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
  box-shadow: none;
  cursor: pointer;
  transition:
    border-color 0.16s ease,
    background 0.16s ease,
    color 0.16s ease;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) {
  background: rgba(236, 245, 255, 0.92);
  color: #244a82;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-width: 1px;
  max-width: 1px;
  min-height: 1px;
  max-height: 1px;
  inline-size: 1px;
  block-size: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:focus-visible) {
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox span {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:focus-visible) span::before {
  box-shadow: 0 0 0 3px rgba(20, 99, 230, 0.12);
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox span::before {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 1.5px solid #a8b7cb;
  border-radius: 4px;
  background: #ffffff;
  box-sizing: border-box;
  transition:
    border-color 0.16s ease,
    background 0.16s ease,
    box-shadow 0.16s ease;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  width: 6px;
  height: 3px;
  border-bottom: 1.6px solid #ffffff;
  border-left: 1.6px solid #ffffff;
  opacity: 0;
  transform: translateY(-70%) rotate(-45deg);
  transition: opacity 0.16s ease;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) span::before {
  border-color: var(--hybrid-blue, #1463e6);
  background: var(--hybrid-blue, #1463e6);
  box-shadow: 0 2px 5px rgba(20, 99, 230, 0.22);
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) span::after {
  opacity: 1;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm.home-panel {
    width: min(404px, calc(100vw - 4px));
    max-width: calc(100vw - 4px);
    margin-right: auto;
    margin-bottom: 8px;
    margin-left: auto;
    gap: 8px;
    border-radius: 14px;
    padding: 12px 14px;
    box-sizing: border-box;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .compact-fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    width: 100%;
    min-width: 0;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-section,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-field,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-field {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 0;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-field > label,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .field-label {
    display: flex;
    align-items: center;
    height: 42px;
    min-height: 42px;
    color: #667085;
    padding: 0;
    font-size: 12.8px;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-selects .home-select-picker-button {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    height: 42px;
    border-radius: 10px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 12.5px;
    line-height: 1.12;
    box-sizing: border-box;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls {
    grid-column: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
    min-width: 0;
    align-items: center;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-field {
    grid-template-columns: 70px minmax(0, 1fr);
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .mode-options,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-selects {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
    min-width: 0;
    align-items: center;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox {
    width: fit-content;
    min-height: 28px;
    height: 28px;
    justify-content: flex-start;
    justify-self: center;
    border: 0;
    border-radius: 8px;
    padding-right: 8px;
    padding-left: 7px;
    box-shadow: none;
    font-size: 11.4px;
    transform: translateY(1px);
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox span {
    gap: 5px;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox span::before {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
    border-radius: 4px;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox span::after {
    left: 3.7px;
    width: 5.8px;
    height: 3px;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-selects .home-select-picker-field {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    height: 42px;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row input {
    width: 100%;
    max-width: 6.4ch;
    flex: 0 1 6.4ch;
    height: 40px;
    min-height: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 12.5px;
    font-weight: 760;
    line-height: 1.1;
    color: #24364f;
    text-align: right;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row input::placeholder {
    color: #8b98aa;
    opacity: 1;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row > span {
    display: inline-flex;
    align-items: center;
    align-self: center;
    justify-self: end;
    width: auto;
    min-width: 0;
    height: 42px;
    font-size: 12.5px;
    font-weight: 760;
    line-height: 1;
    transform: none;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .amount-input {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: 42px;
    min-height: 0;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row {
    grid-template-columns: minmax(0, 1fr) auto;
    justify-content: stretch;
    align-items: center;
    gap: 7px;
    padding-right: 14px;
    transform: none;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-selects .home-select-picker-button {
    position: relative;
    justify-content: flex-start;
    padding-right: 28px;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-selects .home-select-picker-button > span:first-child {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-selects .home-select-picker-button .select-picker-chevron {
    position: absolute;
    top: 50%;
    right: 12px;
    width: 7px;
    height: 7px;
    margin: 0;
    transform: translateY(-58%) rotate(45deg);
  }

  #homeView.home-view:not(.is-hidden) {
    width: 100%;
    max-width: 100vw;
    overflow-x: clip;
    padding-right: 0;
    padding-left: 0;
    box-sizing: border-box;
    justify-items: center;
  }

  #homeView:not(.is-hidden) .home-copy,
  #homeView:not(.is-hidden) #homeForm.home-panel {
    width: min(390px, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
  }

  #homeView:not(.is-hidden) .home-copy h2 {
    font-size: clamp(29px, 7.7vw, 34px);
  }

  .home-select-picker-popover {
    top: var(--select-popover-top, 0);
    right: auto;
    bottom: auto;
    left: var(--select-popover-left, 10px);
    width: var(--select-popover-width, calc(100vw - 20px));
    max-height: var(--select-popover-max-height, 180px);
    border-radius: 12px;
    padding: 6px;
    overflow: hidden;
  }

  .home-select-picker-popover .select-picker-list {
    grid-template-columns: minmax(0, 1fr);
    max-height: calc(var(--select-popover-max-height, 180px) - 14px);
    gap: 3px;
    overflow: auto;
  }

  .home-select-picker-popover .select-picker-option {
    min-height: 34px;
    justify-content: flex-start;
    padding: 0 12px;
    text-align: left;
  }

  .home-view:not(.is-hidden) .home-detail-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    align-items: start;
  }

  .home-view:not(.is-hidden) .advanced-choice-group {
    gap: 5px;
  }

  .home-view:not(.is-hidden) .advanced-label {
    overflow: hidden;
    color: #6b7788;
    font-size: 11px;
    font-weight: 730;
    line-height: 1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .home-view:not(.is-hidden) .advanced-picker-button {
    position: relative;
    min-height: 34px;
    height: 34px;
    justify-content: center;
    border-radius: 9px;
    padding-right: 18px;
    padding-left: 8px;
    font-size: 12px;
  }

  .home-view:not(.is-hidden) .advanced-picker-button .select-picker-chevron {
    position: absolute;
    top: 50%;
    right: 9px;
    width: 6px;
    height: 6px;
    margin: 0;
    transform: translateY(-58%) rotate(45deg);
  }

  .home-view:not(.is-hidden) .advanced-choice-group .choice-options {
    position: absolute;
    top: calc(100% + 6px);
    right: auto;
    left: 0;
    z-index: 99;
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    width: 176px;
    min-width: 176px;
    margin-top: 0;
    border-radius: 10px;
    padding: 6px;
  }

  .home-view:not(.is-hidden) .advanced-choice-group[data-home-filter="age"] .choice-options {
    left: 50%;
    transform: translateX(-50%);
  }

  .home-view:not(.is-hidden) .advanced-choice-group[data-home-filter="households"] .choice-options {
    right: 0;
    left: auto;
  }

  .home-view:not(.is-hidden) .advanced-option {
    min-height: 32px;
    height: 32px;
    padding: 0 9px;
    font-size: 12px;
  }
}

/* Home filters: align dropdowns and advanced popouts with explore filters. */
.home-view:not(.is-hidden) .location-selects .home-select-picker-button,
.home-view:not(.is-hidden) .advanced-picker-button {
  border: 1px solid #dfe8f3;
  border-radius: 9px;
  background: #f5f8fc;
  color: #17243a;
  box-shadow: none;
  font-weight: 720;
}

.home-view:not(.is-hidden) .location-selects .home-select-picker-button:focus-visible,
.home-view:not(.is-hidden) .advanced-picker-button:focus-visible {
  border-color: #a9c8ee;
  background: #ffffff;
  outline: none;
}

.home-view:not(.is-hidden) .location-selects .home-select-picker-button .select-picker-chevron,
.home-view:not(.is-hidden) .advanced-picker-button .select-picker-chevron {
  color: #6b7788;
}

.home-select-picker-popover,
.home-view:not(.is-hidden) .advanced-choice-group .choice-options {
  border: 1px solid #cfdaea;
  border-radius: 9px;
  background: #ffffff;
  padding: 6px;
  box-shadow: 0 16px 32px rgba(21, 38, 66, 0.14);
}

.home-select-picker-popover .select-picker-list,
.home-view:not(.is-hidden) .advanced-choice-group .choice-options {
  gap: 2px;
}

.home-select-picker-popover .select-picker-option,
.home-view:not(.is-hidden) .advanced-option {
  min-width: 0;
  min-height: 34px;
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  justify-items: start;
  gap: 7px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #243247;
  padding: 7px 10px;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.22;
  text-align: left;
  white-space: nowrap;
}

.home-select-picker-popover .select-picker-option:hover,
.home-view:not(.is-hidden) .advanced-option:hover {
  background: #f3f7fc;
  color: #1262e3;
}

.home-select-picker-popover .select-picker-option.is-active,
.home-view:not(.is-hidden) .advanced-option.active {
  background: #edf5ff;
  color: #1258c8;
}

.home-view:not(.is-hidden) .advanced-option.active::after {
  content: none;
}

.home-view:not(.is-hidden) .advanced-option-text {
  max-width: 100%;
  overflow: hidden;
  line-height: 1.22;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-view:not(.is-hidden) .advanced-option.is-national-size .size-national-badge {
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  justify-self: end;
  border-radius: 5px;
  background: #dbeafe;
  color: #1258c8;
  padding: 0 6px;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.home-view:not(.is-hidden) .advanced-choice-group .choice-options {
  display: none;
  width: min(300px, calc(100vw - 24px));
  min-width: min(228px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  overflow-x: hidden;
}

.home-view:not(.is-hidden) .advanced-choice-group.is-picker-open .choice-options {
  display: grid;
}

.home-view:not(.is-hidden) .advanced-choice-group[data-home-filter="size"] .choice-options {
  width: min(300px, calc(100vw - 24px));
}

.home-view:not(.is-hidden) .advanced-choice-group[data-home-filter="age"] .choice-options,
.home-view:not(.is-hidden) .advanced-choice-group[data-home-filter="households"] .choice-options {
  width: min(220px, calc(100vw - 24px));
  min-width: min(190px, calc(100vw - 24px));
}

@media (max-width: 720px) {
  .home-view:not(.is-hidden) .location-selects .home-select-picker-button,
  .home-view:not(.is-hidden) .advanced-picker-button {
    border-radius: 9px;
    font-size: 12.5px;
  }

  .home-select-picker-popover,
  .home-view:not(.is-hidden) .advanced-choice-group .choice-options {
    border-radius: 12px;
    padding: 8px;
  }

  .home-view:not(.is-hidden) .advanced-choice-group .choice-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .home-select-picker-popover .select-picker-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  .home-select-picker-popover .select-picker-option,
  .home-view:not(.is-hidden) .advanced-option {
    min-height: 40px;
    justify-items: stretch;
    border: 1px solid #dce5f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: 7px 6px;
    font-size: 12.5px;
    text-align: left;
  }

  .home-select-picker-popover .select-picker-option.is-active,
  .home-view:not(.is-hidden) .advanced-option.active {
    border-color: #2d72df;
    background: #edf5ff;
  }

  .home-view:not(.is-hidden) .advanced-choice-group[data-home-filter="age"] .choice-options {
    left: 50%;
    transform: translateX(-50%);
  }

  .home-view:not(.is-hidden) .advanced-choice-group[data-home-filter="households"] .choice-options {
    right: 0;
    left: auto;
  }
}

/* Home form/filter colors only; keep existing asset dimensions intact. */
#homeView:not(.is-hidden) #homeForm .home-field > label,
#homeView:not(.is-hidden) #homeForm .field-label,
#homeView:not(.is-hidden) #homeForm .advanced-label {
  color: #6b7788;
}

#homeView:not(.is-hidden) #homeForm .cash-row,
#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button,
#homeView:not(.is-hidden) #homeForm .advanced-picker-button {
  border-color: #dfe8f3;
  background: #f5f8fc;
  color: #17243a;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .cash-row input {
  background: transparent;
  color: #11213a;
  font-size: 14.5px;
  font-weight: 800;
  outline: none;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .cash-row input:focus,
#homeView:not(.is-hidden) #homeForm .cash-row input:focus-visible {
  outline: none;
}

#homeView:not(.is-hidden) #homeForm .cash-row input::placeholder {
  color: #1463e6;
  opacity: 0.56;
}

#homeView:not(.is-hidden) #homeForm .cash-row > span {
  color: #5f6f86;
  font-size: 12.5px;
  font-weight: 750;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox {
  background: #f1f6ff;
  color: #24528e;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) {
  background: #edf5ff;
  color: #1258c8;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox span {
  color: inherit;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox span::before {
  border-color: #8fb5ed;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) span::before {
  border-color: #1262e3;
  background: #1262e3;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button:focus-visible,
#homeView:not(.is-hidden) #homeForm .advanced-picker-button:focus-visible,
#homeView:not(.is-hidden) #homeForm .cash-row:focus-within {
  border-color: #a9c8ee;
  background: #ffffff;
  outline: none;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row:focus-within {
  background: #f5f8fc;
}

#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button:disabled,
#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button[aria-disabled="true"] {
  background: #f3f6fa;
  color: #a0aaba;
  cursor: default;
  opacity: 1;
}

#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button:disabled .select-picker-chevron,
#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button[aria-disabled="true"] .select-picker-chevron {
  color: #b5bfcd;
}

/* Home popouts: overlay like explore filters without resizing the form. */
#homeView:not(.is-hidden) #homeForm .home-advanced:has(.advanced-choice-group.is-picker-open) {
  padding-bottom: 0;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group .choice-options {
  position: fixed;
  top: var(--home-advanced-popover-top, 194px);
  right: auto;
  bottom: auto;
  left: var(--home-advanced-popover-left, 12px);
  z-index: 110;
  display: none;
  grid-template-columns: minmax(0, 1fr);
  gap: 11px;
  width: var(--home-advanced-popover-width, min(300px, calc(100vw - 24px)));
  min-width: 0;
  max-width: calc(100vw - 24px);
  max-height: var(--home-advanced-popover-max-height, min(68vh, 560px));
  margin-top: 0;
  border: 1px solid #cfdaea;
  border-radius: 9px;
  background: #ffffff;
  padding: 6px;
  overflow: auto;
  box-shadow: 0 16px 32px rgba(21, 38, 66, 0.14);
  transform: none;
}

#homeView:not(.is-hidden) #homeForm .home-choice-note {
  display: block;
  padding: 4px 4px 6px;
  color: #7b8798;
  font-size: 11px;
  font-weight: 680;
  line-height: 1.25;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group.is-picker-open .choice-options {
  display: grid;
}

#homeView:not(.is-hidden) #homeForm .home-choice-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 4px;
  padding: 6px 4px 8px;
  border-bottom: 1px solid #edf2f7;
}

#homeView:not(.is-hidden) #homeForm .home-choice-head strong {
  display: block;
  min-width: 0;
  max-width: 100%;
  color: #142033;
  font-size: 12.5px;
  font-weight: 780;
  line-height: 1.25;
  white-space: normal;
}

#homeView:not(.is-hidden) #homeForm .home-choice-head span,
#homeView:not(.is-hidden) #homeForm .home-choice-selected span {
  display: block;
  min-width: 0;
  max-width: 100%;
  color: #7b8798;
  font-size: 11px;
  font-weight: 680;
  line-height: 1.25;
  white-space: normal;
}

#homeView:not(.is-hidden) #homeForm .home-choice-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group .choice-options {
  grid-template-columns: minmax(0, 1fr);
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="size"] .choice-options {
  max-height: none;
  overflow: visible;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="age"] .choice-options,
#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .choice-options {
  gap: 0;
  overflow: hidden;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="age"] .home-choice-head,
#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="age"] .home-choice-selected,
#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .home-choice-head,
#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .home-choice-selected {
  display: none;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="age"] .home-choice-list,
#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .home-choice-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
  min-width: 0;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="age"] .advanced-option,
#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .advanced-option {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  height: auto;
  display: grid;
  justify-content: normal;
  justify-items: start;
  padding: 7px 10px;
  font-size: 13px;
  line-height: 1.22;
  text-align: left;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .advanced-option {
  font-size: 13px;
}

#homeView:not(.is-hidden) #homeForm .home-choice-selected {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 0 4px;
}

#homeView:not(.is-hidden) #homeForm .home-choice-selected strong {
  min-width: 0;
  overflow: hidden;
  color: #142033;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.2;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .home-choice-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  padding-top: 6px;
  border-top: 1px solid #edf2f7;
}

#homeView:not(.is-hidden) #homeForm .home-choice-actions button {
  min-height: 30px;
  height: 30px;
  border: 1px solid #d7e2ef;
  border-radius: 7px;
  background: #ffffff;
  color: #243247;
  padding: 0 12px;
  font-size: 11.5px;
  font-weight: 720;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-choice-actions button:last-child {
  border-color: #1262e3;
  background: #1262e3;
  color: #ffffff;
}

#homeView:not(.is-hidden) #homeForm .choice-options .advanced-option {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 34px;
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  justify-items: start;
  gap: 7px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  padding: 7px 10px;
  color: #243247;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.22;
  text-align: left;
  white-space: normal;
}

#homeView:not(.is-hidden) #homeForm .choice-options .advanced-option.active {
  background: #edf5ff;
  color: #1258c8;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .advanced-choice-group .choice-options {
    position: fixed;
    top: var(--home-advanced-popover-top, 194px);
    right: auto;
    bottom: auto;
    left: var(--home-advanced-popover-left, 10px);
    z-index: 110;
    grid-template-columns: minmax(0, 1fr);
    width: var(--home-advanced-popover-width, min(300px, calc(100vw - 20px)));
    min-width: 0;
    max-width: calc(100vw - 20px);
    max-height: var(--home-advanced-popover-max-height, min(52vh, 360px));
    border-radius: 9px;
    padding: 6px;
    overflow: auto;
    transform: none;
  }

  #homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="size"] .choice-options {
    max-height: none;
    overflow: visible;
  }

  .home-select-picker-popover {
    top: var(--select-popover-top, 194px);
    right: auto;
    bottom: auto;
    left: var(--select-popover-left, 10px);
    width: var(--select-popover-width, min(240px, calc(100vw - 20px)));
    max-height: var(--select-popover-max-height, min(52vh, 360px));
    border-radius: 9px;
    padding: 6px;
  }

  .home-select-picker-popover .select-picker-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    max-height: none;
    overflow: visible;
  }

  #homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="age"] .choice-options,
  #homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .choice-options {
    overflow: hidden;
  }

  #homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="age"] .home-choice-list,
  #homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .home-choice-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  #homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="age"] .advanced-option {
    min-height: 34px;
    height: auto;
    padding: 7px 10px;
    font-size: 13px;
    white-space: nowrap;
  }

  #homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .advanced-option {
    min-height: 34px;
    height: auto;
    padding: 7px 10px;
    font-size: 13px;
    white-space: nowrap;
  }

  .home-select-picker-popover .select-picker-option,
  #homeView:not(.is-hidden) #homeForm .advanced-option {
    min-height: 34px;
    justify-items: stretch;
    border: 0;
    border-radius: 6px;
    background: transparent;
    padding: 7px 10px;
    font-size: 13px;
    text-align: left;
    white-space: normal;
  }

  .home-select-picker-popover .select-picker-option.is-active,
  #homeView:not(.is-hidden) #homeForm .advanced-option.active {
    background: #edf5ff;
    color: #1258c8;
  }
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle {
  width: 100%;
  min-height: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border-color: transparent;
  background: transparent;
  color: #6b7788;
  padding: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle[aria-expanded="true"] {
  border-color: transparent;
  background: transparent;
  color: #6b7788;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle:focus-visible {
  outline: none;
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle::before {
  content: none;
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle::after {
  content: none;
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle[aria-expanded="true"]::after {
  content: none;
}

#homeView:not(.is-hidden) #homeForm .home-detail-fields {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 0;
}

#homeView:not(.is-hidden) #homeForm .home-advanced {
  gap: 12px;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group {
  gap: 6px;
}

#homeView:not(.is-hidden) #homeForm .advanced-label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 15px;
  color: #667085;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .advanced-picker-button {
  min-height: 40px;
  height: 40px;
  justify-content: flex-start;
  border-radius: 10px;
  padding: 0 24px 0 10px;
  font-size: 12.5px;
  font-weight: 720;
}

#homeView:not(.is-hidden) #homeForm .advanced-picker-button .select-picker-chevron {
  right: 10px;
  width: 7px;
  height: 7px;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row input {
  color: #11213a;
  font-size: 14.5px;
  font-weight: 800;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row input::placeholder {
  color: #1463e6;
  opacity: 0.56;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row > span {
  color: #34445a;
  font-size: 12.5px;
  font-weight: 760;
}

@media (min-width: 721px) {
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    justify-content: start;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    height: 50px;
    align-items: center;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox {
    justify-self: start;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .amount-input {
    height: 50px;
    align-items: center;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row input,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row > span {
    height: 50px;
    align-items: center;
    font-size: 15px;
    font-weight: 720;
    line-height: 1.12;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-selects {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-selects .home-select-picker-button {
    min-height: 50px;
    height: 50px;
  }
}

#exploreIntroForm.home-panel .home-detail-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  color: #6b7788;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

#exploreIntroForm.home-panel .home-detail-toggle[aria-expanded="true"] {
  color: #6b7788;
}

#exploreIntroForm.home-panel .home-detail-toggle::after {
  content: none;
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle-label,
#exploreIntroForm.home-panel .home-detail-toggle-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-right: 17px;
  line-height: 1;
  text-align: center;
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle-label::after,
#exploreIntroForm.home-panel .home-detail-toggle-label::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1px;
  width: 9px;
  height: 9px;
  margin: 0;
  border: 0;
  background: #98a2b3;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.2 2.7 4 5.3l2.8-2.6' fill='none' stroke='black' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px 9px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.2 2.7 4 5.3l2.8-2.6' fill='none' stroke='black' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px 9px no-repeat;
  transform: translateY(-50%) rotate(0deg);
  transform-origin: center;
  transition: transform 0.16s ease;
}

#exploreIntroForm.home-panel .home-detail-toggle[aria-expanded="true"]::after {
  content: none;
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle[aria-expanded="true"] .home-detail-toggle-label::after,
#exploreIntroForm.home-panel .home-detail-toggle[aria-expanded="true"] .home-detail-toggle-label::after {
  transform: translateY(-50%) rotate(180deg);
}

@media (min-width: 721px) {
  #homeView:not(.is-hidden) #homeForm .home-detail-toggle {
    min-height: 34px;
    height: 34px;
    font-size: 13px;
  }

  #homeView:not(.is-hidden) #homeForm:has(#homeDetailToggle[aria-expanded="true"]) #showResultsButton {
    margin-top: 14px;
  }
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-text {
  background: linear-gradient(100deg, #244a82 0%, #244a82 38%, #7f97bc 50%, #244a82 62%, #244a82 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: homeKickerTextFlow 7.2s linear infinite;
  font-weight: 700;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-date,
#homeView:not(.is-hidden) .hero-kicker .hero-kicker-status,
#homeView:not(.is-hidden) .hero-kicker .hero-kicker-separator {
  color: inherit;
  font-weight: inherit;
  opacity: 1;
}

#homeView:not(.is-hidden) .home-copy > span {
  margin-top: 8px;
}

#homeView:not(.is-hidden) .hero-kicker {
  gap: 6px;
  min-height: 26px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1;
}

#homeView:not(.is-hidden) .hero-kicker::before {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  background: #1463e6;
  color: transparent;
  font-size: 0;
  animation: homeKickerDotPulse 1.55s ease-out infinite;
}

#homeView:not(.is-hidden) #homeBudgetInput {
  appearance: textfield;
  -moz-appearance: textfield;
  text-align: right;
}

#homeView:not(.is-hidden) #homeBudgetInput::-webkit-outer-spin-button,
#homeView:not(.is-hidden) #homeBudgetInput::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.home-story-sections.is-hidden {
  display: none;
}

#homeView:not(.is-hidden) .home-copy h2,
#homeStorySection .home-story-head h3 {
  max-width: 680px;
  margin: 0 auto;
  color: #07111f;
  font-size: clamp(34px, 4.2vw, 48px);
  font-weight: 780;
  line-height: 1.1;
  letter-spacing: -0.018em;
  text-align: center;
  white-space: normal;
  word-break: keep-all;
}

#homeStorySection .home-story-head p {
  color: #586b78;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.42;
  letter-spacing: 0;
}

#homeStorySection .home-story-head > span {
  font-size: 15px;
  font-weight: 720;
  line-height: 1.1;
}

#homeStorySection .home-story-inner {
  width: min(820px, calc(100% - 36px));
}

#homeStorySection .home-story-head,
#homeStorySection .home-story-copy {
  max-width: 680px;
}

#homeStorySection .home-story-head p,
#homeStorySection .home-story-copy p {
  max-width: 560px;
}

#homeStorySection .home-thought-section {
  background:
    radial-gradient(circle at 18% 12%, rgba(20, 99, 230, 0.26), transparent 34%),
    linear-gradient(180deg, #1453b8 0%, #10439a 52%, #0b3178 100%);
}

#homeStorySection .home-thought-section .home-story-head h3 {
  color: #ffffff;
  font-weight: 660;
  letter-spacing: -0.075em;
}

#homeStorySection .home-thought-section .home-story-head > span {
  color: #bfdbff;
}

#homeStorySection .home-thought-section .home-story-head p {
  color: rgba(235, 245, 255, 0.82);
}

.home-thought-cloud {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(18px, 3.2vw, 34px) clamp(18px, 4vw, 40px);
  align-items: center;
  width: min(760px, 100%);
}

.thought-bubble {
  width: fit-content;
  max-width: min(430px, 100%);
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.13);
  color: rgba(255, 255, 255, 0.9);
  padding: 18px 22px;
  font-size: clamp(17px, 1.9vw, 24px);
  font-weight: 500;
  line-height: 1.36;
  letter-spacing: 0;
  word-break: keep-all;
  box-shadow: 0 18px 42px rgba(4, 15, 34, 0.2);
}

.thought-bubble strong {
  color: #ffffff;
  font-weight: 820;
}

.thought-left {
  grid-column: 1;
  justify-self: start;
}

.thought-right {
  grid-column: 2;
  justify-self: end;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(20, 99, 230, 0.2)),
    rgba(255, 255, 255, 0.12);
}

#homeStorySection .home-scenario-board,
#homeStorySection .home-step-strip {
  width: min(760px, 100%);
}

#homeStorySection .home-result-story,
#homeStorySection .home-result-table {
  width: min(680px, 100%);
}

@media (max-width: 720px) {
  #homeView.home-view:not(.is-hidden) {
    --home-mobile-edge-gap: 60px;
    background: #f4f8fc;
    align-content: start;
    padding-top: 54px;
    padding-bottom: var(--home-mobile-edge-gap);
  }

  #homeStorySection .home-story-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .home-thought-cloud {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .thought-bubble,
  .thought-left,
  .thought-right {
    grid-column: 1;
  }

  .thought-bubble {
    max-width: 94%;
    padding: 15px 17px;
    font-size: 15.5px;
  }

  .thought-right {
    justify-self: end;
  }

  #homeView:not(.is-hidden) .home-copy h2,
  #homeStorySection .home-story-head h3 {
    font-size: clamp(31px, 8.2vw, 36px);
  }

  #homeView:not(.is-hidden) .hero-kicker {
    margin-top: 0;
    margin-bottom: 8px;
    padding-top: 6px;
    padding-bottom: 6px;
    box-shadow: none;
  }

  #homeView:not(.is-hidden) .hero-kicker::before {
    animation: homeKickerDotPulse 1.55s ease-out infinite;
  }

  #homeView:not(.is-hidden) .home-copy > span {
    margin-top: 7px;
  }

  #homeView:not(.is-hidden) #homeForm.home-panel {
    width: min(428px, 100vw);
    max-width: 100vw;
    margin-top: 12px;
    margin-bottom: 0;
    gap: 12px;
    padding: 22px 20px;
  }

  #homeView:not(.is-hidden) #showResultsButton {
    margin-top: 0;
    box-shadow:
      0 10px 22px rgba(7, 17, 31, 0.16),
      0 4px 12px rgba(17, 24, 39, 0.08);
  }

  #homeView:not(.is-hidden) #homeForm:has(#homeDetailToggle[aria-expanded="true"]) #showResultsButton {
    margin-top: 9px;
  }

  #homeView:not(.is-hidden)::before {
    background:
      linear-gradient(90deg, rgba(31, 88, 150, 0.058) 1px, transparent 1px),
      linear-gradient(0deg, rgba(31, 88, 150, 0.052) 1px, transparent 1px),
      #f4f8fc;
    background-size:
      30px 30px,
      30px 30px,
      auto;
  }

  #homeView:not(.is-hidden)::after {
    display: none;
  }
}

@keyframes homeKickerTextFlow {
  0% {
    background-position: 0% 50%;
  }

  100% {
    background-position: 100% 50%;
  }
}

@keyframes homeKickerDotPulse {
  0% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(37, 110, 244, 0.36);
  }

  62% {
    opacity: 0.94;
    transform: scale(1);
    box-shadow: 0 0 0 9px rgba(37, 110, 244, 0);
  }

  100% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(37, 110, 244, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #homeView:not(.is-hidden) .hero-kicker .hero-kicker-text {
    animation: none;
  }
}

/* Home and intro calculator placement. */
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls {
  grid-column: 2;
  grid-template-columns: minmax(0, 1fr) 142px;
  gap: 8px;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls .cash-row {
  grid-column: auto;
  width: 100%;
}

.explore-intro-dialog .intro-budget-controls {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 142px;
  gap: 8px;
  align-items: center;
}

.explore-intro-dialog .intro-budget-controls .cash-row {
  width: 100%;
  min-width: 0;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls,
  .explore-intro-dialog .intro-budget-controls {
    grid-template-columns: minmax(0, 1fr) 124px;
    gap: 6px;
  }
}

/* Home budget guidance */
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls {
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  align-items: start;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls .cash-row {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: start;
  justify-content: flex-start;
  width: fit-content;
  min-height: 34px;
  height: 34px;
  border: 1px solid #d9e2ec;
  border-radius: 9px;
  background: #ffffff;
  color: #59697d;
  padding: 0 9px;
  font-size: 12.2px;
  font-weight: 650;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox:has(input:checked) {
  border-color: #a9c9f7;
  background: #edf5ff;
  color: #145fcf;
}

#homeView:not(.is-hidden) #homeForm .home-gap-mode-note {
  display: none;
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: #64748b;
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.45;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .cash-controls:has(#homeGapModeInput:checked) .home-gap-mode-note {
  display: block;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help[hidden] {
  display: none !important;
}

.home-budget-help {
  position: relative;
  grid-column: 1;
  min-width: 0;
  width: fit-content;
  max-width: 100%;
  z-index: 20;
}

.home-budget-help-trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  max-width: 100%;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #59708a;
  padding: 3px 4px 3px 1px;
  font: inherit;
  font-size: 12px;
  font-weight: 690;
  line-height: 1.35;
  text-align: left;
  cursor: help;
}

.home-budget-help-trigger > span:first-child {
  color: #1463e6;
  font-size: 13px;
  line-height: 1;
}

.home-budget-help-trigger:hover,
.home-budget-help-trigger[aria-expanded="true"] {
  color: #164f99;
}

.home-budget-help-trigger:focus-visible,
.home-budget-help-popover button:focus-visible {
  outline: 2px solid rgba(20, 99, 230, 0.34);
  outline-offset: 2px;
}

.home-budget-help-popover[hidden] {
  display: none !important;
}

.home-budget-help-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 1200;
  width: min(440px, calc(100vw - 36px));
  max-height: min(610px, var(--home-budget-help-max-height, calc(100dvh - 48px)));
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #dce6f1;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(35, 58, 87, 0.18), 0 3px 10px rgba(35, 58, 87, 0.08);
  color: #25364b;
  padding: 20px;
  text-align: left;
}

.home-budget-help-popover.is-above {
  top: auto;
  bottom: calc(100% + 8px);
}

.home-budget-help-popover > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.home-budget-help-popover > header strong {
  color: #172b45;
  font-size: 17px;
  font-weight: 830;
  line-height: 1.35;
  letter-spacing: -0.025em;
  word-break: keep-all;
}

.home-budget-help-popover > header button {
  flex: 0 0 auto;
  width: auto;
  max-width: 48px;
  min-height: 28px;
  border: 0;
  border-radius: 7px;
  background: #f3f6fa;
  color: #5e6d80;
  padding: 0 9px;
  font: inherit;
  font-size: 11px;
  font-weight: 720;
  cursor: pointer;
}

.home-budget-help-popover > p {
  margin: 0;
  color: #42566f;
  font-size: 13px;
  line-height: 1.65;
  word-break: keep-all;
}

.home-budget-help-popover > p strong {
  color: #1258c8;
  font-weight: 800;
}

.home-budget-help-popover .home-budget-help-note {
  margin-top: 7px;
  border-radius: 8px;
  background: #f4f7fb;
  color: #607187;
  padding: 8px 10px;
  font-size: 11.5px;
  line-height: 1.45;
}

.home-budget-help-section {
  margin-top: 16px;
}

.home-budget-help-section > strong {
  display: block;
  margin-bottom: 8px;
  color: #243a55;
  font-size: 12.5px;
  font-weight: 790;
  line-height: 1.4;
}

.home-budget-help-section ol,
.home-budget-help-section ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-budget-help-section ol li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #42566f;
  font-size: 12.5px;
  line-height: 1.45;
}

.home-budget-help-section ol li > span {
  display: inline-flex;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eaf2ff;
  color: #1463e6;
  font-size: 10px;
  font-weight: 850;
}

.home-budget-help-section ul li {
  position: relative;
  color: #4b6078;
  padding-left: 13px;
  font-size: 12px;
  line-height: 1.45;
}

.home-budget-help-section ul li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 1px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #8ba3bd;
}

.home-budget-help-popover .home-budget-help-example {
  margin-top: 15px;
  border: 1px solid #dbe8fb;
  border-radius: 11px;
  background: #f6f9fe;
  padding: 11px 12px;
  color: #405a79;
  font-size: 12px;
  line-height: 1.55;
}

.home-budget-help-popover .home-budget-help-example strong {
  color: #1258c8;
  font-size: 13px;
}

.home-budget-help-popover .home-budget-help-caution {
  margin-top: 16px;
  border-top: 1px solid #e8eef5;
  padding-top: 12px;
  color: #728197;
  font-size: 10.8px;
  line-height: 1.5;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  .home-budget-help {
    z-index: 1198;
  }

  .home-budget-help.is-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1198;
    background: rgba(18, 32, 50, 0.38);
    backdrop-filter: blur(1.5px);
  }

  .home-budget-help-trigger {
    min-height: 24px;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 11.5px;
  }

  .home-budget-help-popover {
    position: fixed;
    top: auto;
    right: 8px;
    bottom: 8px;
    left: 8px;
    z-index: 1199;
    width: auto;
    max-height: min(82dvh, 650px);
    border-radius: 18px 18px 13px 13px;
    padding: 19px 18px 18px;
    box-shadow: 0 20px 56px rgba(12, 27, 46, 0.28);
  }

  .home-budget-help-popover.is-above {
    top: auto;
    bottom: 8px;
  }

  .home-budget-help-popover > header {
    margin-bottom: 11px;
  }

  .home-budget-help-popover > header strong {
    font-size: 17px;
  }

  .home-budget-help-popover > header button {
    width: auto;
    min-height: 30px;
  }
}

/* Click-only compact budget alert, shared by desktop and mobile. */
#homeView:not(.is-hidden) #homeForm .home-budget-help.is-open {
  z-index: 1198;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help.is-open::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1198;
  background: rgba(20, 35, 54, 0.34);
  backdrop-filter: blur(1px);
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover,
#homeView:not(.is-hidden) #homeForm .home-budget-help-popover.is-above {
  position: fixed;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  z-index: 1199;
  width: min(352px, calc(100vw - 40px));
  max-height: calc(100dvh - 56px);
  overflow: auto;
  border: 1px solid #dfe7f0;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 18px 50px rgba(18, 36, 58, 0.2);
  padding: 18px;
  transform: translate(-50%, -50%);
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover:focus {
  outline: none;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header {
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header strong {
  color: #1f3550;
  font-size: 16px;
  font-weight: 820;
  line-height: 1.35;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header button {
  width: 28px;
  max-width: 28px;
  min-height: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: #f2f5f9;
  color: #66758a;
  padding: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header button::before {
  content: none;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
  margin: 0;
  color: #53667d;
  font-size: 12px;
  line-height: 1.5;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-formula {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 11px;
  border-radius: 10px;
  background: #f3f7fc;
  color: #50657d;
  padding: 10px;
  font-size: 11.5px;
  font-weight: 720;
  line-height: 1;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-formula b {
  color: #91a1b4;
  font-size: 12px;
  font-weight: 700;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-formula strong {
  color: #1258c8;
  font-weight: 830;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-example {
  margin-top: 9px;
  border: 0;
  border-radius: 9px;
  background: #f8fafc;
  color: #53667d;
  padding: 8px 10px;
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-example strong {
  color: #1258c8;
  font-size: inherit;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-note {
  margin-top: 9px;
  border-radius: 0;
  background: transparent;
  color: #64758a;
  padding: 0;
  font-size: 10.8px;
  line-height: 1.45;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-caution {
  margin-top: 8px;
  border-top: 1px solid #edf1f5;
  color: #7a8798;
  padding-top: 8px;
  font-size: 10.2px;
  line-height: 1.45;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-confirm {
  width: 100%;
  min-height: 40px;
  height: 40px;
  margin-top: 12px;
  border: 1px solid #1463e6;
  border-radius: 10px;
  background: #1463e6;
  box-shadow: none;
  color: #ffffff;
  padding: 0 14px;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-confirm:hover {
  border-color: #0f56cb;
  background: #0f56cb;
  box-shadow: none;
  transform: none;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger {
  cursor: pointer;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover.is-above {
    width: min(276px, calc(100vw - 36px));
    max-height: calc(100dvh - 44px);
    border-radius: 15px;
    padding: 15px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header {
    margin-bottom: 8px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header strong {
    font-size: 15px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
    font-size: 11.3px;
    line-height: 1.45;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-formula {
    gap: 6px;
    margin-top: 9px;
    padding: 9px 7px;
    font-size: 10.6px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-confirm {
    min-height: 38px;
    height: 38px;
    margin-top: 10px;
    border-radius: 9px;
    font-size: 12px;
  }
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header button {
  width: auto;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger {
  width: fit-content;
  height: auto;
  min-height: 26px;
  justify-content: flex-start;
  border: 0;
  border-radius: 7px;
  background: transparent;
  box-shadow: none;
  color: #59708a;
  padding: 3px 4px 3px 1px;
  font-size: 12px;
  font-weight: 690;
  line-height: 1.35;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger:hover,
#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger[aria-expanded="true"] {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #164f99;
  transform: none;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-trigger {
    min-height: 24px;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 11.5px;
  }
}

/* Keep field labels consistently close to their controls across breakpoints. */
@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-field,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-field {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-field > label,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .field-label {
    justify-content: flex-end;
    padding-right: 6px;
    text-align: right;
  }
}

@media (min-width: 721px) {
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-field,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .location-field {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-field > label,
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .field-label {
    justify-content: flex-end;
    text-align: right;
  }
}

#homeView:not(.is-hidden) #homeForm #homeBudgetHelpCloseButton {
  width: 28px;
  max-width: 28px;
  min-height: 28px;
  height: 28px;
}

/* Keep the budget field aligned with the first location selector. */
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 8px;
  row-gap: 2px;
  align-items: start;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-field > label {
  align-self: start;
  grid-row: 1;
  margin-top: 3px;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls .cash-row {
  grid-column: 1;
  width: 100%;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  min-height: 22px;
  display: flex;
  align-items: flex-start;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger {
  width: fit-content;
  min-height: 22px;
  padding: 2px 1px;
  line-height: 1.2;
  white-space: normal;
  word-break: keep-all;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls {
    column-gap: 6px;
    row-gap: 2px;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-field > label {
    margin-top: 0;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox {
    min-height: 32px;
    height: 32px;
    padding: 0 6px;
    font-size: 11.1px;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox span {
    gap: 5px;
  }

  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox span::before {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
  }

  #homeView:not(.is-hidden) #homeForm .home-gap-mode-note {
    grid-column: 1 / -1;
    grid-row: 3;
    justify-self: end;
    width: max-content;
    max-width: 100%;
    font-size: 10.5px;
    text-align: right;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help {
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 22px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-trigger {
    min-height: 22px;
    padding: 2px 1px;
    font-size: 10.7px;
    line-height: 1.28;
  }
}

/* Full budget guidance in the compact click-only dialog. */
html.home-budget-help-modal-open,
html.home-budget-help-modal-open body {
  overflow: hidden !important;
}

#homeView:not(.is-hidden):has(.home-budget-help.is-open) {
  z-index: 1200;
  overflow: visible;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help.is-open::before {
  background: rgba(20, 35, 54, 0.2);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover,
#homeView:not(.is-hidden) #homeForm .home-budget-help-popover.is-above {
  width: min(366px, calc(100vw - 40px));
  max-height: min(480px, calc(100dvh - 56px));
  border-color: #e1e7ef;
  border-radius: 15px;
  padding: 17px;
  scrollbar-width: thin;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header {
  gap: 10px;
  margin-bottom: 9px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header strong {
  font-size: 15.5px;
  font-weight: 720;
}

#homeView:not(.is-hidden) #homeForm #homeBudgetHelpCloseButton {
  color: #7d8998;
  font-weight: 400;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
  color: #53667d;
  font-size: 11.7px;
  font-weight: 450;
  line-height: 1.5;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-lead strong,
#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > p strong {
  color: #245fae;
  font-weight: 680;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-note {
  margin-top: 6px;
  border-radius: 8px;
  background: #f4f7fb;
  color: #6b798a;
  padding: 7px 9px;
  font-size: 10.3px;
  font-weight: 450;
  line-height: 1.4;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section {
  margin-top: 11px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section > strong {
  margin-bottom: 6px;
  color: #344a63;
  font-size: 11.5px;
  font-weight: 680;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ol,
#homeView:not(.is-hidden) #homeForm .home-budget-help-section ul {
  gap: 5px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li {
  gap: 6px;
  color: #52667d;
  font-size: 11.1px;
  font-weight: 450;
  line-height: 1.4;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li > span {
  flex-basis: 18px;
  width: 18px;
  height: 18px;
  background: #edf3fc;
  color: #4f78ae;
  font-size: 9px;
  font-weight: 680;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ul li {
  color: #5d6d80;
  padding-left: 11px;
  font-size: 10.7px;
  font-weight: 450;
  line-height: 1.4;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ul li::before {
  background: #9aa8b8;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-example {
  margin-top: 10px;
  border: 1px solid #e2e9f2;
  border-radius: 9px;
  background: #f8fafc;
  color: #5a6c81;
  padding: 8px 10px;
  font-size: 10.7px;
  font-weight: 450;
  line-height: 1.45;
  text-align: left;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-example strong {
  color: #245fae;
  font-size: 11.2px;
  font-weight: 680;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-caution {
  margin-top: 10px;
  border-top: 1px solid #edf1f5;
  color: #7a8797;
  padding-top: 8px;
  font-size: 9.8px;
  font-weight: 450;
  line-height: 1.45;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-confirm {
  min-height: 38px;
  height: 38px;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger {
  color: #66758a;
  font-weight: 600;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger > span:first-child {
  color: #939daa;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger:hover,
#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger[aria-expanded="true"] {
  color: #4f6278;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger:hover > span:first-child,
#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger[aria-expanded="true"] > span:first-child {
  color: #7f8a98;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover.is-above {
    width: min(286px, calc(100vw - 32px));
    max-height: min(450px, calc(100dvh - 48px));
    padding: 15px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header strong {
    font-size: 15px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
    font-size: 11.2px;
  }
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-footnotes {
  display: grid;
  gap: 3px;
  margin-top: 10px;
  border-top: 1px solid #edf1f5;
  padding-top: 8px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-footnotes p {
  margin: 0;
  color: #7a8797;
  font-size: 9.8px;
  font-weight: 450;
  line-height: 1.45;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li.has-note {
  align-items: flex-start;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li.has-note > span {
  margin-top: 1px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-money-copy {
  min-width: 0;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-money-copy small {
  display: inline;
  margin-left: 4px;
  color: #8a96a5;
  font-size: 9.2px;
  font-weight: 450;
  line-height: 1.3;
  white-space: nowrap;
}

/* Fit the full guide on mobile without an inner scrollbar. */
@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover.is-above {
    width: min(286px, calc(100vw - 24px));
    max-height: none;
    overflow: visible;
    padding: 12px 13px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header {
    margin-bottom: 6px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header strong {
    font-size: 14px;
    line-height: 1.3;
  }

  #homeView:not(.is-hidden) #homeForm #homeBudgetHelpCloseButton {
    width: 26px;
    max-width: 26px;
    min-height: 26px;
    height: 26px;
    font-size: 16px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
    font-size: 10.6px;
    line-height: 1.35;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section {
    margin-top: 8px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section > strong {
    margin-bottom: 4px;
    font-size: 10.8px;
    line-height: 1.3;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section ol,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-section ul {
    gap: 3px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li {
    gap: 5px;
    font-size: 10.2px;
    line-height: 1.3;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li > span {
    flex-basis: 16px;
    width: 16px;
    height: 16px;
    font-size: 8px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-money-copy small {
    font-size: 8.5px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section ul li {
    font-size: 9.9px;
    line-height: 1.3;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-example {
    margin-top: 7px;
    padding: 6px 8px;
    font-size: 9.9px;
    line-height: 1.35;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-example strong {
    font-size: 10.4px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-footnotes {
    gap: 2px;
    margin-top: 7px;
    padding-top: 6px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-footnotes p {
    font-size: 9px;
    line-height: 1.3;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-confirm {
    min-height: 34px;
    height: 34px;
    margin-top: 7px;
    font-size: 11.5px;
  }
}

/* Slightly enlarge the home hero status badge. */
#homeView:not(.is-hidden) .hero-kicker {
  min-height: 28px;
  padding: 7px 12px;
  font-size: 13px;
}

/* Keep the budget guide comfortably readable. */
#homeView:not(.is-hidden) #homeForm .home-budget-help-popover,
#homeView:not(.is-hidden) #homeForm .home-budget-help-popover.is-above {
  width: min(420px, calc(100vw - 40px));
  max-height: min(620px, calc(100dvh - 48px));
  overflow-y: auto;
  padding: 22px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header {
  margin-bottom: 12px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header strong {
  font-size: 17px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
  font-size: 13px;
  line-height: 1.55;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section {
  margin-top: 15px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section > strong {
  margin-bottom: 8px;
  font-size: 13px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ol,
#homeView:not(.is-hidden) #homeForm .home-budget-help-section ul {
  gap: 7px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li,
#homeView:not(.is-hidden) #homeForm .home-budget-help-section ul li {
  font-size: 12.5px;
  line-height: 1.5;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-example {
  margin-top: 13px;
  padding: 11px 12px;
  font-size: 12px;
  line-height: 1.5;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-popover .home-budget-help-example strong {
  font-size: 12.5px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-footnotes {
  gap: 4px;
  margin-top: 12px;
  padding-top: 10px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-footnotes p {
  font-size: 10.5px;
  line-height: 1.45;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-confirm {
  min-height: 42px;
  height: 42px;
  margin-top: 12px;
  font-size: 13px;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover.is-above {
    width: min(360px, calc(100vw - 24px));
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    padding: 18px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover > header strong {
    font-size: 16px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
    font-size: 12.5px;
    line-height: 1.5;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section > strong {
    font-size: 12.5px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-section ul li {
    font-size: 12px;
    line-height: 1.45;
  }
}

/* Borderless binary control for the gap-investment option. */
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox {
  border: 0;
  background: transparent;
  color: #66758a;
  padding: 0 11px;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox:hover {
  background: transparent;
  color: #4d6076;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox:has(input:checked) {
  border: 1px solid #8db8f3;
  background: #e8f2ff;
  color: #0f52b8;
  font-weight: 720;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox span::before {
  border: 0;
  border-radius: 5px;
  background: #e4e9ef;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) span::before {
  border: 0;
  background: #075fd8;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) span::after {
  border-bottom-width: 2px;
  border-left-width: 2px;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:focus-visible) {
  box-shadow: 0 0 0 3px rgba(20, 99, 230, 0.14);
}

/* Keep the helper attached to the control without changing the budget field width. */
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  column-gap: 6px;
}

#homeView:not(.is-hidden) #homeForm .home-gap-mode-note {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  justify-self: end;
  width: 100%;
  max-width: 132px;
  margin-top: 3px;
  color: #66778c;
  font-size: 10px;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  word-break: keep-all;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #homeView:not(.is-hidden) #homeForm .home-gap-mode-note {
    max-width: 124px;
    font-size: 9.8px;
  }
}

/* Compact one-line copy inside the gap-mode control. */
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox {
  width: fit-content;
  min-height: 30px;
  height: 30px;
  padding: 0 7px;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: auto;
  overflow: visible;
  text-align: left;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy::before {
  align-self: center;
  margin-right: 2px;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy > strong,
#homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy > em {
  min-width: 0;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy > strong {
  color: inherit;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy > em {
  color: #7b8796;
  font-size: 9.5px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) .home-gap-checkbox-copy > em {
  color: #4f6f9e;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox {
    width: fit-content;
    min-height: 28px;
    height: 28px;
    padding: 0 5px;
  }

  #homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy {
    gap: 3px;
  }

  #homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy > strong {
    font-size: 9.8px;
  }

  #homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy > em {
    font-size: 8.4px;
    letter-spacing: -0.03em;
  }
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox:active {
  background: transparent;
  color: #66758a;
  filter: none;
  transform: none;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox:has(input:checked):active {
  background: #e8f2ff;
  color: #0f52b8;
}

/* Remove pressed flashes and use a softer switch instead of a drawn check. */
#homeView:not(.is-hidden) #homeForm .home-gap-checkbox,
#homeView:not(.is-hidden) #homeForm .home-gap-checkbox * {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
  user-select: none;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox {
  touch-action: manipulation;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy::before {
  width: 26px;
  height: 16px;
  flex: 0 0 26px;
  border: 0;
  border-radius: 999px;
  background: #dce3eb;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy::after {
  top: 50%;
  left: 2px;
  width: 12px;
  height: 12px;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  opacity: 1;
  box-shadow: 0 1px 2px rgba(29, 45, 66, 0.16);
  transform: translateY(-50%);
  transition: transform 0.16s ease;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) .home-gap-checkbox-copy::before {
  background: #1463e6;
}

#homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) .home-gap-checkbox-copy::after {
  border: 0;
  transform: translate(10px, -50%);
}

/* Keep the switch intact against earlier mobile checkbox overrides. */
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox .home-gap-checkbox-copy::before {
  width: 24px;
  height: 14px;
  flex: 0 0 24px;
  border: 0;
  border-radius: 999px;
  background: #d4dce6;
  box-shadow: none;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox .home-gap-checkbox-copy::after {
  top: 50%;
  left: 2px;
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  opacity: 1;
  box-shadow: 0 1px 2px rgba(29, 45, 66, 0.14);
  transform: translateY(-50%);
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox:has(input:checked) .home-gap-checkbox-copy::before {
  background: #1463e6;
}

#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox:has(input:checked) .home-gap-checkbox-copy::after {
  border: 0;
  transform: translate(10px, -50%);
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .home-gap-checkbox {
    min-height: 30px;
    height: 30px;
    padding: 0 7px;
  }

  #homeView:not(.is-hidden) #homeForm .home-gap-checkbox .home-gap-checkbox-copy > strong {
    color: #4f6075;
    font-size: 11.5px;
    font-weight: 650;
  }

  #homeView:not(.is-hidden) #homeForm .home-gap-checkbox:has(input:checked) .home-gap-checkbox-copy > strong {
    color: #0f52b8;
  }
}

/* Budget-help hierarchy: loan guidance belongs to item 2. */
#homeView:not(.is-hidden) #homeForm .home-budget-help-money-copy {
  display: grid;
  gap: 8px;
  width: 100%;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide {
  display: grid;
  gap: 7px;
  margin-top: 12px;
  border-radius: 9px;
  background: #f5f8fc;
  padding: 10px 11px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide > strong {
  color: #3d526c;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.35;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide ul li {
  position: relative;
  display: block;
  padding-left: 11px;
  color: #5d6d80;
  font-size: 10.7px;
  font-weight: 450;
  line-height: 1.4;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide ul li::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: 1px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #93a3b6;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-note {
  margin: 1px 0 0;
  border-top: 1px solid #e5ebf2;
  padding-top: 7px;
  color: #7a8797;
  font-size: 9.8px;
  font-weight: 450;
  line-height: 1.4;
  word-break: keep-all;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide {
  margin: 13px 0 0;
  color: #53667d;
  font-size: 13px;
  font-weight: 450;
  line-height: 1.55;
  word-break: keep-all;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide > p {
  margin: 0;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-details {
  display: grid;
  gap: 4px;
  margin-top: 8px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide .home-budget-help-purpose-detail {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  color: #66778b;
  font-size: 12.5px;
  font-weight: 450;
  line-height: 1.5;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-warning {
  display: inline-flex;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 0;
  padding-top: 4px;
  align-items: center;
  justify-content: center;
  background: #edf3fc;
  color: #4f78ae;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  font-size: 9px;
  font-weight: 850;
  line-height: 1;
  font-style: normal;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-caveat {
  margin: -1px 0 0 24px;
  color: #7a8797;
  font-size: 10.5px;
  font-weight: 450;
  line-height: 1.4;
  word-break: keep-all;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-investment-note {
  display: grid;
  gap: 6px;
  margin-top: 15px;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-investment-note > strong {
  margin: 0;
  color: #344a63;
  font-size: 13px;
  font-weight: 680;
  line-height: 1.3;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-investment-note p {
  margin: 0;
  color: #53667d;
  font-size: 12.5px;
  font-weight: 450;
  line-height: 1.45;
  word-break: keep-all;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-investment-note b {
  color: #145fcf;
  font-weight: 700;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide {
    margin-top: 11px;
    font-size: 12.5px;
    line-height: 1.5;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide .home-budget-help-purpose-detail {
    font-size: 12px;
    line-height: 1.45;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-detail > span:first-child {
    flex-basis: 16px;
    width: 16px;
    height: 16px;
    padding-top: 4px;
    font-size: 8px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-caveat {
    margin-left: 22px;
    font-size: 10px;
    line-height: 1.35;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-note {
    padding-top: 7px;
    font-size: 9.5px;
    line-height: 1.35;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide {
    gap: 8px;
    margin: 11px 7px 0;
    border-radius: 10px;
    padding: 11px 12px 12px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide ul {
    gap: 6px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide ul li {
    padding-left: 10px;
    font-size: 11.5px;
    line-height: 1.45;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide > strong,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-investment-note > strong {
    font-size: 12.5px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide ul li,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-investment-note p {
    font-size: 12px;
  }
}

/* Keep the page geometry fixed while the budget help modal is open. */
html.home-budget-help-modal-open {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable;
}

html.home-budget-help-modal-open body {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

/* Explicit residence vs. gap-investment selection. */
#homeView:not(.is-hidden) #homeForm .home-purchase-mode-segment {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  justify-self: stretch;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  min-height: 50px;
  height: 50px;
  overflow: hidden;
  border: 0;
  border-radius: 11px;
  background: #f5f8fc;
  padding: 3px;
  box-sizing: border-box;
}

#homeView:not(.is-hidden) #homeForm .home-purchase-mode-segment::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 3px;
  width: calc(50% - 3px);
  border: 0;
  border-radius: 9px;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(31, 45, 61, 0.12);
  box-sizing: border-box;
  transform: translateX(0);
  transition: transform 0.18s ease;
}

#homeView:not(.is-hidden) #homeForm .home-purchase-mode-segment:has(button[data-home-purchase-mode="gap"][aria-pressed="true"])::before {
  transform: translateX(100%);
}

#homeView:not(.is-hidden) #homeForm .home-purchase-mode-segment button {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #5f6f83;
  padding: 0 5px;
  font-size: 13.5px;
  font-weight: 620;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  box-shadow: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

#homeView:not(.is-hidden) #homeForm .home-purchase-mode-segment button[aria-pressed="true"] {
  background: transparent;
  color: #1f3b5b;
  font-weight: 700;
}

#homeView:not(.is-hidden) #homeForm .home-purchase-mode-segment button:focus-visible {
  outline: 2px solid rgba(20, 99, 230, 0.35);
  outline-offset: 1px;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-purchase-mode-segment {
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-height: 42px;
    height: 42px;
    border-radius: 10px;
    margin-top: 0;
  }

  #homeView:not(.is-hidden) #homeForm .home-purchase-mode-segment button {
    width: 100%;
    min-height: 34px;
    height: 34px;
    padding: 0 3px;
    font-size: 12.5px;
    line-height: 1;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help {
    grid-row: 2;
    margin-top: 2px;
  }
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-mode-emphasis {
  color: #1463e6;
  font-weight: 680;
}

/* One semantic blue for inline emphasis; reserve bright blue for the CTA. */
#homeView:not(.is-hidden) #homeForm .home-purchase-mode-segment button[aria-pressed="true"],
#homeView:not(.is-hidden) #homeForm .home-budget-help-lead strong,
#homeView:not(.is-hidden) #homeForm .home-budget-help-mode-emphasis,
#homeView:not(.is-hidden) #homeForm .home-budget-help-investment-note b {
  color: #245fae;
}

/* Flat dim layer avoids the optical zoom caused by backdrop blur. */
#homeView:not(.is-hidden) #homeForm .home-budget-help.is-open::before {
  background: rgba(20, 35, 54, 0.28);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

@media (max-width: 720px) {
  html.home-budget-help-modal-open {
    overflow-x: visible !important;
    overflow-y: auto !important;
    scrollbar-gutter: auto;
  }

  html.home-budget-help-modal-open body {
    overflow: visible !important;
  }
}

html.home-budget-help-modal-open,
html.home-budget-help-modal-open body {
  overflow: visible !important;
}

html.home-budget-help-modal-open {
  scrollbar-gutter: auto;
}

html.home-budget-help-modal-open,
html.home-budget-help-modal-open body,
html.home-budget-help-modal-open #homeView {
  overflow-anchor: none;
}

/* Geometric brand logo converted from the supplied PNG. */
#homeLogoButton.brand-home {
  grid-template-columns: 48px minmax(0, auto);
  gap: 9px;
}

#homeLogoButton .brand-mark {
  width: 48px;
  height: 24px;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  filter: none;
}

#homeLogoButton .brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#homeLogoButton .brand-title {
  display: block;
  min-width: max-content;
  overflow: visible;
  font-size: 23px;
  font-weight: 780;
  line-height: 24px;
  text-overflow: clip;
  text-rendering: geometricPrecision;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
}

@media (max-width: 720px) {
  #homeLogoButton.brand-home {
    grid-template-columns: 40px minmax(0, max-content);
    gap: 7px;
  }

  #homeLogoButton .brand-mark {
    width: 40px;
    height: 20px;
  }

  #homeLogoButton .brand-title {
    font-size: 20px;
    font-weight: 760;
    line-height: 20px;
  }
}

/* Refined home hero status badge. */
#homeView:not(.is-hidden) .hero-kicker {
  gap: 7px;
  min-height: 34px;
  border-color: rgba(20, 115, 230, 0.3);
  background: #edf7ff;
  padding: 9px 15px;
  color: #115cba;
  font-size: 14px;
  box-shadow: 0 8px 24px rgba(20, 115, 230, 0.12);
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-text {
  background-image: linear-gradient(100deg, #115cba 0%, #115cba 42%, #5aa7f5 52%, #115cba 62%, #115cba 100%);
  background-size: 280% 100%;
  animation-duration: 9s;
  font-weight: 720;
}

#homeView:not(.is-hidden) .hero-kicker::before {
  width: 8px;
  height: 8px;
  flex-basis: 8px;
  background: #1473e6;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) .hero-kicker {
    min-height: 32px;
    padding: 8px 13px;
    font-size: 13.5px;
    box-shadow: 0 6px 18px rgba(31, 59, 91, 0.07);
  }
}

/* Shared horizontal constraint for the home hero and every story section. */
:root {
  --home-content-max: 860px;
  --home-page-gutter: 24px;
}

html:has(#homeView:not(.is-hidden)),
body:has(#homeView:not(.is-hidden)) {
  overflow-x: clip;
}

#homeView.home-view:not(.is-hidden),
#homeStorySection .home-story-inner {
  box-sizing: border-box;
  width: min(var(--home-content-max), calc(100% - (var(--home-page-gutter) * 2)));
  max-width: var(--home-content-max);
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 720px) {
  :root {
    --home-page-gutter: 20px;
  }

  #homeView.home-view:not(.is-hidden) {
    width: 100%;
    max-width: 100%;
  }

  #homeStorySection .home-story-inner {
    width: calc(100% - (var(--home-page-gutter) * 2));
    max-width: none;
  }

}

/* Home hero: bounded content with all ambient decoration removed. */
#homeView.home-view:not(.is-hidden) {
  box-sizing: border-box;
  width: min(860px, calc(100% - 48px));
  max-width: 860px;
  min-width: 0;
  min-height: 0;
  margin: 0 auto;
  padding: 52px 0 64px;
  overflow: visible;
  background: transparent;
  align-content: start;
  justify-items: center;
}

#homeView:not(.is-hidden) .home-ambient-layer,
#homeView:not(.is-hidden) .home-report-preview {
  display: none !important;
  content: none !important;
  animation: none !important;
}

/* Section one brand field: the two source-logo shapes anchor opposite corners. */
#homeView.home-view:not(.is-hidden)::before {
  content: "" !important;
  position: absolute;
  inset: 0 auto 0 50%;
  z-index: -2;
  display: block !important;
  width: 100vw;
  border: 0;
  border-radius: 0;
  background-color: #ffffff;
  background-image:
    radial-gradient(ellipse at 50% 48%, rgba(255, 255, 255, 1) 0 30%, rgba(255, 255, 255, 0.93) 48%, rgba(255, 255, 255, 0.38) 68%, rgba(255, 255, 255, 0) 86%),
    radial-gradient(circle at 8% 12%, rgba(24, 41, 244, 0.165), rgba(24, 41, 244, 0) 31%),
    radial-gradient(circle at 91% 86%, rgba(48, 131, 255, 0.195), rgba(48, 131, 255, 0) 32%),
    linear-gradient(rgba(34, 91, 176, 0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 91, 176, 0.032) 1px, transparent 1px),
    url("../assets/where-symbol-circle.svg?v=complete-outline-1"),
    url("../assets/where-symbol-house.svg?v=complete-outline-1");
  background-repeat: no-repeat;
  background-position:
    center,
    center,
    center,
    center,
    center,
    left -260px top -270px,
    right -250px bottom -185px;
  background-size:
    100% 100%,
    100% 100%,
    100% 100%,
    48px 48px,
    48px 48px,
    clamp(640px, 55vw, 820px) auto,
    clamp(700px, 59vw, 900px) auto;
  transform: translateX(-50%);
  animation: none !important;
  pointer-events: none;
}

/* Fine orbit lines and anchor points add depth without competing with the form. */
#homeView.home-view:not(.is-hidden)::after {
  content: "" !important;
  position: absolute;
  inset: 0 auto 0 50%;
  z-index: -1;
  display: block !important;
  width: 100vw;
  background-image:
    radial-gradient(ellipse at left top, transparent 0 365px, rgba(24, 41, 244, 0.13) 366px 367px, transparent 368px),
    radial-gradient(ellipse at right bottom, transparent 0 410px, rgba(48, 131, 255, 0.14) 411px 412px, transparent 413px),
    radial-gradient(circle at 21% 27%, rgba(24, 41, 244, 0.28) 0 2px, transparent 3px),
    radial-gradient(circle at 80% 72%, rgba(48, 131, 255, 0.3) 0 2px, transparent 3px);
  background-repeat: no-repeat;
  transform: translateX(-50%);
  animation: none !important;
  pointer-events: none;
}

#homeView:not(.is-hidden) #homeForm.home-panel {
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  min-width: 0;
  border: 0;
  box-shadow: none;
}

#homeView:not(.is-hidden) .home-copy {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#homeView:not(.is-hidden) .hero-kicker {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding-right: 0;
  padding-left: 0;
}

#homeView:not(.is-hidden) .hero-kicker::before {
  box-shadow: none;
}

@media (max-width: 720px) {
  #homeView.home-view:not(.is-hidden) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 40px 20px 48px;
    overflow-x: clip;
  }

  #homeView:not(.is-hidden) #homeForm.home-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  #homeView.home-view:not(.is-hidden)::before {
    background-color: #ffffff;
    background-image:
      radial-gradient(ellipse at 50% 46%, rgba(255, 255, 255, 1) 0 34%, rgba(255, 255, 255, 0.94) 52%, rgba(255, 255, 255, 0.44) 72%, rgba(255, 255, 255, 0) 90%),
      radial-gradient(circle at 6% 10%, rgba(24, 41, 244, 0.15), rgba(24, 41, 244, 0) 38%),
      radial-gradient(circle at 94% 88%, rgba(48, 131, 255, 0.18), rgba(48, 131, 255, 0) 38%),
      linear-gradient(rgba(34, 91, 176, 0.028) 1px, transparent 1px),
      linear-gradient(90deg, rgba(34, 91, 176, 0.028) 1px, transparent 1px),
      url("../assets/where-symbol-circle.svg?v=complete-outline-1"),
      url("../assets/where-symbol-house.svg?v=complete-outline-1");
    background-position:
      center,
      center,
      center,
      center,
      center,
      left -178px top -172px,
      right -178px bottom -128px;
    background-size:
      100% 100%,
      100% 100%,
      100% 100%,
      36px 36px,
      36px 36px,
      410px auto,
      450px auto;
  }

  #homeView.home-view:not(.is-hidden)::after {
    background-image:
      radial-gradient(ellipse at left top, transparent 0 188px, rgba(24, 41, 244, 0.12) 189px 190px, transparent 191px),
      radial-gradient(ellipse at right bottom, transparent 0 214px, rgba(48, 131, 255, 0.13) 215px 216px, transparent 217px),
      radial-gradient(circle at 14% 24%, rgba(24, 41, 244, 0.25) 0 1.5px, transparent 2.5px),
      radial-gradient(circle at 86% 76%, rgba(48, 131, 255, 0.27) 0 1.5px, transparent 2.5px);
  }
}

/* Budget modal hierarchy: primary guidance, supporting box, then rental guidance. */
#homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
  color: #344a63;
  font-size: 13px;
  font-weight: 560;
  line-height: 1.5;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section {
  margin-top: 9px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide {
  margin-top: 11px;
  background: #f8fafc;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide > strong {
  color: #465a72;
  font-weight: 650;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide {
  margin-top: 15px;
  border-top: 1px solid #e9eef4;
  padding-top: 14px;
  color: #344a63;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide > p:first-child {
  font-weight: 560;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-confirm {
  margin-top: 20px;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
    font-size: 12.5px;
    line-height: 1.5;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section {
    margin-top: 8px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide {
    margin: 10px 7px 0;
    background: #f8fafc;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide > strong {
    font-size: 11.5px;
    line-height: 1.4;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide {
    margin-top: 13px;
    padding-top: 12px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide > p:first-child {
    font-size: 12.5px;
    line-height: 1.45;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-confirm {
    margin-top: 18px;
  }
}

/* Slightly larger modal typography without flattening the hierarchy. */
#homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
  font-size: 13.5px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li {
  font-size: 13px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide > strong,
#homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide ul li {
  font-size: 12px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide > p:first-child {
  font-size: 13.5px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide .home-budget-help-purpose-detail {
  font-size: 13px;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-caveat {
  font-size: 10.75px;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
    font-size: 13px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-section ol li {
    font-size: 12.5px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide > strong,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide ul li {
    font-size: 12px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide > p:first-child {
    font-size: 13px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-guide .home-budget-help-purpose-detail {
    font-size: 12.5px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-purpose-caveat {
    font-size: 10.25px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover,
  #homeView:not(.is-hidden) #homeForm .home-budget-help-popover.is-above {
    width: min(374px, calc(100vw - 16px));
    padding-right: 16px;
    padding-left: 16px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-loan-guide {
    margin-right: 4px;
    margin-left: 4px;
  }
}

@media (max-width: 380px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-lead {
    font-size: 13px;
    letter-spacing: -0.03em;
    white-space: nowrap;
  }
}

/* Make the inline budget-help trigger easier to notice without competing with the form. */
#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger {
  min-height: 24px;
  color: #7a8797;
  font-size: 12.5px;
  line-height: 1.3;
}

#homeView:not(.is-hidden) #homeForm .home-budget-help-trigger > span:first-child {
  color: #9aa4b0;
  font-size: 13.5px;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm .home-budget-help-trigger {
    min-height: 23px;
    font-size: 11.5px;
  }

  #homeView:not(.is-hidden) #homeForm .home-budget-help-trigger > span:first-child {
    font-size: 13px;
  }
}

/* Home hero date badge. */
#homeView:not(.is-hidden) .hero-kicker {
  gap: 8px;
  min-height: 30px;
  border: 1px solid rgba(21, 100, 229, 0.2);
  border-radius: 999px;
  background: #f7faff;
  padding: 5px 11px;
  color: #4f6782;
  font-size: 12.5px;
  line-height: 1.2;
  box-shadow: 0 5px 16px rgba(21, 100, 229, 0.08);
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-text {
  gap: 6px;
  background: none;
  color: #4f6782;
  animation: none;
  font-weight: 680;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-date {
  color: #506a86;
  font-variant-numeric: tabular-nums;
  font-weight: 730;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-status {
  color: #0b5ee8;
  font-weight: 780;
}

#homeView:not(.is-hidden) .hero-kicker::before {
  display: block;
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  background: #1688ff;
  box-shadow: 0 0 0 3px rgba(22, 136, 255, 0.12);
  animation: none;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) .hero-kicker {
    min-height: 27px;
    margin-bottom: 9px;
    padding: 4px 9px;
    font-size: 12px;
    box-shadow: 0 4px 12px rgba(21, 100, 229, 0.07);
  }
}

/* Final home hero motion: keep exactly one region label in the slot at a time. */
#homeView:not(.is-hidden) .hero-region-rotator,
#homeView:not(.is-hidden) .hero-region-roll-value,
#homeView:not(.is-hidden) .hero-region-roll-char {
  filter: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

#homeView:not(.is-hidden) .hero-region-roll-value {
  position: absolute !important;
  inset: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-end;
  width: 100% !important;
  height: 1.1em !important;
  min-width: 0 !important;
  background: linear-gradient(95deg, #075eea 0%, #1688ff 48%, #14bfd0 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-size: 1em !important;
  font-weight: inherit !important;
  line-height: 1.1 !important;
  text-align: right;
  white-space: nowrap;
  animation: none !important;
}

#homeView:not(.is-hidden) .hero-region-roll-char {
  display: inline-block;
  transform: none;
  will-change: auto;
}

#homeView:not(.is-hidden) .hero-region-rotator.is-rolling-out .hero-region-roll-value {
  animation: homeHeroRegionWordOut 180ms ease both !important;
}

#homeView:not(.is-hidden) .hero-region-rotator.is-rolling-in .hero-region-roll-value {
  animation: homeHeroRegionWordIn 220ms ease both !important;
}

@keyframes homeHeroRegionWordOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(-8px);
  }
}

@keyframes homeHeroRegionWordIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Final home hero badge: flat, quiet, and optically balanced. */
#homeView:not(.is-hidden) .hero-kicker {
  gap: 7px;
  min-height: 28px;
  border: 1px solid rgba(24, 41, 244, 0.16);
  border-radius: 8px;
  background: #f7f8ff;
  padding: 5px 10px;
  color: #365a9d;
  font-size: 12px;
  line-height: 1;
  box-shadow: none !important;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-text {
  gap: 6px;
  color: #365a9d;
  font-weight: 650;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-date {
  color: #365a9d;
  font-weight: 720;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-status {
  color: #1829f4;
  font-weight: 740;
}

#homeView:not(.is-hidden) .hero-kicker::before {
  width: 5px;
  height: 5px;
  flex-basis: 5px;
  background: #1829f4;
  box-shadow: 0 0 0 0 rgba(24, 41, 244, 0.28);
  animation: homeHeroKickerPulse 1.65s ease-out infinite !important;
}

@keyframes homeHeroKickerPulse {
  0% {
    opacity: 1;
    transform: scale(0.92);
    box-shadow: 0 0 0 0 rgba(24, 41, 244, 0.3);
  }

  62% {
    opacity: 0.9;
    transform: scale(1);
    box-shadow: 0 0 0 6px rgba(24, 41, 244, 0);
  }

  100% {
    opacity: 1;
    transform: scale(0.92);
    box-shadow: 0 0 0 0 rgba(24, 41, 244, 0);
  }
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) .hero-kicker {
    min-height: 27px;
    margin-bottom: 9px;
    padding: 5px 9px;
    font-size: 11.5px;
    box-shadow: none !important;
  }
}

/* Match the approved standalone home typography without changing its copy. */
#homeView:not(.is-hidden) .home-copy h2 {
  height: auto !important;
  min-height: 2.26em !important;
  max-height: none !important;
  color: #141a23 !important;
  font-size: 52px !important;
  font-weight: 700 !important;
  line-height: 1.13 !important;
  letter-spacing: -0.065em !important;
}

#homeView:not(.is-hidden) .home-copy h2 .hero-title-base,
#homeView:not(.is-hidden) .home-copy h2 .hero-title-accent,
#homeView:not(.is-hidden) .home-copy h2 .hero-title-suffix {
  color: #141a23 !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

#homeView:not(.is-hidden) .home-copy h2 .hero-region-roll-value {
  background: none !important;
  color: #1768f2 !important;
  -webkit-text-fill-color: #1768f2 !important;
}

#homeView:not(.is-hidden) .home-copy > span {
  margin-top: 21px;
  color: #5a687b;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

@media (max-width: 900px) {
  #homeView:not(.is-hidden) .home-copy h2 {
    font-size: 42px !important;
  }
}

@media (max-width: 600px) {
  #homeView:not(.is-hidden) .home-copy h2 {
    font-size: 35px !important;
  }

  #homeView:not(.is-hidden) .home-copy > span {
    font-size: 14px;
  }
}

/* Home hero and form clarity: preserve the form geometry while improving contrast. */
#homeView:not(.is-hidden) .hero-kicker {
  position: relative;
  z-index: 2;
  width: max-content;
  max-width: 100%;
  display: inline-flex !important;
  align-items: center;
  justify-self: center;
  gap: 9px;
  min-height: 32px;
  margin: 0 0 12px;
  border: 1px solid rgba(20, 95, 207, 0.24) !important;
  border-radius: 8px;
  background: transparent !important;
  padding: 6px 11px;
  color: #294c7d;
  font-size: 14px;
  line-height: 1.25;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-text {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: none !important;
  color: #294c7d !important;
  -webkit-text-fill-color: currentColor !important;
  animation: none !important;
  font-weight: 680;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-date {
  color: #5a6f89 !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 680;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-status {
  color: #145fcf !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 760;
}

#homeView:not(.is-hidden) .hero-kicker::before {
  width: 7px;
  height: 7px;
  flex-basis: 7px;
  background: #1768f2;
  transform-origin: center;
  animation: homeHeroKickerPulse 1.65s ease-out infinite !important;
}

#homeView:not(.is-hidden) .home-copy h2 .hero-title-accent .hero-region-rotator,
#homeView:not(.is-hidden) .home-copy h2 .hero-title-accent .hero-region-roll-value,
#homeView:not(.is-hidden) .home-copy h2 .hero-title-accent .hero-region-roll-char,
#homeView:not(.is-hidden) .home-copy h2 .hero-title-accent .hero-region-rotator.is-rolling-out .hero-region-roll-value,
#homeView:not(.is-hidden) .home-copy h2 .hero-title-accent .hero-region-rotator.is-rolling-in .hero-region-roll-value {
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  color: #145fcf !important;
  -webkit-text-fill-color: #145fcf !important;
  text-shadow: none !important;
  filter: none !important;
}

#homeView:not(.is-hidden) .home-copy h2 .hero-title-accent {
  gap: 0.1em !important;
}

#homeView:not(.is-hidden) .home-copy h2 .hero-title-accent .hero-region-rotator {
  flex-basis: 2em;
  width: 2em !important;
  min-width: 2em !important;
}

#homeView:not(.is-hidden) .home-copy {
  gap: 0 !important;
}

#homeView:not(.is-hidden) .home-copy > span {
  box-sizing: border-box;
  margin-top: 4px;
  padding-right: 0;
  padding-left: 0;
  color: #53647a;
}

#homeView:not(.is-hidden) #homeForm .home-field > label,
#homeView:not(.is-hidden) #homeForm .field-label,
#homeView:not(.is-hidden) #homeForm .advanced-label {
  color: #47596f;
}

#homeView:not(.is-hidden) #homeForm .cash-row,
#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button,
#homeView:not(.is-hidden) #homeForm .advanced-picker-button {
  border-color: #cbd8e8;
  background: #ffffff;
  color: #1d3049;
  box-shadow: 0 1px 2px rgba(23, 47, 77, 0.045);
}

#homeView:not(.is-hidden) #homeForm .cash-row input,
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row input {
  color: #0f2037;
}

#homeView:not(.is-hidden) #homeForm .cash-row input::placeholder,
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row input::placeholder {
  color: #7689a2;
  opacity: 1;
}

#homeView:not(.is-hidden) #homeForm .cash-row > span,
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row > span {
  color: #41536a;
}

#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button:hover,
#homeView:not(.is-hidden) #homeForm .advanced-picker-button:hover {
  border-color: #afc1d7;
}

#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button:focus-visible,
#homeView:not(.is-hidden) #homeForm .advanced-picker-button:focus-visible,
#homeView:not(.is-hidden) #homeForm .cash-row:focus-within,
#homeView:not(.is-hidden) #homeForm .home-mode-panel[data-home-panel="cash"].active .cash-row:focus-within {
  border-color: #2d72df;
  background: #ffffff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(45, 114, 223, 0.1);
}

#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button:disabled,
#homeView:not(.is-hidden) #homeForm .location-selects .home-select-picker-button[aria-disabled="true"] {
  border-color: #d9e2ed;
  background: #f5f7fa;
  color: #8998aa;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) .hero-kicker {
    min-height: 30px;
    margin-bottom: 10px;
    padding: 5px 9px;
    font-size: 13px;
  }

  #homeView:not(.is-hidden) .home-copy > span {
    margin-top: 4px;
    padding-right: 0;
    padding-left: 0;
  }
}

/* Freshness signal: a quiet, verifiable data-status badge. */
#homeView:not(.is-hidden) .hero-kicker {
  gap: 7px;
  min-height: 30px;
  margin-bottom: 11px;
  border: 1px solid #dce5ef !important;
  border-radius: 8px;
  background: transparent !important;
  padding: 5px 10px 5px 9px;
  color: #334e6d;
  font-size: 12px;
  line-height: 1;
  box-shadow: none !important;
  backdrop-filter: none;
}

#homeView:not(.is-hidden) .hero-kicker::before {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  background: #1768f2;
  box-shadow: 0 0 0 0 rgba(23, 104, 242, 0.24);
  animation: homeDataFreshnessPulse 2.4s ease-out infinite !important;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-text {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  animation: none !important;
  font-weight: 650;
  white-space: nowrap;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-date {
  color: #66768a !important;
  -webkit-text-fill-color: currentColor !important;
  font-variant-numeric: tabular-nums;
  font-weight: 660;
  letter-spacing: -0.01em;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-separator {
  width: 1px;
  height: 13px;
  flex: 0 0 1px;
  background: #d5deea;
  color: transparent !important;
  font-size: 0;
}

#homeView:not(.is-hidden) .hero-kicker .hero-kicker-status {
  display: inline-flex;
  align-items: center;
  color: #244f82 !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 720;
}

@keyframes homeDataFreshnessPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(0.94);
    box-shadow: 0 0 0 0 rgba(23, 104, 242, 0.24);
  }

  55% {
    opacity: 0.92;
    transform: scale(1);
    box-shadow: 0 0 0 5px rgba(23, 104, 242, 0);
  }
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) .hero-kicker {
    gap: 6px;
    min-height: 29px;
    margin-bottom: 9px;
    padding: 5px 8px;
    font-size: 11.5px;
  }

  #homeView:not(.is-hidden) .hero-kicker .hero-kicker-text {
    gap: 6px;
  }

  #homeView:not(.is-hidden) .hero-kicker .hero-kicker-separator {
    height: 12px;
  }

}

@media (prefers-reduced-motion: reduce) {
  #homeView:not(.is-hidden) .hero-kicker::before {
    animation: none !important;
  }
}

/* Match the explore budget field's empty and entered number states. */
#homeView:not(.is-hidden) #homeForm #homeBudgetInput {
  color: var(--hybrid-blue, #1463e6) !important;
  -webkit-text-fill-color: var(--hybrid-blue, #1463e6) !important;
  caret-color: var(--hybrid-blue, #1463e6);
  font-variant-numeric: tabular-nums;
}

#homeView:not(.is-hidden) #homeForm #homeBudgetInput::placeholder {
  color: rgba(20, 99, 230, 0.38) !important;
  -webkit-text-fill-color: rgba(20, 99, 230, 0.38) !important;
  opacity: 1 !important;
}

/* Home form: restrained glass that keeps property-search controls trustworthy. */
#homeView:not(.is-hidden) #homeForm.home-panel {
  border: 0;
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.86) 0%,
      rgba(248, 251, 255, 0.78) 52%,
      rgba(241, 247, 255, 0.74) 100%
    );
  -webkit-backdrop-filter: blur(16px) saturate(112%);
  backdrop-filter: blur(16px) saturate(112%);
  box-shadow:
    0 24px 58px rgba(32, 73, 132, 0.1),
    0 8px 20px rgba(40, 92, 164, 0.045),
    0 0 0 1px rgba(163, 191, 226, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

#homeView:not(.is-hidden) #homeForm .home-detail-toggle,
#homeView:not(.is-hidden) #homeForm .home-detail-toggle:hover,
#homeView:not(.is-hidden) #homeForm .home-detail-toggle:active,
#homeView:not(.is-hidden) #homeForm .home-detail-toggle:focus-visible,
#homeView:not(.is-hidden) #homeForm .home-detail-toggle[aria-expanded="true"] {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

@media (max-width: 720px) {
  #homeView:not(.is-hidden) #homeForm.home-panel {
    background:
      linear-gradient(
        150deg,
        rgba(255, 255, 255, 0.88) 0%,
        rgba(246, 250, 255, 0.8) 100%
      );
    -webkit-backdrop-filter: blur(14px) saturate(108%);
    backdrop-filter: blur(14px) saturate(108%);
    box-shadow:
      0 18px 42px rgba(32, 73, 132, 0.09),
      0 5px 14px rgba(40, 92, 164, 0.04),
      0 0 0 1px rgba(163, 191, 226, 0.15),
      inset 0 1px 0 rgba(255, 255, 255, 0.84);
  }
}

/* Home hero rhythm: the two outer gaps match and stay slightly wider. */
#homeView.home-view:not(.is-hidden) {
  --home-hero-outer-gap: 20px;
  --home-hero-inner-gap: 8px;
  row-gap: var(--home-hero-outer-gap) !important;
}

#homeView:not(.is-hidden) .hero-kicker {
  margin-bottom: var(--home-hero-outer-gap) !important;
}

#homeView:not(.is-hidden) .home-copy > span {
  margin-top: var(--home-hero-inner-gap) !important;
}

@media (max-width: 720px) {
  #homeView.home-view:not(.is-hidden) {
    --home-hero-outer-gap: 16px;
    --home-hero-inner-gap: 7px;
  }
}

/* Report-start home: keep the area picker in parity with Apartment Finder. */
#homeView:not(.is-hidden) #homeForm .home-advanced,
#homeView:not(.is-hidden) #homeForm .home-detail-fields {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

#homeView:not(.is-hidden) #homeForm .home-advanced {
  position: relative;
  z-index: 2;
}

#homeView:not(.is-hidden) #homeForm .home-detail-fields {
  position: relative;
  z-index: 1;
  pointer-events: auto;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group,
#homeView:not(.is-hidden) #homeForm .advanced-picker-button {
  pointer-events: auto !important;
}

#homeView:not(.is-hidden) #homeForm .advanced-picker-button {
  position: relative;
  z-index: 1;
  cursor: pointer;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group .choice-options {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;
  z-index: 160;
  max-height: min(360px, calc(100dvh - 24px));
  margin: 0;
  overflow: auto;
  transform: none !important;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="size"] .choice-options {
  width: min(236px, calc(100vw - 24px));
  min-width: min(236px, calc(100vw - 24px));
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="age"] .choice-options {
  left: 50% !important;
  width: min(176px, calc(100vw - 24px));
  min-width: min(176px, calc(100vw - 24px));
  transform: translateX(-50%) !important;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="households"] .choice-options {
  right: 0 !important;
  left: auto !important;
  width: min(196px, calc(100vw - 24px));
  min-width: min(196px, calc(100vw - 24px));
}

#homeView:not(.is-hidden) #homeForm .size-filter-label > small {
  background: #e5efff !important;
  color: #2f62a6 !important;
}

#homeView:not(.is-hidden) #homeForm .advanced-choice-group[data-home-filter="size"] .home-size-picker-popover {
  width: var(--home-advanced-popover-width, min(236px, calc(100vw - 24px)));
  max-width: calc(100vw - 24px);
  gap: 10px;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #ffffff;
  padding: 12px;
  overflow: auto;
  box-shadow: 0 18px 38px rgba(21, 38, 66, 0.16);
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .home-choice-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 0;
  border: 0;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .home-choice-head strong {
  color: #142033;
  font-size: 13px;
  font-weight: 780;
  line-height: 1.2;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .home-choice-head span {
  color: #7b8798;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .home-choice-list {
  gap: 6px;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .advanced-option,
#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .advanced-option.is-national-size {
  min-height: 32px;
  grid-template-columns: minmax(0, 1fr) auto;
  justify-content: stretch;
  border: 1px solid #dce5f0 !important;
  border-radius: 7px;
  background: #f8fafc !important;
  color: #334155;
  padding: 6px 8px !important;
  font-size: 12px;
  font-weight: 680;
  line-height: 1.15;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .advanced-option:hover,
#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .advanced-option.is-national-size:hover {
  border-color: #b9cbe2 !important;
  background: #f2f7fd !important;
  color: #334155;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .advanced-option.active,
#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .advanced-option.is-national-size.active {
  border-color: #2d72df !important;
  background: #edf5ff !important;
  color: #1258c8 !important;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .size-option-copy {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .size-option-area-main {
  flex: 0 0 auto;
  color: inherit;
  font-size: 12px;
  font-weight: 780;
  line-height: 1.1;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .size-option-badges {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .size-pyeong-badge,
#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .size-national-badge {
  min-height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 5px;
  padding: 0 5px;
  font-size: 9px;
  line-height: 1;
  white-space: nowrap;
  box-shadow: none !important;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .size-pyeong-badge {
  background: #e5efff !important;
  color: #2f62a6 !important;
  font-weight: 760;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .size-national-badge {
  background: #1262e3 !important;
  color: #ffffff !important;
  font-weight: 620;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .home-choice-actions {
  gap: 7px;
  padding: 0;
  border: 0;
}

#homeView:not(.is-hidden) #homeForm .home-size-picker-popover .home-choice-actions button {
  min-height: 32px;
  height: 32px;
  padding: 0 12px;
  font-size: 12px;
}
