/* USLicenseInfo v171.7 — Scenic & Editorial State Hub
   Scoped to state taxonomy pages. Existing content, modal JS, and shared site chrome are preserved. */
body.uli-state-page { --uli-scenic-ink:#102f42; --uli-scenic-muted:#526b78; --uli-scenic-blue:#0c5275; --uli-scenic-sky:#eaf3f6; --uli-scenic-cream:#fbf8f1; --uli-scenic-line:#dbe6e9; background:#f3f7f8; color:var(--uli-scenic-ink); }
body.uli-state-page .uli-v79-main { padding:30px 0 70px; }
body.uli-state-page .uli-v79-main > .uli-container { max-width:1240px; width:calc(100% - 48px); }
body.uli-state-page .uli-dir-eyebrow { letter-spacing:.14em; font-size:10px; font-weight:800; }
/* Editorial hero: image-led, but the copy remains readable with long headings. */
body.uli-state-page .uli-v79-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr); gap:0; min-height:360px; overflow:hidden; border:1px solid #d9e5e8; border-radius:22px; background:var(--uli-scenic-cream); box-shadow:0 12px 34px rgba(17,51,67,.08); }
body.uli-state-page .uli-v79-hero-copy { position:relative; z-index:2; align-self:center; padding:clamp(28px,4vw,56px); min-width:0; }
body.uli-state-page .uli-v79-hero-copy .uli-dir-eyebrow { color:#a7432c; }
body.uli-state-page .uli-state-heading-line { max-width:680px; }
body.uli-state-page .uli-v79-hero h1 { margin:14px 0 16px; color:#14354a; font-size:clamp(32px,4.1vw,58px); line-height:1.04; letter-spacing:-.045em; font-weight:650; overflow-wrap:anywhere; text-wrap:balance; }
body.uli-state-page .uli-v79-hero-copy > p { max-width:620px; margin:0; color:#526b78; font-size:15px; line-height:1.7; }
body.uli-state-page .uli-v79-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
body.uli-state-page .uli-v79-hero-actions a { min-height:42px; display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border-radius:8px; font-weight:700; font-size:13px; text-decoration:none; }
body.uli-state-page .uli-v79-hero-actions a.primary { background:#0c5275; color:#fff; }
body.uli-state-page .uli-v79-hero-actions a.secondary { background:#fff; color:#153b50; border:1px solid #d7e2e5; }
body.uli-state-page .uli-v79-hero-photo { position:relative; min-height:360px; overflow:hidden; margin:0; }
body.uli-state-page .uli-v79-hero-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,47,66,.05),transparent 45%),linear-gradient(0deg,rgba(9,35,49,.35),transparent 50%); pointer-events:none; }
body.uli-state-page .uli-v79-hero-photo img { display:block; width:100%; height:100%; min-height:360px; object-fit:cover; object-position:center; }
body.uli-state-page .uli-v79-hero-photo > div { z-index:2; right:18px; bottom:18px; left:auto; max-width:220px; padding:13px 16px; border:1px solid rgba(255,255,255,.3); border-radius:12px; background:rgba(9,45,63,.84); color:#fff; backdrop-filter:blur(8px); }
body.uli-state-page .uli-v79-hero-photo > div small, body.uli-state-page .uli-v79-hero-photo > div strong, body.uli-state-page .uli-v79-hero-photo > div span { display:block; color:#fff; }
/* Directory heading and category cards */
body.uli-state-page .uli-state-desk { margin-top:54px; }
body.uli-state-page .uli-state-desk-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }
body.uli-state-page .uli-state-desk-head > div:first-child { max-width:790px; }
body.uli-state-page .uli-state-desk-head h2, body.uli-state-page .uli-ny-resources-heading h2 { margin:8px 0 10px; color:#14354a; font-size:clamp(26px,3vw,38px); line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
body.uli-state-page .uli-state-desk-head p, body.uli-state-page .uli-ny-resources-heading > p { max-width:760px; margin:0; color:#607582; font-size:14px; line-height:1.65; }
body.uli-state-page .uli-state-desk-count { flex:0 0 auto; min-width:92px; padding:15px; text-align:center; border:1px solid var(--uli-scenic-line); border-radius:14px; background:#fff; }
body.uli-state-page .uli-state-desk-count strong { display:block; color:#0c5275; font-size:30px; line-height:1; }
body.uli-state-page .uli-state-desk-count span { display:block; margin-top:7px; color:#607582; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
body.uli-state-page .uli-state-path-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:stretch; }
body.uli-state-page .uli-state-path-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:22px; overflow:hidden; border:1px solid #dce7e9; border-radius:16px; background:#fff; box-shadow:0 5px 18px rgba(17,51,67,.045); }
body.uli-state-page .uli-state-path-card-top { display:flex; align-items:center; gap:9px; margin-bottom:13px; }
body.uli-state-page .uli-state-path-number { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border-radius:50%; background:#e8f2f5; color:#0c5275; font-size:11px; font-weight:800; }
body.uli-state-page .uli-state-path-kind { color:#a7432c; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
body.uli-state-page .uli-state-path-card h3 { margin:0 0 9px; color:#173b50; font-size:21px; line-height:1.25; letter-spacing:-.02em; overflow-wrap:anywhere; }
body.uli-state-page .uli-state-path-card > p { margin:0 0 16px; color:#5c717d; font-size:13px; line-height:1.65; }
body.uli-state-page .uli-state-path-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:0 0 17px; }
body.uli-state-page .uli-state-path-checks span { min-width:0; padding:10px 9px; border-radius:8px; background:#f0f6f7; color:#355568; font-size:10px; line-height:1.35; }
body.uli-state-page .uli-state-path-checks b { display:block; margin-bottom:4px; color:#0c5275; font-size:9px; }
body.uli-state-page .uli-state-path-agency { margin-top:auto; padding:14px 0 16px; border-top:1px solid #e4ecee; }
body.uli-state-page .uli-state-path-agency small { display:block; margin-bottom:5px; color:#7a8d96; font-size:9px; font-weight:800; letter-spacing:.1em; }
body.uli-state-page .uli-state-path-agency strong { display:block; color:#264b5e; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
body.uli-state-page .uli-state-path-card .uli-ny-open-modal { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:44px; padding:12px 15px; border:0; border-radius:8px; background:#0c5275; color:#fff; font:inherit; font-size:13px; font-weight:750; text-align:left; cursor:pointer; }
body.uli-state-page .uli-state-path-card .uli-ny-open-modal:hover { background:#083d59; }
body.uli-state-page .uli-state-path-card-action { padding-top:11px; }
body.uli-state-page .uli-state-path-card-action a { color:#0c5275; font-size:11px; font-weight:700; text-decoration:none; }
/* Keep detail copy inside dialogs only; ensure the dialog is above all editorial sections. */
body.uli-state-page .uli-ny-modal { display:none!important; position:fixed!important; inset:0!important; z-index:99999!important; align-items:center!important; justify-content:center!important; padding:22px!important; }
body.uli-state-page .uli-ny-modal.is-open { display:flex!important; }
body.uli-state-page .uli-ny-modal-panel { width:min(820px,100%)!important; max-height:min(86vh,900px)!important; border-radius:18px!important; box-shadow:0 24px 80px rgba(0,25,40,.28)!important; }
body.uli-state-page .uli-ny-modal-head { padding:25px 28px 20px!important; border-bottom:1px solid #e0e9eb!important; background:#fbf8f1!important; }
body.uli-state-page .uli-ny-modal-head h3 { color:#14354a!important; font-size:clamp(23px,3vw,32px)!important; line-height:1.15!important; overflow-wrap:anywhere; }
body.uli-state-page .uli-ny-modal-body { padding:8px 28px 22px!important; }
body.uli-state-page .uli-ny-detail-item { padding:17px 0!important; border-bottom:1px solid #e5edef!important; }
body.uli-state-page .uli-ny-detail-item h4 { color:#173b50!important; }
body.uli-state-page .uli-ny-detail-item p { color:#4f6572!important; line-height:1.75!important; }
body.uli-state-page .uli-ny-modal-footer { padding:15px 24px!important; background:#f5f8f8!important; }
/* One concise resource block; remove the second, duplicative agency directory. */
body.uli-state-page .uli-ny-next-steps { margin-top:46px; padding:clamp(22px,3vw,34px); border:1px solid #dce7e9; border-radius:18px; background:linear-gradient(140deg,#fffdf8,#fff); }
body.uli-state-page .uli-ny-resources-heading { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:20px; margin-bottom:20px; }
body.uli-state-page .uli-ny-next-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.uli-state-page .uli-ny-resource-card { min-width:0; display:flex; gap:12px; padding:16px; border:1px solid #e0e9eb; border-radius:12px; background:#fff; text-decoration:none; transition:transform .18s ease,border-color .18s ease; }
body.uli-state-page .uli-ny-resource-card:hover { transform:translateY(-2px); border-color:#9cbcc8; }
body.uli-state-page .uli-ny-resource-icon { display:flex; flex:0 0 34px; width:34px; height:34px; align-items:center; justify-content:center; border-radius:9px; background:#eaf3f6; color:#0c5275; font-size:11px; font-weight:800; }
body.uli-state-page .uli-ny-resource-copy { min-width:0; }
body.uli-state-page .uli-ny-resource-copy strong, body.uli-state-page .uli-ny-resource-copy small, body.uli-state-page .uli-ny-card-action { display:block; overflow-wrap:anywhere; }
body.uli-state-page .uli-ny-resource-copy strong { color:#173b50; font-size:13px; line-height:1.4; }
body.uli-state-page .uli-ny-resource-copy small { margin-top:5px; color:#657985; font-size:11px; line-height:1.5; }
body.uli-state-page .uli-ny-card-action { margin-top:10px; color:#0c5275; font-size:10px; font-weight:800; }
/* Research planner stays available, but is visually quieter and compact. */
body.uli-state-page .uli-v126-planner { margin-top:28px; padding:clamp(20px,3vw,32px); border:1px solid #dce8df; border-radius:18px; background:#f5f8f2; }
body.uli-state-page .uli-v126-planner-head h2 { color:#173b50; font-size:clamp(23px,3vw,32px); line-height:1.15; }
body.uli-state-page .uli-v126-planner-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:end; gap:12px; }
body.uli-state-page .uli-v126-planner-result { margin-top:18px; }
/* Agency cards duplicate the resources above; hide only this redundant directory. */
body.uli-state-page .uli-state-agency-map { display:none!important; }
body.uli-state-page .uli-v79-official { margin-top:28px; border-radius:16px; }
@media(max-width:900px){ body.uli-state-page .uli-v79-hero { grid-template-columns:minmax(0,1fr) minmax(220px,.75fr); } body.uli-state-page .uli-v79-hero-copy { padding:28px; } body.uli-state-page .uli-v79-hero h1 { font-size:clamp(30px,4.6vw,44px); } body.uli-state-page .uli-ny-next-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } body.uli-state-page .uli-v126-planner-form { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px){ body.uli-state-page .uli-v79-main { padding:16px 0 42px; } body.uli-state-page .uli-v79-main > .uli-container { width:calc(100% - 28px); } body.uli-state-page .uli-v79-hero { display:flex; flex-direction:column; border-radius:16px; } body.uli-state-page .uli-v79-hero-copy { padding:24px 21px 22px; } body.uli-state-page .uli-v79-hero h1 { font-size:clamp(31px,9vw,42px); line-height:1.04; } body.uli-state-page .uli-v79-hero-copy > p { font-size:14px; } body.uli-state-page .uli-v79-hero-photo { min-height:210px; height:230px; } body.uli-state-page .uli-v79-hero-photo img { min-height:210px; height:230px; } body.uli-state-page .uli-state-desk { margin-top:36px; } body.uli-state-page .uli-state-desk-head { align-items:start; gap:12px; } body.uli-state-page .uli-state-desk-count { min-width:66px; padding:10px 8px; } body.uli-state-page .uli-state-desk-count strong { font-size:24px; } body.uli-state-page .uli-state-path-grid { grid-template-columns:minmax(0,1fr); gap:12px; } body.uli-state-page .uli-state-path-card { padding:18px; } body.uli-state-page .uli-state-path-card h3 { font-size:19px; } body.uli-state-page .uli-state-path-checks { gap:5px; } body.uli-state-page .uli-state-path-checks span { padding:8px 6px; font-size:9px; } body.uli-state-page .uli-ny-resources-heading { grid-template-columns:1fr; gap:8px; } body.uli-state-page .uli-ny-next-grid { grid-template-columns:1fr; } body.uli-state-page .uli-ny-modal { padding:8px!important; } body.uli-state-page .uli-ny-modal-panel { max-height:94vh!important; border-radius:13px!important; } body.uli-state-page .uli-ny-modal-head { padding:20px 18px 16px!important; } body.uli-state-page .uli-ny-modal-body { padding:4px 18px 18px!important; } body.uli-state-page .uli-ny-modal-footer { padding:12px 16px!important; } body.uli-state-page .uli-v126-planner-form { grid-template-columns:1fr; } body.uli-state-page .uli-v79-official { padding:22px!important; } }


/* v171.8 — editorial license detail modal only. Keep directory/card layout unchanged. */
body.uli-state-page .uli-ny-modal {
  background:rgba(8,28,41,.64)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  backdrop-filter:blur(7px)!important;
  padding:clamp(12px,3vw,32px)!important;
}
body.uli-state-page .uli-ny-modal-backdrop {
  background:transparent!important;
  cursor:default!important;
}
body.uli-state-page .uli-ny-modal-panel {
  width:min(900px,100%)!important;
  max-height:min(88vh,900px)!important;
  border:1px solid rgba(255,255,255,.8)!important;
  border-radius:22px!important;
  background:#fffdf9!important;
  box-shadow:0 30px 100px rgba(3,23,35,.38)!important;
}
body.uli-state-page .uli-ny-modal-head {
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:22px!important;
  padding:clamp(22px,3.4vw,34px) clamp(22px,4vw,40px) 24px!important;
  background:linear-gradient(125deg,#fbf5e9 0%,#f2f7f7 100%)!important;
  border-bottom:1px solid #dfe8e7!important;
}
body.uli-state-page .uli-ny-modal-head > div { min-width:0!important; flex:1 1 auto!important; }
body.uli-state-page .uli-ny-modal-head > div > span {
  display:inline-flex!important;
  align-items:center!important;
  margin:0 0 12px!important;
  color:#9b4d36!important;
  font-size:10px!important;
  font-weight:850!important;
  line-height:1.4!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.uli-state-page .uli-ny-modal-head h3 {
  margin:0!important;
  max-width:720px!important;
  color:#14354a!important;
  font-size:clamp(25px,3.3vw,37px)!important;
  font-weight:680!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  overflow-wrap:anywhere!important;
  text-wrap:balance!important;
}
body.uli-state-page .uli-ny-modal-head p {
  max-width:680px!important;
  margin:12px 0 0!important;
  color:#5b707b!important;
  font-size:14px!important;
  line-height:1.65!important;
}
body.uli-state-page .uli-ny-modal-x {
  display:inline-flex!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d5e1e3!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#173b50!important;
  font-size:25px!important;
  line-height:1!important;
  box-shadow:0 3px 10px rgba(16,47,66,.06)!important;
  cursor:pointer!important;
}
body.uli-state-page .uli-ny-modal-x:hover { background:#eaf3f4!important; border-color:#9dbac3!important; }
body.uli-state-page .uli-ny-modal-body {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-content:start!important;
  gap:12px!important;
  padding:24px clamp(18px,3vw,34px) 28px!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  background:#fffdf9!important;
}
body.uli-state-page .uli-ny-detail-item {
  min-width:0!important;
  margin:0!important;
  padding:18px 18px 17px!important;
  border:1px solid #e0e9e8!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(16,47,66,.035)!important;
}
body.uli-state-page .uli-ny-detail-item h4 {
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  margin:0 0 9px!important;
  color:#16465e!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
body.uli-state-page .uli-ny-detail-item h4:before {
  content:""!important;
  display:block!important;
  flex:0 0 5px!important;
  width:5px!important;
  height:18px!important;
  margin-top:1px!important;
  border-radius:4px!important;
  background:#b45b3d!important;
}
body.uli-state-page .uli-ny-detail-item p {
  margin:0!important;
  color:#4e6470!important;
  font-size:13px!important;
  line-height:1.72!important;
  overflow-wrap:anywhere!important;
}
body.uli-state-page .uli-ny-verified {
  grid-column:1/-1!important;
  margin:0!important;
  padding:13px 15px!important;
  border:1px solid #d9e8e4!important;
  border-radius:10px!important;
  background:#eff7f3!important;
  color:#43685e!important;
  font-size:12px!important;
  line-height:1.6!important;
}
body.uli-state-page .uli-ny-modal-footer {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px clamp(18px,3vw,34px)!important;
  border-top:1px solid #e0e9e8!important;
  background:#f5f8f6!important;
}
body.uli-state-page .uli-ny-modal-footer a {
  display:inline-flex!important;
  align-items:center!important;
  min-height:42px!important;
  color:#0c5275!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.4!important;
  text-decoration:none!important;
}
body.uli-state-page .uli-ny-modal-footer a:hover { text-decoration:underline!important; }
body.uli-state-page .uli-ny-modal-footer button {
  min-height:42px!important;
  padding:10px 17px!important;
  border:1px solid #cbdcde!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#173b50!important;
  font-size:13px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
body.uli-state-page .uli-ny-modal-footer button:hover { background:#eaf3f4!important; }
@media(max-width:640px) {
  body.uli-state-page .uli-ny-modal { align-items:flex-end!important; padding:8px!important; }
  body.uli-state-page .uli-ny-modal-panel { width:100%!important; max-height:94dvh!important; border-radius:18px 18px 12px 12px!important; }
  body.uli-state-page .uli-ny-modal-head { gap:12px!important; padding:22px 18px 18px!important; }
  body.uli-state-page .uli-ny-modal-head > div > span { margin-bottom:9px!important; font-size:9px!important; }
  body.uli-state-page .uli-ny-modal-head h3 { font-size:clamp(23px,7vw,30px)!important; }
  body.uli-state-page .uli-ny-modal-head p { margin-top:9px!important; font-size:13px!important; }
  body.uli-state-page .uli-ny-modal-x { flex-basis:38px!important; width:38px!important; height:38px!important; }
  body.uli-state-page .uli-ny-modal-body { grid-template-columns:minmax(0,1fr)!important; gap:10px!important; padding:14px 14px 20px!important; }
  body.uli-state-page .uli-ny-detail-item { padding:15px!important; }
  body.uli-state-page .uli-ny-modal-footer { align-items:stretch!important; flex-direction:column!important; gap:8px!important; padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important; }
  body.uli-state-page .uli-ny-modal-footer a, body.uli-state-page .uli-ny-modal-footer button { justify-content:center!important; width:100%!important; }
}
/* v178: direct indexable guide links alongside the existing state preview and agency link. */
body.uli-state-page .uli-state-path-card-action { display:flex; flex-wrap:wrap; gap:7px 14px; }
body.uli-state-page .uli-state-path-card-action a.uli-state-guide-link { color:#087f63; font-weight:800; }
