/* ============================================================
   Wyoming Legal Resource Directory — design system v2
   ============================================================ */

:root{
  --ink:            #16181b;
  --ink-70:         #43464c;
  --ink-50:         #6c6f76;
  --paper:          #f7f5f0;
  --paper-raised:   #ffffff;
  --line:           #e4e0d5;
  --line-soft:      #edeae1;

  --evergreen:      #1f3327;
  --evergreen-deep: #0e1815;
  --evergreen-mid:  #1a2b22;
  --rust:           #a3542c;
  --rust-deep:      #7e3f20;
  --rust-soft:      #f6e7da;
  --gold:           #c9a25a;

  --focus:          #1660d6;
  --radius-sm:      6px;
  --radius:         10px;
  --radius-lg:      14px;
  --max:            1160px;
  --measure:        66ch;

  --shadow-sm: 0 1px 2px rgba(20,20,15,.05), 0 1px 1px rgba(20,20,15,.04);
  --shadow-md: 0 6px 16px -4px rgba(20,20,15,.10), 0 2px 6px -2px rgba(20,20,15,.06);
  --shadow-lg: 0 24px 48px -12px rgba(14,24,21,.28), 0 8px 20px -6px rgba(14,24,21,.14);

  --serif: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  --sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3{
  font-family:var(--serif);
  color:var(--ink);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-0.015em;
  margin:0 0 .5em;
}
p{margin:0 0 1em;}
a{color:var(--evergreen);text-underline-offset:2px;}
a:hover{color:var(--rust);}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px;}
::selection{background:var(--rust-soft);color:var(--rust-deep);}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
img{max-width:100%;display:block;}
svg{display:block;flex-shrink:0;}

/* ---------- header ---------- */
.site-header{
  background:rgba(247,245,240,.92);
  backdrop-filter:blur(10px) saturate(1.4);
  -webkit-backdrop-filter:blur(10px) saturate(1.4);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(20,20,15,.02), 0 4px 12px -6px rgba(20,20,15,.06);
  position:sticky;top:0;z-index:100;
}
.header-inner{
  max-width:var(--max);margin:0 auto;padding:.9rem 1.75rem;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;}
.brand-mark{
  width:66px;height:auto;
  object-fit:contain;
  flex-shrink:0;
}
.brand-text{
  font-family:var(--serif);font-weight:600;font-size:.98rem;color:var(--ink);
  letter-spacing:-0.01em;line-height:1.15;
}

.site-nav ul{list-style:none;display:flex;align-items:center;gap:.15rem;margin:0;padding:0;}
.site-nav > ul > li{position:relative;}
.site-nav a{
  color:var(--ink-70);text-decoration:none;font-size:.9rem;font-weight:500;
  padding:.55rem .75rem;border-radius:var(--radius-sm);white-space:nowrap;
}
.site-nav a:hover{color:var(--ink);background:var(--line-soft);}
.site-nav a.active{color:var(--rust-deep);font-weight:600;}

.dropdown-trigger{
  display:flex;align-items:center;gap:.4rem;
  background:none;border:0;cursor:pointer;
  color:var(--ink-70);font-family:var(--sans);font-size:.9rem;font-weight:500;
  padding:.55rem .75rem;border-radius:var(--radius-sm);
}
.dropdown-trigger:hover,.dropdown-trigger[aria-expanded="true"]{color:var(--ink);background:var(--line-soft);}
.dropdown-trigger.active{color:var(--rust-deep);font-weight:600;}
.dropdown-trigger svg{transition:transform .15s;color:var(--ink-50);}
.dropdown-trigger[aria-expanded="true"] svg{transform:rotate(180deg);}

.dropdown-panel{
  display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);
  background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-lg);padding:.5rem;
  width:340px;max-width:calc(100vw - 2rem);max-height:70vh;overflow-y:auto;
}
.dropdown-panel.open{display:block;}
.dropdown-item{
  display:block;padding:.65rem .85rem;border-radius:var(--radius-sm);
  color:var(--ink-70);text-decoration:none;font-size:.87rem;line-height:1.4;
}
.dropdown-item:hover{background:var(--rust-soft);color:var(--rust-deep);}
.dropdown-item.active{color:var(--rust-deep);font-weight:600;background:var(--rust-soft);}

