@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

:root {
  --bg: #efe7da;
  --panel: rgba(255, 249, 241, 0.96);
  --panel-2: #f7efe4;
  --text: #152118;
  --muted: #617064;
  --line: rgba(21, 33, 24, 0.12);
  --blue: #ee7b2f;
  --blue-2: #ff934c;
  --green: #37b24d;
  --teal: #0f7c74;
  --red: #b42318;
  --sand: #c79a5d;
  --shadow: 0 18px 50px rgba(22, 31, 24, 0.10);
}

.address-app-shell {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(238, 123, 47, 0.22), transparent 28%),
    radial-gradient(circle at 85% 15%, rgba(15, 124, 116, 0.18), transparent 24%),
    linear-gradient(180deg, #f7f1e6 0%, #efe5d5 100%);
}

.address-nav {
  position: sticky;
  top: 0;
  z-index: 10;
}

.address-main {
  max-width: 1320px;
  margin: 0 auto;
  padding: 32px 20px 56px;
}

.landing-hero {
  max-width: 980px;
  margin: 0 auto;
  padding: 34px 6px 0;
  text-align: center;
}

.landing-hero h1 {
  margin: 8px 0 0;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(3rem, 5vw, 5.4rem);
  line-height: 0.94;
  letter-spacing: -0.04em;
  font-family: "Space Grotesk", sans-serif;
}

.address-candidate-panel {
  margin: 18px auto 28px;
  max-width: 1280px;
  border-top: 1px solid rgba(21, 33, 24, 0.1);
  border-bottom: 1px solid rgba(21, 33, 24, 0.1);
  padding: 18px 0 0;
}

.address-candidate-head {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: start;
  padding-bottom: 16px;
}

.address-candidate-head h3 {
  margin: 4px 0 0;
  font-size: 1.34rem;
  line-height: 1.05;
}

.address-candidate-head p:last-child {
  margin: 0;
  color: #5f7067;
  line-height: 1.6;
  max-width: 920px;
}

.address-candidate-list {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid rgba(21, 33, 24, 0.1);
}

.address-candidate-item {
  appearance: none;
  width: 100%;
  padding: 18px 0 20px;
  border: 0;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background 140ms ease, color 140ms ease;
}

.address-candidate-item:hover,
.address-candidate-item:focus-visible {
  background: rgba(15, 124, 116, 0.05);
  outline: none;
}

.address-candidate-item strong {
  display: block;
  font-size: 1rem;
  line-height: 1.4;
}

.address-candidate-item span {
  display: block;
  margin-top: 6px;
  color: #66766e;
  font-size: 0.9rem;
  line-height: 1.45;
}

.hero-text {
  max-width: 760px;
  margin: 22px 0 0;
  margin-left: auto;
  margin-right: auto;
  color: #4d5c54;
  font-size: 1.08rem;
  line-height: 1.7;
}

.hero-text.compact {
  max-width: 720px;
}

.single-search-form {
  position: relative;
  max-width: 900px;
  margin: 28px auto 0;
}

.single-search-shell,
.result-overview-card,
.explain-card,
.insight-card {
  border: 1px solid rgba(21, 33, 24, 0.1);
  background: rgba(255, 250, 244, 0.78);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}

.lookup-head,
.result-overview-top,
.insight-card-head,
.address-actions {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}

.lookup-head h2,
.insight-card-head h3 {
  margin: 4px 0 0;
}

.lookup-badge {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(15, 124, 116, 0.14);
  color: var(--teal);
  font-size: 0.85rem;
  font-weight: 800;
}

.single-search-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 24px;
}

.single-search-shell input {
  width: 100%;
  height: 64px;
  padding: 0 18px;
  border: 0;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.68);
  color: var(--text);
  font: inherit;
  font-size: 1.02rem;
}

.single-search-shell input::placeholder {
  color: #b8b8b8;
}

.single-search-shell input:focus {
  outline: 2px solid rgba(15, 124, 116, 0.28);
}

.autocomplete-panel {
  position: absolute;
  top: calc(100% + 22px);
  left: 0;
  right: 0;
  z-index: 1200 !important;
  padding: 10px;
  border-radius: 24px;
  border: 1px solid rgba(21, 33, 24, 0.12);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 60px rgba(22, 31, 24, 0.16);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.autocomplete-item {
  width: 100%;
  display: block;
  padding: 14px 16px;
  border-radius: 14px;
  background: transparent;
  text-align: left;
  border: 0;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08);
}

.autocomplete-item:hover,
.autocomplete-item.active {
  background: rgba(15, 124, 116, 0.08);
}

.autocomplete-item:last-child {
  border-bottom: 0;
}

.autocomplete-item strong {
  display: block;
  font-size: 0.98rem;
}

.autocomplete-item span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.84rem;
}

.autocomplete-empty {
  padding: 16px 18px;
  border-radius: 16px;
  background: rgba(15, 124, 116, 0.05);
}

.autocomplete-empty strong {
  display: block;
  font-size: 0.96rem;
}

.autocomplete-empty span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.84rem;
}

.address-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.form-note {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(21, 33, 24, 0.04);
  color: #55645c;
  font-size: 0.92rem;
  line-height: 1.55;
}

.primary-lookup-button,
.ghost-reset-button {
  height: 54px;
  padding: 0 22px;
  border-radius: 16px;
  font-weight: 800;
}

.primary-lookup-button {
  background: linear-gradient(135deg, var(--blue), var(--blue-2));
  color: #fff;
}

.ghost-reset-button {
  background: rgba(21, 33, 24, 0.05);
  color: var(--text);
}

.status-banner {
  max-width: 760px;
  margin: 18px auto 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(21, 33, 24, 0.05);
  color: #46554d;
  font-weight: 700;
}

.status-banner[data-tone="loading"] {
  background: rgba(238, 123, 47, 0.12);
  color: #8f4e1f;
}

.status-banner[data-tone="success"] {
  background: rgba(55, 178, 77, 0.12);
  color: #266b34;
}

.status-banner[data-tone="error"] {
  background: rgba(180, 35, 24, 0.12);
  color: #8e231a;
}

.result-shell {
  margin-top: 30px;
}

.content-explainer {
  margin-top: 52px;
}

.landing-main {
  padding-top: 40px;
  padding-bottom: 72px;
}

.hero-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
  gap: 28px;
  align-items: center;
}

.hero-copy,
.hero-demo,
.feature-card,
.why-card,
.audience-card,
.demo-tile,
.pricing-card,
.pricing-faq-card,
.pricing-hero {
  border: 1px solid rgba(21, 33, 24, 0.1);
  background: rgba(255, 250, 244, 0.76);
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
}

.hero-copy {
  padding: 36px;
  border-radius: 34px;
  background:
    radial-gradient(circle at top left, rgba(15, 124, 116, 0.1), transparent 28%),
    linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(247, 239, 228, 0.94));
}

.hero-copy h1 {
  margin: 12px 0 0;
  max-width: 820px;
  font-size: clamp(2.9rem, 5vw, 5rem);
  line-height: 0.97;
  letter-spacing: -0.05em;
  font-family: "Space Grotesk", sans-serif;
}

.hero-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
  justify-content: center;
}

.hero-chip-row span,
.nav-link-pill,
.ghost-nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 700;
}

.hero-chip-row span {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(21, 33, 24, 0.08);
  color: #415047;
  box-shadow: 0 8px 18px rgba(21, 33, 24, 0.04);
}

.hero-search-form {
  max-width: none;
  margin-top: 30px;
}

.hero-search-shell {
  background: rgba(255, 250, 244, 0.82);
}

.hero-inline-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.ghost-nav-button {
  background: rgba(21, 33, 24, 0.06);
  color: var(--text);
}

.hero-inline-note {
  color: #66756c;
  font-size: 0.92rem;
}

.hero-demo-note {
  margin: 14px 0 0 !important;
  color: #66756c !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

.nav-link-pill {
  background: rgba(21, 33, 24, 0.06);
  color: var(--text);
}

.nav-google-button {
  min-width: 148px;
}

.api-status-pill {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(15, 124, 116, 0.12);
  color: var(--teal);
  font-size: 0.82rem;
  font-weight: 700;
}

.hero-demo {
  position: relative;
  min-height: 660px;
  padding: 22px;
  border-radius: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 12%, rgba(238, 123, 47, 0.14), transparent 20%),
    radial-gradient(circle at 20% 18%, rgba(15, 124, 116, 0.15), transparent 22%),
    linear-gradient(180deg, rgba(255, 252, 248, 0.98), rgba(245, 238, 227, 0.94));
}

.demo-orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(8px);
  opacity: 0.9;
  animation: floatOrb 8s ease-in-out infinite;
}

.demo-orb-a {
  top: 60px;
  right: 48px;
  width: 180px;
  height: 180px;
  background: rgba(238, 123, 47, 0.18);
}

.demo-orb-b {
  left: 24px;
  bottom: 40px;
  width: 220px;
  height: 220px;
  background: rgba(15, 124, 116, 0.14);
  animation-delay: -3s;
}

.demo-screen {
  position: relative;
  z-index: 1;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(21, 33, 24, 0.08);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.demo-topline,
.demo-title-row,
.demo-chart-head,
.section-heading,
.pricing-topline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.demo-badge,
.demo-pulse {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
}

.demo-badge {
  background: rgba(21, 33, 24, 0.06);
}

.demo-pulse {
  background: rgba(15, 124, 116, 0.12);
  color: var(--teal);
  animation: pulseGlow 1.8s ease-in-out infinite;
}

.demo-title-row {
  margin-top: 4px;
  align-items: end;
}

.demo-title-row h3 {
  margin: 6px 0 0;
  font-size: 1.5rem;
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-family: "Space Grotesk", sans-serif;
}

.demo-value-block,
.demo-stat-grid div,
.demo-mini-card,
.demo-tile {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 110px;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255, 252, 248, 0.88);
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.demo-value-block {
  min-width: 0;
}

.demo-value-block span,
.demo-stat-grid span,
.demo-mini-card span,
.demo-tile span,
.audience-grid span,
.pricing-card li,
.pricing-note {
  color: #627167;
}

.demo-value-block strong,
.demo-stat-grid strong,
.demo-mini-card strong,
.demo-tile strong {
  display: block;
  margin-top: 8px;
  font-size: 1.45rem;
  letter-spacing: -0.03em;
}

.demo-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.demo-chart-card {
  padding: 18px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 254, 251, 0.95), rgba(247, 241, 231, 0.92));
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.demo-chart-head span {
  color: #728279;
  font-size: 0.85rem;
  font-weight: 700;
}

.demo-line-chart,
.demo-chart-lines {
  position: relative;
  margin-top: 16px;
  height: 180px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid rgba(21, 33, 24, 0.05);
  overflow: hidden;
}

.demo-grid-line,
.demo-chart-lines span {
  position: absolute;
  left: 16px;
  right: 16px;
  height: 1px;
  background: rgba(21, 33, 24, 0.08);
}

.demo-grid-line:nth-child(1),
.demo-chart-lines span:nth-child(1) {
  top: 28px;
}

.demo-grid-line:nth-child(2),
.demo-chart-lines span:nth-child(2) {
  top: 86px;
}

.demo-grid-line:nth-child(3),
.demo-chart-lines span:nth-child(3) {
  bottom: 30px;
}

.demo-line-chart svg,
.demo-chart-lines svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.demo-line-chart polyline,
.demo-chart-lines polyline {
  fill: none;
  stroke: #ee7b2f;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.demo-line-chart circle {
  fill: #ee7b2f;
}

.demo-card-row,
.demo-tile-grid,
.audience-grid,
.pricing-grid,
.pricing-faq-grid {
  display: grid;
  gap: 12px;
}

.demo-card-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.landing-section {
  margin-top: 88px;
}

.section-heading {
  margin-bottom: 24px;
}

.section-heading h2,
.why-card h2,
.audience-card h2,
.pricing-hero h1 {
  margin: 8px 0 0;
  max-width: 820px;
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  font-family: "Space Grotesk", sans-serif;
}

.section-heading p:last-child,
.why-card > p:last-child,
.pricing-hero p:last-child {
  margin: 14px 0 0;
  max-width: 760px;
  color: #56655c;
  line-height: 1.65;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.feature-card,
.why-card,
.audience-card {
  padding: 24px;
  border-radius: 28px;
}

.feature-card h3,
.pricing-card h3,
.pricing-faq-card h3 {
  margin: 8px 0 0;
  font-size: 1.35rem;
  line-height: 1.08;
  letter-spacing: -0.025em;
  font-family: "Space Grotesk", sans-serif;
}

.feature-card p:last-child,
.pricing-card li,
.pricing-faq-card p {
  margin: 12px 0 0;
  line-height: 1.6;
}

.two-column-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.benefit-list,
.pricing-card ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.benefit-list li,
.pricing-card li {
  position: relative;
  padding-left: 18px;
  margin-top: 14px;
  line-height: 1.6;
}

.benefit-list li::before,
.pricing-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--blue), var(--teal));
}

.audience-grid {
  margin-top: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.audience-grid div {
  padding: 16px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.66);
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.audience-grid strong,
.pricing-price {
  display: block;
  font-size: 1.1rem;
  font-weight: 800;
}

.demo-board {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 16px;
}

.demo-board-column {
  display: grid;
  gap: 16px;
}

.demo-tile {
  position: relative;
  overflow: hidden;
}

.demo-tile-wide {
  min-height: 180px;
}

.demo-tile-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.demo-tile-chart {
  min-height: 220px;
}

.demo-bar-stack {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.demo-bar {
  display: block;
  height: 18px;
  border-radius: 999px;
}

.demo-bar-negative {
  width: 92%;
  background: linear-gradient(90deg, #ffb85c, #d86d2e);
}

.demo-bar-positive {
  width: 54%;
  background: linear-gradient(90deg, #43d17d, #0f7c74);
}

.demo-bar-neutral {
  width: 26%;
  background: linear-gradient(90deg, #9fb2ce, #64748b);
}

.shimmer-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 10%, rgba(255, 255, 255, 0.55) 45%, transparent 80%);
  transform: translateX(-120%);
  animation: shimmerMove 5s ease-in-out infinite;
}

.pricing-page .address-main {
  padding-top: 54px;
}

.pricing-hero {
  padding: 34px;
  border-radius: 34px;
}

.pricing-grid {
  margin-top: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-card {
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(21, 33, 24, 0.1);
  background: rgba(255, 250, 244, 0.82);
  box-shadow: var(--shadow);
}

.pricing-card.featured {
  background:
    radial-gradient(circle at top right, rgba(15, 124, 116, 0.12), transparent 22%),
    linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(247, 239, 228, 0.94));
}

.pricing-price {
  margin-top: 18px;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: -0.05em;
  font-family: "Space Grotesk", sans-serif;
}

.pricing-price small {
  font-size: 0.95rem;
  letter-spacing: 0;
  color: #637268;
}

.pricing-note {
  margin-top: 10px;
  line-height: 1.5;
}

.pricing-card .primary-lookup-button,
.pricing-card .ghost-nav-button {
  width: 100%;
  margin-top: 18px;
}

.pricing-faq-grid {
  margin-top: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-faq-card {
  padding: 22px;
  border-radius: 24px;
}

.fade-in-up {
  animation: fadeUp 0.8s ease both;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes floatOrb {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -18px, 0);
  }
}

@keyframes shimmerMove {
  0%,
  100% {
    transform: translateX(-120%);
  }
  55% {
    transform: translateX(120%);
  }
}

@keyframes pulseGlow {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(15, 124, 116, 0.14);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(15, 124, 116, 0);
  }
}

.explainer-intro {
  max-width: 780px;
}

.explainer-intro h2 {
  margin: 6px 0 0;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.02;
}

.explain-grid {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.explain-card {
  padding: 20px;
  border-radius: 24px;
}

.explain-card h3 {
  margin: 6px 0 0;
  font-size: 1.2rem;
}

.explain-card p:last-child {
  margin: 12px 0 0;
  color: #56645c;
  line-height: 1.62;
}

.result-shell.is-empty .insight-grid,
.result-shell.is-empty .result-overview-card {
  opacity: 0.56;
}

.result-overview-card {
  padding: 28px;
  border-radius: 32px;
  background:
    radial-gradient(circle at top right, rgba(238, 123, 47, 0.08), transparent 26%),
    linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(247, 239, 228, 0.94));
  border: 1px solid rgba(21, 33, 24, 0.09);
  box-shadow: 0 20px 48px rgba(21, 33, 24, 0.08);
}

.history-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.dual-insight-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.processed-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.processed-card {
  padding: 18px 18px 16px;
  border-radius: 22px;
  border: 1px solid rgba(21, 33, 24, 0.08);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 22px rgba(21, 33, 24, 0.05);
}

.processed-card span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.processed-card strong {
  display: block;
  margin-top: 12px;
  font-size: 1.6rem;
  line-height: 1.02;
  letter-spacing: -0.03em;
}

.processed-card p {
  margin: 10px 0 0;
  color: #617064;
  font-size: 0.88rem;
  line-height: 1.45;
}

.composition-card {
  margin-top: 14px;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.66);
  border: 1px solid rgba(21, 33, 24, 0.06);
  flex: 1 1 auto;
}

.composition-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.composition-metrics span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.composition-metrics strong {
  display: block;
  margin-top: 8px;
  font-size: 1.15rem;
}

.composition-bar {
  margin-top: 18px;
  height: 18px;
  display: flex;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(21, 33, 24, 0.08);
}

.composition-segment.equity {
  background: linear-gradient(90deg, rgba(55, 178, 77, 0.95), rgba(15, 124, 116, 0.9));
}

.composition-segment.lien {
  background: linear-gradient(90deg, rgba(238, 123, 47, 0.95), rgba(180, 35, 24, 0.82));
}

.composition-segment.unknown {
  background: rgba(21, 33, 24, 0.16);
}

.composition-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin-top: 14px;
}

.composition-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f6f65;
  font-size: 0.84rem;
  font-weight: 700;
}

.composition-legend i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.composition-legend i.equity {
  background: #1d8a5d;
}

.composition-legend i.lien {
  background: #d86d2e;
}

.composition-legend i.unknown {
  background: rgba(21, 33, 24, 0.28);
}

.history-card {
  padding: 24px;
  border-radius: 30px;
  border: 1px solid rgba(21, 33, 24, 0.09);
  background:
    radial-gradient(circle at 85% 12%, rgba(238, 123, 47, 0.08), transparent 20%),
    linear-gradient(180deg, rgba(255, 252, 248, 0.98), rgba(248, 241, 231, 0.94));
  box-shadow: 0 18px 40px rgba(21, 33, 24, 0.08);
  backdrop-filter: blur(14px);
}

