/* ============================================================
   KVO LAND HOMEPAGE v1.1
   Visual language: digital land registry / survey grid / civic system
   ============================================================ */

:root {
  --kvo-bg: #090c0a;
  --kvo-bg-2: #0f130f;
  --kvo-panel: #111612;
  --kvo-paper: #e7e4d7;
  --kvo-muted: #9aa096;
  --kvo-line: rgba(231,228,215,.14);
  --kvo-line-strong: rgba(231,228,215,.28);
  --kvo-mark: #d8ff63;
  --kvo-mark-soft: rgba(216,255,99,.09);
  --kvo-max: 1320px;
  --kvo-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --kvo-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }

.kvo-homepage,
.kvo-homepage * { box-sizing: border-box; }

.kvo-homepage {
  width: 100%;
  overflow: hidden;
  background: var(--kvo-bg);
  color: var(--kvo-paper);
  font-family: var(--kvo-sans);
}

.kvo-homepage a { color: inherit; }

/* ---------- HERO ---------- */

.kvo-home-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  padding: 110px 28px 92px;
  border-bottom: 1px solid var(--kvo-line-strong);
  background:
    linear-gradient(rgba(216,255,99,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(216,255,99,.035) 1px, transparent 1px),
    radial-gradient(circle at 68% 36%, rgba(216,255,99,.08), transparent 30%),
    var(--kvo-bg);
  background-size: 42px 42px, 42px 42px, auto, auto;
}

.kvo-home-hero::before {
  content: "KVO";
  position: absolute;
  right: -3vw;
  top: 8vh;
  font-size: min(38vw, 590px);
  font-weight: 800;
  line-height: .74;
  letter-spacing: -.1em;
  color: rgba(231,228,215,.018);
  pointer-events: none;
}

.kvo-home-hero::after {
  content: "PUBLIC TERRITORY  /  ORIGIN REGISTRY KVO-0001";
  position: absolute;
  top: 24px;
  left: 28px;
  right: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--kvo-line);
  color: var(--kvo-muted);
  font-family: var(--kvo-mono);
  font-size: .68rem;
  letter-spacing: .1em;
}

.kvo-home-hero__inner {
  position: relative;
  z-index: 2;
  width: min(100%, var(--kvo-max));
  margin: 0 auto;
  text-align: left;
}

.kvo-home-eyebrow {
  margin-bottom: 16px;
  color: var(--kvo-mark);
  font-family: var(--kvo-mono);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.kvo-home-hero__title {
  margin: 0;
  max-width: 1000px;
  color: var(--kvo-paper);
  font-size: clamp(5.5rem, 14vw, 12rem);
  font-weight: 670;
  line-height: .76;
  letter-spacing: -.085em;
}

.kvo-home-hero__title::after {
  content: "DIGITAL LAND SYSTEM";
  display: block;
  margin-top: 28px;
  color: var(--kvo-mark);
  font-family: var(--kvo-mono);
  font-size: .72rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .18em;
}

.kvo-home-hero__lead {
  max-width: 760px;
  margin: 48px 0 0;
  color: var(--kvo-muted);
  font-size: clamp(1.05rem, 1.9vw, 1.35rem);
  line-height: 1.8;
}

.kvo-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 40px;
}

.kvo-home-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 1px solid var(--kvo-line-strong);
  border-radius: 0;
  background: rgba(255,255,255,.015);
  color: var(--kvo-paper) !important;
  font-family: var(--kvo-mono);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: .18s ease;
}

.kvo-home-button:hover {
  border-color: var(--kvo-mark);
  background: var(--kvo-mark-soft);
  transform: translateY(-1px);
}

.kvo-home-button--primary {
  border-color: var(--kvo-mark);
  background: var(--kvo-mark);
  color: var(--kvo-bg) !important;
}

/* ---------- SHARED SECTIONS ---------- */

.kvo-home-section {
  position: relative;
  padding: 96px 28px;
  border-top: 1px solid var(--kvo-line);
  background: var(--kvo-bg);
}

.kvo-home-section:nth-of-type(odd) { background: var(--kvo-bg-2); }

.kvo-home-section__inner {
  width: min(100%, var(--kvo-max));
  margin: 0 auto;
}

.kvo-home-section__header {
  position: relative;
  max-width: 820px;
  margin-bottom: 46px;
  padding-top: 34px;
}

