/* Locations — prefix lc- */
.lc-hero { padding: clamp(56px, 9vh, 104px) 0 var(--hl-section-y-compact); }
.lc-hero .hl-breadcrumb, .lc-hero .eyebrow { color: var(--hl-white); }
.lc-hero-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px clamp(32px, 6vw, 96px); align-items: end; margin-bottom: var(--hl-space-6); }
.lc-hero h1 { color: var(--hl-white); }
.lc-hero-lede { font-size: var(--hl-fs-lead); line-height: 1.62; color: rgba(255,255,255,.84); }

.lc-panel { overflow: hidden; background: var(--hl-navy-deep); border: 1px solid var(--hl-border-dark); border-radius: var(--hl-radius-xl); }
.lc-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--hl-border-dark); }
.lc-tabs button { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 22px 34px 20px; color: var(--hl-text-on-dark-muted); text-align: left; background: transparent; border: 0; border-bottom: 3px solid transparent; cursor: pointer; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.lc-tabs button + button { border-left: 1px solid var(--hl-border-dark); }
.lc-tabs button strong { font-family: var(--hl-font-display); font-size: 22px; font-weight: 700; letter-spacing: -.02em; color: inherit; }
.lc-tabs button span { font-size: var(--hl-fs-micro); font-weight: 600; letter-spacing: .04em; }
.lc-tabs button:hover { color: var(--hl-white); background: rgba(255,255,255,.03); }
.lc-tabs button[aria-selected="true"] { color: var(--hl-white); background: rgba(255,255,255,.05); border-bottom-color: var(--hl-red); }
.lc-tabs button[aria-selected="true"] span { color: var(--hl-red-on-dark); }
.lc-tabs button:focus-visible { outline: 2px solid var(--hl-red-on-dark); outline-offset: -4px; }
.lc-region { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.lc-region[hidden] { display: none; }
.lc-lists { columns: 2; column-gap: 28px; padding: 30px 34px; border-right: 1px solid var(--hl-border-dark); }
.lc-county { break-inside: avoid; margin-bottom: 22px; }
.lc-county-h { margin-bottom: 8px; font-family: var(--hl-font-body); font-size: var(--hl-fs-eyebrow); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--hl-red-on-dark) !important; }
.lc-county ul { list-style: none; }
.lc-county a { display: grid; grid-template-columns: 1fr auto; column-gap: 12px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--hl-border-dark); transition: color .2s ease; }
.lc-county strong { color: var(--hl-white); font-family: var(--hl-font-display); font-size: 18px; font-weight: 600; letter-spacing: -.02em; }
.lc-county span { grid-row: 2; font-size: var(--hl-fs-micro); color: var(--hl-text-on-dark-muted); }
.lc-county .arrow { grid-row: span 2; grid-column: 2; width: 14px; height: 14px; color: var(--hl-red-on-dark); transition: transform .2s ease; }
.lc-county a:hover strong, .lc-county a.is-hot strong { color: var(--hl-red-on-dark); }
.lc-county a:hover .arrow, .lc-county a.is-hot .arrow { transform: translate(3px, -3px); }

.lc-map { position: sticky; top: calc(var(--hl-header-h) + 20px); align-self: start; padding: 26px 26px 22px; }

.lc-guides-head { margin-bottom: var(--hl-space-4); }
.lc-guides-region { margin: var(--hl-space-4) 0 18px; font-size: var(--hl-fs-h4); }
.lc-guides-region:first-of-type { margin-top: 0; }
.lc-guides-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.lc-guides-grid article { display: flex; flex-direction: column; padding: 24px; background: var(--hl-white); border: 1px solid var(--hl-border); border-radius: var(--hl-radius-lg); }
.lc-guide-k { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hl-red); margin-bottom: 8px; }
.lc-guides-grid h4 { font-family: var(--hl-font-display); font-size: 20px; font-weight: 700; letter-spacing: -.02em; color: var(--hl-navy); margin-bottom: 10px; }
.lc-guides-grid p:not(.lc-guide-k) { color: var(--hl-text-muted); font-size: var(--hl-fs-sm); margin-bottom: 14px; }
.lc-guides-grid .text-link { margin-top: auto; font-size: var(--hl-fs-xs); }
.lc-same-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 20px clamp(32px, 6vw, 96px); align-items: end; margin-bottom: var(--hl-space-5); }
.lc-same-head .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.lc-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lc-compare-col { padding: 34px; border: 1px solid var(--hl-border); border-radius: var(--hl-radius-lg); }
.lc-compare-col h3 { font-size: var(--hl-fs-h4); margin-bottom: 18px; }
.lc-compare-col .check-list li { color: var(--hl-text-muted); }
.lc-compare-col--local { background: var(--hl-surface); }
.lc-compare-col dl { margin: 0; }
.lc-compare-col dl div { padding: 12px 0; border-top: 1px solid var(--hl-border); }
.lc-compare-col dt { font-weight: 700; color: var(--hl-navy); margin-bottom: 2px; }
.lc-compare-col dd { margin: 0; color: var(--hl-text-muted); font-size: var(--hl-fs-sm); }

.lc-missing-inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 32px 36px; border: 1px solid var(--hl-border); border-left: 4px solid var(--hl-red); border-radius: 0 var(--hl-radius-lg) var(--hl-radius-lg) 0; }
.lc-missing h2 { font-size: var(--hl-fs-h4); margin-bottom: 8px; }
.lc-missing .btn .arrow { width: 17px; height: 17px; }

@media (max-width: 1100px) {
  .lc-region { grid-template-columns: 1fr; }
  .lc-map { position: static; }
  .lc-lists { border-right: 0; border-top: 1px solid var(--hl-border-dark); }
  .lc-map { order: -1; }
  .lc-guides-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .lc-hero-head, .lc-same-head, .lc-compare { grid-template-columns: 1fr; }
  .lc-guides-grid { grid-template-columns: 1fr 1fr; }
  .lc-missing-inner { flex-direction: column; align-items: start; }
}
@media (max-width: 560px) {
  .lc-tabs button { flex-direction: column; gap: 2px; padding: 16px 18px 14px; }
  .lc-tabs button strong { font-size: 18px; }
  .lc-lists { columns: 1; padding: 24px; }
  .lc-guides-grid { grid-template-columns: 1fr; }
  .lc-map { padding: 14px 10px 14px; }
  .lc-compare-col { padding: 26px 22px; }
}