.nav-toggle{
  display:none;background:none;border:0;cursor:pointer;
  width:44px;height:44px;align-items:center;justify-content:center;
  border-radius:var(--radius-sm);
}
.nav-toggle:hover{background:var(--line-soft);}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;border-radius:1px;}

@media (max-width: 860px){
  .nav-toggle{display:flex;}
  .site-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--paper-raised);border-bottom:1px solid var(--line);
    padding:.5rem 1.25rem 1.25rem;box-shadow:var(--shadow-md);
    max-height:calc(100vh - 64px);overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .site-nav.open{display:block;}
  .site-nav ul{flex-direction:column;align-items:stretch;gap:0;}
  .site-nav > ul > li{border-bottom:1px solid var(--line-soft);}
  .site-nav a{display:block;padding:1rem .25rem;font-size:.96rem;min-height:44px;box-sizing:border-box;display:flex;align-items:center;}
  .dropdown-trigger{width:100%;justify-content:space-between;padding:1rem .25rem;min-height:44px;font-size:.96rem;}
  .dropdown-panel{position:static;transform:none;width:auto;box-shadow:none;border:0;background:var(--paper);margin:.25rem 0 .5rem;}
  .dropdown-item{padding:.85rem .85rem;font-size:.9rem;min-height:44px;box-sizing:border-box;display:flex;align-items:center;}
}

/* ---------- hero ---------- */
.hero{
  background:
    radial-gradient(ellipse 900px 500px at 15% -20%, rgba(163,84,44,.35), transparent 60%),
    radial-gradient(ellipse 700px 500px at 90% 10%, rgba(201,162,90,.12), transparent 55%),
    var(--evergreen-deep);
  color:#f2efe6;
  padding:5.5rem 1.75rem 5rem;
  position:relative;
  overflow:hidden;
}
.hero-inner{max-width:720px;margin:0 auto;text-align:center;position:relative;}
.hero-kicker{
  font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:1.25rem;display:inline-block;
  padding:.35rem .9rem;border:1px solid rgba(201,162,90,.35);border-radius:20px;
}
.hero h1{
  color:#fbf9f4;font-size:clamp(2.2rem,5.2vw,3.4rem);font-weight:600;
  margin-bottom:.55em;letter-spacing:-0.02em;
}
.hero-sub{
  color:#c3cabf;font-size:1.14rem;max-width:600px;margin:0 auto 2.5rem;
  line-height:1.65;
}
.search-form{display:flex;gap:.6rem;max-width:540px;margin:0 auto;}
.search-form input{
  flex:1;padding:.9rem 1.15rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.12);
  font-size:16px;font-family:var(--sans);background:rgba(255,255,255,.96);color:var(--ink);
  box-shadow:var(--shadow-sm);min-height:48px;box-sizing:border-box;
}
.search-form input::placeholder{color:var(--ink-50);}
.search-form button{
  background:var(--rust);color:#fff;border:0;border-radius:var(--radius-sm);
  padding:.9rem 1.6rem;font-weight:600;cursor:pointer;font-size:.95rem;
  letter-spacing:.01em;box-shadow:var(--shadow-sm);transition:background .15s,transform .1s;
  min-height:48px;box-sizing:border-box;
}
.search-form button:hover{background:var(--rust-deep);transform:translateY(-1px);}
.search-results{
  max-width:600px;margin:.85rem auto 0;background:var(--paper-raised);border-radius:var(--radius);
  text-align:left;color:var(--ink);overflow:hidden;box-shadow:var(--shadow-lg);
  border:1px solid rgba(0,0,0,.04);
}
.search-results a{display:block;padding:.8rem 1.15rem;border-bottom:1px solid var(--line-soft);text-decoration:none;color:var(--ink);}
.search-results a:last-child{border-bottom:0;}
.search-results a:hover{background:var(--rust-soft);}
.search-results .sr-name{font-weight:600;color:var(--ink);font-family:var(--serif);font-size:1rem;}
.search-results .sr-cat{font-size:.78rem;color:var(--ink-50);margin-top:.15rem;}
.search-results .sr-empty{padding:.9rem 1.15rem;color:var(--ink-50);font-size:.9rem;}

