.land-hero h1 em { color: var(--orange); font-style: normal; }
.land-calculator-layout { padding: 20px 0 90px; display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 30px; align-items: start; }
.land-form-card .card-heading h2 { margin: 0; font-size: 30px; }
.land-form-card fieldset { margin: 0; padding: 20px 0 4px; display: grid; gap: 14px; border: 0; border-top: 1px solid var(--line); }
.land-form-card legend { padding: 0 12px 0 0; color: var(--ink); font-size: 13px; font-weight: 850; }
.select-wrap select { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; font-weight: 700; }
.check-label { min-height: 48px; padding: 10px 14px; display: flex !important; grid-template-columns: 20px 1fr; align-items: center; gap: 10px !important; background: #f5f2eb; border-radius: 12px; color: var(--ink) !important; }
.check-label input { width: 18px; height: 18px; accent-color: var(--orange-dark); }
.field-note { margin: -2px 0 8px; color: var(--muted); font-size: 12px; }
.form-error { margin: 15px 0 0; padding: 12px 14px; background: #ffe3dc; color: #8f2b0b; border-radius: 10px; font-size: 13px; font-weight: 700; }
.land-explainer { position: sticky; top: 24px; padding: 32px; background: var(--green); color: white; border-radius: 24px; }
.land-explainer h2 { margin-bottom: 26px; font-size: 34px; }
.land-explainer ol { margin: 0; padding: 0; display: grid; gap: 18px; list-style: none; counter-reset: steps; }
.land-explainer li { display: grid; grid-template-columns: 30px 1fr; column-gap: 10px; counter-increment: steps; }
.land-explainer li::before { content: counter(steps); grid-row: span 2; width: 26px; height: 26px; display: grid; place-items: center; background: var(--orange); border-radius: 50%; color: white; font-size: 12px; font-weight: 900; }
.land-explainer li span { color: #cbd9d2; font-size: 13px; }
.land-explainer small { display: block; margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); color: #cbd9d2; }
.land-results { padding: 85px 0 130px; border-top: 1px solid var(--line); scroll-margin-top: 20px; }
.result-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; }
.result-overview h2 { margin-bottom: 14px; font-size: clamp(44px, 6vw, 72px); }
.result-overview > div > p:last-child { max-width: 580px; margin: 0; color: var(--muted); }
.result-metrics { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.result-metrics div { padding: 20px 15px; background: var(--paper); }
.result-metrics div + div { border-left: 1px solid var(--line); }
.result-metrics dt { color: var(--muted); font-size: 11px; }
.result-metrics dd { margin: 5px 0 0; font-size: 21px; font-weight: 850; letter-spacing: -.03em; }
.scenario-grid { margin-top: 42px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.scenario-card { padding: 28px; display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: 22px; }
.scenario-card[data-fit="good"] { border-top: 5px solid var(--green); }
.scenario-card[data-fit="tight"] { border-top: 5px solid #d99520; }
.scenario-card[data-fit="poor"] { border-top: 5px solid #b94c36; }
.scenario-kicker { margin: 0 0 6px; color: var(--orange-dark); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.scenario-card h3 { margin-bottom: 5px; font-size: 34px; }
.scenario-type { margin: 0 0 22px; color: var(--muted); font-size: 13px; }
.scenario-space { margin: 0 0 22px; padding: 18px; background: #edf1e9; border-radius: 14px; }
.scenario-space strong { display: block; font-size: 27px; }
.scenario-space span { color: var(--muted); font-size: 12px; }
.scenario-card ul { margin: 0 0 24px; padding-left: 18px; color: var(--muted); font-size: 13px; }
.scenario-card li + li { margin-top: 7px; }
.fit-label { margin-top: auto; padding: 9px 12px; border-radius: 99px; background: #e5ebe1; color: var(--green); font-size: 12px; font-weight: 850; text-align: center; }
.scenario-card[data-fit="tight"] .fit-label { background: #fff0cf; color: #85560b; }
.scenario-card[data-fit="poor"] .fit-label { background: #ffe1da; color: #8f2b0b; }
.recommendation-box { margin-top: 22px; padding: 34px; display: grid; grid-template-columns: 1fr 260px; gap: 30px; align-items: center; background: var(--green); color: white; border-radius: 24px; }
.recommendation-box h3 { margin-bottom: 10px; font-size: 32px; }
.recommendation-box p:not(.eyebrow) { margin: 0; color: #cbd9d2; }
.recommendation-box .button { background: var(--orange); color: #20140f; }
.recommendation-box .result-share-feedback { color: #cbd9d2; }
.land-disclaimer { margin-top: 22px; padding: 22px 25px; display: grid; grid-template-columns: 170px 1fr; gap: 20px; background: #eee8dc; border-radius: 18px; }
.land-disclaimer p { margin: 0; color: var(--muted); font-size: 13px; }

@media (max-width: 900px) {
  .land-calculator-layout, .result-overview, .scenario-grid, .recommendation-box { grid-template-columns: 1fr; }
  .land-explainer { position: static; }
  .result-overview { gap: 28px; }
  .scenario-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .land-calculator-layout { padding-bottom: 70px; }
  .land-results { padding: 70px 0 90px; }
  .result-metrics, .scenario-grid { grid-template-columns: 1fr; }
  .result-metrics div + div { border-left: 0; border-top: 1px solid var(--line); }
  .scenario-card { padding: 24px 20px; }
  .recommendation-box { padding: 26px 20px; }
  .land-disclaimer { grid-template-columns: 1fr; gap: 8px; }
}
