/* "<Town> at a glance" box on town pages. Markup is generated by scripts/local-facts.py. */
.lf { padding: 4rem 0; background: hsl(var(--background)); border-top: 1px solid hsl(var(--border) / .6); }
@media (min-width: 1024px) { .lf { padding: 5.5rem 0; } }
.lf-head { max-width: 46rem; margin: 0 auto 2.5rem; text-align: center; }
.lf-eyebrow { font-family: var(--font-body); font-size: .75rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: hsl(var(--primary)); margin: 0 0 .5rem; }
.lf-head h2 { font-family: var(--font-display, inherit); font-size: 1.875rem; line-height: 1.2; font-weight: 700; color: hsl(var(--foreground)); margin: 0 0 .75rem; }
@media (min-width: 1024px) { .lf-head h2 { font-size: 2.25rem; } }
.lf-head p { font-size: .9rem; color: hsl(var(--muted-foreground)); margin: 0; }
.lf-grid { display: grid; gap: 1.25rem; max-width: 72rem; margin: 0 auto; }
@media (min-width: 768px) { .lf-grid { grid-template-columns: 1fr 1fr; } .lf-card-jobs { grid-column: 1 / -1; } }
@media (min-width: 1100px) { .lf-grid { grid-template-columns: 1fr 1fr 1.35fr; } .lf-card-jobs { grid-column: auto; } }
.lf-card { display: flex; flex-direction: column; gap: .6rem; padding: 1.5rem; border-radius: 1rem; background: hsl(var(--card)); border: 1px solid hsl(var(--border)); box-shadow: 0 10px 30px -18px hsl(var(--foreground) / .25); }
.lf-card h3 { font-family: var(--font-body); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: hsl(var(--muted-foreground)); margin: 0; }
.lf-card p { font-size: .925rem; line-height: 1.55; color: hsl(var(--foreground)); margin: 0; }
.lf-card a { color: hsl(var(--primary)); font-weight: 600; }
.lf-card a:hover { text-decoration: underline; }
.lf-card p.lf-big { font-family: var(--font-display, inherit); font-size: 1.6rem; font-weight: 700; line-height: 1.15; color: hsl(var(--primary)); }
.lf-card p.lf-small { font-size: .825rem; color: hsl(var(--muted-foreground)); }
.lf-card a.lf-more { margin-top: auto; padding-top: .4rem; font-size: .875rem; }
.lf-jobs { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.lf-jobs li { padding: .7rem .85rem; border-radius: .7rem; background: hsl(var(--muted) / .6); }
.lf-jobs li a { display: block; font-size: .9rem; line-height: 1.35; color: hsl(var(--foreground)); }
.lf-jobs li a:hover { color: hsl(var(--primary)); }
.lf-jobs li span { display: block; margin-top: .2rem; font-size: .78rem; color: hsl(var(--muted-foreground)); font-variant-numeric: tabular-nums; }
.lf-card p.lf-empty { font-size: .9rem; color: hsl(var(--muted-foreground)); }
.lf-nw { white-space: nowrap; }
