/* lm-laws.css — shared styles for /mold-laws/, /flood-mold/, /tenant-mold-rights/ silos.
   Style tokens align with the existing mold-remediation page so the silos feel like one site. */

:root{
  --lm-accent:#2E6BAE;
  --lm-accent-dark:#1F4E80;
  --lm-accent-soft:#E6F0FB;
  --lm-hero-surface: rgba(255, 255, 255, 0.96);
  --lm-surface:#FFFFFF;
  --lm-muted:#5C6B7A;
  --lm-border:#E2E8F3;
  --lm-card:#F8FBFF;
  --lm-navy-800:#0F2A47;
  --lm-gray-700:#3F4B5B;
  --lm-max:1100px;
}

/* ---------- Buttons ---------- */
.lm-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.7rem 1.1rem; border-radius:10px;
  font-weight:700; text-decoration:none;
  border:2px solid transparent;
  box-shadow:0 6px 18px rgba(46,107,174,.14);
  transition:transform .06s ease, filter .15s ease, box-shadow .15s ease;
}
.lm-btn:hover{ filter:brightness(1.04); }
.lm-btn:active{ transform:translateY(1px); }
.lm-btn--primary,
.lm-btn--accent{ background:var(--lm-accent); color:#fff; border-color:var(--lm-accent); }
.lm-btn--accent:hover{ background:var(--lm-accent-dark); border-color:var(--lm-accent-dark); color:#fff; }
.lm-btn--ghost{ background:#fff; color:var(--lm-accent-dark); border-color:#d7d8d9; }
.lm-btn--outline{ background:transparent; color:var(--lm-accent-dark); border-color:rgba(46,107,174,.4); }
.lm-btn--outline:hover{ background:var(--lm-accent-soft); }
.lm-btn--pill{ border-radius:999px; padding:.65rem 1.25rem; }
.lm-btn--block{ width:100%; justify-content:center; }
.lm-btn.xl{ padding:1rem 1.5rem; font-size:1.05rem; }
.lm-btn.lg{ font-size:1rem; }

/* ---------- Hero (state pages) ---------- */
.lm-laws-hero{
  position:relative;
  color:var(--lm-navy-800);
  padding:3rem 0 3.25rem;
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(46,107,174,.18), transparent 60%),
    linear-gradient(180deg, #F5FAFF 0%, #FFFFFF 100%);
  overflow:hidden;
  border-bottom:1px solid var(--lm-border);
}
.lm-laws-hero .container{ max-width:var(--lm-max); }
.lm-laws-hero__breadcrumb{
  font-size:.875rem; color:var(--lm-muted); margin:0 0 1rem;
}
.lm-laws-hero__breadcrumb a{ color:var(--lm-accent-dark); text-decoration:none; }
.lm-laws-hero__breadcrumb a:hover{ text-decoration:underline; }
.lm-laws-hero__breadcrumb span[aria-hidden]{ margin:0 .35rem; color:#9aa3b2; }
.lm-laws-hero__eyebrow{
  display:inline-block;
  font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--lm-accent-dark);
  background:var(--lm-accent-soft);
  border:1px solid rgba(46,107,174,.18);
  border-radius:999px;
  padding:.35rem .75rem;
  margin:0 0 .9rem;
}
.lm-laws-hero h1{
  font-weight:800; line-height:1.15;
  font-size:clamp(1.85rem, 2.6vw + 1rem, 3rem);
  margin:0 0 .8rem;
  color:var(--lm-navy-800);
}
.lm-laws-hero__tldr{
  font-size:1.05rem;
  color:var(--lm-gray-700);
  background:#fff;
  border:1px solid var(--lm-border);
  border-left:4px solid var(--lm-accent);
  border-radius:12px;
  padding:1rem 1.1rem;
  margin:0 0 1.25rem;
  box-shadow:0 6px 18px rgba(46,107,174,.06);
}
.lm-laws-hero__tldr strong{ color:var(--lm-navy-800); }

/* Hero facts (definition-list grid) */
.lm-laws-hero__facts{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:.9rem;
  margin:0 0 1.25rem;
  padding:0;
}
.lm-laws-hero__facts > div{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:12px;
  padding:.85rem 1rem;
  box-shadow:0 4px 12px rgba(46,107,174,.06);
}
.lm-laws-hero__facts dt{
  font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--lm-muted);
  margin:0 0 .25rem;
}
.lm-laws-hero__facts dd{
  margin:0;
  font-size:.98rem;
  font-weight:600;
  color:var(--lm-navy-800);
  line-height:1.4;
}
.lm-laws-hero__facts dd a{ color:var(--lm-accent-dark); text-decoration:none; }
.lm-laws-hero__facts dd a:hover{ text-decoration:underline; }
.lm-laws-hero__updated{
  font-size:.85rem; color:var(--lm-muted); margin:0 0 1.1rem;
}
.lm-laws-hero__ctas{
  display:flex; flex-wrap:wrap; gap:.7rem; align-items:center;
}
.lm-laws-hero__cta-note{
  display:block; font-size:.85rem; color:var(--lm-muted); margin:.5rem 0 0;
}

/* ---------- Page body grid ---------- */
.lm-laws-page{ padding:2.5rem 0 3.5rem; }
.lm-laws-page .container{ max-width:var(--lm-max); }
.lm-laws-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 320px;
  gap:2.5rem;
  align-items:start;
}
@media (max-width:980px){
  .lm-laws-layout{ grid-template-columns:1fr; }
}
.lm-laws-content{
  font-size:1.02rem;
  color:var(--lm-gray-700);
  line-height:1.65;
}
.lm-laws-content h2{
  font-size:1.45rem;
  color:var(--lm-navy-800);
  margin:2rem 0 .85rem;
  line-height:1.25;
}
.lm-laws-content h3{
  font-size:1.15rem;
  color:var(--lm-navy-800);
  margin:1.5rem 0 .65rem;
}
.lm-laws-content p{ margin:0 0 1.05rem; }
.lm-laws-content a{ color:var(--lm-accent-dark); }
.lm-laws-content a:hover{ color:var(--lm-accent); }
.lm-laws-content ul, .lm-laws-content ol{
  margin:0 0 1.05rem 0; padding-left:1.4rem;
}
.lm-laws-content li{ margin:.35rem 0; }
.lm-laws-content blockquote{
  margin:1rem 0;
  padding:.85rem 1.1rem;
  background:var(--lm-card);
  border-left:4px solid var(--lm-accent);
  border-radius:0 12px 12px 0;
  font-style:normal;
  color:var(--lm-navy-800);
}

/* License type grid */
.lm-license-types{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:1rem;
  margin:1.25rem 0 1.5rem;
}
.lm-license-card{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:12px;
  padding:1.1rem 1.2rem;
  box-shadow:0 8px 22px rgba(46,107,174,.06);
}
.lm-license-card h3{
  margin:0 0 .5rem;
  color:var(--lm-navy-800);
  font-size:1.1rem;
}
.lm-license-card p{ margin:0 0 .65rem; color:var(--lm-gray-700); }
.lm-license-card ul{
  list-style:none;
  margin:0; padding:0;
  font-size:.92rem;
}
.lm-license-card li{
  padding:.4rem 0;
  border-top:1px solid var(--lm-border);
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}
.lm-license-card li:first-child{ border-top:none; }
.lm-license-card li strong{ color:var(--lm-navy-800); min-width:8.5rem; }
.lm-license-card__source{
  margin:.85rem 0 0;
  font-size:.85rem;
  color:var(--lm-muted);
}
.lm-license-card__source a{ color:var(--lm-accent-dark); }

/* Disclaimer aside */
.lm-disclaimer{
  background:#FFF8E5;
  border:1px solid #F2D98C;
  border-left:4px solid #D9A516;
  border-radius:12px;
  padding:.95rem 1.1rem;
  margin:1.5rem 0;
  font-size:.95rem;
  color:#5A4915;
}
.lm-disclaimer strong{ color:#3F2F00; }

/* Primary sources section */
.lm-sources{
  margin:2rem 0 1rem;
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:12px;
  padding:1.25rem 1.5rem;
}
.lm-sources h2{ margin-top:0; }
.lm-sources ol{
  padding-left:1.3rem;
  margin:0;
  font-size:.95rem;
  color:var(--lm-gray-700);
}
.lm-sources li{ margin:.5rem 0; line-height:1.45; }
.lm-sources a{ color:var(--lm-accent-dark); font-weight:600; }

/* Sidebar CTA card */
.lm-sidebar{
  position:sticky;
  top:1rem;
  display:grid;
  gap:1rem;
}
.lm-sidebar__cta{
  background:linear-gradient(160deg, #FFFFFF 0%, var(--lm-accent-soft) 100%);
  border:1px solid var(--lm-border);
  border-radius:14px;
  padding:1.25rem 1.25rem 1.4rem;
  box-shadow:0 14px 32px rgba(46,107,174,.10);
}
.lm-sidebar__cta h3{
  font-size:1.15rem;
  color:var(--lm-navy-800);
  margin:0 0 .55rem;
  line-height:1.3;
}
.lm-sidebar__cta p{
  font-size:.94rem;
  color:var(--lm-gray-700);
  margin:0 0 1rem;
  line-height:1.5;
}
.lm-sidebar__cta .lm-btn{
  width:100%; justify-content:center;
}
.lm-sidebar__cta .lm-btn + .lm-btn{ margin-top:.6rem; }
.lm-sidebar__small{
  font-size:.82rem;
  color:var(--lm-muted);
  margin:.7rem 0 0;
  text-align:center;
}
.lm-sidebar__related{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:14px;
  padding:1rem 1.2rem;
}
.lm-sidebar__related h3{
  font-size:.95rem; color:var(--lm-navy-800);
  margin:0 0 .65rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.lm-sidebar__related ul{ list-style:none; margin:0; padding:0; }
.lm-sidebar__related li{ margin:.35rem 0; }
.lm-sidebar__related a{
  display:block;
  padding:.45rem .55rem;
  border-radius:8px;
  color:var(--lm-accent-dark);
  text-decoration:none;
  font-size:.93rem;
  transition:background .12s ease;
}
.lm-sidebar__related a:hover{
  background:var(--lm-accent-soft);
  color:var(--lm-accent-dark);
}

/* Inline call CTA (matches mold-remediation pattern) */
.lm-inline-cta{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem;
  background:var(--lm-card);
  border:1px solid var(--lm-border);
  border-radius:12px;
  padding:1rem 1.1rem;
  margin:1.25rem 0 1.5rem;
  box-shadow:0 12px 28px rgba(46,107,174,.08);
}
.lm-inline-cta__copy{ font-size:1rem; color:var(--lm-navy-800); }
.lm-inline-cta__copy strong{ color:var(--lm-navy-800); }
.lm-inline-cta__list{
  display:grid; gap:.45rem; list-style:none; padding:0; margin:.6rem 0 0;
  color:var(--lm-muted); font-size:.9rem;
}
.lm-inline-cta__list li{ position:relative; padding-left:1.35rem; }
.lm-inline-cta__list li::before{
  content:""; position:absolute; left:0; top:.45rem;
  width:.55rem; height:.55rem; border-radius:999px;
  background:var(--lm-accent); opacity:.85;
}
.lm-inline-cta .lm-btn{
  background:var(--lm-accent); color:#fff;
  border-color:var(--lm-accent);
  box-shadow:0 8px 18px rgba(46,107,174,.18);
  white-space:nowrap;
}
@media (max-width:700px){
  .lm-inline-cta{ flex-direction:column; align-items:stretch; }
  .lm-inline-cta .lm-btn{ width:100%; justify-content:center; }
}

/* Sticky bottom call bar (matches mold-remediation pattern) */
.lm-sticky{
  position:fixed; inset:auto 0 0 0;
  background:linear-gradient(135deg, rgba(32,78,128,.98), rgba(20,56,96,.98));
  color:#fff;
  z-index:9999;
  box-shadow:0 -12px 28px rgba(20,56,96,.22);
  transform:translateY(100%);
  transition:transform .25s ease;
}
.lm-sticky--show{ transform:translateY(0); }
.lm-sticky__inner{
  max-width:var(--lm-max);
  margin:0 auto;
  padding:.6rem .85rem;
  display:flex; gap:.9rem;
  align-items:center; justify-content:space-between; flex-wrap:wrap;
}
.lm-sticky__copy{ font-weight:700; font-size:.95rem; }
.lm-sticky .lm-btn{
  background:#FFFFFF; color:var(--lm-accent-dark);
  border-color:#FFFFFF;
}
.lm-sticky .lm-btn:hover{ background:#F0F6FF; color:var(--lm-accent-dark); }
@media (min-width:901px){ .lm-sticky{ display:none; } }

/* Trust badges row */
.lm-trust-row{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:.7rem;
  margin:1.25rem 0 0;
}
.lm-trust-row > div{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(46,107,174,.16);
  border-radius:12px;
  padding:.65rem .65rem;
  display:flex; align-items:center; gap:.5rem; justify-content:center;
  font-weight:600; font-size:.92rem;
  color:var(--lm-navy-800);
}
.lm-trust-row .icon{ color:var(--lm-accent); font-size:1.1rem; }

/* Stat block (used on flood-mold pages) */
.lm-stat{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:14px;
  padding:1.15rem 1.3rem;
  margin:1.25rem 0;
  box-shadow:0 8px 22px rgba(46,107,174,.06);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1rem 1.3rem;
  align-items:center;
}
.lm-stat__num{
  font-size:2.4rem;
  font-weight:800;
  color:var(--lm-accent-dark);
  line-height:1;
  white-space:nowrap;
}
.lm-stat__label{
  font-size:.95rem;
  color:var(--lm-gray-700);
}
.lm-stat__source{
  grid-column:1 / -1;
  font-size:.82rem;
  color:var(--lm-muted);
  border-top:1px solid var(--lm-border);
  padding-top:.6rem;
}
@media (max-width:520px){
  .lm-stat{ grid-template-columns:1fr; }
  .lm-stat__num{ font-size:2rem; }
}

/* Recent events list */
.lm-events{
  margin:1rem 0 1.5rem;
  padding:0;
  list-style:none;
  display:grid;
  gap:.6rem;
}
.lm-events li{
  background:#fff;
  border:1px solid var(--lm-border);
  border-left:4px solid var(--lm-accent);
  border-radius:0 10px 10px 0;
  padding:.75rem 1rem;
  font-size:.95rem;
  color:var(--lm-gray-700);
}
.lm-events li strong{ color:var(--lm-navy-800); }

/* ---------- State resources cross-link block ---------- */
.lm-state-resources{
  margin:2rem 0;
  padding:1.5rem 1.6rem;
  background:linear-gradient(160deg, #FFFFFF 0%, var(--lm-accent-soft) 100%);
  border:1px solid var(--lm-border);
  border-radius:14px;
  box-shadow:0 8px 22px rgba(46,107,174,.06);
}
.lm-state-resources__title{
  margin:0 0 .25rem;
  font-size:1.2rem;
  color:var(--lm-navy-800);
  font-weight:800;
}
.lm-state-resources__copy{
  margin:0 0 1.1rem;
  font-size:.92rem;
  color:var(--lm-muted);
}
.lm-state-resources__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:.8rem;
}
.lm-state-resources__card{
  display:flex; flex-direction:column;
  gap:.35rem;
  background:#FFFFFF;
  border:1px solid var(--lm-border);
  border-radius:12px;
  padding:.95rem 1.05rem;
  text-decoration:none;
  color:var(--lm-navy-800);
  transition:transform .08s ease, box-shadow .15s ease, border-color .15s ease;
}
.lm-state-resources__card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(46,107,174,.14);
  border-color:rgba(46,107,174,.4);
}
.lm-state-resources__card-eyebrow{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--lm-accent-dark);
  font-weight:700;
}
.lm-state-resources__card-title{
  font-size:1rem;
  font-weight:700;
  color:var(--lm-navy-800);
  line-height:1.3;
}
.lm-state-resources__card-desc{
  font-size:.86rem;
  color:var(--lm-muted);
  line-height:1.45;
}

/* ---------- Silo hub layout ---------- */
.lm-hub{ padding-bottom:4rem; }
.lm-hub-trust{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:1rem;
  margin:1rem 0 1.5rem;
}
.lm-hub-trust__item{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:12px;
  padding:1rem 1.1rem;
  text-align:left;
  display:flex; align-items:center; gap:.85rem;
  box-shadow:0 4px 12px rgba(46,107,174,.06);
}
.lm-hub-trust__num{
  font-size:1.6rem;
  font-weight:800;
  color:var(--lm-accent-dark);
  line-height:1;
  white-space:nowrap;
}
.lm-hub-trust__label{
  font-size:.85rem;
  color:var(--lm-muted);
  line-height:1.35;
}

.lm-hub-callout{
  margin:2rem 0;
  background:linear-gradient(160deg, #FFFFFF 0%, var(--lm-accent-soft) 100%);
  border:1px solid var(--lm-border);
  border-radius:14px;
  padding:1.5rem 1.6rem;
  box-shadow:0 8px 22px rgba(46,107,174,.06);
}
.lm-hub-callout h2{
  margin:0 0 .35rem;
  color:var(--lm-navy-800);
  font-size:1.3rem;
}
.lm-hub-callout p{
  margin:0 0 1.1rem;
  color:var(--lm-gray-700);
  font-size:.97rem;
}
.lm-hub-flag-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:.75rem;
}
.lm-hub-flag{
  background:#fff;
  border:1px solid var(--lm-border);
  border-left:4px solid var(--lm-accent);
  border-radius:0 12px 12px 0;
  padding:.85rem 1rem;
  text-decoration:none;
  display:flex; flex-direction:column; gap:.25rem;
  transition:transform .08s ease, box-shadow .15s ease;
}
.lm-hub-flag:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(46,107,174,.14); }
.lm-hub-flag__name{
  font-weight:800; color:var(--lm-navy-800); font-size:1rem;
}
.lm-hub-flag__body{
  font-size:.85rem; color:var(--lm-muted); line-height:1.4;
}

.lm-hub-rank{
  list-style:none;
  counter-reset: rank;
  margin:0; padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:.7rem;
}
.lm-hub-rank li{
  counter-increment: rank;
  position:relative;
}
.lm-hub-rank li a{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:12px;
  padding:.95rem 1rem .9rem 3rem;
  text-decoration:none;
  display:grid;
  grid-template-rows:auto auto;
  gap:.1rem;
  transition:transform .08s ease, box-shadow .15s ease;
}
.lm-hub-rank li a::before{
  content: counter(rank);
  position:absolute;
  left:.85rem; top:.85rem;
  width:1.8rem; height:1.8rem;
  border-radius:999px;
  background:var(--lm-accent);
  color:#fff;
  font-weight:800;
  font-size:.95rem;
  display:flex; align-items:center; justify-content:center;
}
.lm-hub-rank li a:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(46,107,174,.14); }
.lm-hub-rank__name{
  font-weight:700; color:var(--lm-navy-800); font-size:1rem;
}
.lm-hub-rank__num{
  font-weight:800; color:var(--lm-accent-dark); font-size:1.1rem;
  line-height:1;
}
.lm-hub-rank__label{
  font-size:.78rem; color:var(--lm-muted);
  text-transform:uppercase; letter-spacing:.04em;
}

.lm-hub-grid-section{ margin:2.25rem 0; }
.lm-hub-grid-section h2{
  font-size:1.4rem; color:var(--lm-navy-800);
  margin:0 0 .35rem;
}
.lm-hub-grid-section > p{
  color:var(--lm-gray-700);
  margin:0 0 1.1rem;
}
.lm-hub-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  gap:.6rem;
}
.lm-hub-state{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:10px;
  padding:.75rem .9rem;
  text-decoration:none;
  display:flex; flex-direction:column; gap:.2rem;
  transition:transform .08s ease, box-shadow .15s ease, border-color .15s ease;
}
.lm-hub-state:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(46,107,174,.12);
  border-color:rgba(46,107,174,.4);
}
.lm-hub-state__name{
  font-weight:700; color:var(--lm-navy-800); font-size:.97rem;
}
.lm-hub-state__sub{
  font-size:.8rem; color:var(--lm-muted); line-height:1.4;
}
.lm-hub-state__badge{
  display:inline-block;
  background:var(--lm-accent-soft);
  color:var(--lm-accent-dark);
  font-weight:700;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:.18rem .5rem;
  border-radius:999px;
  border:1px solid rgba(46,107,174,.18);
}

