:root { --ink:#10212b; --muted:#5d6d75; --paper:#f7f5ef; --card:#fff; --line:#d8ddd9; --navy:#0d2938; --red:#c94b3d; --gold:#dfa94a; --green:#248262; --shadow:0 18px 55px rgba(16,33,43,.10); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
a { color:inherit; }
button,input { font:inherit; }
.skip-link { position:absolute; left:-999px; top:1rem; background:#fff; padding:.7rem 1rem; z-index:10; }
.skip-link:focus { left:1rem; }
.site-header { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1rem clamp(1.2rem,5vw,5.5rem); background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.brand { display:flex; align-items:center; gap:.8rem; text-decoration:none; }
.brand-mark { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--navy); color:#fff; font-weight:900; font-size:.78rem; letter-spacing:.08em; box-shadow:inset 0 -4px 0 var(--red); }
.brand strong,.brand small { display:block; }
.brand strong { font-family:Georgia,serif; font-size:1.15rem; }
.brand small { color:var(--muted); font-size:.72rem; letter-spacing:.04em; }
.site-header nav,.section-tabs { display:flex; gap:1.3rem; }
.site-header nav a,.section-tabs a { text-decoration:none; font-size:.92rem; font-weight:700; }
.hero { padding:clamp(4rem,8vw,8rem) clamp(1.2rem,8vw,9rem) 4rem; background:linear-gradient(135deg,#0d2938 0%,#173f50 68%,#204d55 100%); color:#fff; position:relative; overflow:hidden; }
.hero:after { content:""; position:absolute; width:420px; height:420px; border:80px solid rgba(255,255,255,.035); border-radius:50%; right:-110px; top:-110px; }
.hero h1,.state-hero h1,.county-hero h1,.simple-page h1 { max-width:900px; margin:.25rem 0 1rem; font:700 clamp(2.5rem,6vw,5rem)/1.02 Georgia,serif; letter-spacing:-.04em; }
.hero > p:not(.eyebrow) { max-width:720px; font-size:1.15rem; color:#d5e2e6; }
.eyebrow { margin:0 0 .5rem; color:var(--red); text-transform:uppercase; letter-spacing:.16em; font-weight:900; font-size:.75rem; }
.hero .eyebrow,.county-hero .eyebrow { color:#f3c66e; }
.search-box { display:block; max-width:620px; margin-top:2rem; }
.search-box span { display:block; font-weight:800; font-size:.78rem; margin-bottom:.45rem; text-transform:uppercase; letter-spacing:.08em; }
.search-box input { width:100%; border:1px solid rgba(255,255,255,.25); border-radius:12px; padding:1rem 1.1rem; background:#fff; color:var(--ink); box-shadow:var(--shadow); }
.location-results { max-width:620px; margin-top:.55rem; border-radius:12px; overflow:hidden; background:#fff; color:var(--ink); box-shadow:var(--shadow); }
.location-results:empty { display:none; }
.location-results a { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 1rem; border-bottom:1px solid var(--line); text-decoration:none; }
.location-results a:hover,.location-results a:focus-visible { background:#edf2ef; outline:none; }
.location-results span,.location-results p { color:var(--muted); font-size:.78rem; }
.location-results p { margin:0; padding:.8rem 1rem; }
.map-shell,.county-browser,.content-section,.sources,.simple-page { padding:clamp(3rem,6vw,6rem) clamp(1.2rem,6vw,7rem); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.6rem; }
.section-heading h2,.sources h2 { margin:0; font:700 clamp(1.8rem,3.5vw,3rem)/1.08 Georgia,serif; }
.status-key,.legal-note { color:var(--muted); font-size:.82rem; }
.data-status { margin:-.45rem 0 1.2rem; color:var(--green); font-size:.82rem; font-weight:800; }
.data-status.sample { color:#8a6424; }
.status-key i,.update-card i { width:9px; height:9px; background:var(--green); display:inline-block; border-radius:50%; margin-right:.35rem; }
.usa-map { display:grid; grid-template-columns:repeat(10,minmax(70px,1fr)); gap:.6rem; }
.state-cell { min-height:76px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:.55rem; border:1px solid var(--line); border-radius:10px; background:#fff; text-decoration:none; transition:.18s ease; }
.state-cell strong { font-size:1.05rem; }
.state-cell span { color:var(--muted); font-size:.62rem; }
.state-cell:hover,.state-cell:focus-visible,.county-link:hover,.county-link:focus-visible { transform:translateY(-2px); border-color:var(--red); box-shadow:0 8px 22px rgba(16,33,43,.1); outline:none; }
.state-cell.active,.county-link.active { background:var(--red); color:#fff; border-color:var(--red); }
.state-cell.active span,.county-link.active small { color:#fff; }
.map-note { color:var(--muted); font-size:.87rem; margin-top:1.2rem; }
.state-hero { min-height:420px; display:grid; grid-template-columns:1.5fr .8fr; align-items:center; gap:4rem; padding:4rem clamp(1.2rem,7vw,8rem); background:#e7ece7; }
.breadcrumb { color:var(--muted); font-size:.85rem; }
.breadcrumb a { color:var(--red); }
.florida-shape { width:min(320px,70vw); aspect-ratio:1; justify-self:center; background:var(--navy); color:#fff; clip-path:polygon(12% 12%,60% 18%,69% 40%,83% 54%,76% 63%,90% 95%,78% 100%,61% 68%,48% 58%,15% 46%); display:grid; place-items:center; }
.florida-shape span { font:700 3rem Georgia,serif; transform:translate(-12px,-8px); }
.state-emblem { width:min(250px,60vw); aspect-ratio:1; justify-self:center; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:#fff; box-shadow:inset 0 0 0 18px rgba(255,255,255,.09); }
.state-emblem span { font:700 3.4rem Georgia,serif; }
.state-emblem.florida-shape { border-radius:0; box-shadow:none; }
.county-browser .search-box { margin:0; min-width:min(360px,100%); }
.county-browser .search-box span { color:var(--muted); }
.county-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; }
.county-link { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:68px; padding:.85rem 1rem; background:#fff; border:1px solid var(--line); border-radius:10px; text-decoration:none; transition:.18s ease; }
.county-link span { font-weight:800; }
.county-link small { color:var(--muted); text-align:right; }
.county-hero { padding:3rem clamp(1.2rem,6vw,7rem) 0; background:var(--navy); color:#fff; }
.county-title-row { display:flex; justify-content:space-between; gap:3rem; align-items:center; }
.county-title-row > div:first-child { max-width:800px; }
.county-title-row p { color:#d6e2e6; }
.update-card { min-width:260px; padding:1.2rem; border:1px solid rgba(255,255,255,.2); border-radius:12px; background:rgba(255,255,255,.06); }
.update-card span,.update-card strong,.update-card small { display:block; }
.update-card span,.update-card small { color:#b9cbd1; font-size:.76rem; }
.update-card strong { margin:.35rem 0; }
.section-tabs { margin-top:2.5rem; border-top:1px solid rgba(255,255,255,.15); padding:1.1rem 0; overflow:auto; }
.content-section { background:#fff; }
.content-section.soft { background:#eceeea; }
.news-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:1rem; }
.news-card,.booking-card { background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.news-card { padding:1.4rem; display:flex; min-height:255px; flex-direction:column; }
.news-card:first-child { background:var(--navy); color:#fff; }
.news-card h3 { font:700 1.45rem/1.15 Georgia,serif; margin:.8rem 0; }
.news-card p { color:var(--muted); }
.news-card:first-child p,.news-card:first-child footer { color:#c8d8dd; }
.news-card footer { display:flex; justify-content:space-between; gap:1rem; margin-top:auto; color:var(--muted); font-size:.72rem; }
.tag { display:inline-block; align-self:flex-start; color:var(--red); font-size:.67rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.text-button,.record-button { border:0; background:none; color:var(--red); font-weight:800; cursor:pointer; }
.booking-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.photo-placeholder { aspect-ratio:4/3; display:grid; place-items:center; background:linear-gradient(135deg,#dce2de,#cbd3cf); color:#63736d; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; }
.booking-photo { width:100%; height:300px; display:block; object-fit:contain; background:#182331; }
.booking-copy { padding:1.2rem; }
.booking-copy h3 { margin:.45rem 0; font:700 1.3rem Georgia,serif; }
.booking-copy p,.booking-copy li { color:var(--muted); font-size:.82rem; }
.booking-copy ul { padding-left:1.1rem; }
.record-button { padding:0; }
.disclaimer { margin-top:1.2rem; padding:1rem 1.2rem; background:#fff7e7; border-left:4px solid var(--gold); font-size:.84rem; }
.sources { display:grid; grid-template-columns:1fr 1fr; gap:4rem; background:#fff; }
.sources dl { margin:0; }
.sources dl div { padding:1rem 0; border-bottom:1px solid var(--line); }
.sources dt { font-weight:900; }
.sources dd { margin:.3rem 0 0; color:var(--muted); }
.simple-page { min-height:65vh; max-width:1000px; }
.simple-page p { max-width:720px; color:var(--muted); font-size:1.1rem; }
.request-form { display:grid; gap:18px; margin:32px 0; padding:24px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.request-form label { display:grid; gap:7px; font-weight:700; color:var(--navy); }
.request-form input,.request-form select,.request-form textarea { width:100%; box-sizing:border-box; padding:12px 14px; border:1px solid #b9c3cf; border-radius:9px; background:#fff; color:var(--ink); font:inherit; }
.request-form textarea { resize:vertical; }
.request-form .button { border:0; cursor:pointer; justify-self:start; }
.button { display:inline-block; margin-top:1rem; padding:.85rem 1.1rem; border-radius:9px; background:var(--red); color:#fff; text-decoration:none; font-weight:800; }
body > footer { display:grid; grid-template-columns:1.2fr 1.5fr 1fr; gap:2rem; padding:2rem clamp(1.2rem,6vw,7rem); color:#c4d2d6; background:#081c26; font-size:.78rem; }
body > footer p { margin:0; }
body > footer nav { display:flex; gap:1rem; justify-content:flex-end; }
[hidden] { display:none !important; }
@media (max-width:980px) { .usa-map{grid-template-columns:repeat(6,1fr)} .county-grid{grid-template-columns:repeat(3,1fr)} .booking-grid{grid-template-columns:repeat(2,1fr)} .news-grid{grid-template-columns:1fr 1fr}.news-card:first-child{grid-column:1/-1}.state-hero{grid-template-columns:1fr}.state-emblem{display:none}.sources{grid-template-columns:1fr;gap:1rem} }
@media (max-width:650px) { .site-header{align-items:flex-start}.site-header nav{display:none}.brand small{display:none}.hero{padding-top:4rem}.usa-map{grid-template-columns:repeat(4,1fr)}.state-cell{min-height:64px}.state-cell span{display:none}.section-heading,.county-title-row{align-items:flex-start;flex-direction:column}.county-browser .search-box{width:100%}.county-grid,.booking-grid,.news-grid{grid-template-columns:1fr}.county-link{min-height:60px}.update-card{width:100%}.section-tabs{gap:1rem}.sources{grid-template-columns:1fr}body > footer{grid-template-columns:1fr}body > footer nav{justify-content:flex-start;flex-wrap:wrap} }