/* ---------- intro band ---------- */
.intro-band{border-bottom:1px solid var(--line);background:var(--paper-raised);}
.intro-inner{max-width:var(--measure);margin:0 auto;padding:3.25rem 1.75rem;text-align:center;}
.intro-inner p{margin:0;color:var(--ink-70);font-size:1.08rem;line-height:1.75;}

/* ---------- sections ---------- */
.section-inner{max-width:var(--max);margin:0 auto;padding:4.5rem 1.75rem;}
.section-label{
  font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rust);font-weight:600;text-align:center;display:block;margin-bottom:.7rem;
}
.categories h2, .quick-help h2{
  text-align:center;font-size:clamp(1.55rem,4vw,2rem);margin-bottom:3rem;
}

.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem;}
.cat-card{
  display:block;background:var(--paper-raised);
  padding:2rem 1.9rem 1.75rem;text-decoration:none;color:var(--ink);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  transition:box-shadow .25s cubic-bezier(.2,.8,.2,1),transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s ease;
}
.cat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#d8d2c2;}
.cat-index{
  font-family:var(--serif);font-size:.85rem;font-weight:600;color:var(--gold);
  display:block;margin-bottom:.9rem;letter-spacing:.05em;
}
.cat-card h3{font-size:1.2rem;margin-bottom:.55rem;}
.cat-card p{color:var(--ink-70);font-size:.93rem;margin:0 0 1.4rem;line-height:1.6;}
.cat-count{
  color:var(--ink-50);font-weight:600;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.35rem;
}
.cat-card:hover .cat-count{color:var(--rust-deep);}
.cat-card:hover .cat-count svg{transform:translate(1px,-1px);}
.cat-count svg{transition:transform .15s;}