.lm-hub-related{ margin:2.5rem 0 1rem; }
.lm-hub-related h2{
  font-size:1.3rem; color:var(--lm-navy-800);
  margin:0 0 1rem;
}
.lm-hub-related-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:.85rem;
}
.lm-hub-related-card{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:12px;
  padding:1.05rem 1.15rem;
  text-decoration:none;
  display:flex; flex-direction:column; gap:.3rem;
  transition:transform .08s ease, box-shadow .15s ease, border-color .15s ease;
}
.lm-hub-related-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(46,107,174,.14);
  border-color:rgba(46,107,174,.4);
}
.lm-hub-related-card__eyebrow{
  font-size:.72rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--lm-accent-dark); font-weight:700;
}
.lm-hub-related-card__title{
  font-size:1rem; font-weight:700; color:var(--lm-navy-800); line-height:1.3;
}
.lm-hub-related-card__desc{
  font-size:.86rem; color:var(--lm-muted); line-height:1.45;
}

.lm-hub__article{
  margin:2rem 0 0;
  padding-top:2rem;
  border-top:1px solid var(--lm-border);
}

/* ---------- Hurricane event affected-states grid ---------- */
.lm-affected-states{ margin:1.75rem 0; }
.lm-affected-states h2{ font-size:1.3rem; color:var(--lm-navy-800); margin:0 0 .5rem; }
.lm-affected-states > p{ color:var(--lm-gray-700); margin:0 0 1rem; }
.lm-affected-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:.7rem;
}
.lm-affected-card{
  background:#fff;
  border:1px solid var(--lm-border);
  border-left:4px solid var(--lm-accent);
  border-radius:0 12px 12px 0;
  padding:.85rem 1rem;
  text-decoration:none;
  display:flex; flex-direction:column; gap:.3rem;
  transition:transform .08s ease, box-shadow .15s ease;
}
.lm-affected-card:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(46,107,174,.14); }
.lm-affected-card__name{
  font-weight:700; color:var(--lm-navy-800); font-size:1rem;
}
.lm-affected-card__cta{
  font-size:.85rem; color:var(--lm-accent-dark); font-weight:600;
}

