﻿/* Homepage hot house ratio override: loaded last for the reference card proportions. */
.app-shell.is-home .home-house-panel {
  top: calc(596 * var(--home-u)) !important;
  height: calc(218 * var(--home-u)) !important;
  min-height: calc(218 * var(--home-u)) !important;
  max-height: calc(218 * var(--home-u)) !important;
  padding: calc(14 * var(--home-u)) calc(13 * var(--home-u)) calc(12 * var(--home-u)) !important;
  display: grid !important;
  grid-template-rows: calc(31 * var(--home-u)) minmax(0, 1fr) !important;
  row-gap: calc(2 * var(--home-u)) !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-house-panel h2 {
  margin: 0 !important;
  align-self: start !important;
  color: #302219 !important;
  font-family: var(--home-default-serif, serif) !important;
  font-size: calc(23 * var(--home-u)) !important;
  font-weight: 500 !important;
  line-height: calc(28 * var(--home-u)) !important;
  letter-spacing: calc(0.15 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-cards {
  height: calc(160 * var(--home-u)) !important;
  min-height: calc(160 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: calc(9 * var(--home-u)) !important;
  align-items: end !important;
}

.app-shell.is-home .home-house-card {
  height: calc(160 * var(--home-u)) !important;
  min-height: calc(160 * var(--home-u)) !important;
  max-height: calc(160 * var(--home-u)) !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: calc(73 * var(--home-u)) calc(87 * var(--home-u)) !important;
  justify-items: center !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.app-shell.is-home .home-house-plan {
  width: 100% !important;
  height: calc(73 * var(--home-u)) !important;
  min-height: calc(73 * var(--home-u)) !important;
  max-height: calc(73 * var(--home-u)) !important;
  padding: 0 calc(5 * var(--home-u)) calc(2 * var(--home-u)) !important;
  display: grid !important;
  place-items: end center !important;
  background: transparent !important;
}

.app-shell.is-home .home-house-plan img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 112% !important;
  max-height: calc(78 * var(--home-u)) !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: scale(1.08) !important;
}

.app-shell.is-home .home-house-info {
  width: 94% !important;
  height: calc(87 * var(--home-u)) !important;
  min-height: calc(87 * var(--home-u)) !important;
  max-height: calc(87 * var(--home-u)) !important;
  padding: calc(8.5 * var(--home-u)) calc(2 * var(--home-u)) calc(8 * var(--home-u)) !important;
  display: grid !important;
  justify-items: center !important;
  align-content: start !important;
  gap: calc(4.6 * var(--home-u)) !important;
  overflow: hidden !important;
  border-radius: calc(5 * var(--home-u)) !important;
  background: linear-gradient(180deg, #f7efe6 0%, #efe0cf 100%) !important;
  box-shadow: none !important;
  color: #33251d !important;
}

.app-shell.is-home .home-house-info strong {
  margin: 0 !important;
  color: #332219 !important;
  font-family: Georgia, "Times New Roman", "STSong", serif !important;
  font-size: calc(24 * var(--home-u)) !important;
  font-weight: 400 !important;
  line-height: calc(25 * var(--home-u)) !important;
  letter-spacing: calc(-0.55 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info sup {
  top: -0.48em !important;
  font-size: calc(7.8 * var(--home-u)) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.app-shell.is-home .home-house-info span,
.app-shell.is-home .home-house-info em {
  display: block !important;
  max-width: 100% !important;
  color: #3b2b21 !important;
  font-family: var(--home-default-sans, system-ui, sans-serif) !important;
  font-size: calc(6.7 * var(--home-u)) !important;
  font-weight: 700 !important;
  line-height: calc(8.6 * var(--home-u)) !important;
  letter-spacing: calc(-0.16 * var(--home-u)) !important;
  white-space: nowrap !important;
  transform: none !important;
}

.app-shell.is-home .home-house-info em {
  margin-top: calc(1 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-house-panel h2 {
    font-size: calc(21.5 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-info {
    width: 88% !important;
  }

  .app-shell.is-home .home-house-info strong {
    font-size: calc(22.5 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-info span,
  .app-shell.is-home .home-house-info em {
    font-size: calc(6.2 * var(--home-u)) !important;
  }
}

/* Homepage hero typography: title is dominant, the two copy lines stay secondary. */
.app-shell.is-home .home-title {
  gap: calc(19 * var(--home-u)) !important;
  margin-bottom: calc(10 * var(--home-u)) !important;
  font-family: var(--home-default-serif, serif) !important;
  font-size: calc(29 * var(--home-u)) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: calc(0.05 * var(--home-u)) !important;
}

.app-shell.is-home .home-title span {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

.app-shell.is-home .home-subtitle,
.app-shell.is-home .home-desc {
  font-family: var(--home-default-sans, system-ui, sans-serif) !important;
  font-weight: 650 !important;
  color: #3b3028 !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
  text-shadow: none !important;
}

.app-shell.is-home .home-subtitle {
  margin: 0 0 calc(4 * var(--home-u)) !important;
  font-size: calc(11.8 * var(--home-u)) !important;
  line-height: calc(15.2 * var(--home-u)) !important;
}

.app-shell.is-home .home-desc {
  margin: 0 !important;
  font-size: calc(10.8 * var(--home-u)) !important;
  line-height: calc(14.2 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-title {
    gap: calc(15 * var(--home-u)) !important;
    font-size: calc(27 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-subtitle {
    font-size: calc(11 * var(--home-u)) !important;
    line-height: calc(14.4 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-desc {
    font-size: calc(10 * var(--home-u)) !important;
    line-height: calc(13.4 * var(--home-u)) !important;
  }
}

/* Homepage card headings v189: keep the section titles in the same default sans style as the DIY subtitle. */
.app-shell.is-home .home-card-copy h2,
.app-shell.is-home .home-house-panel h2 {
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
  font-synthesis-weight: auto !important;
}


/* Homepage feature text v190: enlarge the six selling points to match the reference card rhythm. */
.app-shell.is-home .home-feature-row {
  top: calc(218 * var(--home-u)) !important;
  height: calc(104 * var(--home-u)) !important;
  min-height: calc(104 * var(--home-u)) !important;
  max-height: calc(104 * var(--home-u)) !important;
  padding: calc(15 * var(--home-u)) calc(15 * var(--home-u)) !important;
  column-gap: calc(12 * var(--home-u)) !important;
  row-gap: calc(12 * var(--home-u)) !important;
  align-items: center !important;
}

.app-shell.is-home .home-feature {
  grid-template-columns: calc(26 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(6 * var(--home-u)) !important;
  align-items: center !important;
}

.app-shell.is-home .home-feature .home-icon-slot {
  width: calc(26 * var(--home-u)) !important;
  height: calc(26 * var(--home-u)) !important;
  min-width: calc(26 * var(--home-u)) !important;
  min-height: calc(26 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature p {
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  min-height: calc(25 * var(--home-u)) !important;
  margin: 0 !important;
}

.app-shell.is-home .home-feature strong,
.app-shell.is-home .home-feature:nth-child(2) strong,
.app-shell.is-home .home-feature:nth-child(3) strong,
.app-shell.is-home .home-feature:nth-child(4) strong {
  width: 100% !important;
  color: #30241c !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: calc(9.6 * var(--home-u)) !important;
  font-weight: 760 !important;
  line-height: calc(11.6 * var(--home-u)) !important;
  letter-spacing: calc(-0.22 * var(--home-u)) !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-feature p span {
  width: 100% !important;
  margin-top: calc(2 * var(--home-u)) !important;
  color: rgba(60, 48, 39, 0.66) !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: calc(7.35 * var(--home-u)) !important;
  font-weight: 600 !important;
  line-height: calc(9.2 * var(--home-u)) !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-feature-row {
    top: calc(219 * var(--home-u)) !important;
    left: calc(18 * var(--home-u)) !important;
    right: calc(18 * var(--home-u)) !important;
    height: calc(104 * var(--home-u)) !important;
    min-height: calc(104 * var(--home-u)) !important;
    max-height: calc(104 * var(--home-u)) !important;
    padding: calc(14 * var(--home-u)) calc(12 * var(--home-u)) !important;
    column-gap: calc(9 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature {
    grid-template-columns: calc(24 * var(--home-u)) minmax(0, 1fr) !important;
    column-gap: calc(5 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature .home-icon-slot {
    width: calc(24 * var(--home-u)) !important;
    height: calc(24 * var(--home-u)) !important;
    min-width: calc(24 * var(--home-u)) !important;
    min-height: calc(24 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature strong,
  .app-shell.is-home .home-feature:nth-child(2) strong,
  .app-shell.is-home .home-feature:nth-child(3) strong,
  .app-shell.is-home .home-feature:nth-child(4) strong {
    font-size: calc(8.8 * var(--home-u)) !important;
    line-height: calc(10.8 * var(--home-u)) !important;
    letter-spacing: calc(-0.36 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature p span {
    font-size: calc(6.75 * var(--home-u)) !important;
    line-height: calc(8.55 * var(--home-u)) !important;
  }
}

/* Homepage type/icon balance v191: final reference tuning for hero title, value list and card text. */
.app-shell.is-home .home-title,
.app-shell.is-home .home-title span {
  font-weight: 850 !important;
}

.app-shell.is-home .home-feature-row {
  top: calc(216 * var(--home-u)) !important;
  height: calc(110 * var(--home-u)) !important;
  min-height: calc(110 * var(--home-u)) !important;
  max-height: calc(110 * var(--home-u)) !important;
  padding: calc(16 * var(--home-u)) calc(17 * var(--home-u)) !important;
  row-gap: calc(12 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature {
  grid-template-columns: calc(28 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(6.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature .home-icon-slot {
  width: calc(28 * var(--home-u)) !important;
  height: calc(28 * var(--home-u)) !important;
  min-width: calc(28 * var(--home-u)) !important;
  min-height: calc(28 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature strong,
.app-shell.is-home .home-feature:nth-child(2) strong,
.app-shell.is-home .home-feature:nth-child(3) strong,
.app-shell.is-home .home-feature:nth-child(4) strong {
  font-size: calc(10.25 * var(--home-u)) !important;
  font-weight: 760 !important;
  line-height: calc(12.2 * var(--home-u)) !important;
  letter-spacing: calc(-0.32 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature p span {
  margin-top: calc(2.2 * var(--home-u)) !important;
  font-size: calc(7.75 * var(--home-u)) !important;
  font-weight: 560 !important;
  line-height: calc(9.55 * var(--home-u)) !important;
}

.app-shell.is-home .home-service-row {
  gap: calc(12 * var(--home-u)) calc(10 * var(--home-u)) !important;
}

.app-shell.is-home .home-service-row > div {
  gap: calc(4.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-mini-icon {
  width: calc(32 * var(--home-u)) !important;
  height: calc(32 * var(--home-u)) !important;
  min-width: calc(32 * var(--home-u)) !important;
  min-height: calc(32 * var(--home-u)) !important;
  margin-bottom: calc(2 * var(--home-u)) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 4.5 41 14.25v19.5L24 43.5 7 33.75v-19.5Z' fill='none' stroke='%23CDA56F' stroke-width='2.05' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  box-shadow: none !important;
  color: #cda56f !important;
}

.app-shell.is-home .home-mini-icon::before,
.app-shell.is-home .home-mini-icon::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-mini-icon svg {
  width: 48% !important;
  height: 48% !important;
  transform: none !important;
}

.app-shell.is-home .home-service-row strong {
  font-size: calc(9.6 * var(--home-u)) !important;
  font-weight: 700 !important;
  line-height: calc(11.4 * var(--home-u)) !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
}

.app-shell.is-home .home-service-row em {
  display: block !important;
  font-size: calc(7 * var(--home-u)) !important;
  font-weight: 500 !important;
  line-height: calc(8.5 * var(--home-u)) !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel h2 {
  font-size: calc(20.5 * var(--home-u)) !important;
  font-weight: 700 !important;
  line-height: calc(24 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong {
  font-size: calc(22.2 * var(--home-u)) !important;
  line-height: calc(23.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info span,
.app-shell.is-home .home-house-info em {
  font-size: calc(6.15 * var(--home-u)) !important;
  line-height: calc(8.1 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-feature-row {
    top: calc(217 * var(--home-u)) !important;
    height: calc(110 * var(--home-u)) !important;
    min-height: calc(110 * var(--home-u)) !important;
    max-height: calc(110 * var(--home-u)) !important;
    padding: calc(15 * var(--home-u)) calc(13 * var(--home-u)) !important;
    column-gap: calc(8 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature {
    grid-template-columns: calc(26 * var(--home-u)) minmax(0, 1fr) !important;
    column-gap: calc(5 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature .home-icon-slot {
    width: calc(26 * var(--home-u)) !important;
    height: calc(26 * var(--home-u)) !important;
    min-width: calc(26 * var(--home-u)) !important;
    min-height: calc(26 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature strong,
  .app-shell.is-home .home-feature:nth-child(2) strong,
  .app-shell.is-home .home-feature:nth-child(3) strong,
  .app-shell.is-home .home-feature:nth-child(4) strong {
    font-size: calc(9.45 * var(--home-u)) !important;
    line-height: calc(11.4 * var(--home-u)) !important;
    letter-spacing: calc(-0.4 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature p span {
    font-size: calc(7.25 * var(--home-u)) !important;
    line-height: calc(9 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-mini-icon {
    width: calc(29 * var(--home-u)) !important;
    height: calc(29 * var(--home-u)) !important;
    min-width: calc(29 * var(--home-u)) !important;
    min-height: calc(29 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-service-row strong {
    font-size: calc(8.9 * var(--home-u)) !important;
    line-height: calc(10.6 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-service-row em {
    font-size: calc(6.45 * var(--home-u)) !important;
    line-height: calc(8 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-panel h2 {
    font-size: calc(19.4 * var(--home-u)) !important;
    line-height: calc(23 * var(--home-u)) !important;
  }
}

/* Homepage feature long copy v192: keep the metro/business/school item inside its own cell. */
.app-shell.is-home .home-feature:nth-child(4) {
  overflow: hidden !important;
}

.app-shell.is-home .home-feature:nth-child(4) p {
  min-width: 0 !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-feature:nth-child(4) strong {
  max-width: 100% !important;
  font-size: calc(8.85 * var(--home-u)) !important;
  line-height: calc(10.6 * var(--home-u)) !important;
  letter-spacing: calc(-0.5 * var(--home-u)) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: keep-all !important;
}

.app-shell.is-home .home-feature:nth-child(4) p span {
  font-size: calc(7.15 * var(--home-u)) !important;
  line-height: calc(8.8 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-feature:nth-child(4) strong {
    font-size: calc(8.15 * var(--home-u)) !important;
    line-height: calc(9.9 * var(--home-u)) !important;
    letter-spacing: calc(-0.55 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature:nth-child(4) p span {
    font-size: calc(6.75 * var(--home-u)) !important;
    line-height: calc(8.3 * var(--home-u)) !important;
  }
}

/* Homepage feature frame v194: keep the value card nearly flush with the hero image edges. */
.app-shell.is-home .home-feature-row {
  left: calc(3 * var(--home-u)) !important;
  right: calc(3 * var(--home-u)) !important;
  width: auto !important;
  padding-left: calc(11 * var(--home-u)) !important;
  padding-right: calc(11 * var(--home-u)) !important;
  column-gap: calc(9 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-feature-row {
    left: calc(3 * var(--home-u)) !important;
    right: calc(3 * var(--home-u)) !important;
    width: auto !important;
    padding-left: calc(8 * var(--home-u)) !important;
    padding-right: calc(8 * var(--home-u)) !important;
    column-gap: calc(5 * var(--home-u)) !important;
  }
}

/* Homepage lower card width v200: match the top frame and remove old center offset. */
.app-shell.is-home .home-selection-card,
.app-shell.is-home .home-house-panel {
  left: calc(3 * var(--home-u)) !important;
  right: calc(3 * var(--home-u)) !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  transform: none !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card,
  .app-shell.is-home .home-house-panel {
    left: calc(3 * var(--home-u)) !important;
    right: calc(3 * var(--home-u)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    transform: none !important;
  }
}

/* Homepage house type text v199: use default fonts and restore reference proportions. */
.app-shell.is-home .home-house-panel h2,
.app-shell.is-home .home-house-info strong,
.app-shell.is-home .home-house-info strong sup,
.app-shell.is-home .home-house-info span,
.app-shell.is-home .home-house-info em {
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

.app-shell.is-home .home-house-panel h2 {
  font-size: calc(20 * var(--home-u)) !important;
  font-weight: 650 !important;
  line-height: calc(24 * var(--home-u)) !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info {
  width: 94% !important;
  padding-top: calc(8.5 * var(--home-u)) !important;
  gap: calc(4.6 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong {
  font-size: calc(28.4 * var(--home-u)) !important;
  font-weight: 450 !important;
  line-height: calc(29 * var(--home-u)) !important;
  letter-spacing: calc(-1 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong sup {
  top: -0.46em !important;
  font-size: calc(8.8 * var(--home-u)) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: calc(-0.2 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info span,
.app-shell.is-home .home-house-info em {
  font-size: calc(7.85 * var(--home-u)) !important;
  font-weight: 700 !important;
  line-height: calc(9.7 * var(--home-u)) !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-house-panel h2 {
    font-size: calc(19.2 * var(--home-u)) !important;
    line-height: calc(23 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-info strong {
    font-size: calc(27.6 * var(--home-u)) !important;
    line-height: calc(28.2 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-info span,
  .app-shell.is-home .home-house-info em {
    font-size: calc(7.45 * var(--home-u)) !important;
    line-height: calc(9.35 * var(--home-u)) !important;
  }
}

/* Homepage contact strip v203: align the address card with the main cards and keep copy readable. */
.app-shell.is-home {
  --home-canvas-h: calc(906 * var(--home-u)) !important;
}

.app-shell.is-home .home-screen {
  height: calc(906 * var(--home-u)) !important;
  min-height: calc(906 * var(--home-u)) !important;
  max-height: none !important;
  overflow: visible !important;
}

.app-shell.is-home .home-contact-strip {
  top: calc(824 * var(--home-u)) !important;
  left: calc(3 * var(--home-u)) !important;
  right: calc(3 * var(--home-u)) !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: calc(64 * var(--home-u)) !important;
  min-height: calc(64 * var(--home-u)) !important;
  max-height: calc(64 * var(--home-u)) !important;
  padding: calc(10 * var(--home-u)) calc(18 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 1fr 1fr !important;
  align-items: center !important;
  gap: calc(4 * var(--home-u)) !important;
  box-sizing: border-box !important;
  transform: none !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-contact-strip p {
  min-width: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: calc(8 * var(--home-u)) !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-contact-phone {
  justify-self: end !important;
}

.app-shell.is-home .home-contact-icon,
.app-shell.is-home .home-phone-icon {
  width: calc(24 * var(--home-u)) !important;
  height: calc(24 * var(--home-u)) !important;
  min-width: calc(24 * var(--home-u)) !important;
  color: #cda56f !important;
}

.app-shell.is-home .home-contact-icon svg,
.app-shell.is-home .home-phone-icon svg {
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
}

.app-shell.is-home .home-contact-strip strong {
  min-width: 0 !important;
  display: block !important;
  color: #3b2c22 !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-weight: 750 !important;
  line-height: 1.12 !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-contact-address strong {
  font-size: calc(12.2 * var(--home-u)) !important;
  letter-spacing: calc(-0.25 * var(--home-u)) !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.app-shell.is-home .home-contact-phone strong {
  font-size: calc(18.5 * var(--home-u)) !important;
  font-weight: 500 !important;
  letter-spacing: calc(0.1 * var(--home-u)) !important;
  font-variant-numeric: tabular-nums !important;
}

.app-shell.is-home .home-footnote {
  display: none !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-contact-strip {
    left: calc(3 * var(--home-u)) !important;
    right: calc(3 * var(--home-u)) !important;
    height: calc(62 * var(--home-u)) !important;
    min-height: calc(62 * var(--home-u)) !important;
    max-height: calc(62 * var(--home-u)) !important;
    padding: calc(9 * var(--home-u)) calc(14 * var(--home-u)) !important;
    gap: calc(3 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-contact-icon,
  .app-shell.is-home .home-phone-icon {
    width: calc(22 * var(--home-u)) !important;
    height: calc(22 * var(--home-u)) !important;
    min-width: calc(22 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-contact-address strong {
    font-size: calc(11.2 * var(--home-u)) !important;
    letter-spacing: calc(-0.35 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-contact-phone strong {
    font-size: calc(16.6 * var(--home-u)) !important;
  }
}


.app-shell:not(.is-home) .cards-scroll {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  grid-template-rows: calc(var(--mini-u) * 25) minmax(0, 1fr) !important;
  column-gap: calc(var(--mini-u) * 3) !important;
  row-gap: calc(var(--mini-u) * 8) !important;
  overflow: hidden !important;
  align-content: stretch !important;
  align-items: stretch !important;
}

.app-shell:not(.is-home) .point-card,
.app-shell:not(.is-home) .cards-scroll .point-card {
  grid-row: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  padding: 0 calc(var(--mini-u) * 0.7) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .point-card-header {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  display: block !important;
}

.app-shell:not(.is-home) .point-card h3 {
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 calc(var(--mini-u) * 0.5) 0 calc(var(--mini-u) * 9.5) !important;
  display: grid !important;
  place-items: center !important;
  color: inherit !important;
  font-size: calc(var(--mini-u) * 6.75) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: calc(var(--mini-u) * -0.12) !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  position: absolute !important;
  left: calc(var(--mini-u) * 0.7) !important;
  top: 50% !important;
  width: calc(var(--mini-u) * 7.8) !important;
  height: calc(var(--mini-u) * 7.8) !important;
  min-width: calc(var(--mini-u) * 7.8) !important;
  min-height: calc(var(--mini-u) * 7.8) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: calc(var(--mini-u) * 5.2) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: translateY(-50%) !important;
}

.app-shell:not(.is-home) .mobile-active-styles,
.app-shell:not(.is-home) .desktop-active-styles {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 calc(var(--mini-u) * 4) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .mobile-style-list {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(var(--active-style-count, 3), minmax(0, 1fr)) !important;
  gap: calc(var(--mini-u) * 10) !important;
}

/* Homepage alignment pass v207: keep value text aligned, enlarge selection icons, and separate plan images from labels. */
.app-shell.is-home .home-feature-row {
  top: calc(216 * var(--home-u)) !important;
  left: calc(3 * var(--home-u)) !important;
  right: calc(3 * var(--home-u)) !important;
  width: auto !important;
  height: calc(112 * var(--home-u)) !important;
  min-height: calc(112 * var(--home-u)) !important;
  max-height: calc(112 * var(--home-u)) !important;
  padding: calc(15 * var(--home-u)) calc(13 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  column-gap: calc(7 * var(--home-u)) !important;
  row-gap: calc(14 * var(--home-u)) !important;
  align-items: center !important;
  align-content: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-feature {
  min-width: 0 !important;
  height: calc(34 * var(--home-u)) !important;
  min-height: calc(34 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: calc(28 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(6 * var(--home-u)) !important;
  align-items: center !important;
  justify-items: start !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-feature .home-icon-slot {
  align-self: center !important;
  width: calc(28 * var(--home-u)) !important;
  height: calc(28 * var(--home-u)) !important;
  min-width: calc(28 * var(--home-u)) !important;
  min-height: calc(28 * var(--home-u)) !important;
  margin: 0 !important;
}

.app-shell.is-home .home-feature .home-icon-slot svg {
  width: 68% !important;
  height: 68% !important;
}

.app-shell.is-home .home-feature p {
  min-width: 0 !important;
  height: calc(30 * var(--home-u)) !important;
  min-height: calc(30 * var(--home-u)) !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, auto) minmax(0, auto) !important;
  align-content: center !important;
  justify-items: start !important;
  text-align: left !important;
  overflow: visible !important;
}

.app-shell.is-home .home-feature strong,
.app-shell.is-home .home-feature:nth-child(2) strong,
.app-shell.is-home .home-feature:nth-child(3) strong,
.app-shell.is-home .home-feature:nth-child(4) strong {
  max-width: 100% !important;
  color: #2f241c !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: calc(10.15 * var(--home-u)) !important;
  font-weight: 780 !important;
  line-height: calc(12 * var(--home-u)) !important;
  letter-spacing: calc(-0.34 * var(--home-u)) !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.app-shell.is-home .home-feature:nth-child(4) strong {
  font-size: calc(8.85 * var(--home-u)) !important;
  letter-spacing: calc(-0.72 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature p span {
  max-width: 100% !important;
  margin-top: calc(2 * var(--home-u)) !important;
  color: rgba(65, 52, 42, 0.66) !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: calc(7.85 * var(--home-u)) !important;
  font-weight: 560 !important;
  line-height: calc(9.4 * var(--home-u)) !important;
  letter-spacing: calc(-0.14 * var(--home-u)) !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

.app-shell.is-home .home-service-row {
  gap: calc(10 * var(--home-u)) calc(10 * var(--home-u)) !important;
  align-items: center !important;
}

.app-shell.is-home .home-service-row > div {
  min-width: 0 !important;
  gap: calc(4 * var(--home-u)) !important;
}

.app-shell.is-home .home-mini-icon {
  width: calc(36 * var(--home-u)) !important;
  height: calc(36 * var(--home-u)) !important;
  min-width: calc(36 * var(--home-u)) !important;
  min-height: calc(36 * var(--home-u)) !important;
  margin: 0 0 calc(2 * var(--home-u)) !important;
}

.app-shell.is-home .home-mini-icon svg {
  width: 66% !important;
  height: 66% !important;
  transform: none !important;
}

.app-shell.is-home .home-service-row strong {
  font-size: calc(9.9 * var(--home-u)) !important;
  line-height: calc(11.4 * var(--home-u)) !important;
}

.app-shell.is-home .home-service-row em {
  font-size: calc(7 * var(--home-u)) !important;
  line-height: calc(8.4 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel {
  top: calc(588 * var(--home-u)) !important;
  height: calc(232 * var(--home-u)) !important;
  min-height: calc(232 * var(--home-u)) !important;
  max-height: calc(232 * var(--home-u)) !important;
  padding: calc(14 * var(--home-u)) calc(13 * var(--home-u)) calc(12 * var(--home-u)) !important;
  display: grid !important;
  grid-template-rows: calc(30 * var(--home-u)) minmax(0, 1fr) !important;
  row-gap: calc(5 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel h2 {
  margin: 0 !important;
  align-self: start !important;
  font-size: calc(20 * var(--home-u)) !important;
  line-height: calc(24 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-cards {
  height: calc(171 * var(--home-u)) !important;
  min-height: calc(171 * var(--home-u)) !important;
  max-height: calc(171 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: calc(12 * var(--home-u)) !important;
  align-items: start !important;
}

.app-shell.is-home .home-house-card {
  height: calc(171 * var(--home-u)) !important;
  min-height: calc(171 * var(--home-u)) !important;
  max-height: calc(171 * var(--home-u)) !important;
  display: grid !important;
  grid-template-rows: calc(75 * var(--home-u)) calc(88 * var(--home-u)) !important;
  row-gap: calc(8 * var(--home-u)) !important;
  justify-items: center !important;
  align-items: start !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-plan {
  width: 100% !important;
  height: calc(75 * var(--home-u)) !important;
  min-height: calc(75 * var(--home-u)) !important;
  max-height: calc(75 * var(--home-u)) !important;
  padding: 0 calc(4 * var(--home-u)) !important;
  display: grid !important;
  place-items: end center !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-plan img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 102% !important;
  max-height: calc(72 * var(--home-u)) !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: none !important;
}

.app-shell.is-home .home-house-info {
  width: 92% !important;
  height: calc(88 * var(--home-u)) !important;
  min-height: calc(88 * var(--home-u)) !important;
  max-height: calc(88 * var(--home-u)) !important;
  padding: calc(9 * var(--home-u)) calc(3 * var(--home-u)) calc(8 * var(--home-u)) !important;
  display: grid !important;
  justify-items: center !important;
  align-content: start !important;
  gap: calc(4.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong {
  font-size: calc(27 * var(--home-u)) !important;
  line-height: calc(28 * var(--home-u)) !important;
  letter-spacing: calc(-0.8 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong sup {
  font-size: calc(8.2 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info span,
.app-shell.is-home .home-house-info em {
  font-size: calc(7.35 * var(--home-u)) !important;
  line-height: calc(9.15 * var(--home-u)) !important;
  letter-spacing: calc(-0.2 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-feature-row {
    height: calc(112 * var(--home-u)) !important;
    padding: calc(14 * var(--home-u)) calc(10 * var(--home-u)) !important;
    column-gap: calc(5 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature {
    grid-template-columns: calc(26 * var(--home-u)) minmax(0, 1fr) !important;
    column-gap: calc(5 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature .home-icon-slot {
    width: calc(26 * var(--home-u)) !important;
    height: calc(26 * var(--home-u)) !important;
    min-width: calc(26 * var(--home-u)) !important;
    min-height: calc(26 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature strong,
  .app-shell.is-home .home-feature:nth-child(2) strong,
  .app-shell.is-home .home-feature:nth-child(3) strong,
  .app-shell.is-home .home-feature:nth-child(4) strong {
    font-size: calc(9.2 * var(--home-u)) !important;
    line-height: calc(11.1 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature:nth-child(4) strong {
    font-size: calc(8.15 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-feature p span {
    font-size: calc(7.05 * var(--home-u)) !important;
    line-height: calc(8.6 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-mini-icon {
    width: calc(33 * var(--home-u)) !important;
    height: calc(33 * var(--home-u)) !important;
    min-width: calc(33 * var(--home-u)) !important;
    min-height: calc(33 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-service-row strong {
    font-size: calc(9.1 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-panel {
    top: calc(590 * var(--home-u)) !important;
    height: calc(230 * var(--home-u)) !important;
    min-height: calc(230 * var(--home-u)) !important;
    max-height: calc(230 * var(--home-u)) !important;
  }
}

/* Homepage final priority pass v208: override older high-specificity icon and house-card rules. */
.app-shell.is-home .home-feature p {
  width: 100% !important;
  justify-self: stretch !important;
  justify-items: start !important;
  text-align: left !important;
}

.app-shell.is-home .home-feature > p,
.app-shell.is-home .home-feature:nth-child(1) > p,
.app-shell.is-home .home-feature:nth-child(2) > p,
.app-shell.is-home .home-feature:nth-child(3) > p,
.app-shell.is-home .home-feature:nth-child(4) > p,
.app-shell.is-home .home-feature:nth-child(5) > p,
.app-shell.is-home .home-feature:nth-child(6) > p {
  width: 100% !important;
  justify-self: stretch !important;
  justify-items: stretch !important;
  text-align: left !important;
}

.app-shell.is-home .home-feature strong,
.app-shell.is-home .home-feature p span,
.app-shell.is-home .home-feature > p > strong,
.app-shell.is-home .home-feature > p > span,
.app-shell.is-home .home-feature:nth-child(1) > p > strong,
.app-shell.is-home .home-feature:nth-child(1) > p > span,
.app-shell.is-home .home-feature:nth-child(2) > p > strong,
.app-shell.is-home .home-feature:nth-child(2) > p > span,
.app-shell.is-home .home-feature:nth-child(3) > p > strong,
.app-shell.is-home .home-feature:nth-child(3) > p > span,
.app-shell.is-home .home-feature:nth-child(4) > p > strong,
.app-shell.is-home .home-feature:nth-child(4) > p > span,
.app-shell.is-home .home-feature:nth-child(5) > p > strong,
.app-shell.is-home .home-feature:nth-child(5) > p > span,
.app-shell.is-home .home-feature:nth-child(6) > p > strong,
.app-shell.is-home .home-feature:nth-child(6) > p > span {
  width: 100% !important;
  display: block !important;
  justify-self: stretch !important;
  text-align: left !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon,
.app-shell.is-home .home-service-row > div .home-mini-icon,
.app-shell.is-home .home-service-row .home-mini-icon {
  width: calc(37 * var(--home-u)) !important;
  height: calc(37 * var(--home-u)) !important;
  min-width: calc(37 * var(--home-u)) !important;
  min-height: calc(37 * var(--home-u)) !important;
  margin: 0 0 calc(3 * var(--home-u)) !important;
  color: #cda56f !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon svg,
.app-shell.is-home .home-service-row > div .home-mini-icon svg,
.app-shell.is-home .home-service-row .home-mini-icon svg {
  width: 68% !important;
  height: 68% !important;
  transform: none !important;
}

.app-shell.is-home .home-service-row > div {
  align-content: center !important;
  min-height: calc(55 * var(--home-u)) !important;
  display: grid !important;
  grid-template-rows: calc(31 * var(--home-u)) calc(10 * var(--home-u)) calc(8 * var(--home-u)) !important;
  row-gap: calc(3 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-cards {
  height: calc(176 * var(--home-u)) !important;
  min-height: calc(176 * var(--home-u)) !important;
  max-height: calc(176 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card {
  height: calc(176 * var(--home-u)) !important;
  min-height: calc(176 * var(--home-u)) !important;
  max-height: calc(176 * var(--home-u)) !important;
  grid-template-rows: calc(72 * var(--home-u)) calc(88 * var(--home-u)) !important;
  row-gap: calc(12 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan {
  height: calc(72 * var(--home-u)) !important;
  min-height: calc(72 * var(--home-u)) !important;
  max-height: calc(72 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan img {
  max-height: calc(68 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card .home-service-row .home-mini-icon,
  .app-shell.is-home .home-service-row > div .home-mini-icon,
  .app-shell.is-home .home-service-row .home-mini-icon {
    width: calc(34 * var(--home-u)) !important;
    height: calc(34 * var(--home-u)) !important;
    min-width: calc(34 * var(--home-u)) !important;
    min-height: calc(34 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-card {
    grid-template-rows: calc(70 * var(--home-u)) calc(88 * var(--home-u)) !important;
    row-gap: calc(12 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-plan {
    height: calc(70 * var(--home-u)) !important;
    min-height: calc(70 * var(--home-u)) !important;
    max-height: calc(70 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-plan img {
    max-height: calc(66 * var(--home-u)) !important;
  }
}

/* Homepage comment polish v211: left-align value/contact copy, enlarge service icons, and separate house card layers. */
.app-shell.is-home .home-feature-row {
  justify-items: stretch !important;
}

.app-shell.is-home .home-feature,
.app-shell.is-home .home-feature > p,
.app-shell.is-home .home-feature > p > strong,
.app-shell.is-home .home-feature > p > span {
  justify-self: stretch !important;
  justify-items: start !important;
  justify-content: start !important;
  text-align: left !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon,
.app-shell.is-home .home-service-row > div .home-mini-icon,
.app-shell.is-home .home-service-row .home-mini-icon {
  width: calc(42 * var(--home-u)) !important;
  height: calc(42 * var(--home-u)) !important;
  min-width: calc(42 * var(--home-u)) !important;
  min-height: calc(42 * var(--home-u)) !important;
  margin: 0 auto calc(2 * var(--home-u)) !important;
  color: #cda56f !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon svg,
.app-shell.is-home .home-service-row > div .home-mini-icon svg,
.app-shell.is-home .home-service-row .home-mini-icon svg {
  width: 76% !important;
  height: 76% !important;
  stroke-width: 2.25 !important;
}

.app-shell.is-home .home-service-row > div {
  min-height: calc(64 * var(--home-u)) !important;
  grid-template-rows: calc(39 * var(--home-u)) calc(11 * var(--home-u)) calc(8 * var(--home-u)) !important;
  row-gap: calc(3 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel {
  background: linear-gradient(180deg, rgba(255, 254, 251, 0.98) 0%, rgba(253, 248, 241, 0.98) 100%) !important;
}

.app-shell.is-home .home-house-plan {
  border-radius: calc(10 * var(--home-u)) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(246, 249, 249, 0.42) 100%) !important;
}

.app-shell.is-home .home-house-card[data-house-type] .home-house-plan {
  background-color: rgba(255, 255, 255, 0.9) !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(246, 249, 249, 0.58) 100%) !important;
}

.app-shell.is-home .home-house-info {
  border-radius: calc(7 * var(--home-u)) !important;
  background: linear-gradient(180deg, #f8f1e8 0%, #efe1ce 100%) !important;
  box-shadow: inset 0 calc(1 * var(--home-u)) 0 rgba(255, 255, 255, 0.72) !important;
}

.app-shell.is-home .home-contact-strip {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  justify-items: stretch !important;
  align-items: center !important;
  gap: calc(3 * var(--home-u)) !important;
  padding: calc(9 * var(--home-u)) calc(18 * var(--home-u)) !important;
}

.app-shell.is-home .home-contact-strip p,
.app-shell.is-home .home-contact-address,
.app-shell.is-home .home-contact-phone {
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  display: grid !important;
  grid-template-columns: calc(25 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(8 * var(--home-u)) !important;
  align-items: center !important;
  justify-items: start !important;
  justify-content: start !important;
  text-align: left !important;
}

.app-shell.is-home .home-contact-strip strong,
.app-shell.is-home .home-contact-address strong,
.app-shell.is-home .home-contact-phone strong {
  justify-self: start !important;
  text-align: left !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card .home-service-row .home-mini-icon,
  .app-shell.is-home .home-service-row > div .home-mini-icon,
  .app-shell.is-home .home-service-row .home-mini-icon {
    width: calc(38 * var(--home-u)) !important;
    height: calc(38 * var(--home-u)) !important;
    min-width: calc(38 * var(--home-u)) !important;
    min-height: calc(38 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-service-row > div {
    min-height: calc(60 * var(--home-u)) !important;
    grid-template-rows: calc(36 * var(--home-u)) calc(10 * var(--home-u)) calc(8 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-contact-strip {
    padding: calc(8 * var(--home-u)) calc(14 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-contact-strip p,
  .app-shell.is-home .home-contact-address,
  .app-shell.is-home .home-contact-phone {
    grid-template-columns: calc(23 * var(--home-u)) minmax(0, 1fr) !important;
    column-gap: calc(7 * var(--home-u)) !important;
  }
}

/* Homepage house-card reference polish v213: quieter title scale, joined plan/info cards, equal contact rows. */
.app-shell.is-home .home-card-copy h2,
.app-shell.is-home .home-house-panel h2 {
  font-size: calc(17.6 * var(--home-u)) !important;
  font-weight: 720 !important;
  line-height: calc(20.5 * var(--home-u)) !important;
  letter-spacing: calc(-0.22 * var(--home-u)) !important;
}

.app-shell.is-home .home-card-copy p {
  font-size: calc(10.7 * var(--home-u)) !important;
  line-height: calc(13 * var(--home-u)) !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel {
  background: rgba(248, 248, 246, 0.98) !important;
  border-color: rgba(222, 218, 210, 0.72) !important;
}

.app-shell.is-home .home-house-cards {
  column-gap: calc(9 * var(--home-u)) !important;
  align-items: start !important;
}

.app-shell.is-home .home-house-card {
  grid-template-rows: calc(82 * var(--home-u)) calc(82 * var(--home-u)) !important;
  row-gap: 0 !important;
  height: calc(164 * var(--home-u)) !important;
  min-height: calc(164 * var(--home-u)) !important;
  max-height: calc(164 * var(--home-u)) !important;
  overflow: hidden !important;
  border-radius: calc(7.5 * var(--home-u)) !important;
  background: #f6f4ef !important;
}

.app-shell.is-home .home-house-plan {
  height: calc(82 * var(--home-u)) !important;
  min-height: calc(82 * var(--home-u)) !important;
  max-height: calc(82 * var(--home-u)) !important;
  padding: calc(5 * var(--home-u)) calc(5 * var(--home-u)) 0 !important;
  overflow: hidden !important;
  border-radius: calc(7.5 * var(--home-u)) calc(7.5 * var(--home-u)) 0 0 !important;
  background: #faf9f6 !important;
}

.app-shell.is-home .home-house-card[data-house-type] .home-house-plan {
  background-color: #faf9f6 !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan img {
  max-width: 110% !important;
  max-height: calc(78 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info {
  width: 100% !important;
  height: calc(82 * var(--home-u)) !important;
  min-height: calc(82 * var(--home-u)) !important;
  max-height: calc(82 * var(--home-u)) !important;
  margin: 0 !important;
  padding: calc(10 * var(--home-u)) calc(3 * var(--home-u)) calc(8 * var(--home-u)) !important;
  gap: calc(4 * var(--home-u)) !important;
  border-radius: 0 0 calc(7.5 * var(--home-u)) calc(7.5 * var(--home-u)) !important;
  background: #efe4d6 !important;
  box-shadow: none !important;
}

.app-shell.is-home .home-house-info strong {
  font-size: calc(24 * var(--home-u)) !important;
  font-weight: 430 !important;
  line-height: calc(25 * var(--home-u)) !important;
  letter-spacing: calc(-0.72 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong sup {
  top: -0.46em !important;
  font-size: calc(7.4 * var(--home-u)) !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info span,
.app-shell.is-home .home-house-info em {
  font-size: calc(7.1 * var(--home-u)) !important;
  font-weight: 720 !important;
  line-height: calc(9 * var(--home-u)) !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
}

.app-shell.is-home .home-contact-strip {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, calc(22 * var(--home-u))) !important;
  align-content: center !important;
  row-gap: calc(3 * var(--home-u)) !important;
}

.app-shell.is-home .home-contact-strip p,
.app-shell.is-home .home-contact-address,
.app-shell.is-home .home-contact-phone {
  height: calc(22 * var(--home-u)) !important;
  min-height: calc(22 * var(--home-u)) !important;
  max-height: calc(22 * var(--home-u)) !important;
  grid-template-columns: calc(22 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(8 * var(--home-u)) !important;
}

.app-shell.is-home .home-contact-icon,
.app-shell.is-home .home-phone-icon {
  width: calc(22 * var(--home-u)) !important;
  height: calc(22 * var(--home-u)) !important;
  min-width: calc(22 * var(--home-u)) !important;
  min-height: calc(22 * var(--home-u)) !important;
}

.app-shell.is-home .home-contact-address strong,
.app-shell.is-home .home-contact-phone strong {
  font-size: calc(12.4 * var(--home-u)) !important;
  font-weight: 720 !important;
  line-height: calc(15 * var(--home-u)) !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-card-copy h2,
  .app-shell.is-home .home-house-panel h2 {
    font-size: calc(16.6 * var(--home-u)) !important;
    line-height: calc(19.2 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-card {
    grid-template-rows: calc(80 * var(--home-u)) calc(80 * var(--home-u)) !important;
    height: calc(160 * var(--home-u)) !important;
    min-height: calc(160 * var(--home-u)) !important;
    max-height: calc(160 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-plan,
  .app-shell.is-home .home-house-info {
    height: calc(80 * var(--home-u)) !important;
    min-height: calc(80 * var(--home-u)) !important;
    max-height: calc(80 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-info strong {
    font-size: calc(22.4 * var(--home-u)) !important;
    line-height: calc(23.4 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-contact-strip p,
  .app-shell.is-home .home-contact-address,
  .app-shell.is-home .home-contact-phone {
    grid-template-columns: calc(21 * var(--home-u)) minmax(0, 1fr) !important;
  }

  .app-shell.is-home .home-contact-icon,
  .app-shell.is-home .home-phone-icon {
    width: calc(21 * var(--home-u)) !important;
    height: calc(21 * var(--home-u)) !important;
    min-width: calc(21 * var(--home-u)) !important;
    min-height: calc(21 * var(--home-u)) !important;
  }
}

/* Homepage final color/alignment pass v214. */
.app-shell.is-home .home-selection-card .home-service-row,
.app-shell.is-home .home-service-row {
  justify-items: center !important;
  align-items: start !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div,
.app-shell.is-home .home-service-row > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: calc(40 * var(--home-u)) calc(12 * var(--home-u)) calc(9 * var(--home-u)) !important;
  justify-items: center !important;
  align-items: center !important;
  align-content: start !important;
  text-align: center !important;
  row-gap: calc(3 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon,
.app-shell.is-home .home-service-row .home-mini-icon {
  justify-self: center !important;
  align-self: center !important;
  margin: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong,
.app-shell.is-home .home-selection-card .home-service-row em,
.app-shell.is-home .home-service-row strong,
.app-shell.is-home .home-service-row em {
  width: 100% !important;
  justify-self: center !important;
  text-align: center !important;
}

.app-shell.is-home .home-contact-icon,
.app-shell.is-home .home-phone-icon {
  width: calc(22 * var(--home-u)) !important;
  height: calc(22 * var(--home-u)) !important;
  min-width: calc(22 * var(--home-u)) !important;
  min-height: calc(22 * var(--home-u)) !important;
  display: grid !important;
  place-items: center !important;
}

.app-shell.is-home .home-contact-icon svg,
.app-shell.is-home .home-phone-icon svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.app-shell.is-home .home-house-card .home-house-info {
  background-color: #e8d8bd !important;
  background-image: none !important;
  background: #e8d8bd !important;
  box-shadow: none !important;
}

/* Homepage reference card polish v215: connected house cards and detailed selection icons. */
.app-shell.is-home .home-selection-card .home-service-row {
  gap: calc(10 * var(--home-u)) calc(14 * var(--home-u)) !important;
  align-content: center !important;
  align-items: center !important;
  padding: calc(1 * var(--home-u)) calc(2 * var(--home-u)) 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  min-height: calc(58 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  justify-items: center !important;
  align-content: start !important;
  row-gap: 0 !important;
  text-align: center !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon {
  width: calc(38 * var(--home-u)) !important;
  height: calc(38 * var(--home-u)) !important;
  min-width: calc(38 * var(--home-u)) !important;
  min-height: calc(38 * var(--home-u)) !important;
  margin: 0 0 calc(4.5 * var(--home-u)) !important;
  color: #c79b5d !important;
  background-size: 100% 100% !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon svg {
  width: 52% !important;
  height: 52% !important;
  stroke-width: 2.05 !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  width: 100% !important;
  margin: 0 0 calc(1.8 * var(--home-u)) !important;
  color: #2f241d !important;
  font-size: calc(10.2 * var(--home-u)) !important;
  font-weight: 780 !important;
  line-height: calc(11.6 * var(--home-u)) !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
  text-align: center !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  width: 100% !important;
  margin: 0 !important;
  color: rgba(80, 70, 62, 0.5) !important;
  font-size: calc(7.35 * var(--home-u)) !important;
  font-weight: 620 !important;
  line-height: calc(8.7 * var(--home-u)) !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
  text-align: center !important;
}

.app-shell.is-home .home-house-cards {
  height: calc(172 * var(--home-u)) !important;
  min-height: calc(172 * var(--home-u)) !important;
  max-height: calc(172 * var(--home-u)) !important;
  column-gap: calc(10 * var(--home-u)) !important;
  align-items: start !important;
}

.app-shell.is-home .home-house-card {
  height: calc(172 * var(--home-u)) !important;
  min-height: calc(172 * var(--home-u)) !important;
  max-height: calc(172 * var(--home-u)) !important;
  display: grid !important;
  grid-template-rows: calc(96 * var(--home-u)) calc(76 * var(--home-u)) !important;
  row-gap: 0 !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  overflow: hidden !important;
  border: calc(0.6 * var(--home-u)) solid rgba(226, 220, 210, 0.72) !important;
  border-radius: calc(10.5 * var(--home-u)) !important;
  background: #fbfaf7 !important;
  box-shadow: 0 calc(6 * var(--home-u)) calc(14 * var(--home-u)) rgba(73, 58, 43, 0.07) !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan {
  width: 100% !important;
  height: calc(96 * var(--home-u)) !important;
  min-height: calc(96 * var(--home-u)) !important;
  max-height: calc(96 * var(--home-u)) !important;
  padding: calc(8 * var(--home-u)) calc(6 * var(--home-u)) calc(5 * var(--home-u)) !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border-radius: calc(10.5 * var(--home-u)) calc(10.5 * var(--home-u)) 0 0 !important;
  background-color: #fbfaf7 !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 116% !important;
  max-height: calc(88 * var(--home-u)) !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: scale(1.04) !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info {
  width: 100% !important;
  height: calc(76 * var(--home-u)) !important;
  min-height: calc(76 * var(--home-u)) !important;
  max-height: calc(76 * var(--home-u)) !important;
  margin: 0 !important;
  padding: calc(8 * var(--home-u)) calc(4 * var(--home-u)) calc(7 * var(--home-u)) !important;
  display: grid !important;
  justify-items: center !important;
  align-content: start !important;
  gap: calc(3.8 * var(--home-u)) !important;
  overflow: hidden !important;
  border-radius: 0 0 calc(10.5 * var(--home-u)) calc(10.5 * var(--home-u)) !important;
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
  box-shadow: none !important;
}

.app-shell.is-home .home-house-info strong {
  margin: 0 !important;
  color: #38271c !important;
  font-size: calc(25.5 * var(--home-u)) !important;
  font-weight: 430 !important;
  line-height: calc(26 * var(--home-u)) !important;
  letter-spacing: calc(-0.7 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong sup {
  top: -0.46em !important;
  font-size: calc(7.6 * var(--home-u)) !important;
  font-weight: 430 !important;
}

.app-shell.is-home .home-house-info span {
  color: #3d2e24 !important;
  font-size: calc(8.2 * var(--home-u)) !important;
  font-weight: 760 !important;
  line-height: calc(9.4 * var(--home-u)) !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info em {
  color: #4f4137 !important;
  font-size: calc(7.35 * var(--home-u)) !important;
  font-weight: 680 !important;
  line-height: calc(8.7 * var(--home-u)) !important;
  letter-spacing: calc(-0.2 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card .home-service-row {
    gap: calc(8 * var(--home-u)) calc(11 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-mini-icon {
    width: calc(35 * var(--home-u)) !important;
    height: calc(35 * var(--home-u)) !important;
    min-width: calc(35 * var(--home-u)) !important;
    min-height: calc(35 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-cards {
    height: calc(166 * var(--home-u)) !important;
    min-height: calc(166 * var(--home-u)) !important;
    max-height: calc(166 * var(--home-u)) !important;
    column-gap: calc(8 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-card {
    height: calc(166 * var(--home-u)) !important;
    min-height: calc(166 * var(--home-u)) !important;
    max-height: calc(166 * var(--home-u)) !important;
    grid-template-rows: calc(92 * var(--home-u)) calc(74 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-plan,
  .app-shell.is-home .home-house-card[data-house-type] .home-house-plan {
    height: calc(92 * var(--home-u)) !important;
    min-height: calc(92 * var(--home-u)) !important;
    max-height: calc(92 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-card .home-house-info,
  .app-shell.is-home .home-house-info {
    height: calc(74 * var(--home-u)) !important;
    min-height: calc(74 * var(--home-u)) !important;
    max-height: calc(74 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-info strong {
    font-size: calc(23.4 * var(--home-u)) !important;
    line-height: calc(24 * var(--home-u)) !important;
  }
}

/* Homepage selection icon spacing correction v216. */
.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(38 * var(--home-u)) calc(12 * var(--home-u)) calc(9 * var(--home-u)) !important;
  row-gap: calc(3.2 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: calc(38 * var(--home-u)) !important;
  height: calc(38 * var(--home-u)) !important;
  min-width: calc(38 * var(--home-u)) !important;
  min-height: calc(38 * var(--home-u)) !important;
  margin: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  align-self: center !important;
  margin: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  align-self: start !important;
  margin: 0 !important;
}

/* Homepage house panel white surface v217. */
.app-shell.is-home .home-house-panel {
  background: #fbfaf7 !important;
  background-color: #fbfaf7 !important;
  background-image: none !important;
  border-color: rgba(232, 225, 216, 0.82) !important;
  box-shadow: 0 calc(10 * var(--home-u)) calc(26 * var(--home-u)) rgba(76, 60, 42, 0.08) !important;
}

.app-shell.is-home .home-house-panel::before,
.app-shell.is-home .home-house-panel::after {
  background: transparent !important;
  background-image: none !important;
  opacity: 0 !important;
}

/* Homepage detail correction v218. */
.app-shell.is-home .home-logo-slot {
  top: calc(20 * var(--home-u)) !important;
  right: calc(30 * var(--home-u)) !important;
  width: calc(55 * var(--home-u)) !important;
  height: calc(42 * var(--home-u)) !important;
}

.app-shell.is-home .home-logo-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(42 * var(--home-u)) calc(12 * var(--home-u)) calc(9 * var(--home-u)) !important;
  row-gap: calc(3.4 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: calc(42 * var(--home-u)) !important;
  height: calc(42 * var(--home-u)) !important;
  min-width: calc(42 * var(--home-u)) !important;
  min-height: calc(42 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon svg {
  width: 56% !important;
  height: 56% !important;
}

.app-shell.is-home .home-house-card {
  background: #fbfaf7 !important;
  background-color: #fbfaf7 !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan {
  background: #fbfaf7 !important;
  background-color: #fbfaf7 !important;
  background-image: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.app-shell.is-home .home-house-plan img {
  width: 92% !important;
  height: 88% !important;
  max-width: 92% !important;
  max-height: 88% !important;
  object-fit: contain !important;
  object-position: center center !important;
  mix-blend-mode: multiply !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info {
  display: grid !important;
  grid-template-rows: calc(31 * var(--home-u)) calc(12 * var(--home-u)) calc(12 * var(--home-u)) !important;
  align-content: center !important;
  justify-items: center !important;
  padding: calc(7 * var(--home-u)) calc(5 * var(--home-u)) calc(8 * var(--home-u)) !important;
  row-gap: calc(1.8 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong {
  align-self: end !important;
  margin: 0 !important;
  line-height: calc(30 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info span,
.app-shell.is-home .home-house-info em {
  align-self: center !important;
  margin: 0 !important;
  text-align: center !important;
}

.app-shell.is-home .home-contact-strip p,
.app-shell.is-home .home-contact-address,
.app-shell.is-home .home-contact-phone {
  grid-template-columns: calc(20 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(7 * var(--home-u)) !important;
  align-items: center !important;
}

.app-shell.is-home .home-contact-icon,
.app-shell.is-home .home-phone-icon {
  width: calc(20 * var(--home-u)) !important;
  height: calc(20 * var(--home-u)) !important;
  min-width: calc(20 * var(--home-u)) !important;
  min-height: calc(20 * var(--home-u)) !important;
  justify-self: center !important;
}

.app-shell.is-home .home-contact-icon svg,
.app-shell.is-home .home-phone-icon svg {
  width: 100% !important;
  height: 100% !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-logo-slot {
    top: calc(18 * var(--home-u)) !important;
    right: calc(26 * var(--home-u)) !important;
    width: calc(50 * var(--home-u)) !important;
    height: calc(38 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
    width: calc(39 * var(--home-u)) !important;
    height: calc(39 * var(--home-u)) !important;
    min-width: calc(39 * var(--home-u)) !important;
    min-height: calc(39 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-house-plan img {
    width: 91% !important;
    height: 87% !important;
    max-width: 91% !important;
    max-height: 87% !important;
  }
}

/* Homepage selection icons stronger scale v219. */
.app-shell.is-home .home-selection-card .home-service-row {
  gap: calc(8 * var(--home-u)) calc(12 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(52 * var(--home-u)) calc(14 * var(--home-u)) calc(10 * var(--home-u)) !important;
  row-gap: calc(2.5 * var(--home-u)) !important;
  min-height: calc(82 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: calc(52 * var(--home-u)) !important;
  height: calc(52 * var(--home-u)) !important;
  min-width: calc(52 * var(--home-u)) !important;
  min-height: calc(52 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon svg {
  width: 74% !important;
  height: 74% !important;
  stroke-width: 2.45 !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  font-size: calc(11.2 * var(--home-u)) !important;
  line-height: calc(13 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  font-size: calc(7.7 * var(--home-u)) !important;
  line-height: calc(9.2 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card .home-service-row > div {
    grid-template-rows: calc(48 * var(--home-u)) calc(13 * var(--home-u)) calc(10 * var(--home-u)) !important;
    min-height: calc(76 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
    width: calc(48 * var(--home-u)) !important;
    height: calc(48 * var(--home-u)) !important;
    min-width: calc(48 * var(--home-u)) !important;
    min-height: calc(48 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-mini-icon svg {
    width: 74% !important;
    height: 74% !important;
  }
}

/* Homepage selection icons actual mobile scale v220. */
.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(60 * var(--home-u)) calc(14 * var(--home-u)) calc(10 * var(--home-u)) !important;
  min-height: calc(88 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: calc(60 * var(--home-u)) !important;
  height: calc(60 * var(--home-u)) !important;
  min-width: calc(60 * var(--home-u)) !important;
  min-height: calc(60 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon svg {
  width: 86% !important;
  height: 86% !important;
  stroke-width: 2.65 !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card .home-service-row > div {
    grid-template-rows: calc(58 * var(--home-u)) calc(13 * var(--home-u)) calc(10 * var(--home-u)) !important;
    min-height: calc(84 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
    width: calc(58 * var(--home-u)) !important;
    height: calc(58 * var(--home-u)) !important;
    min-width: calc(58 * var(--home-u)) !important;
    min-height: calc(58 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-mini-icon svg {
    width: 86% !important;
    height: 86% !important;
  }
}

/* Homepage selection icons fine stroke and tighter text v221. */
.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(56 * var(--home-u)) calc(14 * var(--home-u)) calc(10 * var(--home-u)) !important;
  row-gap: calc(0.8 * var(--home-u)) !important;
  min-height: calc(82 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  align-self: end !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  align-self: start !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon svg {
  stroke-width: 1.55 !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card .home-service-row > div {
    grid-template-rows: calc(54 * var(--home-u)) calc(13 * var(--home-u)) calc(10 * var(--home-u)) !important;
    row-gap: calc(0.6 * var(--home-u)) !important;
    min-height: calc(78 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-mini-icon svg {
    stroke-width: 1.45 !important;
  }
}

/* Homepage selection icon inner stroke override v222. */
.app-shell.is-home .home-selection-card .home-mini-icon svg,
.app-shell.is-home .home-selection-card .home-mini-icon svg *,
.app-shell.is-home .home-selection-card .home-mini-icon use {
  stroke-width: 1.45px !important;
}

/* Homepage selection card spacing fix v223. */
.app-shell.is-home .home-selection-card {
  top: calc(334 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row {
  padding-top: calc(2 * var(--home-u)) !important;
  align-content: start !important;
  row-gap: calc(5 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(45 * var(--home-u)) calc(12 * var(--home-u)) calc(9 * var(--home-u)) !important;
  row-gap: 0 !important;
  min-height: calc(66 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: calc(45 * var(--home-u)) !important;
  height: calc(45 * var(--home-u)) !important;
  min-width: calc(45 * var(--home-u)) !important;
  min-height: calc(45 * var(--home-u)) !important;
  align-self: end !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  align-self: start !important;
  margin-top: calc(-2 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  align-self: start !important;
  margin-top: calc(-1 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-cta {
  margin-top: calc(7 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card {
    top: calc(334 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row > div {
    grid-template-rows: calc(43 * var(--home-u)) calc(12 * var(--home-u)) calc(9 * var(--home-u)) !important;
    min-height: calc(64 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
    width: calc(43 * var(--home-u)) !important;
    height: calc(43 * var(--home-u)) !important;
    min-width: calc(43 * var(--home-u)) !important;
    min-height: calc(43 * var(--home-u)) !important;
  }
}

/* Homepage service copy closer to icons v224. */
.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(45 * var(--home-u)) calc(10 * var(--home-u)) calc(8 * var(--home-u)) !important;
  row-gap: 0 !important;
  min-height: calc(62 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  margin-top: calc(-5 * var(--home-u)) !important;
  line-height: calc(11 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  margin-top: calc(-3.2 * var(--home-u)) !important;
  line-height: calc(8.4 * var(--home-u)) !important;
}

.app-shell.is-home .home-enter-button {
  margin-top: calc(8 * var(--home-u)) !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card .home-service-row > div {
    grid-template-rows: calc(43 * var(--home-u)) calc(10 * var(--home-u)) calc(8 * var(--home-u)) !important;
    min-height: calc(60 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row strong {
    margin-top: calc(-5.4 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row em {
    margin-top: calc(-3.4 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-enter-button {
    margin-top: calc(7 * var(--home-u)) !important;
  }
}

/* Selection page edge-fit cards and back icon v225. */
.app-shell:not(.is-home) .bottom-panel {
  padding-left: max(4px, env(safe-area-inset-left)) !important;
  padding-right: max(4px, env(safe-area-inset-right)) !important;
}

.app-shell:not(.is-home) .content-switcher {
  width: 100% !important;
}

.app-shell:not(.is-home) .cards-scroll {
  grid-template-columns: repeat(var(--point-count, 7), minmax(0, 1fr)) !important;
  gap: 6px 3px !important;
}

.app-shell:not(.is-home) .point-card {
  padding: 0 1px !important;
}

.app-shell:not(.is-home) .point-card h3 {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow: visible !important;
  text-overflow: clip !important;
  justify-content: flex-start !important;
  gap: 2px !important;
  font-size: clamp(6.2px, 1.55vw, 7.6px) !important;
  letter-spacing: -0.04em !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  font-size: 6.5px !important;
}

.app-shell:not(.is-home) .home-back-button {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(198, 154, 90, 0.24) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: 0 4px 14px rgba(69, 52, 33, 0.08) !important;
  color: #4a4038 !important;
}

.app-shell:not(.is-home) .home-back-icon {
  display: none !important;
}

.app-shell:not(.is-home) .home-back-button::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 11px !important;
  height: 11px !important;
  border-left: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: translate(-36%, -50%) rotate(45deg) !important;
}

.app-shell:not(.is-home) .home-back-button::after {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  width: 12px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  transform: translateY(-50%) !important;
}

/* Selection page full-width option panel v226. */
.app-shell:not(.is-home) .bottom-panel {
  width: min(calc(100vw - 12px), 680px) !important;
  max-width: none !important;
  justify-self: center !important;
  margin-left: calc((100% - min(calc(100vw - 12px), 680px)) / 2) !important;
  margin-right: calc((100% - min(calc(100vw - 12px), 680px)) / 2) !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.app-shell:not(.is-home) .cards-scroll {
  width: 100% !important;
  grid-template-columns: repeat(var(--point-count, 7), minmax(42px, 1fr)) !important;
  column-gap: 4px !important;
}

.app-shell:not(.is-home) .point-card {
  min-width: 42px !important;
  padding: 0 2px !important;
}

.app-shell:not(.is-home) .point-card h3 {
  justify-content: center !important;
  font-size: clamp(6.4px, 1.48vw, 7.4px) !important;
  letter-spacing: -0.075em !important;
}

.app-shell:not(.is-home) .mobile-active-styles,
.app-shell:not(.is-home) .desktop-active-styles {
  width: 100% !important;
}

/* Selection page full-width media panels and color target layout. */
.app-shell:not(.is-home) {
  --selection-edge-gap: max(6px, env(safe-area-inset-left), env(safe-area-inset-right)) !important;
}

.app-shell:not(.is-home) .main-grid,
.app-shell:not(.is-home) .bottom-panel {
  left: 50% !important;
  right: auto !important;
  width: min(calc(var(--mini-u, 1px) * 357), calc(100vw - var(--selection-edge-gap) - var(--selection-edge-gap))) !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}

.app-shell:not(.is-home) .bird-panel,
.app-shell:not(.is-home) .effect-panel,
.app-shell:not(.is-home) .bottom-panel {
  box-sizing: border-box !important;
}

.app-shell:not(.is-home) .bottom-panel {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.app-shell:not(.is-home) .content-switcher,
.app-shell:not(.is-home) .cards-scroll {
  width: 100% !important;
  max-width: none !important;
}

.app-shell:not(.is-home) .cards-scroll {
  grid-template-columns: repeat(var(--point-count, 7), minmax(0, 1fr)) !important;
  column-gap: 4px !important;
}

.app-shell:not(.is-home) .point-card {
  min-width: 0 !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
}

.app-shell:not(.is-home) .point-card h3 {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  justify-content: center !important;
  font-size: clamp(7px, 1.8vw, 8.2px) !important;
  letter-spacing: -0.08em !important;
}

.app-shell:not(.is-home) .media-stage.is-loading::after {
  content: "\52A0\8F7D\4E2D" !important;
}


/* Home icon and point number alignment guard. */
.app-shell:not(.is-home) #homeBackButton.home-back-button {
  position: absolute !important;
  right: calc(var(--mini-u, 1px) * 17) !important;
  top: calc(var(--mini-u, 1px) * 12) !important;
  width: calc(var(--mini-u, 1px) * 22) !important;
  height: calc(var(--mini-u, 1px) * 22) !important;
  min-width: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #8f6d47 !important;
  overflow: visible !important;
}

.app-shell:not(.is-home) #homeBackButton.home-back-button::before,
.app-shell:not(.is-home) #homeBackButton.home-back-button::after,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span::before,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.app-shell:not(.is-home) #homeBackButton .home-back-icon {
  width: calc(var(--mini-u, 1px) * 18) !important;
  height: calc(var(--mini-u, 1px) * 18) !important;
  display: block !important;
  color: currentColor !important;
  opacity: 1 !important;
  overflow: visible !important;
  transform: none !important;
}

.app-shell:not(.is-home) #homeBackButton .home-back-icon path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 34px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
}

.app-shell:not(.is-home) .cards-scroll {
  left: calc(var(--mini-u, 1px) * 5) !important;
  right: calc(var(--mini-u, 1px) * 5) !important;
  top: calc(var(--mini-u, 1px) * 36) !important;
  bottom: calc(var(--mini-u, 1px) * 5) !important;
  grid-template-columns: 1.2fr 1fr 1.12fr 1fr 1fr 0.9fr 1fr !important;
  grid-template-rows: calc(var(--mini-u, 1px) * 18) minmax(0, 1fr) !important;
  column-gap: calc(var(--mini-u, 1px) * 2.4) !important;
  row-gap: calc(var(--mini-u, 1px) * 7) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .point-card,
.app-shell:not(.is-home) .cards-scroll .point-card {
  height: calc(var(--mini-u, 1px) * 18) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 calc(var(--mini-u, 1px) * 1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .point-card-header {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.app-shell:not(.is-home) .point-card h3 {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(var(--mini-u, 1px) * 1.5) !important;
  font-size: clamp(5.5px, calc(var(--mini-u, 1px) * 6.2), 8.4px) !important;
  line-height: 1 !important;
  letter-spacing: calc(var(--mini-u, 1px) * -0.24) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  position: static !important;
  left: auto !important;
  top: auto !important;
  flex: 0 0 auto !important;
  width: calc(var(--mini-u, 1px) * 8) !important;
  height: calc(var(--mini-u, 1px) * 8) !important;
  min-width: calc(var(--mini-u, 1px) * 8) !important;
  min-height: calc(var(--mini-u, 1px) * 8) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  font-size: calc(var(--mini-u, 1px) * 4.8) !important;
  line-height: 1 !important;
  text-align: center !important;
  transform: none !important;
}

.app-shell:not(.is-home) .mobile-active-styles,
.app-shell:not(.is-home) .desktop-active-styles {
  padding: 0 calc(var(--mini-u, 1px) * 3) !important;
  animation: none !important;
}

.app-shell:not(.is-home) .mobile-active-styles.is-panel-entering,
.app-shell:not(.is-home) .desktop-active-styles.is-panel-entering {
  animation: selection-style-panel-in 180ms ease-out both !important;
}

.app-shell:not(.is-home) .mobile-style-list {
  gap: calc(var(--mini-u, 1px) * 7.5) !important;
}

.app-shell:not(.is-home) .style-pill {
  grid-template-rows: minmax(0, 1fr) calc(var(--mini-u, 1px) * 16) !important;
  gap: calc(var(--mini-u, 1px) * 3.4) !important;
  animation: none !important;
}

.app-shell:not(.is-home) .style-thumb {
  border-radius: calc(var(--mini-u, 1px) * 5.5) !important;
}

.app-shell:not(.is-home) .style-pill strong {
  font-size: calc(var(--mini-u, 1px) * 9.4) !important;
  line-height: calc(var(--mini-u, 1px) * 12) !important;
}


.app-shell.is-home .home-enter-button {
  color: #fffdf8 !important;
  background: linear-gradient(100deg, #d7b27a 0%, #c89552 50%, #d8b176 100%) !important;
  border-color: rgba(166, 111, 45, 0.18) !important;
  box-shadow:
    0 calc(var(--home-u) * 5) calc(var(--home-u) * 10) rgba(165, 116, 57, 0.12),
    inset 0 calc(var(--home-u) * 0.8) 0 rgba(255, 255, 255, 0.34) !important;
}

/* Point switch only animates the style options. */
.app-shell:not(.is-home) .mobile-active-styles,
.app-shell:not(.is-home) .desktop-active-styles {
  animation: none !important;
}

.app-shell:not(.is-home) .mobile-active-styles.is-panel-entering,
.app-shell:not(.is-home) .desktop-active-styles.is-panel-entering {
  animation: selection-style-panel-in 180ms ease-out both !important;
}


/* Point switch only animates the style options. */
.app-shell:not(.is-home) .mobile-active-styles,
.app-shell:not(.is-home) .desktop-active-styles {
  animation: none !important;
}

.app-shell:not(.is-home) .mobile-active-styles.is-panel-entering,
.app-shell:not(.is-home) .desktop-active-styles.is-panel-entering {
  animation: selection-style-panel-in 180ms ease-out both !important;
}


/* Selection final fit v259: compact point tabs, color thumbs and targeted motion. */
.app-shell:not(.is-home) {
  --selection-accent: #c89552 !important;
  --selection-accent-soft: #ead9c2 !important;
  --selection-accent-text: #65401f !important;
}

.app-shell:not(.is-home) .home-back-button {
  width: calc(var(--mini-u, 1px) * 28) !important;
  height: calc(var(--mini-u, 1px) * 28) !important;
  min-width: 28px !important;
  min-height: 28px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #9a7244 !important;
}

.app-shell:not(.is-home) .home-back-icon {
  display: block !important;
  width: calc(var(--mini-u, 1px) * 19) !important;
  height: calc(var(--mini-u, 1px) * 19) !important;
  color: currentColor !important;
  opacity: 0.82 !important;
}

.app-shell:not(.is-home) .home-back-icon path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 34px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.app-shell:not(.is-home) .home-back-button::before,
.app-shell:not(.is-home) .home-back-button::after {
  display: none !important;
  content: none !important;
}

.app-shell:not(.is-home) .bottom-heading {
  top: calc(var(--mini-u, 1px) * 8) !important;
  height: calc(var(--mini-u, 1px) * 17) !important;
}

.app-shell:not(.is-home) .content-switcher {
  overflow: visible !important;
}

.app-shell:not(.is-home) .cards-scroll {
  left: calc(var(--mini-u, 1px) * 5) !important;
  right: calc(var(--mini-u, 1px) * 5) !important;
  top: calc(var(--mini-u, 1px) * 36) !important;
  bottom: calc(var(--mini-u, 1px) * 5) !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 1.2fr 1fr 1.12fr 1fr 1fr 0.9fr 1fr !important;
  grid-template-rows: calc(var(--mini-u, 1px) * 18) minmax(0, 1fr) !important;
  column-gap: calc(var(--mini-u, 1px) * 2.4) !important;
  row-gap: calc(var(--mini-u, 1px) * 7) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .point-card,
.app-shell:not(.is-home) .cards-scroll .point-card {
  grid-row: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: calc(var(--mini-u, 1px) * 18) !important;
  padding: 0 calc(var(--mini-u, 1px) * 1.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: calc(var(--mini-u, 1px) * 3.2) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .point-card h3 {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(var(--mini-u, 1px) * 1.4) !important;
  font-size: clamp(5.5px, calc(var(--mini-u, 1px) * 6.2), 8.4px) !important;
  line-height: 1 !important;
  letter-spacing: calc(var(--mini-u, 1px) * -0.24) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  position: static !important;
  flex: 0 0 auto !important;
  width: calc(var(--mini-u, 1px) * 7.6) !important;
  height: calc(var(--mini-u, 1px) * 7.6) !important;
  min-width: calc(var(--mini-u, 1px) * 7.6) !important;
  min-height: calc(var(--mini-u, 1px) * 7.6) !important;
  font-size: calc(var(--mini-u, 1px) * 4.8) !important;
  line-height: calc(var(--mini-u, 1px) * 7.6) !important;
}

.app-shell:not(.is-home) .mobile-active-styles,
.app-shell:not(.is-home) .desktop-active-styles {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  height: 100% !important;
  padding: 0 calc(var(--mini-u, 1px) * 3) !important;
  animation: none !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .mobile-active-styles.is-panel-entering,
.app-shell:not(.is-home) .desktop-active-styles.is-panel-entering {
  animation: selection-style-panel-in 180ms ease-out both !important;
}

.app-shell:not(.is-home) .mobile-style-list {
  height: 100% !important;
  grid-template-columns: repeat(var(--active-style-count, 3), minmax(0, 1fr)) !important;
  gap: calc(var(--mini-u, 1px) * 7.5) !important;
}

.app-shell:not(.is-home) .style-pill {
  grid-template-rows: minmax(0, 1fr) calc(var(--mini-u, 1px) * 16) !important;
  gap: calc(var(--mini-u, 1px) * 3.4) !important;
  animation: none !important;
}

.app-shell:not(.is-home) .style-thumb {
  border-radius: calc(var(--mini-u, 1px) * 5.5) !important;
  border-color: rgba(202, 158, 94, 0.22) !important;
}

.app-shell:not(.is-home) .style-pill strong {
  color: #5b5148 !important;
  font-size: calc(var(--mini-u, 1px) * 9.4) !important;
  line-height: calc(var(--mini-u, 1px) * 12) !important;
  font-weight: 650 !important;
}

.app-shell:not(.is-home) .style-pill.is-active .style-thumb {
  border-color: var(--selection-accent) !important;
  box-shadow: 0 0 0 calc(var(--mini-u, 1px) * 0.8) rgba(200, 149, 82, 0.24) !important;
}


.app-shell.is-home .home-enter-button {
  color: #fffdf8 !important;
  background: linear-gradient(100deg, #d7b27a 0%, #c89552 50%, #d8b176 100%) !important;
  border-color: rgba(166, 111, 45, 0.18) !important;
  box-shadow:
    0 calc(var(--home-u) * 5) calc(var(--home-u) * 10) rgba(165, 116, 57, 0.12),
    inset 0 calc(var(--home-u) * 0.8) 0 rgba(255, 255, 255, 0.34) !important;
}


.app-shell:not(.is-home) #homeBackButton.home-back-button {
  position: absolute !important;
  top: calc(var(--mini-u, 1px) * 11.5) !important;
  right: calc(var(--mini-u, 1px) * 16) !important;
  width: calc(var(--mini-u, 1px) * 24) !important;
  height: calc(var(--mini-u, 1px) * 24) !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #876846 !important;
  opacity: 0.9 !important;
  overflow: visible !important;
}

.app-shell:not(.is-home) #homeBackButton.home-back-button::before,
.app-shell:not(.is-home) #homeBackButton.home-back-button::after,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span::before,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.app-shell:not(.is-home) #homeBackButton .home-back-icon {
  width: calc(var(--mini-u, 1px) * 19) !important;
  height: calc(var(--mini-u, 1px) * 19) !important;
  display: block !important;
  color: currentColor !important;
  opacity: 1 !important;
  overflow: visible !important;
  transform: none !important;
}

.app-shell:not(.is-home) #homeBackButton .home-back-icon path {
  fill: currentColor !important;
  stroke: none !important;
  stroke-width: 0 !important;
}


/* Selection absolute final guard v256: keep this block at EOF. */
.app-shell:not(.is-home) .home-back-button {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #8a6f4e !important;
}

.app-shell:not(.is-home) .home-back-button::before,
.app-shell:not(.is-home) .home-back-button::after {
  display: none !important;
  content: none !important;
}

.app-shell:not(.is-home) .point-card h3 {
  padding-left: calc(var(--mini-u, 1px) * 7.2) !important;
  padding-right: 0 !important;
  font-size: clamp(5.8px, calc(var(--mini-u, 1px) * 5.75), 7.6px) !important;
  letter-spacing: calc(var(--mini-u, 1px) * -0.24) !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  left: calc(var(--mini-u, 1px) * 0.5) !important;
  width: calc(var(--mini-u, 1px) * 6.3) !important;
  height: calc(var(--mini-u, 1px) * 6.3) !important;
  min-width: calc(var(--mini-u, 1px) * 6.3) !important;
  min-height: calc(var(--mini-u, 1px) * 6.3) !important;
  font-size: calc(var(--mini-u, 1px) * 4.35) !important;
}


/* Selection final guard v255: this must stay after historical overrides. */
.app-shell:not(.is-home) .point-card h3 {
  padding-left: calc(var(--mini-u, 1px) * 7.2) !important;
  padding-right: 0 !important;
  font-size: clamp(5.8px, calc(var(--mini-u, 1px) * 5.75), 7.6px) !important;
  letter-spacing: calc(var(--mini-u, 1px) * -0.24) !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  left: calc(var(--mini-u, 1px) * 0.5) !important;
  width: calc(var(--mini-u, 1px) * 6.3) !important;
  height: calc(var(--mini-u, 1px) * 6.3) !important;
  min-width: calc(var(--mini-u, 1px) * 6.3) !important;
  min-height: calc(var(--mini-u, 1px) * 6.3) !important;
  font-size: calc(var(--mini-u, 1px) * 4.35) !important;
}


/* Selection point label final fit v254. */
.app-shell:not(.is-home) .point-card h3 {
  padding-left: calc(var(--mini-u, 1px) * 7.2) !important;
  font-size: clamp(5.8px, calc(var(--mini-u, 1px) * 5.75), 7.6px) !important;
  letter-spacing: calc(var(--mini-u, 1px) * -0.24) !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  left: calc(var(--mini-u, 1px) * 0.5) !important;
  width: calc(var(--mini-u, 1px) * 6.3) !important;
  height: calc(var(--mini-u, 1px) * 6.3) !important;
  min-width: calc(var(--mini-u, 1px) * 6.3) !important;
  min-height: calc(var(--mini-u, 1px) * 6.3) !important;
  font-size: calc(var(--mini-u, 1px) * 4.35) !important;
}


.app-shell:not(.is-home) .home-back-button {
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
}

.app-shell:not(.is-home) .home-back-icon {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  color: #4a4a4a !important;
}

.app-shell:not(.is-home) .home-back-button::before,
.app-shell:not(.is-home) .home-back-button::after {
  display: none !important;
  content: none !important;
}


/* Homepage house plan surface correction v231. */
.app-shell.is-home .home-house-card {
  background: #fbfaf7 !important;
  background-color: #fbfaf7 !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
  border-top: 0 !important;
}

.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #cfe0e8 !important;
  background-color: #cfe0e8 !important;
}

.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #cfe0e8 !important;
  background-color: #cfe0e8 !important;
}

/* Final homepage floorplan backing correction v240. */
.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-house-plan img {
  background: transparent !important;
  background-color: transparent !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

/* Final homepage floorplan contract v244: original image only, white image bed. */
.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-house-plan img {
  background: transparent !important;
  background-color: transparent !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

/* Homepage floorplan final contract v243: keep original image pixels untouched. */
.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-house-plan img {
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

/* Final homepage floorplan original image color restore v241. */
.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan img {
  background: transparent !important;
  background-color: transparent !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

/* Final override: floorplan image area must match the white plan image v239. */
.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-house-plan img {
  background: #fff !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

/* Final override: floorplan image area must match the white plan image v238. */
.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-house-plan img {
  background: #fff !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

/* Homepage house plan true-white image backing v237. */
.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan img {
  mix-blend-mode: normal !important;
  filter: none !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

/* Homepage house plan backing sampled from reference v236. */
.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #f6f1e7 !important;
  background-color: #f6f1e7 !important;
  background-image: none !important;
}

/* Homepage compact CTA and contact icon alignment v233. */
.app-shell.is-home .home-enter-button {
  width: calc(113 * var(--home-u)) !important;
  height: calc(30 * var(--home-u)) !important;
  min-height: calc(30 * var(--home-u)) !important;
  padding: 0 calc(8 * var(--home-u)) !important;
  gap: calc(4 * var(--home-u)) !important;
  border-radius: calc(6 * var(--home-u)) !important;
  font-size: calc(9.6 * var(--home-u)) !important;
}

.app-shell.is-home .home-enter-button i {
  font-size: calc(10.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-contact-phone .home-contact-icon,
.app-shell.is-home .home-contact-phone .home-phone-icon {
  transform: translateX(calc(2.2 * var(--home-u))) !important;
}

/* Homepage house plan sampled color v235. */
.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

/* Final homepage floorplan card surfaces v242. */
.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-house-plan img {
  background: transparent !important;
  background-color: transparent !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

/* Final homepage floorplan contract v245: do not recolor source images. */
.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-house-plan img {
  background: transparent !important;
  background-color: transparent !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #e8d8bd !important;
  background-color: #e8d8bd !important;
  background-image: none !important;
}

/* Homepage text tone and spacing refinement v246. */
.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  background: #f0e3cb !important;
  background-color: #f0e3cb !important;
  background-image: none !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  row-gap: calc(1.4 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  margin: calc(0.8 * var(--home-u)) 0 calc(2.4 * var(--home-u)) !important;
  color: #2f241d !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  color: rgba(78, 69, 61, 0.42) !important;
  line-height: calc(9.2 * var(--home-u)) !important;
}

/* Homepage service text no-overlap fix v247. */
.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(37 * var(--home-u)) auto auto !important;
  row-gap: calc(2.1 * var(--home-u)) !important;
  align-content: start !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon {
  margin: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  margin: 0 !important;
  line-height: calc(11.6 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  color: rgba(78, 69, 61, 0.42) !important;
  line-height: calc(9.2 * var(--home-u)) !important;
}

/* Selection page surgical polish v252: readable point labels and lighter home icon. */
.app-shell:not(.is-home) .home-back-button {
  width: calc(var(--mini-u, 1px) * 26) !important;
  height: calc(var(--mini-u, 1px) * 26) !important;
  min-width: 28px !important;
  min-height: 28px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #8a6f4e !important;
}

.app-shell:not(.is-home) .home-back-button::before,
.app-shell:not(.is-home) .home-back-button::after {
  display: none !important;
  content: none !important;
}

.app-shell:not(.is-home) .home-back-icon {
  display: block !important;
  width: calc(var(--mini-u, 1px) * 18.5) !important;
  height: calc(var(--mini-u, 1px) * 18.5) !important;
  color: currentColor !important;
  opacity: 0.82 !important;
}

.app-shell:not(.is-home) .home-back-icon path {
  fill: currentColor !important;
}

.app-shell:not(.is-home) .cards-scroll {
  grid-template-columns: repeat(var(--point-count, 7), minmax(0, 1fr)) !important;
  column-gap: calc(var(--mini-u, 1px) * 2.2) !important;
  row-gap: calc(var(--mini-u, 1px) * 6) !important;
  overflow: visible !important;
}

.app-shell:not(.is-home) .point-card,
.app-shell:not(.is-home) .cards-scroll .point-card {
  overflow: visible !important;
  padding-left: calc(var(--mini-u, 1px) * 0.8) !important;
  padding-right: calc(var(--mini-u, 1px) * 0.8) !important;
}

.app-shell:not(.is-home) .point-card-header {
  overflow: visible !important;
}

.app-shell:not(.is-home) .point-card h3 {
  padding-left: calc(var(--mini-u, 1px) * 8.2) !important;
  padding-right: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(var(--mini-u, 1px) * 1.2) !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: clamp(6.2px, calc(var(--mini-u, 1px) * 6.15), 8.1px) !important;
  font-weight: 760 !important;
  line-height: 1.05 !important;
  letter-spacing: calc(var(--mini-u, 1px) * -0.18) !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  left: calc(var(--mini-u, 1px) * 0.8) !important;
  width: calc(var(--mini-u, 1px) * 6.8) !important;
  height: calc(var(--mini-u, 1px) * 6.8) !important;
  min-width: calc(var(--mini-u, 1px) * 6.8) !important;
  min-height: calc(var(--mini-u, 1px) * 6.8) !important;
  font-size: calc(var(--mini-u, 1px) * 4.7) !important;
}

.app-shell:not(.is-home) .mobile-active-styles,
.app-shell:not(.is-home) .desktop-active-styles {
  animation: selection-style-panel-in 0.22s ease-out both !important;
}

@keyframes selection-style-panel-in {
  from {
    opacity: 0;
    transform: translateY(calc(var(--mini-u, 1px) * 4));
  }

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

/* Selection page image enter guard. */
.app-shell:not(.is-home) .scene-image.is-entering,
.app-shell:not(.is-home) .preview-image.is-entering,
.app-shell:not(.is-home) .image-overlay-stack img.is-fade-entering {
  animation: image-fade-in 180ms ease-out both !important;
  clip-path: inset(0 0 0 0) !important;
  filter: none !important;
}


/* Selection absolute final guard v257: real EOF override. */
.app-shell:not(.is-home) .home-back-button {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #8a6f4e !important;
}

.app-shell:not(.is-home) .home-back-button::before,
.app-shell:not(.is-home) .home-back-button::after {
  display: none !important;
  content: none !important;
}

.app-shell:not(.is-home) .point-card h3 {
  padding-left: calc(var(--mini-u, 1px) * 7.2) !important;
  padding-right: 0 !important;
  font-size: clamp(5.8px, calc(var(--mini-u, 1px) * 5.75), 7.6px) !important;
  letter-spacing: calc(var(--mini-u, 1px) * -0.24) !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  left: calc(var(--mini-u, 1px) * 0.5) !important;
  width: calc(var(--mini-u, 1px) * 6.3) !important;
  height: calc(var(--mini-u, 1px) * 6.3) !important;
  min-width: calc(var(--mini-u, 1px) * 6.3) !important;
  min-height: calc(var(--mini-u, 1px) * 6.3) !important;
  font-size: calc(var(--mini-u, 1px) * 4.35) !important;
}


/* True EOF final layer v261: visible home icon, centered point badges, correct motion split. */
.app-shell:not(.is-home) #homeBackButton.home-back-button {
  position: absolute !important;
  right: calc(var(--mini-u, 1px) * 17) !important;
  top: calc(var(--mini-u, 1px) * 12) !important;
  width: calc(var(--mini-u, 1px) * 22) !important;
  height: calc(var(--mini-u, 1px) * 22) !important;
  min-width: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #8f6d47 !important;
  overflow: visible !important;
}

.app-shell:not(.is-home) #homeBackButton.home-back-button::before,
.app-shell:not(.is-home) #homeBackButton.home-back-button::after,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span::before,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.app-shell:not(.is-home) #homeBackButton .home-back-icon {
  width: calc(var(--mini-u, 1px) * 18) !important;
  height: calc(var(--mini-u, 1px) * 18) !important;
  display: block !important;
  color: currentColor !important;
  opacity: 1 !important;
  overflow: visible !important;
  transform: none !important;
}

.app-shell:not(.is-home) #homeBackButton .home-back-icon path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 34px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
}

.app-shell:not(.is-home) .cards-scroll {
  left: calc(var(--mini-u, 1px) * 5) !important;
  right: calc(var(--mini-u, 1px) * 5) !important;
  top: calc(var(--mini-u, 1px) * 36) !important;
  bottom: calc(var(--mini-u, 1px) * 5) !important;
  grid-template-columns: 1.2fr 1fr 1.12fr 1fr 1fr 0.9fr 1fr !important;
  grid-template-rows: calc(var(--mini-u, 1px) * 18) minmax(0, 1fr) !important;
  column-gap: calc(var(--mini-u, 1px) * 2.4) !important;
  row-gap: calc(var(--mini-u, 1px) * 7) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .point-card,
.app-shell:not(.is-home) .cards-scroll .point-card {
  height: calc(var(--mini-u, 1px) * 18) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 calc(var(--mini-u, 1px) * 1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .point-card-header {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.app-shell:not(.is-home) .point-card h3 {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(var(--mini-u, 1px) * 1.5) !important;
  font-size: clamp(5.5px, calc(var(--mini-u, 1px) * 6.2), 8.4px) !important;
  line-height: 1 !important;
  letter-spacing: calc(var(--mini-u, 1px) * -0.24) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.app-shell:not(.is-home) .point-card h3::before {
  position: static !important;
  left: auto !important;
  top: auto !important;
  flex: 0 0 auto !important;
  width: calc(var(--mini-u, 1px) * 8) !important;
  height: calc(var(--mini-u, 1px) * 8) !important;
  min-width: calc(var(--mini-u, 1px) * 8) !important;
  min-height: calc(var(--mini-u, 1px) * 8) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  font-size: calc(var(--mini-u, 1px) * 4.8) !important;
  line-height: 1 !important;
  text-align: center !important;
  transform: none !important;
}

.app-shell:not(.is-home) .mobile-active-styles,
.app-shell:not(.is-home) .desktop-active-styles {
  padding: 0 calc(var(--mini-u, 1px) * 3) !important;
  animation: none !important;
}

.app-shell:not(.is-home) .mobile-active-styles.is-panel-entering,
.app-shell:not(.is-home) .desktop-active-styles.is-panel-entering {
  animation: selection-style-panel-in 180ms ease-out both !important;
}

.app-shell:not(.is-home) .mobile-style-list {
  gap: calc(var(--mini-u, 1px) * 7.5) !important;
}

.app-shell:not(.is-home) .style-pill {
  grid-template-rows: minmax(0, 1fr) calc(var(--mini-u, 1px) * 16) !important;
  gap: calc(var(--mini-u, 1px) * 3.4) !important;
  animation: none !important;
}

.app-shell:not(.is-home) .style-thumb {
  border-radius: calc(var(--mini-u, 1px) * 5.5) !important;
}

.app-shell:not(.is-home) .style-pill strong {
  font-size: calc(var(--mini-u, 1px) * 9.4) !important;
  line-height: calc(var(--mini-u, 1px) * 12) !important;
}


.app-shell.is-home .home-enter-button {
  color: #fffdf8 !important;
  background: linear-gradient(100deg, #d7b27a 0%, #c89552 50%, #d8b176 100%) !important;
  border-color: rgba(166, 111, 45, 0.18) !important;
  box-shadow:
    0 calc(var(--home-u) * 5) calc(var(--home-u) * 10) rgba(165, 116, 57, 0.12),
    inset 0 calc(var(--home-u) * 0.8) 0 rgba(255, 255, 255, 0.34) !important;
}

/* Point changes animate only the style options. */
.app-shell:not(.is-home) .mobile-active-styles,
.app-shell:not(.is-home) .desktop-active-styles {
  animation: none !important;
}

.app-shell:not(.is-home) .mobile-active-styles.is-panel-entering,
.app-shell:not(.is-home) .desktop-active-styles.is-panel-entering {
  animation: selection-style-panel-in 180ms ease-out both !important;
}


.app-shell:not(.is-home) #homeBackButton.home-back-button {
  position: absolute !important;
  top: calc(var(--mini-u, 1px) * 11.5) !important;
  right: calc(var(--mini-u, 1px) * 16) !important;
  width: calc(var(--mini-u, 1px) * 24) !important;
  height: calc(var(--mini-u, 1px) * 24) !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #876846 !important;
  opacity: 0.9 !important;
  overflow: visible !important;
}

.app-shell:not(.is-home) #homeBackButton.home-back-button::before,
.app-shell:not(.is-home) #homeBackButton.home-back-button::after,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span::before,
.app-shell:not(.is-home) #homeBackButton.home-back-button > span::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.app-shell:not(.is-home) #homeBackButton .home-back-icon {
  width: calc(var(--mini-u, 1px) * 19) !important;
  height: calc(var(--mini-u, 1px) * 19) !important;
  display: block !important;
  color: currentColor !important;
  opacity: 1 !important;
  overflow: visible !important;
  transform: none !important;
}

.app-shell:not(.is-home) #homeBackButton .home-back-icon path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 24px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
}

/* Actual EOF icon fix v265: use the supplied filled outline home glyph, not a thick stroke. */
.app-shell:not(.is-home) #homeBackButton .home-back-icon path {
  fill: currentColor !important;
  stroke: none !important;
  stroke-width: 0 !important;
  vector-effect: none !important;
}

/* Absolute final icon guard v266. */
.app-shell:not(.is-home) #homeBackButton .home-back-icon path {
  fill: currentColor !important;
  stroke: none !important;
  stroke-width: 0 !important;
  vector-effect: none !important;
}


/* Homepage selection card compact spacing v273: reduce loose gaps inside the selection card only. */
.app-shell.is-home .home-selection-card {
  grid-template-columns: calc(var(--home-u) * 100) minmax(0, 1fr) !important;
  gap: calc(var(--home-u) * 7) calc(var(--home-u) * 7) !important;
}

.app-shell.is-home .home-selection-card .home-card-copy p {
  margin-top: calc(var(--home-u) * 5) !important;
}

.app-shell.is-home .home-selection-card .home-service-row {
  gap: calc(var(--home-u) * 6) calc(var(--home-u) * 3) !important;
  align-self: center !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(var(--home-u) * 31) auto auto !important;
  row-gap: calc(var(--home-u) * 0.8) !important;
  align-content: center !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon {
  width: calc(var(--home-u) * 29) !important;
  height: calc(var(--home-u) * 29) !important;
  min-width: calc(var(--home-u) * 29) !important;
  min-height: calc(var(--home-u) * 29) !important;
  margin: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  margin: 0 !important;
  line-height: calc(var(--home-u) * 10.5) !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  margin: calc(var(--home-u) * -0.8) 0 0 !important;
  line-height: calc(var(--home-u) * 8.4) !important;
}

/* Homepage selection card layout repair v275: keep icon copy compact without squeezing the image/CTA. */
.app-shell.is-home .home-selection-card {
  grid-template-columns: calc(var(--home-u) * 118) minmax(0, 1fr) !important;
  grid-template-rows: calc(var(--home-u) * 50) minmax(0, 1fr) calc(var(--home-u) * 30) !important;
  grid-template-areas:
    "copy image"
    "icons image"
    "button image" !important;
  gap: calc(var(--home-u) * 8) calc(var(--home-u) * 13) !important;
  align-items: stretch !important;
}

.app-shell.is-home .home-selection-card .home-card-copy {
  grid-area: copy !important;
  width: calc(var(--home-u) * 118) !important;
  min-width: 0 !important;
  max-width: calc(var(--home-u) * 118) !important;
}

.app-shell.is-home .home-selection-card .home-card-copy p {
  margin-top: calc(var(--home-u) * 3.5) !important;
}

.app-shell.is-home .home-selection-card .home-service-row {
  grid-area: icons !important;
  width: calc(var(--home-u) * 118) !important;
  min-width: 0 !important;
  max-width: calc(var(--home-u) * 118) !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: calc(var(--home-u) * 6) calc(var(--home-u) * 8) !important;
  align-self: start !important;
  align-content: start !important;
  align-items: start !important;
  padding: calc(var(--home-u) * 1) 0 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  min-height: calc(var(--home-u) * 58) !important;
  display: grid !important;
  grid-template-rows: calc(var(--home-u) * 36) calc(var(--home-u) * 12) calc(var(--home-u) * 9) !important;
  row-gap: calc(var(--home-u) * 1) !important;
  align-content: start !important;
  justify-items: center !important;
  text-align: center !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon {
  width: calc(var(--home-u) * 36) !important;
  height: calc(var(--home-u) * 36) !important;
  min-width: calc(var(--home-u) * 36) !important;
  min-height: calc(var(--home-u) * 36) !important;
  margin: 0 !important;
  align-self: center !important;
}

.app-shell.is-home .home-selection-card .home-mini-icon svg,
.app-shell.is-home .home-selection-card .home-mini-icon svg *,
.app-shell.is-home .home-selection-card .home-mini-icon use {
  stroke-width: 1.45px !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  margin: 0 !important;
  font-size: calc(var(--home-u) * 9.9) !important;
  line-height: calc(var(--home-u) * 11.4) !important;
  color: #2f241d !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  margin: 0 !important;
  font-size: calc(var(--home-u) * 7) !important;
  line-height: calc(var(--home-u) * 8.5) !important;
  color: rgba(78, 69, 61, 0.42) !important;
}

.app-shell.is-home .home-selection-card .home-enter-button {
  grid-area: button !important;
  align-self: end !important;
  justify-self: start !important;
  margin-top: 0 !important;
}

.app-shell.is-home .home-selection-card .home-interior-slot {
  grid-area: image !important;
  min-width: 0 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-selection-card {
    grid-template-columns: calc(var(--home-u) * 114) minmax(0, 1fr) !important;
    gap: calc(var(--home-u) * 7) calc(var(--home-u) * 10) !important;
  }

  .app-shell.is-home .home-selection-card .home-card-copy,
  .app-shell.is-home .home-selection-card .home-service-row {
    width: calc(var(--home-u) * 114) !important;
    max-width: calc(var(--home-u) * 114) !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row {
    column-gap: calc(var(--home-u) * 6) !important;
  }

  .app-shell.is-home .home-selection-card .home-mini-icon {
    width: calc(var(--home-u) * 34) !important;
    height: calc(var(--home-u) * 34) !important;
    min-width: calc(var(--home-u) * 34) !important;
    min-height: calc(var(--home-u) * 34) !important;
  }
}


.loading-screen.is-hidden {
  pointer-events: none !important;
}

/* Color switch PNG reveal: JS reveals a temporary clone of the target PNG only. */
.app-shell:not(.is-home) .media-stage.is-png-revealing {
  overflow: hidden !important;
}

.app-shell:not(.is-home) .media-stage.is-png-revealing::before,
.app-shell:not(.is-home) .media-stage.is-png-revealing::after {
  display: none !important;
  content: none !important;
}

.app-shell:not(.is-home) .media-stage .is-png-reveal-armed,
.app-shell:not(.is-home) .media-stage .is-png-reveal-target {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
  filter: none !important;
}

.app-shell:not(.is-home) .media-stage .is-png-reveal-armed {
  opacity: 0 !important;
}

.app-shell:not(.is-home) .media-stage .png-reveal-previous,
.app-shell:not(.is-home) .media-stage .png-reveal-clone {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  animation: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  will-change: clip-path !important;
}

.app-shell:not(.is-home) .media-stage .png-reveal-previous {
  z-index: 24 !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip-path: inset(0 0 0 0) !important;
}

.app-shell:not(.is-home) .media-stage .png-reveal-clone {
  z-index: 30 !important;
  clip-path: inset(0 100% 0 0);
}


.app-shell.is-home .home-address-link,
.app-shell.is-home .home-phone-link {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
  -webkit-tap-highlight-color: rgba(199, 154, 92, 0.16) !important;
}

/* Homepage selection icon crop v301: keep artwork size, shorten icon row spacing. */
.app-shell.is-home .home-selection-card .home-service-row > div {
  grid-template-rows: calc(var(--home-u) * 30) calc(var(--home-u) * 12) calc(var(--home-u) * 9) !important;
  row-gap: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: calc(var(--home-u) * 42) !important;
  height: calc(var(--home-u) * 42) !important;
  min-width: calc(var(--home-u) * 42) !important;
  min-height: calc(var(--home-u) * 42) !important;
  align-self: end !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon svg {
  width: 86% !important;
  height: 86% !important;
  transform: none !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon svg,
.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon svg *,
.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon use {
  stroke-width: 1.45px !important;
}

/* Homepage contact icon alignment v304: equal visual SVG sizes and readable text gap. */
.app-shell.is-home .home-contact-strip p,
.app-shell.is-home .home-contact-address,
.app-shell.is-home .home-contact-phone {
  display: block !important;
  align-items: center !important;
}

.app-shell.is-home .home-contact-strip .home-address-link,
.app-shell.is-home .home-contact-strip .home-phone-link {
  display: grid !important;
  grid-template-columns: calc(22 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(8.5 * var(--home-u)) !important;
  align-items: center !important;
  justify-content: start !important;
  justify-items: start !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
}

.app-shell.is-home .home-contact-icon,
.app-shell.is-home .home-phone-icon {
  width: calc(22 * var(--home-u)) !important;
  height: calc(22 * var(--home-u)) !important;
  min-width: calc(22 * var(--home-u)) !important;
  min-height: calc(22 * var(--home-u)) !important;
  transform: none !important;
  justify-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.app-shell.is-home .home-contact-phone .home-contact-icon,
.app-shell.is-home .home-contact-phone .home-phone-icon {
  transform: none !important;
}

.app-shell.is-home .home-contact-icon svg,
.app-shell.is-home .home-phone-icon svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
}

.app-shell.is-home .home-phone-icon svg {
  width: 78% !important;
  height: 78% !important;
}

.app-shell.is-home .home-contact-strip strong {
  padding-left: 0 !important;
}

/* Selection view/bird switch fade v306: keep old stacked PNGs visible until the new stack is ready. */
.app-shell:not(.is-home) .media-stage.is-view-switching {
  overflow: hidden !important;
}

.app-shell:not(.is-home) .media-stage .view-switch-snapshot {
  position: absolute !important;
  inset: 0 !important;
  z-index: 46 !important;
  display: block !important;
  overflow: hidden !important;
  pointer-events: none !important;
  opacity: 1 !important;
  filter: brightness(1) saturate(1) !important;
  transition:
    opacity 320ms ease-out,
    filter 320ms ease-out !important;
}

.app-shell:not(.is-home) .media-stage .view-switch-snapshot.is-leaving {
  opacity: 0 !important;
  filter: brightness(1.03) saturate(1.01) !important;
}

.app-shell:not(.is-home) .media-stage .view-switch-snapshot img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  animation: none !important;
  filter: none !important;
  clip-path: inset(0 0 0 0) !important;
}

.app-shell:not(.is-home) .media-stage.is-view-switching:not(.is-point-switching) .scene-image.is-fade-entering,
.app-shell:not(.is-home) .media-stage.is-view-switching:not(.is-point-switching) .preview-image.is-fade-entering,
.app-shell:not(.is-home) .media-stage.is-view-switching:not(.is-point-switching) .image-overlay-stack img.is-fade-entering {
  animation: none !important;
  opacity: 1 !important;
  filter: none !important;
  clip-path: inset(0 0 0 0) !important;
}
/* Submit confirmation page: single scoped phone-canvas layout. */
body.is-submit-open {
  overflow: hidden !important;
}

.submit-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1200 !important;
  display: none !important;
  place-items: center !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: rgba(255, 253, 249, 0.96) !important;
}

.submit-modal.is-open,
body.is-submit-open .submit-modal {
  display: grid !important;
}

.app-shell:not(.is-home) .submit-dialog.submit-page,
.submit-dialog.submit-page {
  --submit-u: min(calc(100vw / 375), calc(100dvh / 812)) !important;
  --submit-w: calc(var(--submit-u) * 375) !important;
  --submit-h: calc(var(--submit-u) * 812) !important;
  position: relative !important;
  width: var(--submit-w) !important;
  height: var(--submit-h) !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 18% 5%, rgba(238, 216, 183, 0.42), transparent 30%),
    linear-gradient(180deg, #fffaf2 0%, #f7efe4 100%) !important;
  box-shadow: none !important;
  color: #2d251f !important;
  transform: none !important;
}

.app-shell:not(.is-home) .submit-dialog.submit-page::before,
.app-shell:not(.is-home) .submit-dialog.submit-page::after,
.submit-dialog.submit-page::before,
.submit-dialog.submit-page::after {
  display: none !important;
  content: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-page-topbar.topbar,
.submit-page .submit-page-topbar.topbar {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  width: auto !important;
  height: calc(var(--submit-u) * 68) !important;
  min-height: 0 !important;
  padding: calc(var(--submit-u) * 9) calc(var(--submit-u) * 48) calc(var(--submit-u) * 6) calc(var(--submit-u) * 12) !important;
  display: grid !important;
  grid-template-rows: calc(var(--submit-u) * 24) calc(var(--submit-u) * 24) !important;
  align-content: center !important;
  gap: calc(var(--submit-u) * 2) !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.submit-page .submit-page-topbar .house-control {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(var(--submit-u) * 5) !important;
}

.submit-page .submit-page-topbar .house-label {
  color: rgba(48, 39, 31, 0.58) !important;
  font-size: calc(var(--submit-u) * 8.6) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.submit-page .submit-house-tabs {
  min-width: 0 !important;
  height: calc(var(--submit-u) * 22) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(var(--submit-u) * 5) !important;
}

.submit-page .submit-house-tab {
  min-width: calc(var(--submit-u) * 48) !important;
  height: calc(var(--submit-u) * 22) !important;
  min-height: 0 !important;
  padding: 0 calc(var(--submit-u) * 7) !important;
  display: grid !important;
  place-items: center !important;
  border: calc(var(--submit-u) * 0.7) solid rgba(202, 160, 100, 0.26) !important;
  border-radius: calc(var(--submit-u) * 7) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: #6a5543 !important;
  font-size: calc(var(--submit-u) * 9.8) !important;
  font-weight: 780 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.submit-page .submit-house-tab.is-active {
  border-color: rgba(191, 139, 75, 0.46) !important;
  background: linear-gradient(180deg, #f0dcc0 0%, #d5b386 100%) !important;
  color: #3d2d21 !important;
}

.submit-page .brand-title {
  min-width: 0 !important;
  text-align: center !important;
  pointer-events: none !important;
}

.submit-page .brand-title h1 {
  margin: 0 !important;
  color: #2f251d !important;
  font-size: calc(var(--submit-u) * 15.5) !important;
  font-weight: 820 !important;
  line-height: calc(var(--submit-u) * 20) !important;
  letter-spacing: calc(var(--submit-u) * 0.4) !important;
}

.submit-page .submit-close {
  position: absolute !important;
  right: calc(var(--submit-u) * 13) !important;
  top: calc(var(--submit-u) * 16) !important;
  width: calc(var(--submit-u) * 34) !important;
  height: calc(var(--submit-u) * 28) !important;
  min-width: 34px !important;
  min-height: 28px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #8a6f4e !important;
  font-size: calc(var(--submit-u) * 10.5) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  transform: none !important;
}

.submit-page .submit-close::before,
.submit-page .submit-close::after {
  display: none !important;
  content: none !important;
}

.submit-page .submit-close span {
  display: inline !important;
}

.app-shell:not(.is-home) .submit-page .submit-main-grid.main-grid,
.submit-page .submit-main-grid.main-grid {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(var(--submit-u) * 68) !important;
  bottom: calc(var(--submit-u) * 8) !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  transform: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-bird-panel.bird-panel,
.submit-page .submit-bird-panel.bird-panel {
  position: absolute !important;
  left: calc(var(--submit-u) * 7) !important;
  right: calc(var(--submit-u) * 7) !important;
  top: 0 !important;
  width: auto !important;
  height: calc(var(--submit-u) * 284) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: calc(var(--submit-u) * 38) calc(var(--submit-u) * 8) calc(var(--submit-u) * 9) !important;
  display: block !important;
  overflow: hidden !important;
  border: calc(var(--submit-u) * 0.6) solid rgba(204, 166, 112, 0.2) !important;
  border-radius: calc(var(--submit-u) * 14) !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 calc(var(--submit-u) * 3) calc(var(--submit-u) * 12) rgba(95, 70, 44, 0.055) !important;
  transform: none !important;
}

.submit-page .submit-bird-panel .section-heading,
.submit-page .submit-review-panel .section-heading {
  position: absolute !important;
  left: calc(var(--submit-u) * 13) !important;
  right: calc(var(--submit-u) * 13) !important;
  top: calc(var(--submit-u) * 9) !important;
  height: calc(var(--submit-u) * 20) !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: calc(var(--submit-u) * 6) !important;
}

.submit-page .section-heading span {
  width: calc(var(--submit-u) * 20) !important;
  height: calc(var(--submit-u) * 20) !important;
  min-width: calc(var(--submit-u) * 20) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #d5b386 !important;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: calc(var(--submit-u) * 11) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.submit-page .section-heading strong {
  color: #30251d !important;
  font-size: calc(var(--submit-u) * 17.5) !important;
  font-weight: 860 !important;
  line-height: 1 !important;
  letter-spacing: calc(var(--submit-u) * 0.4) !important;
  white-space: nowrap !important;
}

.submit-page .submit-review-panel .section-heading em {
  display: none !important;
}

.submit-page .submit-bird-tabs.bird-tabs {
  position: absolute !important;
  right: calc(var(--submit-u) * 13) !important;
  top: calc(var(--submit-u) * 10) !important;
  height: calc(var(--submit-u) * 22) !important;
  display: flex !important;
  align-items: center !important;
  gap: calc(var(--submit-u) * 5) !important;
  z-index: 5 !important;
}

.submit-page .submit-bird-tab {
  min-width: calc(var(--submit-u) * 48) !important;
  height: calc(var(--submit-u) * 22) !important;
  min-height: 0 !important;
  padding: 0 calc(var(--submit-u) * 8) !important;
  border: calc(var(--submit-u) * 0.6) solid rgba(190, 142, 76, 0.2) !important;
  border-radius: calc(var(--submit-u) * 7) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: #6a5543 !important;
  font-size: calc(var(--submit-u) * 9.4) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.submit-page .submit-bird-tab.is-active {
  border-color: rgba(191, 139, 75, 0.44) !important;
  background: linear-gradient(180deg, #f0dcc0 0%, #d5b386 100%) !important;
  color: #3d2d21 !important;
}

.submit-page .submit-bird-tab.is-disabled {
  opacity: 0.42 !important;
}

.app-shell:not(.is-home) .submit-page .submit-bird-stage.media-stage,
.submit-page .submit-bird-stage.media-stage {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: calc(var(--submit-u) * 10) !important;
  background: #f7f1e8 !important;
}

.submit-page .submit-bird-stage img,
.submit-page .submit-bird-stage .image-overlay-stack img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.submit-page .submit-bird-stage .submit-bird-base {
  z-index: 1 !important;
}

.submit-page .submit-bird-stage .submit-bird-overlay-stack {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-form,
.submit-page .submit-form {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(var(--submit-u) * 296) !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .submit-page .submit-review-panel.bottom-panel,
.submit-page .submit-review-panel.bottom-panel {
  position: absolute !important;
  left: calc(var(--submit-u) * 7) !important;
  right: calc(var(--submit-u) * 7) !important;
  top: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: calc(var(--submit-u) * 34) calc(var(--submit-u) * 8) calc(var(--submit-u) * 6) !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) calc(var(--submit-u) * 12) calc(var(--submit-u) * 31) !important;
  gap: calc(var(--submit-u) * 4) !important;
  overflow: hidden !important;
  border: calc(var(--submit-u) * 0.6) solid rgba(204, 166, 112, 0.2) !important;
  border-radius: calc(var(--submit-u) * 14) !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 calc(var(--submit-u) * 3) calc(var(--submit-u) * 12) rgba(95, 70, 44, 0.055) !important;
  transform: none !important;
}

.submit-page .submit-review-content {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: calc(var(--submit-u) * 5) !important;
  overflow: hidden !important;
}

.submit-page .submit-selected-section,
.submit-page .submit-customer-section {
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: calc(var(--submit-u) * 14) minmax(0, 1fr) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
}

.submit-page .submit-customer-section {
  grid-template-rows: calc(var(--submit-u) * 14) auto !important;
}

.submit-page .submit-section-title {
  min-height: 0 !important;
  height: calc(var(--submit-u) * 14) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: calc(var(--submit-u) * 8) !important;
}

.submit-page .submit-section-title span {
  color: #30251d !important;
  font-size: calc(var(--submit-u) * 10.2) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.submit-page .submit-section-title em {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(60, 50, 42, 0.54) !important;
  font-size: calc(var(--submit-u) * 7.8) !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-list,
.submit-page .submit-selection-list {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row,
.submit-page .submit-selection-row {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: calc(var(--submit-u) * 3) !important;
  display: grid !important;
  grid-template-columns: calc(var(--submit-u) * 39) minmax(0, 1fr) !important;
  grid-template-rows: 1fr 1fr !important;
  column-gap: calc(var(--submit-u) * 4) !important;
  row-gap: 0 !important;
  align-items: center !important;
  border: calc(var(--submit-u) * 0.55) solid rgba(197, 154, 93, 0.16) !important;
  border-radius: calc(var(--submit-u) * 8) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.submit-page .submit-selection-row::before {
  display: none !important;
  content: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-thumb,
.submit-page .submit-selection-thumb {
  position: relative !important;
  grid-row: 1 / 3 !important;
  width: calc(var(--submit-u) * 39) !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: calc(var(--submit-u) * 6) !important;
  background: #f3eee6 !important;
}

.submit-page .submit-selection-thumb img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.submit-page .submit-selection-thumb span {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  min-width: calc(var(--submit-u) * 15) !important;
  height: calc(var(--submit-u) * 15) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 0 0 calc(var(--submit-u) * 5) 0 !important;
  color: #fff !important;
  background: #d1aa77 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: calc(var(--submit-u) * 7) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row strong,
.app-shell:not(.is-home) .submit-page .submit-selection-row em,
.submit-page .submit-selection-row strong,
.submit-page .submit-selection-row em {
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row strong,
.submit-page .submit-selection-row strong {
  align-self: end !important;
  color: #2f251d !important;
  font-size: calc(var(--submit-u) * 8.6) !important;
  font-weight: 850 !important;
  line-height: calc(var(--submit-u) * 11) !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row em,
.submit-page .submit-selection-row em {
  align-self: start !important;
  color: rgba(57, 46, 38, 0.55) !important;
  font-size: calc(var(--submit-u) * 7.1) !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: calc(var(--submit-u) * 9) !important;
}

.app-shell:not(.is-home) .submit-page .submit-info-grid,
.submit-page .submit-info-grid {
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, calc(var(--submit-u) * 34)) !important;
  gap: calc(var(--submit-u) * 4) !important;
}

.app-shell:not(.is-home) .submit-page .submit-field,
.app-shell:not(.is-home) .submit-page .submit-readonly-field,
.submit-page .submit-field,
.submit-page .submit-readonly-field {
  min-width: 0 !important;
  min-height: 0 !important;
  height: calc(var(--submit-u) * 34) !important;
  padding: calc(var(--submit-u) * 4.2) calc(var(--submit-u) * 7) !important;
  display: grid !important;
  align-content: center !important;
  gap: calc(var(--submit-u) * 2.6) !important;
  border: calc(var(--submit-u) * 0.55) solid rgba(197, 154, 93, 0.16) !important;
  border-radius: calc(var(--submit-u) * 8) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: none !important;
}

.submit-page .submit-field::before,
.submit-page .submit-readonly-field::before {
  display: none !important;
  content: none !important;
}

.submit-page .submit-field span,
.submit-page .submit-readonly-field span {
  color: rgba(57, 46, 38, 0.56) !important;
  font-size: calc(var(--submit-u) * 7) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.app-shell:not(.is-home) .submit-page .submit-field input,
.app-shell:not(.is-home) .submit-page .submit-readonly-field strong,
.submit-page .submit-field input,
.submit-page .submit-readonly-field strong {
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  height: calc(var(--submit-u) * 15) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #30251d !important;
  font-size: calc(var(--submit-u) * 9.3) !important;
  font-weight: 830 !important;
  line-height: calc(var(--submit-u) * 15) !important;
  outline: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.submit-page .submit-field input::placeholder {
  color: rgba(72, 54, 38, 0.33) !important;
  font-weight: 650 !important;
}

.submit-page .submit-message {
  min-height: 0 !important;
  height: calc(var(--submit-u) * 12) !important;
  margin: 0 !important;
  padding: 0 calc(var(--submit-u) * 2) !important;
  overflow: hidden !important;
  color: rgba(60, 50, 42, 0.62) !important;
  font-size: calc(var(--submit-u) * 8) !important;
  font-weight: 650 !important;
  line-height: calc(var(--submit-u) * 12) !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.submit-page .submit-message[data-type="error"] {
  color: #a0442f !important;
}

.submit-page .submit-message[data-type="success"] {
  color: #4f7b39 !important;
}

.submit-page .submit-actions {
  min-height: 0 !important;
  height: calc(var(--submit-u) * 31) !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr) !important;
  gap: calc(var(--submit-u) * 7) !important;
}

.submit-page .submit-secondary,
.submit-page .submit-primary {
  min-height: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: calc(var(--submit-u) * 8) !important;
  color: #fff !important;
  font-size: calc(var(--submit-u) * 10.5) !important;
  font-weight: 900 !important;
  letter-spacing: calc(var(--submit-u) * 0.6) !important;
  line-height: 1 !important;
  background: linear-gradient(180deg, #dcbf95 0%, #bf8e55 100%) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.submit-page .submit-secondary {
  color: #6f4d28 !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: inset 0 0 0 calc(var(--submit-u) * 0.7) rgba(196, 150, 86, 0.22) !important;
}

.submit-page .submit-primary:disabled {
  opacity: 0.56 !important;
  cursor: wait !important;
}

/* Homepage disclaimer v314: show the legal note at the very bottom without competing with contact info. */
.app-shell.is-home {
  --home-canvas-h: calc(936 * var(--home-u)) !important;
}

.app-shell.is-home .home-screen {
  height: calc(936 * var(--home-u)) !important;
  min-height: calc(936 * var(--home-u)) !important;
  max-height: none !important;
  overflow: visible !important;
}

.app-shell.is-home .home-footnote {
  position: absolute !important;
  left: calc(14 * var(--home-u)) !important;
  right: calc(14 * var(--home-u)) !important;
  top: calc(891 * var(--home-u)) !important;
  height: calc(38 * var(--home-u)) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 calc(2 * var(--home-u)) !important;
  display: block !important;
  overflow: hidden !important;
  color: rgba(61, 50, 42, 0.48) !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: calc(7.2 * var(--home-u)) !important;
  font-weight: 520 !important;
  line-height: calc(9.5 * var(--home-u)) !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
  text-align: left !important;
}

@media (max-width: 390px) {
  .app-shell.is-home .home-footnote {
    left: calc(12 * var(--home-u)) !important;
    right: calc(12 * var(--home-u)) !important;
    font-size: calc(6.8 * var(--home-u)) !important;
    line-height: calc(9 * var(--home-u)) !important;
  }
}

/* Submit review v315: only replace the bottom review area; keep the selection page preview above intact. */
body.is-submit-open {
  overflow: hidden !important;
}

.submit-modal {
  background: transparent !important;
  pointer-events: none !important;
}

.submit-modal.is-open,
body.is-submit-open .submit-modal {
  display: block !important;
}

.submit-dialog.submit-page {
  --submit-u: var(--mini-u, min(calc(100vw / 375), calc(100dvh / 811))) !important;
  position: fixed !important;
  left: 50% !important;
  top: 0 !important;
  width: calc(var(--submit-u) * 375) !important;
  height: min(100dvh, calc(var(--submit-u) * 811)) !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.submit-page .submit-page-topbar,
.submit-page .submit-bird-panel {
  display: none !important;
}

.submit-page .submit-main-grid.main-grid {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: visible !important;
  pointer-events: none !important;
}

.submit-page .submit-form {
  position: absolute !important;
  left: calc(var(--submit-u) * 9) !important;
  right: calc(var(--submit-u) * 9) !important;
  top: calc(var(--submit-u) * 598) !important;
  bottom: calc(var(--submit-u) * 1) !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.submit-page .submit-review-panel.bottom-panel {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: calc(var(--submit-u) * 31) calc(var(--submit-u) * 8) calc(var(--submit-u) * 5) !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) calc(var(--submit-u) * 11) calc(var(--submit-u) * 29) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
  border: calc(var(--submit-u) * 0.7) solid #f0ece6 !important;
  border-radius: calc(var(--submit-u) * 9) !important;
  background: rgba(255, 255, 255, 0.985) !important;
  box-shadow:
    0 calc(var(--submit-u) * 4) calc(var(--submit-u) * 18) rgba(92, 68, 42, 0.055),
    inset 0 calc(var(--submit-u) * 1) 0 rgba(255, 255, 255, 0.94) !important;
  pointer-events: auto !important;
}

.submit-page .submit-review-panel .section-heading {
  position: absolute !important;
  left: calc(var(--submit-u) * 11) !important;
  right: calc(var(--submit-u) * 11) !important;
  top: calc(var(--submit-u) * 8) !important;
  height: calc(var(--submit-u) * 18) !important;
  display: flex !important;
  align-items: center !important;
  gap: calc(var(--submit-u) * 7) !important;
}

.submit-page .submit-review-panel .section-heading span {
  width: calc(var(--submit-u) * 16) !important;
  height: calc(var(--submit-u) * 16) !important;
  min-width: calc(var(--submit-u) * 16) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #c69d63 !important;
  color: #fff !important;
  font-size: calc(var(--submit-u) * 9) !important;
  font-weight: 900 !important;
}

.submit-page .submit-review-panel .section-heading strong {
  color: #201b16 !important;
  font-size: calc(var(--submit-u) * 14) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.submit-page .submit-review-panel .section-heading em {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #9d968d !important;
  font-size: calc(var(--submit-u) * 8.2) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.submit-page .submit-review-content {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: calc(var(--submit-u) * 6) !important;
  overflow: hidden !important;
}

.submit-page .submit-selected-section,
.submit-page .submit-customer-section {
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: calc(var(--submit-u) * 14) minmax(0, 1fr) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
}

.submit-page .submit-section-title {
  height: calc(var(--submit-u) * 14) !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: calc(var(--submit-u) * 5) !important;
}

.submit-page .submit-section-title span {
  color: #30251d !important;
  font-size: calc(var(--submit-u) * 10) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.submit-page .submit-section-title em {
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(60, 50, 42, 0.48) !important;
  font-size: calc(var(--submit-u) * 7.2) !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.submit-page .submit-selection-list {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
}

.submit-page .submit-selection-row {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: calc(var(--submit-u) * 3) !important;
  display: grid !important;
  grid-template-columns: calc(var(--submit-u) * 30) minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: calc(var(--submit-u) * 3) !important;
  row-gap: 0 !important;
  align-items: center !important;
  overflow: hidden !important;
  border: calc(var(--submit-u) * 0.55) solid rgba(197, 154, 93, 0.14) !important;
  border-radius: calc(var(--submit-u) * 6) !important;
  background: rgba(250, 247, 241, 0.88) !important;
  box-shadow: none !important;
}

.submit-page .submit-selection-thumb {
  position: relative !important;
  grid-row: 1 / 3 !important;
  width: calc(var(--submit-u) * 30) !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: calc(var(--submit-u) * 5) !important;
  background: #f0e8dd !important;
}

.submit-page .submit-selection-thumb img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.submit-page .submit-selection-thumb span {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: calc(var(--submit-u) * 13) !important;
  height: calc(var(--submit-u) * 13) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 0 0 calc(var(--submit-u) * 4) 0 !important;
  color: #fff !important;
  background: #c69d63 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: calc(var(--submit-u) * 6.2) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.submit-page .submit-selection-row strong,
.submit-page .submit-selection-row em {
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.submit-page .submit-selection-row strong {
  align-self: end !important;
  color: #2f251d !important;
  font-size: calc(var(--submit-u) * 7.7) !important;
  font-weight: 850 !important;
  line-height: calc(var(--submit-u) * 9.5) !important;
}

.submit-page .submit-selection-row em {
  align-self: start !important;
  color: rgba(57, 46, 38, 0.56) !important;
  font-size: calc(var(--submit-u) * 6.6) !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: calc(var(--submit-u) * 8.2) !important;
}

.submit-page .submit-info-grid {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
}

.submit-page .submit-field,
.submit-page .submit-readonly-field {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: calc(var(--submit-u) * 3.4) calc(var(--submit-u) * 6) !important;
  display: grid !important;
  align-content: center !important;
  gap: calc(var(--submit-u) * 2) !important;
  border: calc(var(--submit-u) * 0.55) solid rgba(197, 154, 93, 0.14) !important;
  border-radius: calc(var(--submit-u) * 6) !important;
  background: rgba(250, 247, 241, 0.88) !important;
  box-shadow: none !important;
}

.submit-page .submit-field span,
.submit-page .submit-readonly-field span {
  color: rgba(57, 46, 38, 0.56) !important;
  font-size: calc(var(--submit-u) * 6.6) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.submit-page .submit-field input,
.submit-page .submit-readonly-field strong {
  width: 100% !important;
  min-width: 0 !important;
  height: calc(var(--submit-u) * 13) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  color: #30251d !important;
  font-size: calc(var(--submit-u) * 8.4) !important;
  font-weight: 830 !important;
  line-height: calc(var(--submit-u) * 13) !important;
  outline: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.submit-page .submit-message {
  height: calc(var(--submit-u) * 11) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 calc(var(--submit-u) * 2) !important;
  overflow: hidden !important;
  color: rgba(60, 50, 42, 0.62) !important;
  font-size: calc(var(--submit-u) * 7.4) !important;
  font-weight: 650 !important;
  line-height: calc(var(--submit-u) * 11) !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.submit-page .submit-actions {
  height: calc(var(--submit-u) * 29) !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr) !important;
  gap: calc(var(--submit-u) * 7) !important;
}

.submit-page .submit-secondary,
.submit-page .submit-primary {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: calc(var(--submit-u) * 7) !important;
  font-size: calc(var(--submit-u) * 10) !important;
  font-weight: 900 !important;
  letter-spacing: calc(var(--submit-u) * 0.5) !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

/* Submit review v316: stronger scope to beat older confirmation-page overrides. */
.app-shell:not(.is-home) .submit-dialog.submit-page {
  --submit-u: var(--mini-u, min(calc(100vw / 375), calc(100dvh / 811))) !important;
  position: fixed !important;
  left: 50% !important;
  top: 0 !important;
  width: calc(var(--submit-u) * 375) !important;
  height: min(100dvh, calc(var(--submit-u) * 811)) !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-page-topbar.topbar,
.app-shell:not(.is-home) .submit-page .submit-bird-panel.bird-panel {
  display: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-main-grid.main-grid {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  pointer-events: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-form {
  position: absolute !important;
  left: calc(var(--submit-u) * 9) !important;
  right: calc(var(--submit-u) * 9) !important;
  top: calc(var(--submit-u) * 598) !important;
  bottom: calc(var(--submit-u) * 1) !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.app-shell:not(.is-home) .submit-page .submit-review-panel.bottom-panel {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: calc(var(--submit-u) * 31) calc(var(--submit-u) * 8) calc(var(--submit-u) * 5) !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) calc(var(--submit-u) * 11) calc(var(--submit-u) * 29) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
  border: calc(var(--submit-u) * 0.7) solid #f0ece6 !important;
  border-radius: calc(var(--submit-u) * 9) !important;
  background: rgba(255, 255, 255, 0.985) !important;
  box-shadow:
    0 calc(var(--submit-u) * 4) calc(var(--submit-u) * 18) rgba(92, 68, 42, 0.055),
    inset 0 calc(var(--submit-u) * 1) 0 rgba(255, 255, 255, 0.94) !important;
  pointer-events: auto !important;
  transform: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-review-content {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: calc(var(--submit-u) * 6) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .submit-page .submit-selected-section,
.app-shell:not(.is-home) .submit-page .submit-customer-section {
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: calc(var(--submit-u) * 14) minmax(0, 1fr) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-list {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: calc(var(--submit-u) * 3) !important;
  display: grid !important;
  grid-template-columns: calc(var(--submit-u) * 30) minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: calc(var(--submit-u) * 3) !important;
  row-gap: 0 !important;
  align-items: center !important;
  overflow: hidden !important;
  border: calc(var(--submit-u) * 0.55) solid rgba(197, 154, 93, 0.14) !important;
  border-radius: calc(var(--submit-u) * 6) !important;
  background: rgba(250, 247, 241, 0.88) !important;
  box-shadow: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-thumb {
  position: relative !important;
  grid-row: 1 / 3 !important;
  width: calc(var(--submit-u) * 30) !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: calc(var(--submit-u) * 5) !important;
  background: #f0e8dd !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row strong {
  align-self: end !important;
  font-size: calc(var(--submit-u) * 7.7) !important;
  line-height: calc(var(--submit-u) * 9.5) !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row em {
  align-self: start !important;
  font-size: calc(var(--submit-u) * 6.6) !important;
  line-height: calc(var(--submit-u) * 8.2) !important;
}

.app-shell:not(.is-home) .submit-page .submit-info-grid {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  gap: calc(var(--submit-u) * 3) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .submit-page .submit-field,
.app-shell:not(.is-home) .submit-page .submit-readonly-field {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: calc(var(--submit-u) * 3.4) calc(var(--submit-u) * 6) !important;
  display: grid !important;
  align-content: center !important;
  gap: calc(var(--submit-u) * 2) !important;
  border: calc(var(--submit-u) * 0.55) solid rgba(197, 154, 93, 0.14) !important;
  border-radius: calc(var(--submit-u) * 6) !important;
  background: rgba(250, 247, 241, 0.88) !important;
  box-shadow: none !important;
}

/* Submit review v317: give the seven selected points a little more breathing room. */
.app-shell:not(.is-home) .submit-page .submit-form {
  top: calc(var(--submit-u) * 588) !important;
}

.app-shell:not(.is-home) .submit-page .submit-review-panel.bottom-panel {
  grid-template-rows: minmax(0, 1fr) calc(var(--submit-u) * 10) calc(var(--submit-u) * 29) !important;
  gap: calc(var(--submit-u) * 3) !important;
}

.app-shell:not(.is-home) .submit-page .submit-review-content {
  gap: calc(var(--submit-u) * 5) !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-list {
  gap: calc(var(--submit-u) * 2) !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row {
  grid-template-columns: calc(var(--submit-u) * 27) minmax(0, 1fr) !important;
  column-gap: calc(var(--submit-u) * 3) !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-thumb {
  width: calc(var(--submit-u) * 27) !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row strong {
  font-size: calc(var(--submit-u) * 7.5) !important;
  line-height: calc(var(--submit-u) * 9.3) !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row em {
  font-size: calc(var(--submit-u) * 6.4) !important;
  line-height: calc(var(--submit-u) * 8) !important;
}

/* Submit review v318: reuse the selection layout, replacing only panels 2 and 3. */
.submit-modal,
.submit-modal.is-open,
body.is-submit-open .submit-modal,
.app-shell:not(.is-home) .submit-modal,
.app-shell:not(.is-home) .submit-modal.is-open {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
  pointer-events: none !important;
}

.submit-modal.is-open,
body.is-submit-open .submit-modal {
  display: block !important;
}

body.is-submit-open .app-shell:not(.is-home) .app,
body.is-submit-open .app-shell:not(.is-home) .topbar,
body.is-submit-open .app-shell:not(.is-home) .main-grid,
body.is-submit-open .app-shell:not(.is-home) .bird-panel,
body.is-submit-open .app-shell:not(.is-home) .effect-panel,
body.is-submit-open .app-shell:not(.is-home) .bottom-panel,
body.is-submit-open .app-shell:not(.is-home) .media-stage,
body.is-submit-open .app-shell:not(.is-home) .scene-image,
body.is-submit-open .app-shell:not(.is-home) .preview-image,
body.is-submit-open .app-shell:not(.is-home) .image-overlay-stack img {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}

.app-shell:not(.is-home) .submit-dialog.submit-page,
.submit-dialog.submit-page {
  --submit-u: var(--mini-u, min(calc(100vw / 375), calc(100dvh / 811))) !important;
  position: fixed !important;
  left: 50% !important;
  top: 0 !important;
  width: calc(var(--submit-u) * 375) !important;
  height: min(100dvh, calc(var(--submit-u) * 811)) !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-page-topbar.topbar,
.app-shell:not(.is-home) .submit-page .submit-bird-panel.bird-panel {
  display: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-main-grid.main-grid,
.submit-page .submit-main-grid.main-grid,
.app-shell:not(.is-home) .submit-page .submit-form,
.submit-page .submit-form,
.app-shell:not(.is-home) .submit-page .submit-review-panel.bottom-panel,
.submit-page .submit-review-panel.bottom-panel {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  pointer-events: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-review-panel > .section-heading {
  display: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-review-content,
.submit-page .submit-review-content {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  overflow: visible !important;
  pointer-events: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-selected-section,
.app-shell:not(.is-home) .submit-page .submit-customer-section {
  position: absolute !important;
  left: calc(var(--submit-u) * 9) !important;
  width: calc(var(--submit-u) * 357) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border: calc(var(--submit-u) * 0.7) solid #f0ece6 !important;
  border-radius: calc(var(--submit-u) * 9) !important;
  background: rgba(255, 255, 255, 0.985) !important;
  box-shadow:
    0 calc(var(--submit-u) * 4) calc(var(--submit-u) * 18) rgba(92, 68, 42, 0.055),
    inset 0 calc(var(--submit-u) * 1) 0 rgba(255, 255, 255, 0.94) !important;
  pointer-events: auto !important;
}

.app-shell:not(.is-home) .submit-page .submit-selected-section {
  top: calc(var(--submit-u) * 384) !important;
  height: calc(var(--submit-u) * 204) !important;
}

.app-shell:not(.is-home) .submit-page .submit-customer-section {
  top: calc(var(--submit-u) * 590) !important;
  height: calc(var(--submit-u) * 218) !important;
}

.app-shell:not(.is-home) .submit-page .submit-section-title {
  position: absolute !important;
  left: calc(var(--submit-u) * 11) !important;
  right: calc(var(--submit-u) * 11) !important;
  top: calc(var(--submit-u) * 8) !important;
  height: calc(var(--submit-u) * 18) !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: calc(var(--submit-u) * 7) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .submit-page .submit-section-title::before {
  width: calc(var(--submit-u) * 16) !important;
  height: calc(var(--submit-u) * 16) !important;
  min-width: calc(var(--submit-u) * 16) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #c69d63 !important;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: calc(var(--submit-u) * 9) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.app-shell:not(.is-home) .submit-page .submit-selected-section .submit-section-title::before {
  content: "2" !important;
}

.app-shell:not(.is-home) .submit-page .submit-customer-section .submit-section-title::before {
  content: "3" !important;
}

.app-shell:not(.is-home) .submit-page .submit-section-title span {
  min-width: 0 !important;
  color: #201b16 !important;
  font-size: calc(var(--submit-u) * 14) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.app-shell:not(.is-home) .submit-page .submit-section-title em {
  min-width: 0 !important;
  margin-left: auto !important;
  overflow: hidden !important;
  color: #9d968d !important;
  font-size: calc(var(--submit-u) * 8.2) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-list {
  position: absolute !important;
  left: calc(var(--submit-u) * 9) !important;
  right: calc(var(--submit-u) * 9) !important;
  top: calc(var(--submit-u) * 34) !important;
  bottom: calc(var(--submit-u) * 8) !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  gap: calc(var(--submit-u) * 5) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: calc(var(--submit-u) * 4) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) calc(var(--submit-u) * 12) calc(var(--submit-u) * 10) !important;
  gap: calc(var(--submit-u) * 1) !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border: calc(var(--submit-u) * 0.55) solid rgba(197, 154, 93, 0.14) !important;
  border-radius: calc(var(--submit-u) * 6) !important;
  background: rgba(250, 247, 241, 0.88) !important;
  box-shadow: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-thumb {
  position: relative !important;
  grid-row: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: calc(var(--submit-u) * 4.5) !important;
  background: #f0e8dd !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-thumb img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-thumb span {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: calc(var(--submit-u) * 13) !important;
  height: calc(var(--submit-u) * 13) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 0 0 calc(var(--submit-u) * 4) 0 !important;
  color: #fff !important;
  background: #c69d63 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: calc(var(--submit-u) * 6.2) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row strong,
.app-shell:not(.is-home) .submit-page .submit-selection-row em {
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row strong {
  align-self: end !important;
  color: #2f251d !important;
  font-size: calc(var(--submit-u) * 8) !important;
  font-weight: 850 !important;
  line-height: calc(var(--submit-u) * 11) !important;
}

.app-shell:not(.is-home) .submit-page .submit-selection-row em {
  align-self: start !important;
  color: rgba(57, 46, 38, 0.56) !important;
  font-size: calc(var(--submit-u) * 6.8) !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: calc(var(--submit-u) * 9) !important;
}

.app-shell:not(.is-home) .submit-page .submit-info-grid {
  position: absolute !important;
  left: calc(var(--submit-u) * 10) !important;
  right: calc(var(--submit-u) * 10) !important;
  top: calc(var(--submit-u) * 36) !important;
  height: calc(var(--submit-u) * 116) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: calc(var(--submit-u) * 6) !important;
  overflow: hidden !important;
}

.app-shell:not(.is-home) .submit-page .submit-field,
.app-shell:not(.is-home) .submit-page .submit-readonly-field {
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: calc(var(--submit-u) * 6) calc(var(--submit-u) * 8) !important;
  display: grid !important;
  align-content: center !important;
  gap: calc(var(--submit-u) * 4) !important;
  overflow: hidden !important;
  border: calc(var(--submit-u) * 0.55) solid rgba(197, 154, 93, 0.14) !important;
  border-radius: calc(var(--submit-u) * 6) !important;
  background: rgba(250, 247, 241, 0.88) !important;
  box-shadow: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-field span,
.app-shell:not(.is-home) .submit-page .submit-readonly-field span {
  color: rgba(57, 46, 38, 0.56) !important;
  font-size: calc(var(--submit-u) * 7.2) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.app-shell:not(.is-home) .submit-page .submit-field input,
.app-shell:not(.is-home) .submit-page .submit-readonly-field strong {
  width: 100% !important;
  min-width: 0 !important;
  height: calc(var(--submit-u) * 17) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  color: #30251d !important;
  font-size: calc(var(--submit-u) * 10) !important;
  font-weight: 830 !important;
  line-height: calc(var(--submit-u) * 17) !important;
  outline: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.app-shell:not(.is-home) .submit-page .submit-message {
  position: absolute !important;
  left: calc(var(--submit-u) * 12) !important;
  right: calc(var(--submit-u) * 12) !important;
  top: calc(var(--submit-u) * 158) !important;
  height: calc(var(--submit-u) * 12) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: rgba(60, 50, 42, 0.62) !important;
  font-size: calc(var(--submit-u) * 7.4) !important;
  font-weight: 650 !important;
  line-height: calc(var(--submit-u) * 12) !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.app-shell:not(.is-home) .submit-page .submit-actions {
  position: absolute !important;
  left: calc(var(--submit-u) * 10) !important;
  right: calc(var(--submit-u) * 10) !important;
  bottom: calc(var(--submit-u) * 8) !important;
  height: calc(var(--submit-u) * 31) !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr) !important;
  gap: calc(var(--submit-u) * 8) !important;
}

.app-shell:not(.is-home) .submit-page .submit-secondary,
.app-shell:not(.is-home) .submit-page .submit-primary {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: calc(var(--submit-u) * 7) !important;
  font-size: calc(var(--submit-u) * 10) !important;
  font-weight: 900 !important;
  letter-spacing: calc(var(--submit-u) * 0.5) !important;
  line-height: 1 !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}

/* Submit review v319: align the replacement panels to the original canvas. */
.app-shell:not(.is-home) .submit-page .submit-selected-section,
.app-shell:not(.is-home) .submit-page .submit-customer-section {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  width: calc(var(--submit-u) * 357) !important;
  max-width: calc(100vw - 12px) !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  z-index: 2 !important;
}

.app-shell:not(.is-home) .submit-page .submit-selected-section {
  top: calc(var(--submit-u) * 384) !important;
  height: calc(var(--submit-u) * 204) !important;
}

.app-shell:not(.is-home) .submit-page .submit-customer-section {
  top: calc(var(--submit-u) * 590) !important;
  height: calc(var(--submit-u) * 210) !important;
}

.app-shell:not(.is-home) .submit-page .submit-info-grid {
  height: calc(var(--submit-u) * 106) !important;
}

.app-shell:not(.is-home) .submit-page .submit-message {
  top: calc(var(--submit-u) * 146) !important;
}

.app-shell:not(.is-home) .submit-page .submit-actions {
  bottom: calc(var(--submit-u) * 7) !important;
}

/* Submit review v320: fully replace panels 2 and 3 without showing old content through. */
.app-shell:not(.is-home) .submit-page .submit-selected-section,
.app-shell:not(.is-home) .submit-page .submit-customer-section {
  z-index: 30 !important;
  background: #fff !important;
}

/* Submit review v321: keep confirmation-page numbers in the same UI type style. */
.app-shell:not(.is-home) .submit-page .submit-section-title::before,
.app-shell:not(.is-home) .submit-page .submit-selection-thumb span {
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", system-ui, sans-serif !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
}

/* Point switch v322: make 7-point image changes feel like a real soft transition. */
.app-shell:not(.is-home) .media-stage.is-point-switching .view-switch-snapshot {
  transition:
    opacity 460ms cubic-bezier(0.22, 0.72, 0.22, 1),
    filter 460ms cubic-bezier(0.22, 0.72, 0.22, 1) !important;
}

.app-shell:not(.is-home) .media-stage.is-point-switching .view-switch-snapshot.is-leaving {
  opacity: 0 !important;
  filter: brightness(1.08) saturate(1.02) !important;
}

.app-shell:not(.is-home) .media-stage.is-point-switching .scene-image.is-fade-entering,
.app-shell:not(.is-home) .media-stage.is-point-switching .preview-image.is-fade-entering,
.app-shell:not(.is-home) .media-stage.is-point-switching .image-overlay-stack img.is-fade-entering {
  animation: point-image-soft-enter 460ms cubic-bezier(0.22, 0.72, 0.22, 1) both !important;
}

@keyframes point-image-soft-enter {
  from {
    opacity: 0.12;
    filter: brightness(1.05) saturate(0.96);
  }

  to {
    opacity: 1;
    filter: none;
  }
}

/* Bird view v278: reuse the effect-view tab sizing and fade the whole stack together. */
.app-shell:not(.is-home) .bird-tabs {
  width: calc(var(--mini-u) * 130) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.app-shell:not(.is-home) .bird-tab {
  font-size: calc(var(--mini-u) * 10.5) !important;
}

.app-shell:not(.is-home) .media-stage.scene-stage {
  transition:
    opacity 180ms ease-out,
    filter 180ms ease-out !important;
}

.app-shell:not(.is-home) .media-stage.scene-stage.is-bird-view-fading {
  opacity: 0 !important;
  filter: brightness(1.03) saturate(0.98) !important;
}

.app-shell:not(.is-home) .media-stage.scene-stage.is-bird-view-entering {
  animation: bird-view-stack-enter 240ms ease-out both !important;
}

@keyframes bird-view-stack-enter {
  from {
    opacity: 0;
    filter: brightness(1.03) saturate(0.98);
  }

  to {
    opacity: 1;
    filter: none;
  }
}

/* Submit success page v279: a screenshot-friendly reward page after lead submission. */
body.is-success-open {
  overflow: hidden !important;
}

.submit-success-screen {
  --success-u: var(--mini-u, min(calc(100vw / 375), calc(100dvh / 811)));
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: none;
  place-items: start center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 17%, rgba(255, 235, 178, 0.86) 0, rgba(255, 235, 178, 0) calc(var(--success-u) * 168)),
    linear-gradient(180deg, #fff8ea 0%, #f7ead6 48%, #ead4b4 100%);
}

.submit-success-screen.is-open {
  display: grid;
}

.submit-success-page {
  position: relative;
  width: min(100vw, calc(var(--success-u) * 375));
  height: min(100dvh, calc(var(--success-u) * 811));
  min-height: calc(var(--success-u) * 640);
  overflow: hidden;
  color: #2a2118;
  isolation: isolate;
}

.submit-success-page::before,
.submit-success-page::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.submit-success-page::before {
  inset: calc(var(--success-u) * 74) calc(var(--success-u) * 20) auto;
  height: calc(var(--success-u) * 430);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.76) 0 18%, rgba(255, 255, 255, 0) 56%),
    radial-gradient(circle, rgba(206, 156, 78, 0.2) 0, rgba(206, 156, 78, 0) 62%);
  filter: blur(calc(var(--success-u) * 0.2));
}

.submit-success-page::after {
  left: 50%;
  bottom: calc(var(--success-u) * -128);
  width: calc(var(--success-u) * 500);
  height: calc(var(--success-u) * 260);
  border-radius: 50%;
  background: rgba(132, 89, 43, 0.16);
  transform: translateX(-50%);
}

.success-rays {
  position: absolute;
  left: 50%;
  top: calc(var(--success-u) * -118);
  width: calc(var(--success-u) * 520);
  height: calc(var(--success-u) * 520);
  border-radius: 50%;
  opacity: 0.68;
  background:
    conic-gradient(
      from -18deg,
      rgba(205, 151, 62, 0) 0deg,
      rgba(205, 151, 62, 0.22) 9deg,
      rgba(205, 151, 62, 0) 18deg,
      rgba(205, 151, 62, 0) 36deg
    );
  transform: translateX(-50%);
  animation: success-rays-spin 13s linear infinite;
}

.success-confetti {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.success-confetti i {
  position: absolute;
  top: calc(var(--success-u) * -18);
  width: calc(var(--success-u) * 5);
  height: calc(var(--success-u) * 12);
  border-radius: calc(var(--success-u) * 2);
  background: #c99a57;
  opacity: 0;
  transform: translate3d(0, 0, 0) rotate(0deg);
}

.success-confetti i:nth-child(3n) {
  background: #fff2ca;
}

.success-confetti i:nth-child(3n + 1) {
  background: #9d6737;
}

.submit-success-screen.is-replaying .success-confetti i {
  animation: success-confetti-fall 1180ms cubic-bezier(0.16, 0.82, 0.34, 1) both;
}

.success-confetti i:nth-child(1) { left: 7%; animation-delay: 0ms; }
.success-confetti i:nth-child(2) { left: 13%; animation-delay: 78ms; }
.success-confetti i:nth-child(3) { left: 21%; animation-delay: 18ms; }
.success-confetti i:nth-child(4) { left: 29%; animation-delay: 132ms; }
.success-confetti i:nth-child(5) { left: 37%; animation-delay: 46ms; }
.success-confetti i:nth-child(6) { left: 45%; animation-delay: 156ms; }
.success-confetti i:nth-child(7) { left: 54%; animation-delay: 24ms; }
.success-confetti i:nth-child(8) { left: 61%; animation-delay: 116ms; }
.success-confetti i:nth-child(9) { left: 68%; animation-delay: 66ms; }
.success-confetti i:nth-child(10) { left: 75%; animation-delay: 144ms; }
.success-confetti i:nth-child(11) { left: 82%; animation-delay: 30ms; }
.success-confetti i:nth-child(12) { left: 90%; animation-delay: 108ms; }
.success-confetti i:nth-child(13) { left: 17%; animation-delay: 210ms; }
.success-confetti i:nth-child(14) { left: 42%; animation-delay: 238ms; }
.success-confetti i:nth-child(15) { left: 72%; animation-delay: 190ms; }
.success-confetti i:nth-child(16) { left: 86%; animation-delay: 254ms; }

.success-topline {
  position: absolute;
  left: calc(var(--success-u) * 18);
  right: calc(var(--success-u) * 18);
  top: calc(var(--success-u) * 18);
  height: calc(var(--success-u) * 32);
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(49, 37, 26, 0.66);
  font-size: calc(var(--success-u) * 11);
  font-weight: 800;
  letter-spacing: calc(var(--success-u) * 1.8);
}

.success-topline span {
  padding: calc(var(--success-u) * 7) calc(var(--success-u) * 12);
  border-radius: calc(var(--success-u) * 999);
  background: rgba(255, 255, 255, 0.54);
  box-shadow: inset 0 0 0 1px rgba(192, 143, 76, 0.18);
}

.success-topline strong {
  color: #7a4e23;
  font-size: calc(var(--success-u) * 14);
  font-weight: 950;
  letter-spacing: 0;
}

.success-medal {
  position: absolute;
  left: 50%;
  top: calc(var(--success-u) * 72);
  width: calc(var(--success-u) * 166);
  height: calc(var(--success-u) * 166);
  display: grid;
  place-items: center;
  transform: translateX(-50%);
}

.submit-success-screen.is-replaying .success-medal {
  animation: success-medal-pop 640ms cubic-bezier(0.18, 1.45, 0.26, 1) both;
}

.success-medal-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    linear-gradient(135deg, #fff4c5, #d5a35a 35%, #8d5528 64%, #ffefbd);
  box-shadow:
    0 calc(var(--success-u) * 18) calc(var(--success-u) * 38) rgba(122, 78, 35, 0.23),
    inset 0 calc(var(--success-u) * 3) calc(var(--success-u) * 8) rgba(255, 255, 255, 0.78);
}

.success-medal-ring::before {
  content: "";
  position: absolute;
  inset: calc(var(--success-u) * 11);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 22%, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0) 33%),
    linear-gradient(145deg, #f0c877, #a66d32);
  box-shadow: inset 0 0 0 calc(var(--success-u) * 1) rgba(90, 52, 20, 0.18);
}

.success-medal-core {
  position: relative;
  width: calc(var(--success-u) * 104);
  height: calc(var(--success-u) * 104);
  display: grid;
  place-items: center;
  align-content: center;
  gap: calc(var(--success-u) * 3);
  border-radius: 50%;
  color: #fff8df;
  background: rgba(75, 43, 19, 0.13);
}

.success-medal-core span {
  font-size: calc(var(--success-u) * 10);
  font-weight: 950;
  letter-spacing: calc(var(--success-u) * 2);
}

.success-medal-core strong {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--success-u) * 34);
  font-weight: 900;
  line-height: 0.9;
  text-shadow: 0 calc(var(--success-u) * 2) calc(var(--success-u) * 6) rgba(83, 48, 18, 0.32);
}

.success-hero-copy {
  position: absolute;
  left: calc(var(--success-u) * 24);
  right: calc(var(--success-u) * 24);
  top: calc(var(--success-u) * 244);
  text-align: center;
}

.success-hero-copy p {
  margin: 0 0 calc(var(--success-u) * 8);
  color: rgba(106, 72, 36, 0.54);
  font-size: calc(var(--success-u) * 8);
  font-weight: 900;
  letter-spacing: calc(var(--success-u) * 2.6);
}

.success-hero-copy h2 {
  margin: 0;
  color: #261b12;
  font-size: calc(var(--success-u) * 28);
  font-weight: 950;
  letter-spacing: calc(var(--success-u) * -0.8);
  line-height: 1.12;
}

.success-hero-copy em {
  display: block;
  margin-top: calc(var(--success-u) * 10);
  color: #8a5a2e;
  font-size: calc(var(--success-u) * 13);
  font-style: normal;
  font-weight: 850;
  line-height: 1.45;
}

.success-prize-card,
.success-store-guide {
  position: absolute;
  left: calc(var(--success-u) * 18);
  right: calc(var(--success-u) * 18);
  overflow: hidden;
  border-radius: calc(var(--success-u) * 18);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 248, 231, 0.88)),
    radial-gradient(circle at 8% 0%, rgba(204, 152, 78, 0.16), rgba(204, 152, 78, 0) 36%);
  box-shadow:
    0 calc(var(--success-u) * 12) calc(var(--success-u) * 34) rgba(90, 61, 33, 0.12),
    inset 0 0 0 calc(var(--success-u) * 1) rgba(255, 255, 255, 0.86);
}

.success-prize-card {
  top: calc(var(--success-u) * 376);
  min-height: calc(var(--success-u) * 118);
  padding: calc(var(--success-u) * 17) calc(var(--success-u) * 18);
}

.success-prize-card::after {
  content: "";
  position: absolute;
  right: calc(var(--success-u) * -32);
  top: calc(var(--success-u) * -34);
  width: calc(var(--success-u) * 118);
  height: calc(var(--success-u) * 118);
  border-radius: 50%;
  background: rgba(194, 139, 65, 0.1);
}

.success-prize-card span,
.success-store-guide strong,
.success-summary-grid span {
  color: rgba(104, 75, 43, 0.62);
  font-size: calc(var(--success-u) * 10);
  font-weight: 850;
  letter-spacing: calc(var(--success-u) * 1);
}

.success-prize-card strong {
  position: relative;
  display: block;
  margin-top: calc(var(--success-u) * 8);
  max-width: calc(var(--success-u) * 286);
  color: #2d2116;
  font-size: calc(var(--success-u) * 17);
  font-weight: 950;
  line-height: 1.4;
}

.success-prize-card em {
  position: relative;
  display: block;
  margin-top: calc(var(--success-u) * 8);
  color: rgba(55, 42, 31, 0.56);
  font-size: calc(var(--success-u) * 11);
  font-style: normal;
  font-weight: 650;
  line-height: 1.5;
}

.success-summary-grid {
  position: absolute;
  left: calc(var(--success-u) * 18);
  right: calc(var(--success-u) * 18);
  top: calc(var(--success-u) * 512);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(var(--success-u) * 10);
}

.success-summary-grid > div {
  min-height: calc(var(--success-u) * 74);
  padding: calc(var(--success-u) * 13) calc(var(--success-u) * 14);
  border-radius: calc(var(--success-u) * 14);
  background: rgba(255, 255, 255, 0.64);
  box-shadow: inset 0 0 0 calc(var(--success-u) * 1) rgba(189, 140, 76, 0.14);
}

.success-summary-grid strong {
  display: inline-block;
  margin-top: calc(var(--success-u) * 8);
  color: #7b4d23;
  font-size: calc(var(--success-u) * 22);
  font-weight: 950;
  line-height: 1;
}

.success-summary-grid em {
  margin-left: calc(var(--success-u) * 3);
  color: rgba(59, 44, 31, 0.52);
  font-size: calc(var(--success-u) * 10);
  font-style: normal;
  font-weight: 750;
}

.success-store-guide {
  top: calc(var(--success-u) * 604);
  padding: calc(var(--success-u) * 15) calc(var(--success-u) * 17);
}

.success-store-guide p {
  margin: calc(var(--success-u) * 7) 0 0;
  color: rgba(46, 36, 27, 0.66);
  font-size: calc(var(--success-u) * 11);
  font-weight: 650;
  line-height: 1.55;
}

.success-actions {
  position: absolute;
  left: calc(var(--success-u) * 18);
  right: calc(var(--success-u) * 18);
  bottom: max(calc(var(--success-u) * 18), env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: calc(var(--success-u) * 10);
}

.success-secondary,
.success-primary {
  height: calc(var(--success-u) * 46);
  border: 0;
  border-radius: calc(var(--success-u) * 999);
  font-size: calc(var(--success-u) * 13);
  font-weight: 950;
  letter-spacing: calc(var(--success-u) * 0.8);
  cursor: pointer;
  touch-action: manipulation;
  transition:
    transform 160ms ease,
    opacity 160ms ease,
    filter 160ms ease;
}

.success-secondary:active,
.success-primary:active {
  transform: scale(0.98);
}

.success-secondary {
  color: #6c4826;
  background: rgba(255, 255, 255, 0.68);
  box-shadow: inset 0 0 0 calc(var(--success-u) * 1) rgba(167, 117, 54, 0.2);
}

.success-primary {
  color: #fff9e8;
  background: linear-gradient(135deg, #a96c32, #d3a25a 52%, #8c5729);
  box-shadow: 0 calc(var(--success-u) * 10) calc(var(--success-u) * 20) rgba(122, 78, 35, 0.28);
}

@keyframes success-rays-spin {
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}

@keyframes success-medal-pop {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(calc(var(--success-u) * 18)) scale(0.66);
  }

  68% {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1.06);
  }

  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }
}

@keyframes success-confetti-fall {
  0% {
    opacity: 0;
    transform: translate3d(0, 0, 0) rotate(0deg);
  }

  14% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate3d(calc(var(--success-u) * 18), calc(var(--success-u) * 260), 0) rotate(280deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .success-rays,
  .submit-success-screen.is-replaying .success-medal,
  .submit-success-screen.is-replaying .success-confetti i {
    animation: none !important;
  }
}

/* Submit success page v280: match the provided golden reward-page reference. */
.submit-success-screen {
  --success-u: min(calc(100vw / 375), 1px) !important;
  --success-gold: #d9a14c;
  --success-gold-deep: #8b5b2b;
  --success-brown: #4b3320;
  --success-card: rgba(255, 255, 255, 0.92);
  position: fixed !important;
  inset: 0 !important;
  z-index: 1200 !important;
  display: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background:
    radial-gradient(circle at 50% calc(var(--success-u) * 186), rgba(255, 255, 255, 0.92) 0, rgba(255, 255, 255, 0.48) calc(var(--success-u) * 112), rgba(255, 255, 255, 0) calc(var(--success-u) * 194)),
    radial-gradient(circle at 50% calc(var(--success-u) * 286), rgba(219, 156, 64, 0.23) 0, rgba(219, 156, 64, 0) calc(var(--success-u) * 260)),
    linear-gradient(180deg, #fff0d2 0%, #fff9ea 38%, #fff 100%) !important;
  color: var(--success-brown) !important;
  -webkit-overflow-scrolling: touch !important;
}

.submit-success-screen.is-open {
  display: block !important;
}

.submit-success-page {
  position: relative !important;
  width: min(100vw, calc(var(--success-u) * 375)) !important;
  height: auto !important;
  min-height: calc(var(--success-u) * 1026) !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 calc(var(--success-u) * 20) calc(var(--success-u) * 112) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
}

.submit-success-page::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(var(--success-u) * 32) !important;
  z-index: -1 !important;
  width: calc(var(--success-u) * 386) !important;
  height: calc(var(--success-u) * 386) !important;
  border: calc(var(--success-u) * 2) solid rgba(255, 255, 255, 0.86) !important;
  border-radius: 50% !important;
  box-shadow:
    0 0 calc(var(--success-u) * 24) rgba(255, 255, 255, 0.9),
    inset 0 0 calc(var(--success-u) * 22) rgba(232, 174, 84, 0.22) !important;
  transform: translateX(-50%) !important;
}

.submit-success-page::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(var(--success-u) * 14) !important;
  z-index: -2 !important;
  width: calc(var(--success-u) * 520) !important;
  height: calc(var(--success-u) * 460) !important;
  background:
    conic-gradient(
      from -16deg,
      rgba(198, 134, 49, 0) 0deg,
      rgba(198, 134, 49, 0.12) 8deg,
      rgba(198, 134, 49, 0) 16deg,
      rgba(198, 134, 49, 0) 38deg
    ) !important;
  opacity: 0.58 !important;
  transform: translateX(-50%) !important;
  animation: success-rays-spin 18s linear infinite !important;
}

.success-glow {
  position: absolute !important;
  left: 50% !important;
  top: calc(var(--success-u) * 114) !important;
  z-index: -1 !important;
  width: calc(var(--success-u) * 340) !important;
  height: calc(var(--success-u) * 300) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.88), rgba(255, 231, 174, 0.42) 50%, rgba(255, 231, 174, 0) 72%) !important;
  transform: translateX(-50%) !important;
}

.success-orbit {
  position: absolute !important;
  left: 50% !important;
  top: calc(var(--success-u) * 58) !important;
  z-index: 0 !important;
  width: calc(var(--success-u) * 300) !important;
  height: calc(var(--success-u) * 160) !important;
  border-top: calc(var(--success-u) * 2) solid rgba(255, 255, 255, 0.78) !important;
  border-radius: 50% !important;
  transform: translateX(-50%) rotate(-8deg) !important;
  pointer-events: none !important;
}

.success-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  height: calc(var(--success-u) * 54) !important;
  margin: 0 calc(var(--success-u) * -20) !important;
  padding: 0 calc(var(--success-u) * 20) !important;
  display: grid !important;
  grid-template-columns: calc(var(--success-u) * 44) minmax(0, 1fr) calc(var(--success-u) * 44) !important;
  align-items: center !important;
  background: linear-gradient(180deg, rgba(255, 238, 203, 0.96), rgba(255, 238, 203, 0.08)) !important;
  backdrop-filter: blur(calc(var(--success-u) * 3)) !important;
  -webkit-backdrop-filter: blur(calc(var(--success-u) * 3)) !important;
}

.success-nav h2 {
  margin: 0 !important;
  color: #1f1a15 !important;
  font-size: calc(var(--success-u) * 20) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-align: center !important;
  letter-spacing: calc(var(--success-u) * 1.8) !important;
}

.success-nav-button {
  width: calc(var(--success-u) * 44) !important;
  height: calc(var(--success-u) * 44) !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  background: transparent !important;
  color: #16120e !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

.success-home-button {
  color: #a06b31 !important;
}

.success-nav-button svg {
  width: calc(var(--success-u) * 26) !important;
  height: calc(var(--success-u) * 26) !important;
  display: block !important;
}

.success-confetti {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.success-confetti i {
  position: absolute !important;
  top: calc(var(--success-u) * 26) !important;
  width: calc(var(--success-u) * 7) !important;
  height: calc(var(--success-u) * 18) !important;
  border-radius: calc(var(--success-u) * 2) !important;
  background: linear-gradient(180deg, #f8d48e, #b97930) !important;
  opacity: 0 !important;
}

.submit-success-screen.is-replaying .success-confetti i {
  animation: success-confetti-fall 1560ms cubic-bezier(0.16, 0.82, 0.34, 1) both !important;
}

.success-hero {
  position: relative !important;
  z-index: 2 !important;
  min-height: calc(var(--success-u) * 380) !important;
  padding-top: calc(var(--success-u) * 56) !important;
  text-align: center !important;
}

.success-hero h1 {
  margin: 0 !important;
  color: transparent !important;
  background: linear-gradient(180deg, #c4944e 0%, #8f5c2b 58%, #d9ac65 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  font-size: calc(var(--success-u) * 52) !important;
  font-weight: 950 !important;
  line-height: 0.96 !important;
  letter-spacing: calc(var(--success-u) * 1.5) !important;
  text-shadow: 0 calc(var(--success-u) * 8) calc(var(--success-u) * 18) rgba(128, 79, 31, 0.18) !important;
}

.success-hero p {
  margin: calc(var(--success-u) * 16) 0 0 !important;
  color: #5a3c22 !important;
  font-size: calc(var(--success-u) * 19) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

.success-ribbon {
  position: relative !important;
  width: calc(var(--success-u) * 196) !important;
  height: calc(var(--success-u) * 35) !important;
  margin: calc(var(--success-u) * 15) auto 0 !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  background: linear-gradient(90deg, #8e5b28, #d39b4d 50%, #8e5b28) !important;
  clip-path: polygon(0 0, 10% 50%, 0 100%, 100% 100%, 90% 50%, 100% 0) !important;
  box-shadow: 0 calc(var(--success-u) * 8) calc(var(--success-u) * 16) rgba(138, 83, 30, 0.24) !important;
}

.success-ribbon span {
  font-size: calc(var(--success-u) * 16) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: calc(var(--success-u) * 0.8) !important;
}

.success-ribbon span::before,
.success-ribbon span::after {
  content: "★" !important;
  margin: 0 calc(var(--success-u) * 10) !important;
  color: rgba(255, 246, 218, 0.9) !important;
  font-size: calc(var(--success-u) * 11) !important;
}

.success-gift {
  position: relative !important;
  width: calc(var(--success-u) * 260) !important;
  height: calc(var(--success-u) * 168) !important;
  margin: calc(var(--success-u) * 24) auto 0 !important;
  transform: translateZ(0) !important;
}

.submit-success-screen.is-replaying .success-gift {
  animation: success-gift-in 620ms cubic-bezier(0.18, 1.3, 0.28, 1) both !important;
}

.success-gift-box {
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: calc(var(--success-u) * 218) !important;
  height: calc(var(--success-u) * 86) !important;
  border-radius: calc(var(--success-u) * 13) calc(var(--success-u) * 13) calc(var(--success-u) * 18) calc(var(--success-u) * 18) !important;
  background:
    linear-gradient(90deg, #fffaf0 0 39%, #dca34d 39% 57%, #fff6e4 57% 100%) !important;
  box-shadow:
    0 calc(var(--success-u) * 16) calc(var(--success-u) * 30) rgba(140, 91, 43, 0.22),
    inset 0 calc(var(--success-u) * -8) calc(var(--success-u) * 18) rgba(176, 112, 38, 0.1) !important;
  transform: translateX(-50%) perspective(calc(var(--success-u) * 280)) rotateX(2deg) !important;
}

.success-gift-lid {
  position: absolute !important;
  right: calc(var(--success-u) * 20) !important;
  top: calc(var(--success-u) * 34) !important;
  z-index: 2 !important;
  width: calc(var(--success-u) * 112) !important;
  height: calc(var(--success-u) * 62) !important;
  border-radius: calc(var(--success-u) * 12) !important;
  background: linear-gradient(135deg, #fff8e8, #e8b35c 66%, #ae6b27) !important;
  box-shadow:
    0 calc(var(--success-u) * 10) calc(var(--success-u) * 22) rgba(133, 80, 28, 0.22),
    inset 0 calc(var(--success-u) * 1) calc(var(--success-u) * 8) rgba(255, 255, 255, 0.66) !important;
  transform: rotate(-10deg) skewX(-6deg) !important;
}

.success-gift-ticket {
  position: absolute !important;
  left: calc(var(--success-u) * 37) !important;
  top: calc(var(--success-u) * 12) !important;
  z-index: 4 !important;
  width: calc(var(--success-u) * 188) !important;
  height: calc(var(--success-u) * 92) !important;
  padding-top: calc(var(--success-u) * 21) !important;
  border-radius: calc(var(--success-u) * 12) !important;
  background:
    linear-gradient(135deg, rgba(255, 250, 232, 0.96), rgba(255, 225, 152, 0.86)),
    radial-gradient(circle at 14% 18%, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0) 32%) !important;
  box-shadow:
    0 calc(var(--success-u) * 10) calc(var(--success-u) * 18) rgba(138, 83, 30, 0.18),
    inset 0 0 0 calc(var(--success-u) * 1) rgba(187, 124, 45, 0.18) !important;
  transform: rotate(8deg) !important;
}

.success-gift-ticket::before {
  content: "♕" !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(var(--success-u) * 6) !important;
  color: #c89349 !important;
  font-size: calc(var(--success-u) * 16) !important;
  transform: translateX(-50%) !important;
}

.success-gift-ticket span,
.success-gift-ticket em {
  display: block !important;
  color: #96622d !important;
  font-style: normal !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.success-gift-ticket span {
  font-size: calc(var(--success-u) * 21) !important;
  font-weight: 950 !important;
}

.success-gift-ticket em {
  margin-top: calc(var(--success-u) * 8) !important;
  font-size: calc(var(--success-u) * 14) !important;
  font-weight: 850 !important;
}

.success-gift-ribbon {
  position: absolute !important;
  left: calc(var(--success-u) * -10) !important;
  bottom: calc(var(--success-u) * 38) !important;
  width: calc(var(--success-u) * 88) !important;
  height: calc(var(--success-u) * 116) !important;
  border-left: calc(var(--success-u) * 16) solid rgba(177, 110, 39, 0.56) !important;
  border-radius: 50% 0 0 50% !important;
  filter: blur(calc(var(--success-u) * 0.2)) !important;
  transform: rotate(-26deg) !important;
}

.success-card {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  margin: 0 auto calc(var(--success-u) * 14) !important;
  border-radius: calc(var(--success-u) * 14) !important;
  background: var(--success-card) !important;
  box-shadow:
    0 calc(var(--success-u) * 8) calc(var(--success-u) * 22) rgba(110, 75, 40, 0.12),
    inset 0 0 0 calc(var(--success-u) * 1) rgba(255, 255, 255, 0.86) !important;
  box-sizing: border-box !important;
}

.success-benefits {
  margin-top: calc(var(--success-u) * -18) !important;
  padding: calc(var(--success-u) * 20) calc(var(--success-u) * 12) calc(var(--success-u) * 16) !important;
}

.success-card-title {
  height: calc(var(--success-u) * 22) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(var(--success-u) * 12) !important;
  color: #684322 !important;
  font-size: calc(var(--success-u) * 18) !important;
  font-weight: 950 !important;
}

.success-card-title span {
  width: calc(var(--success-u) * 18) !important;
  height: calc(var(--success-u) * 18) !important;
  background:
    radial-gradient(circle at 50% 50%, #d8a24e 0 calc(var(--success-u) * 2), transparent calc(var(--success-u) * 3)),
    conic-gradient(from 90deg, transparent 0 45deg, rgba(216, 162, 78, 0.72) 45deg 88deg, transparent 88deg) !important;
  border-radius: 50% !important;
}

.success-benefit-grid {
  margin-top: calc(var(--success-u) * 18) !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.success-benefit-grid article {
  min-width: 0 !important;
  padding: 0 calc(var(--success-u) * 5) !important;
  display: grid !important;
  justify-items: center !important;
  align-content: start !important;
  gap: calc(var(--success-u) * 7) !important;
  border-right: calc(var(--success-u) * 1) solid rgba(202, 164, 104, 0.22) !important;
  text-align: center !important;
}

.success-benefit-grid article:last-child {
  border-right: 0 !important;
}

.success-benefit-icon {
  width: calc(var(--success-u) * 38) !important;
  height: calc(var(--success-u) * 38) !important;
  display: grid !important;
  place-items: center !important;
  color: #d49a49 !important;
}

.success-benefit-icon svg {
  width: 100% !important;
  height: 100% !important;
}

.success-benefit-icon svg * {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 3.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.success-icon-vip svg rect {
  fill: currentColor !important;
  stroke: none !important;
}

.success-icon-vip svg path {
  stroke: #fff8df !important;
  stroke-width: 2.5 !important;
}

.success-benefit-grid strong,
.success-benefit-grid em {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

.success-benefit-grid strong {
  color: #644323 !important;
  font-size: calc(var(--success-u) * 12) !important;
  font-weight: 950 !important;
}

.success-benefit-grid em {
  color: rgba(100, 67, 35, 0.62) !important;
  font-size: calc(var(--success-u) * 10) !important;
  font-style: normal !important;
  font-weight: 750 !important;
}

.success-claim {
  padding: calc(var(--success-u) * 18) calc(var(--success-u) * 14) calc(var(--success-u) * 16) !important;
  border: calc(var(--success-u) * 1.2) solid rgba(221, 170, 88, 0.5) !important;
  background: linear-gradient(180deg, rgba(255, 250, 236, 0.96), rgba(255, 255, 255, 0.94)) !important;
}

.success-section-heading {
  text-align: center !important;
}

.success-section-heading strong {
  display: block !important;
  color: #4c3320 !important;
  font-size: calc(var(--success-u) * 21) !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
}

.success-section-heading p {
  margin: calc(var(--success-u) * 9) 0 0 !important;
  color: rgba(92, 61, 34, 0.72) !important;
  font-size: calc(var(--success-u) * 13) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.success-claim-content {
  margin-top: calc(var(--success-u) * 16) !important;
  padding: calc(var(--success-u) * 12) !important;
  display: grid !important;
  grid-template-columns: calc(var(--success-u) * 150) minmax(0, 1fr) !important;
  gap: calc(var(--success-u) * 14) !important;
  align-items: center !important;
  border-radius: calc(var(--success-u) * 12) !important;
  background: rgba(255, 255, 255, 0.8) !important;
  box-shadow: inset 0 0 0 calc(var(--success-u) * 1) rgba(219, 171, 96, 0.2) !important;
}

.success-guide-book {
  position: relative !important;
  height: calc(var(--success-u) * 82) !important;
  border-radius: calc(var(--success-u) * 9) !important;
  background: #f1dfc7 !important;
  overflow: hidden !important;
  box-shadow: calc(var(--success-u) * 10) calc(var(--success-u) * 8) calc(var(--success-u) * 14) rgba(116, 72, 30, 0.12) !important;
}

.success-guide-book::before {
  content: "" !important;
  position: absolute !important;
  left: calc(var(--success-u) * 12) !important;
  top: 0 !important;
  z-index: 2 !important;
  width: calc(var(--success-u) * 22) !important;
  height: 100% !important;
  background: linear-gradient(90deg, rgba(92, 62, 35, 0.12), rgba(255, 255, 255, 0.18)) !important;
}

.success-guide-book img,
.success-room-grid img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.success-claim-content ol {
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: calc(var(--success-u) * 8) !important;
  list-style: none !important;
}

.success-claim-content li {
  display: grid !important;
  grid-template-columns: calc(var(--success-u) * 24) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: calc(var(--success-u) * 8) !important;
}

.success-claim-content li span {
  width: calc(var(--success-u) * 24) !important;
  height: calc(var(--success-u) * 24) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: linear-gradient(180deg, #e2af5b, #c88735) !important;
  font-size: calc(var(--success-u) * 13) !important;
  font-weight: 950 !important;
}

.success-claim-content li strong {
  min-width: 0 !important;
  color: #5c3c21 !important;
  font-size: calc(var(--success-u) * 13) !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.success-claim > em {
  display: block !important;
  margin-top: calc(var(--success-u) * 7) !important;
  color: rgba(103, 70, 40, 0.52) !important;
  font-size: calc(var(--success-u) * 10) !important;
  font-style: normal !important;
  font-weight: 650 !important;
  text-align: center !important;
}

.success-experience {
  padding: calc(var(--success-u) * 18) calc(var(--success-u) * 12) calc(var(--success-u) * 16) !important;
}

.success-room-grid {
  margin-top: calc(var(--success-u) * 18) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: calc(var(--success-u) * 7) !important;
}

.success-room-grid img {
  aspect-ratio: 1.62 / 1 !important;
  border-radius: calc(var(--success-u) * 6) !important;
  background: #ead8c0 !important;
  box-shadow: 0 calc(var(--success-u) * 4) calc(var(--success-u) * 12) rgba(83, 57, 31, 0.12) !important;
}

.success-feature-row {
  margin-top: calc(var(--success-u) * 13) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: calc(var(--success-u) * 4) !important;
}

.success-feature-row span {
  min-width: 0 !important;
  color: #704b28 !important;
  font-size: calc(var(--success-u) * 11) !important;
  font-weight: 900 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.success-feature-row span::before {
  content: "✓" !important;
  width: calc(var(--success-u) * 15) !important;
  height: calc(var(--success-u) * 15) !important;
  margin-right: calc(var(--success-u) * 4) !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #dba24d !important;
  font-size: calc(var(--success-u) * 10) !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.success-actions {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 40 !important;
  width: 100% !important;
  margin-top: calc(var(--success-u) * 18) !important;
  padding:
    0
    calc(var(--success-u) * 2)
    0 !important;
  display: grid !important;
  grid-template-columns: 0.88fr 1.12fr !important;
  gap: calc(var(--success-u) * 11) !important;
  background: transparent !important;
  box-sizing: border-box !important;
  transform: none !important;
}

.success-secondary,
.success-primary {
  height: calc(var(--success-u) * 48) !important;
  min-height: calc(var(--success-u) * 48) !important;
  border-radius: calc(var(--success-u) * 999) !important;
  font-size: calc(var(--success-u) * 16) !important;
  font-weight: 950 !important;
  letter-spacing: calc(var(--success-u) * 1) !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

.success-secondary {
  color: #6b421f !important;
  border: calc(var(--success-u) * 1.2) solid rgba(217, 161, 76, 0.64) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: none !important;
}

.success-primary {
  color: #fffaf0 !important;
  border: 0 !important;
  background: linear-gradient(180deg, #e4b762, #cf9442) !important;
  box-shadow: 0 calc(var(--success-u) * 7) calc(var(--success-u) * 16) rgba(184, 116, 37, 0.28) !important;
}

.success-primary::before {
  content: "⌖" !important;
  margin-right: calc(var(--success-u) * 6) !important;
  font-size: calc(var(--success-u) * 16) !important;
}

.success-footer {
  margin: calc(var(--success-u) * 18) 0 0 !important;
  color: rgba(108, 70, 36, 0.58) !important;
  font-size: calc(var(--success-u) * 12) !important;
  font-weight: 800 !important;
  text-align: center !important;
}

@keyframes success-gift-in {
  0% {
    opacity: 0;
    transform: translateY(calc(var(--success-u) * 20)) scale(0.86);
  }

  72% {
    opacity: 1;
    transform: translateY(0) scale(1.03);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* iPad/tablet fit v325: keep the mobile H5 visual locked, but scale and center it on tablets. */
@media (min-width: 768px) and (max-width: 1366px) {
  html,
  body {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 50% 8%, rgba(255, 255, 255, 0.82), rgba(255, 253, 249, 0) 38%),
      linear-gradient(180deg, #fffdf9 0%, #f5eadc 100%) !important;
  }

  .app-shell {
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
  }

  .app-shell.is-home {
    --home-u: min(calc((100dvh - 32px) / 812), calc((100vw - 32px) / 375), 1.18px) !important;
    --home-canvas-w: calc(375 * var(--home-u)) !important;
    --home-xu: var(--home-u) !important;
    --home-canvas-h: calc(812 * var(--home-u)) !important;
    place-items: center !important;
  }

  .app-shell.is-home .home-screen {
    width: var(--home-canvas-w) !important;
    min-width: var(--home-canvas-w) !important;
    max-width: var(--home-canvas-w) !important;
    height: var(--home-canvas-h) !important;
    min-height: var(--home-canvas-h) !important;
    max-height: var(--home-canvas-h) !important;
    overflow: hidden !important;
    box-shadow: 0 18px 46px rgba(86, 61, 38, 0.12) !important;
  }

  .app-shell:not(.is-home) {
    --mini-u: min(calc((100vw - 32px) / 375), calc((100dvh - 32px) / 811), 1.18px) !important;
    --mini-canvas-w: calc(var(--mini-u) * 375) !important;
    --mini-canvas-h: calc(var(--mini-u) * 811) !important;
    place-items: center !important;
  }

  .app-shell:not(.is-home) .app {
    width: var(--mini-canvas-w) !important;
    min-width: var(--mini-canvas-w) !important;
    max-width: var(--mini-canvas-w) !important;
    height: var(--mini-canvas-h) !important;
    min-height: var(--mini-canvas-h) !important;
    max-height: var(--mini-canvas-h) !important;
    overflow: hidden !important;
    box-shadow: 0 18px 46px rgba(86, 61, 38, 0.12) !important;
  }

  .submit-dialog.submit-page {
    --submit-u: min(calc((100vw - 32px) / 375), calc((100dvh - 32px) / 811), 1.18px) !important;
    left: 50% !important;
    top: 50% !important;
    width: calc(var(--submit-u) * 375) !important;
    height: calc(var(--submit-u) * 811) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
    transform: translate(-50%, -50%) !important;
    box-shadow: 0 18px 46px rgba(86, 61, 38, 0.12) !important;
  }
}

@media (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) {
  .app-shell.is-home {
    --home-u: min(calc((100dvh - 24px) / 812), calc((100vw - 48px) / 375), 1.08px) !important;
  }

  .app-shell:not(.is-home) {
    --mini-u: min(calc((100dvh - 24px) / 811), calc((100vw - 48px) / 375), 1.04px) !important;
  }

  .submit-dialog.submit-page {
    --submit-u: min(calc((100dvh - 24px) / 811), calc((100vw - 48px) / 375), 1.04px) !important;
  }
}

/* Filing link and optional lead fields v326. */
.app-shell.is-home {
  --home-canvas-h: calc(954 * var(--home-u)) !important;
}

.app-shell.is-home .home-screen {
  height: calc(954 * var(--home-u)) !important;
  min-height: calc(954 * var(--home-u)) !important;
  max-height: none !important;
}

.app-shell.is-home .home-footnote {
  top: calc(887 * var(--home-u)) !important;
  height: calc(60 * var(--home-u)) !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) calc(13 * var(--home-u)) !important;
  gap: calc(3 * var(--home-u)) !important;
}

.app-shell.is-home .home-footnote span {
  min-width: 0 !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-icp-link {
  width: max-content !important;
  max-width: 100% !important;
  display: block !important;
  justify-self: center !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  color: rgba(113, 82, 48, 0.66) !important;
  font-size: calc(8 * var(--home-u)) !important;
  font-weight: 700 !important;
  line-height: calc(13 * var(--home-u)) !important;
  text-decoration: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

.app-shell.is-home .home-icp-link:active {
  color: rgba(113, 82, 48, 0.9) !important;
}

.submit-page .submit-select-field {
  position: relative !important;
}

.submit-page .submit-field select,
.app-shell:not(.is-home) .submit-page .submit-field select {
  width: 100% !important;
  min-width: 0 !important;
  height: calc(var(--submit-u) * 17) !important;
  margin: 0 !important;
  padding: 0 calc(var(--submit-u) * 16) 0 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #30251d !important;
  font: inherit !important;
  font-size: calc(var(--submit-u) * 10) !important;
  font-weight: 830 !important;
  line-height: calc(var(--submit-u) * 17) !important;
  outline: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.submit-page .submit-select-field::after {
  content: "" !important;
  position: absolute !important;
  right: calc(var(--submit-u) * 8) !important;
  bottom: calc(var(--submit-u) * 12) !important;
  width: calc(var(--submit-u) * 6) !important;
  height: calc(var(--submit-u) * 6) !important;
  border-right: calc(var(--submit-u) * 1.1) solid rgba(87, 61, 38, 0.62) !important;
  border-bottom: calc(var(--submit-u) * 1.1) solid rgba(87, 61, 38, 0.62) !important;
  transform: rotate(45deg) !important;
  pointer-events: none !important;
}

/* Selection panel width v329: match the homepage frame width exactly. */
.app-shell:not(.is-home) {
  --selection-canvas-w: min(100vw, calc(var(--mini-u, 1px) * 430)) !important;
  --selection-panel-w: calc(var(--selection-canvas-w) - calc(var(--mini-u, 1px) * 6)) !important;
}

.app-shell:not(.is-home) #app.app {
  width: var(--selection-canvas-w) !important;
  min-width: var(--selection-canvas-w) !important;
  max-width: var(--selection-canvas-w) !important;
  transition: none !important;
}

.app-shell:not(.is-home) #app > .topbar {
  width: var(--selection-canvas-w) !important;
  min-width: var(--selection-canvas-w) !important;
  max-width: var(--selection-canvas-w) !important;
  transition: none !important;
}

.app-shell:not(.is-home) #app > .main-grid,
.app-shell:not(.is-home) #app > .bottom-panel {
  left: 50% !important;
  right: auto !important;
  width: var(--selection-panel-w) !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
  transition: none !important;
}

.app-shell:not(.is-home) #app > .main-grid > .bird-panel,
.app-shell:not(.is-home) #app > .main-grid > .effect-panel,
.app-shell:not(.is-home) #app > .bottom-panel.content-switcher {
  width: 100% !important;
  max-width: none !important;
  transition: none !important;
}

.app-shell:not(.is-home) .bird-panel .media-stage {
  width: calc(var(--mini-u, 1px) * 343) !important;
}

.app-shell:not(.is-home) .effect-panel .media-stage {
  width: calc(var(--mini-u, 1px) * 353) !important;
}

/* Submit page width v330: keep confirmation/lead cards aligned with homepage frames. */
.app-shell:not(.is-home) .submit-dialog.submit-page,
.submit-dialog.submit-page {
  width: var(--selection-canvas-w, min(100vw, calc(var(--submit-u, 1px) * 430))) !important;
  min-width: var(--selection-canvas-w, min(100vw, calc(var(--submit-u, 1px) * 430))) !important;
  max-width: var(--selection-canvas-w, min(100vw, calc(var(--submit-u, 1px) * 430))) !important;
  transition: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-selected-section,
.app-shell:not(.is-home) .submit-page .submit-customer-section {
  left: 50% !important;
  width: var(--selection-panel-w, calc(100vw - calc(var(--submit-u, 1px) * 6))) !important;
  max-width: var(--selection-panel-w, calc(100vw - calc(var(--submit-u, 1px) * 6))) !important;
  transform: translateX(-50%) !important;
  transition: none !important;
}

/* Home return cleanup v331: no submit/success overlays may remain on the homepage. */
.app-shell.is-home .submit-modal,
.app-shell.is-home .submit-modal.is-open,
body.is-submit-open .app-shell.is-home .submit-modal,
.app-shell.is-home .submit-success-screen,
.app-shell.is-home .submit-success-screen.is-open,
body.is-success-open .app-shell.is-home .submit-success-screen {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Bird image contain v332: show the full aerial image instead of scaled crop. */
.app-shell:not(.is-home) .bird-panel .scene-stage,
.submit-page .submit-bird-stage {
  overflow: hidden !important;
}

.app-shell:not(.is-home) .bird-panel .scene-stage .scene-image,
.app-shell:not(.is-home) .bird-panel .scene-stage .image-overlay-stack img,
.submit-page .submit-bird-stage .scene-image,
.submit-page .submit-bird-stage .image-overlay-stack img {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center center !important;
}

/* Home filing spacing v332: keep disclaimer and ICP aligned with natural spacing. */
.app-shell.is-home .home-screen {
  height: calc(972 * var(--home-u)) !important;
  min-height: calc(972 * var(--home-u)) !important;
}

.app-shell.is-home .home-footnote {
  top: calc(899 * var(--home-u)) !important;
  height: calc(66 * var(--home-u)) !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: calc(4 * var(--home-u)) !important;
}

.app-shell.is-home .home-footnote span {
  display: block !important;
  line-height: calc(9.2 * var(--home-u)) !important;
}

/* Point tabs v333: keep 8 point entries in a single row. */
.app-shell:not(.is-home) .cards-scroll.is-many-points {
  column-gap: calc(var(--mini-u) * 1) !important;
  row-gap: calc(var(--mini-u) * 9) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card {
  box-sizing: border-box !important;
  height: calc(var(--mini-u) * 22) !important;
  padding-left: calc(var(--mini-u) * 2.4) !important;
  padding-right: calc(var(--mini-u) * 2.4) !important;
  border-radius: calc(var(--mini-u) * 5.2) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(1) {
  width: calc(var(--mini-u) * 54) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(2) {
  width: calc(var(--mini-u) * 41) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(3) {
  width: calc(var(--mini-u) * 48) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(4),
.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(5) {
  width: calc(var(--mini-u) * 38) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(6) {
  width: calc(var(--mini-u) * 31) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(7) {
  width: calc(var(--mini-u) * 38) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(8) {
  width: calc(var(--mini-u) * 33) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card h3 {
  gap: calc(var(--mini-u) * 1.5) !important;
  font-size: calc(var(--mini-u) * 6.15) !important;
  letter-spacing: calc(var(--mini-u) * -0.16) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card h3::before {
  width: calc(var(--mini-u) * 9.2) !important;
  height: calc(var(--mini-u) * 9.2) !important;
  min-width: calc(var(--mini-u) * 9.2) !important;
  font-size: calc(var(--mini-u) * 6) !important;
}

/* Point tabs spacing v335: equal compact gaps for 8 point entries. */
.app-shell:not(.is-home) .cards-scroll.is-many-points {
  column-gap: calc(var(--mini-u) * 0.55) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card,
.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(n) {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding-left: calc(var(--mini-u) * 2.05) !important;
  padding-right: calc(var(--mini-u) * 2.05) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card h3 {
  gap: calc(var(--mini-u) * 1.15) !important;
  font-size: calc(var(--mini-u) * 6.05) !important;
  letter-spacing: calc(var(--mini-u) * -0.2) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card h3::before {
  width: calc(var(--mini-u) * 8.9) !important;
  height: calc(var(--mini-u) * 8.9) !important;
  min-width: calc(var(--mini-u) * 8.9) !important;
  font-size: calc(var(--mini-u) * 5.8) !important;
}

/* Selection centering v337: center media stages, point tabs and color choices. */
.app-shell:not(.is-home) .bird-panel .media-stage,
.app-shell:not(.is-home) .effect-panel .media-stage {
  left: 50% !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points {
  justify-content: center !important;
  justify-items: center !important;
  grid-template-columns: repeat(var(--point-count, 8), max-content) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .mobile-active-styles,
.app-shell:not(.is-home) .cards-scroll.is-many-points .desktop-active-styles {
  width: min(100%, calc(var(--mini-u) * 352)) !important;
  justify-self: center !important;
  padding-left: calc(var(--mini-u) * 3) !important;
  padding-right: calc(var(--mini-u) * 3) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .mobile-style-list {
  justify-content: center !important;
  justify-items: center !important;
}

/* Selection spread v338: use the wider color panel without breaking the one-row point tabs. */
.app-shell:not(.is-home) .cards-scroll.is-many-points {
  column-gap: calc(var(--mini-u) * 1.05) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card,
.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(n) {
  padding-left: calc(var(--mini-u) * 4.4) !important;
  padding-right: calc(var(--mini-u) * 4.4) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .mobile-active-styles,
.app-shell:not(.is-home) .cards-scroll.is-many-points .desktop-active-styles {
  width: min(100%, calc(var(--mini-u) * 386)) !important;
  padding-left: calc(var(--mini-u) * 2.5) !important;
  padding-right: calc(var(--mini-u) * 2.5) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .mobile-style-list {
  gap: calc(var(--mini-u) * 8.8) !important;
}

/* Selection spread v339: let the widened color panel breathe across the full row. */
.app-shell:not(.is-home) .cards-scroll.is-many-points {
  grid-template-columns: 1.2fr 0.92fr 1.08fr 0.92fr 0.92fr 0.78fr 0.92fr 0.78fr !important;
  column-gap: calc(var(--mini-u) * 1.05) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card,
.app-shell:not(.is-home) .cards-scroll.is-many-points .point-card:nth-of-type(n) {
  width: 100% !important;
  max-width: none !important;
  padding-left: calc(var(--mini-u) * 2.2) !important;
  padding-right: calc(var(--mini-u) * 2.2) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .mobile-active-styles,
.app-shell:not(.is-home) .cards-scroll.is-many-points .desktop-active-styles {
  width: 100% !important;
  padding-left: calc(var(--mini-u) * 2.4) !important;
  padding-right: calc(var(--mini-u) * 2.4) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .mobile-style-list {
  width: 100% !important;
  grid-template-columns: repeat(var(--active-style-count, 3), minmax(0, 1fr)) !important;
  gap: calc(var(--mini-u) * 6.8) !important;
}

.app-shell:not(.is-home) .cards-scroll.is-many-points .style-pill {
  width: 100% !important;
  max-width: none !important;
}

/* iPad home fit v341: include disclaimer and ICP in the tablet viewport. */
@media (min-width: 768px) and (max-width: 1366px) {
  .app-shell.is-home {
    --home-u: min(calc((100dvh - 24px) / 972), calc((100vw - 32px) / 375), 1.18px) !important;
    --home-canvas-h: calc(972 * var(--home-u)) !important;
  }
}

/* House 360 preview v344: isolated homepage modal, no layout impact. */
.house-360-modal {
  position: fixed;
  inset: 0;
  z-index: 9800;
  display: none;
  place-items: center;
  padding: max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  background: rgba(28, 24, 19, 0.52);
  backdrop-filter: blur(12px);
}

.house-360-modal.is-open {
  display: grid;
}

body.is-house-360-open {
  overflow: hidden;
}

.house-360-dialog {
  position: relative;
  width: min(452px, calc(100vw - 28px));
  max-height: min(820px, calc(100dvh - 28px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  padding: 16px;
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.95), rgba(255, 250, 239, 0.9) 42%, rgba(232, 216, 189, 0.96) 100%);
  box-shadow: 0 22px 70px rgba(47, 39, 30, 0.34);
  animation: house360In 220ms ease-out both;
}

.house-360-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  color: #6f5c42;
  background: rgba(255, 255, 255, 0.68);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.house-360-copy {
  padding-right: 40px;
}

.house-360-kicker {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  color: #7b5b2d;
  background: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.house-360-copy h2 {
  margin: 10px 0 5px;
  color: #3d3122;
  font-size: clamp(21px, 5vw, 28px);
  line-height: 1.12;
}

.house-360-copy p {
  margin: 0;
  color: rgba(68, 54, 36, 0.72);
  font-size: 13px;
  line-height: 1.55;
}

.house-360-stage {
  position: relative;
  min-height: 0;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(247, 239, 224, 0.78)),
    radial-gradient(circle at 50% 72%, rgba(126, 96, 54, 0.18), transparent 44%);
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.house-360-stage.is-dragging {
  cursor: grabbing;
}

.house-360-stage img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  -webkit-user-drag: none;
  filter: drop-shadow(0 18px 22px rgba(58, 47, 32, 0.18));
}

.house-360-hint {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  padding: 7px 13px;
  border-radius: 999px;
  color: rgba(72, 55, 32, 0.82);
  background: rgba(255, 255, 255, 0.76);
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 8px 24px rgba(67, 52, 30, 0.12);
  transition: opacity 180ms ease;
}

.house-360-hint.is-hidden {
  opacity: 0;
}

.house-360-actions {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: 10px;
}

.house-360-actions button {
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.house-360-secondary {
  color: #6d5b40;
  background: rgba(255, 255, 255, 0.72);
}

.house-360-primary {
  color: #fffaf1;
  background: linear-gradient(135deg, #9b7443, #c49a5f);
  box-shadow: 0 10px 24px rgba(151, 104, 49, 0.26);
}

@keyframes house360In {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (min-width: 768px) {
  .house-360-dialog {
    width: min(560px, calc(100vw - 56px));
    padding: 20px;
    gap: 14px;
  }
}

@media (max-height: 720px) {
  .house-360-dialog {
    gap: 9px;
    padding: 12px;
  }

  .house-360-copy h2 {
    margin-top: 7px;
  }

  .house-360-stage {
    max-height: 52dvh;
  }
}

@media (prefers-reduced-motion: reduce) {
  .house-360-dialog {
    animation: none;
  }
}

/* House 360 refinement v347: smaller type, single compact CTA, image-color matched stage. */
.house-360-dialog {
  gap: 10px !important;
  padding: 14px !important;
  border-radius: 22px !important;
}

.house-360-close {
  top: 9px !important;
  right: 9px !important;
  width: 32px !important;
  height: 32px !important;
  font-size: 21px !important;
}

.house-360-copy {
  padding-right: 34px !important;
}

.house-360-kicker {
  height: 22px !important;
  padding: 0 9px !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
}

.house-360-copy h2 {
  margin: 8px 0 4px !important;
  font-size: clamp(18px, 4.45vw, 24px) !important;
  line-height: 1.14 !important;
}

.house-360-copy p {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.house-360-stage {
  border-radius: 18px !important;
  background: #f4f5f3 !important;
  box-shadow: inset 0 0 0 1px rgba(215, 211, 203, 0.42) !important;
}

.house-360-stage img {
  transform-origin: center center !important;
  transition: transform 120ms ease-out !important;
  filter: none !important;
}

.house-360-hint {
  bottom: 12px !important;
  padding: 6px 11px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(72, 55, 32, 0.72) !important;
}

.house-360-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
}

.house-360-actions button {
  width: min(190px, 62%) !important;
  min-height: 40px !important;
  padding: 0 22px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.house-360-secondary {
  display: none !important;
}

@media (max-width: 380px) {
  .house-360-dialog {
    padding: 12px !important;
    gap: 8px !important;
  }

  .house-360-copy h2 {
    font-size: 17px !important;
  }

  .house-360-copy p {
    font-size: 11.5px !important;
  }

  .house-360-actions button {
    min-height: 38px !important;
    font-size: 12.5px !important;
  }
}

/* House 360 card redesign v348: match the provided white preview-card layout. */
.house-360-modal {
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.12), transparent 34%),
    rgba(33, 31, 28, 0.58) !important;
  backdrop-filter: blur(14px) saturate(0.95) !important;
}

.house-360-dialog {
  width: min(452px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 24px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(8px, 1.6dvh, 14px) !important;
  padding: clamp(14px, 3.4vw, 22px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  border-radius: clamp(22px, 6vw, 30px) !important;
  background:
    radial-gradient(circle at 78% 9%, rgba(222, 202, 171, 0.28), transparent 26%),
    linear-gradient(180deg, #fffdf9 0%, #fbf7ee 56%, #f2e8d6 100%) !important;
  box-shadow: 0 28px 84px rgba(29, 25, 20, 0.36) !important;
}

.house-360-close {
  top: clamp(10px, 2.6vw, 16px) !important;
  right: clamp(10px, 2.6vw, 16px) !important;
  width: clamp(34px, 9vw, 44px) !important;
  height: clamp(34px, 9vw, 44px) !important;
  color: #6d5b43 !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 10px 28px rgba(92, 70, 44, 0.12) !important;
  font-size: clamp(22px, 6vw, 30px) !important;
  font-weight: 300 !important;
}

.house-360-copy {
  padding: clamp(6px, 1.5vw, 10px) clamp(46px, 12vw, 62px) 0 0 !important;
}

.house-360-kicker {
  height: clamp(22px, 5.8vw, 28px) !important;
  padding: 0 clamp(10px, 2.8vw, 15px) !important;
  border-radius: 999px !important;
  color: #a97835 !important;
  background: rgba(237, 227, 212, 0.72) !important;
  font-size: clamp(11px, 3vw, 14px) !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

.house-360-copy h2 {
  margin: clamp(12px, 2.8vw, 18px) 0 clamp(5px, 1.2vw, 8px) !important;
  color: #3b3025 !important;
  font-size: clamp(25px, 7.3vw, 40px) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}

.house-360-copy p {
  max-width: 92% !important;
  color: rgba(73, 61, 49, 0.72) !important;
  font-size: clamp(13px, 3.5vw, 17px) !important;
  line-height: 1.48 !important;
}

.house-360-showcase {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: clamp(9px, 1.7dvh, 14px) !important;
  padding: clamp(5px, 1.3vw, 8px) !important;
  border-radius: clamp(18px, 5vw, 28px) !important;
  background: rgba(255, 255, 255, 0.7) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.9),
    0 16px 44px rgba(91, 73, 46, 0.09) !important;
}

.house-360-stage {
  width: 100% !important;
  min-height: clamp(218px, 43dvh, 520px) !important;
  max-height: min(52dvh, 560px) !important;
  aspect-ratio: 1.28 / 1 !important;
  border-radius: clamp(16px, 4.2vw, 24px) !important;
  background:
    radial-gradient(circle at 52% 42%, #ffffff 0%, #fbfbfa 46%, #f1f0ed 100%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(228, 224, 217, 0.72),
    inset 0 0 0 7px rgba(255, 255, 255, 0.62) !important;
}

.house-360-stage img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: clamp(6px, 1.8vw, 16px) !important;
}

.house-360-hint {
  bottom: clamp(10px, 2.4vw, 18px) !important;
  padding: clamp(5px, 1.6vw, 8px) clamp(11px, 3.6vw, 18px) !important;
  color: rgba(86, 76, 66, 0.76) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  font-size: clamp(10px, 2.7vw, 13px) !important;
  box-shadow: 0 10px 24px rgba(84, 70, 52, 0.09) !important;
}

.house-360-view-strip {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(8px, 2.2vw, 14px) !important;
  padding: clamp(10px, 2.5vw, 18px) !important;
  border-radius: clamp(16px, 4.4vw, 24px) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow: 0 12px 32px rgba(91, 73, 46, 0.08) !important;
}

.house-360-view {
  min-width: 0 !important;
  padding: clamp(5px, 1.3vw, 7px) !important;
  border: 1px solid rgba(255, 255, 255, 0.85) !important;
  border-radius: clamp(12px, 3.4vw, 18px) !important;
  background: rgba(255, 255, 255, 0.76) !important;
  color: rgba(71, 61, 50, 0.66) !important;
  box-shadow: 0 8px 20px rgba(70, 55, 35, 0.06) !important;
  cursor: pointer !important;
}

.house-360-view.is-active {
  border-color: #d79d45 !important;
  color: #3b3025 !important;
  box-shadow: 0 12px 26px rgba(196, 146, 66, 0.16) !important;
}

.house-360-view-media {
  position: relative !important;
  display: block !important;
  aspect-ratio: 1.34 / 1 !important;
  overflow: hidden !important;
  border-radius: clamp(9px, 2.8vw, 14px) !important;
  background: #f5f5f2 !important;
}

.house-360-view-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  pointer-events: none !important;
}

.house-360-play {
  position: absolute !important;
  right: 7px !important;
  bottom: 7px !important;
  width: clamp(18px, 5vw, 26px) !important;
  height: clamp(18px, 5vw, 26px) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 5px 14px rgba(61, 48, 33, 0.16) !important;
}

.house-360-play::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-38%, -50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-top: 5px solid transparent !important;
  border-bottom: 5px solid transparent !important;
  border-left: 7px solid #a07842 !important;
}

.house-360-view-label {
  display: block !important;
  margin-top: 5px !important;
  text-align: center !important;
  font-size: clamp(11px, 3vw, 14px) !important;
  font-weight: 700 !important;
}

.house-360-highlights {
  padding: 0 clamp(6px, 1.6vw, 12px) !important;
}

.house-360-highlights h3 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 0 clamp(8px, 1.8vw, 12px) !important;
  color: #3d3024 !important;
  font-size: clamp(15px, 4vw, 19px) !important;
  font-weight: 900 !important;
}

.house-360-highlight-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-top: 1px solid rgba(162, 132, 91, 0.16) !important;
}

.house-360-highlight-list span {
  min-width: 0 !important;
  padding: clamp(7px, 1.8vw, 10px) 4px 0 !important;
  color: rgba(58, 48, 38, 0.82) !important;
  text-align: center !important;
  font-size: clamp(10px, 2.75vw, 13px) !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.house-360-highlight-list span::before {
  content: "✓" !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 14px !important;
  height: 14px !important;
  margin-right: 5px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #c99748 !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  vertical-align: 1px !important;
}

.house-360-actions {
  padding-top: 2px !important;
}

.house-360-actions button {
  width: 100% !important;
  min-height: clamp(46px, 11vw, 62px) !important;
  border-radius: 999px !important;
  font-size: clamp(15px, 4vw, 20px) !important;
  background: linear-gradient(135deg, #c89345 0%, #d4a861 56%, #bd8136 100%) !important;
  box-shadow: 0 14px 30px rgba(175, 119, 43, 0.24) !important;
}

@media (max-width: 380px), (max-height: 700px) {
  .house-360-dialog {
    gap: 7px !important;
    padding: 12px !important;
  }

  .house-360-copy h2 {
    margin-top: 8px !important;
    font-size: 23px !important;
  }

  .house-360-copy p {
    font-size: 12px !important;
  }

  .house-360-stage {
    min-height: 190px !important;
    max-height: 39dvh !important;
  }

  .house-360-view-strip {
    padding: 8px !important;
    gap: 7px !important;
  }

  .house-360-highlight-list span {
    font-size: 10px !important;
  }

  .house-360-highlight-list span::before {
    width: 12px !important;
    height: 12px !important;
    margin-right: 3px !important;
    font-size: 8px !important;
  }
}

/* House 360 v350: match reference card scale and model background. */
.house-360-dialog {
  gap: clamp(8px, 1.35dvh, 12px) !important;
  padding: clamp(14px, 3vw, 20px) !important;
}

.house-360-close {
  width: clamp(32px, 7.6vw, 42px) !important;
  height: clamp(32px, 7.6vw, 42px) !important;
  font-size: clamp(21px, 5vw, 27px) !important;
}

.house-360-copy {
  padding: clamp(4px, 1vw, 8px) clamp(42px, 10vw, 58px) 0 0 !important;
}

.house-360-kicker {
  height: clamp(21px, 4.9vw, 26px) !important;
  padding: 0 clamp(10px, 2.4vw, 14px) !important;
  font-size: clamp(10px, 2.45vw, 12px) !important;
  font-weight: 800 !important;
}

.house-360-copy h2 {
  margin: clamp(9px, 2.1vw, 14px) 0 clamp(4px, 1vw, 7px) !important;
  font-size: clamp(23px, 5.55vw, 34px) !important;
  font-weight: 850 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

.house-360-copy p {
  max-width: 96% !important;
  font-size: clamp(12px, 2.9vw, 15px) !important;
  line-height: 1.46 !important;
}

.house-360-showcase {
  gap: clamp(8px, 1.45dvh, 12px) !important;
  padding: clamp(5px, 1.1vw, 8px) !important;
  background: rgba(255, 255, 255, 0.82) !important;
}

.house-360-stage {
  min-height: clamp(210px, 41dvh, 500px) !important;
  background: #ececec !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    inset 0 0 0 6px rgba(255, 255, 255, 0.58),
    0 12px 30px rgba(68, 58, 45, 0.05) !important;
}

.house-360-stage img {
  padding: clamp(4px, 1.2vw, 10px) !important;
}

.house-360-hint {
  padding: clamp(4px, 1.25vw, 7px) clamp(10px, 2.8vw, 15px) !important;
  font-size: clamp(10px, 2.45vw, 12px) !important;
}

.house-360-view-strip {
  gap: clamp(8px, 2vw, 13px) !important;
  padding: clamp(9px, 2vw, 14px) !important;
}

.house-360-view {
  padding: clamp(4px, 1.1vw, 6px) !important;
}

.house-360-view-media {
  background: #ececec !important;
}

.house-360-view-label {
  margin-top: 4px !important;
  font-size: clamp(10px, 2.55vw, 13px) !important;
  font-weight: 650 !important;
}

.house-360-highlights h3 {
  margin-bottom: clamp(6px, 1.45vw, 10px) !important;
  font-size: clamp(14px, 3.35vw, 17px) !important;
  font-weight: 850 !important;
}

.house-360-highlight-list span {
  padding-top: clamp(6px, 1.45vw, 8px) !important;
  font-size: clamp(10px, 2.45vw, 12px) !important;
}

.house-360-highlight-list span::before {
  width: 12px !important;
  height: 12px !important;
  margin-right: 4px !important;
  font-size: 8px !important;
}

.house-360-actions button {
  min-height: clamp(44px, 9.6vw, 56px) !important;
  font-size: clamp(14px, 3.35vw, 17px) !important;
  font-weight: 800 !important;
}

/* House 360 v351: smaller typography/buttons, closer to the latest reference. */
.house-360-kicker {
  height: clamp(20px, 4.45vw, 24px) !important;
  padding: 0 clamp(9px, 2.15vw, 13px) !important;
  font-size: clamp(9px, 2.05vw, 11px) !important;
}

.house-360-copy h2 {
  margin: clamp(8px, 1.8vw, 12px) 0 clamp(3px, 0.85vw, 6px) !important;
  font-size: clamp(21px, 4.65vw, 28px) !important;
  font-weight: 820 !important;
  line-height: 1.12 !important;
}

.house-360-copy p {
  font-size: clamp(11px, 2.45vw, 13px) !important;
  line-height: 1.42 !important;
}

.house-360-hint {
  font-size: clamp(9px, 2.2vw, 11px) !important;
}

.house-360-view-label {
  font-size: clamp(9px, 2.25vw, 12px) !important;
  font-weight: 650 !important;
}

.house-360-highlights h3 {
  font-size: clamp(13px, 2.9vw, 15px) !important;
}

.house-360-highlight-list span {
  font-size: clamp(9px, 2.18vw, 11px) !important;
}

.house-360-actions button {
  min-height: clamp(42px, 9vw, 52px) !important;
  font-size: clamp(13px, 2.9vw, 15px) !important;
}

/* House 360 v352: refine highlight divider, small feature text and compact CTA. */
.house-360-copy h2 {
  font-size: clamp(19px, 4.15vw, 25px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.018em !important;
}

.house-360-highlights {
  padding: 0 clamp(7px, 1.6vw, 11px) !important;
}

.house-360-highlights h3 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(6px, 1.5vw, 9px) !important;
  margin: clamp(1px, 0.4vw, 4px) 0 clamp(5px, 1.2vw, 8px) !important;
  color: #3d3024 !important;
  font-size: clamp(11px, 2.45vw, 13px) !important;
  font-weight: 820 !important;
  line-height: 1.2 !important;
}

.house-360-highlights h3::before,
.house-360-highlights h3::after {
  content: "" !important;
  flex: 1 1 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(151, 123, 86, 0.22) 48%, transparent 100%) !important;
}

.house-360-highlights h3::before {
  background: linear-gradient(90deg, transparent 0%, rgba(151, 123, 86, 0.22) 100%) !important;
}

.house-360-highlights h3::after {
  background: linear-gradient(90deg, rgba(151, 123, 86, 0.22) 0%, transparent 100%) !important;
}

.house-360-highlights h3 span {
  color: #a97835 !important;
  font-size: clamp(10px, 2.2vw, 12px) !important;
  line-height: 1 !important;
}

.house-360-highlight-list {
  border-top: 0 !important;
}

.house-360-highlight-list span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: clamp(3px, 0.75vw, 5px) 3px 0 !important;
  color: rgba(58, 48, 38, 0.8) !important;
  font-size: clamp(8px, 1.95vw, 10px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
}

.house-360-highlight-list span + span {
  border-left: 1px solid rgba(151, 123, 86, 0.14) !important;
}

.house-360-highlight-list span::before {
  width: 10px !important;
  height: 10px !important;
  margin-right: 2px !important;
  font-size: 6px !important;
  font-weight: 800 !important;
  background: #c89545 !important;
}

.house-360-actions {
  padding-top: clamp(2px, 0.7vw, 5px) !important;
}

.house-360-actions button {
  min-height: clamp(36px, 7.8vw, 44px) !important;
  font-size: clamp(12px, 2.45vw, 14px) !important;
  font-weight: 760 !important;
  box-shadow: 0 10px 22px rgba(175, 119, 43, 0.2) !important;
}

/* Homepage hot-house reference layout v353: three compact cards in one row. */
.app-shell.is-home .home-house-panel {
  width: var(--home-content-width, min(452px, calc(100vw - 32px))) !important;
  max-width: var(--home-content-width, min(452px, calc(100vw - 32px))) !important;
  margin-inline: auto !important;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(10px, 2.6vw, 14px) clamp(8px, 2.2vw, 12px) clamp(10px, 2.6vw, 13px) !important;
  border: 1px solid rgba(197, 162, 104, 0.2) !important;
  border-radius: clamp(14px, 3.6vw, 18px) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 252, 246, 0.93)) !important;
  box-shadow: 0 10px 26px rgba(116, 89, 48, 0.08) !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-house-panel h2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(8px, 2.2vw, 14px) !important;
  margin: 0 0 clamp(9px, 2.3vw, 13px) !important;
  color: #5f4324 !important;
  font-family: "Noto Serif SC", "Songti SC", serif !important;
  font-size: clamp(16px, 4.45vw, 23px) !important;
  font-weight: 750 !important;
  line-height: 1.12 !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after {
  content: "" !important;
  flex: 0 1 clamp(42px, 15vw, 92px) !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(112, 74, 35, 0.62)) !important;
}

.app-shell.is-home .home-house-panel h2::after {
  background: linear-gradient(90deg, rgba(112, 74, 35, 0.62), transparent) !important;
}

.app-shell.is-home .home-house-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(6px, 1.65vw, 9px) !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  align-items: start !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(55px, 0.88fr) minmax(44%, 1fr) !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: clamp(92px, 22vw, 126px) !important;
  height: clamp(92px, 22vw, 126px) !important;
  padding: clamp(8px, 2.1vw, 12px) clamp(6px, 1.7vw, 10px) !important;
  border: 1px solid rgba(188, 149, 91, 0.24) !important;
  border-radius: clamp(10px, 2.7vw, 15px) !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  appearance: none !important;
}

.app-shell.is-home .home-house-card:active {
  transform: scale(0.985) !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
  display: block !important;
  width: 100% !important;
  height: clamp(54px, 13.5vw, 76px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  content: none !important;
  display: none !important;
}

.app-shell.is-home .home-house-plan img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center right !important;
  margin: 0 !important;
  padding: 0 !important;
  filter: grayscale(0.04) contrast(0.95) brightness(1.03) !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: clamp(2px, 0.55vw, 4px) !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
  overflow: visible !important;
  transform: none !important;
}

.app-shell.is-home .home-house-info strong {
  display: inline-flex !important;
  align-items: flex-start !important;
  color: #b9813b !important;
  font-family: "Georgia", "Times New Roman", serif !important;
  font-size: clamp(16px, 4.25vw, 22px) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  white-space: nowrap !important;
  overflow: visible !important;
  transform: none !important;
}

.app-shell.is-home .home-house-info strong sup {
  margin-left: 1px !important;
  color: #b9813b !important;
  font-size: 0.45em !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transform: translateY(0.12em) !important;
}

.app-shell.is-home .home-house-info span,
.app-shell.is-home .home-house-info em {
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: rgba(72, 57, 41, 0.78) !important;
  font-size: clamp(7px, 1.95vw, 10px) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: clamp(17px, 4.4vw, 22px) !important;
  margin-top: auto !important;
  padding: 0 clamp(7px, 1.8vw, 11px) !important;
  border-radius: 999px !important;
  color: rgba(76, 56, 31, 0.88) !important;
  background: linear-gradient(180deg, #f6ead6, #ead8ba) !important;
  font-size: clamp(7px, 1.9vw, 10px) !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76) !important;
}

@media (max-width: 380px) {
  .app-shell.is-home .home-house-panel {
    padding-inline: 7px !important;
  }

  .app-shell.is-home .home-house-panel h2 {
    gap: 7px !important;
    font-size: 15px !important;
  }

  .app-shell.is-home .home-house-panel h2::before,
  .app-shell.is-home .home-house-panel h2::after {
    flex-basis: 34px !important;
  }

  .app-shell.is-home .home-house-cards {
    gap: 5px !important;
  }

  .app-shell.is-home .home-house-card,
  .app-shell.is-home .home-house-card.is-active {
    grid-template-columns: minmax(46px, 0.9fr) minmax(42%, 1fr) !important;
    min-height: 86px !important;
    height: 86px !important;
    padding: 7px 5px !important;
  }
}

/* Homepage complete sections v356: 8 points + experience CTA, following the latest reference. */
.app-shell.is-home .home-card-copy p {
  display: none !important;
}

.app-shell.is-home .home-points-panel,
.app-shell.is-home .home-experience-panel {
  width: var(--home-content-width, min(452px, calc(100vw - 32px))) !important;
  max-width: var(--home-content-width, min(452px, calc(100vw - 32px))) !important;
  margin-inline: auto !important;
}

.app-shell.is-home .home-points-panel {
  padding: clamp(8px, 2.1vw, 12px) 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.app-shell.is-home .home-points-panel h2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(8px, 2.2vw, 14px) !important;
  margin: 0 0 clamp(9px, 2.4vw, 14px) !important;
  color: #5f4324 !important;
  font-family: "Noto Serif SC", "Songti SC", serif !important;
  font-size: clamp(17px, 4.8vw, 26px) !important;
  font-weight: 760 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-points-panel h2::before,
.app-shell.is-home .home-points-panel h2::after {
  content: "" !important;
  flex: 0 1 clamp(36px, 13vw, 76px) !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(112, 74, 35, 0.62)) !important;
}

.app-shell.is-home .home-points-panel h2::after {
  background: linear-gradient(90deg, rgba(112, 74, 35, 0.62), transparent) !important;
}

.app-shell.is-home .home-point-showcase {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: clamp(4px, 1.1vw, 8px) !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.app-shell.is-home .home-point-item {
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(4px, 1vw, 6px) clamp(2px, 0.7vw, 4px) clamp(3px, 0.8vw, 5px) !important;
  border: 1px solid rgba(188, 149, 91, 0.22) !important;
  border-radius: clamp(8px, 2vw, 12px) !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 8px 18px rgba(101, 76, 42, 0.05) !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-point-item figcaption {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: clamp(24px, 5.8vw, 31px) !important;
  margin: 0 0 clamp(3px, 0.7vw, 5px) !important;
  color: rgba(62, 47, 31, 0.9) !important;
  text-align: center !important;
  line-height: 1.05 !important;
}

.app-shell.is-home .home-point-item figcaption strong {
  color: #6f5940 !important;
  font-size: clamp(10px, 2.45vw, 14px) !important;
  font-weight: 650 !important;
  letter-spacing: 0.03em !important;
}

.app-shell.is-home .home-point-item figcaption span {
  margin-top: 2px !important;
  font-size: clamp(5.5px, 1.38vw, 8px) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  letter-spacing: -0.12em !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-point-item img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 0.58 / 1 !important;
  height: auto !important;
  border-radius: clamp(5px, 1.3vw, 8px) !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #eee8dd !important;
}

.app-shell.is-home .home-experience-panel {
  padding: clamp(10px, 2.5vw, 14px) 0 clamp(2px, 0.5vw, 4px) !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.app-shell.is-home .home-experience-features {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(6px, 1.5vw, 10px) !important;
  padding: clamp(9px, 2.2vw, 13px) clamp(8px, 2vw, 12px) !important;
  border: 1px solid rgba(188, 149, 91, 0.2) !important;
  border-radius: clamp(12px, 3vw, 16px) !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 9px 22px rgba(99, 76, 44, 0.06) !important;
}

.app-shell.is-home .home-experience-feature {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(5px, 1.3vw, 8px) !important;
  min-width: 0 !important;
  text-align: left !important;
}

.app-shell.is-home .home-experience-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: clamp(26px, 7vw, 42px) !important;
  height: clamp(26px, 7vw, 42px) !important;
  color: #c89142 !important;
}

.app-shell.is-home .home-experience-icon svg {
  width: 100% !important;
  height: 100% !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.app-shell.is-home .home-experience-feature p {
  margin: 0 !important;
  min-width: 0 !important;
}

.app-shell.is-home .home-experience-feature strong {
  display: block !important;
  color: #4c3925 !important;
  font-size: clamp(10px, 2.65vw, 15px) !important;
  font-weight: 820 !important;
  line-height: 1.12 !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-experience-feature span {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(64, 50, 34, 0.68) !important;
  font-size: clamp(7px, 1.85vw, 10px) !important;
  font-weight: 560 !important;
  line-height: 1.25 !important;
}

.app-shell.is-home .home-experience-copy {
  padding-top: clamp(13px, 3.3vw, 22px) !important;
}

.app-shell.is-home .home-experience-copy h2 {
  margin: 0 !important;
  color: #5a4028 !important;
  font-family: "Noto Serif SC", "Songti SC", serif !important;
  font-size: clamp(18px, 5vw, 28px) !important;
  font-weight: 760 !important;
  letter-spacing: 0.11em !important;
  line-height: 1.12 !important;
}

.app-shell.is-home .home-experience-copy p {
  margin: clamp(6px, 1.4vw, 9px) 0 0 !important;
  color: rgba(70, 54, 35, 0.6) !important;
  font-size: clamp(9px, 2.4vw, 13px) !important;
  font-weight: 520 !important;
  line-height: 1.35 !important;
}

.app-shell.is-home .home-experience-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: calc(100% - clamp(34px, 9vw, 68px)) !important;
  min-height: clamp(34px, 8.8vw, 48px) !important;
  margin: clamp(11px, 2.8vw, 18px) auto 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(90deg, #cf9748 0%, #e2b265 52%, #d09644 100%) !important;
  box-shadow: 0 10px 24px rgba(185, 124, 43, 0.22) !important;
  font-size: clamp(13px, 3.45vw, 18px) !important;
  font-weight: 820 !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
}

.app-shell.is-home .home-experience-button:active {
  transform: scale(0.985) !important;
}

@media (max-width: 380px) {
  .app-shell.is-home .home-point-showcase {
    gap: 3px !important;
  }

  .app-shell.is-home .home-point-item {
    padding: 4px 2px !important;
  }

  .app-shell.is-home .home-experience-features {
    gap: 4px !important;
    padding-inline: 6px !important;
  }

  .app-shell.is-home .home-experience-feature {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .app-shell.is-home .home-experience-feature span {
    display: none !important;
  }
}

/* Homepage complete flow v357: undo legacy absolute positioning so new sections render in order. */
.app-shell.is-home .home-main {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: clamp(10px, 2.7vw, 18px) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: calc(335 * var(--home-u)) 0 0 !important;
  position: relative !important;
  overflow: visible !important;
}

.app-shell.is-home .home-selection-card,
.app-shell.is-home .home-points-panel,
.app-shell.is-home .home-house-panel,
.app-shell.is-home .home-experience-panel {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: auto !important;
}

.app-shell.is-home .home-contact-strip,
.app-shell.is-home .home-footnote {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}

/* Homepage typography and card polish v361: unify fonts and enlarge house plans. */
.app-shell.is-home .home-points-panel,
.app-shell.is-home .home-point-item,
.app-shell.is-home .home-experience-panel,
.app-shell.is-home .home-experience-feature,
.app-shell.is-home .home-experience-button {
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

.app-shell.is-home .home-points-panel h2,
.app-shell.is-home .home-house-panel h2,
.app-shell.is-home .home-experience-copy h2 {
  font-family: var(--home-default-serif, serif) !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  grid-template-columns: minmax(48px, 0.58fr) minmax(0, 1.42fr) !important;
  min-height: clamp(106px, 22vw, 148px) !important;
  height: clamp(106px, 22vw, 148px) !important;
  padding: clamp(9px, 2vw, 13px) clamp(5px, 1.2vw, 8px) !important;
}

.app-shell.is-home .home-house-info strong {
  font-family: var(--home-default-serif, serif) !important;
  font-size: clamp(17px, 4.1vw, 24px) !important;
  letter-spacing: -0.05em !important;
}

.app-shell.is-home .home-house-info span,
.app-shell.is-home .home-house-info em {
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(7px, 1.75vw, 10px) !important;
  line-height: 1.15 !important;
}

.app-shell.is-home .home-house-action {
  min-height: clamp(16px, 3.8vw, 21px) !important;
  padding-inline: clamp(7px, 1.55vw, 10px) !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(7px, 1.65vw, 9px) !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  width: 112% !important;
  height: clamp(72px, 15vw, 102px) !important;
  justify-self: end !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-plan img {
  width: 112% !important;
  max-width: none !important;
  object-position: center right !important;
  transform: translateX(2%) scale(1.08) !important;
  transform-origin: center right !important;
}

.app-shell.is-home .home-point-item figcaption span {
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(6px, 1.45vw, 8px) !important;
  letter-spacing: -0.13em !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-experience-feature strong {
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(9px, 2.25vw, 13px) !important;
  font-weight: 760 !important;
}

.app-shell.is-home .home-experience-feature span {
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(6px, 1.65vw, 9px) !important;
  line-height: 1.18 !important;
}

/* Hot house image containment v362: enlarge plans without overlapping left text. */
.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  grid-template-columns: minmax(58px, 0.74fr) minmax(0, 1.26fr) !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  width: 100% !important;
  height: clamp(74px, 15.8vw, 106px) !important;
  justify-self: stretch !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-house-plan img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center right !important;
  transform: scale(1.22) !important;
  transform-origin: center right !important;
}

/* Hot house vertical card layout v363: area top, plan centered, details below. */
.app-shell.is-home .home-house-panel {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.app-shell.is-home .home-house-cards {
  height: auto !important;
  min-height: 0 !important;
  align-items: stretch !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(54px, 1fr) auto auto auto !important;
  justify-items: center !important;
  align-items: center !important;
  min-height: clamp(148px, 31vw, 190px) !important;
  height: clamp(148px, 31vw, 190px) !important;
  padding: clamp(8px, 1.8vw, 12px) clamp(6px, 1.5vw, 10px) !important;
  row-gap: clamp(3px, 0.75vw, 6px) !important;
  text-align: center !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  display: contents !important;
}

.app-shell.is-home .home-house-info strong {
  grid-row: 1 !important;
  grid-column: 1 !important;
  justify-self: center !important;
  text-align: center !important;
  font-size: clamp(18px, 4.4vw, 26px) !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  grid-row: 2 !important;
  grid-column: 1 !important;
  justify-self: center !important;
  width: 100% !important;
  height: clamp(54px, 12.5vw, 78px) !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-plan img {
  width: 100% !important;
  height: 100% !important;
  object-position: center !important;
  transform: scale(1.1) !important;
  transform-origin: center !important;
}

.app-shell.is-home .home-house-info > span {
  grid-row: 3 !important;
  grid-column: 1 !important;
  justify-self: center !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-info em {
  grid-row: 4 !important;
  grid-column: 1 !important;
  justify-self: center !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-action {
  grid-row: 5 !important;
  grid-column: 1 !important;
  justify-self: center !important;
  margin-top: clamp(1px, 0.35vw, 3px) !important;
}

/* Homepage section title typography v364: smaller and unified. */
.app-shell.is-home .home-points-panel h2,
.app-shell.is-home .home-house-panel h2 {
  color: #5a4028 !important;
  font-family: var(--home-default-serif, serif) !important;
  font-size: clamp(15px, 3.65vw, 22px) !important;
  font-weight: 620 !important;
  line-height: 1.12 !important;
  letter-spacing: 0.06em !important;
  gap: clamp(7px, 1.8vw, 12px) !important;
}

.app-shell.is-home .home-points-panel h2::before,
.app-shell.is-home .home-points-panel h2::after,
.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after {
  flex-basis: clamp(32px, 10vw, 68px) !important;
  opacity: 0.72 !important;
}

/* Home point label typography v365: refined one-line labels. */
.app-shell.is-home .home-point-item figcaption strong {
  color: #5b4731 !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(9px, 2.05vw, 13px) !important;
  font-weight: 640 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
}

.app-shell.is-home .home-point-item figcaption span {
  color: #3f3023 !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(5.5px, 1.18vw, 7.6px) !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  letter-spacing: -0.1em !important;
  white-space: nowrap !important;
}

/* Homepage compact vertical rhythm and refined section headings v367. */
.app-shell.is-home .home-main {
  gap: clamp(5px, 1.2vw, 10px) !important;
}

.app-shell.is-home .home-points-panel {
  padding-top: clamp(2px, 0.6vw, 5px) !important;
}

.app-shell.is-home .home-points-panel h2,
.app-shell.is-home .home-house-panel h2 {
  margin-bottom: clamp(6px, 1.5vw, 10px) !important;
  color: #533a25 !important;
  font-family: var(--home-default-serif, serif) !important;
  font-size: clamp(14px, 2.85vw, 18px) !important;
  font-weight: 820 !important;
  line-height: 1.08 !important;
  letter-spacing: 0.045em !important;
}

.app-shell.is-home .home-points-panel h2::before,
.app-shell.is-home .home-points-panel h2::after,
.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after {
  flex-basis: clamp(28px, 7vw, 54px) !important;
}

/* Hot house area number typography v368. */
.app-shell.is-home .home-house-info strong {
  display: inline-flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  color: #b9813b !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(19px, 4.25vw, 25px) !important;
  font-weight: 820 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
}

.app-shell.is-home .home-house-info strong sup {
  margin-left: 2px !important;
  color: #b9813b !important;
  font-size: 0.38em !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  transform: translateY(-0.16em) !important;
}

/* Homepage color and spacing tuning v370: keep original canvas, tune point labels to CTA gold. */
.app-shell.is-home .home-main {
  gap: calc(6 * var(--home-u)) !important;
}

.app-shell.is-home .home-points-panel h2,
.app-shell.is-home .home-house-panel h2 {
  font-weight: 900 !important;
}

.app-shell.is-home .home-point-item figcaption strong,
.app-shell.is-home .home-point-item figcaption span {
  color: #b9813b !important;
}

/* Homepage card typography v371: match latest visual references. */
.app-shell.is-home .home-point-item {
  background: #fffaf2 !important;
  border-color: rgba(188, 169, 139, 0.42) !important;
  box-shadow: 0 8px 18px rgba(88, 66, 42, 0.07) !important;
}

.app-shell.is-home .home-point-item figcaption {
  margin-bottom: clamp(4px, 0.9vw, 6px) !important;
  color: #3d3328 !important;
}

.app-shell.is-home .home-point-item figcaption strong {
  color: #3d3328 !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(10px, 2.15vw, 13px) !important;
  font-weight: 820 !important;
  letter-spacing: 0.01em !important;
}

.app-shell.is-home .home-point-item figcaption span {
  color: #3d3328 !important;
  font-family: var(--home-default-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: clamp(7px, 1.55vw, 9px) !important;
  font-weight: 820 !important;
  letter-spacing: -0.05em !important;
}

.app-shell.is-home .home-points-panel h2,
.app-shell.is-home .home-house-panel h2 {
  color: #5b3e27 !important;
  font-family: var(--home-default-serif, "Noto Serif SC", "Songti SC", serif) !important;
  font-size: clamp(18px, 4.2vw, 24px) !important;
  font-weight: 860 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.05 !important;
  gap: clamp(10px, 2.6vw, 16px) !important;
}

.app-shell.is-home .home-points-panel h2::before,
.app-shell.is-home .home-points-panel h2::after,
.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after {
  flex-basis: clamp(38px, 10vw, 70px) !important;
  height: 1px !important;
  opacity: 0.8 !important;
}

.app-shell.is-home .home-house-info strong {
  color: #b9813b !important;
  font-size: clamp(20px, 4.7vw, 29px) !important;
  font-weight: 840 !important;
  letter-spacing: -0.045em !important;
}

.app-shell.is-home .home-house-info strong sup {
  color: #b9813b !important;
  font-size: 0.36em !important;
  transform: translateY(-0.2em) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  color: #4b4238 !important;
  font-size: clamp(8px, 1.85vw, 11px) !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
}

.app-shell.is-home .home-house-action {
  min-height: clamp(18px, 4vw, 24px) !important;
  padding-inline: clamp(9px, 2.2vw, 14px) !important;
  color: #5f4630 !important;
  background: #eee4d5 !important;
  font-size: clamp(7px, 1.75vw, 10px) !important;
  font-weight: 760 !important;
}

/* Bird preview scale v373: slightly enlarge aerial images while keeping overlays aligned. */
.app-shell:not(.is-home) .bird-panel .scene-stage .scene-image,
.app-shell:not(.is-home) .bird-panel .scene-stage .image-overlay-stack img,
.submit-page .submit-bird-stage .scene-image,
.submit-page .submit-bird-stage .image-overlay-stack img {
  object-fit: contain !important;
  object-position: center center !important;
  transform: scale(1.05) !important;
  transform-origin: center center !important;
}

/* Homepage points module v374: closer to the provided reference layout. */
.app-shell.is-home .home-points-panel {
  padding: calc(12 * var(--home-u)) 0 calc(14 * var(--home-u)) !important;
}

.app-shell.is-home .home-points-panel h2,
.app-shell.is-home .home-house-panel h2 {
  margin: 0 0 calc(18 * var(--home-u)) !important;
  color: #513722 !important;
  font-family: var(--home-default-serif, "Noto Serif SC", "Songti SC", serif) !important;
  font-size: clamp(20px, 5vw, 27px) !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
}

.app-shell.is-home .home-points-panel h2::before,
.app-shell.is-home .home-points-panel h2::after,
.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after {
  flex-basis: clamp(48px, 13vw, 88px) !important;
  background: linear-gradient(90deg, transparent, rgba(75, 48, 27, 0.62)) !important;
}

.app-shell.is-home .home-points-panel h2::after,
.app-shell.is-home .home-house-panel h2::after {
  background: linear-gradient(90deg, rgba(75, 48, 27, 0.62), transparent) !important;
}

.app-shell.is-home .home-point-showcase {
  gap: calc(7 * var(--home-u)) !important;
}

.app-shell.is-home .home-point-item {
  padding: calc(8 * var(--home-u)) calc(3 * var(--home-u)) calc(5 * var(--home-u)) !important;
  border: 1px solid rgba(217, 201, 178, 0.86) !important;
  border-radius: calc(13 * var(--home-u)) !important;
  background: rgba(255, 251, 245, 0.98) !important;
  box-shadow: 0 7px 18px rgba(91, 67, 42, 0.07) !important;
}

.app-shell.is-home .home-point-item figcaption {
  min-height: calc(38 * var(--home-u)) !important;
  margin-bottom: calc(7 * var(--home-u)) !important;
}

.app-shell.is-home .home-point-item figcaption strong {
  color: #41372d !important;
  font-size: clamp(12px, 2.7vw, 16px) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

.app-shell.is-home .home-point-item figcaption span {
  margin-top: calc(5 * var(--home-u)) !important;
  color: #2f2a25 !important;
  font-size: clamp(7px, 1.65vw, 10px) !important;
  font-weight: 860 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
}

.app-shell.is-home .home-point-item img {
  aspect-ratio: 0.62 / 1 !important;
  border-radius: calc(9 * var(--home-u)) !important;
  box-shadow: inset 0 0 0 1px rgba(109, 79, 48, 0.06) !important;
}

/* Homepage experience module v375: match reference spacing and typography. */
.app-shell.is-home .home-experience-panel {
  padding: calc(16 * var(--home-u)) 0 calc(6 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-features {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: calc(15 * var(--home-u)) calc(13 * var(--home-u)) !important;
  border: 1px solid rgba(221, 207, 188, 0.82) !important;
  border-radius: calc(19 * var(--home-u)) !important;
  background: rgba(255, 253, 248, 0.86) !important;
  box-shadow: 0 8px 22px rgba(93, 68, 42, 0.05) !important;
}

.app-shell.is-home .home-experience-feature {
  position: relative !important;
  grid-template-columns: calc(36 * var(--home-u)) minmax(0, 1fr) !important;
  gap: calc(8 * var(--home-u)) !important;
  padding: 0 calc(10 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-feature:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  width: 1px !important;
  height: 58% !important;
  background: rgba(219, 204, 184, 0.78) !important;
  transform: translateY(-50%) !important;
}

.app-shell.is-home .home-experience-icon {
  width: calc(36 * var(--home-u)) !important;
  height: calc(36 * var(--home-u)) !important;
  color: #c29a62 !important;
}

.app-shell.is-home .home-experience-icon svg {
  stroke-width: 1.75 !important;
}

.app-shell.is-home .home-experience-feature strong {
  color: #3f3023 !important;
  font-size: clamp(11px, 2.75vw, 16px) !important;
  font-weight: 860 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

.app-shell.is-home .home-experience-feature span {
  margin-top: calc(5 * var(--home-u)) !important;
  color: rgba(64, 51, 38, 0.72) !important;
  font-size: clamp(8px, 2.05vw, 12px) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.app-shell.is-home .home-experience-copy {
  padding-top: calc(24 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-copy h2 {
  color: #543823 !important;
  font-size: clamp(22px, 5.6vw, 32px) !important;
  font-weight: 820 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.06 !important;
}

.app-shell.is-home .home-experience-copy p {
  margin-top: calc(10 * var(--home-u)) !important;
  color: rgba(82, 68, 54, 0.58) !important;
  font-size: clamp(10px, 2.55vw, 15px) !important;
  font-weight: 620 !important;
  line-height: 1.35 !important;
}

.app-shell.is-home .home-experience-button {
  width: calc(100% - calc(34 * var(--home-u))) !important;
  min-height: calc(46 * var(--home-u)) !important;
  margin-top: calc(18 * var(--home-u)) !important;
  border-radius: calc(24 * var(--home-u)) !important;
  background: linear-gradient(90deg, #cf994d 0%, #dfb46d 52%, #d09a4d 100%) !important;
  box-shadow: 0 10px 22px rgba(183, 125, 50, 0.18) !important;
  font-size: clamp(16px, 4vw, 24px) !important;
  font-weight: 860 !important;
  letter-spacing: 0.05em !important;
}

/* Hot house area layout v376: keep area text clear of plan image. */
.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  grid-template-rows: auto minmax(calc(64 * var(--home-u)), 1fr) auto auto auto !important;
  row-gap: calc(6 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong {
  position: relative !important;
  z-index: 2 !important;
  display: inline-block !important;
  line-height: 0.92 !important;
}

.app-shell.is-home .home-house-info strong sup {
  position: static !important;
  display: inline-block !important;
  margin-left: calc(2 * var(--home-u)) !important;
  font-size: 0.32em !important;
  line-height: 1 !important;
  vertical-align: super !important;
  transform: none !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  position: relative !important;
  z-index: 1 !important;
  margin-top: calc(4 * var(--home-u)) !important;
  height: clamp(58px, 13vw, 86px) !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-plan img {
  transform: scale(1.02) !important;
  transform-origin: center center !important;
}

/* Homepage points refinement v377: smaller labels and softer card surfaces. */
.app-shell.is-home .home-points-panel h2 {
  margin-bottom: calc(14 * var(--home-u)) !important;
  font-size: clamp(16px, 3.8vw, 22px) !important;
  font-weight: 820 !important;
  letter-spacing: 0.055em !important;
}

.app-shell.is-home .home-points-panel h2::before,
.app-shell.is-home .home-points-panel h2::after {
  flex-basis: clamp(36px, 10vw, 68px) !important;
  opacity: 0.68 !important;
}

.app-shell.is-home .home-point-showcase {
  gap: calc(6 * var(--home-u)) !important;
}

.app-shell.is-home .home-point-item {
  padding: calc(7 * var(--home-u)) calc(2 * var(--home-u)) calc(5 * var(--home-u)) !important;
  border: 1px solid rgba(231, 220, 204, 0.9) !important;
  border-radius: calc(12 * var(--home-u)) !important;
  background: rgba(255, 250, 241, 0.96) !important;
  box-shadow: 0 6px 14px rgba(87, 63, 39, 0.045) !important;
}

.app-shell.is-home .home-point-item figcaption {
  min-height: calc(32 * var(--home-u)) !important;
  margin-bottom: calc(6 * var(--home-u)) !important;
}

.app-shell.is-home .home-point-item figcaption strong {
  font-size: clamp(10px, 2.25vw, 13px) !important;
  font-weight: 740 !important;
}

.app-shell.is-home .home-point-item figcaption span {
  margin-top: calc(3 * var(--home-u)) !important;
  font-size: clamp(5.5px, 1.25vw, 7.5px) !important;
  font-weight: 820 !important;
  letter-spacing: -0.08em !important;
  white-space: nowrap !important;
}

/* Homepage typography/background unification v378. */
html,
body,
.app-shell,
.home-screen,
.submit-dialog.submit-page,
.submit-success-screen {
  background: #fbfaf7 !important;
  background-color: #fbfaf7 !important;
}

.app-shell.is-home .home-points-panel h2,
.app-shell.is-home .home-house-panel h2 {
  font-size: clamp(15px, 3.45vw, 20px) !important;
  font-weight: 780 !important;
  letter-spacing: 0.05em !important;
}

.app-shell.is-home .home-point-item {
  border-color: rgba(226, 214, 197, 0.78) !important;
  border-radius: calc(8 * var(--home-u)) !important;
  background: rgba(255, 251, 245, 0.94) !important;
}

.app-shell.is-home .home-point-item img {
  border-radius: calc(6 * var(--home-u)) !important;
}

.app-shell.is-home .home-point-item:first-child img {
  object-position: 44% center !important;
}

/* Homepage points/background tuning v379. */
html,
body,
.app-shell,
#app,
.home-screen,
.submit-dialog.submit-page,
.submit-success-screen {
  background: #fdfcfa !important;
  background-color: #fdfcfa !important;
}

.app-shell.is-home .home-main {
  gap: calc(3 * var(--home-u)) !important;
}

.app-shell.is-home .home-points-panel {
  padding-bottom: calc(5 * var(--home-u)) !important;
}

.app-shell.is-home .home-point-item {
  padding: calc(7 * var(--home-u)) 0 0 !important;
  border-radius: calc(8 * var(--home-u)) !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-point-item figcaption {
  padding: 0 calc(3 * var(--home-u)) !important;
}

.app-shell.is-home .home-point-item img {
  display: block !important;
  width: 100% !important;
  border-radius: calc(8 * var(--home-u)) !important;
}

/* Homepage top hero and selection card tuning v381. */
.app-shell.is-home .home-title {
  gap: calc(14 * var(--home-u)) !important;
  margin-bottom: calc(7 * var(--home-u)) !important;
  font-size: calc(23 * var(--home-u)) !important;
  font-weight: 520 !important;
  line-height: 1.03 !important;
  letter-spacing: 0 !important;
}

.app-shell.is-home .home-subtitle {
  margin-bottom: calc(2 * var(--home-u)) !important;
  font-size: calc(9.4 * var(--home-u)) !important;
  line-height: calc(12.2 * var(--home-u)) !important;
  font-weight: 720 !important;
}

.app-shell.is-home .home-desc {
  font-size: calc(8.8 * var(--home-u)) !important;
  line-height: calc(11.4 * var(--home-u)) !important;
  font-weight: 680 !important;
}

.app-shell.is-home .home-feature-row {
  padding: calc(13 * var(--home-u)) calc(16 * var(--home-u)) !important;
  row-gap: calc(11 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature .home-icon-slot {
  width: calc(22 * var(--home-u)) !important;
  height: calc(22 * var(--home-u)) !important;
  min-width: calc(22 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature strong {
  font-size: calc(8.2 * var(--home-u)) !important;
  line-height: calc(10.2 * var(--home-u)) !important;
  font-weight: 760 !important;
}

.app-shell.is-home .home-feature p span {
  margin-top: calc(1.5 * var(--home-u)) !important;
  font-size: calc(6.6 * var(--home-u)) !important;
  line-height: calc(8.2 * var(--home-u)) !important;
  font-weight: 520 !important;
}

.app-shell.is-home .home-selection-card .home-card-copy h2 {
  font-size: calc(17 * var(--home-u)) !important;
  line-height: calc(18.5 * var(--home-u)) !important;
  letter-spacing: -0.04em !important;
}

.app-shell.is-home .home-selection-card .home-service-row {
  gap: calc(5 * var(--home-u)) calc(7 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  min-height: calc(48 * var(--home-u)) !important;
  grid-template-rows: calc(27 * var(--home-u)) calc(10 * var(--home-u)) calc(8 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: calc(31 * var(--home-u)) !important;
  height: calc(31 * var(--home-u)) !important;
  min-width: calc(31 * var(--home-u)) !important;
  min-height: calc(31 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  font-size: calc(8.5 * var(--home-u)) !important;
  line-height: calc(9.5 * var(--home-u)) !important;
  font-weight: 780 !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  font-size: calc(6.2 * var(--home-u)) !important;
  line-height: calc(7.4 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-interior-slot {
  overflow: hidden !important;
  background: transparent !important;
}

.app-shell.is-home .home-selection-card .home-interior-slot img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.app-shell.is-home .home-enter-button {
  min-height: calc(25 * var(--home-u)) !important;
  padding: 0 calc(15 * var(--home-u)) !important;
  border-radius: calc(7 * var(--home-u)) !important;
  font-size: calc(10 * var(--home-u)) !important;
  font-weight: 760 !important;
}

/* Selection bird image scale v382: make the aerial model fill more of the frame. */
.app-shell:not(.is-home) #leftBaseImage,
.app-shell:not(.is-home) #leftOverlayImage,
.app-shell:not(.is-home) .bird-panel .scene-stage .image-overlay-stack img {
  object-fit: contain !important;
  object-position: center center !important;
  transform: scale(1.16) !important;
  transform-origin: center center !important;
}

/* Homepage experience module v384: restore the compact reference CTA and feature strip. */
.app-shell.is-home .home-experience-panel {
  padding: calc(10 * var(--home-u)) calc(18 * var(--home-u)) calc(8 * var(--home-u)) !important;
  display: grid !important;
  justify-items: center !important;
  row-gap: calc(13 * var(--home-u)) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.app-shell.is-home .home-experience-features {
  width: 100% !important;
  min-height: calc(74 * var(--home-u)) !important;
  padding: calc(13 * var(--home-u)) calc(16 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: center !important;
  border: 1px solid rgba(228, 218, 205, 0.86) !important;
  border-radius: calc(17 * var(--home-u)) !important;
  background: rgba(255, 254, 250, 0.94) !important;
  box-shadow: 0 calc(5 * var(--home-u)) calc(18 * var(--home-u)) rgba(95, 70, 42, 0.035) !important;
}

.app-shell.is-home .home-experience-feature {
  position: relative !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: calc(26 * var(--home-u)) minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: calc(5 * var(--home-u)) !important;
  padding: 0 calc(7 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-feature:first-child {
  padding-left: 0 !important;
}

.app-shell.is-home .home-experience-feature:last-child {
  padding-right: 0 !important;
}

.app-shell.is-home .home-experience-feature:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  width: 1px !important;
  height: calc(38 * var(--home-u)) !important;
  background: rgba(224, 213, 199, 0.9) !important;
  transform: translateY(-50%) !important;
}

.app-shell.is-home .home-experience-icon {
  width: calc(26 * var(--home-u)) !important;
  height: calc(26 * var(--home-u)) !important;
  min-width: calc(26 * var(--home-u)) !important;
  color: #c39a62 !important;
}

.app-shell.is-home .home-experience-icon svg {
  width: 100% !important;
  height: 100% !important;
  stroke: currentColor !important;
  stroke-width: 1.72 !important;
}

.app-shell.is-home .home-experience-feature p {
  margin: 0 !important;
  min-width: 0 !important;
}

.app-shell.is-home .home-experience-feature strong {
  display: block !important;
  color: #3d3028 !important;
  font-family: var(--home-default-sans, system-ui, sans-serif) !important;
  font-size: calc(10.9 * var(--home-u)) !important;
  font-weight: 850 !important;
  line-height: calc(13.2 * var(--home-u)) !important;
  letter-spacing: calc(-0.34 * var(--home-u)) !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-experience-feature span {
  display: block !important;
  margin-top: calc(3.5 * var(--home-u)) !important;
  color: rgba(60, 49, 41, 0.68) !important;
  font-family: var(--home-default-sans, system-ui, sans-serif) !important;
  font-size: calc(7.3 * var(--home-u)) !important;
  font-weight: 560 !important;
  line-height: calc(9.8 * var(--home-u)) !important;
  letter-spacing: calc(-0.28 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-copy {
  padding-top: calc(4 * var(--home-u)) !important;
  text-align: center !important;
}

.app-shell.is-home .home-experience-copy h2 {
  margin: 0 !important;
  color: #4a3527 !important;
  font-family: var(--home-default-serif, "STSong", serif) !important;
  font-size: calc(20.5 * var(--home-u)) !important;
  font-weight: 760 !important;
  line-height: calc(25 * var(--home-u)) !important;
  letter-spacing: calc(1.15 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-copy p {
  margin: calc(3.5 * var(--home-u)) 0 0 !important;
  color: rgba(68, 55, 45, 0.72) !important;
  font-family: var(--home-default-sans, system-ui, sans-serif) !important;
  font-size: calc(8.2 * var(--home-u)) !important;
  font-weight: 560 !important;
  line-height: calc(11 * var(--home-u)) !important;
  letter-spacing: calc(0.05 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-button {
  width: calc(100% - calc(20 * var(--home-u))) !important;
  min-height: calc(34 * var(--home-u)) !important;
  margin-top: calc(1 * var(--home-u)) !important;
  padding: 0 calc(21 * var(--home-u)) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(7 * var(--home-u)) !important;
  border: 0 !important;
  border-radius: calc(18 * var(--home-u)) !important;
  background: linear-gradient(90deg, #c9944f 0%, #e0b677 50%, #c9944f 100%) !important;
  box-shadow: none !important;
  color: #fffdf9 !important;
  font-family: var(--home-default-sans, system-ui, sans-serif) !important;
  font-size: calc(13.5 * var(--home-u)) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: calc(0.35 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-button i {
  display: inline-block !important;
  font-size: calc(14 * var(--home-u)) !important;
  font-style: normal !important;
  line-height: 1 !important;
  transform: translateY(calc(-0.4 * var(--home-u))) !important;
}

@media (max-width: 430px) {
  .app-shell.is-home .home-experience-panel {
    padding-right: calc(12 * var(--home-u)) !important;
    padding-left: calc(12 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-experience-features {
    min-height: calc(66 * var(--home-u)) !important;
    padding: calc(10 * var(--home-u)) calc(7 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-experience-feature {
    grid-template-columns: calc(22 * var(--home-u)) minmax(0, 1fr) !important;
    column-gap: calc(3.5 * var(--home-u)) !important;
    padding: 0 calc(3.5 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-experience-icon {
    width: calc(22 * var(--home-u)) !important;
    height: calc(22 * var(--home-u)) !important;
    min-width: calc(22 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-experience-feature strong {
    font-size: calc(9.2 * var(--home-u)) !important;
    line-height: calc(11.2 * var(--home-u)) !important;
    letter-spacing: calc(-0.36 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-experience-feature span {
    margin-top: calc(2.5 * var(--home-u)) !important;
    font-size: calc(6.4 * var(--home-u)) !important;
    line-height: calc(8.5 * var(--home-u)) !important;
    letter-spacing: calc(-0.3 * var(--home-u)) !important;
  }
}

/* Homepage detail tuning v385: match selection-page canvas color and shorten point cards. */
html,
body {
  background: #fdfcfa !important;
  background-color: #fdfcfa !important;
}

body:has(.app-shell.is-home),
.app-shell.is-home,
.app-shell.is-home #homeScreen,
.app-shell.is-home .home-screen {
  background: #fdfcfa !important;
  background-color: #fdfcfa !important;
}

.app-shell.is-home .home-point-item {
  padding: calc(5.5 * var(--home-u)) 0 0 !important;
}

.app-shell.is-home .home-point-item figcaption {
  min-height: calc(31 * var(--home-u)) !important;
  margin-bottom: calc(5 * var(--home-u)) !important;
  padding: 0 calc(3 * var(--home-u)) !important;
}

.app-shell.is-home .home-point-item figcaption strong {
  font-size: clamp(10.5px, 2.35vw, 13.5px) !important;
  line-height: 0.95 !important;
}

.app-shell.is-home .home-point-item figcaption span {
  margin-top: calc(3.5 * var(--home-u)) !important;
  font-size: clamp(5.4px, 1.18vw, 7.4px) !important;
  line-height: 0.98 !important;
}

.app-shell.is-home .home-point-item img {
  aspect-ratio: 0.76 / 1 !important;
  height: auto !important;
  border-radius: calc(7.5 * var(--home-u)) !important;
}

/* Homepage background cleanup v386: remove legacy warm gradient layers. */
html,
body,
body:has(.app-shell.is-home),
.app-shell.is-home,
.app-shell.is-home::before,
.app-shell.is-home::after,
.app-shell.is-home #homeScreen,
.app-shell.is-home #homeScreen::before,
.app-shell.is-home #homeScreen::after {
  background: #fdfcfa !important;
  background-color: #fdfcfa !important;
  background-image: none !important;
}

body::before,
body::after {
  background: #fdfcfa !important;
  background-color: #fdfcfa !important;
  background-image: none !important;
}

/* Homepage points polish v387: lighter borders, smaller heading, clearer thumbnails. */
html:has(.app-shell.is-home),
html:has(.app-shell.is-home) body {
  background: #fdfcfa !important;
  background-color: #fdfcfa !important;
  background-image: none !important;
}

.app-shell.is-home .home-points-panel h2 {
  margin-bottom: calc(12 * var(--home-u)) !important;
  font-size: calc(13.8 * var(--home-u)) !important;
  font-weight: 820 !important;
  letter-spacing: calc(0.42 * var(--home-u)) !important;
}

.app-shell.is-home .home-points-panel h2::before,
.app-shell.is-home .home-points-panel h2::after {
  flex-basis: clamp(24px, 6.5vw, 48px) !important;
  opacity: 0.42 !important;
}

.app-shell.is-home .home-point-item {
  border-color: rgba(218, 204, 184, 0.36) !important;
  background: rgba(255, 253, 249, 0.92) !important;
  box-shadow: 0 calc(4 * var(--home-u)) calc(10 * var(--home-u)) rgba(88, 66, 42, 0.032) !important;
}

.app-shell.is-home .home-point-item figcaption {
  min-height: calc(29 * var(--home-u)) !important;
  margin-bottom: calc(4.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-point-item figcaption strong {
  color: #5f5247 !important;
  font-size: clamp(9.6px, 2.18vw, 12.6px) !important;
  font-weight: 650 !important;
}

.app-shell.is-home .home-point-item figcaption span {
  margin-top: calc(3 * var(--home-u)) !important;
  color: #3f332a !important;
  font-size: clamp(5.2px, 1.12vw, 7.1px) !important;
  font-weight: 760 !important;
}

.app-shell.is-home .home-point-item img {
  aspect-ratio: 0.64 / 1 !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #f3eee7 !important;
}

/* Homepage point card color v388: match the supplied beige reference swatch. */
.app-shell.is-home .home-point-item {
  background: #ecdfcd !important;
  background-color: #ecdfcd !important;
}

/* Homepage point card color v389: lighter reference-card surface and soft outline. */
.app-shell.is-home .home-point-item {
  border-color: rgba(232, 224, 215, 0.92) !important;
  background: linear-gradient(180deg, #fbf8f3 0%, #f7f3ec 100%) !important;
  background-color: #f7f3ec !important;
  box-shadow: 0 calc(3 * var(--home-u)) calc(9 * var(--home-u)) rgba(86, 63, 41, 0.026) !important;
}

/* Homepage point thumbnails v390: keep later material previews visibly textured. */
.app-shell.is-home .home-point-item:nth-child(5) img,
.app-shell.is-home .home-point-item:nth-child(6) img {
  object-fit: fill !important;
  object-position: center center !important;
}

.app-shell.is-home .home-point-item:nth-child(n + 5) img {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Homepage house cards and bird view scale v391. */
.app-shell.is-home .home-house-info strong {
  font-size: clamp(15px, 3.35vw, 18px) !important;
  font-weight: 820 !important;
  line-height: 0.95 !important;
}

.app-shell.is-home .home-house-info strong sup {
  margin-left: calc(1.2 * var(--home-u)) !important;
  font-size: 0.32em !important;
  transform: translateY(-0.12em) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  font-size: clamp(5.3px, 1.16vw, 7px) !important;
  font-weight: 650 !important;
  line-height: 1.12 !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-action {
  min-height: calc(14 * var(--home-u)) !important;
  padding: 0 calc(5 * var(--home-u)) !important;
  border-radius: calc(4 * var(--home-u)) !important;
  font-size: clamp(5.2px, 1.12vw, 6.8px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.app-shell:not(.is-home) #leftBaseImage,
.app-shell:not(.is-home) #leftOverlayImage,
.app-shell:not(.is-home) .bird-panel .scene-stage .image-overlay-stack img {
  transform: scale(1.28) !important;
  transform-origin: center center !important;
}

/* Homepage house compact + bird image scale v392. */
.app-shell.is-home .home-points-panel h2,
.app-shell.is-home .home-house-panel h2 {
  font-size: calc(13.4 * var(--home-u)) !important;
  font-weight: 820 !important;
  line-height: 1.08 !important;
  letter-spacing: calc(0.38 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel h2 {
  margin-bottom: calc(10 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel {
  padding-top: calc(9 * var(--home-u)) !important;
  padding-bottom: calc(9 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-cards {
  gap: calc(6 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  min-height: calc(132 * var(--home-u)) !important;
  height: calc(132 * var(--home-u)) !important;
  padding: calc(7 * var(--home-u)) calc(5 * var(--home-u)) !important;
  row-gap: calc(2 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  height: calc(56 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong {
  font-size: clamp(10.5px, calc(14.5 * var(--home-u)), 13.5px) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  font-size: clamp(5.2px, calc(5.8 * var(--home-u)), 6.8px) !important;
  line-height: 1.08 !important;
}

.app-shell.is-home .home-house-action {
  min-height: calc(13 * var(--home-u)) !important;
  padding: 0 calc(5 * var(--home-u)) !important;
  font-size: clamp(5.1px, calc(5.6 * var(--home-u)), 6.6px) !important;
}

.app-shell:not(.is-home) #leftBaseImage,
.app-shell:not(.is-home) #leftOverlayImage,
.app-shell:not(.is-home) .bird-panel .scene-stage .image-overlay-stack img {
  transform: scale(1.42) !important;
  transform-origin: center center !important;
}

/* Hot house compact + bird viewport v394. */
.app-shell.is-home .home-house-panel {
  padding-top: calc(8 * var(--home-u)) !important;
  padding-bottom: calc(8 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel h2 {
  margin-bottom: calc(8 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-cards {
  gap: calc(5 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active {
  min-height: calc(120 * var(--home-u)) !important;
  height: calc(120 * var(--home-u)) !important;
  padding: calc(6 * var(--home-u)) calc(4.5 * var(--home-u)) !important;
  row-gap: calc(1.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  height: calc(48 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan img {
  transform: scale(1.04) !important;
}

.app-shell.is-home .home-house-info strong {
  font-size: clamp(10px, calc(13.5 * var(--home-u)), 12.6px) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  font-size: clamp(5px, calc(5.45 * var(--home-u)), 6.4px) !important;
  line-height: 1.03 !important;
}

.app-shell.is-home .home-house-action {
  min-height: calc(12 * var(--home-u)) !important;
  padding: 0 calc(4.5 * var(--home-u)) !important;
  font-size: clamp(5px, calc(5.2 * var(--home-u)), 6.2px) !important;
}

.app-shell:not(.is-home) .bird-panel .media-stage,
.app-shell:not(.is-home) .bird-panel .scene-stage {
  left: 50% !important;
  width: min(calc(var(--mini-u, 1px) * 404), calc(100% - calc(var(--mini-u, 1px) * 8))) !important;
  height: calc(var(--mini-u, 1px) * 270) !important;
  transform: translateX(-50%) !important;
}

.app-shell:not(.is-home) #leftBaseImage,
.app-shell:not(.is-home) #leftOverlayImage,
.app-shell:not(.is-home) .bird-panel .scene-stage .image-overlay-stack img {
  transform: scale(1.34) !important;
  transform-origin: center center !important;
}

/* Hot house reference layout v396: horizontal cards like the provided mockup. */
.app-shell.is-home .home-house-panel {
  padding: calc(13 * var(--home-u)) calc(10 * var(--home-u)) calc(14 * var(--home-u)) !important;
  border-color: rgba(232, 223, 211, 0.86) !important;
  border-radius: calc(18 * var(--home-u)) !important;
  background: rgba(255, 254, 251, 0.96) !important;
  box-shadow: 0 calc(8 * var(--home-u)) calc(22 * var(--home-u)) rgba(104, 78, 51, 0.035) !important;
}

.app-shell.is-home .home-house-panel h2 {
  margin: 0 0 calc(15 * var(--home-u)) !important;
  gap: calc(12 * var(--home-u)) !important;
  color: #4f3828 !important;
  font-family: var(--home-default-serif, "Noto Serif SC", "Songti SC", serif) !important;
  font-size: clamp(14px, calc(21 * var(--home-u)), 18px) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  letter-spacing: calc(0.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after {
  flex-basis: calc(42 * var(--home-u)) !important;
  height: 1px !important;
  opacity: 0.72 !important;
  background: linear-gradient(90deg, transparent, #6a4c35 84%, #3f2b1f 100%) !important;
}

.app-shell.is-home .home-house-panel h2::after {
  background: linear-gradient(90deg, #3f2b1f 0%, #6a4c35 16%, transparent 100%) !important;
}

.app-shell.is-home .home-house-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: calc(7 * var(--home-u)) !important;
  align-items: stretch !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  position: relative !important;
  min-height: calc(98 * var(--home-u)) !important;
  height: calc(98 * var(--home-u)) !important;
  padding: calc(10 * var(--home-u)) calc(9 * var(--home-u)) calc(9 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr) !important;
  grid-template-rows: minmax(0, 1fr) calc(17 * var(--home-u)) !important;
  column-gap: calc(4 * var(--home-u)) !important;
  row-gap: 0 !important;
  align-items: start !important;
  justify-items: stretch !important;
  border: 1px solid rgba(232, 223, 211, 0.95) !important;
  border-radius: calc(10 * var(--home-u)) !important;
  background: rgba(255, 254, 251, 0.97) !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-house-card:active {
  transform: scale(0.992) !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  display: grid !important;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto !important;
  align-content: start !important;
  justify-items: start !important;
  gap: calc(1.5 * var(--home-u)) !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  background: transparent !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-info strong {
  display: inline-flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  color: #b9813d !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(13px, calc(20 * var(--home-u)), 16px) !important;
  font-weight: 760 !important;
  line-height: 0.94 !important;
  letter-spacing: calc(-0.65 * var(--home-u)) !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-info strong sup {
  margin-left: calc(1.2 * var(--home-u)) !important;
  color: #8e6d4a !important;
  font-size: 0.34em !important;
  line-height: 1 !important;
  transform: translateY(calc(0.5 * var(--home-u))) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  display: block !important;
  max-width: calc(72 * var(--home-u)) !important;
  color: #554b43 !important;
  font-family: var(--home-default-sans, "Noto Sans SC", sans-serif) !important;
  font-size: clamp(6.2px, calc(8.3 * var(--home-u)), 8.6px) !important;
  font-weight: 690 !important;
  line-height: 1.16 !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
  white-space: normal !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  align-self: center !important;
  justify-self: end !important;
  width: calc(74 * var(--home-u)) !important;
  height: calc(64 * var(--home-u)) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(82 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(76 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-house-plan img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  filter: grayscale(0.1) contrast(0.96) brightness(1.04) !important;
  transform: none !important;
}

.app-shell.is-home .home-house-action {
  grid-row: 5 !important;
  min-width: calc(52 * var(--home-u)) !important;
  min-height: calc(15 * var(--home-u)) !important;
  padding: 0 calc(9 * var(--home-u)) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: calc(10 * var(--home-u)) !important;
  color: #3c342e !important;
  background: #efe4d3 !important;
  box-shadow: none !important;
  font-family: var(--home-default-sans, "Noto Sans SC", sans-serif) !important;
  font-size: clamp(5.8px, calc(7.4 * var(--home-u)), 7.8px) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Hot house reference layout v397: match the supplied compact horizontal-card mockup. */
.app-shell.is-home .home-house-panel {
  width: calc(356 * var(--home-u)) !important;
  max-width: calc(100% - calc(18 * var(--home-u))) !important;
  height: auto !important;
  min-height: calc(132 * var(--home-u)) !important;
  max-height: none !important;
  margin-inline: auto !important;
  padding: calc(10 * var(--home-u)) calc(7 * var(--home-u)) calc(11 * var(--home-u)) !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  row-gap: calc(9 * var(--home-u)) !important;
  border: 1px solid rgba(236, 228, 217, 0.96) !important;
  border-radius: calc(18 * var(--home-u)) !important;
  background: #fffefa !important;
  box-shadow: 0 calc(5 * var(--home-u)) calc(18 * var(--home-u)) rgba(101, 76, 50, 0.035) !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-house-panel h2 {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(10 * var(--home-u)) !important;
  color: #4f3a2d !important;
  font-family: var(--home-default-serif, "Noto Serif SC", "Songti SC", serif) !important;
  font-size: clamp(13px, calc(17.5 * var(--home-u)), 17px) !important;
  font-weight: 780 !important;
  line-height: 1.02 !important;
  letter-spacing: calc(0.2 * var(--home-u)) !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after {
  content: "" !important;
  flex: 0 0 calc(38 * var(--home-u)) !important;
  width: calc(38 * var(--home-u)) !important;
  height: 1px !important;
  opacity: 0.72 !important;
  background: linear-gradient(90deg, transparent 0%, rgba(96, 72, 54, 0.28) 18%, #5a412f 100%) !important;
}

.app-shell.is-home .home-house-panel h2::after {
  background: linear-gradient(90deg, #5a412f 0%, rgba(96, 72, 54, 0.28) 82%, transparent 100%) !important;
}

.app-shell.is-home .home-house-cards {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: calc(6 * var(--home-u)) !important;
  align-items: stretch !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  position: relative !important;
  width: 100% !important;
  height: calc(82 * var(--home-u)) !important;
  min-height: calc(82 * var(--home-u)) !important;
  max-height: calc(82 * var(--home-u)) !important;
  padding: calc(8 * var(--home-u)) calc(5 * var(--home-u)) calc(7 * var(--home-u)) calc(7 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.43fr) minmax(0, 0.57fr) !important;
  grid-template-rows: 1fr !important;
  column-gap: calc(2 * var(--home-u)) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  border: 1px solid rgba(235, 226, 215, 0.96) !important;
  border-radius: calc(9 * var(--home-u)) !important;
  outline: none !important;
  background: linear-gradient(180deg, #fffefa 0%, #fffdf8 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72) !important;
  transform: none !important;
  overflow: hidden !important;
  touch-action: manipulation !important;
}

.app-shell.is-home .home-house-card:active {
  transform: scale(0.992) !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto auto 1fr auto !important;
  align-content: start !important;
  justify-items: start !important;
  gap: calc(1.2 * var(--home-u)) !important;
  text-align: left !important;
  background: transparent !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-info strong {
  display: inline-flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  color: #b68143 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(13px, calc(18 * var(--home-u)), 17px) !important;
  font-weight: 780 !important;
  line-height: 0.92 !important;
  letter-spacing: calc(-0.6 * var(--home-u)) !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-info strong sup {
  margin-left: calc(1 * var(--home-u)) !important;
  color: #7c654e !important;
  font-size: 0.34em !important;
  line-height: 1 !important;
  transform: translateY(calc(0.2 * var(--home-u))) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  display: block !important;
  max-width: calc(60 * var(--home-u)) !important;
  color: #5b5148 !important;
  font-family: var(--home-default-sans, "Noto Sans SC", sans-serif) !important;
  font-size: clamp(5.8px, calc(7.1 * var(--home-u)), 7.4px) !important;
  font-weight: 720 !important;
  line-height: 1.12 !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-action {
  grid-row: 5 !important;
  min-width: calc(43 * var(--home-u)) !important;
  min-height: calc(14 * var(--home-u)) !important;
  padding: 0 calc(7 * var(--home-u)) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: calc(9 * var(--home-u)) !important;
  color: #44382e !important;
  background: #eee3d2 !important;
  box-shadow: none !important;
  font-family: var(--home-default-sans, "Noto Sans SC", sans-serif) !important;
  font-size: clamp(5.8px, calc(7 * var(--home-u)), 7.2px) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: center !important;
  width: calc(58 * var(--home-u)) !important;
  height: calc(55 * var(--home-u)) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(64 * var(--home-u)) !important;
  height: calc(55 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(62 * var(--home-u)) !important;
  height: calc(58 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan::before,
.app-shell.is-home .home-house-plan::after {
  display: none !important;
  content: none !important;
}

.app-shell.is-home .home-house-plan img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  filter: grayscale(0.12) contrast(0.96) brightness(1.04) !important;
  transform: none !important;
}

/* Hot house reference layout v398: enlarge floor plans inside the compact cards. */
.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  grid-template-columns: minmax(0, 0.36fr) minmax(0, 0.64fr) !important;
  column-gap: calc(1 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  max-width: calc(58 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  width: calc(68 * var(--home-u)) !important;
  height: calc(60 * var(--home-u)) !important;
  justify-self: end !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(74 * var(--home-u)) !important;
  height: calc(60 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(70 * var(--home-u)) !important;
  height: calc(62 * var(--home-u)) !important;
}

/* Hot house reference layout v399: align width and typography with the section above. */
.app-shell.is-home .home-house-panel {
  box-sizing: border-box !important;
  width: var(--home-content-width, min(452px, calc(100vw - 32px))) !important;
  max-width: var(--home-content-width, min(452px, calc(100vw - 32px))) !important;
  min-height: calc(134 * var(--home-u)) !important;
  padding: calc(10 * var(--home-u)) calc(9 * var(--home-u)) calc(12 * var(--home-u)) !important;
  row-gap: calc(9 * var(--home-u)) !important;
  background: #fffefa !important;
}

.app-shell.is-home .home-house-panel h2 {
  margin: 0 !important;
  gap: calc(10 * var(--home-u)) !important;
  font-size: calc(13.4 * var(--home-u)) !important;
  font-weight: 820 !important;
  line-height: 1.08 !important;
  letter-spacing: calc(0.38 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after {
  flex: 0 1 calc(46 * var(--home-u)) !important;
  width: calc(46 * var(--home-u)) !important;
  opacity: 0.42 !important;
}

.app-shell.is-home .home-house-cards {
  gap: calc(8 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  box-sizing: border-box !important;
  height: calc(88 * var(--home-u)) !important;
  min-height: calc(88 * var(--home-u)) !important;
  max-height: calc(88 * var(--home-u)) !important;
  padding: calc(9 * var(--home-u)) calc(6 * var(--home-u)) calc(10 * var(--home-u)) calc(8 * var(--home-u)) !important;
  grid-template-columns: minmax(0, 0.43fr) minmax(0, 0.57fr) !important;
  column-gap: calc(3 * var(--home-u)) !important;
  border-color: rgba(235, 226, 215, 0.9) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  grid-template-rows: auto calc(9 * var(--home-u)) calc(10 * var(--home-u)) 1fr auto !important;
  gap: calc(1.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong {
  font-size: calc(18 * var(--home-u)) !important;
  line-height: 0.95 !important;
}

.app-shell.is-home .home-house-info strong sup {
  font-size: 0.34em !important;
  transform: translateY(calc(0.15 * var(--home-u))) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  max-width: none !important;
  width: calc(70 * var(--home-u)) !important;
  color: #514940 !important;
  font-size: calc(6.6 * var(--home-u)) !important;
  font-weight: 720 !important;
  line-height: 1.18 !important;
  letter-spacing: calc(-0.08 * var(--home-u)) !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-action {
  align-self: end !important;
  min-width: calc(47 * var(--home-u)) !important;
  min-height: calc(13 * var(--home-u)) !important;
  margin-top: calc(2 * var(--home-u)) !important;
  margin-bottom: calc(1 * var(--home-u)) !important;
  padding: 0 calc(7 * var(--home-u)) !important;
  border-radius: calc(8 * var(--home-u)) !important;
  font-size: calc(6.2 * var(--home-u)) !important;
  font-weight: 760 !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  width: calc(76 * var(--home-u)) !important;
  height: calc(63 * var(--home-u)) !important;
  align-self: center !important;
  justify-self: end !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(84 * var(--home-u)) !important;
  height: calc(63 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(78 * var(--home-u)) !important;
  height: calc(65 * var(--home-u)) !important;
}

/* Hot house reference layout v400: keep the room-description text readable. */
.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  grid-template-columns: minmax(0, 0.52fr) minmax(0, 0.48fr) !important;
  column-gap: calc(1.5 * var(--home-u)) !important;
  padding-left: calc(8 * var(--home-u)) !important;
  padding-right: calc(5 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  width: calc(70 * var(--home-u)) !important;
  font-size: calc(5.8 * var(--home-u)) !important;
  line-height: 1.18 !important;
  letter-spacing: calc(-0.22 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  width: calc(64 * var(--home-u)) !important;
  height: calc(60 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(70 * var(--home-u)) !important;
  height: calc(60 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(66 * var(--home-u)) !important;
  height: calc(62 * var(--home-u)) !important;
}

/* Hot house reference layout v401: fix area typography and prevent text-plan overlap. */
.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 0.42fr) !important;
  column-gap: calc(1 * var(--home-u)) !important;
  padding-right: calc(4 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong {
  align-items: baseline !important;
  font-family: "Times New Roman", Georgia, serif !important;
  font-size: calc(17.5 * var(--home-u)) !important;
  font-weight: 760 !important;
  line-height: 0.95 !important;
  letter-spacing: calc(-0.45 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong sup {
  display: inline-block !important;
  margin-left: calc(1.2 * var(--home-u)) !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: 1em !important;
  font-weight: inherit !important;
  line-height: 0.95 !important;
  transform: none !important;
  vertical-align: baseline !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  width: calc(76 * var(--home-u)) !important;
  font-size: calc(5.6 * var(--home-u)) !important;
  line-height: 1.2 !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  width: calc(58 * var(--home-u)) !important;
  height: calc(58 * var(--home-u)) !important;
  justify-self: end !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(64 * var(--home-u)) !important;
  height: calc(58 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(60 * var(--home-u)) !important;
  height: calc(60 * var(--home-u)) !important;
}

/* Hot house reference layout v402: rebuild this module closer to the supplied UI mockup. */
.app-shell.is-home .home-house-panel {
  min-height: calc(156 * var(--home-u)) !important;
  padding: calc(12 * var(--home-u)) calc(7 * var(--home-u)) calc(12 * var(--home-u)) !important;
  row-gap: calc(12 * var(--home-u)) !important;
  border-radius: calc(20 * var(--home-u)) !important;
  border-color: rgba(236, 229, 219, 0.96) !important;
  background: #fffefa !important;
}

.app-shell.is-home .home-house-panel h2 {
  gap: calc(12 * var(--home-u)) !important;
  color: #4e3729 !important;
  font-family: "Songti SC", "SimSun", "Noto Serif SC", serif !important;
  font-size: calc(18 * var(--home-u)) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: calc(0.35 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after {
  flex: 0 1 calc(48 * var(--home-u)) !important;
  width: calc(48 * var(--home-u)) !important;
  opacity: 0.58 !important;
}

.app-shell.is-home .home-house-cards {
  gap: calc(4 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  height: calc(102 * var(--home-u)) !important;
  min-height: calc(102 * var(--home-u)) !important;
  max-height: calc(102 * var(--home-u)) !important;
  padding: calc(13 * var(--home-u)) calc(5 * var(--home-u)) calc(9 * var(--home-u)) calc(8 * var(--home-u)) !important;
  grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr) !important;
  column-gap: calc(1 * var(--home-u)) !important;
  border-radius: calc(9 * var(--home-u)) !important;
  border-color: rgba(235, 227, 217, 0.95) !important;
  background: #ffffff !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  grid-template-rows: auto calc(10 * var(--home-u)) calc(11 * var(--home-u)) 1fr auto !important;
  gap: calc(1.4 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong {
  color: #b78345 !important;
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif !important;
  font-size: calc(20 * var(--home-u)) !important;
  font-weight: 800 !important;
  line-height: 0.95 !important;
  letter-spacing: calc(-0.6 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info strong sup {
  margin-left: calc(1 * var(--home-u)) !important;
  font-family: inherit !important;
  font-size: 0.86em !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  transform: translateY(calc(-0.2 * var(--home-u))) !important;
  vertical-align: baseline !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  width: calc(78 * var(--home-u)) !important;
  color: #58514a !important;
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", sans-serif !important;
  font-size: calc(7.5 * var(--home-u)) !important;
  font-weight: 720 !important;
  line-height: 1.15 !important;
  letter-spacing: calc(-0.16 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-action {
  min-width: calc(55 * var(--home-u)) !important;
  min-height: calc(18 * var(--home-u)) !important;
  margin-bottom: calc(1 * var(--home-u)) !important;
  padding: 0 calc(10 * var(--home-u)) !important;
  border-radius: calc(11 * var(--home-u)) !important;
  color: #43382e !important;
  background: #eee2d1 !important;
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", sans-serif !important;
  font-size: calc(7.5 * var(--home-u)) !important;
  font-weight: 780 !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  width: calc(69 * var(--home-u)) !important;
  height: calc(68 * var(--home-u)) !important;
  align-self: center !important;
  justify-self: end !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(76 * var(--home-u)) !important;
  height: calc(68 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(71 * var(--home-u)) !important;
  height: calc(70 * var(--home-u)) !important;
}

/* Hot house reference layout v403: align description text and keep plans out of the copy area. */
.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 0.38fr) !important;
  column-gap: calc(2 * var(--home-u)) !important;
  padding-left: calc(9 * var(--home-u)) !important;
  padding-right: calc(5 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  grid-template-rows: auto auto auto 1fr auto !important;
  gap: calc(0.7 * var(--home-u)) !important;
  justify-items: start !important;
  text-align: left !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  width: calc(76 * var(--home-u)) !important;
  max-width: 100% !important;
  justify-self: start !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  width: calc(56 * var(--home-u)) !important;
  height: calc(64 * var(--home-u)) !important;
  justify-self: end !important;
  transform: translateX(calc(2 * var(--home-u))) !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(62 * var(--home-u)) !important;
  height: calc(64 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(58 * var(--home-u)) !important;
  height: calc(66 * var(--home-u)) !important;
}

/* Hot house reference layout v404: title must match the 8-point section exactly. */
.app-shell.is-home .home-house-panel h2 {
  color: #5f4324 !important;
  font-family: var(--home-default-serif, "Noto Serif SC", "Songti SC", serif) !important;
  font-size: calc(13.4 * var(--home-u)) !important;
  font-weight: 820 !important;
  line-height: 1.08 !important;
  letter-spacing: calc(0.38 * var(--home-u)) !important;
}

/* Homepage experience strip v405: align the four 3D preview features with the reference width and tighter typography. */
.app-shell.is-home .home-experience-panel {
  box-sizing: border-box !important;
  width: var(--home-content-width, min(452px, calc(100vw - 32px))) !important;
  max-width: var(--home-content-width, min(452px, calc(100vw - 32px))) !important;
  margin-inline: auto !important;
  padding: calc(8 * var(--home-u)) 0 calc(7 * var(--home-u)) !important;
  row-gap: calc(9 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-features {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: calc(58 * var(--home-u)) !important;
  padding: calc(9 * var(--home-u)) calc(12 * var(--home-u)) !important;
  border: 1px solid rgba(226, 217, 205, 0.76) !important;
  border-radius: calc(13 * var(--home-u)) !important;
  background: #fffefa !important;
  box-shadow: 0 calc(3 * var(--home-u)) calc(12 * var(--home-u)) rgba(91, 68, 45, 0.028) !important;
}

.app-shell.is-home .home-experience-feature {
  grid-template-columns: calc(21 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(4 * var(--home-u)) !important;
  padding: 0 calc(4 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-feature:not(:last-child)::after {
  height: calc(30 * var(--home-u)) !important;
  background: rgba(220, 209, 195, 0.58) !important;
}

.app-shell.is-home .home-experience-icon {
  width: calc(21 * var(--home-u)) !important;
  height: calc(21 * var(--home-u)) !important;
  min-width: calc(21 * var(--home-u)) !important;
  color: #ad7a42 !important;
  opacity: 0.96 !important;
}

.app-shell.is-home .home-experience-icon svg {
  stroke-width: 1.55 !important;
}

.app-shell.is-home .home-experience-feature strong {
  color: #35291f !important;
  font-size: clamp(7.8px, calc(8.6 * var(--home-u)), 9.5px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: calc(-0.22 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-feature span {
  margin-top: calc(1.8 * var(--home-u)) !important;
  color: rgba(58, 47, 38, 0.62) !important;
  font-size: clamp(5.4px, calc(6 * var(--home-u)), 6.6px) !important;
  font-weight: 560 !important;
  line-height: 1.22 !important;
  letter-spacing: calc(-0.16 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-copy {
  padding-top: calc(1 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-copy h2 {
  font-size: calc(16.2 * var(--home-u)) !important;
  line-height: calc(19.2 * var(--home-u)) !important;
  letter-spacing: calc(0.62 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-copy p {
  margin-top: calc(2.2 * var(--home-u)) !important;
  font-size: calc(7.2 * var(--home-u)) !important;
  line-height: calc(9.5 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-button {
  width: min(calc(236 * var(--home-u)), calc(100% - calc(86 * var(--home-u)))) !important;
  min-height: calc(27 * var(--home-u)) !important;
  padding: 0 calc(14 * var(--home-u)) !important;
  gap: calc(5 * var(--home-u)) !important;
  border-radius: calc(14 * var(--home-u)) !important;
  font-size: calc(9.6 * var(--home-u)) !important;
  font-weight: 780 !important;
  letter-spacing: calc(0.12 * var(--home-u)) !important;
}

.app-shell.is-home .home-experience-button i {
  font-size: calc(10.4 * var(--home-u)) !important;
  transform: translateY(calc(-0.2 * var(--home-u))) !important;
}

@media (max-width: 430px) {
  .app-shell.is-home .home-experience-panel {
    padding-inline: 0 !important;
  }

  .app-shell.is-home .home-experience-features {
    min-height: calc(55 * var(--home-u)) !important;
    padding: calc(8 * var(--home-u)) calc(8 * var(--home-u)) !important;
    border-radius: calc(12 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-experience-feature {
    grid-template-columns: calc(19 * var(--home-u)) minmax(0, 1fr) !important;
    column-gap: calc(3 * var(--home-u)) !important;
    padding: 0 calc(2.5 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-experience-icon {
    width: calc(19 * var(--home-u)) !important;
    height: calc(19 * var(--home-u)) !important;
    min-width: calc(19 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-experience-feature strong {
    font-size: clamp(7.2px, calc(8.1 * var(--home-u)), 8.8px) !important;
    letter-spacing: calc(-0.28 * var(--home-u)) !important;
  }

  .app-shell.is-home .home-experience-feature span {
    font-size: clamp(5px, calc(5.5 * var(--home-u)), 6px) !important;
    line-height: 1.18 !important;
  }
}

/* Homepage hot-card and CTA polish v406: keep text above plans and preserve CTA arrow space. */
.app-shell.is-home .home-enter-button {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: calc(104 * var(--home-u)) !important;
  padding: 0 calc(18 * var(--home-u)) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(5 * var(--home-u)) !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-enter-button span,
.app-shell.is-home .home-enter-button i {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-enter-button i {
  margin-left: calc(1 * var(--home-u)) !important;
  transform: none !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  grid-template-columns: minmax(0, 0.66fr) minmax(0, 0.34fr) !important;
  column-gap: calc(1 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  position: relative !important;
  z-index: 2 !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  width: calc(82 * var(--home-u)) !important;
  max-width: none !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  position: relative !important;
  z-index: 1 !important;
  width: calc(50 * var(--home-u)) !important;
  height: calc(58 * var(--home-u)) !important;
  justify-self: end !important;
  transform: translateX(calc(3 * var(--home-u))) !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(54 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(47 * var(--home-u)) !important;
  height: calc(56 * var(--home-u)) !important;
  transform: translateX(calc(4 * var(--home-u))) !important;
}

.app-shell.is-home .home-house-plan img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: right center !important;
}

/* Homepage selection CTA v408: keep the top CTA inside the left copy column without losing the arrow. */
.app-shell.is-home .home-selection-card .home-enter-button {
  box-sizing: border-box !important;
  width: calc(112 * var(--home-u)) !important;
  min-width: 0 !important;
  max-width: calc(112 * var(--home-u)) !important;
  padding: 0 calc(7 * var(--home-u)) !important;
  justify-self: start !important;
  gap: calc(3 * var(--home-u)) !important;
  overflow: hidden !important;
  font-size: calc(9 * var(--home-u)) !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-enter-button span {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

.app-shell.is-home .home-selection-card .home-enter-button i {
  flex: 0 0 auto !important;
  margin-left: calc(0.5 * var(--home-u)) !important;
  font-size: calc(9.4 * var(--home-u)) !important;
}

/* Homepage entry click guard v409: keep entry CTAs above decorative/card layers. */
.app-shell.is-home .home-enter-button,
.app-shell.is-home .home-experience-button {
  position: relative !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}

/* Homepage hot house text alignment v411: keep all copy anchored to the same left edge. */
.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  align-items: start !important;
  justify-items: start !important;
  justify-content: start !important;
  text-align: left !important;
}

.app-shell.is-home .home-house-info strong,
.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em,
.app-shell.is-home .home-house-action {
  justify-self: start !important;
  margin-left: 0 !important;
  text-align: left !important;
}

.app-shell.is-home .home-house-info strong {
  width: 100% !important;
  justify-content: flex-start !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  width: calc(84 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-action {
  align-self: end !important;
}

/* Homepage hot house text spacing v412: tighten the two detail lines under the area number. */
.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  gap: calc(0.25 * var(--home-u)) !important;
  row-gap: calc(0.25 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  line-height: 1.05 !important;
}

.app-shell.is-home .home-house-info em {
  margin-top: calc(-0.9 * var(--home-u)) !important;
}

/* Homepage order v413: show hot house types before the eight point showcase. */
.app-shell.is-home .home-house-panel + .home-points-panel {
  margin-top: calc(9 * var(--home-u)) !important;
}

/* Bird viewport v414: keep aerial base images and PNG overlays inside the canvas. */
.app-shell:not(.is-home) #leftBaseImage,
.app-shell:not(.is-home) #leftOverlayImage,
.app-shell:not(.is-home) .bird-panel .scene-stage .image-overlay-stack img,
.submit-page .submit-bird-stage .scene-image,
.submit-page .submit-bird-stage .image-overlay-stack img {
  object-fit: contain !important;
  object-position: center center !important;
  transform: scale(0.96) !important;
  transform-origin: center center !important;
}

/* Homepage visual scale v415: use the wider page frame and enlarge headline/icon copy. */
.app-shell.is-home {
  --home-wide-frame: min(100vw, calc(520 * var(--home-u))) !important;
  --home-panel-gutter: calc(14 * var(--home-u)) !important;
}

.app-shell.is-home .home-screen {
  box-sizing: border-box !important;
  width: var(--home-wide-frame) !important;
  min-width: var(--home-wide-frame) !important;
  max-width: var(--home-wide-frame) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.app-shell.is-home .home-hero {
  width: 100% !important;
  max-width: 100% !important;
}

.app-shell.is-home .home-main {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.app-shell.is-home .home-selection-card,
.app-shell.is-home .home-points-panel,
.app-shell.is-home .home-house-panel,
.app-shell.is-home .home-experience-panel,
.app-shell.is-home .home-contact-strip {
  box-sizing: border-box !important;
  width: calc(100% - calc(2 * var(--home-panel-gutter))) !important;
  max-width: calc(100% - calc(2 * var(--home-panel-gutter))) !important;
  margin-left: var(--home-panel-gutter) !important;
  margin-right: var(--home-panel-gutter) !important;
}

.app-shell.is-home .home-feature-row {
  box-sizing: border-box !important;
  left: var(--home-panel-gutter) !important;
  width: calc(100% - calc(2 * var(--home-panel-gutter))) !important;
  max-width: calc(100% - calc(2 * var(--home-panel-gutter))) !important;
}

.app-shell.is-home .home-title {
  gap: calc(21 * var(--home-u)) !important;
  margin-bottom: calc(9 * var(--home-u)) !important;
  font-size: calc(30 * var(--home-u)) !important;
  font-weight: 560 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}

.app-shell.is-home .home-subtitle {
  margin-bottom: calc(3 * var(--home-u)) !important;
  font-size: calc(12.2 * var(--home-u)) !important;
  line-height: calc(15 * var(--home-u)) !important;
  font-weight: 840 !important;
}

.app-shell.is-home .home-desc {
  font-size: calc(11.4 * var(--home-u)) !important;
  line-height: calc(14.2 * var(--home-u)) !important;
  font-weight: 780 !important;
}

.app-shell.is-home .home-feature-row {
  padding: calc(15 * var(--home-u)) calc(17 * var(--home-u)) !important;
  gap: calc(14 * var(--home-u)) calc(15 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature {
  grid-template-columns: calc(26 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(9 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature .home-icon-slot {
  width: calc(26 * var(--home-u)) !important;
  height: calc(26 * var(--home-u)) !important;
  min-width: calc(26 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature strong {
  font-size: calc(9.2 * var(--home-u)) !important;
  line-height: calc(11.2 * var(--home-u)) !important;
  font-weight: 880 !important;
}

.app-shell.is-home .home-feature p span {
  margin-top: calc(2 * var(--home-u)) !important;
  font-size: calc(7.4 * var(--home-u)) !important;
  line-height: calc(9.2 * var(--home-u)) !important;
  font-weight: 680 !important;
}

.app-shell.is-home .home-selection-card .home-card-copy h2 {
  font-size: calc(18.8 * var(--home-u)) !important;
  line-height: calc(20.6 * var(--home-u)) !important;
  font-weight: 900 !important;
}

.app-shell.is-home .home-selection-card .home-service-row {
  gap: calc(7 * var(--home-u)) calc(8 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  min-height: calc(54 * var(--home-u)) !important;
  grid-template-rows: calc(31 * var(--home-u)) calc(12 * var(--home-u)) calc(9 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: calc(35 * var(--home-u)) !important;
  height: calc(35 * var(--home-u)) !important;
  min-width: calc(35 * var(--home-u)) !important;
  min-height: calc(35 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  font-size: calc(9.8 * var(--home-u)) !important;
  line-height: calc(11.4 * var(--home-u)) !important;
  font-weight: 880 !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  font-size: calc(7.2 * var(--home-u)) !important;
  line-height: calc(8.7 * var(--home-u)) !important;
  font-weight: 700 !important;
}

/* Homepage visual scale v416: keep enlarged headline and long selling points inside the hero. */
.app-shell.is-home .home-copy {
  width: calc(330 * var(--home-u)) !important;
  max-width: calc(100% - calc(32 * var(--home-u))) !important;
}

.app-shell.is-home .home-title {
  gap: calc(14 * var(--home-u)) !important;
  font-size: calc(29 * var(--home-u)) !important;
  letter-spacing: calc(-0.12 * var(--home-u)) !important;
}

.app-shell.is-home .home-title span + span {
  margin-left: 0 !important;
}

.app-shell.is-home .home-feature-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: calc(12 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature {
  grid-template-columns: calc(25 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(7 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature .home-icon-slot {
  width: calc(25 * var(--home-u)) !important;
  height: calc(25 * var(--home-u)) !important;
  min-width: calc(25 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature:nth-child(2) strong,
.app-shell.is-home .home-feature:nth-child(4) strong {
  font-size: calc(8.7 * var(--home-u)) !important;
  letter-spacing: calc(-0.18 * var(--home-u)) !important;
}

/* Homepage visual scale v417: fit the longest hero selling point after enlargement. */
.app-shell.is-home .home-feature:nth-child(4) strong {
  font-size: calc(8.3 * var(--home-u)) !important;
  letter-spacing: calc(-0.28 * var(--home-u)) !important;
}

/* Homepage typography polish v419: remove cramped type, keep mobile H5 copy readable. */
.app-shell.is-home .home-screen,
.app-shell.is-home .home-screen * {
  text-rendering: geometricPrecision !important;
}

.app-shell.is-home .home-title,
.app-shell.is-home .home-subtitle,
.app-shell.is-home .home-desc,
.app-shell.is-home .home-feature strong,
.app-shell.is-home .home-feature p span,
.app-shell.is-home .home-card-copy h2,
.app-shell.is-home .home-service-row strong,
.app-shell.is-home .home-service-row em,
.app-shell.is-home .home-enter-button,
.app-shell.is-home .home-house-panel h2,
.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em,
.app-shell.is-home .home-points-panel h2,
.app-shell.is-home .home-point-item figcaption span,
.app-shell.is-home .home-experience-feature strong,
.app-shell.is-home .home-experience-feature span,
.app-shell.is-home .home-experience-copy h2,
.app-shell.is-home .home-experience-copy p,
.app-shell.is-home .home-experience-button,
.app-shell.is-home .home-contact-strip strong,
.app-shell.is-home .home-footnote {
  letter-spacing: 0 !important;
}

.app-shell.is-home .home-copy {
  width: min(calc(316 * var(--home-u)), calc(100% - calc(34 * var(--home-u)))) !important;
}

.app-shell.is-home .home-title {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  gap: calc(8 * var(--home-u)) !important;
  max-width: 100% !important;
  margin-bottom: calc(8 * var(--home-u)) !important;
  overflow: visible !important;
  font-size: calc(27.8 * var(--home-u)) !important;
  font-weight: 640 !important;
  line-height: 1.04 !important;
}

.app-shell.is-home .home-title span {
  display: inline-block !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-title span + span {
  margin-left: 0 !important;
}

.app-shell.is-home .home-subtitle {
  margin-bottom: calc(3 * var(--home-u)) !important;
  font-size: calc(11.6 * var(--home-u)) !important;
  font-weight: 760 !important;
  line-height: 1.32 !important;
}

.app-shell.is-home .home-desc {
  font-size: calc(10.8 * var(--home-u)) !important;
  font-weight: 640 !important;
  line-height: 1.34 !important;
}

.app-shell.is-home .home-feature-row {
  padding: calc(13 * var(--home-u)) calc(15 * var(--home-u)) !important;
  column-gap: calc(8 * var(--home-u)) !important;
  row-gap: calc(10 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature {
  grid-template-columns: calc(22 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(5 * var(--home-u)) !important;
  align-items: start !important;
}

.app-shell.is-home .home-feature .home-icon-slot {
  width: calc(22 * var(--home-u)) !important;
  height: calc(22 * var(--home-u)) !important;
  min-width: calc(22 * var(--home-u)) !important;
}

.app-shell.is-home .home-feature p {
  min-width: 0 !important;
  align-self: center !important;
}

.app-shell.is-home .home-feature strong,
.app-shell.is-home .home-feature:nth-child(2) strong,
.app-shell.is-home .home-feature:nth-child(4) strong {
  display: block !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  font-size: clamp(8px, calc(8.7 * var(--home-u)), 9.6px) !important;
  font-weight: 760 !important;
  line-height: 1.18 !important;
}

.app-shell.is-home .home-feature p span {
  display: block !important;
  max-width: 100% !important;
  margin-top: calc(1.8 * var(--home-u)) !important;
  overflow: visible !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  font-size: clamp(7px, calc(7.2 * var(--home-u)), 8px) !important;
  font-weight: 560 !important;
  line-height: 1.24 !important;
}

.app-shell.is-home .home-selection-card .home-card-copy h2 {
  font-size: calc(17.6 * var(--home-u)) !important;
  font-weight: 820 !important;
  line-height: 1.16 !important;
}

.app-shell.is-home .home-selection-card .home-service-row {
  gap: calc(7 * var(--home-u)) calc(7 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  min-height: calc(55 * var(--home-u)) !important;
  grid-template-rows: calc(30 * var(--home-u)) calc(12 * var(--home-u)) calc(10 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: calc(31 * var(--home-u)) !important;
  height: calc(31 * var(--home-u)) !important;
  min-width: calc(31 * var(--home-u)) !important;
  min-height: calc(31 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  overflow: visible !important;
  font-size: calc(9 * var(--home-u)) !important;
  font-weight: 760 !important;
  line-height: 1.12 !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  overflow: visible !important;
  font-size: calc(6.9 * var(--home-u)) !important;
  font-weight: 540 !important;
  line-height: 1.2 !important;
}

.app-shell.is-home .home-selection-card .home-enter-button {
  width: calc(124 * var(--home-u)) !important;
  max-width: calc(124 * var(--home-u)) !important;
  min-height: calc(31 * var(--home-u)) !important;
  height: calc(31 * var(--home-u)) !important;
  padding: 0 calc(10 * var(--home-u)) !important;
  border-radius: calc(15.5 * var(--home-u)) !important;
  gap: calc(4 * var(--home-u)) !important;
  overflow: visible !important;
  font-size: calc(9.7 * var(--home-u)) !important;
  font-weight: 760 !important;
}

.app-shell.is-home .home-selection-card .home-enter-button span {
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-panel h2,
.app-shell.is-home .home-points-panel h2 {
  font-size: calc(13.6 * var(--home-u)) !important;
  font-weight: 760 !important;
  line-height: 1.24 !important;
}

.app-shell.is-home .home-house-card .home-house-info,
.app-shell.is-home .home-house-info,
.app-shell.is-home .home-house-card.is-active .home-house-info {
  row-gap: calc(1.2 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-info > span,
.app-shell.is-home .home-house-info em {
  width: calc(86 * var(--home-u)) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  font-size: calc(7.8 * var(--home-u)) !important;
  font-weight: 620 !important;
  line-height: 1.22 !important;
}

.app-shell.is-home .home-house-action {
  font-size: calc(6.7 * var(--home-u)) !important;
  font-weight: 620 !important;
  line-height: 1.1 !important;
}

.app-shell.is-home .home-point-item figcaption span {
  font-size: clamp(7px, calc(7.4 * var(--home-u)), 8.2px) !important;
  font-weight: 640 !important;
  line-height: 1.18 !important;
  white-space: normal !important;
}

.app-shell.is-home .home-experience-feature strong {
  font-size: clamp(8px, calc(8.6 * var(--home-u)), 9.5px) !important;
  font-weight: 720 !important;
  line-height: 1.16 !important;
  white-space: normal !important;
}

.app-shell.is-home .home-experience-feature span {
  margin-top: calc(2 * var(--home-u)) !important;
  font-size: clamp(6.4px, calc(6.7 * var(--home-u)), 7.4px) !important;
  font-weight: 520 !important;
  line-height: 1.24 !important;
  white-space: normal !important;
}

.app-shell.is-home .home-experience-copy h2 {
  font-size: calc(16.4 * var(--home-u)) !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
}

.app-shell.is-home .home-experience-copy p {
  margin-top: calc(3 * var(--home-u)) !important;
  font-size: calc(8.1 * var(--home-u)) !important;
  font-weight: 520 !important;
  line-height: 1.32 !important;
}

.app-shell.is-home .home-experience-button {
  min-height: calc(30 * var(--home-u)) !important;
  font-size: calc(10 * var(--home-u)) !important;
  font-weight: 720 !important;
  line-height: 1 !important;
}

.app-shell.is-home .home-contact-strip strong {
  font-size: calc(9.6 * var(--home-u)) !important;
  font-weight: 720 !important;
  line-height: 1.22 !important;
}

.app-shell.is-home .home-footnote {
  font-size: clamp(7px, calc(7.4 * var(--home-u)), 8px) !important;
  line-height: 1.45 !important;
}

/* Homepage reference art direction v420: closer to the supplied premium real-estate mockup. */
.app-shell.is-home {
  --home-ref-gold: #bd833f !important;
  --home-ref-gold-soft: #ead8bd !important;
  --home-ref-ink: #2a1d16 !important;
  --home-ref-muted: #6f6257 !important;
  --home-ref-card: rgba(255, 253, 248, 0.97) !important;
  --home-ref-line: rgba(197, 143, 78, 0.28) !important;
  --home-ref-shadow: 0 calc(12 * var(--home-u)) calc(30 * var(--home-u)) rgba(70, 45, 20, 0.16) !important;
}

.app-shell.is-home .home-screen {
  background:
    linear-gradient(180deg, #fbf7f0 0%, #fffdf8 31%, #fbf6ec 100%) !important;
}

.app-shell.is-home .home-hero {
  height: calc(286 * var(--home-u)) !important;
  overflow: visible !important;
}

.app-shell.is-home .home-hero-image {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: calc(238 * var(--home-u)) !important;
  object-fit: cover !important;
  object-position: center bottom !important;
}

.app-shell.is-home .home-hero::before {
  top: 0 !important;
  height: calc(238 * var(--home-u)) !important;
  background:
    linear-gradient(90deg, rgba(255, 248, 238, 0.96) 0%, rgba(255, 248, 238, 0.68) 31%, rgba(255, 248, 238, 0.08) 66%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(250, 239, 223, 0.3) 72%, #fbf7f0 100%) !important;
}

.app-shell.is-home .home-hero::after {
  top: calc(176 * var(--home-u)) !important;
  height: calc(78 * var(--home-u)) !important;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0) 0%, rgba(251, 247, 240, 0.8) 58%, #fbf7f0 100%) !important;
}

.app-shell.is-home .home-logo-slot {
  top: calc(22 * var(--home-u)) !important;
  right: calc(23 * var(--home-u)) !important;
  width: calc(72 * var(--home-u)) !important;
  height: calc(45 * var(--home-u)) !important;
  opacity: 0.92 !important;
  filter: drop-shadow(0 calc(2 * var(--home-u)) calc(6 * var(--home-u)) rgba(0, 0, 0, 0.14)) !important;
}

.app-shell.is-home .home-copy {
  left: calc(20 * var(--home-u)) !important;
  top: calc(28 * var(--home-u)) !important;
  width: calc(300 * var(--home-u)) !important;
  max-width: calc(100% - calc(40 * var(--home-u))) !important;
}

.app-shell.is-home .home-title {
  gap: calc(12 * var(--home-u)) !important;
  margin-bottom: calc(10 * var(--home-u)) !important;
  color: var(--home-ref-ink) !important;
  font-size: calc(29.2 * var(--home-u)) !important;
  font-weight: 580 !important;
  line-height: 1.04 !important;
}

.app-shell.is-home .home-subtitle {
  color: #211812 !important;
  font-size: calc(12.1 * var(--home-u)) !important;
  font-weight: 800 !important;
  line-height: 1.38 !important;
}

.app-shell.is-home .home-desc {
  color: #211812 !important;
  font-size: calc(11.8 * var(--home-u)) !important;
  font-weight: 760 !important;
  line-height: 1.36 !important;
}

.app-shell.is-home .home-feature-row {
  bottom: calc(-8 * var(--home-u)) !important;
  min-height: calc(104 * var(--home-u)) !important;
  padding: calc(18 * var(--home-u)) calc(21 * var(--home-u)) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: calc(17 * var(--home-u)) calc(15 * var(--home-u)) !important;
  border: calc(0.8 * var(--home-u)) solid rgba(222, 195, 159, 0.78) !important;
  border-radius: calc(16 * var(--home-u)) !important;
  background: var(--home-ref-card) !important;
  box-shadow: var(--home-ref-shadow) !important;
  backdrop-filter: blur(calc(7 * var(--home-u))) !important;
}

.app-shell.is-home .home-feature-row::before,
.app-shell.is-home .home-feature-row::after {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
  background: var(--home-ref-line) !important;
}

.app-shell.is-home .home-feature-row::before {
  left: calc(20 * var(--home-u)) !important;
  right: calc(20 * var(--home-u)) !important;
  top: 50% !important;
  height: 1px !important;
}

.app-shell.is-home .home-feature-row::after {
  top: calc(18 * var(--home-u)) !important;
  bottom: calc(18 * var(--home-u)) !important;
  left: 50% !important;
  width: 1px !important;
  box-shadow:
    calc(-104 * var(--home-u)) 0 0 var(--home-ref-line),
    calc(104 * var(--home-u)) 0 0 var(--home-ref-line) !important;
}

.app-shell.is-home .home-feature {
  grid-template-columns: calc(34 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(9 * var(--home-u)) !important;
  align-items: center !important;
}

.app-shell.is-home .home-feature .home-icon-slot {
  width: calc(31 * var(--home-u)) !important;
  height: calc(31 * var(--home-u)) !important;
  min-width: calc(31 * var(--home-u)) !important;
  border: calc(1.2 * var(--home-u)) solid rgba(189, 131, 63, 0.68) !important;
  color: var(--home-ref-gold) !important;
  background: transparent !important;
}

.app-shell.is-home .home-feature .home-icon-slot svg {
  width: calc(20 * var(--home-u)) !important;
  height: calc(20 * var(--home-u)) !important;
  stroke-width: 2.3 !important;
}

.app-shell.is-home .home-feature strong,
.app-shell.is-home .home-feature:nth-child(2) strong,
.app-shell.is-home .home-feature:nth-child(4) strong {
  color: #211812 !important;
  font-size: clamp(8.6px, calc(9.4 * var(--home-u)), 10.5px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
}

.app-shell.is-home .home-feature p span {
  margin-top: calc(3 * var(--home-u)) !important;
  color: #5a5149 !important;
  font-size: clamp(7px, calc(7.9 * var(--home-u)), 8.8px) !important;
  font-weight: 520 !important;
  line-height: 1.2 !important;
}

.app-shell.is-home .home-main {
  padding-top: calc(10 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card,
.app-shell.is-home .home-house-panel,
.app-shell.is-home .home-points-panel,
.app-shell.is-home .home-experience-panel,
.app-shell.is-home .home-contact-strip {
  border: calc(0.8 * var(--home-u)) solid rgba(224, 199, 165, 0.82) !important;
  border-radius: calc(16 * var(--home-u)) !important;
  background: var(--home-ref-card) !important;
  box-shadow: var(--home-ref-shadow) !important;
}

.app-shell.is-home .home-selection-card {
  height: calc(246 * var(--home-u)) !important;
  min-height: calc(246 * var(--home-u)) !important;
  max-height: calc(246 * var(--home-u)) !important;
  padding: calc(17 * var(--home-u)) calc(16 * var(--home-u)) !important;
  grid-template-columns: calc(100 * var(--home-u)) minmax(0, 1fr) !important;
  grid-template-rows: calc(55 * var(--home-u)) minmax(0, 1fr) calc(31 * var(--home-u)) !important;
  column-gap: calc(15 * var(--home-u)) !important;
  row-gap: calc(9 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-card-copy h2 {
  color: var(--home-ref-ink) !important;
  font-size: calc(22.4 * var(--home-u)) !important;
  font-weight: 860 !important;
  line-height: 1.08 !important;
}

.app-shell.is-home .home-selection-card .home-service-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  min-height: 0 !important;
  grid-template-columns: calc(27 * var(--home-u)) minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: calc(9 * var(--home-u)) !important;
  align-items: center !important;
  justify-items: start !important;
  align-content: center !important;
  text-align: left !important;
  border-bottom: 1px solid rgba(197, 143, 78, 0.16) !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div:last-child {
  border-bottom: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  grid-row: 1 / span 2 !important;
  width: calc(23 * var(--home-u)) !important;
  height: calc(23 * var(--home-u)) !important;
  min-width: calc(23 * var(--home-u)) !important;
  min-height: calc(23 * var(--home-u)) !important;
  color: var(--home-ref-gold) !important;
  border: 0 !important;
  background: transparent !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon svg {
  width: calc(22 * var(--home-u)) !important;
  height: calc(22 * var(--home-u)) !important;
  stroke-width: 2.2 !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  color: #2b2019 !important;
  font-size: calc(9.2 * var(--home-u)) !important;
  font-weight: 780 !important;
  line-height: 1.12 !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  margin-top: calc(1.6 * var(--home-u)) !important;
  color: #7a7068 !important;
  font-size: calc(7.4 * var(--home-u)) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-selection-card .home-interior-slot {
  border-radius: calc(10 * var(--home-u)) !important;
  box-shadow: inset 0 0 0 1px rgba(132, 92, 48, 0.18) !important;
}

.app-shell.is-home .home-selection-card .home-enter-button {
  width: calc(98 * var(--home-u)) !important;
  max-width: calc(98 * var(--home-u)) !important;
  min-height: calc(29 * var(--home-u)) !important;
  height: calc(29 * var(--home-u)) !important;
  justify-self: start !important;
  border: 0 !important;
  border-radius: calc(15 * var(--home-u)) !important;
  background: linear-gradient(180deg, #d8a661 0%, #a76e35 100%) !important;
  box-shadow: 0 calc(6 * var(--home-u)) calc(14 * var(--home-u)) rgba(147, 89, 39, 0.3) !important;
  color: #fff !important;
  font-size: calc(8.6 * var(--home-u)) !important;
  font-weight: 760 !important;
}

.app-shell.is-home .home-house-panel {
  min-height: calc(187 * var(--home-u)) !important;
  padding: calc(13 * var(--home-u)) calc(12 * var(--home-u)) calc(14 * var(--home-u)) !important;
  row-gap: calc(11 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel h2,
.app-shell.is-home .home-points-panel h2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(12 * var(--home-u)) !important;
  color: var(--home-ref-ink) !important;
  font-size: calc(15.8 * var(--home-u)) !important;
  font-weight: 580 !important;
  line-height: 1.2 !important;
}

.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after,
.app-shell.is-home .home-points-panel h2::before,
.app-shell.is-home .home-points-panel h2::after {
  content: "" !important;
  display: block !important;
  width: calc(46 * var(--home-u)) !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(189, 131, 63, 0), rgba(189, 131, 63, 0.76)) !important;
}

.app-shell.is-home .home-house-panel h2::after,
.app-shell.is-home .home-points-panel h2::after {
  transform: scaleX(-1) !important;
}

.app-shell.is-home .home-house-cards {
  gap: calc(9 * var(--home-u)) !important;
  align-items: stretch !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  height: calc(126 * var(--home-u)) !important;
  min-height: calc(126 * var(--home-u)) !important;
  max-height: calc(126 * var(--home-u)) !important;
  padding: calc(13 * var(--home-u)) calc(10 * var(--home-u)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 0.38fr) !important;
  grid-template-rows: auto auto auto 1fr !important;
  column-gap: calc(5 * var(--home-u)) !important;
  row-gap: calc(3 * var(--home-u)) !important;
  border: calc(0.8 * var(--home-u)) solid rgba(224, 199, 165, 0.9) !important;
  border-radius: calc(10 * var(--home-u)) !important;
  background: rgba(255, 254, 251, 0.96) !important;
  box-shadow: 0 calc(7 * var(--home-u)) calc(17 * var(--home-u)) rgba(81, 52, 25, 0.09) !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-house-info {
  display: contents !important;
}

.app-shell.is-home .home-house-info strong {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  color: #b27636 !important;
  font-size: calc(24 * var(--home-u)) !important;
  font-weight: 700 !important;
  line-height: 0.98 !important;
}

.app-shell.is-home .home-house-info sup {
  font-size: calc(8.2 * var(--home-u)) !important;
  font-weight: 700 !important;
}

.app-shell.is-home .home-house-info > span {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: auto !important;
  color: #2b2019 !important;
  font-size: calc(8.2 * var(--home-u)) !important;
  font-weight: 740 !important;
  line-height: 1.16 !important;
}

.app-shell.is-home .home-house-info em {
  grid-column: 1 !important;
  grid-row: 3 !important;
  width: auto !important;
  margin-top: calc(2 * var(--home-u)) !important;
  color: #2b2019 !important;
  font-size: calc(7.7 * var(--home-u)) !important;
  font-weight: 620 !important;
  line-height: 1.18 !important;
}

.app-shell.is-home .home-house-action {
  grid-column: 1 !important;
  grid-row: 4 !important;
  align-self: end !important;
  justify-self: start !important;
  min-width: calc(58 * var(--home-u)) !important;
  padding: calc(5 * var(--home-u)) calc(10 * var(--home-u)) !important;
  border-radius: calc(12 * var(--home-u)) !important;
  background: #ecdcc3 !important;
  color: #2b2019 !important;
  font-size: calc(7.4 * var(--home-u)) !important;
  font-weight: 740 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  grid-column: 2 !important;
  grid-row: 1 / span 4 !important;
  justify-self: end !important;
  align-self: center !important;
  width: calc(56 * var(--home-u)) !important;
  height: calc(72 * var(--home-u)) !important;
  transform: none !important;
  overflow: visible !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan {
  width: calc(62 * var(--home-u)) !important;
  height: calc(70 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: calc(58 * var(--home-u)) !important;
  height: calc(72 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-plan img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: scale(1.04) !important;
}

/* Homepage reference flow fix v421: keep the premium cards below the hero feature card. */
.app-shell.is-home .home-main {
  padding: calc(320 * var(--home-u)) 0 0 !important;
  gap: calc(12 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-card-copy h2 {
  font-size: calc(20.2 * var(--home-u)) !important;
  line-height: 1.08 !important;
  white-space: normal !important;
  overflow: visible !important;
}

.app-shell.is-home .home-selection-card {
  grid-template-columns: calc(108 * var(--home-u)) minmax(0, 1fr) !important;
  column-gap: calc(13 * var(--home-u)) !important;
}

.app-shell.is-home .home-selection-card .home-enter-button {
  width: calc(112 * var(--home-u)) !important;
  max-width: calc(112 * var(--home-u)) !important;
  font-size: calc(9.2 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-panel {
  min-height: calc(190 * var(--home-u)) !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  min-height: calc(130 * var(--home-u)) !important;
  height: calc(130 * var(--home-u)) !important;
  max-height: calc(130 * var(--home-u)) !important;
}

/* Homepage viewport alignment v422: keep the H5 canvas centered in wide browser panes. */
.app-shell.is-home {
  justify-items: center !important;
  align-items: center !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-screen {
  justify-self: center !important;
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
  width: min(100vw, var(--home-wide-frame, var(--home-canvas-w))) !important;
  min-width: 0 !important;
  max-width: min(100vw, var(--home-wide-frame, var(--home-canvas-w))) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* House 360 model fill v418: enlarge the source sequence inside the fixed preview stage. */
.house-360-stage img {
  width: 170% !important;
  height: 170% !important;
  max-width: none !important;
  max-height: none !important;
  padding: 0 !important;
  object-fit: contain !important;
}

/* Homepage logo transparency fix v419: keep the original alpha logo clean on the hero image. */
.app-shell.is-home .home-logo-slot {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.app-shell.is-home .home-logo-slot::before,
.app-shell.is-home .home-logo-slot::after,
.app-shell.is-home .home-logo-wave,
.app-shell.is-home .home-logo-slot span,
.app-shell.is-home .home-logo-slot strong {
  display: none !important;
  content: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

.app-shell.is-home .home-logo-image {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

/* Homepage logo transparency fix v423: outrank the later inline loading placeholder. */
html body .app-shell.is-home .home-screen .home-logo-slot {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

html body .app-shell.is-home .home-screen .home-logo-image {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  opacity: 1 !important;
  object-fit: contain !important;
  overflow: visible !important;
}

/* Homepage logo transparency fix v424: remove every legacy drawn layer around the asset. */
html body .app-shell.is-home .home-screen .home-logo-slot::before,
html body .app-shell.is-home .home-screen .home-logo-slot::after,
html body .app-shell.is-home .home-screen .home-logo-slot .home-logo-wave,
html body .app-shell.is-home .home-screen .home-logo-slot span,
html body .app-shell.is-home .home-screen .home-logo-slot strong {
  display: none !important;
  content: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

/* Homepage lower reference polish v425: match the supplied premium card rhythm. */
.app-shell.is-home {
  --home-ref-panel: rgba(255, 253, 248, 0.94);
  --home-ref-panel-strong: rgba(255, 255, 255, 0.96);
  --home-ref-border: rgba(222, 196, 160, 0.78);
  --home-ref-soft-border: rgba(221, 205, 184, 0.62);
  --home-ref-gold-2: #b67935;
  --home-ref-copy: #3b2d24;
  --home-ref-muted-copy: #796c60;
  --home-ref-shadow-2: 0 14px 34px rgba(92, 64, 36, 0.09);
  --home-ref-shadow-card: 0 9px 24px rgba(70, 49, 30, 0.08);
}

.app-shell.is-home .home-house-panel,
.app-shell.is-home .home-points-panel,
.app-shell.is-home .home-contact-strip {
  border: 1px solid var(--home-ref-soft-border) !important;
  border-radius: 22px !important;
  background: var(--home-ref-panel) !important;
  box-shadow: var(--home-ref-shadow-2) !important;
}

.app-shell.is-home .home-house-panel,
.app-shell.is-home .home-points-panel {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  padding: 18px 12px 19px !important;
  row-gap: 15px !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-house-panel h2,
.app-shell.is-home .home-points-panel h2 {
  gap: 11px !important;
  margin: 0 !important;
  color: #34261d !important;
  font-family: "Songti SC", "SimSun", "STSong", serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.app-shell.is-home .home-house-panel h2::before,
.app-shell.is-home .home-house-panel h2::after,
.app-shell.is-home .home-points-panel h2::before,
.app-shell.is-home .home-points-panel h2::after {
  width: 40px !important;
  background: linear-gradient(90deg, rgba(95, 66, 47, 0), rgba(95, 66, 47, 0.58)) !important;
}

.app-shell.is-home .home-house-cards,
.app-shell.is-home .home-point-showcase {
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}

.app-shell.is-home .home-house-cards::-webkit-scrollbar,
.app-shell.is-home .home-point-showcase::-webkit-scrollbar {
  display: none !important;
}

.app-shell.is-home .home-house-cards {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(238px, 78%) !important;
  grid-template-columns: none !important;
  gap: 12px !important;
  align-items: stretch !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 2px 4px !important;
  scroll-snap-type: x proximity !important;
}

.app-shell.is-home .home-house-card,
.app-shell.is-home .home-house-card.is-active,
.app-shell.is-home .home-house-card:focus-visible {
  scroll-snap-align: start !important;
  height: 146px !important;
  min-height: 146px !important;
  max-height: 146px !important;
  padding: 18px 15px 16px !important;
  grid-template-columns: minmax(0, 1fr) 94px !important;
  grid-template-rows: auto auto auto 1fr !important;
  column-gap: 9px !important;
  row-gap: 4px !important;
  border: 1px solid rgba(224, 199, 165, 0.72) !important;
  border-radius: 14px !important;
  background: var(--home-ref-panel-strong) !important;
  box-shadow: var(--home-ref-shadow-card) !important;
}

.app-shell.is-home .home-house-info strong {
  color: var(--home-ref-gold-2) !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  line-height: 0.95 !important;
}

.app-shell.is-home .home-house-info sup {
  font-size: 12px !important;
  font-weight: 700 !important;
}

.app-shell.is-home .home-house-info > span {
  color: #2f241e !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1.18 !important;
  white-space: normal !important;
}

.app-shell.is-home .home-house-info em {
  margin-top: 2px !important;
  color: #4f443b !important;
  font-size: 11px !important;
  font-weight: 560 !important;
  line-height: 1.22 !important;
  white-space: normal !important;
}

.app-shell.is-home .home-house-action {
  min-width: 88px !important;
  height: 27px !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #f0e4d3 0%, #e7d7c1 100%) !important;
  color: #3b2a1e !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

.app-shell.is-home .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
.app-shell.is-home .home-house-card.is-active .home-house-plan {
  width: 88px !important;
  height: 90px !important;
  justify-self: end !important;
  align-self: center !important;
}

.app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan,
.app-shell.is-home .home-house-card[data-house-type="168"] .home-house-plan {
  width: 98px !important;
  height: 88px !important;
}

.app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
  width: 88px !important;
  height: 92px !important;
}

.app-shell.is-home .home-house-plan img {
  filter: contrast(1.04) saturate(0.96) !important;
  opacity: 0.88 !important;
  transform: none !important;
}

.app-shell.is-home .home-points-panel {
  padding: 18px 9px 20px !important;
}

.app-shell.is-home .home-point-showcase {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 86px !important;
  grid-template-columns: none !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 2px 4px !important;
  scroll-snap-type: x proximity !important;
}

.app-shell.is-home .home-point-item {
  scroll-snap-align: start !important;
  height: 178px !important;
  min-height: 178px !important;
  max-height: 178px !important;
  margin: 0 !important;
  padding: 10px 7px 7px !important;
  border: 1px solid rgba(224, 210, 191, 0.78) !important;
  border-radius: 13px !important;
  background: rgba(255, 254, 251, 0.98) !important;
  box-shadow: 0 8px 20px rgba(71, 50, 31, 0.07) !important;
  overflow: hidden !important;
}

.app-shell.is-home .home-point-item figcaption {
  height: 45px !important;
  min-height: 45px !important;
  gap: 3px !important;
  margin: 0 0 8px !important;
  justify-content: flex-start !important;
}

.app-shell.is-home .home-point-item figcaption strong {
  color: #45372d !important;
  font-size: 19px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

.app-shell.is-home .home-point-item figcaption span {
  color: #3c3028 !important;
  font-size: 10px !important;
  font-weight: 760 !important;
  line-height: 1.12 !important;
  white-space: normal !important;
}

.app-shell.is-home .home-point-item img,
.app-shell.is-home .home-point-item:first-child img,
.app-shell.is-home .home-point-item:nth-child(n + 5) img {
  width: 100% !important;
  height: 108px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  object-position: center center !important;
  box-shadow: inset 0 0 0 1px rgba(87, 63, 39, 0.08) !important;
}

.app-shell.is-home .home-experience-panel {
  gap: 15px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.app-shell.is-home .home-experience-features {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 15px 14px !important;
  border: 1px solid var(--home-ref-soft-border) !important;
  border-radius: 20px !important;
  background: var(--home-ref-panel) !important;
  box-shadow: var(--home-ref-shadow-2) !important;
}

.app-shell.is-home .home-experience-feature {
  min-height: 68px !important;
  padding: 9px 10px !important;
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  column-gap: 10px !important;
  align-items: center !important;
  border: 0 !important;
  background: transparent !important;
}

.app-shell.is-home .home-experience-feature:nth-child(n + 3) {
  border-top: 1px solid rgba(174, 151, 123, 0.22) !important;
}

.app-shell.is-home .home-experience-icon {
  width: 30px !important;
  height: 30px !important;
  color: var(--home-ref-gold-2) !important;
}

.app-shell.is-home .home-experience-icon svg {
  width: 100% !important;
  height: 100% !important;
  stroke-width: 1.8 !important;
}

.app-shell.is-home .home-experience-feature strong {
  color: #392a20 !important;
  font-size: 14px !important;
  font-weight: 780 !important;
  line-height: 1.16 !important;
}

.app-shell.is-home .home-experience-feature span {
  color: #776a5f !important;
  font-size: 11px !important;
  font-weight: 520 !important;
  line-height: 1.28 !important;
}

.app-shell.is-home .home-experience-copy {
  text-align: center !important;
}

.app-shell.is-home .home-experience-copy h2 {
  margin: 0 !important;
  color: #3b2b22 !important;
  font-family: "Songti SC", "SimSun", "STSong", serif !important;
  font-size: 23px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.app-shell.is-home .home-experience-copy p {
  margin: 5px 0 0 !important;
  color: #76695e !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.app-shell.is-home .home-experience-button {
  width: min(100%, 286px) !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 auto !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #d9a04d 0%, #bd7930 100%) !important;
  box-shadow: 0 9px 18px rgba(154, 92, 34, 0.24) !important;
  font-size: 15px !important;
  font-weight: 760 !important;
}

.app-shell.is-home .home-contact-strip {
  min-height: 112px !important;
  padding: 18px 22px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: center !important;
  gap: 9px !important;
}

.app-shell.is-home .home-contact-strip p {
  margin: 0 !important;
}

.app-shell.is-home .home-contact-strip a {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  align-items: center !important;
  text-decoration: none !important;
}

.app-shell.is-home .home-contact-icon,
.app-shell.is-home .home-phone-icon {
  width: 28px !important;
  height: 28px !important;
  color: var(--home-ref-gold-2) !important;
}

.app-shell.is-home .home-contact-strip strong {
  color: #3a2b22 !important;
  font-size: 15px !important;
  font-weight: 760 !important;
  line-height: 1.32 !important;
}

.app-shell.is-home .home-contact-phone strong {
  font-size: 24px !important;
  font-weight: 780 !important;
  letter-spacing: 0 !important;
}

.app-shell.is-home .home-footnote {
  width: calc(100% - calc(2 * var(--home-panel-gutter))) !important;
  max-width: calc(100% - calc(2 * var(--home-panel-gutter))) !important;
  margin-left: var(--home-panel-gutter) !important;
  margin-right: var(--home-panel-gutter) !important;
  color: #81776d !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  line-height: 1.52 !important;
  text-align: left !important;
}

.app-shell.is-home .home-icp-link {
  display: block !important;
  margin-top: 12px !important;
  color: #7a7067 !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  text-align: center !important;
}

@media (min-width: 700px) {
  .app-shell.is-home {
    --home-wide-frame: min(calc(100vw - 56px), 1080px) !important;
    --home-panel-gutter: 24px !important;
  }

  .app-shell.is-home .home-screen {
    width: var(--home-wide-frame) !important;
    min-width: var(--home-wide-frame) !important;
    max-width: var(--home-wide-frame) !important;
  }

  .app-shell.is-home .home-house-panel,
  .app-shell.is-home .home-points-panel,
  .app-shell.is-home .home-contact-strip {
    border-radius: 30px !important;
  }

  .app-shell.is-home .home-house-panel,
  .app-shell.is-home .home-points-panel {
    padding: 25px 27px 28px !important;
    row-gap: 20px !important;
  }

  .app-shell.is-home .home-house-panel h2,
  .app-shell.is-home .home-points-panel h2 {
    gap: 18px !important;
    font-size: 25px !important;
  }

  .app-shell.is-home .home-house-panel h2::before,
  .app-shell.is-home .home-house-panel h2::after,
  .app-shell.is-home .home-points-panel h2::before,
  .app-shell.is-home .home-points-panel h2::after {
    width: 70px !important;
  }

  .app-shell.is-home .home-house-cards {
    grid-auto-flow: row !important;
    grid-auto-columns: initial !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 17px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .app-shell.is-home .home-house-card,
  .app-shell.is-home .home-house-card.is-active,
  .app-shell.is-home .home-house-card:focus-visible {
    height: 178px !important;
    min-height: 178px !important;
    max-height: 178px !important;
    padding: 24px 20px 22px !important;
    grid-template-columns: minmax(0, 1fr) 104px !important;
    column-gap: 12px !important;
    border-radius: 16px !important;
  }

  .app-shell.is-home .home-house-info strong {
    font-size: 42px !important;
  }

  .app-shell.is-home .home-house-info sup {
    font-size: 15px !important;
  }

  .app-shell.is-home .home-house-info > span {
    font-size: 13px !important;
  }

  .app-shell.is-home .home-house-info em {
    font-size: 13px !important;
  }

  .app-shell.is-home .home-house-action {
    min-width: 112px !important;
    height: 33px !important;
    font-size: 13px !important;
  }

  .app-shell.is-home .home-house-plan,
  .app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
  .app-shell.is-home .home-house-card.is-active .home-house-plan {
    width: 104px !important;
    height: 106px !important;
  }

  .app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan,
  .app-shell.is-home .home-house-card[data-house-type="168"] .home-house-plan {
    width: 118px !important;
    height: 102px !important;
  }

  .app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
    width: 104px !important;
    height: 108px !important;
  }

  .app-shell.is-home .home-point-showcase {
    grid-auto-flow: row !important;
    grid-auto-columns: initial !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .app-shell.is-home .home-point-item {
    height: 216px !important;
    min-height: 216px !important;
    max-height: 216px !important;
    padding: 14px 8px 8px !important;
    border-radius: 14px !important;
  }

  .app-shell.is-home .home-point-item figcaption {
    height: 55px !important;
    min-height: 55px !important;
    margin-bottom: 10px !important;
  }

  .app-shell.is-home .home-point-item figcaption strong {
    font-size: 21px !important;
  }

  .app-shell.is-home .home-point-item figcaption span {
    font-size: 11px !important;
  }

  .app-shell.is-home .home-point-item img,
  .app-shell.is-home .home-point-item:first-child img,
  .app-shell.is-home .home-point-item:nth-child(n + 5) img {
    height: 128px !important;
    border-radius: 11px !important;
  }

  .app-shell.is-home .home-experience-features {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    padding: 20px 24px !important;
    border-radius: 26px !important;
  }

  .app-shell.is-home .home-experience-feature {
    min-height: 76px !important;
    padding: 10px 18px !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    column-gap: 16px !important;
  }

  .app-shell.is-home .home-experience-feature + .home-experience-feature {
    border-left: 1px solid rgba(174, 151, 123, 0.28) !important;
  }

  .app-shell.is-home .home-experience-feature:nth-child(n + 3) {
    border-top: 0 !important;
  }

  .app-shell.is-home .home-experience-icon {
    width: 38px !important;
    height: 38px !important;
  }

  .app-shell.is-home .home-experience-feature strong {
    font-size: 18px !important;
  }

  .app-shell.is-home .home-experience-feature span {
    font-size: 13px !important;
  }

  .app-shell.is-home .home-experience-copy h2 {
    font-size: 28px !important;
  }

  .app-shell.is-home .home-experience-copy p {
    font-size: 14px !important;
  }

  .app-shell.is-home .home-experience-button {
    width: 402px !important;
    height: 52px !important;
    min-height: 52px !important;
    font-size: 18px !important;
  }

  .app-shell.is-home .home-contact-strip {
    min-height: 130px !important;
    padding: 25px 42px !important;
    gap: 12px !important;
  }

  .app-shell.is-home .home-contact-strip a {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    column-gap: 18px !important;
  }

  .app-shell.is-home .home-contact-icon,
  .app-shell.is-home .home-phone-icon {
    width: 34px !important;
    height: 34px !important;
  }

  .app-shell.is-home .home-contact-strip strong {
    font-size: 20px !important;
  }

  .app-shell.is-home .home-contact-phone strong {
    font-size: 30px !important;
  }

  .app-shell.is-home .home-footnote {
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-align: center !important;
  }

  .app-shell.is-home .home-icp-link {
    font-size: 17px !important;
  }
}

@media (min-width: 980px) {
  .app-shell.is-home {
    --home-wide-frame: min(calc(100vw - 72px), 1140px) !important;
    --home-panel-gutter: 34px !important;
  }

  .app-shell.is-home .home-house-card,
  .app-shell.is-home .home-house-card.is-active,
  .app-shell.is-home .home-house-card:focus-visible {
    height: 204px !important;
    min-height: 204px !important;
    max-height: 204px !important;
    padding: 30px 26px 26px !important;
    grid-template-columns: minmax(0, 1fr) 132px !important;
  }

  .app-shell.is-home .home-house-info strong {
    font-size: 48px !important;
  }

  .app-shell.is-home .home-house-info > span,
  .app-shell.is-home .home-house-info em {
    font-size: 15px !important;
  }

  .app-shell.is-home .home-house-plan,
  .app-shell.is-home .home-house-card[data-house-type] .home-house-plan,
  .app-shell.is-home .home-house-card.is-active .home-house-plan {
    width: 126px !important;
    height: 126px !important;
  }

  .app-shell.is-home .home-house-card[data-house-type="169"] .home-house-plan,
  .app-shell.is-home .home-house-card[data-house-type="168"] .home-house-plan {
    width: 150px !important;
    height: 120px !important;
  }

  .app-shell.is-home .home-house-card[data-house-type="187"] .home-house-plan {
    width: 126px !important;
    height: 130px !important;
  }

  .app-shell.is-home .home-point-item {
    height: 246px !important;
    min-height: 246px !important;
    max-height: 246px !important;
  }

  .app-shell.is-home .home-point-item img,
  .app-shell.is-home .home-point-item:first-child img,
  .app-shell.is-home .home-point-item:nth-child(n + 5) img {
    height: 156px !important;
  }
}

/* Homepage upper reference repair v426: fix overlap, icon scale and CTA typography. */
.app-shell.is-home .home-main {
  padding-top: 358px !important;
  gap: 14px !important;
}

.app-shell.is-home .home-feature-row {
  bottom: -6px !important;
  min-height: 112px !important;
  padding: 16px 20px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px 12px !important;
  border: 1px solid rgba(218, 194, 160, 0.82) !important;
  border-radius: 18px !important;
  background: rgba(255, 253, 248, 0.92) !important;
  box-shadow: 0 12px 30px rgba(82, 57, 34, 0.1) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}

.app-shell.is-home .home-feature-row::before {
  left: 20px !important;
  right: 20px !important;
  background: rgba(194, 164, 128, 0.34) !important;
}

.app-shell.is-home .home-feature-row::after {
  top: 17px !important;
  bottom: 17px !important;
  background: rgba(194, 164, 128, 0.34) !important;
  box-shadow:
    -112px 0 0 rgba(194, 164, 128, 0.34),
    112px 0 0 rgba(194, 164, 128, 0.34) !important;
}

.app-shell.is-home .home-feature {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  column-gap: 8px !important;
  min-height: 35px !important;
  align-items: center !important;
}

.app-shell.is-home .home-feature .home-icon-slot {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border: 1px solid rgba(191, 137, 73, 0.78) !important;
  border-radius: 0 !important;
  color: #b97a35 !important;
  background: rgba(255, 255, 255, 0.34) !important;
}

.app-shell.is-home .home-feature .home-icon-slot svg {
  width: 19px !important;
  height: 19px !important;
  stroke-width: 2 !important;
}

.app-shell.is-home .home-feature p {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
  align-content: center !important;
}

.app-shell.is-home .home-feature strong,
.app-shell.is-home .home-feature:nth-child(2) strong,
.app-shell.is-home .home-feature:nth-child(4) strong {
  color: #2f241d !important;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 760 !important;
  line-height: 1.14 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.app-shell.is-home .home-feature p span {
  margin-top: 0 !important;
  color: #817466 !important;
  font-size: 8.3px !important;
  font-weight: 520 !important;
  line-height: 1.18 !important;
  white-space: normal !important;
}

.app-shell.is-home .home-selection-card {
  height: 256px !important;
  min-height: 256px !important;
  max-height: 256px !important;
  padding: 18px 18px !important;
  grid-template-columns: 126px minmax(0, 1fr) !important;
  grid-template-rows: 62px minmax(0, 1fr) 36px !important;
  column-gap: 12px !important;
  row-gap: 10px !important;
  border: 1px solid rgba(224, 199, 165, 0.82) !important;
  border-radius: 18px !important;
  background: rgba(255, 253, 248, 0.96) !important;
  box-shadow: 0 14px 34px rgba(82, 57, 34, 0.11) !important;
}

.app-shell.is-home .home-selection-card .home-card-copy h2 {
  color: #2e241e !important;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif !important;
  font-size: 24px !important;
  font-weight: 780 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row {
  gap: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row > div {
  min-height: 34px !important;
  padding: 3px 0 !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 8px !important;
  align-content: center !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(196, 141, 77, 0.2) !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  color: #bc7b35 !important;
}

.app-shell.is-home .home-selection-card .home-service-row .home-mini-icon svg {
  width: 19px !important;
  height: 19px !important;
  stroke-width: 2 !important;
}

.app-shell.is-home .home-selection-card .home-service-row strong {
  color: #35281f !important;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
}

.app-shell.is-home .home-selection-card .home-service-row em {
  margin-top: 1px !important;
  color: #87796d !important;
  font-size: 9px !important;
  font-weight: 520 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
}

.app-shell.is-home .home-selection-card .home-interior-slot {
  border-radius: 15px !important;
  box-shadow: inset 0 0 0 1px rgba(118, 82, 48, 0.12) !important;
}

.app-shell.is-home .home-selection-card .home-enter-button {
  width: 118px !important;
  max-width: 118px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  justify-self: start !important;
  border-radius: 999px !important;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.app-shell.is-home .home-selection-card .home-enter-button span,
.app-shell.is-home .home-selection-card .home-enter-button i {
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

@media (min-width: 700px) {
  .app-shell.is-home .home-main {
    padding-top: 426px !important;
    gap: 18px !important;
  }

  .app-shell.is-home .home-feature-row {
    bottom: -8px !important;
    min-height: 140px !important;
    padding: 22px 30px !important;
    gap: 20px 18px !important;
    border-radius: 22px !important;
  }

  .app-shell.is-home .home-feature-row::before {
    left: 30px !important;
    right: 30px !important;
  }

  .app-shell.is-home .home-feature-row::after {
    top: 22px !important;
    bottom: 22px !important;
    box-shadow:
      -226px 0 0 rgba(194, 164, 128, 0.34),
      226px 0 0 rgba(194, 164, 128, 0.34) !important;
  }

  .app-shell.is-home .home-feature {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    column-gap: 13px !important;
    min-height: 46px !important;
  }

  .app-shell.is-home .home-feature .home-icon-slot {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }

  .app-shell.is-home .home-feature .home-icon-slot svg {
    width: 24px !important;
    height: 24px !important;
  }

  .app-shell.is-home .home-feature strong,
  .app-shell.is-home .home-feature:nth-child(2) strong,
  .app-shell.is-home .home-feature:nth-child(4) strong {
    font-size: 15px !important;
    line-height: 1.18 !important;
  }

  .app-shell.is-home .home-feature p span {
    font-size: 11px !important;
    line-height: 1.22 !important;
  }

  .app-shell.is-home .home-selection-card {
    height: 306px !important;
    min-height: 306px !important;
    max-height: 306px !important;
    padding: 24px 28px !important;
    grid-template-columns: 178px minmax(0, 1fr) !important;
    grid-template-rows: 82px minmax(0, 1fr) 44px !important;
    column-gap: 24px !important;
    row-gap: 12px !important;
    border-radius: 24px !important;
  }

  .app-shell.is-home .home-selection-card .home-card-copy h2 {
    font-size: 32px !important;
    line-height: 1.08 !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row > div {
    min-height: 42px !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row .home-mini-icon,
  .app-shell.is-home .home-selection-card .home-service-row .home-mini-icon svg {
    width: 26px !important;
    height: 26px !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row strong {
    font-size: 16px !important;
  }

  .app-shell.is-home .home-selection-card .home-service-row em {
    font-size: 12px !important;
  }

  .app-shell.is-home .home-selection-card .home-enter-button {
    width: 154px !important;
    max-width: 154px !important;
    height: 42px !important;
    min-height: 42px !important;
    font-size: 14px !important;
  }

  .app-shell.is-home .home-selection-card .home-enter-button span,
  .app-shell.is-home .home-selection-card .home-enter-button i {
    font-size: 14px !important;
  }
}

/* 客户留资校验：错误状态贴近对应字段呈现，不改变提交页排版。 */
.submit-page .submit-field.is-invalid,
.app-shell:not(.is-home) .submit-page .submit-field.is-invalid {
  border-color: rgba(160, 68, 47, 0.62) !important;
  background: rgba(255, 247, 244, 0.96) !important;
  box-shadow: inset 0 0 0 1px rgba(160, 68, 47, 0.12) !important;
}

.submit-page .submit-field.is-invalid > span,
.app-shell:not(.is-home) .submit-page .submit-field.is-invalid > span {
  color: #a0442f !important;
}

/* 提交反馈 v428：错误必须在手机单屏内清楚可见，并允许显示两行具体原因。 */
.app-shell:not(.is-home) .submit-page .submit-message {
  top: calc(var(--submit-u) * 132) !important;
  height: calc(var(--submit-u) * 34) !important;
  min-height: 28px !important;
  padding: calc(var(--submit-u) * 4) calc(var(--submit-u) * 7) !important;
  box-sizing: border-box !important;
  border: 1px solid transparent !important;
  border-radius: calc(var(--submit-u) * 6) !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  font-size: clamp(9px, calc(var(--submit-u) * 9.4), 12px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-overflow: clip !important;
  white-space: normal !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  z-index: 40 !important;
}

.app-shell:not(.is-home) .submit-page .submit-message:empty {
  display: none !important;
}

.app-shell:not(.is-home) .submit-page .submit-message[data-type="info"] {
  color: #70502b !important;
  border-color: rgba(183, 137, 78, 0.22) !important;
  background: #fffaf2 !important;
}

.app-shell:not(.is-home) .submit-page .submit-message[data-type="warning"] {
  color: #795016 !important;
  border-color: rgba(193, 132, 43, 0.28) !important;
  background: #fff8e8 !important;
}

.app-shell:not(.is-home) .submit-page .submit-message[data-type="error"] {
  color: #963b2c !important;
  border-color: rgba(160, 68, 47, 0.26) !important;
  background: #fff3ef !important;
}

.app-shell:not(.is-home) .submit-page .submit-message[data-type="success"] {
  top: calc(var(--submit-u) * 145) !important;
  height: calc(var(--submit-u) * 18) !important;
  min-height: 0 !important;
  color: #41682f !important;
  padding: 0 calc(var(--submit-u) * 2) !important;
  border: 0 !important;
  background: transparent !important;
  display: block !important;
  line-height: calc(var(--submit-u) * 18) !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* 选配页平板全视口适配 v431：取消 375×811 手机画布在平板上的封顶与居中留白。 */
@media (min-width: 761px) and (max-width: 1366px) {
  html.boot-selection,
  html.boot-selection body {
    width: 100% !important;
    width: var(--app-viewport-width, 100vw) !important;
    min-width: 0 !important;
    height: 100vh !important;
    height: var(--app-viewport-height, 100vh) !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #fffdf9 !important;
  }

  .app-shell:not(.is-home) {
    --mini-u: calc(var(--app-viewport-height, 100vh) / 811) !important;
    --mini-canvas-w: var(--app-viewport-width, 100vw) !important;
    --mini-canvas-h: var(--app-viewport-height, 100vh) !important;
    --selection-canvas-w: var(--app-viewport-width, 100vw) !important;
    --selection-panel-w: calc(var(--selection-canvas-w) - calc(var(--mini-u) * 6)) !important;
    position: fixed !important;
    inset: 0 auto auto 0 !important;
    width: 100% !important;
    width: var(--app-viewport-width, 100vw) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100vh !important;
    height: var(--app-viewport-height, 100vh) !important;
    min-height: 0 !important;
    max-height: none !important;
    display: grid !important;
    place-items: stretch !important;
    overflow: hidden !important;
  }

  .app-shell:not(.is-home) #app.app {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  .app-shell:not(.is-home) #app > .topbar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .app-shell:not(.is-home) #app > .main-grid,
  .app-shell:not(.is-home) #app > .bottom-panel {
    width: var(--selection-panel-w) !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .app-shell:not(.is-home) .bird-panel .media-stage,
  .app-shell:not(.is-home) .effect-panel .media-stage {
    right: auto !important;
    width: calc(100% - calc(var(--mini-u) * 20)) !important;
    max-width: none !important;
    transform: none !important;
  }

  .app-shell:not(.is-home) .bird-panel .media-stage {
    left: calc(var(--mini-u) * 10) !important;
  }

  .app-shell:not(.is-home) .effect-panel .media-stage {
    left: calc(var(--mini-u) * 10) !important;
  }

  .app-shell:not(.is-home) .submit-modal {
    width: var(--app-viewport-width, 100vw) !important;
    height: var(--app-viewport-height, 100vh) !important;
  }

  .app-shell:not(.is-home) .submit-dialog.submit-page,
  .submit-dialog.submit-page {
    --submit-u: calc(var(--app-viewport-height, 100vh) / 811) !important;
    left: 0 !important;
    top: 0 !important;
    width: var(--app-viewport-width, 100vw) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--app-viewport-height, 100vh) !important;
    min-height: 0 !important;
    max-height: none !important;
    transform: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

/* 平板横屏把鸟瞰与效果图改为左右双栏，避免将竖屏画布拉成中间窄条。 */
@media (min-width: 761px) and (max-width: 1366px) and (orientation: landscape) {
  .app-shell:not(.is-home) #app > .main-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    gap: calc(var(--mini-u) * 10) !important;
    overflow: hidden !important;
  }

  .app-shell:not(.is-home) #app > .main-grid > .bird-panel,
  .app-shell:not(.is-home) #app > .main-grid > .effect-panel {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .app-shell:not(.is-home) .bird-panel .media-stage,
  .app-shell:not(.is-home) .effect-panel .media-stage {
    left: calc(var(--mini-u) * 8) !important;
    right: calc(var(--mini-u) * 8) !important;
    top: calc(var(--mini-u) * 36) !important;
    bottom: calc(var(--mini-u) * 8) !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
  }
}