.dual-insight-grid > .history-card,
.dual-insight-grid > .insight-card {
  height: 100%;
}

.dual-insight-grid > .insight-card {
  display: flex;
  flex-direction: column;
}

.history-stat {
  min-width: 180px;
  text-align: right;
}

.history-stat span,
.history-chart-meta span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.history-stat strong {
  display: block;
  margin-top: 8px;
  font-size: 1.9rem;
  line-height: 1;
  letter-spacing: -0.03em;
}

.history-chart-meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.history-legend {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 14px;
}

.legend-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #55655c;
  font-size: 0.84rem;
  font-weight: 700;
}

.legend-item em {
  font-style: normal;
}

.legend-item.is-disabled {
  opacity: 0.45;
}

.legend-swatch {
  display: inline-block;
  flex: 0 0 auto;
}

.legend-line-price {
  width: 28px;
  height: 0;
  border-top: 3px solid #ee7b2f;
  border-radius: 999px;
}

.legend-line-transfer {
  width: 28px;
  height: 0;
  border-top: 3px solid #9a331f;
  border-radius: 999px;
}

.legend-point-transfer {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #9a331f;
}

.history-chart-meta span {
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(21, 33, 24, 0.06);
}

.history-chart-meta strong {
  color: var(--text);
  margin-left: 6px;
}

.history-chart {
  margin-top: 18px;
  height: 280px;
  padding: 12px 14px 4px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(21, 33, 24, 0.05);
}

.history-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.history-guides line {
  stroke: rgba(21, 33, 24, 0.08);
  stroke-width: 1;
}

.history-line {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.history-area {
  stroke: none;
}

.history-point {
  stroke: rgba(255, 250, 244, 0.95);
  stroke-width: 3;
}

.history-ticks text {
  fill: #738177;
  font-size: 13px;
  font-family: "Manrope", sans-serif;
  font-weight: 800;
}

.history-line.is-assessed {
  stroke: #ee7b2f;
  stroke-width: 3.5;
}

.history-line.is-assessed.is-projected {
  stroke-dasharray: 9 7;
  opacity: 0.95;
}

.history-area.is-assessed {
  fill: rgba(238, 123, 47, 0.1);
}

.history-point.is-assessed {
  fill: #ee7b2f;
  stroke: rgba(255, 250, 244, 0.95);
}

.history-point.is-assessed.is-projected {
  fill: #fff7f1;
  stroke: #ee7b2f;
  stroke-width: 3.5;
}

.history-line.is-transfer {
  stroke: #9a331f;
  stroke-width: 3;
}

.history-point.is-transfer {
  fill: #9a331f;
  stroke: rgba(255, 250, 244, 0.95);
}

.history-transfer-label {
  fill: #8b3421;
  font-size: 17px;
  font-family: "Manrope", sans-serif;
  font-weight: 900;
  paint-order: stroke;
  stroke: rgba(255, 255, 255, 0.98);
  stroke-width: 7px;
  stroke-linejoin: round;
}

.history-assessed-label {
  fill: #d7661f;
  font-size: 15px;
  font-family: "Manrope", sans-serif;
  font-weight: 900;
  paint-order: stroke;
  stroke: rgba(255, 255, 255, 0.98);
  stroke-width: 7px;
  stroke-linejoin: round;
}

.history-svg-rent .history-line {
  stroke: #0f7c74;
}

.history-svg-rent .history-point {
  fill: #0f7c74;
  stroke: rgba(255, 250, 244, 0.95);
}

.result-overview-top h2 {
  margin: 4px 0 0;
  max-width: 760px;
  font-size: clamp(1.8rem, 2.2vw, 2.8rem);
  line-height: 1.05;
}

.result-subtitle {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 1rem;
}

.valuation-stack {
  display: grid;
  gap: 12px;
  min-width: 220px;
}

.valuation-stack div {
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--panel-2);
}

.valuation-stack span,
.quick-stat-card span,
.fact-row span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
}

.valuation-stack strong {
  display: block;
  margin-top: 8px;
  font-size: 1.25rem;
}

.quick-stat-grid,
.insight-grid {
  display: grid;
  gap: 16px;
}

.quick-stat-grid {
  margin-top: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.quick-stat-card {
  padding: 18px 18px 16px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(21, 33, 24, 0.07);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.quick-stat-card strong {
  display: block;
  margin-top: 10px;
  font-size: 1.45rem;
  letter-spacing: -0.03em;
}

.insight-grid {
  margin-top: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lower-grid {
  align-items: start;
}

.insight-card {
  padding: 24px;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 252, 248, 0.96), rgba(248, 241, 231, 0.92));
  border: 1px solid rgba(21, 33, 24, 0.08);
  box-shadow: 0 14px 32px rgba(21, 33, 24, 0.06);
}

.modal-dialog-wide {
  width: min(1320px, calc(100vw - 28px));
}

.modal-overview-card {
  margin-top: 16px;
  padding: 18px 18px 20px;
}

.modal-overview-card .result-overview-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.modal-overview-card .valuation-stack {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  min-width: 0;
}

.modal-overview-card .valuation-stack div {
  min-width: 180px;
}

.modal-overview-card .modal-section-title {
  font-size: 1.15rem;
}

.modal-overview-card .quick-stat-grid {
  margin-top: 14px;
}

.property-record-card .result-overview-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}

.property-record-card .result-overview-top > :first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.property-record-card .valuation-stack {
  flex: 0 0 auto;
  grid-template-columns: repeat(2, minmax(220px, 260px));
  gap: 28px;
  align-items: end;
}

.property-record-card .valuation-stack div {
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.property-record-card .modal-section-title,
.history-card .chart-head h4,
.dual-insight-grid > .insight-card > .chart-head h4,
.cashflow-panel .chart-card .chart-head h4,
.insight-card-head h3 {
  margin: 4px 0 0;
  font-size: clamp(1.18rem, 1.5vw, 1.5rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
  font-family: "Space Grotesk", sans-serif;
}

.modal-section-title {
  margin: 4px 0 0;
  font-size: 1.35rem;
}

.fact-grid {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.fact-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08);
}

.fact-row:last-child {
  border-bottom: 0;
}

.fact-row strong {
  text-align: right;
}

.fact-row.emphasis strong {
  color: #8a4c20;
}

.timeline-list {
  margin-top: 14px;
  display: grid;
  gap: 14px;
}

.timeline-item {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 14px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.64);
}

.timeline-date {
  color: #7b8a82;
  font-size: 0.9rem;
  font-weight: 700;
}

.timeline-body strong {
  display: block;
  font-size: 1.05rem;
}

.timeline-body p {
  margin: 8px 0 0;
  color: #536159;
}

.lookup-notes,
.note-grid {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.note-chip,
.empty-block {
  padding: 12px 14px;
  border-radius: 999px;
  background: rgba(21, 33, 24, 0.06);
  color: #526159;
  font-size: 0.92rem;
  font-weight: 700;
}

.empty-block {
  border-radius: 18px;
}

@media (max-width: 1100px) {
  .hero-shell,
  .two-column-section,
  .feature-grid,
  .pricing-grid,
  .pricing-faq-grid,
  .demo-board,
  .insight-grid,
  .dual-insight-grid,
  .explain-grid,
  .processed-grid {
    grid-template-columns: 1fr;
  }

  .demo-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .audience-grid,
  .demo-card-row,
  .demo-tile-grid {
    grid-template-columns: 1fr;
  }

  .property-record-card .result-overview-top {
    flex-direction: column;
  }

  .property-record-card .valuation-stack {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .history-stat {
    min-width: 0;
  }

  .composition-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .address-main {
    padding: 18px 14px 40px;
  }

  .hero-copy,
  .hero-demo,
  .pricing-hero,
  .feature-card,
  .why-card,
  .audience-card,
  .pricing-card,
  .pricing-faq-card {
    padding: 20px;
    border-radius: 24px;
  }

  .hero-demo {
    min-height: auto;
  }

  .hero-copy h1 {
    font-size: 2.65rem;
  }

  .landing-hero h1 {
    font-size: 2.7rem;
  }

  .quick-stat-grid,
  .address-form-grid,
  .explain-grid,
  .feature-grid,
  .pricing-grid,
  .pricing-faq-grid,
  .audience-grid,
  .demo-card-row,
  .demo-tile-grid,
  .demo-stat-grid {
    grid-template-columns: 1fr;
  }

  .property-record-card .valuation-stack {
    grid-template-columns: 1fr;
  }

  .history-card {
    padding: 18px;
  }

  .history-chart {
    height: 220px;
    padding: 8px 8px 0;
  }

  .result-overview-top,
  .insight-card-head,
  .address-actions,
  .demo-title-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .single-search-shell {
    grid-template-columns: 1fr;
  }

  .timeline-item {
    grid-template-columns: 1fr;
  }
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  height: 100%;
  min-height: 100%;
  font-family: "Manrope", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(238, 123, 47, 0.18), transparent 24%),
    radial-gradient(circle at top right, rgba(15, 124, 116, 0.14), transparent 24%),
    linear-gradient(180deg, #f6f1e7 0%, var(--bg) 100%);
}

body.modal-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

.info-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin-left: 4px;
  cursor: help;
  vertical-align: middle;
  flex: 0 0 14px;
  line-height: 1;
}

.info-tip svg {
  width: 14px;
  height: 14px;
  display: block;
}

.info-tip circle,
.info-tip path {
  stroke: #9fb1c9;
  stroke-width: 1.6;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.info-tip .dot {
  fill: #9fb1c9;
  stroke: none;
}

.info-tip::after {
  content: attr(data-tip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translateX(-50%);
  width: 200px;
  padding: 9px 10px;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.96);
  color: #fff;
  font-size: 0.72rem;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease;
  z-index: 12;
}

.info-tip:hover::after {
  opacity: 1;
}

button {
  font: inherit;
  border: 0;
  cursor: pointer;
}

.search-app {
  height: 100vh;
  overflow: hidden;
}

.global-nav {
  height: 72px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 0 14px;
  background: rgba(255, 250, 244, 0.9);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}

.global-links-right {
  display: flex;
  align-items: center;
  gap: 24px;
  justify-content: flex-end;
  font-size: 1rem;
  font-weight: 700;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand-mark {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

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

.brand p,
.brand > div > span,
.eyebrow,
.listing-type,
.card-label,
.summary-stats span,
.price-block span,
.assumption-item small,
.assumption-item span,
.detail-subtext,
.panel-note {
  margin: 0;
}

.brand p {
  font-weight: 900;
}

.brand > div > span,
.eyebrow,
.listing-type,
.card-label,
.summary-stats span,
.price-block span,
.assumption-item small,
.assumption-item span,
.detail-subtext,
.panel-note {
  color: var(--muted);
}

.brand > div > span {
  display: none;
}

.signin-button,
.save-button {
  padding: 14px 22px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--blue), var(--blue-2));
  color: #fff;
  font-weight: 800;
}

.search-filterbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 8px;
  background: rgba(255, 250, 244, 0.88);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}

.search-box {
  min-width: 420px;
  flex: 1.1;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px 0 22px;
  border: 1px solid rgba(21, 33, 24, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.74);
  font-size: 1rem;
  font-weight: 700;
}

.search-box input {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  outline: 0;
}

.search-box input::placeholder {
  color: var(--muted);
}

.search-box-actions {
  display: flex;
  gap: 8px;
}

.icon-button,
.filter-button,
.map-chip,
.sort-button {
  height: 52px;
  padding: 0 22px;
  border: 1px solid rgba(21, 33, 24, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.74);
  font-weight: 800;
  color: #39414d;
}

.icon-button {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
}

.filter-button.active {
  border-color: var(--blue);
  box-shadow: inset 0 0 0 1px var(--blue);
  background: rgba(255, 148, 76, 0.12);
}

.zillow-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(460px, 0.98fr);
  height: calc(100vh - 125px);
}

.zillow-map-panel {
  position: sticky;
  top: 125px;
  height: calc(100vh - 125px);
  border-right: 1px solid var(--line);
  background: rgba(244, 238, 228, 0.72);
  overflow: hidden;
}

.zillow-results-panel {
  background: rgba(255, 249, 241, 0.7);
  height: calc(100vh - 125px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 18px 16px 28px;
}

.results-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 6px 8px 16px;
}

.results-summary h1 {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 800;
}

.results-summary p {
  margin: 8px 0 0;
  font-size: 0.98rem;
  font-weight: 700;
}

.sort-button {
  border: 0;
  background: transparent;
  color: #91511f;
  padding: 0;
  height: auto;
}

.results-map {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background:
    linear-gradient(0deg, rgba(133, 205, 220, 0.92), rgba(133, 205, 220, 0.92)),
    linear-gradient(90deg, #f5efe6 0 38%, #94d2df 38% 100%);
}

.full-height-map::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.65) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.65) 1px, transparent 1px),
    radial-gradient(circle at 31% 44%, rgba(251, 191, 36, 0.16), transparent 12%);
  background-size: 42px 42px, 42px 42px, auto;
  opacity: 0.45;
}

.map-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0 37%, rgba(255, 255, 255, 0.85) 37% 38%, transparent 38%),
    linear-gradient(0deg, transparent 0 37%, rgba(255, 255, 255, 0.22) 37% 100%);
}

.boundary {
  position: absolute;
  border: 4px solid rgba(37, 99, 235, 0.65);
  background: rgba(37, 99, 235, 0.08);
}

.boundary-one {
  left: 23%;
  top: 31%;
  width: 28%;
  height: 42%;
  clip-path: polygon(18% 6%, 64% 3%, 93% 18%, 100% 59%, 74% 83%, 31% 100%, 9% 74%, 0% 32%);
}

.boundary-two {
  left: 47%;
  top: 56%;
  width: 27%;
  height: 24%;
  clip-path: polygon(4% 18%, 81% 0%, 100% 44%, 71% 100%, 13% 84%, 0% 51%);
}

.map-floating-tools {
  position: absolute;
  top: 32px;
  right: 34px;
  display: flex;
  gap: 12px;
  z-index: 2;
}

.map-chip {
  height: 48px;
  padding: 0 18px;
  border-color: rgba(21, 33, 24, 0.12);
  color: #374151;
}

.map-chip.ghost {
  border-color: rgba(21, 33, 24, 0.12);
}

.map-pin {
  position: absolute;
  z-index: 3;
  min-width: 76px;
  height: 38px;
  padding: 0 14px;
  border-radius: 20px;
  background: var(--red);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 10px 18px rgba(127, 29, 29, 0.24);
}

.map-pin strong {
  font-size: 0.94rem;
}

.map-pin span {
  display: none;
}

.map-pin.teal {
  background: #b91c1c;
}

.map-pin.sand {
  background: #b91c1c;
}

.map-pin.featured {
  background: #b91c1c;
}

.map-pin.cluster {
  min-width: 118px;
}

.map-pin.active-pin {
  outline: 3px solid rgba(255, 255, 255, 0.95);
}

.map-zoom {
  position: absolute;
  right: 24px;
  bottom: 24px;
  display: grid;
  gap: 10px;
  z-index: 3;
}

.map-zoom button,
.map-view-switch {
  width: 54px;
  height: 54px;
  border-radius: 27px;
  background: rgba(255, 250, 244, 0.94);
  box-shadow: var(--shadow);
  font-size: 2rem;
}

.map-view-switch {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 94px;
  height: 54px;
  font-size: 1rem;
  font-weight: 800;
}

.map-zoom {
  bottom: 92px;
}

.listing-feed {
  display: grid;
}

.zillow-feed {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.result-card {
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 251, 247, 0.94);
  box-shadow: var(--shadow);
}

.result-card.active {
  border-color: rgba(238, 123, 47, 0.46);
}

.result-link {
  width: 100%;
  display: block;
  background: transparent;
  padding: 0;
  text-align: left;
}

.result-thumb {
  position: relative;
  height: 232px;
  background-size: cover;
  background-position: center;
}

.result-thumb.no-photo {
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(15, 124, 116, 0.18), rgba(238, 123, 47, 0.18)),
    rgba(255, 251, 247, 0.94);
}

.no-photo-label {
  color: #44514b;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.result-body {
  padding: 14px;
}

.result-top,
.results-header,
.detail-top,
.summary-head,
.panel-top,
.chart-head,
.modal-topbar,
.detail-actions {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.result-badge {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(21, 33, 24, 0.82);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
}

.heart-button,
.more-button {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.92);
  color: #91511f;
  font-size: 1.6rem;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(21, 33, 24, 0.08);
}

.listing-price {
  font-size: 1.9rem;
  font-weight: 800;
  line-height: 1.05;
}

.listing-price span,
.result-address,
.broker-line {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.96rem;
  font-weight: 600;
}

.result-address {
  margin-top: 10px;
  color: #374151;
  font-size: 0.98rem;
  line-height: 1.45;
}

.listing-metrics {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.listing-metrics div,
.snapshot-grid div,
.metric-card,
.assumption-item {
  padding: 12px;
  border-radius: 10px;
  background: var(--panel-2);
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.metric-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 18px 18px 16px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.98), rgba(250, 244, 236, 0.92));
  box-shadow: 0 10px 26px rgba(21, 33, 24, 0.06);
  position: relative;
  overflow: hidden;
}

.metric-card::before {
  display: none;
}

.metric-card.featured {
  border-color: rgba(15, 124, 116, 0.18);
  box-shadow: 0 16px 34px rgba(15, 124, 116, 0.08);
}

.listing-metrics span,
.snapshot-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.listing-metrics strong,
.snapshot-grid strong,
.summary-stats strong {
  display: block;
  margin-top: 6px;
  font-size: 0.98rem;
}

.listing-summary {
  margin: 10px 0 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #4b5563;
}

.broker-line {
  margin-top: 10px;
  font-size: 0.76rem;
}

.detail-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 40;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px;
}

.detail-modal.open {
  display: block;
}

body.is-detail-loading {
  overflow: hidden;
}

.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: none;
}

.modal-dialog {
  position: relative;
  width: min(1380px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  margin: 0 auto;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 0;
  background: #ffffff;
  border: 1px solid rgba(21, 33, 24, 0.08);
  box-shadow: none;
  padding: 14px 14px 18px;
}

.analysis-loading-overlay {
  position: absolute;
  inset: 0;
  z-index: 3000;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: none;
}

#analysis-loading-overlay[hidden] {
  display: none !important;
}

.analysis-loading-card {
  width: min(460px, calc(100% - 36px));
  padding: 28px 30px;
  border-radius: 0;
  background: #ffffff;
  border: 1px solid rgba(21, 33, 24, 0.08);
  box-shadow: none;
  text-align: center;
}