/* ---------- Hurricane hub: filters + grid ---------- */
.lm-hurr-controls{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:14px;
  padding:1.1rem 1.25rem;
  box-shadow:0 8px 22px rgba(46,107,174,.06);
  margin:2rem 0 1.25rem;
}
.lm-hurr-controls__row{
  display:grid;
  grid-template-columns:2fr 1fr 1.4fr 1.5fr;
  gap:.85rem;
}
@media (max-width:760px){
  .lm-hurr-controls__row{ grid-template-columns:1fr 1fr; }
}
@media (max-width:420px){
  .lm-hurr-controls__row{ grid-template-columns:1fr; }
}
.lm-hurr-controls__label{ display:flex; flex-direction:column; gap:.3rem; }
.lm-hurr-controls__label > span{
  font-size:.78rem; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; color:var(--lm-muted);
}
.lm-hurr-controls input[type="search"],
.lm-hurr-controls select{
  font-size:.95rem;
  padding:.6rem .8rem;
  border:1px solid var(--lm-border);
  border-radius:10px;
  background:#fff;
  color:var(--lm-navy-800);
  width:100%;
}
.lm-hurr-controls input[type="search"]:focus,
.lm-hurr-controls select:focus{
  outline:none;
  border-color:var(--lm-accent);
  box-shadow:0 0 0 3px rgba(46,107,174,.18);
}
.lm-hurr-controls__count{
  margin:.85rem 0 0;
  font-size:.86rem;
  color:var(--lm-muted);
}

