body { margin: 0; padding: 0; background: #ffffff; font-family: var(--hero-font-1, 'Segoe UI', Roboto, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif); font-size: var(--hero-font-size, 16px); line-height: var(--hero-line-height, 1.6); }
body td, body p, body span, body font, body div, body li { font-family: var(--hero-font-1, 'Segoe UI', Roboto, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif); font-size: var(--hero-font-size, 16px); line-height: var(--hero-line-height, 1.6); }
#usaHeader { width: 100%; border-bottom: 1px solid var(--hero-color-light, color-mix(in srgb, currentColor 14%, transparent)); }
#usaHeader table { width: 100%; }
.usaHeader { max-width: 1100px; margin: 0 auto; padding: 16px 20px; box-sizing: border-box; }
.usaHeader a { display: inline-block; line-height: 0; }
.usaHeader img { display: block; width: auto; height: auto; max-height: 84px; max-width: 100%; }
#usaMain { max-width: 1100px; margin: 0 auto; padding: 24px 20px 40px; box-sizing: border-box; }
#usaMain:has(#usaNav) { display: flex; gap: 24px; align-items: flex-start; }
#usaNav { flex: 0 0 180px; }
#usaContent { flex: 1 1 auto; min-width: 0; width: 100%; }
#usaMain a, #usaMain a:link, #usaMain a:visited, #usaFooter a { color: var(--hero-color-medium, inherit); text-decoration: none; }
#usaMain a:hover, #usaMain a:focus, #usaFooter a:hover { color: var(--hero-color-dark, inherit); text-decoration: underline; cursor: pointer; }
#usaMain input[type=text], #usaMain input[type=search], #usaMain input[type=tel], #usaMain input[type=email], #usaMain input[type=number], #usaMain input[type=date], #usaMain select, #usaMain textarea { font-size: 15px; padding: 11px 13px; color: var(--hero-color-medium, inherit); background: var(--hero-input-background, color-mix(in srgb, currentColor 7%, #ffffff)); border: var(--hero-input-border, 1px solid color-mix(in srgb, currentColor 28%, transparent)); border-radius: var(--hero-input-corners, var(--hero-corners-1, 10px)); box-shadow: inset 0 1px 2px rgba(0,0,0,.04); transition: border-color .15s ease, box-shadow .15s ease; box-sizing: border-box; }
#usaMain input:focus, #usaMain select:focus, #usaMain textarea:focus { outline: none; border-color: var(--hero-color-light, currentColor); box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 16%, transparent); }
#usaMain input[type=submit], #usaMain input[type=button], #usaMain button { font-size: 15px; cursor: pointer; padding: 11px 22px; color: var(--hero-color-accenttext, #ffffff); background: var(--hero-color-accent, #333333); border: 0; border-radius: var(--hero-button-corners, var(--hero-corners-1, 10px)); transition: box-shadow .2s ease, transform .1s ease; }
#usaMain input[type=submit]:hover, #usaMain input[type=button]:hover, #usaMain button:hover { box-shadow: 0 6px 16px rgba(0,0,0,.12); transform: translateY(-1px); }
#usaIntro { text-align: center; }
#usaIntro .usaIntroHeading { margin: 8px 0 20px; }
#usaIntro h1 { margin: 0; font-size: clamp(24px, 3.4vw, 34px); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--hero-color-ultradark, #1c2733); }
#usaIntro img { display: inline-block; border: 0; }
.usaStateMap { display: block; width: 100%; max-width: 820px; height: auto; margin: 0 auto; }
.usaState { fill: var(--hero-color-light, #d4dbe6); stroke: #ffffff; stroke-width: 1; cursor: pointer; outline: none; transition: fill .12s ease; }
.usaState:hover, .usaState:focus { fill: var(--hero-color-medium, #2f6fb0); }
.usaStateLabel { font-size: 12px; font-weight: 700; fill: var(--hero-color-ultradark, #2a2f38); text-anchor: middle; pointer-events: none; }
.usaStateLabelSmall { font-size: 12px; font-weight: 700; fill: var(--hero-color-ultradark, #2a2f38); text-anchor: start; cursor: pointer; }
.usaLeader { stroke: color-mix(in srgb, currentColor 28%, transparent); stroke-width: .75; fill: none; }
#usaContent .usaError { padding: 50px; font-weight: 700; text-align: center; }
#usaFooter { margin-top: 24px; border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent); padding: 16px 20px; text-align: center; }
#usaFooter table { width: 100%; background-image: none; background-color: transparent; }
#usaFooter td, #usaFooter p, #usaFooter font, #usaFooter span { font-size: 13px; color: color-mix(in srgb, currentColor 60%, transparent); }
#usaSearch { max-width: 900px; margin: 8px auto 30px; text-align: center; }
#usaSearchState { max-width: 480px; margin: 8px auto 30px; text-align: center; }
#usaSearch .usaSearchCount { margin: 0 0 6px; font-size: 20px; font-weight: 700; }
#usaSearch .usaSearchCountNum { color: var(--hero-color-medium, inherit); }
#usaSearch .usaSearchPrompt, #usaSearchState .usaSearchPrompt { margin: 0 0 18px; color: color-mix(in srgb, currentColor 65%, transparent); }
#usaSearch .usaSearchCards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; text-align: left; }
#usaSearch .usaSearchCard { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 150px; padding: 16px; overflow: hidden; cursor: pointer; text-align: left; color: #ffffff; font: inherit; text-decoration: none; border: 0; border-radius: var(--hero-corners-2, 14px); background-color: var(--hero-color-ultradark, #23262b); background-image: linear-gradient(135deg, var(--hero-color-dark, #3a3f47), var(--hero-color-ultradark, #23262b)); background-size: cover; background-position: center; transition: transform .15s ease, box-shadow .15s ease; }
#usaSearch .usaSearchCard::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.62)); }
#usaSearch .usaSearchCard:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0,0,0,.20); }
#usaSearch .usaSearchCardName { position: relative; z-index: 1; font-size: 17px; font-weight: 700; }
#usaSearch .usaSearchCardCount { position: relative; z-index: 1; font-size: 13px; opacity: .9; }
#usaSearchState .usaSearchStateSelect { min-width: 240px; }
#usaResults { display: block; width: 100%; min-height: 600px; border: 0; }