.analysis-loading-card h3 {
  margin: 10px 0 0;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.3rem;
}

#analysis-loading-copy {
  margin: 10px 0 0;
  color: #617064;
  line-height: 1.55;
}

.analysis-loading-actions {
  display: grid;
  gap: 12px;
  justify-items: center;
  margin-top: 18px;
}

.analysis-loading-actions[hidden],
.analysis-loading-steps[hidden],
.analysis-spinner[hidden] {
  display: none !important;
}

.analysis-loading-note {
  margin: 0;
  color: #617064;
  line-height: 1.45;
}

.analysis-spinner {
  width: 54px;
  height: 54px;
  margin: 0 auto 12px;
  border-radius: 50%;
  border: 3px solid rgba(21, 33, 24, 0.1);
  border-top-color: #152118;
  animation: spin 1s linear infinite;
}

.analysis-loading-steps {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.analysis-loading-steps span {
  height: 10px;
  border-radius: 0;
  background: rgba(21, 33, 24, 0.08);
  animation: none;
}

.detail-modal.is-loading .modal-dialog {
  overflow: hidden;
}

.detail-modal.is-loading .modal-topbar,
.detail-modal.is-loading .analysis-layout,
.detail-modal.is-loading .modal-overview-card,
.detail-modal.is-loading .insight-grid {
  visibility: hidden;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

.eyebrow,
.card-label,
.listing-type {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  font-weight: 800;
}

.modal-topbar {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 0 2px 8px;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08);
  background: linear-gradient(180deg, rgba(249, 244, 237, 0.98), rgba(249, 244, 237, 0.92));
}

.modal-topbar h2,
.detail-top h2,
.cashflow-panel h3,
.hero-analysis-content h3,
.chart-head h4 {
  margin: 0;
  font-family: "Space Grotesk", sans-serif;
  line-height: 1.05;
}

.modal-topbar h2 {
  font-size: 1.35rem;
}

.panel-note {
  display: block;
  color: #59675c;
  font-size: 0.82rem;
  font-weight: 700;
}

.panel-top {
  align-items: center;
  padding: 2px 0 2px;
  margin-bottom: 4px;
}

.panel-top h3 {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #223126;
}

.ai-brief {
  position: relative;
  margin-top: 12px;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(255, 239, 221, 0.96), rgba(252, 245, 236, 0.96));
  border: 1px solid rgba(217, 137, 66, 0.28);
  color: #2f3f34;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.55;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(135, 85, 33, 0.08);
}

.ai-brief::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 24px;
  width: 16px;
  height: 16px;
  background: rgba(255, 239, 221, 0.96);
  border-top: 1px solid rgba(217, 137, 66, 0.28);
  border-left: 1px solid rgba(217, 137, 66, 0.28);
  transform: rotate(45deg);
}

.detail-layout,
.analysis-layout {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  gap: 14px;
  flex: 1;
  min-height: 0;
}

.detail-main,
.detail-sidebar,
.analysis-main,
.analysis-sidebar {
  display: grid;
  gap: 14px;
  min-height: 0;
}

.detail-main,
.analysis-main {
  align-content: start;
  position: sticky;
  top: 0;
  align-self: start;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 6px;
}

.detail-sidebar,
.analysis-sidebar {
  align-content: start;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 8px;
  padding-bottom: 40px;
}

.hero-analysis-card,
.sidebar-card,
.chart-card {
  border-radius: 18px;
  border: 1px solid rgba(21, 33, 24, 0.08);
  background: rgba(255, 250, 244, 0.88);
  box-shadow: var(--shadow);
}

.ai-memo-card {
  padding: 18px;
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(248, 241, 231, 0.9));
}

.card-headline {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.card-headline h4 {
  margin: 4px 0 0;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.08rem;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.signal-pill {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(15, 124, 116, 0.10);
  color: #2e6b5a;
  font-size: 0.72rem;
  font-weight: 800;
  white-space: nowrap;
  border: 1px solid rgba(15, 124, 116, 0.10);
}

.ai-summary {
  margin: 12px 0 0;
  line-height: 1.5;
  font-size: 0.92rem;
  color: #425144;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hero-analysis-card {
  overflow: hidden;
  display: block;
}

.demo-image {
  position: relative;
}

.demo-image::after {
  content: "Calculated Estimate";
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255, 250, 244, 0.92);
  color: #8c4b1f;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.is-ai-analysis .demo-image::after {
  display: none;
}

.property-image {
  width: 100%;
  height: 280px;
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08);
  position: relative;
  overflow: hidden;
}

.property-image iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.hero-analysis-content {
  padding: 14px;
}

.summary-head {
  flex-direction: column;
  gap: 10px;
}

.hero-analysis-content h3 {
  font-size: 1.12rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.listing-type {
  font-size: 0.68rem;
}

.price-block {
  text-align: left;
  min-width: 0;
}

.price-block span {
  font-size: 0.72rem;
}

.price-block strong {
  display: block;
  margin-top: 4px;
  font-size: 1.45rem;
}

.summary-stats {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #425144;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.35;
}

.summary-stats span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: #425144;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.summary-stats strong {
  display: inline;
  margin-top: 0;
  color: var(--text);
  font-size: 0.96rem;
}

.summary-stats i {
  color: rgba(66, 81, 68, 0.45);
  font-style: normal;
}

.listing-copy {
  margin: 10px 0 0;
  line-height: 1.4;
  font-size: 0.8rem;
  color: #4b5563;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tag-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.tag-row span {
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(21, 33, 24, 0.06);
  color: #2e4032;
  font-weight: 700;
  font-size: 0.74rem;
}

.cashflow-panel {
  padding: 16px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 248, 240, 0.96), rgba(248, 241, 232, 0.96));
  color: var(--text);
  box-shadow: var(--shadow);
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.cashflow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.metric-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  min-height: 72px;
}

.metric-title {
  display: block;
  font-weight: 800;
  font-size: 0.98rem;
  line-height: 1.18;
  text-wrap: balance;
}

.metric-subtitle {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.metric-badge {
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(21, 33, 24, 0.08);
  color: #3f4d42;
  font-size: 0.82rem;
  font-weight: 800;
  white-space: nowrap;
  line-height: 1.05;
  border: 1px solid transparent;
}

.metric-badge.badge-neutral {
  background: rgba(21, 33, 24, 0.08);
  color: #3f4d42;
}

.metric-badge.badge-safe {
  background: rgba(55, 178, 77, 0.14);
  color: #1f6a32;
  border-color: rgba(55, 178, 77, 0.2);
}

.metric-badge.badge-accent {
  background: rgba(15, 124, 116, 0.14);
  color: #0d645d;
  border-color: rgba(15, 124, 116, 0.2);
}

.metric-badge.badge-warning {
  background: rgba(238, 123, 47, 0.16);
  color: #9a4d13;
  border-color: rgba(238, 123, 47, 0.22);
}

.metric-badge.badge-urgent {
  background: rgba(180, 35, 24, 0.12);
  color: #8e231a;
  border-color: rgba(180, 35, 24, 0.18);
}

.metric-value {
  margin-top: 14px;
  padding: 16px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(21, 33, 24, 0.06);
  font-size: 2.6rem;
  line-height: 0.96;
  min-height: 0;
  font-family: "Space Grotesk", sans-serif;
  letter-spacing: -0.04em;
  display: flex;
  align-items: center;
}

.metric-card.is-positive .metric-value {
  color: #156f42;
}

.metric-card.is-negative .metric-value {
  color: #9a331f;
}

.metric-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 12px;
  padding-top: 0;
}

.metric-kpi {
  padding: 10px 12px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(21, 33, 24, 0.07);
  min-width: 0;
}

.metric-kpis span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.2;
}

.metric-kpis strong {
  display: block;
  margin-top: 6px;
  font-size: 1.06rem;
  line-height: 1.15;
  word-break: keep-all;
  overflow-wrap: normal;
}

.metric-note {
  margin: 12px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid rgba(21, 33, 24, 0.08);
  color: #607065;
  font-size: 0.82rem;
  line-height: 1.45;
}

.scorecard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.scorecard {
  padding: 13px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.scorecard.featured {
  background: linear-gradient(180deg, rgba(255, 148, 76, 0.14), rgba(255, 148, 76, 0.06));
  border-color: rgba(255, 148, 76, 0.28);
}

.scorecard-grade {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 4px solid rgba(21, 33, 24, 0.08);
  border-top-color: #ff934c;
  font-weight: 800;
  font-size: 1.2rem;
}

.scorecard h5 {
  margin: 12px 0 0;
  font-size: 0.88rem;
}

.scorecard-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.scorecard-metrics strong {
  display: block;
  font-size: 1rem;
}

.scorecard-metrics span,
.simple-metric span,
.hold-metric span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  color: var(--muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 800;
}

.scorecard-metrics span {
  margin-top: 5px;
  font-size: 0.72rem;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.mini-bar {
  height: 8px;
  margin-top: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(21, 33, 24, 0.08);
}

.mini-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, #ff7a18, #ffb26b);
}

.mini-bar.green i {
  background: linear-gradient(135deg, #22c55e, #86efac);
}

.mini-bar.sand i {
  background: linear-gradient(135deg, #c79a5d, #e7c89f);
}

.scorecard-meta {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid rgba(21, 33, 24, 0.08);
  color: #566457;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.35;
}

.revenue-hero-card {
  margin-top: 16px;
}

.revenue-hero-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 16px;
  margin-top: 18px;
}

.revenue-big-number {
  padding: 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(44, 58, 43, 0.96), rgba(89, 108, 82, 0.92));
  color: #fff;
}

.revenue-big-number span {
  display: block;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 800;
}

.revenue-big-number strong {
  display: block;
  margin-top: 10px;
  font-size: 2.3rem;
  font-family: "Space Grotesk", sans-serif;
}

.input-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.input-metric {
  padding: 13px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.input-metric strong {
  display: block;
  margin-top: 8px;
  font-size: 1.42rem;
  font-family: "Space Grotesk", sans-serif;
}

.input-metric small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.25;
}

.input-metric span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  font-size: 0.78rem;
  line-height: 1.2;
  color: #324033;
}

.waterfall-row > span,
.overview-key,
.assumption-key {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
}

.simple-metric strong,
.hold-metric strong {
  display: block;
  margin-top: 10px;
  font-size: 1.4rem;
  font-family: "Space Grotesk", sans-serif;
}

.simple-metric p,
.hold-metric p {
  margin: 8px 0 0;
  line-height: 1.55;
  color: #5a685c;
  font-size: 0.9rem;
}

.cashflow-panel .eyebrow,
.cashflow-panel .panel-note {
  color: var(--muted);
}

.scenario-toggle {
  display: flex;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(21, 33, 24, 0.05);
}

.toggle,
.modal-close {
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
}

.toggle {
  background: transparent;
  color: var(--muted);
}

.toggle.active {
  background: linear-gradient(135deg, var(--blue), var(--blue-2));
  color: #fff;
}

.modal-close {
  background: rgba(21, 33, 24, 0.08);
  color: var(--text);
}

.hold-period-grid,
.snapshot-grid,
.assumption-list {
  display: grid;
}

.chart-card {
  margin-top: 16px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(21, 33, 24, 0.08);
  box-shadow: none;
}

.modal-map-card {
  margin-top: 16px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.modal-map-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.modal-map-head h3 {
  margin: 4px 0 0;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.05rem;
}

.map-open-link {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(21, 33, 24, 0.08);
  color: var(--text);
  font-weight: 800;
  white-space: nowrap;
}

.map-frame-shell {
  margin-top: 14px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(21, 33, 24, 0.08);
  background: rgba(255, 255, 255, 0.76);
}

.map-frame-shell iframe {
  display: block;
  width: 100%;
  height: 280px;
  border: 0;
}

.slider-card {
  margin-top: 16px;
}

.hold-period-value {
  font-size: 0.92rem;
  color: #2e4032;
}

.slider-wrap {
  margin-top: 16px;
}

.slider-wrap input[type="range"] {
  width: 100%;
  accent-color: #ff934c;
}

.slider-scale {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.8rem;
}

.hold-period-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.hold-metric {
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.hold-metric p {
  margin-top: 5px;
  font-size: 0.72rem;
  color: var(--muted);
}

.seasonality-chart {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  margin-top: 18px;
}

.season-bar {
  text-align: center;
}

.season-bar strong {
  display: block;
  min-height: 38px;
  font-size: 0.82rem;
}

.season-track {
  height: 112px;
  display: flex;
  align-items: end;
  justify-content: center;
}

.season-track i {
  display: block;
  width: 34px;
  min-height: 10px;
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(180deg, #5b8f6c, #2e6b5a);
}

.season-bar.negative .season-track i {
  background: linear-gradient(180deg, #e7c89f, #c79a5d);
}

.season-bar span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}

.investment-chart {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
  margin-top: 20px;
}

.investment-bar {
  text-align: center;
}

.investment-total {
  margin-bottom: 10px;
  font-weight: 800;
  font-size: 0.9rem;
}

.investment-stack {
  height: 230px;
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
  border-radius: 16px 16px 6px 6px;
  overflow: hidden;
  background: rgba(21, 33, 24, 0.06);
}

.investment-stack i {
  display: block;
  width: 100%;
}

.investment-stack .profit {
  background: #5b8f6c;
}

.investment-stack .appreciation {
  background: #8f6a42;
}

.investment-stack .equity {
  background: #d98942;
}

.investment-stack .down {
  background: #ead6b8;
}

.investment-bar span {
  display: block;
  margin-top: 10px;
  color: var(--muted);
}

.expense-waterfall,
.strategy-table,
.comparables-table,
.tax-breakdown,
.property-overview,
.overview-table,
.assumption-table {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.waterfall-row,
.strategy-table-head,
.strategy-table-row {
  display: grid;
  grid-template-columns: 1.35fr 1fr auto;
  gap: 12px;
  align-items: center;
}

.waterfall-row span,
.strategy-table-head span,
.strategy-table-row span,
.waterfall-row strong,
.strategy-table-row strong {
  font-size: 0.92rem;
}

.waterfall-bar {
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(21, 33, 24, 0.08);
}

.waterfall-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, #c79a5d, #d98942);
}

.waterfall-row.negative .waterfall-bar i {
  background: linear-gradient(135deg, #d9c1a0, #ad7a48);
}

.waterfall-row.net .waterfall-bar i {
  background: linear-gradient(135deg, #63ab82, #2e6b5a);
}

.strategy-table-head,
.strategy-table-row {
  grid-template-columns: 1.4fr 1fr 1fr 0.8fr 0.8fr;
}

.strategy-table-head {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(21, 33, 24, 0.12);
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.72rem;
  font-weight: 800;
}

.strategy-table-row {
  padding: 12px 0;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08);
}

.strategy-table-row.featured {
  background: rgba(255, 148, 76, 0.08);
  border-radius: 10px;
}

.strategy-table-row.featured span,
.strategy-table-row.featured strong {
  color: #8c4b1f;
  font-weight: 800;
}

.comparable-head,
.comparable-row {
  display: grid;
  grid-template-columns: 1.8fr 0.8fr 0.8fr 0.7fr;
  gap: 14px;
  align-items: center;
}

.comparable-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 10px;
  color: #617064;
  font-size: 0.8rem;
  font-weight: 700;
}

.comparable-summary strong {
  color: #8c4b1f;
  font-size: 0.84rem;
}

.comparable-head {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(21, 33, 24, 0.12);
  color: var(--muted);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 800;
}

.comparable-row {
  padding: 12px 0;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08);
}

.comparable-row span:first-child {
  color: #a55e1d;
  font-weight: 700;
}

.tax-breakdown,
.property-overview {
  gap: 12px;
}

.tax-row,
.overview-item {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(21, 33, 24, 0.04);
}

.tax-row span,
.overview-item span {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.3;
}

.tax-row.total {
  background: rgba(34, 197, 94, 0.12);
}

.tax-row.total strong {
  color: #16a34a;
}

.overview-table,
.assumption-table {
  gap: 0;
  border: 1px solid rgba(21, 33, 24, 0.08);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.78);
}

.overview-row,
.assumption-row {
  display: grid;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08);
}

.overview-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.assumption-row {
  grid-template-columns: 180px 180px minmax(0, 1fr);
}

.overview-row:last-child,
.assumption-row:last-child {
  border-bottom: 0;
}

.overview-row:nth-child(odd),
.assumption-row:nth-child(odd) {
  background: rgba(247, 239, 228, 0.48);
}

.overview-row.total {
  background: rgba(255, 148, 76, 0.10);
}

.overview-key,
.assumption-key {
  color: #59675c;
  font-weight: 600;
}

.overview-value,
.assumption-value {
  color: var(--text);
  font-weight: 800;
  text-align: right;
}

.assumption-value {
  text-align: left;
}