.kvo-home-section__header::before {
  content: "REGISTERED PUBLIC VIEW";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--kvo-muted);
  font-family: var(--kvo-mono);
  font-size: .62rem;
  letter-spacing: .12em;
}

.kvo-home-section__title {
  margin: 0;
  color: var(--kvo-paper);
  font-size: clamp(2.8rem, 5.6vw, 5.8rem);
  font-weight: 620;
  line-height: .94;
  letter-spacing: -.055em;
}

.kvo-home-section__description {
  max-width: 720px;
  margin: 20px 0 0;
  color: var(--kvo-muted);
  font-size: 1rem;
  line-height: 1.75;
}

/* ---------- LAND / NAVIGATOR ---------- */

.kvo-home-land {
  counter-reset: none;
}

.kvo-home-land::before {
  content: "01 / LAND SURVEY";
  position: absolute;
  top: 28px;
  left: max(28px, calc((100vw - var(--kvo-max)) / 2));
  color: var(--kvo-mark);
  font-family: var(--kvo-mono);
  font-size: .68rem;
  letter-spacing: .12em;
}

.kvo-home-land__navigator {
  position: relative;
  padding: 40px;
  border: 1px solid var(--kvo-line-strong);
  background:
    linear-gradient(rgba(231,228,215,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231,228,215,.035) 1px, transparent 1px),
    #0c100d;
  background-size: 36px 36px;
  overflow: hidden;
}

.kvo-home-land__navigator::before,
.kvo-home-land__navigator::after {
  content: "";
  position: absolute;
  z-index: 0;
  background: rgba(216,255,99,.18);
  pointer-events: none;
}

.kvo-home-land__navigator::before {
  left: 50%;
  top: 7%;
  bottom: 7%;
  width: 1px;
}

.kvo-home-land__navigator::after {
  top: 50%;
  left: 7%;
  right: 7%;
  height: 1px;
}

.kvo-home-land .kvo-land-navigator {
  position: relative;
  z-index: 1;
  min-height: 590px;
  width: 100%;
}

.kvo-home-land .kvo-land-navigator__focus,
.kvo-home-land .kvo-land-navigator__node {
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--kvo-mono);
}

.kvo-home-land .kvo-land-navigator__focus {
  min-width: 230px;
  min-height: 145px;
  padding: 22px;
  border: 1px solid var(--kvo-mark);
  background: #111710;
}

.kvo-home-land .kvo-land-navigator__focus::before {
  content: "FOCUS / DEVELOPED";
  position: absolute;
  top: -11px;
  left: 12px;
  padding: 3px 7px;
  background: var(--kvo-mark);
  color: var(--kvo-bg);
  font-size: .6rem;
  letter-spacing: .09em;
}

.kvo-home-land .kvo-land-navigator__focus-name {
  color: var(--kvo-paper);
  font-family: var(--kvo-sans);
  font-size: 1.4rem;
  font-weight: 650;
}

