@view-transition{navigation:auto}
*,*::before,*::after{box-sizing:border-box}
:root{--c-bg:#fff;--c-text:#1a1a1a;--c-primary:#1a3a5c;--c-accent:#d4380d;--c-link:#0051a8;
--c-border:#dee2e6;--c-muted:#555b62;--c-surface:#f8f9fa;--c-success:#198754;--c-warning:#ffc107;
--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
--shadow-md:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.05);
--s-xs:.25rem;--s-sm:.5rem;--s-md:1rem;--s-lg:1.5rem;--s-xl:2rem;
--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
--fs-caption:12px;--fs-sm:14px;--fs-base:17px;--fs-h2:20px;--fs-h1:24px;
--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:2rem;--max-w:72rem;--radius:.5rem;--lh:1.5}
@media(min-width:768px){:root{--fs-base:18px;--fs-h1:32px;--fs-h2:24px}}
@media(prefers-color-scheme:dark){:root{--c-bg:#121212;--c-text:#e0e0e0;--c-surface:#1e1e1e;--c-border:#333;--c-link:#6db3f2;
--shadow:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 6px rgba(0,0,0,.25)}}
body{margin:0;font-family:var(--font);color:var(--c-text);background:var(--c-bg);font-size:var(--fs-base);line-height:var(--lh)}
h1{font-size:var(--fs-h1);margin-bottom:var(--s-xs)}h2{font-size:var(--fs-h2)}
a{color:var(--c-link);text-decoration:underline}a:hover{text-decoration:underline}
header a,nav a,.bc a,.nearby-card,.pagination a{text-decoration:none}
.skip-link{position:absolute;top:-40px;left:0;background:var(--c-primary);color:#fff;padding:8px;z-index:100}
.skip-link:focus{top:0}
.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--s-md)}
.grid{display:grid;gap:var(--s-md)}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}}
header{background:var(--c-primary);color:#fff;padding:var(--s-sm) 0;box-shadow:0 2px 4px rgba(0,0,0,.15)}
header nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;max-width:var(--max-w);margin:0 auto;padding:0 var(--s-md)}
header a{color:#fff}header ul{list-style:none;display:flex;gap:var(--s-md);margin:0;padding:0}

/* Stats bar */
.stats-bar{display:flex;gap:var(--s-xs);flex-wrap:wrap;padding:var(--s-sm);background:var(--c-surface);border-radius:var(--radius);margin:var(--s-md) 0;box-shadow:var(--shadow);border:1px solid var(--c-border);justify-content:center}
.stats-bar div{text-align:center;flex:0 1 auto;min-width:0;font-size:.7em;padding:var(--s-xs) var(--s-sm)}.stats-bar strong{display:block;font-size:1.4em;color:var(--c-primary)}
@media(min-width:768px){.stats-bar{gap:var(--s-lg)}.stats-bar div{font-size:1em}.stats-bar strong{font-size:var(--fs-xl)}}
.stat-low strong{color:var(--c-success)}.stat-mid strong{color:#b45309}.stat-high strong{color:var(--c-accent)}

/* Section dividers — thick top border between content sections */
.container>section{
border-top:3px solid #3a3a3a;padding-top:var(--s-xl);margin:var(--s-xl) 0}
.container>section>h2{
color:var(--c-primary);margin-top:0;margin-bottom:var(--s-md)}
@media(prefers-color-scheme:dark){.container>section{border-top-color:#666}}

/* Tagline */
.tagline{font-size:var(--fs-lg);color:var(--c-muted);margin:0 0 var(--s-md);line-height:var(--lh)}

/* Section heading color accents (facility page) */
#closures{border-top-color:var(--c-accent)}
#closures h2::before{content:"";display:inline-block;width:10px;height:10px;background:var(--c-accent);border-radius:50%;margin-right:var(--s-sm);vertical-align:middle}
#disciplinary{border-top-color:#b45309}
#disciplinary h2::before{content:"";display:inline-block;width:10px;height:10px;background:#b45309;border-radius:50%;margin-right:var(--s-sm);vertical-align:middle}
#fire{border-top-color:#dc6803}
#fire h2::before{content:"";display:inline-block;width:10px;height:10px;background:#dc6803;border-radius:50%;margin-right:var(--s-sm);vertical-align:middle}
#inspections h2::before{content:"";display:inline-block;width:10px;height:10px;background:var(--c-primary);border-radius:50%;margin-right:var(--s-sm);vertical-align:middle}

.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--s-md);margin-bottom:var(--s-md);box-shadow:var(--shadow)}
.card h3{margin:0 0 var(--s-xs)}

/* Badges */
.badge{display:inline-block;padding:3px 10px;border-radius:var(--radius);font-size:var(--fs-sm);font-weight:600}
.badge-red{background:#fde8e8;color:#9a2c0e}.badge-green{background:#e8f5e9;color:#14643f}
.badge-amber{background:#fff8e1;color:#7c3a00}

/* Breadcrumb */
.bc{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-xs);padding:var(--s-sm) var(--s-md);margin:0;font-size:var(--fs-sm);background:var(--c-surface);border-bottom:1px solid var(--c-border)}
.bc li+li::before{content:">";margin-right:var(--s-xs);color:var(--c-muted)}

/* Details/accordions */
details{border:1px solid var(--c-border);border-radius:var(--radius);margin-bottom:var(--s-sm);box-shadow:var(--shadow)}
summary{padding:var(--s-sm) var(--s-md);cursor:pointer;font-weight:600;background:var(--c-surface);border-radius:var(--radius)}
summary:hover{background:#ebedef}
details[open] summary{border-bottom:1px solid var(--c-border)}
details .detail-body{padding:var(--s-md)}

/* Tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--s-md) 0;border-radius:var(--radius);border:1px solid var(--c-border);box-shadow:var(--shadow)}
.table-wrap table{margin:0;border:none;box-shadow:none;border-radius:0}
table{width:100%;border-collapse:separate;border-spacing:0;margin:var(--s-md) 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--c-border);box-shadow:var(--shadow);table-layout:auto;word-break:break-word}
caption{caption-side:top;text-align:left;font-size:var(--fs-sm);color:var(--c-muted);padding:0 0 var(--s-xs);font-style:italic}
th{padding:var(--s-sm) var(--s-md);text-align:left;background:var(--c-primary);color:#fff;font-weight:600;font-size:var(--fs-sm);border-bottom:none}
td{padding:var(--s-sm) var(--s-md);text-align:left;border-bottom:1px solid var(--c-border)}
tbody tr:last-child td{border-bottom:none}
tbody tr:nth-child(even){background:#f0f4f8}
tbody tr:hover{background:#e3ecf5}
@media(prefers-color-scheme:dark){tbody tr:nth-child(even){background:#1a2332}tbody tr:hover{background:rgba(109,179,242,.08)}}

.pagination{display:flex;gap:var(--s-xs);justify-content:center;margin:var(--s-lg) 0;flex-wrap:wrap}
.pagination a,.pagination span{padding:var(--s-xs) var(--s-sm);border:1px solid var(--c-border);border-radius:var(--radius)}
.pagination span{background:var(--c-primary);color:#fff}
footer{background:var(--c-surface);border-top:1px solid var(--c-border);padding:var(--s-lg) 0;margin-top:var(--s-xl);text-align:center;font-size:var(--fs-sm);color:var(--c-muted)}
.alert-widget{background:linear-gradient(135deg,#1a3a5c,#2d5a8a);color:#fff;padding:var(--s-lg);border-radius:var(--radius);margin:var(--s-md) 0;box-shadow:var(--shadow-md)}
.alert-widget h3{margin:0 0 var(--s-sm)}
.search-box{display:flex;gap:var(--s-sm);max-width:500px;margin:0 auto}
.search-box input{flex:1;padding:var(--s-sm);border:1px solid var(--c-border);border-radius:var(--radius);font-size:var(--fs-base)}
.search-box button{padding:var(--s-sm) var(--s-md);background:var(--c-primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:var(--fs-base)}
.hero{padding:var(--s-xl) 0}
.hero h1{font-size:var(--fs-2xl);margin:0 0 var(--s-sm)}
.hero p{font-size:var(--fs-lg);color:var(--c-muted);margin:0 0 var(--s-md)}

/* Violation cards */
.viol-card{border:1px solid var(--c-border);border-radius:var(--radius);margin-bottom:var(--s-sm);overflow:hidden;box-shadow:var(--shadow)}
.viol-header{display:flex;align-items:center;gap:var(--s-sm);padding:var(--s-sm) var(--s-md);flex-wrap:wrap}
.viol-code{font-weight:700;font-size:var(--fs-sm);padding:2px 6px;border-radius:3px;white-space:nowrap}
.viol-high .viol-code{background:#fde8e8;color:#9a2c0e}
.viol-inter .viol-code{background:#fff8e1;color:#7c3a00}
.viol-basic .viol-code{background:#e8f5e9;color:#14643f}
.viol-name{flex:1;font-weight:600}
.viol-severity{font-size:var(--fs-sm);color:var(--c-muted)}
.viol-context{padding:0 var(--s-md) var(--s-md)}
.viol-box{border-radius:var(--radius);padding:var(--s-sm) var(--s-md);margin-bottom:var(--s-sm)}
.viol-box strong{display:block;font-size:var(--fs-sm);margin-bottom:4px}
.viol-box p{margin:0;font-size:var(--fs-sm);line-height:1.5}
.viol-risk{background:#fef2f2;border:1px solid #fecaca}
.viol-risk strong{color:#9a2c0e}
.viol-req{background:#eff6ff;border:1px solid #bfdbfe}
.viol-req strong{color:#1e40af}
.viol-meta{display:flex;gap:var(--s-md);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--c-muted)}
.viol-cdc{font-weight:600}
.viol-sev-high{color:var(--c-accent)}.viol-sev-intermediate{color:#b45309}.viol-sev-basic{color:var(--c-success)}
@media(prefers-color-scheme:dark){.viol-risk{background:#2d1515;border-color:#5c2020}.viol-risk strong{color:#fca5a5}
.viol-req{background:#1a2332;border-color:#1e3a5f}.viol-req strong{color:#93c5fd}
.viol-high .viol-code{background:#3b1515;color:#fca5a5}.viol-inter .viol-code{background:#3b2a10;color:#fcd34d}
.viol-basic .viol-code{background:#14291a;color:#86efac}}

/* BLUF card */
.bluf{font-size:var(--fs-base);line-height:var(--lh);color:var(--c-text);margin:var(--s-md) 0}
.bluf-card{background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid var(--c-primary);border-radius:var(--radius);padding:var(--s-lg);margin:var(--s-md) 0;box-shadow:var(--shadow)}
.bluf-label{font-size:var(--fs-sm);font-weight:700;color:var(--c-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--s-sm);display:block}
.bluf-card p{margin:0 0 .75em;line-height:1.7}.bluf-card p:last-of-type{margin-bottom:.25em}.bluf-card .bluf-caption{font-size:var(--fs-caption);color:var(--c-muted);margin-top:var(--s-sm);font-style:italic;display:block}

/* Nearby */
.nearby-grid{display:grid;gap:var(--s-md);grid-template-columns:1fr}
@media(min-width:768px){.nearby-grid{grid-template-columns:1fr 1fr}}
.nearby-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--s-md);transition:border-color .15s,box-shadow .15s;box-shadow:var(--shadow)}
.nearby-card:hover{border-color:var(--c-primary);text-decoration:none;box-shadow:var(--shadow-md)}
.nearby-card h3{margin:0 0 var(--s-xs);font-size:var(--fs-base)}
.nearby-card .nearby-meta{font-size:var(--fs-sm);color:var(--c-muted);margin:0}
.nearby-card .nearby-stats{display:flex;gap:var(--s-md);margin-top:var(--s-sm);font-size:var(--fs-sm)}
.nearby-card .nearby-stats span{color:var(--c-primary);font-weight:600}

/* Editorial box */
.editorial-box{background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid var(--c-primary);border-radius:var(--radius);padding:var(--s-lg);margin:var(--s-xl) 0 var(--s-md);box-shadow:var(--shadow)}
.editorial-box h3{margin:0 0 var(--s-md);color:var(--c-primary);font-size:var(--fs-base)}
.editorial-box p{margin:0 0 var(--s-sm);font-size:var(--fs-sm);line-height:var(--lh)}
.editorial-box p:last-child{margin-bottom:0}
.editorial-box .editorial-meta{font-size:var(--fs-caption);color:var(--c-muted);margin-top:var(--s-md);padding-top:var(--s-sm);border-top:1px solid var(--c-border);text-align:center}
.closure-link{font-weight:600}.closure-link::after{content:" \2197";font-size:.75em}
.closure-highlight{animation:highlight-fade 2s ease-out}
@keyframes highlight-fade{0%{background:#fff8e1}100%{background:var(--c-surface)}}

/* Jump nav */
.jump-nav{display:flex;gap:var(--s-sm);flex-wrap:wrap;padding:var(--s-sm) 0;margin:var(--s-md) 0;border-top:2px solid var(--c-border);border-bottom:2px solid var(--c-border)}
.jump-nav a{padding:var(--s-xs) var(--s-sm);border-radius:var(--radius);font-size:var(--fs-sm);font-weight:600;background:var(--c-surface);border:1px solid var(--c-border);min-height:44px;display:inline-flex;align-items:center;box-shadow:var(--shadow);transition:all .15s}
.jump-nav a:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary);text-decoration:none;box-shadow:var(--shadow-md)}

/* Compare grid */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-md);margin:var(--s-md) 0}
.compare-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--s-md);text-align:center;box-shadow:var(--shadow)}
.compare-label{display:block;font-size:var(--fs-sm);color:var(--c-muted);font-weight:600;margin-bottom:var(--s-xs)}
.compare-value{display:block;font-size:var(--fs-xl);font-weight:700}
.compare-metric{display:block;font-size:var(--fs-caption);color:var(--c-muted);margin-top:var(--s-xs)}
.compare-above{color:var(--c-accent)}.compare-below{color:var(--c-success)}.compare-neutral{color:var(--c-primary)}

/* Year groups */
.year-group{border:1px solid var(--c-border);border-radius:var(--radius);margin-bottom:var(--s-md);box-shadow:var(--shadow)}
.year-group>summary{padding:var(--s-md);font-size:var(--fs-base);font-weight:700;background:var(--c-bg);border-radius:var(--radius)}
.year-group>summary:hover{background:#ebedef}
.year-group[open]>summary{border-bottom:2px solid var(--c-primary);border-radius:var(--radius) var(--radius) 0 0}
.year-group .year-body{padding:var(--s-sm)}
.year-stats{display:inline-flex;gap:var(--s-md);font-size:var(--fs-sm);font-weight:400;color:var(--c-muted);margin-left:var(--s-sm)}

/* FAQ */
.faq-item{background:#f5f5f5;border:1px solid #bbb;border-radius:var(--radius);padding:var(--s-lg);margin-bottom:var(--s-sm);box-shadow:var(--shadow)}
.faq-item dt{font-weight:700;font-size:var(--fs-base);margin-bottom:var(--s-xs);color:var(--c-primary)}
.faq-item dd{margin:0;line-height:var(--lh);color:#555}
@media(prefers-color-scheme:dark){.faq-item{background:#1a1a1a;border-color:#444}.faq-item dt{color:var(--c-link)}.faq-item dd{color:#aaa}}

/* Meters */
meter{width:100%;height:1.5rem;border-radius:var(--radius)}
meter::-webkit-meter-bar{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius)}
meter::-webkit-meter-optimum-value{background:var(--c-success);border-radius:var(--radius)}
meter::-webkit-meter-suboptimum-value{background:#b45309;border-radius:var(--radius)}
meter::-webkit-meter-even-less-good-value{background:var(--c-accent);border-radius:var(--radius)}

/* Performance */
.year-group:nth-child(n+3){content-visibility:auto;contain-intrinsic-size:auto 200px}
details:nth-child(n+6) .detail-body{content-visibility:auto;contain-intrinsic-size:auto 300px}
:focus-visible{outline:3px solid var(--c-link);outline-offset:2px;border-radius:2px}

/* Fire & disciplinary */
.fire-obs{background:#fffbeb;border:1px solid #f59e0b;border-radius:var(--radius);padding:var(--s-sm) var(--s-md);margin:var(--s-xs) 0;font-size:var(--fs-sm);line-height:var(--lh)}
.fire-citation{font-size:var(--fs-caption);color:var(--c-muted);margin-top:var(--s-xs)}
.fine-amount{font-weight:700}.fine-high{color:#9a2c0e}.fine-mid{color:#7c3a00}.fine-low{color:#14643f}
.disc-summary{font-size:var(--fs-lg);font-weight:600;margin-bottom:var(--s-md);padding:var(--s-sm) var(--s-md);background:#fef2f2;border-radius:var(--radius);border:1px solid #fecaca}
@media(prefers-color-scheme:dark){.fire-obs{background:#3b2a10;border-color:#7c3a00}.disc-summary{background:#2d1515;border-color:#5c2020}}

/* Responsive tables — stacked cards on mobile */
@media(max-width:767px){
.table-stack{overflow-x:visible;border:none;box-shadow:none}
.table-stack table,.table-stack thead,.table-stack tbody,.table-stack th,.table-stack td,.table-stack tr{display:block;width:100%}
.table-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.table-stack table{border:none;box-shadow:none;margin:0}
.table-stack caption{display:block;width:100%;text-align:left;padding:0 0 var(--s-sm)}
.table-stack tbody tr{margin-bottom:var(--s-sm);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-bg);box-shadow:var(--shadow)}
.table-stack tbody tr:nth-child(even){background:#f0f4f8;border-color:#c8d6e5}
.table-stack td{display:flex;justify-content:space-between;align-items:baseline;padding:var(--s-xs) var(--s-sm);border-bottom:1px solid var(--c-border);text-align:right;white-space:normal;min-width:0}
.table-stack td:last-child{border-bottom:none}
.table-stack td::before{content:attr(data-label);font-weight:600;text-align:left;margin-right:var(--s-sm);color:var(--c-primary);flex-shrink:0;font-size:var(--fs-sm)}
/* Non-stacked tables: tighter padding for horizontal scroll */
.table-wrap:not(.table-stack) th,.table-wrap:not(.table-stack) td{padding:var(--s-xs);font-size:var(--fs-sm)}
}

/* Utility classes — replace inline styles */
.card-link{text-decoration:none;color:inherit}
.section-more{text-align:center;margin-top:var(--s-lg)}
.section-more a{display:inline-flex;align-items:center;justify-content:center;padding:var(--s-sm) var(--s-xl);min-height:48px;background:var(--c-primary);color:#fff;border-radius:var(--radius);font-weight:600;font-size:var(--fs-base);text-decoration:none;box-shadow:var(--shadow);transition:background .15s,box-shadow .15s}
.section-more a:hover{background:#2d5a8a;box-shadow:var(--shadow-md);color:#fff}
.text-muted{font-size:var(--fs-sm);color:var(--c-muted)}
.text-accent{color:var(--c-accent)}
.facility-meta{list-style:none;margin:var(--s-xs) 0;padding:0;font-size:var(--fs-sm);color:var(--c-muted);line-height:1.8}
.last-inspected{font-size:var(--fs-sm);color:var(--c-muted);margin:var(--s-xs) 0}
.legal-basis{margin-top:var(--s-xs);padding:var(--s-sm);background:var(--c-surface);border-left:3px solid var(--c-muted);border-radius:4px;font-size:var(--fs-sm)}
.fire-card{margin-bottom:var(--s-sm)}
.fire-card>p:first-child{margin-bottom:var(--s-xs)}
.disclaimer{font-size:var(--fs-sm);color:var(--c-muted)}
.alert-widget a{color:#fff;text-decoration:underline}

/* Home summary */
.home-summary{background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid var(--c-primary);border-radius:var(--radius);padding:var(--s-lg) var(--s-xl);margin:var(--s-lg) 0;box-shadow:var(--shadow);font-size:1.05rem;line-height:1.75}
.home-summary p{margin:0 0 1em;color:var(--c-text)}
.home-summary p:last-of-type{margin-bottom:.5em}
.home-summary strong{color:var(--c-primary)}
.home-summary .bluf-label{font-size:var(--fs-sm);font-weight:700;color:var(--c-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--s-md);display:block}
.home-summary .bluf-caption{font-size:var(--fs-caption);color:var(--c-muted);display:block;margin-top:var(--s-sm);font-style:italic}

/* Touch targets — 44px min via padding, visually lightweight */
summary{min-height:44px}
.bc a{padding:10px var(--s-sm)}
.pagination a,.pagination span{padding:10px var(--s-md)}
footer a{padding:10px var(--s-sm)}
.editorial-meta a{padding:8px var(--s-sm)}
td a{padding:8px 0}
.latest-insp-link{padding:8px var(--s-sm)}

/* === MOBILE UX OVERHAUL === */
@media(max-width:767px){
/* Base mobile typography & spacing */
h1{font-size:1.35rem;line-height:1.3}
h2{font-size:1.15rem;line-height:1.3}
h3{font-size:1rem}
.container{padding:0 var(--s-sm)}

/* Sections: more breathing room on mobile */
.container>section{padding-top:var(--s-lg);margin:var(--s-lg) 0}

/* Stats bar mobile: bigger text, card-style items */
.stats-bar{gap:var(--s-xs);padding:var(--s-xs);flex-wrap:wrap;justify-content:center}
.stats-bar div{font-size:.8rem;padding:var(--s-sm) var(--s-sm);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);min-width:calc(33% - .5rem);flex:1 1 calc(33% - .5rem);text-align:center}
.stats-bar strong{font-size:1.25rem}

/* Table stack mobile: bigger touch targets, better spacing */
.table-stack tbody tr{margin-bottom:var(--s-md);padding:var(--s-xs) 0;border-radius:var(--radius);box-shadow:var(--shadow)}
.table-stack td{padding:var(--s-sm) var(--s-md);font-size:.9rem;min-height:44px;align-items:center;gap:var(--s-sm)}
.table-stack td::before{font-size:.8rem;min-width:5em}
.table-stack td a{display:inline-block;padding:var(--s-xs) 0;font-weight:600;min-height:44px;line-height:1.4;display:flex;align-items:center}

/* Compare grid: single column on small phones */
.compare-grid{grid-template-columns:1fr 1fr;gap:var(--s-sm)}
.compare-card{padding:var(--s-sm)}
.compare-value{font-size:var(--fs-lg)}
.compare-label{font-size:.75rem}
.compare-metric{font-size:.7rem}
meter{height:1rem}
}
@media(max-width:400px){
.compare-grid{grid-template-columns:1fr}
.stats-bar div{min-width:calc(50% - .5rem);flex:1 1 calc(50% - .5rem)}
}

/* Mobile-specific: BLUF cards */
@media(max-width:767px){
.bluf-card{padding:var(--s-md);margin:var(--s-sm) 0}
.bluf-card p{font-size:.95rem;line-height:1.65}

/* Home summary responsive */
.home-summary{padding:var(--s-md);margin:var(--s-sm) 0;font-size:.95rem;line-height:1.65}

/* Hero responsive */
.hero{padding:var(--s-md) 0}
.hero h1{font-size:1.4rem}
.hero p{font-size:.95rem}
.search-box{flex-direction:column;max-width:100%}
.search-box input{font-size:16px;padding:12px var(--s-sm);min-height:48px}
.search-box button{padding:12px var(--s-md);min-height:48px;font-size:16px}

/* Pagination: bigger touch targets */
.pagination{gap:var(--s-sm)}
.pagination a,.pagination span{padding:12px 16px;font-size:var(--fs-base);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* Jump nav mobile */
.jump-nav{gap:var(--s-xs);padding:var(--s-sm) 0}
.jump-nav a{padding:var(--s-sm) var(--s-md);font-size:.85rem;min-height:44px}

/* FAQ mobile: better spacing, larger touch area */
.faq-item{padding:var(--s-md);margin-bottom:var(--s-md)}
.faq-item dt{font-size:.95rem;line-height:1.4;padding-bottom:var(--s-sm)}
.faq-item dd{font-size:.9rem;line-height:1.6}

/* Nearby grid mobile */
.nearby-card{padding:var(--s-md);min-height:44px}
.nearby-card h3{font-size:.95rem}

/* Cards mobile */
.card{padding:var(--s-md)}
.card h3{font-size:.95rem;line-height:1.4}
.card h3 a{display:inline-block;padding:var(--s-xs) 0;min-height:44px;line-height:1.4;display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-xs)}

/* County directory grid */
.grid-3{grid-template-columns:1fr 1fr}
.grid-3 .card{padding:var(--s-md);min-height:44px}

/* Editorial box mobile */
.editorial-box{padding:var(--s-md)}
.editorial-box p{font-size:.85rem;line-height:1.6}

/* Alert widget mobile */
.alert-widget{padding:var(--s-md)}
.alert-widget h3{font-size:1.05rem}
.alert-widget p{font-size:.9rem}
.alert-widget a{display:inline-block;padding:12px 0;min-height:44px}

/* Badge mobile: slightly larger */
.badge{padding:4px 10px;font-size:.8rem}

/* Better color contrast for stat indicators on mobile */
.stat-high strong{color:#c0392b}
.stat-mid strong{color:#a85600}
.stat-low strong{color:#168a52}

/* Disc summary mobile */
.disc-summary{font-size:1rem;padding:var(--s-md)}

/* Year group mobile */
.year-group>summary{padding:var(--s-md);min-height:48px;font-size:.95rem}
.year-stats{display:block;margin-left:0;margin-top:var(--s-xs)}

/* Breadcrumb mobile */
.bc{padding:var(--s-sm) var(--s-sm);font-size:.8rem}
.bc a{padding:8px var(--s-xs);min-height:44px;display:inline-flex;align-items:center}
}

/* ── Homepage nav tiles ──────────────────────────────────────── */
.home-stats strong{font-size:var(--fs-xl)}
.section-label-dbpr,.section-label-fdacs,.section-label-loc{font-size:var(--fs-base);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:var(--s-lg) 0 var(--s-sm);padding-bottom:var(--s-xs);border-bottom:2px solid}
.section-label-dbpr{color:#1a4fa0;border-color:#2563eb}
.section-label-fdacs{color:#92400e;border-color:#ca8a04}
.section-label-loc{color:#1a5c3a;border-color:#16a34a}
.nav-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-sm);margin-bottom:var(--s-lg)}
.nav-tiles-4{grid-template-columns:repeat(2,1fr)}
.nav-tile{display:flex;flex-direction:column;justify-content:center;padding:var(--s-md) var(--s-lg);min-height:76px;border-radius:var(--radius);text-decoration:none;border-left:4px solid;transition:box-shadow .15s,transform .1s;box-shadow:var(--shadow)}
.nav-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.nav-tile-dbpr{background:#f0f5ff;border-color:#2563eb;color:#1e3a6e}
.nav-tile-dbpr:hover{background:#e0eaff;color:#1e3a6e}
.nav-tile-fdacs{background:#fffbeb;border-color:#ca8a04;color:#78350f}
.nav-tile-fdacs:hover{background:#fef3c7;color:#78350f}
.nav-tile-loc{background:#f0fdf4;border-color:#16a34a;color:#14532d}
.nav-tile-loc:hover{background:#dcfce7;color:#14532d}
.nav-tile-alert{border-color:#dc2626}
.nav-tile-dbpr.nav-tile-alert{background:#fff5f5;color:#7f1d1d}
.nav-tile-fdacs.nav-tile-alert{background:#fff7ed;color:#7c2d12}
.nav-tile-label{font-weight:700;font-size:var(--fs-base);line-height:1.2;margin-bottom:4px}
.nav-tile-stat{font-size:var(--fs-sm);opacity:.75;line-height:1.3}
@media(prefers-color-scheme:dark){.nav-tile-dbpr{background:#1a2a4a;color:#a0c4ff}.nav-tile-dbpr:hover{background:#1e3260;color:#a0c4ff}.nav-tile-fdacs{background:#2a1f00;color:#fcd34d}.nav-tile-fdacs:hover{background:#3a2a00;color:#fcd34d}.nav-tile-loc{background:#0a2a14;color:#86efac}.nav-tile-loc:hover{background:#0f3a1e;color:#86efac}.nav-tile-dbpr.nav-tile-alert{background:#3a0a0a;color:#fca5a5}.nav-tile-fdacs.nav-tile-alert{background:#3a1500;color:#fdba74}}
.activity-feed{list-style:none;margin:0 0 var(--s-sm);padding:0}
.activity-feed li{display:flex;flex-direction:column;padding:var(--s-sm) 0;border-bottom:1px solid var(--c-border)}
.activity-feed li:last-child{border-bottom:none}
.activity-feed a{font-weight:600;color:var(--c-link);text-decoration:none}
.activity-feed a:hover{text-decoration:underline}
.feed-meta{font-size:var(--fs-sm);color:var(--c-muted);margin-top:2px}
@media(max-width:767px){.nav-tiles{grid-template-columns:1fr 1fr}.nav-tile{min-height:68px;padding:var(--s-sm) var(--s-md)}}
@media(max-width:400px){.nav-tiles{grid-template-columns:1fr}}

/* Accessibility & print */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(prefers-contrast:more){:root{--c-border:#000;--c-muted:#333}.badge,.viol-code{border:1px solid currentColor}}
@media print{header,footer,.jump-nav,.nearby-grid,.editorial-box,.skip-link{display:none}details{display:block}details>summary{list-style:none}.bluf-card{border:1px solid #000;break-inside:avoid}body{font-size:12pt;color:#000}}