.lm-hurr-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:.85rem;
  margin:.75rem 0 1.5rem;
}
.lm-hurr-card{
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:14px;
  padding:1.1rem 1.2rem 1.2rem;
  display:flex; flex-direction:column; gap:.45rem;
  box-shadow:0 8px 22px rgba(46,107,174,.06);
  transition:transform .08s ease, box-shadow .15s ease, border-color .15s ease;
}
.lm-hurr-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(46,107,174,.14);
  border-color:rgba(46,107,174,.4);
}
.lm-hurr-card__head{
  display:flex; align-items:center; justify-content:space-between;
  gap:.5rem; flex-wrap:wrap;
  margin-bottom:.2rem;
}
.lm-hurr-card__year{
  font-size:.78rem; font-weight:800; color:var(--lm-muted);
  letter-spacing:.05em;
}
.lm-hurr-card__type{
  display:inline-block;
  font-size:.7rem; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase;
  padding:.2rem .55rem;
  border-radius:999px;
  border:1px solid transparent;
}
.lm-hurr-card__type--hurricane{
  background:#FFE9E1; color:#A84617;
  border-color:#F6C9B6;
}
.lm-hurr-card__type--tropical-storm{
  background:#E6F0FB; color:var(--lm-accent-dark);
  border-color:rgba(46,107,174,.25);
}
.lm-hurr-card__type--remnant{
  background:#F1ECFB; color:#6B4C9A;
  border-color:#D8C8F0;
}
.lm-hurr-card__name{
  margin:0;
  font-size:1.08rem;
  line-height:1.3;
  color:var(--lm-navy-800);
}
.lm-hurr-card__name a{
  color:inherit; text-decoration:none;
}
.lm-hurr-card__name a:hover{ color:var(--lm-accent-dark); }
.lm-hurr-card__dates{
  font-size:.85rem; color:var(--lm-muted); margin:0;
}
.lm-hurr-card__peak{
  font-size:.85rem; color:var(--lm-gray-700); margin:0;
}
.lm-hurr-card__states{
  font-size:.92rem; color:var(--lm-navy-800); margin:.25rem 0 0;
}
.lm-hurr-card__cta{
  margin-top:auto;
  padding-top:.6rem;
  font-size:.9rem; font-weight:700;
  color:var(--lm-accent-dark); text-decoration:none;
}
.lm-hurr-card__cta:hover{ color:var(--lm-accent); }
.lm-hurr-empty{
  padding:1.5rem;
  background:var(--lm-card);
  border:1px dashed var(--lm-border);
  border-radius:12px;
  color:var(--lm-muted);
  text-align:center;
  font-size:.95rem;
}