.kvo-home-land .kvo-land-navigator__focus-designation {
  margin-top: 8px;
  color: var(--kvo-muted);
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kvo-home-land .kvo-land-navigator__node {
  min-width: 165px;
  min-height: 92px;
  padding: 14px;
  border: 1px dashed var(--kvo-line-strong);
  background: #0b0f0c;
  color: var(--kvo-muted);
}

.kvo-home-land .kvo-land-navigator__letter {
  color: var(--kvo-mark);
  font-size: .72rem;
  letter-spacing: .12em;
}

.kvo-home-land .kvo-land-navigator__undeveloped {
  font-size: .68rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* ---------- TERRITORY PULSE ---------- */

.kvo-home-pulse::before {
  content: "02 / TERRITORY TELEMETRY";
  position: absolute;
  top: 28px;
  left: max(28px, calc((100vw - var(--kvo-max)) / 2));
  color: var(--kvo-mark);
  font-family: var(--kvo-mono);
  font-size: .68rem;
  letter-spacing: .12em;
}

.kvo-home-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  border-top: 1px solid var(--kvo-line-strong);
  border-bottom: 1px solid var(--kvo-line-strong);
}

.kvo-home-metric {
  position: relative;
  min-height: 205px;
  padding: 28px 24px 24px;
  border: 0;
  border-right: 1px solid var(--kvo-line);
  background: transparent;
}

.kvo-home-metric:last-child { border-right: 0; }

.kvo-home-metric::before {
  position: absolute;
  top: 18px;
  right: 18px;
  color: var(--kvo-muted);
  font-family: var(--kvo-mono);
  font-size: .62rem;
  letter-spacing: .1em;
}

.kvo-home-metric:nth-child(1)::before { content: "PLT"; }
.kvo-home-metric:nth-child(2)::before { content: "KNW"; }
.kvo-home-metric:nth-child(3)::before { content: "POP"; }
.kvo-home-metric:nth-child(4)::before { content: "DEV"; }

.kvo-home-metric__value {
  margin-top: 34px;
  color: var(--kvo-paper);
  font-size: clamp(3.8rem, 7vw, 7rem);
  font-weight: 630;
  line-height: .82;
  letter-spacing: -.075em;
}

.kvo-home-metric__label {
  margin-top: 36px;
  color: var(--kvo-muted);
  font-family: var(--kvo-mono);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .09em;
  text-transform: uppercase;
}

/* ---------- ORIGIN PLOT ---------- */

.kvo-home-origin::before {
  content: "03 / PARCEL RECORD";
  position: absolute;
  top: 28px;
  left: max(28px, calc((100vw - var(--kvo-max)) / 2));
  color: var(--kvo-mark);
  font-family: var(--kvo-mono);
  font-size: .68rem;
  letter-spacing: .12em;
}

.kvo-home-origin__intro {
  max-width: 760px;
  margin-bottom: 42px;
}

.kvo-home-origin__intro::after {
  content: "PUBLIC RECORD / READ ONLY";
  display: block;
  margin-top: 30px;
  padding-top: 12px;
  border-top: 1px solid var(--kvo-line);
  color: var(--kvo-muted);
  font-family: var(--kvo-mono);
  font-size: .62rem;
  letter-spacing: .1em;
}

.kvo-home-origin__detail {
  border: 1px solid var(--kvo-line-strong);
  background: var(--kvo-bg-2);
}

.kvo-home-origin__detail .kvo-plot-detail {
  padding: 0;
  border: 0;
  background: transparent;
}

.kvo-home-origin__detail .kvo-plot-detail__name {
  margin: 0;
  padding: 24px 28px;
  border-bottom: 1px solid var(--kvo-line);
  color: var(--kvo-paper);
  font-family: var(--kvo-mono);
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.kvo-home-origin__detail .kvo-plot-detail__name::after {
  content: "  /  KVO-0001";
  color: var(--kvo-mark);
}

.kvo-home-origin__detail .kvo-plot-detail__rows {
  margin: 0;
  padding: 0 28px;
  list-style: none;
}

.kvo-home-origin__detail .kvo-plot-detail__row {
  display: grid;
  grid-template-columns: 210px minmax(0,1fr);
  gap: 30px;
  padding: 16px 0;
  border-bottom: 1px solid var(--kvo-line);
}

.kvo-home-origin__detail .kvo-plot-detail__label {
  color: var(--kvo-muted);
  font-family: var(--kvo-mono);
  font-size: .68rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.kvo-home-origin__detail .kvo-plot-detail__value {
  color: var(--kvo-paper);
  font-weight: 550;
}

.kvo-home-origin__detail .kvo-plot-detail__neighbors {
  margin: 28px;
  padding: 20px;
  border: 1px dashed var(--kvo-line-strong);
}

.kvo-home-origin__detail .kvo-plot-detail__neighbors strong {
  color: var(--kvo-mark);
  font-family: var(--kvo-mono);
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kvo-home-origin__detail .kvo-plot-detail__neighbors ul {
  margin: 16px 0 0;
  color: var(--kvo-muted);
}

/* ---------- ACTIVITY + PROPERTY LEDGERS ---------- */

.kvo-home-activity::before {
  content: "04 / PUBLIC ACTIVITY LEDGER";
  position: absolute;
  top: 28px;
  left: max(28px, calc((100vw - var(--kvo-max)) / 2));
  color: var(--kvo-mark);
  font-family: var(--kvo-mono);
  font-size: .68rem;
  letter-spacing: .12em;
}

.kvo-home-properties::before {
  content: "05 / PROPERTY REGISTRY";
  position: absolute;
  top: 28px;
  left: max(28px, calc((100vw - var(--kvo-max)) / 2));
  color: var(--kvo-mark);
  font-family: var(--kvo-mono);
  font-size: .68rem;
  letter-spacing: .12em;
}

.kvo-home-panel {
  position: relative;
  min-height: 150px;
  padding: 28px;
  border: 1px solid var(--kvo-line-strong);
  background: var(--kvo-bg-2);
}

.kvo-home-panel::before {
  content: "PUBLIC / SANITIZED";
  display: block;
  margin: -28px -28px 26px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--kvo-line);
  color: var(--kvo-muted);
  font-family: var(--kvo-mono);
  font-size: .62rem;
  letter-spacing: .08em;
}

.kvo-home-panel .kvo-empty-state {
  min-height: 90px;
  display: flex;
  align-items: center;
  padding-left: 18px;
  border-left: 2px solid var(--kvo-line-strong);
  color: var(--kvo-muted);
  font-family: var(--kvo-mono);
  font-size: .74rem;
  letter-spacing: .04em;
}

.kvo-home-development-statement {
  margin-top: 72px;
  max-width: none;
  padding: 34px;
  border: 0;
  border-top: 1px solid var(--kvo-mark);
  border-bottom: 1px solid var(--kvo-line-strong);
  background: var(--kvo-mark-soft);
}

.kvo-home-development-statement .kvo-home-eyebrow {
  margin-bottom: 22px;
}

.kvo-home-development-statement p {
  max-width: 900px;
  margin: 0 0 26px;
  color: var(--kvo-paper);
  font-size: 1.05rem;
  line-height: 1.85;
}

.kvo-home-development-statement p::before {
  content: "GROUND → KNOWLEDGE → PROPERTY → ACTIVITY → EXPANSION";
  display: block;
  margin-bottom: 22px;
  color: var(--kvo-mark);
  font-family: var(--kvo-mono);
  font-size: .74rem;
  letter-spacing: .08em;
}

.kvo-unavailable-inline,
.kvo-home-message {
  color: var(--kvo-muted);
  font-family: var(--kvo-mono);
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 980px) {
  .kvo-home-metrics {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .kvo-home-metric:nth-child(2) { border-right: 0; }
  .kvo-home-metric:nth-child(-n+2) { border-bottom: 1px solid var(--kvo-line); }
}

@media (max-width: 720px) {
  .kvo-home-hero {
    min-height: 760px;
    padding: 90px 16px 56px;
  }

  .kvo-home-hero::after {
    left: 16px;
    right: 16px;
    font-size: .58rem;
  }

  .kvo-home-hero__title {
    font-size: clamp(5rem, 24vw, 8rem);
  }

  .kvo-home-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .kvo-home-section {
    padding: 72px 16px;
  }

  .kvo-home-section__title {
    font-size: clamp(2.5rem, 13vw, 4.5rem);
  }

  .kvo-home-land::before,
  .kvo-home-pulse::before,
  .kvo-home-origin::before,
  .kvo-home-activity::before,
  .kvo-home-properties::before {
    left: 16px;
  }

  .kvo-home-land__navigator {
    padding: 16px;
  }

  .kvo-home-land .kvo-land-navigator {
    min-height: 500px;
  }

  .kvo-home-land .kvo-land-navigator__focus {
    min-width: 160px;
    min-height: 116px;
  }

  .kvo-home-land .kvo-land-navigator__node {
    min-width: 92px;
    min-height: 76px;
    padding: 8px;
  }

  .kvo-home-land .kvo-land-navigator__undeveloped {
    font-size: .58rem;
  }

  .kvo-home-metric {
    min-height: 155px;
    padding: 20px 16px 18px;
  }

  .kvo-home-metric__value {
    font-size: clamp(3rem, 16vw, 5rem);
  }

  .kvo-home-metric__label {
    margin-top: 24px;
    font-size: .6rem;
  }

  .kvo-home-origin__detail .kvo-plot-detail__row {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .kvo-home-origin__detail .kvo-plot-detail__rows {
    padding: 0 18px;
  }

  .kvo-home-origin__detail .kvo-plot-detail__neighbors {
    margin: 20px 18px;
  }

  .kvo-home-panel,
  .kvo-home-development-statement {
    padding: 20px;
  }
}