.quick-help{background:var(--evergreen-deep);border-top:1px solid var(--line);}
.quick-help h2{color:#fbf9f4;}
.quick-help .section-label{color:var(--gold);}
.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;}
.quick-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);
  padding:1.6rem 1.7rem;
}
.quick-card h3{font-size:1rem;margin-bottom:.5rem;font-family:var(--sans);font-weight:600;color:#f2efe6;}
.quick-card p{margin:0;font-size:.9rem;color:#a9b2a3;}
.quick-card a{color:var(--gold);}
.quick-card a:hover{color:#e0c07f;}

/* ---------- category page ---------- */
.cat-hero{
  background:
    radial-gradient(ellipse 800px 400px at 85% -20%, rgba(163,84,44,.3), transparent 60%),
    var(--evergreen-deep);
  color:#f2efe6;
}
.cat-hero .section-inner{padding:3.25rem 1.75rem 3rem;}
.breadcrumb{font-size:.82rem;color:#8f9b8a;margin:0 0 1.1rem;}
.breadcrumb a{color:#b7c0b1;text-decoration:none;}
.breadcrumb a:hover{color:#fff;}
.cat-hero h1{color:#fbf9f4;font-size:clamp(1.9rem,4.2vw,2.5rem);}
.cat-desc{color:#b7c0b1;max-width:var(--measure);margin:0;font-size:1.08rem;}

.resource-list{background:var(--paper);}
.resource-list .section-inner{padding-top:3.25rem;}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;}
.resource-card{
  background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.85rem 1.85rem 1.6rem;display:flex;flex-direction:column;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .25s cubic-bezier(.2,.8,.2,1),transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s ease;
}
.resource-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#d8d2c2;}
.resource-card-top{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:.85rem;}
.resource-mark{
  flex-shrink:0;width:38px;height:38px;border-radius:9px;
  background:var(--rust-soft);color:var(--rust-deep);
  font-family:var(--serif);font-weight:600;font-size:.82rem;
  display:flex;align-items:center;justify-content:center;
  letter-spacing:.02em;margin-top:.1rem;
}
.resource-card h3{font-size:1.1rem;margin:0;line-height:1.3;}
.resource-card h3 a{text-decoration:none;color:var(--ink);}
.resource-card h3 a:hover{color:var(--rust);}
.resource-card p{color:var(--ink-70);font-size:.92rem;margin:0 0 1.2rem;line-height:1.62;flex:1;}
.tag-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;}
.tag{
  background:var(--paper);color:var(--ink-70);font-size:.71rem;font-weight:600;
  padding:.28rem .65rem;border-radius:20px;border:1px solid var(--line);
  letter-spacing:.01em;
}
.visit-link{
  font-size:.85rem;font-weight:600;text-decoration:none;color:var(--evergreen);
  display:inline-flex;align-items:center;gap:.35rem;
  padding-top:.9rem;border-top:1px solid var(--line-soft);margin-top:auto;
}
.visit-link svg{transition:transform .15s;}
.visit-link:hover{color:var(--rust);}
.visit-link:hover svg{transform:translate(1px,-1px);}

.cat-pager{display:flex;justify-content:space-between;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line);font-size:.9rem;}
.cat-pager a{text-decoration:none;font-weight:600;color:var(--ink-70);}
.cat-pager a:hover{color:var(--rust);}

/* ---------- about ---------- */
.about-content{background:var(--paper-raised);}
.prose{max-width:var(--measure);}
.prose h2{margin-top:2.4rem;font-size:1.4rem;}
.prose p{color:var(--ink-70);font-size:1.03rem;line-height:1.78;}

/* ---------- footer ---------- */
.site-footer{background:var(--evergreen-deep);color:#c3cabf;margin-top:2rem;}
.footer-inner{max-width:var(--max);margin:0 auto;padding:3.5rem 1.75rem 2.5rem;}
.footer-disclaimer{
  border-left:3px solid var(--rust);
  padding:1.1rem 1.5rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  font-size:.9rem;margin:0 0 2.75rem;color:#e3e6dc;
  background:rgba(255,255,255,.04);
}
.footer-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.75rem;margin-bottom:2.25rem;}
.footer-columns h3{
  color:#f2efe6;font-family:var(--sans);font-size:.76rem;text-transform:uppercase;
  letter-spacing:.1em;margin-bottom:.85rem;font-weight:600;
}
.footer-columns ul{list-style:none;margin:0;padding:0;font-size:.9rem;}
.footer-columns li{margin-bottom:.55rem;}
.footer-columns a{color:#c3cabf;text-decoration:none;}
.footer-columns a:hover{color:#fff;}
.footer-meta{font-size:.78rem;color:#78826f;border-top:1px solid rgba(255,255,255,.09);padding-top:1.35rem;margin:0;}

@media (max-width:640px){
  .search-form{flex-direction:column;}
  .section-inner{padding:3rem 1.25rem;}
  .hero{padding:4rem 1.25rem 3.25rem;}
  .brand-text{display:none;}
  .resource-card,.event-card{padding:1.5rem 1.4rem 1.35rem;}
  .cat-card{padding:1.6rem 1.4rem 1.4rem;}
  .cat-pager{flex-direction:column;gap:.85rem;text-align:center;}
}

@media (max-width:480px){
  .header-inner{padding:.75rem 1.1rem;}
  .brand-mark{width:52px;}
  .hero{padding:3.25rem 1.1rem 2.75rem;}
  .hero-kicker{font-size:.7rem;padding:.3rem .75rem;}
  .hero-sub{font-size:1.02rem;margin-bottom:2rem;}
  .intro-inner{padding:2.5rem 1.1rem;}
  .section-inner{padding:2.5rem 1.1rem;}
  .cat-hero .section-inner{padding:2.5rem 1.1rem 2.25rem;}
  .categories h2, .quick-help h2{margin-bottom:2.25rem;}
  .cat-grid,.resource-grid,.quick-grid,.law-grid,.form-grid,.county-grid{gap:1rem;}
  .cat-grid,.resource-grid,.quick-grid,.law-grid,.form-grid,.county-grid{grid-template-columns:1fr;}
  .resource-card,.event-card,.cat-card{padding:1.35rem 1.2rem 1.2rem;}
  .resource-card-top{gap:.65rem;}
  .footer-inner{padding:2.75rem 1.1rem 2rem;}
  .footer-columns{gap:1.5rem 1.25rem;grid-template-columns:1fr 1fr;}
  .glossary-item{padding:.9rem 0;}
}

/* ---------- resource detail disclosure ---------- */
.resource-details{
  margin:0 0 1.1rem;border-top:1px solid var(--line-soft);padding-top:.9rem;
}
.resource-details summary{
  cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  font-size:.84rem;font-weight:600;color:var(--evergreen);
  padding:.15rem 0;
}
.resource-details summary::-webkit-details-marker{display:none;}
.resource-details summary:hover{color:var(--rust);}
.resource-details .chev{color:var(--ink-50);transition:transform .18s;flex-shrink:0;}
.resource-details[open] summary .chev{transform:rotate(180deg);}
.resource-details[open] summary{margin-bottom:.9rem;color:var(--ink);}

.detail-body{
  background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius-sm);
  padding:1rem 1.15rem .2rem;
}
.detail-row{margin-bottom:1rem;}
.detail-row:last-child{margin-bottom:.8rem;}
.detail-label{
  display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--rust-deep);margin-bottom:.35rem;
}
.detail-row p{
  margin:0;font-size:.87rem;line-height:1.6;color:var(--ink-70);
}

/* ---------- category intro (SEO content) ---------- */
.cat-intro{
  max-width:var(--measure);margin:0 0 2.5rem;color:var(--ink-70);
  font-size:1rem;line-height:1.7;
}

/* ---------- events & clinics ---------- */
.event-card{
  background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.85rem 1.85rem 1.6rem;display:flex;flex-direction:column;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .25s cubic-bezier(.2,.8,.2,1),transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s ease;
}
.event-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#d8d2c2;}
.event-card-top{margin-bottom:.8rem;}
.event-category-badge{
  display:inline-block;background:var(--evergreen-deep);color:var(--gold);
  font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:.3rem .75rem;border-radius:20px;
}
.event-card h3{font-size:1.1rem;margin-bottom:.3rem;}
.event-organizer{font-size:.85rem;color:var(--ink-50);margin:0 0 .9rem;}
.event-schedule{
  display:flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:600;
  padding:.6rem .85rem;border-radius:var(--radius-sm);margin-bottom:.7rem;
}
.event-schedule.schedule-confirmed{background:var(--rust-soft);color:var(--rust-deep);}
.event-schedule.schedule-unconfirmed{background:var(--line-soft);color:var(--ink-70);}
.event-schedule svg{flex-shrink:0;}
.event-location{font-size:.85rem;color:var(--ink-50);margin:0 0 .9rem;font-style:italic;}
.event-card > p:not(.event-organizer):not(.event-location){
  color:var(--ink-70);font-size:.92rem;line-height:1.62;margin:0 0 1.1rem;
}
.event-card .detail-body{margin-bottom:1.1rem;}

/* Relevant Wyoming Law reference section */
.law-reference{
  background:var(--rust-soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:2rem 0;
}
.law-reference-head{
  max-width:var(--measure);
  margin-bottom:1.4rem;
}
.law-reference-head h2{
  font-family:var(--serif);font-size:clamp(1.12rem,3vw,1.3rem);font-weight:600;
  color:var(--rust-deep);margin:0 0 .35rem;
  display:flex;align-items:center;gap:.5rem;
}
.law-reference-head h2::before{
  content:"§";
  display:inline-flex;align-items:center;justify-content:center;
  width:1.6rem;height:1.6rem;border-radius:50%;
  background:var(--rust);color:#fff;font-size:.95rem;font-weight:700;
  flex-shrink:0;
}
.law-reference-head p{
  margin:0;font-size:.88rem;color:var(--ink-70);line-height:1.55;
}
.law-grid{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:1rem;
}
.law-item{
  display:block;text-decoration:none;color:inherit;
  background:var(--paper-raised);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1rem 1.15rem;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .15s ease, transform .15s ease;
}
.law-item:hover, .law-item:focus-visible{
  box-shadow:var(--shadow-md);transform:translateY(-2px);outline:none;
}
.law-item-top{
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  margin-bottom:.4rem;
}
.law-citation{
  font-family:'Courier New', monospace;font-size:.76rem;font-weight:600;
  color:var(--rust-deep);letter-spacing:.01em;
}
.law-badge{
  font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  padding:.18rem .5rem;border-radius:999px;white-space:nowrap;
}
.law-badge-official{background:var(--evergreen);color:var(--paper);}
.law-badge-secondary{background:var(--line-soft);color:var(--ink-70);}
.law-title{
  font-family:var(--serif);font-size:1rem;font-weight:600;
  color:var(--ink);margin:0 0 .35rem;line-height:1.3;
}
.law-desc{
  font-size:.85rem;color:var(--ink-70);line-height:1.55;margin:0;
}

/* Legal glossary */
.glossary-list{
  margin:1.5rem 0 0;
  display:grid;
  gap:0;
}
.glossary-item{
  padding:1.1rem 0;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(180px, 260px) 1fr;
  gap:1.5rem;
  align-items:start;
}
.glossary-item:first-child{border-top:1px solid var(--line);}
.glossary-item dt{
  font-family:var(--serif);font-weight:600;font-size:1.02rem;
  color:var(--evergreen);margin:0;
}
.glossary-item dd{
  margin:0;font-size:.92rem;color:var(--ink-70);line-height:1.65;
}
@media (max-width: 640px){
  .glossary-item{grid-template-columns:1fr;gap:.3rem;}
}

/* Court forms library */
.form-grid{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:1rem;
}
.form-item{
  display:block;text-decoration:none;color:inherit;
  background:var(--paper-raised);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.1rem 1.25rem;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .15s ease, transform .15s ease;
}
.form-item:hover, .form-item:focus-visible{
  box-shadow:var(--shadow-md);transform:translateY(-2px);outline:none;
}
.form-item-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;
  margin-bottom:.5rem;
}
.form-title{
  font-family:var(--serif);font-size:1.02rem;font-weight:600;
  color:var(--ink);margin:0;line-height:1.32;flex:1;
}
.form-badge{
  font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  padding:.18rem .5rem;border-radius:999px;white-space:nowrap;flex-shrink:0;
}
.form-badge-direct{background:var(--evergreen);color:var(--paper);}
.form-badge-hub{background:var(--line-soft);color:var(--ink-70);}
.form-desc{
  font-size:.87rem;color:var(--ink-70);line-height:1.58;margin:0 0 .6rem;
}
.form-related{
  font-size:.78rem;color:var(--rust-deep);font-weight:600;text-decoration:none;
}
.form-related:hover{text-decoration:underline;}

/* County coverage index */
.county-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.county-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  text-align: left;
  padding: 1.25rem 1.4rem;
  background: var(--paper);
  border: 1px solid rgba(20, 30, 25, 0.1);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  font-family: inherit;
  transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}

.county-card:hover,
.county-card:focus-visible {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
  border-color: var(--evergreen);
  outline: none;
}

.county-name {
  font-family: "Fraunces", serif;
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--ink);
}

.county-seat {
  font-size: 0.82rem;
  color: rgba(20, 30, 25, 0.6);
}

.county-count {
  margin-top: 0.4rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--evergreen);
}

.county-count-local {
  display: block;
  font-weight: 400;
  color: rgba(20, 30, 25, 0.55);
  font-size: 0.78rem;
  margin-top: 0.15rem;
}

.county-results {
  margin-top: 2rem;
}

.county-clear {
  background: none;
  border: none;
  color: var(--evergreen);
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  padding: 0;
  margin-bottom: 1rem;
  font-family: inherit;
}

.county-clear:hover {
  text-decoration: underline;
}

#countyResultsTitle {
  font-family: "Fraunces", serif;
  margin-bottom: 1rem;
}

.county-result-category {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--rust);
  margin-bottom: 0.3rem;
}