/* ---------- State -> cities bridge ---------- */
.lm-state-cities{
  margin:2rem 0;
  background:#fff;
  border:1px solid var(--lm-border);
  border-radius:14px;
  padding:1.5rem 1.6rem;
  box-shadow:0 8px 22px rgba(46,107,174,.06);
}
.lm-state-cities h2{
  margin:0 0 .35rem;
  font-size:1.25rem;
  color:var(--lm-navy-800);
}
.lm-state-cities > p{
  color:var(--lm-gray-700);
  margin:0 0 1rem;
  font-size:.95rem;
}
.lm-state-cities__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  gap:.4rem .8rem;
  list-style:none;
  margin:0;
  padding:0;
}
.lm-state-cities__grid li{ margin:0; }
.lm-state-cities__grid a{
  display:block;
  padding:.4rem .55rem;
  border-radius:8px;
  font-size:.92rem;
  color:var(--lm-accent-dark);
  text-decoration:none;
  transition:background .12s ease;
}
.lm-state-cities__grid a:hover{
  background:var(--lm-accent-soft);
  color:var(--lm-accent-dark);
}
.lm-state-cities__more{
  margin:1rem 0 0;
  font-size:.92rem;
  font-weight:600;
}
.lm-state-cities__more a{
  color:var(--lm-accent-dark);
  text-decoration:none;
}
