/* ===========================================================================
   Jail411 directory index.
   Generated by build/build-directory.py from the design handoff — every rule in
   the extracted block is a style string lifted verbatim and deduplicated into a
   class. No value reinterpreted. Do not hand-edit; re-run the generator.
   ======================================================================== */
body.page-directory-2026{
  margin:0;background:#0D1B2A;
  font-family:'Outfit',system-ui,sans-serif;color:#E0E1DD;-webkit-font-smoothing:antialiased}
body.page-directory-2026 *{box-sizing:border-box}
html:has(body.page-directory-2026){scroll-behavior:smooth;background:#0D1B2A}
body.page-directory-2026 a{color:#D4A03C;text-decoration:none}
body.page-directory-2026 a:hover{color:#E6B95C}
body.page-directory-2026 input{font-family:'Outfit',system-ui,sans-serif}
body.page-directory-2026 .wrap{width:auto;max-width:none;margin:0;padding:0;background:transparent}

body.page-directory-2026 .d-flex1{
  flex:1
}
body.page-directory-2026 .d-grid102{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(214px,1fr));
  gap:1px;
  background:rgba(65,90,119,0.35);
  border:1px solid rgba(65,90,119,0.35);
  border-radius:8px;
  overflow:hidden
}
body.page-directory-2026 .d-grid120{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin:0 0 24px
}
body.page-directory-2026 .d-grid32{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:48px;
  align-items:end;
  margin:0 0 30px
}
body.page-directory-2026 .d-grid34{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:rgba(65,90,119,0.4);
  border:1px solid rgba(65,90,119,0.4);
  border-radius:8px;
  overflow:hidden
}
body.page-directory-2026 .d-grid37{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:48px;
  align-items:end;
  margin:0 0 28px
}
body.page-directory-2026 .d-grid49{
  position:relative;
  max-width:1280px;
  margin:0 auto;
  padding:72px 32px 0;
  display:grid;
  grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);
  gap:56px;
  align-items:start
}
body.page-directory-2026 .d-grid7{
  display:grid;
  grid-template-columns:64px 320px minmax(0,1fr) 150px;
  gap:24px;
  align-items:center;
  padding:22px 4px;
  border-bottom:1px solid rgba(65,90,119,0.45);
  transition:padding 240ms cubic-bezier(.22,.61,.36,1),background 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-grid87{
  margin-top:20px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
  gap:48px;
  align-items:center;
  background:#1B263B;
  border:1px solid rgba(65,90,119,0.5);
  border-radius:8px;
  padding:26px 28px
}
body.page-directory-2026 .d-grid94{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:48px;
  align-items:end;
  margin:0 0 26px
}
body.page-directory-2026 .d-s002{
  border-right:1px solid rgba(224,225,221,0.045)
}
body.page-directory-2026 .d-s003{
  font-family:'Instrument Sans',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(224,225,221,0.6)
}
body.page-directory-2026 .d-s004{
  display:flex;
  align-items:baseline;
  gap:18px;
  border-top:1px solid rgba(224,225,221,0.28);
  padding-top:13px;
  margin:0 0 30px
}
body.page-directory-2026 .d-s005{
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.1em;
  color:#D4A03C;
  flex:none
}
body.page-directory-2026 .d-s006{
  font-family:'Instrument Sans',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:rgba(224,225,221,0.55);
  flex:none
}
body.page-directory-2026 .d-s008{
  font-family:'Instrument Sans',sans-serif;
  font-size:22px;
  font-weight:600;
  color:rgba(65,90,119,0.9);
  letter-spacing:-0.02em
}
body.page-directory-2026 .d-s009{
  font-family:'Instrument Sans',sans-serif;
  font-size:20px;
  font-weight:600;
  color:#fff;
  letter-spacing:-0.025em
}
body.page-directory-2026 .d-s010{
  margin:0;
  font-size:15px;
  line-height:1.55;
  color:rgba(224,225,221,0.65)
}
body.page-directory-2026 .d-s011{
  text-align:right;
  font-size:14px;
  font-weight:600;
  color:#D4A03C
}
body.page-directory-2026 .d-s012{
  border-top:2px solid #0D1B2A;
  padding-top:16px
}
body.page-directory-2026 .d-s013{
  display:block;
  font-family:'Instrument Sans',sans-serif;
  font-size:17px;
  font-weight:600;
  color:#0D1B2A;
  margin-bottom:8px
}
body.page-directory-2026 .d-s014{
  font-size:14px;
  line-height:1.6;
  color:#3A4453
}
body.page-directory-2026 .d-s015{
  font-size:12px;
  color:rgba(224,225,221,0.55)
}
body.page-directory-2026 .d-s016{
  position:absolute;
  left:0;
  top:-1px;
  width:1px;
  height:9px;
  background:rgba(224,225,221,0.4)
}
body.page-directory-2026 .d-s017{
  font-family:'Instrument Sans',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:rgba(224,225,221,0.6)
}
body.page-directory-2026 .d-s018{
  font-family:'Instrument Sans',sans-serif;
  font-size:clamp(36px,4.2vw,56px);
  font-weight:600;
  letter-spacing:-0.038em;
  color:#fff;
  margin:0;
  line-height:1.04
}
body.page-directory-2026 .d-s019{
  position:relative;
  display:block;
  background:#0D1B2A;
  padding:28px 26px 32px;
  overflow:hidden;
  transition:background 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-s020{
  position:absolute;
  right:16px;
  bottom:2px;
  font-family:'Instrument Sans',sans-serif;
  font-size:92px;
  font-weight:600;
  color:rgba(65,90,119,0.2);
  line-height:1;
  letter-spacing:-0.04em
}
body.page-directory-2026 .d-s021{
  position:relative;
  display:block;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#D4A03C;
  margin-bottom:12px
}
body.page-directory-2026 .d-s022{
  position:relative;
  display:block;
  font-family:'Instrument Sans',sans-serif;
  font-size:28px;
  font-weight:600;
  color:#fff;
  margin-bottom:10px;
  letter-spacing:-0.03em
}
body.page-directory-2026 .d-s023{
  position:relative;
  margin:0 0 14px;
  font-size:15px;
  line-height:1.6;
  color:rgba(224,225,221,0.65)
}
body.page-directory-2026 .d-s024{
  position:relative;
  font-size:14px;
  font-weight:600;
  color:#D4A03C
}
body.page-directory-2026 .d-s025{
  font-size:15px;
  color:rgba(224,225,221,0.82)
}
body.page-directory-2026 .d-s026{
  flex:none;
  font-size:14px;
  font-weight:600
}
body.page-directory-2026 .d-s027{
  display:block;
  background:#1B263B;
  padding:26px 26px 28px;
  transition:background 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-s028{
  display:block;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#D4A03C;
  margin-bottom:10px
}
body.page-directory-2026 .d-s029{
  display:block;
  font-family:'Instrument Sans',sans-serif;
  font-size:22px;
  font-weight:600;
  color:#fff;
  letter-spacing:-0.025em;
  margin-bottom:12px
}
body.page-directory-2026 .d-s030{
  font-size:14px;
  font-weight:600;
  color:#D4A03C
}
body.page-directory-2026 .d-s031{
  display:block;
  font-family:'Instrument Sans',sans-serif;
  font-size:34px;
  font-weight:600;
  letter-spacing:-0.035em;
  color:#fff;
  font-variant-numeric:tabular-nums;
  line-height:1;
  margin-bottom:8px
}
body.page-directory-2026 .d-s033{
  margin:0;
  font-size:17px;
  line-height:1.65;
  color:rgba(224,225,221,0.7);
  max-width:50ch
}
body.page-directory-2026 .d-s035{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  padding:12px 0;
  border-bottom:1px solid rgba(65,90,119,0.5)
}
body.page-directory-2026 .d-s036{
  max-width:1280px;
  margin:0 auto;
  padding:84px 32px 0
}
body.page-directory-2026 .d-s038{
  display:flex;
  align-items:baseline;
  gap:18px;
  border-top:1px solid #0D1B2A;
  padding-top:13px;
  margin:0 0 30px
}
body.page-directory-2026 .d-s039{
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.1em;
  color:#0D1B2A;
  flex:none
}
body.page-directory-2026 .d-s040{
  font-family:'Instrument Sans',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#5A6472
}
body.page-directory-2026 .d-s041{
  font-family:'Instrument Sans',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#5A6472;
  flex:none
}
body.page-directory-2026 .d-s042{
  display:block;
  background:#fff;
  border:1px solid #DDDDD6;
  border-radius:8px;
  padding:28px 30px;
  transition:border-color 240ms cubic-bezier(.22,.61,.36,1),box-shadow 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-s043{
  display:block;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#5A6472;
  margin-bottom:10px
}
body.page-directory-2026 .d-s044{
  display:block;
  font-family:'Instrument Sans',sans-serif;
  font-size:28px;
  font-weight:600;
  letter-spacing:-0.03em;
  color:#0D1B2A;
  margin-bottom:10px
}
body.page-directory-2026 .d-s045{
  font-size:14px;
  font-weight:600;
  color:#415A77
}
body.page-directory-2026 .d-s046{
  min-height:100vh;
  background:#0D1B2A;
  overflow-x:hidden
}
body.page-directory-2026 .d-s047{
  position:relative;
  border-bottom:1px solid rgba(65,90,119,0.4)
}
body.page-directory-2026 .d-s048{
  position:absolute;
  inset:0;
  pointer-events:none;
  display:grid;
  grid-template-columns:repeat(6,1fr)
}
body.page-directory-2026 .d-s050{
  min-width:0
}
body.page-directory-2026 .d-s051{
  font-size:13px;
  color:rgba(224,225,221,0.6);
  margin-bottom:26px;
  display:flex;
  gap:8px
}
body.page-directory-2026 .d-s052{
  color:rgba(224,225,221,0.6)
}
body.page-directory-2026 .d-s053{
  color:#F4F4F1
}
body.page-directory-2026 .d-s054{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 26px
}
body.page-directory-2026 .d-s055{
  width:30px;
  height:1px;
  background:#D4A03C;
  flex:none
}
body.page-directory-2026 .d-s056{
  font-family:'Instrument Sans',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:#D4A03C;
  margin:0
}
body.page-directory-2026 .d-s057{
  font-family:'Instrument Sans',sans-serif;
  font-size:clamp(48px,6vw,92px);
  line-height:0.92;
  letter-spacing:-0.042em;
  font-weight:600;
  color:#fff;
  margin:0 0 24px;
  text-transform:uppercase
}
body.page-directory-2026 .d-s058{
  font-size:18px;
  line-height:1.6;
  color:rgba(224,225,221,0.78);
  margin:0 0 26px;
  max-width:46ch
}
body.page-directory-2026 .d-s059{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 22px
}
body.page-directory-2026 .d-s060{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%)
}
body.page-directory-2026 .d-s061{
  flex:1;
  min-width:250px;
  display:flex;
  align-items:center;
  gap:12px;
  background:#1B263B;
  border:1px solid rgba(65,90,119,0.6);
  border-radius:6px;
  padding:0 16px;
  transition:border-color 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-s062{
  flex:none
}
body.page-directory-2026 .d-s063{
  flex:1;
  min-width:0;
  border:0;
  outline:none;
  font-size:16px;
  color:#fff;
  padding:15px 0;
  background:transparent
}
body.page-directory-2026 .d-s064{
  background:#D4A03C;
  color:#0D1B2A;
  border:0;
  font-family:'Instrument Sans',sans-serif;
  font-weight:600;
  font-size:15px;
  padding:15px 26px;
  border-radius:6px;
  cursor:pointer;
  transition:background 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-s065{
  margin:0 0 26px;
  font-size:14px;
  color:rgba(224,225,221,0.6)
}
body.page-directory-2026 .d-s066{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:rgba(224,225,221,0.62);
  max-width:52ch;
  padding-left:16px;
  border-left:2px solid #D4A03C
}
body.page-directory-2026 .d-s067{
  color:#fff;
  font-weight:600
}
body.page-directory-2026 .d-s068{
  position:relative;
  min-width:0
}
body.page-directory-2026 .d-s069{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid rgba(224,225,221,0.2);
  padding-top:12px;
  margin-bottom:12px
}
body.page-directory-2026 .d-s070{
  font-family:'Instrument Sans',sans-serif;
  font-size:13px;
  font-weight:600;
  color:#D4A03C;
  min-height:18px
}
body.page-directory-2026 .d-s071{
  position:relative;
  width:100%;
  aspect-ratio:975/610
}
body.page-directory-2026 .d-s072{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:10px
}
body.page-directory-2026 .d-s073{
  position:relative;
  display:flex;
  gap:3px;
  padding-bottom:7px
}
body.page-directory-2026 .d-s074{
  width:26px;
  height:9px;
  background:#182739;
  display:block
}
body.page-directory-2026 .d-s075{
  width:26px;
  height:9px;
  background:#25374F;
  display:block
}
body.page-directory-2026 .d-s076{
  width:26px;
  height:9px;
  background:#385071;
  display:block
}
body.page-directory-2026 .d-s077{
  width:26px;
  height:9px;
  background:#5A7799;
  display:block
}
body.page-directory-2026 .d-s078{
  width:26px;
  height:9px;
  background:#D4A03C;
  display:block
}
body.page-directory-2026 .d-s079{
  position:absolute;
  left:0;
  bottom:0;
  width:26px;
  height:3px;
  background:#D4A03C;
  opacity:0;
  transform:translateX(0);
  transition:transform 240ms cubic-bezier(.22,.61,.36,1),opacity 160ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-s080{
  position:relative;
  max-width:1280px;
  margin:0 auto;
  padding:40px 32px 0
}
body.page-directory-2026 .d-s081{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(224,225,221,0.16)
}
body.page-directory-2026 .d-s082{
  position:relative;
  padding:20px 24px 24px 0
}
body.page-directory-2026 .d-s083{
  position:relative;
  padding:20px 24px 24px;
  border-left:1px solid rgba(224,225,221,0.16)
}
body.page-directory-2026 .d-s084{
  position:relative;
  padding:20px 0 24px 24px;
  border-left:1px solid rgba(224,225,221,0.16)
}
body.page-directory-2026 .d-s085{
  display:block;
  font-family:'Instrument Sans',sans-serif;
  font-size:34px;
  font-weight:600;
  letter-spacing:-0.035em;
  color:#D4A03C;
  font-variant-numeric:tabular-nums;
  line-height:1;
  margin-bottom:8px
}
body.page-directory-2026 .d-s086{
  max-width:1280px;
  margin:0 auto;
  padding:76px 32px 0
}
body.page-directory-2026 .d-s088{
  margin:0 0 6px;
  font-family:'Instrument Sans',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#D4A03C
}
body.page-directory-2026 .d-s089{
  font-family:'Instrument Sans',sans-serif;
  font-size:22px;
  font-weight:600;
  letter-spacing:-0.025em;
  color:#fff;
  margin:0 0 10px;
  line-height:1.15
}
body.page-directory-2026 .d-s090{
  font-size:14px;
  font-weight:600
}
body.page-directory-2026 .d-s091{
  display:grid;
  gap:0;
  border-top:1px solid rgba(65,90,119,0.5)
}
body.page-directory-2026 .d-s092{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  padding:12px 0
}
body.page-directory-2026 .d-s093{
  max-width:1280px;
  margin:0 auto;
  padding:84px 32px 0;
  scroll-margin-top:90px
}
body.page-directory-2026 .d-s095{
  font-family:'Instrument Sans',sans-serif;
  font-size:clamp(36px,4.2vw,56px);
  font-weight:600;
  letter-spacing:-0.038em;
  color:#fff;
  margin:0 0 12px;
  line-height:1.04
}
body.page-directory-2026 .d-s096{
  margin:0;
  font-size:17px;
  line-height:1.65;
  color:rgba(224,225,221,0.7);
  max-width:62ch
}
body.page-directory-2026 .d-s097{
  display:block;
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(224,225,221,0.55);
  margin:0 0 8px
}
body.page-directory-2026 .d-s098{
  width:100%;
  border:1px solid rgba(65,90,119,0.6);
  border-radius:6px;
  outline:none;
  font-size:15px;
  color:#fff;
  padding:13px 14px;
  background:#1B263B;
  transition:border-color 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-s099{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px
}
body.page-directory-2026 .d-s100{
  font-family:'Outfit',sans-serif;
  font-size:13px;
  font-weight:600;
  border-radius:100px;
  padding:8px 16px;
  cursor:pointer;
  background:transparent;
  border:1px solid rgba(65,90,119,0.7);
  color:rgba(224,225,221,0.8);
  transition:background 240ms cubic-bezier(.22,.61,.36,1),border-color 240ms cubic-bezier(.22,.61,.36,1),color 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-s101{
  margin:0 0 22px;
  font-size:14px;
  color:rgba(224,225,221,0.7)
}
body.page-directory-2026 .d-s103{
  display:block;
  background:#0D1B2A;
  padding:16px 18px;
  transition:background 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-s104{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:6px
}
body.page-directory-2026 .d-s105{
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.06em;
  color:#D4A03C;
  min-width:24px
}
body.page-directory-2026 .d-s106{
  flex:1;
  min-width:0;
  font-family:'Instrument Sans',sans-serif;
  font-size:16px;
  font-weight:500;
  color:#fff;
  letter-spacing:-0.015em
}
body.page-directory-2026 .d-s107{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px
}
body.page-directory-2026 .d-s108{
  font-size:13px;
  color:rgba(224,225,221,0.62);
  font-variant-numeric:tabular-nums
}
body.page-directory-2026 .d-s109{
  flex:none;
  font-size:12px;
  font-weight:600;
  color:rgba(224,225,221,0.55)
}
body.page-directory-2026 .d-s110{
  display:none;
  margin:16px 0 0;
  padding:24px;
  background:#1B263B;
  border:1px solid rgba(65,90,119,0.5);
  border-radius:8px;
  text-align:center;
  font-size:15px;
  color:rgba(224,225,221,0.7)
}
body.page-directory-2026 .d-s111{
  display:grid;
  gap:0;
  border-top:1px solid rgba(65,90,119,0.45)
}
body.page-directory-2026 .d-s112{
  margin:0;
  font-size:17px;
  line-height:1.65;
  color:rgba(224,225,221,0.7);
  max-width:52ch
}
body.page-directory-2026 .d-s113{
  background:#F4F4F1;
  color:#1B263B;
  margin-top:84px;
  padding:72px 32px 80px
}
body.page-directory-2026 .d-s114{
  max-width:1280px;
  margin:0 auto
}
body.page-directory-2026 .d-s115{
  font-family:'Instrument Sans',sans-serif;
  font-size:clamp(34px,4vw,52px);
  font-weight:600;
  letter-spacing:-0.038em;
  color:#0D1B2A;
  margin:0;
  line-height:1.04
}
body.page-directory-2026 .d-s116{
  margin:0;
  font-size:17px;
  line-height:1.65;
  color:#3A4453;
  max-width:52ch
}
body.page-directory-2026 .d-s117{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:0 0 56px
}
body.page-directory-2026 .d-s118{
  font-family:'Instrument Sans',sans-serif;
  font-size:clamp(34px,4vw,52px);
  font-weight:600;
  letter-spacing:-0.038em;
  color:#0D1B2A;
  margin:0 0 28px;
  line-height:1.04
}
body.page-directory-2026 .d-s119{
  color:#778DA9
}
body.page-directory-2026 .d-s121{
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:#3A4453;
  max-width:88ch
}
body.page-directory-2026 .d-s122{
  color:#0D1B2A;
  border-bottom:1px solid #C9C9C1
}
body.page-directory-2026 .d-s123{
  max-width:1280px;
  margin:0 auto;
  padding:44px 32px 84px
}
body.page-directory-2026 .d-s124{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border:1px dashed rgba(65,90,119,0.7);
  border-radius:8px;
  padding:22px 26px
}
body.page-directory-2026 .d-s125{
  min-width:0;
  max-width:64ch
}
body.page-directory-2026 .d-s126{
  display:block;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:rgba(224,225,221,0.55);
  margin-bottom:6px
}
body.page-directory-2026 .d-s127{
  display:block;
  font-family:'Instrument Sans',sans-serif;
  font-size:19px;
  font-weight:600;
  color:#fff;
  margin-bottom:4px;
  letter-spacing:-0.02em
}
body.page-directory-2026 .d-s128{
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:rgba(224,225,221,0.6)
}
body.page-directory-2026 .d-s129{
  flex:none;
  font-size:14px;
  font-weight:600;
  color:#F4F4F1;
  border:1px solid rgba(224,225,221,0.3);
  border-radius:4px;
  padding:11px 18px;
  transition:border-color 240ms cubic-bezier(.22,.61,.36,1),color 240ms cubic-bezier(.22,.61,.36,1)
}
body.page-directory-2026 .d-grid7:hover{
  background:#16273c;
  padding-left:16px
}
body.page-directory-2026 .d-s019:hover{
  background:#16273c
}
body.page-directory-2026 .d-s027:hover{
  background:#22304a
}
body.page-directory-2026 .d-s042:hover{
  border-color:#415A77;
  box-shadow:0 2px 8px rgba(13,27,42,0.08)
}
body.page-directory-2026 .d-s064:hover{
  background:#c08f2f
}
body.page-directory-2026 .d-s103:hover{
  background:#1B263B
}
body.page-directory-2026 .d-s129:hover{
  border-color:#D4A03C;
  color:#D4A03C
}
/* ── Map ─────────────────────────────────────────────────────────────────── */
body.page-directory-2026 #usmap svg{width:100%;height:100%;display:block;overflow:hidden}
/* `fill` here is only the pre-JS default; the choropleth sets an inline fill,
   which is the one thing that beats this rule. Hover is driven from JS for the
   same reason — a :hover rule cannot override an inline style. */
/* `fill` here is only the pre-JS default; the choropleth sets an inline fill,
   which is the one thing that beats this rule. Hover is driven from JS for the
   same reason — a :hover rule cannot override an inline style.

   The stroke is NOT the handoff's rgba(13,27,42,0.9): that is the page
   background, so the two darkest bins had no visible edge and the map read as
   one dark shape. This is the value the same designer used on the later ICE
   and Parole maps, which is the same system solving the same problem. */
body.page-directory-2026 #usmap path{
  fill:#141F2E;stroke:rgba(122,150,186,0.45);stroke-width:.9;cursor:pointer}

/* ── Reveal ──────────────────────────────────────────────────────────────── */
body.page-directory-2026 [data-node]{
  opacity:0;transform:translateY(14px);
  transition:opacity 600ms cubic-bezier(.22,.61,.36,1),transform 600ms cubic-bezier(.22,.61,.36,1)}
body.page-directory-2026 [data-node].is-in{opacity:1;transform:none}
body.page-directory-2026 .is-hidden{display:none!important}

/* ── Site shell, from the handoff's own header/footer values ─────────────── */
body.page-directory-2026 .site-header{
  position:sticky;top:0;z-index:60;border:0;
  background:rgba(13,27,42,0.92);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(65,90,119,0.4);color:#F4F4F1}
body.page-directory-2026 .site-header__inner{max-width:1280px;margin:0 auto;padding:0 32px;min-height:66px}
body.page-directory-2026 .site-brand,
body.page-directory-2026 .site-brand strong{
  font-family:'Instrument Sans',system-ui,sans-serif;letter-spacing:-.02em;color:#F4F4F1}
body.page-directory-2026 .site-brand{font-size:20px;display:inline-flex;align-items:baseline;gap:1px}
body.page-directory-2026 .site-brand span{font-weight:400;opacity:.65;font-size:1em;color:inherit}
body.page-directory-2026 .site-brand strong{font-weight:700;color:#D4A03C;font-size:1em}
body.page-directory-2026 .site-nav a{color:rgba(224,225,221,0.72);font-family:'Instrument Sans',system-ui,sans-serif}
body.page-directory-2026 .site-nav a:hover,body.page-directory-2026 .site-nav a:focus-visible{color:#E6B95C;background:rgba(255,255,255,.06)}
body.page-directory-2026 .site-menu{border-color:rgba(224,225,221,.45);color:#F4F4F1}
body.page-directory-2026 .site-footer{
  margin:0;border:0;border-top:3px solid #D4A03C;background:#0A1622;
  padding:56px 32px 40px;color:rgba(224,225,221,0.62)}
body.page-directory-2026 .site-footer a,body.page-directory-2026 .site-footer p,body.page-directory-2026 .site-footer small{color:rgba(224,225,221,0.62)}
body.page-directory-2026 .site-footer a:hover{color:#E6B95C}
body.page-directory-2026 .site-footer .site-brand{color:#F4F4F1}
body.page-directory-2026 :focus-visible{outline:3px solid #D4A03C;outline-offset:3px}

/* ── Place autocomplete ──────────────────────────────────────────────────────
   Its own stylesheet scopes option styling to .hf-search / .di-search, neither
   of which exists here, so the panel would render light text on white. */
body.page-directory-2026 .place-autocomplete{position:relative;flex:1;min-width:0}
body.page-directory-2026 .place-suggestions{
  left:0;right:0;top:calc(100% + 6px);
  border:1px solid rgba(65,90,119,0.55);border-top:3px solid #D4A03C;border-radius:0 0 8px 8px;
  background:#1B263B;box-shadow:0 22px 45px rgba(6,10,20,.45);max-height:360px}
body.page-directory-2026 .place-suggestions li{border-bottom:1px solid rgba(65,90,119,0.35)}
body.page-directory-2026 .place-suggestions li:last-child{border-bottom:0}
body.page-directory-2026 .place-suggestions button{
  width:100%;min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:4px 18px;align-content:center;margin:0;padding:11px 16px;
  border:0;border-left:3px solid transparent;background:transparent;
  color:#E0E1DD;font:inherit;text-align:left;cursor:pointer;
  transition:background 200ms cubic-bezier(.22,.61,.36,1)}
body.page-directory-2026 .place-suggestions strong{
  font-family:'Instrument Sans',system-ui,sans-serif;font-weight:600;font-size:15px;color:#fff}
body.page-directory-2026 .place-suggestions span{grid-column:1;color:rgba(224,225,221,0.6);font-size:13px}
body.page-directory-2026 .place-suggestions em{
  grid-column:2;grid-row:1/3;align-self:center;color:#D4A03C;
  font-size:11px;font-style:normal;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
body.page-directory-2026 .place-suggestions li[aria-selected="true"] button,
body.page-directory-2026 .place-suggestions button:hover,
body.page-directory-2026 .place-suggestions button:focus-visible{
  border-left-color:#D4A03C;background:#22304a;color:#fff;outline:0}

/* ── Search results ──────────────────────────────────────────────────────────
   The handoff draws no results state, but ?q= is real behaviour on this route.
   Rendered in the handoff's own row shape rather than inventing a component. */
body.page-directory-2026 .d-results{max-width:1280px;margin:0 auto;padding:0 32px 48px}
body.page-directory-2026 .d-results h2{
  font-family:'Instrument Sans',system-ui,sans-serif;font-size:26px;font-weight:600;
  letter-spacing:-.02em;color:#fff;margin:0 0 6px}
body.page-directory-2026 .d-results__lede{margin:0 0 20px;color:rgba(224,225,221,0.72);font-size:15px}
body.page-directory-2026 .d-results ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
body.page-directory-2026 .d-results li a{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:center;
  padding:16px 20px;border:1px solid rgba(65,90,119,0.55);border-radius:8px;background:#1B263B;
  transition:background 200ms cubic-bezier(.22,.61,.36,1),border-color 200ms cubic-bezier(.22,.61,.36,1)}
body.page-directory-2026 .d-results li a:hover{background:#22304a;border-color:#D4A03C}
body.page-directory-2026 .d-results strong{
  font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;font-weight:600;color:#fff}
body.page-directory-2026 .d-results small{grid-column:1;color:rgba(224,225,221,0.6);font-size:13px}
body.page-directory-2026 .d-results em{
  grid-column:2;grid-row:1/3;align-self:center;color:#D4A03C;font-style:normal;
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

/* ── Responsive ──────────────────────────────────────────────────────────────
   The handoff carries no media queries. These collapse grids and shrink display
   type only — no colour, spacing scale or component shape is reinterpreted. */
@media (max-width:1080px){
  body.page-directory-2026 [class*="d-grid"]{grid-template-columns:1fr!important}
  body.page-directory-2026 #usmap{min-height:340px}
}
@media (max-width:860px){
  body.page-directory-2026 .d-s059,body.page-directory-2026 .d-s098{flex-wrap:wrap}
  body.page-directory-2026 .d-s057{font-size:clamp(32px,8.5vw,50px)!important}
  body.page-directory-2026 .d-s080,body.page-directory-2026 .d-s110,body.page-directory-2026 .d-s116,body.page-directory-2026 .d-s090{grid-template-columns:1fr!important}
  body.page-directory-2026 .d-results{padding:0 20px 40px}
}
@media (prefers-reduced-motion:reduce){
  body.page-directory-2026 [data-node]{opacity:1!important;transform:none!important;transition:none}
  body.page-directory-2026 .d-s002{animation:none!important}
}

/* ── Active filter pill ──────────────────────────────────────────────────────
   The handoff drives these three values from state (sys.bg / sys.bd / sys.fg);
   as a stylesheet that is a single pressed rule. */
body.page-directory-2026 .d-s099.is-on,
body.page-directory-2026 .d-s099[aria-pressed="true"]{
  background:#D4A03C;border-color:#D4A03C;color:#0D1B2A}
/* ── Search field width ──────────────────────────────────────────────────────
   place-autocomplete.css sets min-width:0 on its wrapper, which overrode the
   handoff's 250px minimum on the field. */
body.page-directory-2026 .place-autocomplete{min-width:250px}

/* ── Active filter pill ──────────────────────────────────────────────────────
   The handoff drives these three from state (sys.bg / sys.bd / sys.fg); as a
   stylesheet that is one pressed rule. */
body.page-directory-2026 [data-directory-system].is-on,
body.page-directory-2026 [data-directory-system][aria-pressed="true"]{
  background:#D4A03C;border-color:#D4A03C;color:#0D1B2A}
