
:root{--ink:#111;--muted:#3f3f3f;--cream:#fff7ea;--paper:#fffdf8;--tan:#ead8bd;--brown:#4d3426;--brown2:#6d4b37;--sage:#64785a;--sage2:#e5eedf;--line:#d9c7aa;--shadow:0 14px 34px rgba(55,40,25,.14);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Verdana,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,var(--cream),#fffaf2 45%,#f6ead8);line-height:1.65}a{color:inherit}.wrap{max-width:var(--max);margin:auto;padding:0 1.1rem}.skip-link{position:absolute;left:-999px;background:#000;color:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{left:1rem;top:1rem}.top-bar{background:var(--brown);color:#fff;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;padding:.55rem 1rem;font-size:.92rem}.top-bar a{font-weight:700}.site-header{background:rgba(255,247,234,.96);position:relative;z-index:5}.main-nav{max-width:var(--max);margin:auto;padding:1rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;gap:.8rem;align-items:center;text-decoration:none;color:var(--brown)}.brand-mark{width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,var(--brown),var(--sage));color:#fff;display:grid;place-items:center;font-weight:900}.brand strong{display:block;font-family:Georgia,serif;font-size:1.32rem}.brand small{display:block;color:#444;font-size:.78rem}.navlinks{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.navlinks a,.nav-toggle{border:1px solid var(--line);background:#fffdf8;padding:.6rem .78rem;border-radius:999px;text-decoration:none;font-weight:700;color:var(--brown);font-size:.9rem}.nav-call,.btn-primary{background:var(--brown)!important;color:#fff!important}.nav-toggle{display:none}.hero{background:radial-gradient(circle at top left,#fff 0%,var(--cream) 34%,var(--tan) 100%);padding:4rem 0}.small-hero{padding:3.25rem 0}.eyebrow{margin:0 0 .65rem;color:var(--brown2);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.12;margin:0 0 1rem;color:#111}h1{font-size:clamp(2.25rem,5.6vw,4.9rem);letter-spacing:-.035em;max-width:930px}h2{font-size:clamp(1.65rem,3vw,2.75rem)}h3{font-size:1.35rem}.lead{max-width:820px;font-size:1.15rem;color:#333;margin:0 0 1.25rem}.hero-actions,.button-row{display:flex;gap:.75rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1rem;border-radius:999px;text-decoration:none;font-weight:900;border:2px solid var(--brown);box-shadow:0 8px 18px rgba(40,25,15,.12)}.btn-secondary{background:#fff;color:var(--brown)}.content-section{padding:2.5rem 0}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem;align-items:start}.panel,.card,.notice{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:1.25rem;box-shadow:var(--shadow)}.notice{border-left:7px solid var(--sage)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{text-decoration:none;display:block}.card p{color:#333;margin:0}.list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.list-grid a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.75rem;text-decoration:none;font-weight:700}.breadcrumb{padding:1rem 0;background:#fff8ed;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.92rem}.breadcrumb a{font-weight:700}.referral-strip{background:var(--sage2);padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.site-footer{background:#f1dfc5;color:#111;padding:2.5rem 0 5rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.25rem}.site-footer a{display:block;margin:.35rem 0}.footer-bottom{text-align:center;border-top:1px solid #c5ad8d;margin:2rem auto 0;max-width:var(--max);padding:1rem;color:#222}.scroll-top{position:fixed;right:1rem;bottom:5rem;width:46px;height:46px;border-radius:50%;background:var(--brown);color:#fff;display:grid;place-items:center;text-decoration:none;font-weight:900;box-shadow:var(--shadow);z-index:20}.sticky-call{position:fixed;left:0;right:0;bottom:0;background:#111;color:#fff;display:flex;justify-content:center;align-items:center;gap:1rem;padding:.65rem;z-index:19}.sticky-call a{background:#fff;color:#111;padding:.55rem .9rem;border-radius:999px;text-decoration:none;font-weight:900}.article-body p{max-width:850px}.checklist li{margin:.45rem 0}@media(max-width:860px){.main-nav{align-items:flex-start}.nav-toggle{display:block}.navlinks{display:none;position:absolute;left:1rem;right:1rem;top:82px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:.7rem;box-shadow:var(--shadow)}.navlinks.open{display:grid}.navlinks a{border-radius:12px}.two-col,.footer-grid,.card-grid,.list-grid{grid-template-columns:1fr}.hero{padding:2.5rem 0}.brand small{display:none}.sticky-call{font-size:.9rem;gap:.5rem}.sticky-call span{display:none}}@media(max-width:520px){.top-bar span{display:none}.brand strong{font-size:1rem}.brand-mark{width:42px;height:42px}.btn{width:100%}.card-grid{gap:.75rem}}

.network-band{background:#f1eadc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.network-pill{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;margin:.25rem;font-weight:700}.large-directory{columns:2;column-gap:2rem}.large-directory a{display:block;break-inside:avoid;padding:.4rem 0;color:#111}.resource-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mini-note{background:#fff;border-left:5px solid var(--sage);padding:1rem;border-radius:12px;box-shadow:var(--shadow)}@media(max-width:800px){.resource-row{grid-template-columns:1fr}.large-directory{columns:1}}


/* Universal access and restored regional color treatments */
.nav-call, .al-call-now, .sticky-call a { font-weight: 800; }
.region-new-york .hero, body.ny-region .hero {
  background: linear-gradient(135deg, #183a5a 0%, #275f87 55%, #e7f3fb 100%);
  color: #ffffff;
}
.region-new-york .eyebrow, body.ny-region .eyebrow { color: #d8edf8; }
.region-new-york .notice, body.ny-region .notice { border-top: 6px solid #2c6f9e; }
.region-new-york .card:hover, body.ny-region .card:hover { border-color: #2c6f9e; }
.region-pennsylvania .hero, body.pa-region .hero {
  background: linear-gradient(135deg, #2f3d2c 0%, #6b5a35 58%, #f4ecd7 100%);
  color: #ffffff;
}
.region-pennsylvania .eyebrow, body.pa-region .eyebrow { color: #f8e7bd; }
.region-pennsylvania .notice, body.pa-region .notice { border-top: 6px solid #7a632f; }
.region-pennsylvania .card:hover, body.pa-region .card:hover { border-color: #7a632f; }
.al-network-strip {
  background: #1f2d24;
  color: #fff;
  padding: .55rem 1rem;
  font-family: Arial, sans-serif;
  font-size: .94rem;
}
.al-network-strip .al-network-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  justify-content: space-between;
}
.al-network-strip a { color:#fff; text-decoration: underline; text-underline-offset: 3px; }
.al-network-strip .al-call-now {
  background:#f6c15b;
  color:#1e1608;
  padding:.45rem .75rem;
  border-radius:999px;
  text-decoration:none;
}
.al-network-links { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; }
@media (max-width: 720px) {
  .al-network-strip .al-network-inner { align-items:flex-start; }
  .al-network-links { width:100%; }
}


/* Patch: stronger button navigation across AutoLocksmith */
.navlinks a,.nav-toggle,.top-bar a{box-shadow:0 4px 12px rgba(40,25,15,.10);transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.navlinks a:hover,.navlinks a:focus,.nav-toggle:hover,.nav-toggle:focus{transform:translateY(-1px);box-shadow:0 7px 18px rgba(40,25,15,.16);outline:3px solid rgba(246,193,91,.35);outline-offset:2px;}
.navlinks a[aria-current="page"],.navlinks .active{background:var(--sage2);border-color:var(--sage);}
.nav-call{background:#2d4a35!important;color:#fff!important;border-color:#2d4a35!important;}
@media(max-width:860px){.navlinks a{display:flex;justify-content:center;align-items:center;min-height:44px;}}

.southern-directory a{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}.southern-directory a span{font-size:.82rem;opacity:.82;font-weight:500;word-break:break-word}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}


/* CLEANUP PATCH: State themes and square-ish cards */
/* New York now uses the former Alabama crimson, charcoal, silver, and cream theme. */
body.ny-region, .region-new-york {
  --state-primary:#8a1538;
  --state-secondary:#f1f1f1;
  --state-accent:#5b5f66;
  --state-soft:#fff1f4;
  --state-dark:#202020;
  --resource-green:#5b5f66;
  --driver-blue:#8a1538;
}
body.ny-region .hero, .region-new-york .hero {
  background:linear-gradient(135deg,#8a1538 0%,#202020 62%,#fff1f4 100%) !important;
  color:#fff !important;
}
body.ny-region .eyebrow, .region-new-york .eyebrow { color:#fff1f4 !important; }
body.ny-region .notice, .region-new-york .notice { border-left-color:#5b5f66 !important; border-top:6px solid #8a1538 !important; }
body.ny-region .card:hover, .region-new-york .card:hover, body.ny-region .list-grid a:hover, .region-new-york .list-grid a:hover { border-color:#8a1538 !important; }
body.ny-region .btn-primary, .region-new-york .btn-primary, body.ny-region .nav-call, .region-new-york .nav-call { background:#8a1538 !important; border-color:#8a1538 !important; color:#fff !important; }
body.ny-region .brand-mark, .region-new-york .brand-mark { background:linear-gradient(135deg,#8a1538,#202020) !important; }

/* Pennsylvania keeps the Keystone blue, gold, and green theme. */
body.pa-region, .region-pennsylvania {
  --state-primary:#183a5a;
  --state-secondary:#c9a227;
  --state-accent:#5f7f3f;
  --state-soft:#f7f1dc;
  --state-dark:#202020;
  --resource-green:#5f7f3f;
  --driver-blue:#183a5a;
}
body.pa-region .hero, .region-pennsylvania .hero {
  background:linear-gradient(135deg,#183a5a 0%,#5f7f3f 62%,#f7f1dc 100%) !important;
  color:#fff !important;
}
body.pa-region .eyebrow, .region-pennsylvania .eyebrow { color:#f7f1dc !important; }
body.pa-region .notice, .region-pennsylvania .notice { border-left-color:#5f7f3f !important; border-top:6px solid #c9a227 !important; }
body.pa-region .card:hover, .region-pennsylvania .card:hover, body.pa-region .list-grid a:hover, .region-pennsylvania .list-grid a:hover { border-color:#c9a227 !important; }
body.pa-region .btn-primary, .region-pennsylvania .btn-primary, body.pa-region .nav-call, .region-pennsylvania .nav-call { background:#183a5a !important; border-color:#183a5a !important; color:#fff !important; }
body.pa-region .brand-mark, .region-pennsylvania .brand-mark { background:linear-gradient(135deg,#183a5a,#5f7f3f) !important; }

/* Keep cards and content boxes square-ish instead of circular/pill-shaped. */
.card,.panel,.notice,.list-grid a,.mini-note,.network-pill{border-radius:10px !important;}
.navlinks a,.nav-toggle,.btn,.sticky-call a,.scroll-top{border-radius:10px !important;}
.scroll-top{border-radius:50% !important;}


/* PATCH: Lighter state hero banners and tighter sitemap layout */
body.ny-region .hero, .region-new-york .hero {
  background: linear-gradient(135deg, #b84a4a 0%, #c95d5d 52%, #fff1f4 100%) !important;
  color: #ffffff !important;
}
body.ny-region .hero h1, .region-new-york .hero h1,
body.ny-region .hero h2, .region-new-york .hero h2 { color:#ffffff !important; }
body.ny-region .hero .lead, .region-new-york .hero .lead { color:#fff8f8 !important; }
body.ny-region .hero .eyebrow, .region-new-york .hero .eyebrow { color:#fff5f5 !important; }

body.pa-region .hero, .region-pennsylvania .hero {
  background: linear-gradient(135deg, #4d7eaf 0%, #6e98c2 55%, #f7f1dc 100%) !important;
  color: #ffffff !important;
}
body.pa-region .hero h1, .region-pennsylvania .hero h1,
body.pa-region .hero h2, .region-pennsylvania .hero h2 { color:#ffffff !important; }
body.pa-region .hero .lead, .region-pennsylvania .hero .lead { color:#fffdf6 !important; }
body.pa-region .hero .eyebrow, .region-pennsylvania .hero .eyebrow { color:#fff7d8 !important; }

/* HTML sitemap SouthernHub section: use both columns and reduce vertical white space. */
.southern-directory.large-directory {
  columns: unset !important;
  column-gap: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem .85rem;
  margin: .35rem 0 1rem;
}
.southern-directory.large-directory a {
  break-inside: auto;
  padding: .55rem .65rem !important;
  border: 1px solid var(--line);
  background: #fffdf8;
  border-radius: 10px;
  line-height: 1.25;
}
.southern-directory.large-directory a strong {
  display:block;
  font-size:.92rem;
}
.southern-directory.large-directory a span {
  display:block;
  margin-top:.18rem;
  font-size:.74rem !important;
  line-height:1.2;
}
#southernhub-future-website-areas h3,
.southernhub-future-website-areas h3,
.southern-directory + h3 {
  margin: .9rem 0 .25rem;
}
@media(max-width:760px){
  .southern-directory.large-directory { grid-template-columns:1fr; }
}
