/* Public land pages (/land, /land/{state}, /land/{state}/{county}) and guides:
   reading pages a buyer lands on from a search result. Same tokens and card
   language as the sale calendar; a narrower measure for prose. */
.ld-page {
  max-width: 1120px;
  margin: 0 auto;
  padding: 16px 0 64px;
  color: var(--lr-ink, #202521);
  font-size: 14px;
  line-height: 1.6;
}
.ld-page a { color: var(--lr-accent, #176f68); }
.ld-crumbs { font-size: 12px; color: var(--lr-muted, #646d61); margin: 0 0 18px; }
.ld-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.ld-crumbs a { display: inline-block; padding: 6px 0; }  /* a target a thumb can hit */
.ld-crumbs li + li::before { content: "›"; margin-right: 6px; color: var(--lr-muted, #646d61); }
.ld-crumbs a { text-decoration: none; }
.ld-crumbs [aria-current] { color: var(--lr-ink, #202521); }

.ld-heading { margin: 0 0 26px; max-width: 760px; }
.ld-eyebrow {
  font-size: 11px; font-weight: 650; letter-spacing: .09em; text-transform: uppercase;
  color: var(--lr-muted, #646d61); margin: 0 0 10px;
}
.ld-heading h1 { font-size: 34px; letter-spacing: -1.2px; line-height: 1.15; margin: 0 0 12px; font-weight: 600; }
.ld-answer { font-size: 17px; line-height: 1.55; margin: 0; color: var(--lr-ink, #202521); }
.ld-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.ld-page .ld-button {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 10px 16px;
  border: 1px solid var(--lr-line, #e7e9e4); border-radius: var(--lr-radius-control, 8px);
  background: #fff; color: var(--lr-ink, #202521); font-weight: 550; text-decoration: none;
}
.ld-page .ld-button:hover { border-color: #92b4a9; background: #f7faf8; }
.ld-page .ld-button.ld-primary { background: var(--lr-accent, #176f68); border-color: var(--lr-accent, #176f68); color: #fff; }
.ld-page .ld-button.ld-primary:hover { background: var(--lr-accent-hover, #10574f); }
.ld-page :is(a, summary):focus-visible { outline: 2px solid var(--lr-accent, #176f68); outline-offset: 2px; border-radius: 4px; }

.ld-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 0 0 34px; padding: 0; list-style: none; }
.ld-stats li {
  display: flex; flex-direction: column; gap: 4px; padding: 16px 18px;
  border: 1px solid var(--lr-line, #e7e9e4); border-radius: 12px; background: #fff;
}
.ld-stats strong { font-size: 22px; line-height: 1.2; font-weight: 550; letter-spacing: -.6px; }
.ld-stats span { font-size: 12px; color: var(--lr-muted, #646d61); }

.ld-section { margin: 0 0 38px; }
.ld-section > h2 { font-size: 19px; font-weight: 600; letter-spacing: -.4px; margin: 0 0 6px; }
.ld-section > p.ld-note { color: var(--lr-muted, #646d61); margin: 0 0 14px; max-width: 760px; }
.ld-prose { max-width: 720px; }
.ld-prose p { margin: 0 0 14px; font-size: 15px; line-height: 1.7; }

.ld-table-wrap { overflow-x: auto; border: 1px solid var(--lr-line, #e7e9e4); border-radius: 12px; background: #fff; }
.ld-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.ld-table th {
  text-align: left; font-size: 11px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase;
  color: var(--lr-muted, #646d61); padding: 10px 14px; border-bottom: 1px solid var(--lr-line, #e7e9e4);
  background: var(--lr-wash, #f6f7f4); white-space: nowrap;
}
.ld-table td { padding: 11px 14px; border-bottom: 1px solid var(--lr-line, #e7e9e4); vertical-align: top; }
.ld-table tr:last-child td { border-bottom: 0; }
.ld-table td.ld-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ld-table th.ld-num { text-align: right; }
.ld-table small { display: block; color: var(--lr-muted, #646d61); font-size: 11.5px; }
.ld-table a { font-weight: 550; text-decoration: none; }
.ld-table a:hover { text-decoration: underline; }

.ld-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ld-page .ld-card {
  display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 18px 20px;
  border: 1px solid var(--lr-line, #e7e9e4); border-radius: 12px; background: #fff;
  color: var(--lr-ink, #202521); text-decoration: none; transition: border-color .15s, background .15s;
}
.ld-page .ld-card:hover { border-color: #92b4a9; background: #f7faf8; }
.ld-card strong { font-size: 19px; font-weight: 550; letter-spacing: -.4px; }
.ld-card span { font-size: 13px; color: var(--lr-muted, #646d61); }
.ld-card em { font-style: normal; font-size: 12px; color: var(--lr-accent, #176f68); }

.ld-faq { max-width: 760px; border-top: 1px solid var(--lr-line, #e7e9e4); }
.ld-faq details { border-bottom: 1px solid var(--lr-line, #e7e9e4); }
.ld-faq summary { cursor: pointer; padding: 14px 0; font-weight: 550; font-size: 15px; list-style-position: outside; }
.ld-faq details p { margin: 0 0 16px; color: var(--lr-ink, #202521); line-height: 1.7; }

.ld-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; list-style: none; }
.ld-sources li { margin: 0 0 6px; }
.ld-empty {
  max-width: 760px; padding: 22px 24px; border: 1px solid var(--lr-line, #e7e9e4);
  border-radius: 12px; background: var(--lr-wash, #f6f7f4); margin: 0 0 34px;
}
.ld-empty p { margin: 0 0 8px; }
.ld-empty p:last-child { margin: 0; }
.ld-points { margin: 0 0 22px; padding-left: 20px; }
.ld-points li { margin: 0 0 6px; }


.ld-value { margin: 12px 0 0; color: var(--lr-muted, #646d61); font-size: 14px; max-width: 760px; }
/* The jump chips stay in reach down a long county list. */
.ld-jump {
  display: flex; flex-wrap: wrap; gap: 8px; margin: -12px 0 30px;
  position: sticky; top: 0; z-index: 5; padding: 8px 0; background: var(--lr-paper, #fff);
}
.ld-page .ld-jump a {
  display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 12px;
  border: 1px solid var(--lr-line, #e7e9e4); border-radius: 999px; background: #fff;
  color: var(--lr-ink, #202521); text-decoration: none; font-size: 13px;
}
.ld-jump a span { color: var(--lr-muted, #646d61); font-variant-numeric: tabular-nums; }
.ld-page .ld-jump a:hover { border-color: #92b4a9; }

.ld-rows { list-style: none; margin: 0; padding: 0; border: 1px solid var(--lr-line, #e7e9e4); border-radius: 12px; background: #fff; overflow: hidden; }
.ld-rows li + li { border-top: 1px solid var(--lr-line, #e7e9e4); }
.ld-page .ld-row {
  display: grid; grid-template-columns: minmax(0, 1fr) 150px 170px; gap: 16px; align-items: center;
  min-height: 56px; padding: 10px 16px; color: var(--lr-ink, #202521); text-decoration: none;
}
.ld-page .ld-row:hover { background: #f7faf8; }
.ld-row-main strong { display: block; font-weight: 550; color: var(--lr-accent, #176f68); }
.ld-row small { display: block; color: var(--lr-muted, #646d61); font-size: 12px; }
.ld-row-when { font-size: 13.5px; }
.ld-row-price { text-align: right; font-variant-numeric: tabular-nums; }
.ld-row-price strong { font-weight: 550; }
.ld-more { margin-top: 10px; }
.ld-more summary { cursor: pointer; display: inline-flex; align-items: center; min-height: 44px; font-weight: 550; color: var(--lr-accent, #176f68); }
.ld-more[open] summary { margin-bottom: 10px; }

.ld-steps { margin: 0 0 18px; padding-left: 22px; font-size: 15px; line-height: 1.7; }
.ld-steps li { margin: 0 0 10px; padding-left: 4px; }

.ld-more-open { display: none; }
.ld-more[open] .ld-more-open { display: inline; }
.ld-more[open] .ld-more-closed { display: none; }
.ld-more summary::marker, .ld-more summary::-webkit-details-marker { content: ""; display: none; }
.ld-more summary { list-style: none; }
.ld-rows-rest { margin-top: 0; }
.ld-page .ld-row.ld-row-nowhen { grid-template-columns: minmax(0, 1fr) 190px; }
.ld-subhead { font-size: 15px; font-weight: 600; margin: 22px 0 10px; }
.ld-az { columns: 4 160px; column-gap: 24px; display: block; }
.ld-az li { break-inside: avoid; margin: 0 0 6px; }
.ld-faq summary { list-style-position: inside; }

.ld-section { scroll-margin-top: 76px; }  /* clear the sticky jump chips */
.ld-page .ld-row:focus-visible { outline: 2px solid var(--lr-accent, #176f68); outline-offset: -3px; border-radius: 0; }
.ld-crumbs ol { align-items: baseline; }
.ld-inline-form { display: inline; margin: 0; }
.ld-page button.ld-button { font: inherit; font-weight: 550; cursor: pointer; }
.ld-less { margin-top: 10px; }
.ld-table-narrow { max-width: 560px; }

.ld-confirm { margin: 0 0 18px; padding: 12px 16px; border-radius: 10px; background: var(--lr-accent-soft, #e8f3f0); max-width: 760px; }
@media (max-width: 640px) {
  .ld-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ld-stats li { padding: 12px 14px; }
  .ld-stats strong { font-size: 18px; }
  .ld-heading h1 { font-size: 27px; letter-spacing: -.85px; }
  .ld-answer { font-size: 16px; }
  .ld-table th, .ld-table td { padding: 10px 10px; }
  .ld-hide-sm { display: none; }
  .ld-page .ld-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "main price" "when price"; row-gap: 2px; }
  .ld-row-main { grid-area: main; }
  .ld-row-when { grid-area: when; font-size: 12.5px; color: var(--lr-muted, #646d61); }
  .ld-row-price { grid-area: price; }
  .ld-page .ld-row.ld-row-nowhen { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "main price"; }
  .ld-stats li:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .ld-jump { flex-wrap: nowrap; overflow-x: auto; top: 63px; }  /* under the mobile top bar */
  .ld-page { padding-top: 0; }  /* the main column already pads the top */
  .ld-page .ld-jump a { flex: 0 0 auto; }
  .ld-section { scroll-margin-top: 140px; }  /* clear the top bar and the jump chips */
  .ld-value { display: none; }  /* the first listing earns the first screen */
  .ld-crumbs li { padding: 8px 0; }
  .ld-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ld-page .ld-card { padding: 14px; }
  .ld-card strong { font-size: 16px; }
  .ld-az { columns: 3; column-gap: 12px; }
  .ld-az a { display: inline-block; padding: 4px 0; }
}
/* A guide card's title is a heading, styled as the card's strong line. */
.ld-card-title { font-size: 19px; font-weight: 550; letter-spacing: -.4px; margin: 0; line-height: 1.3; }
@media (max-width: 640px) { .ld-card-title { font-size: 16px; } }
.ld-page .ld-jump a[aria-current="true"] { border-color: var(--lr-accent, #176f68); color: var(--lr-accent, #176f68); font-weight: 550; }
/* Focus moved by the keyboard lands below the pinned bars, not under them. */
html:has(.ld-jump) { scroll-padding-top: 72px; }
/* On a phone the chip bar scrolls sideways: a fading edge pinned to its right
   says so, over a bar that stays solid (a mask would fade its background). */
@media (max-width: 640px) {
  html:has(.ld-jump) { scroll-padding-top: 136px; }
  .ld-jump::after {
    content: ""; position: sticky; right: 0; flex: 0 0 28px; margin-left: -28px;
    background: linear-gradient(to right, transparent, var(--lr-paper, #fff));
    pointer-events: none;
  }
}
/* Guide cards carry sentences: one column on a phone. */
@media (max-width: 640px) { .ld-cards.ld-cards-text { grid-template-columns: 1fr; } }