.assumption-note {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.chart-head h4,
.cashflow-panel h3 {
  font-size: 1.18rem;
}

.bar-chart,
.stack-chart {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.compare-row {
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.compare-copy {
  display: grid;
  gap: 4px;
}

.compare-name {
  font-weight: 800;
  font-size: 1rem;
  line-height: 1.18;
}

.compare-meta {
  color: #607065;
  font-size: 0.82rem;
  line-height: 1.3;
}

.compare-rail {
  height: 12px;
  border-radius: 999px;
  background: rgba(36, 66, 58, 0.08);
  overflow: hidden;
}

.compare-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #76aefc, #2563eb);
}

.compare-row.is-positive .compare-fill {
  background: linear-gradient(90deg, #43d17d, #0f7c74);
}

.compare-row.is-negative .compare-fill {
  background: linear-gradient(90deg, #ffb85c, #d86d2e);
}

.compare-row.is-unavailable .compare-fill {
  background: linear-gradient(90deg, #9fb2ce, #64748b);
}

.compare-row.is-positive .compare-name,
.compare-row.is-positive .compare-value {
  color: #0f7c74;
}

.compare-row.is-negative .compare-name,
.compare-row.is-negative .compare-value {
  color: #b86121;
}

.compare-row.is-unavailable .compare-name,
.compare-row.is-unavailable .compare-value {
  color: #556579;
}

.compare-row.is-positive .compare-rail {
  background: rgba(15, 124, 116, 0.10);
}

.compare-row.is-negative .compare-rail {
  background: rgba(216, 109, 46, 0.10);
}

.compare-row.is-unavailable .compare-rail {
  background: rgba(100, 116, 139, 0.12);
}

.compare-value {
  font-weight: 800;
  font-size: 0.98rem;
}

.stack-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.stack-number {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(21, 33, 24, 0.08);
}

.stack-number span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
}

.stack-number strong {
  display: block;
  margin-top: 6px;
  font-size: 1rem;
}

.stack-bars {
  display: grid;
  gap: 10px;
}

.stack-bar {
  position: relative;
  min-width: 120px;
  max-width: 100%;
  height: 32px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  color: #fff;
  font-weight: 800;
  font-size: 0.82rem;
}

.stack-bar.rent {
  background: linear-gradient(90deg, #60a5fa, #2563eb);
}

.stack-bar.opx {
  background: linear-gradient(90deg, #f59e0b, #b45309);
}

.stack-bar.debt {
  background: linear-gradient(90deg, #64748b, #334155);
}

.stack-bar.cash.positive {
  background: linear-gradient(90deg, #34d399, #0f766e);
}

.stack-bar.cash.negative {
  background: linear-gradient(90deg, #fb7185, #be123c);
}

.sidebar-card {
  padding: 16px;
}

.demo-label {
  color: #a55e1d;
  font-style: normal;
  font-weight: 800;
  font-size: 0.64em;
  vertical-align: baseline;
  line-height: 1;
}

.paren-text {
  font-size: 0.66em;
  line-height: 1.08;
  color: #607065;
}

.demo-only[hidden] {
  display: none !important;
}

.modal-analysis-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) 320px;
  margin-top: 16px;
  margin-bottom: 18px;
  gap: 14px;
  position: relative;
  z-index: 2;
  flex: none;
  min-height: auto;
}

.modal-detail-main,
.modal-detail-sidebar {
  display: grid;
  gap: 14px;
  align-content: start;
  position: static;
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.modal-analysis-layout > * {
  min-width: 0;
}

.modal-overview-card,
.insight-grid {
  position: relative;
  z-index: 1;
}

.compact-map-shell iframe {
  height: 240px;
}

.map-open-link-overlay {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
}

.assumption-list,
.snapshot-grid {
  gap: 8px;
  margin-top: 14px;
}

.snapshot-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.snapshot-grid div {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 252, 248, 0.88);
  border: 1px solid rgba(21, 33, 24, 0.07);
  box-shadow: none;
}

.snapshot-card {
  position: relative;
  overflow: hidden;
}

.snapshot-card.is-teal {
  background: linear-gradient(180deg, rgba(235, 248, 245, 0.96), rgba(248, 252, 251, 0.92));
  border-color: rgba(15, 124, 116, 0.14);
}

.snapshot-card.is-teal strong {
  color: #0f7c74;
}

.snapshot-card.is-amber {
  background: linear-gradient(180deg, rgba(255, 245, 231, 0.96), rgba(255, 251, 245, 0.92));
  border-color: rgba(238, 123, 47, 0.16);
}

.snapshot-card.is-amber strong {
  color: #b86121;
}

.snapshot-card.is-slate {
  background: linear-gradient(180deg, rgba(242, 246, 244, 0.96), rgba(250, 252, 251, 0.92));
  border-color: rgba(96, 113, 101, 0.14);
}

.snapshot-card.is-slate strong {
  color: #4d5d53;
}

.snapshot-card.is-rose {
  background: linear-gradient(180deg, rgba(252, 239, 234, 0.96), rgba(255, 250, 247, 0.92));
  border-color: rgba(180, 35, 24, 0.14);
}

.snapshot-card.is-rose strong {
  color: #a23227;
}

.snapshot-grid span {
  color: #6a786b;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.snapshot-grid strong {
  margin-top: 8px;
  font-size: 0.98rem;
  line-height: 1.2;
}

.assumption-item.is-teal {
  background: linear-gradient(180deg, rgba(235, 248, 245, 0.96), rgba(248, 252, 251, 0.92));
  border-color: rgba(15, 124, 116, 0.14);
}

.assumption-item.is-teal strong {
  color: #0f7c74;
}

.assumption-item.is-amber {
  background: linear-gradient(180deg, rgba(255, 245, 231, 0.96), rgba(255, 251, 245, 0.92));
  border-color: rgba(238, 123, 47, 0.16);
}

.assumption-item.is-amber strong {
  color: #b86121;
}

.assumption-item.is-slate {
  background: linear-gradient(180deg, rgba(242, 246, 244, 0.96), rgba(250, 252, 251, 0.92));
  border-color: rgba(96, 113, 101, 0.14);
}

.assumption-item.is-slate strong {
  color: #4d5d53;
}

.assumption-item.is-rose {
  background: linear-gradient(180deg, rgba(252, 239, 234, 0.96), rgba(255, 250, 247, 0.92));
  border-color: rgba(180, 35, 24, 0.14);
}

.assumption-item.is-rose strong {
  color: #a23227;
}

#investor-take {
  margin: 0;
  color: #314034;
  font-size: 0.98rem;
  line-height: 1.55;
}

@media (max-width: 1280px) {
  .zillow-layout,
  .detail-layout,
  .hero-analysis-card {
    grid-template-columns: 1fr;
  }

  .modal-overview-card .result-overview-top {
    grid-template-columns: 1fr;
  }

  .modal-overview-card .valuation-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .detail-layout {
    height: auto;
  }

  .detail-sidebar {
    overflow: visible;
    padding-right: 0;
    padding-bottom: 0;
  }

  .detail-main {
    position: static;
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  .zillow-map-panel {
    position: relative;
    top: 0;
    height: 560px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 960px) {
  .global-nav,
  .search-filterbar,
  .results-summary,
  .modal-topbar,
  .summary-head,
  .detail-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .global-nav {
    height: auto;
    padding: 14px;
  }

  .global-links-right {
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
  }

  .search-box {
    min-width: 0;
  }

  .zillow-feed,
  .scorecard-grid,
  .revenue-hero-grid,
  .input-metric-grid,
  .seasonality-chart,
  .investment-chart,
  .hold-period-grid,
  .summary-stats,
  .snapshot-grid,
  .listing-metrics {
    grid-template-columns: 1fr;
  }

  .cashflow-grid,
  .stack-summary {
    grid-template-columns: 1fr;
  }

  .compare-row {
    grid-template-columns: 1fr;
  }

  .strategy-table-head,
  .strategy-table-row,
  .waterfall-row,
  .comparable-head,
  .comparable-row {
    grid-template-columns: 1fr;
  }

  .overview-row,
  .assumption-row {
    grid-template-columns: 1fr;
  }

  .overview-value,
  .assumption-value {
    text-align: left;
  }

  .result-thumb {
    height: 200px;
  }

  .listing-price {
    font-size: 1.55rem;
  }

  .property-image {
    height: 220px;
  }

  .price-block {
    min-width: 0;
  }

  .modal-overview-card .valuation-stack {
    grid-template-columns: 1fr;
  }

  .modal-dialog {
    width: calc(100vw - 12px);
    max-height: calc(100vh - 12px);
    margin: 6px;
    padding: 14px;
    overflow: auto;
  }
}


/* Consolidated from kepler-titan-theme.css */


/* Premium Minimalist Light Aesthetic (Titan/Kepler inspired but bright, clean, perfectly readable) */
:root {
  --bg: #FDFCFB !important;
  --panel: #FFFFFF !important;
  --panel-2: #F5F4F0 !important;
  --text: #1A1A1A !important;
  --muted: #666666 !important;
  --line: rgba(0, 0, 0, 0.08) !important;
  --blue: #000000 !important;
  --blue-2: #333333 !important;
  --teal: #000000 !important; 
}

/* Force override base background and text */
body, html, .address-app-shell {
  background-color: #ffffff !important;
  background-image: none !important;
  background: #ffffff !important;
  color: #1A1A1A !important;
  font-family: 'Inter', sans-serif !important;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
  box-sizing: border-box !important;
}

*, *::before, *::after {
  box-sizing: inherit !important;
}

/* Global Vertical Wireframe Lines */
body::before {
  content: "" !important;
  position: fixed !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 1280px !important;
  height: 100vh !important;
  border-left: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  pointer-events: none !important;
  z-index: 9999 !important;
}


h1, h2, h3, h4, .brand-mark, .pricing-price {
  font-family: 'Playfair Display', serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: #111111 !important;
}

a {
  color: #666 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
a:hover {
  color: #000 !important;
}

/* Force Center Layout on Hero */
.hero-shell {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 1280px !important; /* Perfect align with vertical lines */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 12vh !important;
  padding-bottom: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  position: relative !important;
  overflow: visible !important;
  isolation: isolate !important;
}

.hero-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: 1000px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  position: relative !important;
  z-index: 20 !important;
}

.eyebrow {
  color: #888 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.hero-copy h1 {
  font-size: clamp(2.85rem, 4.7vw, 5.15rem) !important;
  line-height: 0.98 !important;
  margin-top: 16px !important;
  margin-bottom: 24px !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.hero-text {
  font-size: 1.12rem !important;
  color: #555 !important;
  max-width: 860px !important;
  margin-bottom: 40px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* Minimal Chips - Spaced out properly */
.hero-chip-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 24px !important;
  margin-bottom: 0 !important;
}

.hero-chip-row span {
  background: rgba(21, 33, 24, 0.04) !important;
  border: 1px solid rgba(21, 33, 24, 0.08) !important;
  color: #55645b !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  box-shadow: none !important;
  transition: all 0.2s;
}
.hero-chip-row span:hover {
  color: #152118 !important;
  border-color: rgba(21, 33, 24, 0.14) !important;
  background: rgba(21, 33, 24, 0.06) !important;
}

/* Massive Centered Search Bar */
.single-search-form {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2100 !important;
  isolation: isolate !important;
}

.single-search-shell {
  display: flex !important;
  padding: 8px 8px 8px 36px !important; /* Sleek padding for a perfect pill */
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 999px !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.3s ease !important;
  align-items: center !important;
}

.single-search-shell:focus-within {
  border-color: rgba(0, 0, 0, 0.2) !important;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.08) !important;
}

.single-search-shell input {
  height: 64px !important;
  font-size: 1.25rem !important;
  background: transparent !important;
  color: #111 !important;
  padding: 0 !important;
  flex: 1 !important;
  border: none !important;
  font-family: 'Inter', sans-serif !important;
}

.single-search-shell input::placeholder {
  color: #999 !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
}

.single-search-shell input:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Elegant Solid Black Button */
.primary-lookup-button {
  height: 64px !important;
  padding: 0 48px !important;
  border-radius: 999px !important;
  background: #000000 !important;
  color: #ffffff !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.primary-lookup-button:hover {
  background: #222222 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15) !important;
}

/* Inline actions right under the search bar */
.hero-inline-actions {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 20px !important;
  margin-top: 48px !important; /* Pushed away smoothly from the search bar */
}

/* Status Banners */
.status-banner {
  margin: 32px auto 0 !important;
  padding: 16px 32px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  color: #111 !important;
  border-radius: 999px !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  display: inline-block !important; /* Ensure it stays compact and matches layout */
}

/* Demoboard visually lowered & clean */
.hero-demo {
  margin-top: 120px !important;
  width: 100% !important;
  max-width: 1200px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

.hero-demo-video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 620px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.04) !important;
  object-fit: cover !important;
}

.demo-screen {
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: #ffffff !important;
  border-radius: 32px !important;
  padding: 40px !important;
  box-shadow: 0 30px 60px rgba(0,0,0,0.04) !important;
}

.demo-topline {
  margin-bottom: 24px !important;
}

.demo-orb { display: none !important; }

/* Global Minimal Sections */
.landing-section {
  max-width: 1280px !important;
  margin: 160px auto !important;
}

.section-heading {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  margin-bottom: 80px !important;
}

.section-heading h2 {
  font-size: 3.5rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 900px !important;
}
.section-heading p {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 700px !important;
  font-size: 1.15rem !important;
  color: #666 !important;
}

/* Cards & Layout Grids */
.feature-grid, .pricing-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
}

.feature-card, .why-card, .audience-card, .pricing-card, .insight-card {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  border-radius: 24px !important;
  padding: 48px 40px !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
}

.feature-card:hover, .pricing-card:hover, .insight-card:hover {
  border-color: rgba(0, 0, 0, 0.08) !important;
  transform: none !important;
  box-shadow: none !important;
}

.feature-card p:last-child {
  color: #666 !important;
}

.card-label {
  color: #000 !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  font-weight: 700 !important;
}

/* Nav */
.global-nav {
  background: transparent !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  padding-left: max(32px, calc(50vw - 640px)) !important;
  padding-right: max(32px, calc(50vw - 640px)) !important;
  max-width: 100% !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}
.brand-mark {
  width: 24px !important;
  height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  font-family: inherit !important;
  font-size: 0 !important;
  font-style: normal !important;
}

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

.brand p {
  color: #111 !important;
  font-weight: 900 !important;
  font-family: 'Inter', sans-serif !important;
}
.brand > div > span {
  color: #888 !important;
}

/* Base UI Elements */
.ghost-nav-button, .nav-link-pill, .ghost-reset-button {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  color: #111 !important;
  border-radius: 999px !important;
  padding: 12px 24px !important;
  font-weight: 500 !important;
}
.ghost-nav-button:hover, .nav-link-pill:hover, .ghost-reset-button:hover {
  background: #f4f4f4 !important;
  border-color: #000 !important;
}

/* Overriding the text colors in cards for visibility */
.demo-chart-card, .demo-value-block, .demo-stat-grid div, .demo-mini-card, .demo-tile {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.demo-value-block strong, .demo-stat-grid strong, .demo-mini-card strong, .demo-tile strong {
  color: #111 !important;
}
.demo-value-block span, .demo-stat-grid span, .demo-mini-card span, .demo-tile span {
  color: #666 !important;
}
.demo-title-row h3, .demo-chart-head span, .demo-chart-head p {
  color: #111 !important;
}

/* Modals & Detail Page Fixes */
.analysis-layout {
  display: grid !important;
  grid-template-columns: 1.1fr 400px !important;
  gap: 64px !important;
  margin-top: 80px !important;
}

.analysis-layout.modal-analysis-layout {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

.analysis-support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(21, 33, 24, 0.08);
  border-bottom: 1px solid rgba(21, 33, 24, 0.08);
}

.analysis-support-grid > .sidebar-card {
  border-right: 1px solid rgba(21, 33, 24, 0.08);
}

.analysis-support-grid > .sidebar-card:last-child {
  border-right: 0;
}

.analysis-sidebar {
  position: sticky !important;
  top: 120px !important;
}

.sidebar-card, .cashflow-panel, .hero-analysis-card, .history-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
}

.modal-overview-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
}
.modal-overview-card .valuation-stack div {
  background: #fdfcfb !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
}

#result-address {
  font-size: 3rem !important;
  color: #111 !important;
}
.result-subtitle {
  color: #555 !important;
}

/* Fact Grids */
.fact-row strong {
  color: #111 !important;
}
.fact-row span {
  color: #555 !important;
}

/* Timeline */
.timeline-list strong {
  color: #111 !important;
}
.timeline-list span {
  color: #666 !important;
}

/* Badges */
.demo-badge, .demo-pulse, .api-status-pill, .lookup-badge {
  background: #f4f4f4 !important;
  color: #111 !important;
  border: 1px solid rgba(0,0,0,0.1) !important;
  border-radius: 999px !important;
  padding: 6px 16px !important;
  font-family: 'Inter', sans-serif !important;
}

@media screen and (max-width: 1024px) {
  .hero-shell {
    margin-top: 8vh !important;
  }
  .hero-copy h1 {
    font-size: 3.5rem !important;
  }
  .feature-grid, .pricing-grid, .analysis-layout {
    grid-template-columns: 1fr !important;
  }
}

/* --- WIREFRAME LINE FORM DESIGN --- */
.address-app-shell {
  max-width: 100% !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  min-height: 100vh !important;
}

.feature-card, .pricing-card, .insight-card, 
.modal-overview-card, .hero-analysis-card, .cashflow-panel, .history-card, 
.sidebar-card {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* Explicit Wireframe Rules for Two-column Section */
.why-card, .audience-card {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important; 
  padding: 0 !important;
}

.two-column-section {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.audience-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  width: 50% !important;
  gap: 0 !important;
  border-left: none !important;
  margin: 0 !important;
}

.audience-grid > .spec-cell {
  border-right: 1px solid rgba(0,0,0,0.08) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  padding: 40px !important;
}

.audience-grid > .spec-cell:nth-child(even) {
  border-right: none !important;
}

.audience-grid > .spec-cell:nth-last-child(-n+2) {
  border-bottom: none !important;
}

.why-card {
  width: 50% !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  padding: 80px 48px !important;
}

.landing-section.two-column-section .why-card {
  padding-top: 28px !important;
}

.landing-section.two-column-section .audience-grid > .spec-cell,
.landing-section.two-column-section div.audience-grid > div {
  padding-top: 28px !important;
}

.hero-copy, .two-column-section > div,
.hero-demo, .demo-screen, .demo-tile, .demo-chart-card, 
.demo-value-block, .demo-stat-grid div, .demo-mini-card {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

.landing-section {
  padding-top: 100px !important;
  padding-bottom: 60px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 0 !important;
  position: relative !important;
  border: none !important; /* No direct border to prevent double-line */
}

/* Single line divider for section start */
.landing-section::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 1px !important;
  background: rgba(0, 0, 0, 0.08) !important;
}

.landing-main > .hero-shell + .landing-section::before {
  display: none !important;
}

.landing-main > .hero-shell + .landing-section {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.landing-main > .landing-section + .landing-section.two-column-section {
  margin-top: 0 !important;
}

/* Two-column section: flush content against divider lines */
.landing-section.two-column-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.landing-section.two-column-section::before {
  display: none !important;
}

.section-heading {
  padding-left: 48px !important;
  padding-right: 48px !important;
}

.address-main {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: none !important;
}

.section-heading, .feature-grid, .pricing-grid, .audience-grid, .demo-board {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- STRICT WIREFRAME FIXES --- */

/* Fix the center line overridden by global selectors */
.two-column-section > .why-card {
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* Perfect Single-Line Grid System */
div.feature-grid, div.pricing-grid {
  gap: 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}
div.feature-grid > *, div.pricing-grid > * {
  border: none !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  margin: 0 !important;
  border-radius: 0 !important;
  padding: 48px 40px !important;
}
/* No bottom border for last row, no right border for last col */
div.feature-grid > *:nth-last-child(-n+3), div.pricing-grid > *:nth-last-child(-n+3) {
  border-bottom: none !important;
}
div.feature-grid > *:nth-child(3n), div.pricing-grid > *:nth-child(3n) {
  border-right: none !important;
}
div.feature-grid > *:nth-child(3n+1), div.pricing-grid > *:nth-child(3n+1) {
  border-left: none !important;
}

/* Perfect 2x2 Wireframe Cross for Audience Grid */
div.audience-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0 !important;
  border-top: none !important;
}
div.audience-grid > div {
  margin: 0 !important;
  padding: 40px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
div.audience-grid > div:nth-child(1) {
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}
div.audience-grid > div:nth-child(2) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}
div.audience-grid > div:nth-child(3) {
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* --- DEMO SCREEN WIREFRAME --- */

/* Fix the hero demo wrapper */
div.hero-demo {
  max-width: 100% !important;
}

/* Demo screen container */
div.demo-screen {
  border: none !important;
  border-top: 1px solid rgba(0,0,0,0.08) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Demo rows */
div.demo-topline {
  padding: 16px 40px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

div.demo-title-row {
  padding: 32px 40px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  margin: 0 !important;
}

div.demo-title-row h3 {
  margin-top: 4px !important;
  font-size: 1.6rem !important;
}

/* 4-column Stats Grid */
div.demo-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}
div.demo-stat-grid > div {
  padding: 32px 40px !important;
  margin: 0 !important;
  border: none !important;
  border-right: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: auto !important;
}
div.demo-stat-grid > div:last-child {
  border-right: none !important;
}
div.demo-stat-grid span {
  font-size: 0.8rem !important;
  letter-spacing: 0.06em !important;
  color: #888 !important;
}
div.demo-stat-grid strong {
  font-size: 1.5rem !important;
  margin-top: 6px !important;
  font-family: 'Playfair Display', serif !important;
  letter-spacing: -0.02em !important;
}

/* Chart card row */
div.demo-chart-card {
  padding: 32px 40px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border-top: none !important;
  background: transparent !important;
}

div.demo-chart-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

div.demo-chart-head span {
  font-size: 0.85rem !important;
  color: #888 !important;
  font-weight: 400 !important;
}

/* Chart area */
div.demo-line-chart, div.demo-chart-lines {
  border-radius: 0 !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  background: #fafafa !important;
  height: 140px !important;
  margin-top: 20px !important;
}

div.demo-line-chart polyline,
div.demo-chart-lines polyline {
  stroke: #111 !important;
  stroke-width: 2.5 !important;
}

div.demo-line-chart circle {
  fill: #111 !important;
}

.demo-grid-line {
  background: rgba(0, 0, 0, 0.04) !important;
}

/* 2-column Mini Cards */
div.demo-card-row {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0 !important;
  border-bottom: none !important;
}
div.demo-card-row > .demo-mini-card {
  padding: 36px 40px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  border-right: 1px solid rgba(0,0,0,0.08) !important;
  border-top: none !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  min-height: auto !important;
}
div.demo-card-row > .demo-mini-card:last-child {
  border-right: none !important;
}
div.demo-card-row .demo-mini-card strong {
  font-size: 1.5rem !important;
  margin-top: 8px !important;
  font-family: 'Playfair Display', serif !important;
  letter-spacing: -0.02em !important;
}
div.demo-card-row .demo-mini-card span {
  font-size: 0.85rem !important;
  color: #888 !important;
  margin-top: 4px !important;
}

/* --- DEMO BOARD WIREFRAME --- */
div.demo-board {
  gap: 0 !important;
  border-top: 1px solid rgba(0,0,0,0.08) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

div.demo-board-column:first-child {
  border-right: 1px solid rgba(0,0,0,0.08) !important;
}

div.demo-board-column > div:not(:last-child) {
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

div.demo-tile {
  padding: 40px !important;
  border: none !important; 
  border-radius: 0 !important;
  margin: 0 !important;
}

div.demo-tile-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0 !important;
}

div.demo-tile-grid > div.demo-tile:first-child {
  border-right: 1px solid rgba(0,0,0,0.08) !important;
}

/* --- DATA COVERAGE GRID --- */
div.data-spec-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  max-width: 100% !important;
  margin: 0 !important;
}

div.spec-cell {
  padding: 48px 40px !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Remove bottom borders for all cells on the last row */
div.data-spec-grid > div.spec-cell:nth-last-child(-n+2) {
  border-bottom: none !important;
}

/* Remove right border for the even cells */
div.data-spec-grid > div.spec-cell:nth-child(even) {
  border-right: none !important;
}

/* Styling the elegant feature list */
ul.clean-list {
  list-style: none !important;
  margin: 24px 0 0 0 !important;
  padding: 0 !important;
}

ul.clean-list li {
  position: relative !important;
  padding-left: 20px !important;
  margin-bottom: 16px !important;
  color: #555 !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  font-family: 'Inter', sans-serif !important;
}

ul.clean-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 9px !important;
  width: 4px !important;
  height: 4px !important;
  background: #000 !important;
  border-radius: 50% !important;
}

/* ============================================
   DETAIL PAGE — WIREFRAME GRID OVERHAUL
   ============================================ */

/* --- Detail Hero --- */
.landing-hero {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 60px 40px 48px !important;
  text-align: center !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.landing-hero h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  margin-top: 12px !important;
  white-space: nowrap !important;
}

.landing-hero .hero-text {
  color: #666 !important;
  font-size: 1rem !important;
}

/* --- Analysis Layout (Main + Sidebar) --- */
.analysis-layout.modal-analysis-layout {
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  gap: 0 !important;
  margin-top: 0 !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.analysis-main.modal-detail-main {
  border-right: 1px solid rgba(0,0,0,0.08) !important;
}

/* --- Hero Analysis Card (Map + Info) --- */
.hero-analysis-card {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-height: 400px !important;
}

.property-image.demo-image {
  width: 50% !important;
  min-height: 100% !important;
  border-radius: 0 !important;
  border-right: 1px solid rgba(0,0,0,0.08) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  overflow: hidden !important;
  position: relative !important;
}

.property-image.demo-image iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}

#property-map {
  border-right: 1px solid rgba(0,0,0,0.08) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  box-sizing: border-box !important;
}

.hero-analysis-content {
  width: 50% !important;
  padding: 32px 40px !important;
}

.summary-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

.summary-head-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.detail-favorite-button {
  width: 46px !important;
  height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #111 !important;
  cursor: pointer !important;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease !important;
}

.detail-favorite-button:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(17, 17, 17, 0.24) !important;
}

.detail-favorite-button .detail-favorite-icon {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}

.detail-favorite-button .detail-favorite-icon path {
  fill: transparent !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transition: fill 160ms ease, stroke 160ms ease, transform 180ms ease !important;
  transform-origin: center !important;
}

.detail-favorite-button[data-saved="true"] {
  background: #111 !important;
  border-color: #111 !important;
  color: #f26d7d !important;
}

.detail-favorite-button[data-saved="true"] .detail-favorite-icon path {
  fill: currentColor !important;
  stroke: currentColor !important;
}

.favorite-flight-heart {
  position: fixed;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  pointer-events: none;
  z-index: 1400;
  color: #f26d7d;
  transform: translate(-50%, -50%);
}

.favorite-flight-heart svg {
  width: 100%;
  height: 100%;
  display: block;
}

.favorite-flight-heart path {
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.listing-type {
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #888 !important;
}

.summary-head h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.2rem !important;
  margin-top: 4px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.price-block {
  text-align: right !important;
}

.price-block span {
  font-size: 0.8rem !important;
  color: #888 !important;
}

.price-block strong {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.5rem !important;
  display: block !important;
  margin-top: 4px !important;
}

/* Summary stats row */
.summary-stats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(0,0,0,0.06) !important;
  font-size: 0.85rem !important;
  color: #555 !important;
}

.listing-copy {
  margin-top: 16px !important;
  font-size: 0.9rem !important;
  color: #555 !important;
  line-height: 1.6 !important;
}

/* Tag row — PRESERVE colors */
.tag-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 16px !important;
}

/* --- Cashflow Panel --- */
.cashflow-panel {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.panel-top {
  padding: 32px 40px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.panel-top .eyebrow {
  font-size: 0.75rem !important;
}

.panel-top h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.3rem !important;
  margin-top: 4px !important;
}

.ai-brief {
  padding: 24px 40px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.ai-brief:empty {
  display: none !important;
}

/* Cashflow grid (3-column scenarios) */
.cashflow-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}

.cashflow-grid > div,
.cashflow-grid > article,
.cashflow-grid > section {
  border: 1px solid rgba(21, 33, 24, 0.08) !important;
  padding: 18px 18px 16px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.98), rgba(250, 244, 236, 0.92)) !important;
  box-shadow: 0 10px 26px rgba(21, 33, 24, 0.06) !important;
}

.cashflow-grid > div:nth-child(3n),
.cashflow-grid > article:nth-child(3n),
.cashflow-grid > section:nth-child(3n) {
  border-right: 1px solid rgba(21, 33, 24, 0.08) !important;
}

@media (max-width: 1100px) {
  .cashflow-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Chart cards */
.chart-card {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 32px 40px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.chart-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}

.chart-head h4 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.15rem !important;
  margin-top: 4px !important;
}

.bar-chart, .stack-chart {
  margin-top: 20px !important;
}

/* --- Sidebar --- */
.analysis-sidebar.modal-detail-sidebar {
  position: relative !important;
  top: 0 !important;
}

.sidebar-card {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 32px 32px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.analysis-sidebar.modal-detail-sidebar > .sidebar-card:last-child,
.cashflow-panel > .chart-card:last-child {
  border-bottom: none !important;
}

/* --- Property Record Section --- */
.result-overview-card.modal-overview-card.property-record-card {
  max-width: 1280px !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.result-overview-top {
  padding: 32px 40px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.modal-section-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.3rem !important;
}

.valuation-stack {
  gap: 24px !important;
}

.valuation-stack div {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.valuation-stack span {
  font-size: 0.8rem !important;
  color: #888 !important;
}

.valuation-stack strong {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.3rem !important;
}

/* Quick Stat Grid */
.quick-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 0 !important;
  margin-top: 0 !important;
}

.quick-stat-card {
  padding: 28px 32px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-right: 1px solid rgba(0,0,0,0.08) !important;
}

.quick-stat-card:last-child {
  border-right: none !important;
}

.quick-stat-card span {
  font-size: 0.8rem !important;
  color: #888 !important;
}

.quick-stat-card strong {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.3rem !important;
  margin-top: 6px !important;
}

/* --- Dual Insight Grid (Price Trend + Equity) --- */
.dual-insight-grid {
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.dual-insight-grid > .history-card,
.dual-insight-grid > .insight-card {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 32px 40px !important;
}

.dual-insight-grid > .history-card {
  border-right: 1px solid rgba(0,0,0,0.08) !important;
}

.history-chart {
  border-radius: 0 !important;
  background: #fafafa !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
}

.history-chart-meta span {
  border-radius: 0 !important;
  background: transparent !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  padding: 6px 10px !important;
}

.composition-card {
  border-radius: 0 !important;
  background: transparent !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  padding: 20px !important;
}

.composition-bar {
  border-radius: 0 !important;
}

/* --- Processed Signals Grid --- */
.processed-grid {
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.processed-card {
  padding: 28px 32px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-right: 1px solid rgba(0,0,0,0.08) !important;
}

.processed-card:nth-child(3n) {
  border-right: none !important;
}

.processed-card span {
  font-size: 0.78rem !important;
  color: #888 !important;
}

.processed-card strong {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.4rem !important;
}

/* --- Insight Grid (2-column or 4-column facts) --- */
.insight-grid {
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.insight-grid > .insight-card {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 32px 40px !important;
  border-right: 1px solid rgba(0,0,0,0.08) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.insight-grid > .insight-card:nth-child(2n) {
  border-right: none !important;
}

.insight-grid > .insight-card:nth-last-child(-n+2) {
  border-bottom: none !important;
}

.insight-card-head h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.15rem !important;
}

/* Fact rows */
.fact-row {
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  padding: 10px 0 !important;
}

.fact-row span {
  color: #666 !important;
  font-size: 0.88rem !important;
}

.fact-row strong {
  color: #111 !important;
  font-size: 0.88rem !important;
}

/* Timeline items */
.timeline-item {
  border-radius: 0 !important;
  background: transparent !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

.timeline-item:last-child {
  border-bottom: none !important;
}

/* --- Loading Overlay --- */
.analysis-loading-overlay {
  max-width: 1280px !important;
  margin: 0 auto !important;
}

.analysis-loading-card {
  border-radius: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: none !important;
}

/* --- Map link overlay --- */
.map-open-link-overlay {
  border-radius: 0 !important;
}

/* --- Global Detail Page Container --- */
body:not(.pricing-page) .address-main {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Restore card-style scenario grid inside investment screen */
.cashflow-panel {
  padding: 16px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  color: var(--text) !important;
  box-shadow: none !important;
  border: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.panel-top {
  padding: 0 18px !important;
  margin-bottom: 6px !important;
  border-bottom: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 18px !important;
}

.panel-top h3 {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: #223126 !important;
}

.panel-note {
  display: block !important;
  color: #59675c !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
}

.ai-brief {
  position: relative !important;
  margin-top: 18px !important;
  margin-left: 18px !important;
  margin-right: 18px !important;
  padding: 54px 24px 26px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 33, 24, 0.10) !important;
  color: #223126 !important;
  font-size: clamp(1.18rem, 1.5vw, 1.6rem) !important;
  font-weight: 700 !important;
  line-height: 1.36 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance !important;
  min-height: 138px !important;
  display: flex !important;
  align-items: flex-end !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

.ai-brief::before {
  content: "AI BRIEF" !important;
  position: absolute !important;
  top: 18px !important;
  left: 24px !important;
  color: #7b887e !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  line-height: 1 !important;
}

.ai-brief::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 24px !important;
  right: 24px !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(15, 124, 116, 0.5), rgba(21, 33, 24, 0.08)) !important;
}

.cashflow-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

.cashflow-grid > div,
.cashflow-grid > article,
.cashflow-grid > section,
.metric-card {
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 18px 18px 16px !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 33, 24, 0.08) !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
}

.metric-card.featured {
  border-color: rgba(15, 124, 116, 0.18) !important;
  box-shadow: none !important;
}

.metric-top {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  align-items: flex-start !important;
  min-height: 72px !important;
}

.metric-value {
  margin-top: 14px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 33, 24, 0.06) !important;
  display: flex !important;
  align-items: center !important;
}

.metric-kpis {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

.metric-kpi {
  padding: 10px 12px 12px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 33, 24, 0.07) !important;
  min-width: 0 !important;
}

.metric-note {
  margin: 12px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
}

@media (max-width: 1100px) {
  .cashflow-grid {
    grid-template-columns: 1fr !important;
  }

  .panel-top {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .ai-brief {
    min-height: 0 !important;
    padding: 48px 20px 22px !important;
    font-size: 1.08rem !important;
  }
}

/* Use grid lines inside investment screen instead of nested inner boxes */
.cashflow-grid {
  gap: 0 !important;
  margin-top: 16px !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  margin-left: 18px !important;
  margin-right: 18px !important;
}

.cashflow-grid > div,
.cashflow-grid > article,
.cashflow-grid > section,
.metric-card {
  border: 0 !important;
  border-right: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  padding: 18px 18px 16px !important;
}

.cashflow-grid > article:last-child,
.cashflow-grid > section:last-child,
.cashflow-grid > div:last-child,
.metric-card:last-child {
  border-right: 0 !important;
}

.metric-value {
  margin-top: 14px !important;
  margin-left: -18px !important;
  margin-right: -18px !important;
  padding: 16px 18px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.metric-kpis {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin-top: 0 !important;
  margin-left: -18px !important;
  margin-right: -18px !important;
}

.metric-kpi {
  padding: 12px 18px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.metric-note {
  margin-top: 0 !important;
  margin-left: -18px !important;
  margin-right: -18px !important;
  padding: 12px 18px 0 !important;
  border-top: 0 !important;
}

@media (max-width: 1100px) {
  .cashflow-grid {
    border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
    border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  }

  .cashflow-grid > div,
  .cashflow-grid > article,
  .cashflow-grid > section,
  .metric-card {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  }

  .cashflow-grid > article:last-child,
  .cashflow-grid > section:last-child,
  .cashflow-grid > div:last-child,
  .metric-card:last-child {
    border-bottom: 0 !important;
  }
}

/* Remove line-item separators inside table-like rows */
.fact-row,
.timeline-item,
.overview-row,
.assumption-row {
  border-bottom: none !important;
}

/* Remove outer wrapper box around the investment screen section */
.cashflow-panel {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Unify major section title sizing across the detail view */
.modal-section-title,
.panel-top h3,
.chart-head h4,
.insight-card-head h3 {
  font-size: 1.52rem !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
}

@media (max-width: 1100px) {
  .modal-section-title,
  .panel-top h3,
  .chart-head h4,
  .insight-card-head h3 {
    font-size: 1.34rem !important;
  }
}

/* Refine AI brief to a cleaner highlight block */
.analysis-main.modal-detail-main > .cashflow-panel {
  margin-top: 100px !important;
}

.panel-top {
  align-items: flex-end !important;
}

.panel-note {
  max-width: 40ch !important;
  text-align: right !important;
  line-height: 1.4 !important;
}

.ai-brief {
  margin-top: 16px !important;
  margin-left: 18px !important;
  margin-right: 18px !important;
  padding: 22px 24px !important;
  min-height: 0 !important;
  display: block !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-top: 3px solid rgba(15, 124, 116, 0.45) !important;
  border-radius: 16px !important;
  color: #24332b !important;
  font-size: clamp(1.02rem, 1.15vw, 1.22rem) !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
  letter-spacing: -0.015em !important;
  text-wrap: pretty !important;
}

.ai-brief::before,
.ai-brief::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1100px) {
  .panel-top {
    align-items: flex-start !important;
  }

  .panel-note {
    max-width: none !important;
    text-align: left !important;
  }

  .ai-brief {
    padding: 18px 20px !important;
    font-size: 1rem !important;
  }
}

/* Remove leftover boxed treatments from supporting detail widgets */
.ai-brief {
  margin-left: 18px !important;
  margin-right: 18px !important;
  padding: 8px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ai-brief::before,
.ai-brief::after {
  content: none !important;
  display: none !important;
}

.history-chart-meta {
  gap: 24px !important;
}

.history-chart-meta span {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.history-chart {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.composition-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 !important;
}

.stack-summary {
  gap: 28px !important;
  margin-bottom: 18px !important;
}

.stack-number {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Detail hero cleanup: hide address line and enlarge estimated value */
main.address-main .analysis-layout.modal-analysis-layout #detail-address {
  display: none !important;
}

main.address-main .analysis-layout.modal-analysis-layout .summary-head {
  display: block !important;
}

main.address-main .analysis-layout.modal-analysis-layout .summary-head-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

main.address-main .analysis-layout.modal-analysis-layout .listing-type {
  margin: 0 !important;
}

main.address-main .analysis-layout.modal-analysis-layout .price-block {
  margin-top: 28px !important;
  text-align: left !important;
}

main.address-main .analysis-layout.modal-analysis-layout .price-block strong {
  font-size: clamp(2.8rem, 4vw, 3.8rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.04em !important;
  margin-top: 12px !important;
  white-space: nowrap !important;
}

main.address-main .analysis-layout.modal-analysis-layout .price-block span {
  display: block !important;
  font-size: 0.98rem !important;
  letter-spacing: -0.01em !important;
  color: #7a7a7a !important;
}

/* Header actions */
.brand-home {
  text-decoration: none !important;
  color: inherit !important;
}

.brand-home:hover {
  opacity: 0.92;
}

.global-links-right {
  gap: 28px !important;
}

body.detail-page .address-nav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
}

body.detail-page .address-nav > .brand {
  min-width: 0 !important;
}

body.detail-page .detail-hero-search-wrap {
  width: min(900px, 100%) !important;
  margin: 34px auto 0 !important;
  position: relative !important;
  z-index: 30 !important;
  isolation: isolate !important;
}

body.detail-page .landing-hero > .eyebrow {
  margin-top: 40px !important;
}

body.detail-page .detail-nav-search {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}

body.detail-page .detail-nav-search-shell {
  min-height: 56px !important;
  padding: 6px 6px 6px 24px !important;
  box-shadow: none !important;
}

body.detail-page .global-links-right {
  justify-content: flex-end !important;
  white-space: nowrap !important;
}

body.detail-page .detail-nav-search-shell input {
  height: 44px !important;
  font-size: 1rem !important;
}

body.detail-page .detail-nav-search-button {
  height: 44px !important;
  padding: 0 28px !important;
  font-size: 0.98rem !important;
}

body.detail-page .detail-nav-autocomplete-panel {
  top: calc(100% + 10px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 31 !important;
}

.nav-text-button,
.nav-icon-button,
.nav-text-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #5e5e5e !important;
  font-size: 0.96rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.nav-text-button:hover,
.nav-icon-button:hover,
.nav-text-link:hover {
  color: #111 !important;
}

.nav-icon-button {
  gap: 8px !important;
}

.nav-icon {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
}

.nav-pro-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: #111 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.nav-pro-button:hover {
  background: #222 !important;
  color: #fff !important;
}

.nav-pro-button .nav-profile-avatar {
  display: none !important;
}

.nav-pro-button .nav-profile-avatar img {
  display: none !important;
}

.nav-pro-button[data-auth-boot="pending"] {
  visibility: hidden;
}

.nav-favorite-link[data-saved="true"] {
  color: #0b7f78 !important;
}

.account-main {
  padding-top: 26px !important;
}

body.account-page::before {
  display: none !important;
}

.account-hero {
  padding: 34px 0 28px !important;
}

.account-hero-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.account-identity {
  display: flex;
  align-items: center;
  gap: 18px;
}

.account-avatar {
  width: 72px;
  height: 72px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #111;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 800;
  overflow: hidden;
  flex: 0 0 72px;
}

.account-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.site-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translate(-50%, 18px);
  padding: 14px 18px;
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.96);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 18px 40px rgba(17, 17, 17, 0.18);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
  z-index: 1200;
  white-space: nowrap;
}

.site-toast[data-tone="success"] {
  background: rgba(17, 17, 17, 0.96);
}

.site-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.account-section-heading {
  margin-bottom: 20px !important;
}

.account-favorites-list {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.account-favorite-card {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.account-favorite-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.account-favorite-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
  text-decoration: none;
  color: inherit;
}

.account-favorite-link h3 {
  margin: 6px 0 8px;
  font-size: 1.6rem;
  line-height: 1.08;
}

.account-favorite-link p {
  margin: 0;
  color: var(--muted);
}

.account-favorite-meta {
  text-align: right;
  flex: 0 0 auto;
}

.account-favorite-meta strong {
  display: block;
  font-size: 1.05rem;
  margin-bottom: 6px;
}

.account-favorite-meta span {
  color: var(--muted);
  font-size: 0.9rem;
}

.account-favorite-remove {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7a867d;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  flex: 0 0 auto;
}

.account-favorite-remove:hover {
  color: #111;
}

.account-empty-state {
  padding: 28px 0;
}

.account-empty-state h3 {
  margin: 0 0 8px;
  font-size: 1.4rem;
}

.account-empty-state p {
  margin: 0;
  color: var(--muted);
}

body.account-page .address-main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 30px var(--desktop-frame-gutter) 56px !important;
  position: relative !important;
  background: #ffffff !important;
}

body.account-page .account-main {
  position: relative !important;
  padding-top: 34px !important;
}

body.account-page .account-main::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 100vw !important;
  transform: translateX(-50%) !important;
  height: 28px !important;
  background: #ffffff !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body.account-page .address-app-shell::before {
  content: none !important;
  display: none !important;
}

body.account-page .address-nav,
body.account-page .global-nav {
  position: static !important;
  top: auto !important;
  background: #ffffff !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.account-page .pricing-hero,
body.account-page .account-hero {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0 !important;
}

body.account-page .account-hero::before,
body.account-page .account-hero::after,
body.account-page .account-hero-row::before,
body.account-page .account-hero-row::after,
body.account-page .address-main::before,
body.account-page .address-main::after,
body.account-page .landing-section::before,
body.account-page .landing-section::after {
  content: none !important;
  display: none !important;
}

body.account-page .account-hero {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-top: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

body.account-page .account-hero-row {
  align-items: flex-end !important;
}

body.account-page .account-identity {
  gap: 20px !important;
}

body.account-page .account-avatar {
  width: 68px !important;
  height: 68px !important;
  flex-basis: 68px !important;
  background: #111 !important;
}

body.account-page .account-identity .eyebrow {
  margin-bottom: 8px !important;
}

body.account-page .account-identity h1 {
  margin: 0 0 8px !important;
  font-size: clamp(2.2rem, 4vw, 3.6rem) !important;
  line-height: 0.96 !important;
}

body.account-page .account-identity p:last-child {
  margin: 0 !important;
  max-width: 680px !important;
}

body.account-page #account-logout {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #435248 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

body.account-page #account-logout:hover {
  color: #111 !important;
}

body.account-page #account-logout[hidden] {
  display: none !important;
}

body.account-page .landing-section {
  padding: 32px 0 0 !important;
}

body.account-page .section-heading.account-section-heading {
  text-align: left !important;
  align-items: flex-start !important;
  margin-bottom: 18px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.account-page .section-heading.account-section-heading h2 {
  margin-bottom: 8px !important;
}

body.account-page .section-heading.account-section-heading p:last-child {
  max-width: 760px !important;
}

body.account-page .account-favorites-list {
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}

body.account-page .account-favorite-card {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

body.account-page .account-favorite-row {
  padding: 24px 0 !important;
  gap: 24px !important;
}

body.account-page .account-favorite-link {
  padding: 0 !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

body.account-page .account-empty-state {
  padding: 26px 0 10px !important;
}

body.account-page .account-favorite-copy h3 {
  margin: 0 0 6px !important;
  font-size: 1.12rem !important;
  line-height: 1.2 !important;
  font-family: "Manrope", sans-serif !important;
  font-weight: 700 !important;
}

body.account-page .account-favorite-copy p {
  margin: 0 !important;
  font-size: 0.96rem !important;
  color: var(--muted) !important;
}

body.account-page .account-favorite-meta strong {
  font-size: 1rem !important;
  margin-bottom: 4px !important;
}

body.account-page .account-favorite-meta span {
  font-size: 0.85rem !important;
}

@media (max-width: 960px) {
  .global-links-right {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .nav-text-button,
  .nav-icon-button,
  .nav-text-link,
  .nav-pro-button,
  .global-links-right .nav-link-pill {
    min-height: 46px !important;
  }

  .account-hero-row,
  .account-favorite-row,
  .account-favorite-link {
    flex-direction: column;
    align-items: flex-start;
  }

  .account-favorite-meta {
    text-align: left;
  }

  body.account-page .address-main {
    width: 100% !important;
    max-width: none !important;
    padding: 22px var(--mobile-page-gutter) 40px !important;
  }

  body.account-page .account-main {
    padding-top: 26px !important;
  }

  body.account-page .account-main::before {
    height: 22px !important;
  }

  body.account-page .account-hero,
  body.account-page .section-heading.account-section-heading,
  body.account-page .account-favorite-row,
  body.account-page .account-empty-state {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.account-page .account-hero-row {
    align-items: flex-start !important;
  }

  body.account-page .account-hero {
    margin-top: 0 !important;
  }
}

/* Remove all separators inside the investment screen strategy grid */
.cashflow-panel .cashflow-grid {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.cashflow-panel .cashflow-grid > div,
.cashflow-panel .cashflow-grid > article,
.cashflow-panel .cashflow-grid > section,
.cashflow-panel .metric-card {
  border-right: 0 !important;
}

.cashflow-panel .metric-value {
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding-top: 22px !important;
  padding-bottom: 14px !important;
}

.cashflow-panel .metric-kpi {
  border-bottom: 0 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.cashflow-panel .metric-note {
  border-top: 0 !important;
  padding-top: 16px !important;
}

@media (max-width: 1100px) {
  .cashflow-panel .cashflow-grid > div,
  .cashflow-panel .cashflow-grid > article,
  .cashflow-panel .cashflow-grid > section,
  .cashflow-panel .metric-card {
    border-bottom: 0 !important;
  }
}

/* Restore only the main column dividers for the strategy grid */
.cashflow-panel .cashflow-grid {
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.cashflow-panel .cashflow-grid > div,
.cashflow-panel .cashflow-grid > article,
.cashflow-panel .cashflow-grid > section,
.cashflow-panel .metric-card {
  border-right: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.cashflow-panel .cashflow-grid > article:last-child,
.cashflow-panel .cashflow-grid > section:last-child,
.cashflow-panel .cashflow-grid > div:last-child,
.cashflow-panel .metric-card:last-child {
  border-right: 0 !important;
}

@media (max-width: 1100px) {
  .cashflow-panel .cashflow-grid {
    border-top: 0 !important;
    border-bottom: 0 !important;
  }

  .cashflow-panel .cashflow-grid > div,
  .cashflow-panel .cashflow-grid > article,
  .cashflow-panel .cashflow-grid > section,
  .cashflow-panel .metric-card {
    border-right: 0 !important;
  }
}

/* Large editorial quote styling for the AI comment */
.ai-brief {
  position: relative !important;
  margin-top: 22px !important;
  margin-left: 18px !important;
  margin-right: 18px !important;
  padding: 18px 0 10px 34px !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid rgba(15, 124, 116, 0.24) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #24332b !important;
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(2rem, 2.75vw, 3.25rem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.035em !important;
  text-wrap: pretty !important;
}

.ai-brief::before {
  content: '"' !important;
  position: absolute !important;
  left: 0 !important;
  top: -10px !important;
  color: rgba(15, 124, 116, 0.24) !important;
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(3rem, 4.2vw, 4.8rem) !important;
  line-height: 1 !important;
  display: block !important;
}

.ai-brief::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1100px) {
  .ai-brief {
    padding-left: 26px !important;
    font-size: clamp(1.48rem, 6vw, 2.05rem) !important;
    line-height: 1.24 !important;
  }

  .ai-brief::before {
    top: -6px !important;
    font-size: 3rem !important;
  }
}

/* Make investment-screen divider lines run edge-to-edge with no inset gaps */
.cashflow-panel .cashflow-grid {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.cashflow-panel .metric-card {
  padding-left: 36px !important;
  padding-right: 36px !important;
}

.cashflow-panel .metric-value,
.cashflow-panel .metric-kpis,
.cashflow-panel .metric-note {
  margin-left: -36px !important;
  margin-right: -36px !important;
  padding-left: 36px !important;
  padding-right: 36px !important;
}

@media (max-width: 1100px) {
  .cashflow-panel .metric-card {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .cashflow-panel .metric-value,
  .cashflow-panel .metric-kpis,
  .cashflow-panel .metric-note {
    margin-left: -24px !important;
    margin-right: -24px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* Remove the decorative quote rail/mark, keep the large quote text */
.ai-brief {
  padding-left: 0 !important;
  border-left: 0 !important;
}

.ai-brief::before {
  content: none !important;
  display: none !important;
}

/* Align strategy card value and KPI content to one left edge */
.cashflow-panel .metric-value,
.cashflow-panel .metric-kpi,
.cashflow-panel .metric-note {
  text-align: left !important;
}

.cashflow-panel .metric-kpi {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cashflow-panel .metric-kpi span,
.cashflow-panel .metric-kpi strong {
  display: block !important;
  text-align: left !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Richer leverage composition card */
.composition-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 34px 0 0 !important;
}

.composition-bar {
  height: 22px !important;
  border-radius: 999px !important;
  box-shadow: inset 0 0 0 1px rgba(21, 33, 24, 0.06) !important;
  margin-top: 28px !important;
}

.composition-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 28px !important;
  padding-top: 0 !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
  position: relative !important;
}

.composition-grid-item {
  padding: 20px 18px 0 !important;
  border-right: 0 !important;
}

.composition-grid-item:last-child {
  border-right: 0 !important;
}

.composition-grid::before,
.composition-grid::after {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  bottom: 0 !important;
  width: 1px !important;
  background: rgba(21, 33, 24, 0.08) !important;
  pointer-events: none !important;
}

.composition-grid::before {
  left: 33.333333% !important;
}

.composition-grid::after {
  left: 66.666666% !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-panel {
  margin: 24px 0 32px !important;
  padding: 0 !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-head {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  align-items: start !important;
  padding: 24px 0 18px !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-head h3 {
  margin: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-head p:last-child {
  max-width: 980px !important;
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: 1.45 !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-item {
  padding: 22px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: left !important;
  box-shadow: none !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-item:last-child {
  border-bottom: 0 !important;
}

.composition-grid-item span {
  display: block !important;
  color: #5e6d63 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
}

.composition-grid-item small {
  display: block !important;
  margin-top: 6px !important;
  color: #1b271f !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}

.composition-grid-item.is-equity small {
  color: #18724d !important;
}

.composition-grid-item.is-lien small {
  color: #9b4c1f !important;
}

.composition-grid-item.is-unknown small {
  color: #4f5d55 !important;
}

@media (max-width: 900px) {
  .composition-grid {
    grid-template-columns: 1fr !important;
  }

  .composition-grid-item {
    padding: 14px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  }

  .composition-grid-item:last-child {
    border-bottom: 0 !important;
  }
}

/* Interactive scenario sliders */
.scenario-controls {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  background: transparent !important;
}

.scenario-controls-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 24px !important;
  align-items: flex-start !important;
  padding: 22px 18px 18px !important;
}

.scenario-controls-head h4 {
  margin: 6px 0 0 !important;
  font-size: 1.05rem !important;
  font-family: "Space Grotesk", sans-serif !important;
}

.scenario-controls-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 20px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.scenario-controls-head p:last-child {
  margin: 0 !important;
  max-width: 38ch !important;
  color: #67766d !important;
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
}

.scenario-reset {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: #152118 !important;
  font: inherit !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.scenario-reset:hover {
  color: #0f7c74 !important;
}

.scenario-controls-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.scenario-control {
  display: grid !important;
  gap: 12px !important;
  padding: 20px 18px 22px !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  --scenario-accent: #0f7c74 !important;
  --scenario-accent-soft: rgba(15, 124, 116, 0.14) !important;
}

.scenario-control:nth-child(odd) {
  border-right: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.scenario-control:nth-child(even) {
  padding-left: 28px !important;
}

.scenario-control:nth-last-child(-n + 2) {
  border-bottom: 0 !important;
}

.scenario-control span {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  color: #5d6d63 !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
}

.scenario-control strong {
  color: #152118 !important;
  font-size: 0.94rem !important;
  transition: color 160ms ease !important;
}

.scenario-control input[type="range"] {
  width: 100% !important;
  accent-color: var(--scenario-accent) !important;
}

.scenario-control.is-warning {
  --scenario-accent: #b06a25 !important;
  --scenario-accent-soft: rgba(176, 106, 37, 0.12) !important;
}

.scenario-control.is-risk {
  --scenario-accent: #c34732 !important;
  --scenario-accent-soft: rgba(195, 71, 50, 0.12) !important;
}

.scenario-control.is-warning strong,
.scenario-control.is-risk strong {
  color: var(--scenario-accent) !important;
}

.scenario-control.is-warning input[type="range"],
.scenario-control.is-risk input[type="range"] {
  accent-color: var(--scenario-accent) !important;
}

.scenario-control.is-warning span,
.scenario-control.is-risk span {
  color: #435248 !important;
}

.sticky-scenario-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 30 !important;
  transform: translateY(-18px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition:
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 260ms ease,
    box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  backdrop-filter: blur(16px) !important;
  box-shadow: 0 0 0 rgba(21, 33, 24, 0) !important;
}

body.has-sticky-scenario .sticky-scenario-header {
  transform: translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  box-shadow: 0 10px 28px rgba(21, 33, 24, 0.08) !important;
}

body.has-sticky-scenario .address-nav {
  transform: translateY(-100%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.address-nav {
  transition:
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 220ms ease !important;
}

.sticky-scenario-inner {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 12px 32px 14px !important;
  display: grid !important;
  gap: 10px !important;
  transform: translateY(-6px) !important;
  opacity: 0 !important;
  transition:
    transform 360ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 240ms ease !important;
}

body.has-sticky-scenario .sticky-scenario-inner {
  transform: translateY(0) !important;
  opacity: 1 !important;
}

.sticky-scenario-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #435248 !important;
}

.sticky-reset {
  font-size: 0.82rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.sticky-scenario-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.sticky-scenario-control {
  display: grid !important;
  gap: 6px !important;
  --scenario-accent: #0f7c74 !important;
}

.sticky-scenario-control span {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #617064 !important;
}

.sticky-scenario-control strong {
  color: #152118 !important;
  transition: color 160ms ease !important;
}

.sticky-scenario-control input[type="range"] {
  width: 100% !important;
  accent-color: var(--scenario-accent) !important;
}

.sticky-scenario-control.is-warning {
  --scenario-accent: #b06a25 !important;
}

.sticky-scenario-control.is-risk {
  --scenario-accent: #c34732 !important;
}

.sticky-scenario-control.is-warning strong,
.sticky-scenario-control.is-risk strong {
  color: var(--scenario-accent) !important;
}

@media (max-width: 1100px) {
  .scenario-controls-head {
    flex-direction: column !important;
  }

  .scenario-controls-meta {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .sticky-scenario-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .scenario-controls-grid {
    grid-template-columns: 1fr !important;
  }

  .scenario-controls-head {
    padding: 20px 18px 16px !important;
  }

  .scenario-controls-meta {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .scenario-control {
    padding: 16px 18px 18px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  }

  .scenario-control:nth-child(odd),
  .scenario-control:nth-child(even) {
    padding-left: 18px !important;
    padding-right: 18px !important;
    border-right: 0 !important;
  }

  .scenario-control:last-child {
    border-bottom: 0 !important;
  }

  .sticky-scenario-inner {
    padding: 10px 18px 12px !important;
  }

  .sticky-scenario-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

/* Shared footer */
.address-app-shell {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
}

.address-main {
  flex: 1 0 auto !important;
}

.site-footer {
  margin-top: 64px !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
  background: rgba(255, 255, 255, 0.74) !important;
  backdrop-filter: blur(14px) !important;
}

.site-footer-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding-top: 22px !important;
  padding-bottom: 100px !important;
  padding-left: max(32px, calc(50vw - 640px)) !important;
  padding-right: max(32px, calc(50vw - 640px)) !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) minmax(420px, 1.45fr) !important;
  gap: 18px 48px !important;
  align-items: center !important;
}

.site-footer-brand {
  max-width: 34rem !important;
}

.site-footer-brand p,
.site-footer-copy,
.site-footer-brand span,
.site-footer-links a {
  font-family: "Inter", sans-serif !important;
}

.site-footer-brand p {
  margin: 0 !important;
  color: #152118 !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
}

.site-footer-brand span {
  display: block !important;
  margin-top: 6px !important;
  color: #617064 !important;
  line-height: 1.5 !important;
  font-size: 0.9rem !important;
}

.site-footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  align-self: center !important;
}

.site-footer-links a {
  color: #324237 !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
}

body.legal-page .address-main {
  width: min(1280px, calc(100vw - 64px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 40px 32px 56px !important;
}

.legal-hero {
  max-width: 960px !important;
  margin: 0 !important;
  padding: 0 0 24px !important;
}

.legal-page .pricing-hero {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.legal-page .legal-grid {
  max-width: 960px !important;
  margin: 0 !important;
  display: block !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

.legal-page .legal-card {
  padding: 28px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  box-shadow: none !important;
}

.legal-page .legal-card:last-child {
  border-bottom: 0 !important;
}

.legal-page .legal-card h3 {
  margin: 8px 0 0 !important;
  font-size: 1.4rem !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
  font-family: "Space Grotesk", sans-serif !important;
}

.legal-page .legal-card p:last-child {
  margin: 14px 0 0 !important;
  color: #56655c !important;
  line-height: 1.68 !important;
  max-width: 60rem !important;
}

/* Subpage grid theme */
.pricing-page .landing-section,
.legal-page .landing-section {
  max-width: 1280px !important;
  margin: 72px auto 0 !important;
}

/* Restore centered content container for pricing/legal pages */
body.pricing-page .address-main,
body.legal-page .address-main {
  width: min(1280px, calc(100vw - 40px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 32px 0 56px !important;
  border: 0 !important;
}

body.pricing-page .address-main {
  width: min(1280px, calc(100vw - 64px)) !important;
  padding: 40px 32px 56px !important;
}

body.legal-page .address-main {
  width: min(1280px, calc(100vw - 64px)) !important;
  padding: 40px 32px 56px !important;
}

.pricing-page .landing-section,
.legal-page .landing-section {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.pricing-page .section-heading,
.pricing-page .pricing-grid,
.pricing-page .pricing-faq-grid,
.legal-page .pricing-hero,
.legal-page .legal-grid {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.pricing-page .pricing-hero,
.legal-page .pricing-hero {
  padding: 34px 0 28px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.pricing-page .pricing-hero {
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: 0 !important;
  outline: 0 !important;
}

body.legal-page .pricing-hero {
  border: 0 !important;
  outline: 0 !important;
}

body.pricing-page .pricing-hero::before,
body.pricing-page .pricing-hero::after,
body.pricing-page .landing-section:first-of-type::before,
body.pricing-page .landing-section::before {
  display: none !important;
}

.pricing-page .pricing-topline {
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 10px !important;
}

.pricing-page .pricing-topline .demo-badge {
  border-radius: 999px !important;
}

.pricing-page .pricing-hero h1 {
  max-width: 780px !important;
  margin: 0 !important;
}

.pricing-page .pricing-hero > p:last-child {
  max-width: 760px !important;
  margin: 18px 0 0 !important;
}

.pricing-page .landing-section:first-of-type {
  margin-top: 40px !important;
}

.pricing-page .pricing-grid {
  align-items: start !important;
}

.pricing-page .pricing-grid,
.pricing-page .pricing-faq-grid {
  display: grid !important;
  gap: 0 !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  background: transparent !important;
}

.pricing-page .pricing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.contact-layout {
  max-width: 760px !important;
  margin: 24px 0 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.contact-panel {
  padding: 30px 0 !important;
}

.contact-panel h2 {
  margin: 8px 0 0 !important;
  font-size: 1.5rem !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  font-family: "Space Grotesk", sans-serif !important;
}

.contact-panel > p:last-of-type {
  margin: 14px 0 0 !important;
  color: #56655c !important;
  line-height: 1.68 !important;
  max-width: 54ch !important;
}

.contact-form {
  margin-top: 28px !important;
  display: grid !important;
  gap: 18px !important;
}

.contact-field {
  display: grid !important;
  gap: 10px !important;
}

.contact-field span {
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  color: #56655c !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.contact-field input,
.contact-field textarea {
  width: 100% !important;
  border: 1px solid rgba(21, 33, 24, 0.12) !important;
  background: rgba(255, 250, 244, 0.72) !important;
  color: #152118 !important;
  border-radius: 18px !important;
  padding: 16px 18px !important;
  font: inherit !important;
  line-height: 1.5 !important;
  resize: vertical !important;
}

.contact-field input:focus,
.contact-field textarea:focus {
  outline: none !important;
  border-color: rgba(21, 33, 24, 0.28) !important;
  box-shadow: 0 0 0 4px rgba(21, 33, 24, 0.05) !important;
}

.contact-actions {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  margin-top: 8px !important;
}

.contact-note {
  margin: 0 !important;
  color: #66756c !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
}

.contact-sidebar {
  border-left: 1px solid rgba(21, 33, 24, 0.08) !important;
  padding-left: 36px !important;
}

.contact-direct {
  margin-top: 28px !important;
  display: grid !important;
  gap: 8px !important;
}

.contact-direct span {
  color: #66756c !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.contact-direct a {
  color: #152118 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.contact-direct a:hover {
  text-decoration: underline !important;
}

body.contact-page .legal-hero,
body.contact-page .contact-layout {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.contact-page .legal-hero {
  padding-top: 6px !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
}

body.contact-page .legal-hero h1 {
  max-width: 620px !important;
  margin: 0 !important;
  font-size: clamp(3rem, 5vw, 4.8rem) !important;
  line-height: 0.96 !important;
}

body.contact-page .legal-hero > p:last-child {
  max-width: 620px !important;
  margin: 18px 0 0 !important;
  color: #5f7067 !important;
}

body.contact-page .contact-layout {
  margin-top: 0 !important;
  border-top: 0 !important;
}

body.contact-page .contact-panel {
  padding: 30px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.contact-page .contact-form {
  margin-top: 24px !important;
}

body.contact-page .contact-field input,
body.contact-page .contact-field textarea {
  background: #fff !important;
  border-radius: 16px !important;
}

body.contact-page .contact-actions {
  display: flex !important;
  gap: 0 !important;
  justify-content: flex-start !important;
}

.pricing-page .pricing-grid > .pricing-card {
  border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
}

.pricing-page .pricing-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
  position: relative !important;
  align-items: stretch !important;
}

.pricing-page .pricing-card,
.pricing-page .pricing-faq-card {
  padding: 30px 36px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid rgba(21, 33, 24, 0.08) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  min-height: 100% !important;
}

.pricing-page .pricing-faq-card {
  border-right: 0 !important;
  position: relative !important;
}

.pricing-page .pricing-faq-grid::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 1px !important;
  background: rgba(21, 33, 24, 0.08) !important;
  transform: translateX(-0.5px) !important;
  pointer-events: none !important;
}

.pricing-page .pricing-faq-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 1px !important;
  background: rgba(21, 33, 24, 0.08) !important;
  pointer-events: none !important;
}

.pricing-page .pricing-card.featured {
  background: transparent !important;
}

.pricing-page .pricing-grid > .pricing-card:nth-child(3n),
.pricing-page .pricing-faq-grid > .pricing-faq-card:nth-child(2n) {
  border-right: 0 !important;
}

.pricing-page .pricing-grid > .pricing-card:nth-last-child(-n + 3),
.pricing-page .pricing-faq-grid > .pricing-faq-card:nth-last-child(-n + 2) {
  border-bottom: 0 !important;
}

.pricing-page .pricing-faq-grid > .pricing-faq-card:last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
  border-right: 0 !important;
}

.pricing-page .pricing-faq-grid > .pricing-faq-card:last-child:nth-child(odd) {
  border-bottom: 0 !important;
}

.pricing-page .pricing-faq-grid > .pricing-faq-card:last-child:nth-child(odd)::before {
  display: none !important;
}

.pricing-page .pricing-card .primary-lookup-button,
.pricing-page .pricing-card .ghost-nav-button {
  width: auto !important;
  margin-top: 22px !important;
}

.pricing-page .pricing-card .ghost-nav-button {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #152118 !important;
}

.pricing-page .pricing-card .primary-lookup-button {
  min-height: 48px !important;
}

.pricing-page .section-heading {
  margin-bottom: 36px !important;
}

.pricing-page .section-heading h2,
.legal-page .pricing-hero h1 {
  font-size: clamp(2.8rem, 5vw, 4.6rem) !important;
  line-height: 0.98 !important;
}

.legal-page .legal-grid {
  margin-top: 24px !important;
}

/* Final responsive pass */
@media (max-width: 1100px) {
  .contact-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .contact-sidebar {
    border-left: 0 !important;
    border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
    padding-left: 0 !important;
    padding-top: 28px !important;
  }

  .address-candidate-head {
    grid-template-columns: 1fr !important;
  }

  .sticky-scenario-header {
    display: none !important;
  }

  body.has-sticky-scenario .address-nav {
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .global-nav {
    height: auto !important;
    gap: 14px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .global-links-right {
    width: auto !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
  }

  .address-main {
    padding: 24px 18px 48px !important;
  }

  body.pricing-page .address-main,
  body.legal-page .address-main {
    width: min(1280px, calc(100vw - 36px)) !important;
    padding: 24px 0 48px !important;
  }

  .landing-section {
    margin-top: 56px !important;
  }

  .hero-shell,
  .two-column-section,
  .feature-grid,
  .pricing-grid,
  .pricing-faq-grid,
  .analysis-layout,
  .analysis-layout.modal-analysis-layout,
  .dual-insight-grid,
  .insight-grid,
  .processed-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-demo,
  .demo-screen,
  .hero-analysis-card,
  .cashflow-panel,
  .history-card,
  .insight-card,
  .pricing-card,
  .pricing-faq-card {
    min-width: 0 !important;
  }

  .hero-demo-video {
    min-height: 0 !important;
  }

  .demo-stat-grid,
  .quick-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .audience-grid,
  .data-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  div.data-spec-grid > div.spec-cell,
  div.audience-grid > div {
    border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  div.data-spec-grid > div.spec-cell:nth-child(even),
  div.audience-grid > div:nth-child(even) {
    border-right: 0 !important;
  }

  .analysis-layout.modal-analysis-layout {
    gap: 28px !important;
    margin-top: 40px !important;
  }

  .analysis-main,
  .analysis-sidebar,
  .detail-main,
  .detail-sidebar {
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
  }

  .analysis-sidebar,
  .analysis-sidebar.modal-detail-sidebar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    position: static !important;
    top: auto !important;
  }

  .analysis-support-grid {
    grid-template-columns: 1fr !important;
  }

  .analysis-support-grid > .sidebar-card {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  }

  .analysis-support-grid > .sidebar-card:last-child {
    border-bottom: 0 !important;
  }

  .summary-head,
  main.address-main .analysis-layout.modal-analysis-layout .summary-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .price-block,
  main.address-main .analysis-layout.modal-analysis-layout .price-block {
    text-align: left !important;
    justify-self: start !important;
  }

  .property-image {
    height: 240px !important;
  }

  .cashflow-grid,
  .cashflow-panel .cashflow-grid {
    grid-template-columns: 1fr !important;
  }

  .history-chart-meta {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .history-chart-meta span {
    width: auto !important;
  }

  .composition-grid {
    grid-template-columns: 1fr !important;
  }
  
  .composition-grid::before,
  .composition-grid::after {
    display: none !important;
  }

  .composition-grid-item {
    padding: 16px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  }

  .composition-grid-item:last-child {
    border-bottom: 0 !important;
  }

  .site-footer-inner {
    grid-template-columns: 1fr !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .site-footer-links {
    justify-content: flex-start !important;
  }

  .pricing-page .pricing-grid {
    grid-template-columns: 1fr !important;
  }

  .pricing-page .pricing-faq-grid {
    grid-template-columns: 1fr !important;
  }

  .pricing-page .pricing-faq-grid::before {
    display: none !important;
  }

  .pricing-page .pricing-card,
  .pricing-page .pricing-faq-card {
    border-right: 0 !important;
  }

  .pricing-page .pricing-grid > .pricing-card,
  .pricing-page .pricing-faq-grid > .pricing-faq-card {
    border-bottom: 1px solid rgba(21, 33, 24, 0.08) !important;
  }

  .pricing-page .pricing-grid > .pricing-card:last-child,
  .pricing-page .pricing-faq-grid > .pricing-faq-card:last-child {
    border-bottom: 0 !important;
  }

  .legal-page .legal-grid,
  .legal-page .pricing-hero {
    max-width: none !important;
  }
}

@media (max-width: 760px) {
  :root {
    --mobile-page-gutter: 16px;
  }

  .address-app-shell {
    background: #ffffff !important;
  }

  .site-footer {
    margin-top: 0 !important;
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .contact-panel {
    padding: 22px 0 !important;
  }

  .contact-actions {
    align-items: flex-start !important;
  }

  .contact-actions .primary-lookup-button {
    width: auto !important;
  }

  .address-candidate-panel {
    margin-top: 14px !important;
    margin-bottom: 24px !important;
    padding-top: 14px !important;
  }

  .address-candidate-list {
    grid-template-columns: 1fr !important;
  }

  .address-candidate-item {
    border-right: 0 !important;
    padding: 14px 0 16px !important;
  }

  .global-nav {
    padding-left: var(--mobile-page-gutter) !important;
    padding-right: var(--mobile-page-gutter) !important;
    gap: 12px !important;
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
  }

  .address-nav {
    position: static !important;
    top: auto !important;
  }

  .brand {
    align-items: flex-start !important;
  }

  .brand > div > span {
    display: none !important;
  }

  .nav-link-pill,
  .nav-google-button,
  .nav-text-button,
  .nav-pro-button {
    min-height: 42px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    font-size: 0.92rem !important;
  }

  .address-main {
    padding: 18px var(--mobile-page-gutter) 0 !important;
  }

  body.pricing-page .address-main,
  body.legal-page .address-main {
    width: min(1280px, calc(100vw - (var(--mobile-page-gutter) * 2))) !important;
    padding: 18px 0 40px !important;
  }

  body:not(.detail-page) .landing-hero,
  body:not(.detail-page) .section-heading,
  body.contact-page .legal-hero,
  body.contact-page .contact-layout,
  body.legal-page .pricing-hero,
  body.legal-page .legal-grid,
  body.pricing-page .pricing-hero,
  body.pricing-page .pricing-grid,
  body.pricing-page .pricing-faq-grid {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .landing-hero {
    padding-top: 18px !important;
  }

  .landing-hero h1,
  .hero-copy h1,
  .pricing-hero h1 {
    font-size: clamp(2.15rem, 10vw, 3rem) !important;
    line-height: 1.02 !important;
  }

  .hero-shell {
    margin-top: 42px !important;
    padding-top: 0 !important;
  }

  .hero-copy .eyebrow {
    margin-top: 0 !important;
  }

  .hero-text,
  .section-heading p:last-child,
  .pricing-hero p:last-child {
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
  }

  .hero-chip-row {
    gap: 8px !important;
  }

  .hero-chip-row span {
    font-size: 0.82rem !important;
  }

  body.home-page .hero-copy h1 {
    font-size: 3rem !important;
  }

  body.home-page .hero-search-shell {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  body.home-page .hero-search-shell input {
    display: block !important;
    width: 100% !important;
    height: 58px !important;
    padding: 0 18px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.04) !important;
  }

  body.home-page .hero-search-shell .primary-lookup-button {
    width: 100% !important;
    justify-content: center !important;
    min-height: 54px !important;
  }

  body.home-page .hero-search-form {
    display: grid !important;
    gap: 10px !important;
  }

  body.home-page .hero-search-form .autocomplete-panel {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin-top: 2px !important;
  }

  body.home-page #lookup-button {
    width: 100% !important;
  }

  .feature-grid,
  .pricing-grid,
  .pricing-faq-grid,
  .audience-grid,
  .data-spec-grid,
  .quick-stat-grid,
  .processed-grid,
  .insight-grid,
  .dual-insight-grid,
  .demo-card-row,
  .demo-stat-grid,
  .demo-tile-grid {
    grid-template-columns: 1fr !important;
  }

  .analysis-sidebar,
  .analysis-sidebar.modal-detail-sidebar {
    grid-template-columns: 1fr !important;
  }

  .analysis-support-grid > .sidebar-card {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  div.data-spec-grid > div.spec-cell,
  div.feature-grid > *,
  div.pricing-grid > *,
  .quick-stat-card,
  .processed-card,
  .insight-grid > .insight-card,
  .dual-insight-grid > .history-card,
  .dual-insight-grid > .insight-card {
    border-right: 0 !important;
  }

  div.data-spec-grid > div.spec-cell,
  .quick-stat-card,
  .processed-card {
    padding: 22px 18px !important;
  }

  .hero-analysis-content,
  .cashflow-panel,
  .modal-overview-card,
  .insight-card,
  .history-card {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .property-image {
    height: 220px !important;
  }

  .summary-stats {
    gap: 6px !important;
  }

  .tag-row {
    gap: 8px !important;
  }

  .detail-favorite-button {
    width: 42px !important;
    height: 42px !important;
  }

  body.detail-page .address-nav {
    gap: 14px !important;
  }

  body.detail-page .global-links-right {
    justify-content: space-between !important;
  }

  body.detail-page .detail-hero-search-wrap {
    margin-top: 24px !important;
  }

  .history-chart-meta {
    grid-template-columns: 1fr !important;
  }

  .history-chart {
    min-height: 220px !important;
  }

  .site-footer {
    margin-top: 0 !important;
    border-top: 0 !important;
  }

  .site-footer-inner {
    padding: 40px var(--mobile-page-gutter) 100px !important;
    gap: 14px !important;
  }

  .site-footer-links {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .site-footer-links a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 1.38rem !important;
  }

  .legal-card {
    padding: 22px 18px !important;
  }

  /* Undo fixed wireframe constraints that break mobile */
  body::before {
    display: none !important;
  }
  
  .two-column-section {
    flex-wrap: wrap !important;
  }

  .why-card, .audience-card, .audience-grid {
    width: 100% !important;
    border-right: none !important;
  }
  
  /* --- Global Scroll & Width Normalization --- */
  html, body {
    overflow-x: hidden !important;
    position: relative !important;
    width: 100% !important;
    -webkit-text-size-adjust: 100%;
  }

  /* Force all main containers to respect viewport width */
  .address-app-shell,
  .address-main,
  .hero-shell,
  .landing-section,
  .analysis-layout,
  main.address-main,
  section.landing-hero,
  section.analysis-layout,
  article.analysis-main {
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Section Dividers & Padding Normalization */
  section.landing-hero {
    padding-top: 28px !important;
    padding-bottom: 12px !important; /* Less space before map */
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  .hero-analysis-card {
    padding-top: 0 !important; /* Map should touch the top section divider */
    padding-bottom: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  .cashflow-panel,
  .result-overview-card,
  .dual-insight-grid,
  .insight-grid,
  .processed-grid,
  .sidebar-card,
  .landing-section {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    margin-bottom: 0 !important;
  }

  body:not(.detail-page) .address-main > .landing-section:last-child,
  body.account-page .address-main > .landing-section:last-child {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  body.home-page .address-main > .landing-section::before {
    display: none !important;
  }

  body.home-page .landing-section.two-column-section {
    border-top: 0 !important;
  }

  /* Fix for sneaky search box min-width and squashing */
  .search-box, .detail-nav-search-shell {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* --- Address Title Cutoff Fix --- */
  #result-address {
    font-size: 2.15rem !important; /* Fixed size for mobile reliability */
    letter-spacing: -0.015em !important;
    line-height: 1.15 !important;
    margin-top: 14px !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    display: block !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important; /* Ensure wrapping */
    text-align: left !important;
  }

  #result-subtitle {
    font-size: 0.95rem !important;
    text-align: left !important;
    line-height: 1.5 !important;
    color: #666 !important;
  }

  /* --- Hero Analysis Section (Map + Info) --- */
  .hero-analysis-card {
    flex-direction: column !important;
    background: #ffffff !important;
    min-height: 0 !important;
    border-top: 0 !important;
  }

  .property-image.demo-image {
    width: 100% !important;
    height: 180px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  }
  
  .hero-analysis-content {
    width: 100% !important;
    padding: 32px 20px !important;
    background: #fdfcfb !important;
  }

  /* Price Block Normalization */
  .price-block {
    margin-top: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }

  .price-block span {
    font-size: 0.88rem !important;
    color: #888 !important;
  }

  .price-block strong {
    font-size: 2.4rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    color: #111 !important;
  }

  /* --- Cashflow & Control Panels --- */
  .cashflow-panel {
    background: #ffffff !important;
    padding: 40px 20px !important;
  }

  .panel-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 32px !important;
  }

  .scenario-controls-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 12px !important;
  }

  .scenario-control {
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 16px !important;
    margin-bottom: 12px !important;
    background: #fdfcfb !important;
    padding: 20px !important;
    width: 100% !important;
  }

  .scenario-control span {
    width: 100% !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.02em !important;
  }

  .scenario-control input[type="range"] {
    margin-top: 14px !important;
  }

  /* Grids & Cards */
  .chart-card {
    padding: 32px 20px !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    margin-bottom: 24px !important;
  }

  .fact-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .fact-row {
    padding: 16px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    display: flex !important;
    justify-content: space-between !important;
  }

  .fact-row:last-child {
    border-bottom: 0 !important;
  }

  /* Fix for sidebar metric cards internal padding */
  .sidebar-card {
    padding: 40px 20px !important;
    background: #ffffff !important;
  }

  .snapshot-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 24px !important;
  }

  .snapshot-card {
    padding: 20px !important;
    background: #fdfcfb !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    border-radius: 16px !important;
  }

  /* Stats below hero */
  .summary-stats {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    border-top: 1px solid rgba(0,0,0,0.06) !important;
    padding-top: 20px !important;
    margin-top: 24px !important;
  }

  .summary-stats > div {
    background: #fdfcfb !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    padding: 14px !important;
    border-radius: 12px !important;
  }

  .why-card,
  .section-heading,
  div.audience-grid > div.spec-cell,
  div.data-spec-grid > div.spec-cell,
  div.demo-tile,
  div.hero-copy,
  div.demo-topline,
  div.demo-title-row,
  div.demo-stat-grid > div,
  div.demo-chart-card,
  div.demo-card-row > .demo-mini-card {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Final subpage gutter normalization */
body.pricing-page .address-main,
body.legal-page .address-main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-top: 40px !important;
  padding-bottom: 56px !important;
  padding-left: max(32px, calc(50vw - 640px)) !important;
  padding-right: max(32px, calc(50vw - 640px)) !important;
}

body.pricing-page .pricing-hero,
body.pricing-page .section-heading,
body.pricing-page .pricing-grid,
body.pricing-page .pricing-faq-grid,
body.legal-page .pricing-hero,
body.legal-page .legal-grid {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.legal-page .legal-hero,
body.legal-page .legal-grid {
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 1100px) {
  body.pricing-page .address-main,
  body.legal-page .address-main {
    padding-top: 28px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (max-width: 760px) {
  body.pricing-page .address-main,
  body.legal-page .address-main {
    padding-top: 18px !important;
    padding-bottom: 40px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Final 30px desktop gutter standard */
:root {
  --desktop-frame-gutter: max(30px, calc(50vw - 610px));
}

.global-nav {
  padding-left: var(--desktop-frame-gutter) !important;
  padding-right: var(--desktop-frame-gutter) !important;
}

.site-footer-inner {
  padding-left: var(--desktop-frame-gutter) !important;
  padding-right: var(--desktop-frame-gutter) !important;
}

body.pricing-page .address-main,
body.legal-page .address-main {
  padding-left: var(--desktop-frame-gutter) !important;
  padding-right: var(--desktop-frame-gutter) !important;
}

@media (max-width: 1100px) {
  :root {
    --desktop-frame-gutter: 20px;
  }
}

@media (max-width: 760px) {
  :root {
    --desktop-frame-gutter: 16px;
  }
}

body.home-page .section-heading {
  padding-left: var(--desktop-frame-gutter) !important;
  padding-right: var(--desktop-frame-gutter) !important;
}

body.home-page div.feature-grid > *,
body.home-page .why-card,
body.home-page div.audience-grid > div,
body.home-page div.demo-topline,
body.home-page div.demo-title-row,
body.home-page div.demo-stat-grid > div,
body.home-page div.demo-chart-card,
body.home-page div.demo-card-row > .demo-mini-card,
body.home-page div.demo-tile {
  padding-left: var(--desktop-frame-gutter) !important;
  padding-right: var(--desktop-frame-gutter) !important;
}

@media (max-width: 760px) {
  body.home-page .section-heading {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.home-page div.feature-grid > *,
  body.home-page .why-card,
  body.home-page div.audience-grid > div,
  body.home-page div.demo-topline,
  body.home-page div.demo-title-row,
  body.home-page div.demo-stat-grid > div,
  body.home-page div.demo-chart-card,
  body.home-page div.demo-card-row > .demo-mini-card,
  body.home-page div.demo-tile {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (max-width: 1100px) {
  body:not(.pricing-page):not(.legal-page) .analysis-support-grid {
    grid-template-columns: 1fr !important;
  }

  body:not(.pricing-page):not(.legal-page) .analysis-support-grid > .sidebar-card {
    border-right: 0 !important;
  }
}

@media (min-width: 1101px) {
  /* Final detail layout normalization */
  body:not(.pricing-page):not(.legal-page) .analysis-layout.modal-analysis-layout {
  display: block !important;
  grid-template-columns: none !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-main.modal-detail-main {
  width: 100% !important;
  max-width: none !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-bottom: 0 !important;
  border-top: 1px solid rgba(21, 33, 24, 0.08) !important;
  align-items: start !important;
  padding-top: 22px !important;
  position: relative !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid > .sidebar-card {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  align-self: start !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid > .sidebar-card:last-child {
  border-right: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid::before,
body:not(.pricing-page):not(.legal-page) .analysis-support-grid::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: rgba(21, 33, 24, 0.08) !important;
  pointer-events: none !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid::before {
  left: 33.333333% !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid::after {
  left: 66.666666% !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid .assumption-list,
body:not(.pricing-page):not(.legal-page) .analysis-support-grid .snapshot-grid {
  gap: 0 !important;
  margin-top: 14px !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid .assumption-item,
body:not(.pricing-page):not(.legal-page) .analysis-support-grid .snapshot-grid .snapshot-card {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid .assumption-item,
body:not(.pricing-page):not(.legal-page) .analysis-support-grid .snapshot-grid > div {
  padding: 14px 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid .assumption-list {
  border-top: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid .assumption-item {
  border-bottom: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid .snapshot-grid {
  border-top: 0 !important;
  gap: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid .snapshot-grid > div {
  border-right: 0 !important;
  border-bottom: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .analysis-support-grid .snapshot-grid > div:nth-child(2n) {
  border-right: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-panel {
  max-width: 1280px !important;
  margin: 24px auto 32px !important;
  padding: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-head {
  padding: 24px 30px 18px !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-head .card-label {
  margin: 0 !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-list {
  padding: 0 30px !important;
}

body:not(.pricing-page):not(.legal-page) .address-candidate-item {
  padding: 22px 0 !important;
}
}

@media (max-width: 760px) {
  body:not(.pricing-page):not(.legal-page) .address-candidate-head {
    padding: 18px 20px 14px !important;
  }

  body:not(.pricing-page):not(.legal-page) .address-candidate-list {
    padding: 0 20px !important;
  }

  /* --- Comprehensive Detail View Mobile Fixes --- */
  .hero-analysis-card {
    flex-direction: column !important;
    min-height: 0 !important;
  }

  .property-image.demo-image {
    width: 100% !important;
    height: 240px !important;
    border-right: 0 !important;
  }
  
  .hero-analysis-content {
    width: 100% !important;
    padding: 24px 18px !important;
  }

  .summary-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  /* Fix for huge squashed address */
  #result-address {
    font-size: clamp(1.8rem, 8vw, 2.4rem) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    margin-top: 12px !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  .price-block {
    margin-top: 24px !important;
  }

  .price-block strong {
    font-size: 2.15rem !important;
  }

  .cashflow-panel {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .panel-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  .chart-card {
    padding: 24px 18px !important;
  }

  .chart-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  .history-stat {
    width: 100% !important;
    justify-content: space-between !important;
    border-top: 1px solid rgba(0,0,0,0.06) !important;
    padding-top: 12px !important;
    margin-top: 12px !important;
  }

  .fact-grid {
    grid-template-columns: 1fr !important;
  }

  /* Fix for sidebar metric cards internal padding */
  .sidebar-card {
    padding: 28px 18px !important;
  }

  .snapshot-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .scenario-controls-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

  .scenario-control span {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
  }
}

/* Final detail-page mobile cleanup */
.summary-stat-card {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}

.summary-stat-label {
  color: #425144;
  font-size: 0.84rem;
  line-height: 1.3;
}

.summary-stat-card strong {
  display: inline;
  margin-top: 0;
  color: var(--text);
  font-size: 0.96rem;
  line-height: 1.2;
}

@media (max-width: 760px) {
  body.detail-page {
    --detail-mobile-gutter: 18px;
  }

  body.detail-page .address-main {
    padding: 0 !important;
  }

  body.detail-page .landing-hero {
    padding: 24px var(--detail-mobile-gutter) 0 !important;
    text-align: left !important;
  }

  body.detail-page .analysis-layout.modal-analysis-layout {
    margin-top: 0 !important;
    gap: 0 !important;
  }

  body.detail-page .detail-hero-search-wrap {
    margin-top: 18px !important;
  }

  body.detail-page .detail-nav-search-shell {
    padding: 6px !important;
  }

  body.detail-page .detail-nav-search-shell input {
    padding-left: 14px !important;
  }

  body.detail-page .sticky-scenario-header {
    display: none !important;
  }

  body.detail-page.has-sticky-scenario .address-nav,
  body.has-sticky-scenario.detail-page .address-nav {
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.detail-page .hero-analysis-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: #ffffff !important;
  }

  body.detail-page .property-image.demo-image {
    width: 100% !important;
    height: 156px !important;
    min-height: 156px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  }

  body.detail-page .hero-analysis-content {
    width: 100% !important;
    padding: 20px var(--detail-mobile-gutter) 22px !important;
    background: #ffffff !important;
  }

  body.detail-page .summary-head,
  body.detail-page .summary-head-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.detail-page .summary-head h3,
  body.detail-page #detail-address {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.22 !important;
    word-break: break-word !important;
  }

  body.detail-page .price-block {
    width: 100% !important;
    margin-top: 4px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    text-align: left !important;
  }

  body.detail-page .price-block strong {
    font-size: 2rem !important;
  }

  body.detail-page .summary-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 18px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  body.detail-page .summary-stat-card {
    display: grid !important;
    gap: 4px !important;
    padding: 12px !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 12px !important;
    background: #fcfaf7 !important;
  }

  body.detail-page .summary-stat-label {
    font-size: 0.72rem !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #6b7280 !important;
  }

  body.detail-page .summary-stat-card strong {
    display: block !important;
    font-size: 1rem !important;
  }

  body.detail-page .listing-copy {
    display: block !important;
    margin-top: 16px !important;
    line-height: 1.58 !important;
    font-size: 0.92rem !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
  }

  body.detail-page .tag-row {
    gap: 8px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  }

  body.detail-page .tag-row span {
    max-width: 100% !important;
    white-space: normal !important;
  }

  body.detail-page .cashflow-panel {
    padding: 32px var(--detail-mobile-gutter) !important;
    background: #ffffff !important;
  }

  body.detail-page .panel-top {
    padding: 0 0 24px !important;
    margin-bottom: 24px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  body.detail-page .ai-brief {
    margin: 0 !important;
    padding: 4px 0 32px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  body.detail-page .scenario-controls {
    margin-top: 24px !important;
    border-top: 0 !important;
  }

  body.detail-page .scenario-controls-head {
    padding: 0 0 18px !important;
  }

  body.detail-page .scenario-controls-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  body.detail-page .scenario-control,
  body.detail-page .scenario-control:nth-child(odd),
  body.detail-page .scenario-control:nth-child(even) {
    padding: 14px !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 14px !important;
    background: #fcfaf7 !important;
  }

  body.detail-page .scenario-control span {
    align-items: flex-start !important;
  }

  body.detail-page .scenario-control strong {
    text-align: right !important;
  }

  body.detail-page .chart-card {
    margin: 0 !important;
    padding: 24px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.detail-page .cashflow-grid {
    gap: 0 !important;
  }

  body.detail-page .cashflow-grid > div,
  body.detail-page .cashflow-grid > article,
  body.detail-page .cashflow-grid > section {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 18px 0 !important;
  }

  body.detail-page .cashflow-grid > div + div,
  body.detail-page .cashflow-grid > div + article,
  body.detail-page .cashflow-grid > div + section,
  body.detail-page .cashflow-grid > article + div,
  body.detail-page .cashflow-grid > article + article,
  body.detail-page .cashflow-grid > article + section,
  body.detail-page .cashflow-grid > section + div,
  body.detail-page .cashflow-grid > section + article,
  body.detail-page .cashflow-grid > section + section {
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  body.detail-page .quick-stat-grid,
  body.detail-page .processed-grid,
  body.detail-page .insight-grid,
  body.detail-page .dual-insight-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  body.detail-page .quick-stat-card,
  body.detail-page .processed-card,
  body.detail-page .dual-insight-grid > .history-card,
  body.detail-page .dual-insight-grid > .insight-card,
  body.detail-page .insight-grid > .insight-card {
    padding: 18px var(--detail-mobile-gutter) !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 0 !important;
  }

  body.detail-page .quick-stat-card:last-child,
  body.detail-page .processed-card:last-child,
  body.detail-page .dual-insight-grid > .insight-card:last-child,
  body.detail-page .insight-grid > .insight-card:last-child {
    border-bottom: 0 !important;
  }

  body.detail-page .analysis-support-grid {
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-bottom: 0 !important;
  }

  body.detail-page .analysis-support-grid > .sidebar-card {
    padding: 24px var(--detail-mobile-gutter) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: #ffffff !important;
  }

  body.detail-page .result-overview-top {
    padding: 24px var(--detail-mobile-gutter) 18px !important;
  }

  body.detail-page .analysis-support-grid > .sidebar-card:last-child {
    border-bottom: 0 !important;
  }

  body.detail-page .fact-grid {
    gap: 0 !important;
  }

  body.detail-page .fact-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    align-items: start !important;
    padding: 14px 0 !important;
    border-bottom: 0 !important;
  }

  body.detail-page .fact-row strong {
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }

  body.detail-page .timeline-item {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 14px 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    border-bottom: 0 !important;
  }

  body.detail-page .timeline-body p {
    margin-top: 6px !important;
  }

  body.detail-page .history-stat {
    text-align: left !important;
  }

  body.detail-page .history-chart {
    min-height: 220px !important;
  }

  body.detail-page .snapshot-grid,
  body.detail-page .assumption-list {
    gap: 12px !important;
    margin-top: 16px !important;
  }

  body.detail-page .snapshot-card,
  body.detail-page .assumption-item {
    border-radius: 14px !important;
  }
}
