.resource-main { max-width: 1180px; margin: 0 auto; }
.resource-main .city-hero::after { content: "PARKING RESOURCE"; }
.resource-main .city-hero { padding: 28px 32px; }
.resource-main .city-hero h1 { font-size: clamp(1.8rem, 4vw, 3rem); max-width: 25ch; }
.resource-content { max-width: 940px; margin: 30px auto 0; }
.resource-content > section { margin: 34px 0; }
.resource-content h2, .resource-content h3, .resource-content legend { font-family: var(--display); line-height: 1.2; }
.resource-content h2 { font-size: clamp(1.5rem, 4vw, 2rem); }
.resource-content h3 { font-size: 1.3rem; }
.resource-content p, .resource-content li, .resource-content dd { line-height: 1.65; }
.resource-content a { overflow-wrap: anywhere; }
.resource-note { padding: 20px; border-left: 4px solid var(--orange, #e87d42); background: #fff4df; }
.resource-tools, .permit-card, .fit-result { padding: clamp(16px, 4vw, 28px); border: 1px solid #aebbb5; border-radius: 16px; background: #fffdf6; }
.resource-tools label { display: block; font-size: 1rem; margin-bottom: 8px; font-weight: 700; }
.resource-tools input, .resource-tools select { width: 100%; min-width: 0; min-height: 48px; padding: 11px 12px; font: inherit; font-size: 1rem; border: 1px solid #61736d; border-radius: 8px; background: white; color: #102a32; }
.resource-tools .field { margin: 0; min-width: 0; }
.resource-tools .field-help { margin: 8px 0 0; font-size: .94rem; }
.resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.resource-tools fieldset { min-width: 0; border: 0; padding: 0; margin: 24px 0; }
.resource-tools legend { font-size: 1.3rem; margin-bottom: 16px; font-weight: 700; }
.resource-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 20px; }
.resource-actions .button { white-space: normal; text-align: center; min-height: 44px; }
.resource-content [hidden] { display: none !important; }
.resource-tools button:disabled { opacity: .6; cursor: not-allowed; }
.resource-content :is(input,select,button,a):focus-visible { outline: 3px solid #b34917; outline-offset: 4px; }
.resource-status { min-height: 1.5em; }
.permit-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.permit-card { min-width: 0; overflow-wrap: anywhere; }
.permit-card h3 { margin: 4px 0 16px; }
.permit-card dl { margin: 0; }
.permit-card dt { font-weight: 800; margin-top: 14px; }
.permit-card dd { margin: 4px 0 0; }
.permit-card .research-line { display: block; font-size: .9rem; overflow-wrap: anywhere; }
.table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #aebbb5; border-radius: 10px; }
.table-scroll table { margin: 0; width: 100%; }
.utility-comparison { min-width: 660px; }
.utility-comparison th { width: 21%; }
.resource-content .rv-location-table td, .resource-content .rv-location-table th { overflow-wrap: anywhere; }
.resource-content .related-guide-links a { min-height: 44px; display: inline-flex; align-items: center; padding: 8px; }
.fit-result { margin-top: 24px; }
.fit-result h3:focus { outline: 3px solid #b34917; outline-offset: 6px; }
@media (max-width: 600px) {
  .resource-main .city-hero { padding: 24px 20px; }
  .resource-grid { grid-template-columns: 1fr; gap: 18px; }
  .resource-actions { align-items: stretch; flex-direction: column; }
  .resource-actions .button { width: 100%; }
  .resource-content { margin-top: 22px; }
}

.resource-content [id^="permit-"], #reviewed-city-routes { scroll-margin-top: 12rem; }
