/* /site/site.css — the public licensing site's component layer. Sits on /styles.css (tokens, topbar, bottombar,
 * ask box, chat bubbles, cite-n, srcchip, drawer) and /accent.css (Louisiana gold). Recipes mirror /shared/ui.css
 * (card, door, btn, tag, cite-chip, checklist, ladder, empty) so /, /portal and /agency read as one product,
 * without loading the app-shell sheet on a scrolling page. */

:root {
  --ok-300: #86efac; --ok-500: #22c55e;
  --danger-300: #fca5a5; --danger-500: #ef4444;
  --info-300: #93c5fd; --info-500: #3b82f6;
  --warn-300: var(--leg-200); --warn-400: var(--leg-400);
  --ease: cubic-bezier(.16,1,.3,1);
  --glass: rgba(10,12,16,.66); --glass-2: rgba(255,255,255,.05); --line: rgba(255,255,255,.08);
  --mono: ui-monospace, Menlo, 'SF Mono', Consolas, monospace;
  --site-max: 80rem; --topbar-h: 68px; --bottombar-h: 42px;
}

/* ---------- document flow: the site scrolls; the biome stays fixed behind it ---------- */
body.site-mode { overflow: auto; overflow-x: hidden; height: auto; min-height: 100dvh; }
body.site-mode .biome img { object-position: center 45%; }
body.site-mode.calm .biome img { filter: blur(10px) brightness(.6) saturate(.85); transform: scale(1.06); }
body.site-mode.calm .biome::after { background: rgba(0,0,0,.55); }
.site { position: relative; z-index: 10; padding: var(--topbar-h) 0 calc(var(--bottombar-h) + 28px); color: #eceef2; }
.wrap { max-width: var(--site-max); margin: 0 auto; padding: 0 16px; }
@media (min-width: 1024px) { .wrap { padding: 0 32px; } }
.wrap--narrow { max-width: 62rem; }
main:focus { outline: none; }

/* ---------- topbar additions: count links, wrapped office name on phones ---------- */
.topbar__metrics--counts { display: none; gap: 6px; }
@media (min-width: 1180px) { .topbar__metrics--counts { display: flex; } .topbar__asof { display: none; } }
@media (min-width: 1600px) { .topbar__asof { display: inline; } }
@media (min-width: 1180px) and (max-width: 1380px) { a.topbar__metric span { display: none; } }
a.topbar__metric { text-decoration: none; border: 1px solid transparent; transition: background .2s, border-color .2s; font-size: 13px; }
a.topbar__metric:hover, a.topbar__metric:focus-visible { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.22); }
a.topbar__metric:hover span { color: #fff; }
.topbar__asof { font: 500 10.5px/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.45); white-space: nowrap; margin-left: 4px; }
.topbar__link + .topbar__link { margin-left: 8px; }
.topbar__link--primary { color: #111; background: var(--acc-500); border-color: var(--acc-500); font-weight: 600; }
.topbar__link--primary:hover { background: var(--acc-400); border-color: var(--acc-400); color: #111; }
.topbar__ctx { flex-shrink: 0; margin-left: 12px; padding: 5px 10px; border-radius: 999px; font: 700 10px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--acc-300); background: color-mix(in srgb, var(--acc-500) 14%, transparent); border: 1px solid color-mix(in srgb, var(--acc-400) 30%, transparent); white-space: nowrap; }
.topbar__spacer { flex: 1; min-width: 8px; }
@media (max-width: 640px) {
  body.site-mode .topbar__office { font-size: 13px; white-space: normal; line-height: 1.12; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-overflow: clip; }
  body.site-mode .topbar__link { padding: 7px 10px; font-size: 13px; }
  body.site-mode .topbar__link--quiet, body.site-mode .topbar__ctx { display: none; }
  body.site-mode .topbar__brand { gap: 9px; padding-left: 12px; }
}
@media (max-width: 900px) { body.site-mode .topbar__ctx { display: none; } }

/* ---------- demo banner (same treatment as the portal) ---------- */
.banner--demo {
  position: relative; z-index: 11; display: block; text-align: center; padding: 8px 14px 7px;
  background: color-mix(in srgb, var(--leg-400) 22%, #1a1206); border-bottom: 1px solid color-mix(in srgb, var(--leg-400) 45%, transparent);
  font: 700 11px/1.3 var(--sans); letter-spacing: .07em; text-transform: uppercase; color: var(--leg-100);
}
.banner--demo b { color: var(--leg-400); }
@media (max-width: 640px) { .banner--demo { font-size: 10px; letter-spacing: .05em; padding: 6px 12px; } }

/* ---------- hero ---------- */
.shero { position: relative; padding: clamp(36px, 7vh, 88px) 0 22px; text-align: center; }
.shero__eyebrow { margin: 0 0 14px; font: 700 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--acc-300); }
.shero__h1 { margin: 0; font: 500 clamp(2.15rem, 5.2vw, 4rem)/1.06 var(--serif); letter-spacing: -.015em; color: #fff; text-wrap: balance; text-shadow: 0 2px 24px rgba(0,0,0,.45); }
.shero__sub { margin: 16px auto 0; max-width: 46rem; font-size: clamp(.95rem, 1.4vw, 1.1rem); line-height: 1.6; color: #e5e7eb; text-wrap: pretty; }
.shero--page { padding-bottom: 10px; text-align: left; }
.shero--page .shero__h1 { font-size: clamp(1.9rem, 4vw, 3rem); }
.shero--page .shero__sub { margin-left: 0; }
.crumbs { margin: 0 0 12px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; font: 500 12.5px/1 var(--sans); color: rgba(255,255,255,.55); }
.crumbs a { color: rgba(255,255,255,.75); text-decoration: none; }
.crumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.crumbs li + li::before { content: '›'; margin-right: 6px; color: rgba(255,255,255,.35); }

/* ---------- search-or-ask box (combobox) ---------- */
.sa { position: relative; width: 100%; max-width: 46rem; margin: 30px auto 0; text-align: left; }
.sa .ask__field { align-items: center; padding: 6px 6px 6px 16px; }
.sa__icon { flex-shrink: 0; color: rgba(255,255,255,.55); }
.sa__input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: #fff; font: 400 17px/1.4 var(--sans); padding: 12px 0; }
.sa__input::placeholder { color: rgba(255,255,255,.55); }
.sa__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.sa__list {
  position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 36; margin: 0; padding: 6px; list-style: none;
  border-radius: 14px; background: rgba(8,9,12,.94); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border); box-shadow: 0 18px 50px rgba(0,0,0,.55); max-height: min(58vh, 440px); overflow-y: auto; scrollbar-width: thin;
}
.sa__list[hidden] { display: none; }
.sa__opt { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 9px; cursor: pointer; color: #eceef2; }
.sa__opt[aria-selected="true"], .sa__opt:hover { background: color-mix(in srgb, var(--acc-500) 16%, transparent); }
.sa__k { flex-shrink: 0; width: 64px; font: 700 9.5px/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.sa__t { min-width: 0; flex: 1; font: 500 14.5px/1.3 var(--sans); color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sa__t small { display: block; font-size: 12px; font-weight: 400; color: rgba(255,255,255,.5); overflow: hidden; text-overflow: ellipsis; }
.sa__t mark { background: transparent; color: var(--acc-300); font-weight: 700; }
.sa__go { flex-shrink: 0; color: rgba(255,255,255,.35); }
.sa__opt--ask { margin-top: 4px; padding-top: 11px; border-top: 1px solid var(--line); border-radius: 0 0 9px 9px; }
.sa__opt--ask .sa__k, .sa__opt--ask .sa__t { color: var(--acc-300); }
.sa__opt--ask .sa__t { white-space: normal; }
.sa__hint { margin: 10px 4px 0; font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.55); text-align: center; }
.sa__hint b { color: rgba(255,255,255,.8); font-weight: 600; }
.sa__hint button { font: inherit; color: var(--acc-300); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) { .sa__k { display: none; } .sa__input { font-size: 16px; } }

/* count strip: visible where the topbar cannot fit the counts */
.counts { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 18px auto 0; padding: 0; list-style: none; font: 500 13px/1.4 var(--sans); color: rgba(255,255,255,.75); }
.counts a { color: inherit; text-decoration: none; }
.counts a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.counts b { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--acc-300); }
.counts__asof { flex-basis: 100%; font-size: 11px; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .06em; }
@media (min-width: 1180px) { .counts { display: none; } }

/* ---------- sections ---------- */
.sect { padding: 26px 0 6px; }
.sect--tight { padding-top: 14px; }
.sect__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 0 0 14px; }
.sect__k { display: block; margin: 0 0 6px; font: 700 10.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--acc-300); }
.sect__h { margin: 0; font: 500 1.6rem/1.15 var(--serif); letter-spacing: -.01em; color: #fff; }
.sect__h small { display: block; margin-top: 4px; font: 400 14px/1.5 var(--sans); color: rgba(255,255,255,.62); }
.sect__p { margin: 6px 0 0; max-width: 62rem; font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.68); }
.sect__more { font: 600 13px/1 var(--sans); color: var(--acc-300); text-decoration: none; white-space: nowrap; }
.sect__more::after { content: ' →'; }
.sect__more:hover { color: #fff; }
h2.sect__h[id], h3[id], section[id] { scroll-margin-top: calc(var(--topbar-h) + 16px); }

/* ---------- cards ---------- */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.cards--tasks { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.cards--2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.cards--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.card { position: relative; min-width: 0; background: var(--glass); border: 1px solid var(--glass-border); border-radius: 14px; padding: 18px 20px; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: inherit; }
.card__k { display: block; margin: 0 0 6px; font: 700 10px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--acc-300); }
.card__h { margin: 0 0 8px; font: 600 1.08rem/1.25 var(--serif); color: #fff; }
.card__h small { font: 600 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-left: 8px; }
.card__p { margin: 0 0 10px; font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.72); }
.card__p:last-child { margin-bottom: 0; }
.card__p b { color: #fff; font-weight: 600; }
.card__go { display: inline-block; margin-top: auto; padding-top: 4px; font: 600 13px/1 var(--sans); color: var(--acc-300); }
.card__go::after { content: ' →'; }
.card--accent { border-color: color-mix(in srgb, var(--acc-400) 40%, transparent); background: color-mix(in srgb, var(--acc-700) 18%, var(--glass)); }
.card--warn { border-color: color-mix(in srgb, var(--leg-400) 40%, transparent); }
.card--danger { border-color: rgba(252,165,165,.4); }
.card--quiet { background: var(--glass-2); }
a.card, button.card { display: flex; flex-direction: column; gap: 6px; text-align: left; text-decoration: none; cursor: pointer; font-family: var(--sans); transition: border-color .2s, transform .35s var(--ease), background .2s; }
a.card:hover, button.card:hover, a.card:focus-visible { border-color: color-mix(in srgb, var(--acc-400) 55%, transparent); transform: translateY(-2px); background: color-mix(in srgb, var(--acc-500) 6%, var(--glass)); }
.card__ico { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: var(--acc-300); background: color-mix(in srgb, var(--acc-500) 12%, transparent); border: 1px solid color-mix(in srgb, var(--acc-400) 25%, transparent); margin-bottom: 4px; }
.card__ico svg { width: 18px; height: 18px; }
.card--task .card__h { font-size: 1.02rem; margin-bottom: 4px; }
.card--task .card__p { font-size: 13px; }
.card--trade .card__h { font-size: 1.3rem; font-weight: 500; }
.card__count { font: 600 12px/1 var(--sans); color: rgba(255,255,255,.55); }
.card__count b { color: var(--acc-300); font-variant-numeric: tabular-nums; }

/* doors (both sides of the counter) */
.door { display: flex; flex-direction: column; gap: 8px; }
.door__k { font: 700 10px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--acc-300); }
.door__h { margin: 0; font: 500 1.4rem/1.2 var(--serif); color: #fff; }
.door__p { margin: 0; font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.68); }
.door__go { margin-top: auto; padding-top: 6px; font: 600 13px/1 var(--sans); color: var(--acc-300); }
.door__go::after { content: ' →'; }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; text-decoration: none; white-space: nowrap;
  font: 600 13.5px/1 var(--sans); padding: 11px 16px; border-radius: 10px; border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.06); color: rgba(255,255,255,.88); transition: background .15s, color .15s, border-color .15s, transform .1s;
}
.btn:hover { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.09); }
.btn:active { transform: translateY(1px); }
.btn--primary { background: var(--acc-500); color: #111; border-color: var(--acc-500); }
.btn--primary:hover { background: var(--acc-400); border-color: var(--acc-400); color: #111; }
.btn--quiet { background: transparent; border-color: transparent; color: var(--acc-300); padding-left: 8px; padding-right: 8px; }
.btn--quiet:hover { background: color-mix(in srgb, var(--acc-500) 12%, transparent); border-color: transparent; }
.btn--sm { font-size: 12.5px; padding: 8px 12px; border-radius: 8px; }
.btn--xs { font-size: 11.5px; padding: 6px 9px; border-radius: 7px; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; transform: none; }
.btn svg { flex-shrink: 0; }
.btn-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.btn-row--end { justify-content: flex-end; }
.btn--block { width: 100%; }

/* ---------- tags ---------- */
.tag { display: inline-flex; align-items: center; gap: 5px; vertical-align: middle; font: 700 10.5px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; border-radius: 999px; padding: 5px 9px 4px; border: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.7); background: rgba(255,255,255,.05); }
.tag--ok { color: var(--ok-300); border-color: rgba(134,239,172,.35); background: rgba(34,197,94,.1); }
.tag--warn { color: var(--leg-200); border-color: color-mix(in srgb, var(--leg-400) 45%, transparent); background: color-mix(in srgb, var(--leg-400) 12%, transparent); }
.tag--danger { color: var(--danger-300); border-color: rgba(252,165,165,.4); background: rgba(239,68,68,.14); }
.tag--accent { color: var(--acc-300); border-color: color-mix(in srgb, var(--acc-400) 45%, transparent); background: color-mix(in srgb, var(--acc-500) 12%, transparent); }
.tag--info { color: var(--info-300); border-color: rgba(147,197,253,.4); background: rgba(59,130,246,.12); }
.tag--muted { color: rgba(255,255,255,.55); border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.03); }
.tag i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mark-illus { display: inline-block; vertical-align: middle; font: 700 9px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--leg-400); border: 1px dashed color-mix(in srgb, var(--leg-400) 60%, transparent); border-radius: 4px; padding: 3px 5px 2px; white-space: nowrap; }

/* ---------- cite chips (open the source drawer via /api/cite, or the official page) ---------- */
.cite-chip {
  display: inline-flex; align-items: center; gap: 5px; vertical-align: baseline; cursor: pointer; max-width: 100%;
  font: 600 11px/1.2 var(--sans); color: var(--acc-300); text-decoration: none; text-align: left;
  background: color-mix(in srgb, var(--acc-500) 12%, transparent); border: 1px solid color-mix(in srgb, var(--acc-400) 30%, transparent);
  border-radius: 6px; padding: 2px 7px 2px 6px; transition: background .15s, color .15s, border-color .15s;
}
.cite-chip::before { font-family: var(--sans); font-size: 8.5px; letter-spacing: .08em; opacity: .75; }
.cite-chip--rs::before { content: 'R.S.'; }
.cite-chip--lac::before { content: 'LAC'; }
.cite-chip--act::before { content: 'ACT'; }
.cite-chip--rule::before { content: 'RULE'; }
.cite-chip--form::before { content: 'FORM'; }
.cite-chip--web::after { content: '↗'; font-size: 10px; opacity: .8; }
.cite-chip:hover { color: #fff; background: color-mix(in srgb, var(--acc-500) 28%, transparent); border-color: color-mix(in srgb, var(--acc-400) 60%, transparent); }
.cite-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cite-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cite-row__l { font: 700 10px/1.8 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-right: 2px; }

/* ---------- thresholds strip ---------- */
.thresh { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 10px; }
.thresh__item { display: flex; flex-direction: column; padding: 14px 16px; border-radius: 12px; background: var(--glass); border: 1px solid var(--glass-border); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.thresh__amt { font: 600 1.55rem/1.05 var(--serif); color: #fff; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.thresh__amt small { font: 600 12px/1 var(--sans); color: rgba(255,255,255,.55); margin-left: 4px; }
.thresh__l { display: block; margin-top: 5px; font: 600 13.5px/1.35 var(--sans); color: #eceef2; }
.thresh__d { margin: 4px 0 8px; font-size: 12.5px; line-height: 1.45; color: rgba(255,255,255,.62); }
.thresh__item .cite-row { margin-top: auto; }

/* ---------- dated notice (Act 908) + ladder ---------- */
.notice { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 20px; align-items: start; }
@media (max-width: 720px) { .notice { grid-template-columns: 1fr; gap: 12px; } }
.notice__date { padding: 14px 16px; border-radius: 12px; background: color-mix(in srgb, var(--acc-700) 28%, rgba(0,0,0,.35)); border: 1px solid color-mix(in srgb, var(--acc-500) 35%, transparent); }
.notice__date b { display: block; font: 600 1.7rem/1.05 var(--serif); color: #fff; letter-spacing: -.01em; }
.notice__date small { display: block; margin-top: 6px; font: 700 10px/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--acc-300); }
.notice__body .card__p { font-size: 14px; }
.ladder { margin: 0; padding: 0 0 0 2px; list-style: none; }
.ladder li { position: relative; padding: 0 0 14px 20px; margin-left: 6px; border-left: 2px solid rgba(255,255,255,.14); }
.ladder li:last-child { border-left-color: transparent; padding-bottom: 0; }
.ladder li::before { content: ''; position: absolute; left: -7px; top: 3px; width: 12px; height: 12px; border-radius: 50%; background: #14161a; border: 2px solid rgba(255,255,255,.3); box-sizing: border-box; }
.ladder li.is-done { border-left-color: var(--acc-500); }
.ladder li.is-done::before { background: var(--acc-500); border-color: var(--acc-400); }
.ladder li.is-current::before { background: transparent; border-color: var(--acc-300); box-shadow: 0 0 0 3px color-mix(in srgb, var(--acc-500) 25%, transparent); }
.ladder__stage { display: block; font: 600 13.5px/1.3 var(--sans); color: #fff; }
.ladder li:not(.is-done):not(.is-current) .ladder__stage { color: rgba(255,255,255,.7); font-weight: 500; }
.ladder__meta { display: block; margin-top: 2px; font-size: 12px; line-height: 1.45; color: rgba(255,255,255,.55); font-variant-numeric: tabular-nums; }

/* ---------- Ask LA strip (home) ---------- */
.askstrip { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.askstrip__text { flex: 1 1 320px; min-width: 0; }
.askstrip__text .card__h { font-size: 1.25rem; font-weight: 500; }
.askstrip .btn-row { flex-shrink: 0; }

/* ---------- toolbar (licenses index / verify) ---------- */
.toolbar { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin: 0 0 14px; }
.toolbar__search { flex: 1 1 260px; min-width: 200px; position: relative; }
.toolbar__search input { padding-left: 36px; }
.toolbar__search svg { position: absolute; left: 12px; bottom: 13px; color: rgba(255,255,255,.45); pointer-events: none; }
.toolbar .field { min-width: 150px; flex: 0 1 200px; }
.toolbar__count { margin-left: auto; font-size: 12.5px; color: rgba(255,255,255,.6); font-variant-numeric: tabular-nums; padding-bottom: 12px; white-space: nowrap; }
.toolbar__actions { display: flex; gap: 8px; align-items: center; padding-bottom: 0; }
.field { display: grid; gap: 6px; min-width: 0; }
.field__label { font: 700 11.5px/1.2 var(--sans); letter-spacing: .05em; text-transform: uppercase; color: rgba(255,255,255,.62); }
.field input:not([type="checkbox"]):not([type="radio"]), .field select, .field textarea, .input {
  width: 100%; font: 400 14.5px/1.4 var(--sans); color: #fff; padding: 10px 12px; min-height: 42px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: 9px; outline: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.field select { appearance: none; -webkit-appearance: none; padding-right: 34px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='.6' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 11px center; }
.field select option { color: #111; background: #fff; }
.field input::placeholder, .input::placeholder { color: rgba(255,255,255,.4); }
.field input:focus, .field select:focus, .input:focus { border-color: color-mix(in srgb, var(--acc-400) 65%, transparent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--acc-500) 20%, transparent); background: rgba(255,255,255,.08); }
.field input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.field__hint { font-size: 12px; line-height: 1.45; color: rgba(255,255,255,.5); }
.facets { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 0; list-style: none; }
.facet { cursor: pointer; font: 500 12.5px/1 var(--sans); color: rgba(255,255,255,.8); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); padding: 7px 12px; border-radius: 999px; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.facet:hover { color: #fff; border-color: rgba(255,255,255,.4); }
.facet.is-on { color: #111; background: var(--acc-400); border-color: var(--acc-400); font-weight: 600; }
.facet b { font-variant-numeric: tabular-nums; opacity: .7; margin-left: 4px; font-weight: 600; }

/* ---------- license index cards ---------- */
.lic { display: flex; flex-direction: column; gap: 6px; }
.lic__name { margin: 0; font: 600 1.12rem/1.25 var(--serif); color: #fff; }
.lic__board { font: 500 12px/1.4 var(--sans); color: rgba(255,255,255,.55); }
.lic__who { margin: 4px 0 6px; font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.72); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lic .tags { margin-top: auto; padding-top: 6px; }

/* ---------- license detail ---------- */
.detail { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
@media (max-width: 900px) { .detail { grid-template-columns: 1fr; } .detail__aside { order: -1; } }
.detail__main { min-width: 0; display: grid; gap: 14px; }
.detail__aside { display: grid; gap: 12px; position: sticky; top: calc(var(--topbar-h) + 16px); }
@media (max-width: 900px) { .detail__aside { position: static; } }
.lead { font: 400 clamp(1rem, 1.5vw, 1.15rem)/1.6 var(--sans); color: #eceef2; margin: 0; text-wrap: pretty; }
.checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.checklist li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; padding: 9px 11px; border-radius: 9px; background: rgba(255,255,255,.04); border: 1px solid var(--glass-border); font-size: 13.5px; line-height: 1.5; color: #eceef2; }
.checklist__dot { width: 16px; height: 16px; margin-top: 3px; border-radius: 50%; border: 1.5px solid color-mix(in srgb, var(--acc-400) 70%, transparent); display: grid; place-items: center; }
.checklist__dot::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--acc-500); }
.checklist__t b { display: block; color: #fff; font-weight: 600; }
.checklist__t .cite-chip { margin-left: 6px; vertical-align: 1px; }
.fees { width: 100%; border-collapse: collapse; font: 400 13.5px/1.45 var(--sans); }
.fees th { text-align: left; font: 700 10.5px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.55); padding: 0 10px 8px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.fees td { padding: 8px 10px 8px 0; border-bottom: 1px solid var(--line); vertical-align: top; color: #eceef2; }
.fees tr:last-child td { border-bottom: 0; }
.fees .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; color: #fff; padding-right: 0; }
.fees .muted { color: rgba(255,255,255,.55); font-size: 12.5px; }
.fees__note { margin: 10px 0 0; font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,.6); }
.dl { display: grid; grid-template-columns: minmax(100px, 130px) 1fr; gap: 6px 12px; margin: 0; font-size: 13px; line-height: 1.5; }
.dl dt { color: rgba(255,255,255,.55); }
.dl dd { margin: 0; color: #eceef2; overflow-wrap: anywhere; min-width: 0; }
.dl dd a { color: var(--acc-300); }
.links { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.links li { font-size: 13.5px; line-height: 1.45; }
.links a { color: var(--acc-300); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--acc-300) 45%, transparent); }
.links a:hover { text-decoration-color: var(--acc-300); color: #fff; }
.actions { display: grid; gap: 8px; }
.actions .btn { justify-content: flex-start; }
.note { margin: 0; padding: 10px 12px; border-radius: 10px; font-size: 12.5px; line-height: 1.55; color: #e8eaee; background: rgba(255,255,255,.05); border: 1px solid var(--glass-border); }
.note--warn { background: color-mix(in srgb, var(--leg-400) 9%, transparent); border-color: color-mix(in srgb, var(--leg-400) 35%, transparent); color: var(--leg-100); }
.note--accent { background: color-mix(in srgb, var(--acc-700) 22%, rgba(0,0,0,.3)); border-color: color-mix(in srgb, var(--acc-500) 35%, transparent); }
.note b { font-weight: 700; }
.note--warn b { color: var(--leg-400); }
.prose-page p { margin: 0 0 .9em; font-size: 14.5px; line-height: 1.65; color: #e2e5ea; }
.prose-page p:last-child { margin-bottom: 0; }
.prose-page ul { margin: 0 0 .9em; padding-left: 1.2em; font-size: 14px; line-height: 1.6; color: #e2e5ea; }
.prose-page a { color: var(--acc-300); }

/* ---------- empty / error states ---------- */
.empty { text-align: center; padding: 36px 24px; border: 1px dashed rgba(255,255,255,.2); border-radius: 14px; background: rgba(255,255,255,.02); }
.empty__ico { display: block; margin: 0 auto 10px; color: rgba(255,255,255,.35); }
.empty__h { margin: 0 0 6px; font: 500 1.25rem/1.3 var(--serif); color: #fff; }
.empty__p { margin: 0 auto 14px; max-width: 42rem; font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.62); }
.empty__p:last-child { margin-bottom: 0; }
.empty--compact { padding: 22px 16px; }
.empty .btn-row { justify-content: center; }

/* ---------- verify results ---------- */
.reg { display: grid; gap: 10px; }
.reg__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 16px; align-items: start; }
@media (max-width: 640px) { .reg__row { grid-template-columns: 1fr; } }
.reg__name { margin: 0; font: 600 1.15rem/1.25 var(--serif); color: #fff; }
.reg__name small { font: 500 12.5px/1.4 var(--sans); color: rgba(255,255,255,.55); margin-left: 8px; }
.reg__meta { margin: 4px 0 0; font-size: 12.5px; color: rgba(255,255,255,.6); }
.reg__meta b { color: rgba(255,255,255,.85); font-weight: 600; }
.sentence { position: relative; margin: 8px 0 0; padding-left: 18px; font: 500 15px/1.5 var(--sans); color: #eceef2; }
.sentence::before { content: ''; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; border-radius: 50%; background: var(--acc-500); box-shadow: 0 0 0 3px color-mix(in srgb, var(--acc-500) 22%, transparent); }
.sentence--ok::before { background: var(--ok-500); box-shadow: 0 0 0 3px rgba(34,197,94,.22); }
.sentence--warn::before { background: var(--leg-400); box-shadow: 0 0 0 3px color-mix(in srgb, var(--leg-400) 22%, transparent); }
.sentence--danger::before { background: var(--danger-500); box-shadow: 0 0 0 3px rgba(239,68,68,.22); }
.sentence--muted { color: rgba(255,255,255,.6); }
.sentence--muted::before { background: rgba(255,255,255,.3); box-shadow: none; }
.sentence .cite-chip { margin-left: 6px; vertical-align: 2px; }
.reg__acts { display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
@media (max-width: 640px) { .reg__acts { flex-direction: row; flex-wrap: wrap; } }

/* ---------- meeting tables (boards) ---------- */
.mtg { width: 100%; border-collapse: collapse; font: 400 13.5px/1.45 var(--sans); }
.mtg th { text-align: left; font: 700 10.5px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.55); padding: 0 10px 8px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.mtg td { padding: 7px 10px 7px 0; border-bottom: 1px solid var(--line); vertical-align: top; color: #eceef2; font-variant-numeric: tabular-nums; }
.mtg tr:last-child td { border-bottom: 0; }
.mtg .muted { color: rgba(255,255,255,.5); }
.mtg .cancel { color: var(--leg-200); }
.contact { display: grid; gap: 4px; font-size: 14px; line-height: 1.55; }
.contact b { color: #fff; }
.contact a { color: var(--acc-300); }

/* ---------- Ask LA launcher + sheet ---------- */
.ask-fab {
  position: fixed; right: 18px; bottom: calc(var(--bottombar-h) + 14px); z-index: 50;
  display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px 11px 12px; border-radius: 999px; cursor: pointer;
  font: 600 14px/1 var(--sans); color: #111; background: var(--acc-500); border: 1px solid var(--acc-400);
  box-shadow: 0 10px 30px rgba(0,0,0,.45), 0 0 0 1px rgba(0,0,0,.2); transition: background .2s, transform .2s var(--ease);
}
.ask-fab:hover { background: var(--acc-400); transform: translateY(-1px); }
.ask-fab__ico { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(0,0,0,.14); }
@media (max-width: 640px) { .ask-fab { right: 12px; bottom: calc(var(--bottombar-h) + 12px); padding: 10px 14px 10px 11px; } }
body.askp-open .ask-fab { opacity: 0; pointer-events: none; }

#askp-root { position: fixed; inset: 0; z-index: 70; pointer-events: none; }
#askp-root.is-open { pointer-events: auto; }
.askp__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .35s ease; }
#askp-root.is-open .askp__backdrop { opacity: 1; }
.askp {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(470px, 100vw); display: flex; flex-direction: column;
  background: rgba(10,10,12,.94); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
  border-left: 1px solid var(--glass-border); box-shadow: -24px 0 60px rgba(0,0,0,.5);
  transform: translateX(102%); transition: transform .45s var(--ease); outline: none;
}
#askp-root.is-open .askp { transform: none; }
.askp__head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--glass-border); }
.askp__avatar { flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: var(--acc-300); background: linear-gradient(135deg, color-mix(in srgb, var(--acc-500) 30%, transparent), color-mix(in srgb, var(--acc-700) 20%, transparent)); border: 1px solid color-mix(in srgb, var(--acc-300) 35%, transparent); }
.askp__id { flex: 1; min-width: 0; }
.askp__title { margin: 0; font: 600 1.1rem/1.2 var(--serif); color: #fff; }
.askp__sub { margin: 2px 0 0; font-size: 11.5px; line-height: 1.35; color: rgba(255,255,255,.55); }
.askp__close { flex-shrink: 0; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.75); cursor: pointer; }
.askp__close:hover { color: #fff; border-color: rgba(255,255,255,.4); }
.askp__scope { display: flex; align-items: center; gap: 8px; margin: 10px 16px 0; padding: 7px 10px; border-radius: 9px; font: 500 12.5px/1.35 var(--sans); color: var(--acc-300); background: color-mix(in srgb, var(--acc-500) 10%, transparent); border: 1px solid color-mix(in srgb, var(--acc-400) 28%, transparent); }
.askp__scope[hidden] { display: none; }
.askp__scope b { font-weight: 600; color: #fff; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }
.askp__scope button { flex-shrink: 0; font: 600 11px/1 var(--sans); color: rgba(255,255,255,.7); background: none; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; padding: 4px 7px; cursor: pointer; }
.askp__scope button:hover { color: #fff; border-color: rgba(255,255,255,.5); }
.askp__log { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 14px 16px; display: flex; flex-direction: column; gap: 12px; scrollbar-width: thin; }
.askp .msg { gap: 10px; }
.askp .msg__bubble { max-width: 94%; font-size: 15px; padding: 11px 14px; }
.askp .msg__avatar { width: 28px; height: 28px; }
.askp .prose { font-size: 14.5px; line-height: 1.58; }
.askp__chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 10px; }
.askp__chips[hidden] { display: none; }
.askp__chips button, .askp__chips a {
  cursor: pointer; font: 500 12.5px/1.25 var(--sans); color: rgba(255,255,255,.85); text-decoration: none; text-align: left;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); padding: 7px 12px; border-radius: 999px; transition: background .2s, color .2s, border-color .2s;
}
.askp__chips button:hover, .askp__chips a:hover { background: color-mix(in srgb, var(--acc-500) 15%, transparent); color: var(--leg-100); border-color: color-mix(in srgb, var(--acc-500) 45%, transparent); }
.askp__chips .is-primary { color: #111; background: var(--acc-400); border-color: var(--acc-400); font-weight: 600; }
.askp__chips .is-primary:hover { background: #fff; color: #111; }
.askp__dock { flex-shrink: 0; padding: 10px 16px calc(env(safe-area-inset-bottom) + 10px); border-top: 1px solid var(--glass-border); background: rgba(0,0,0,.4); }
.askp__dock .ask textarea { font-size: 15.5px; min-height: 44px; padding: 10px 0; }
.askp__dock .ask__field { padding: 4px 4px 4px 14px; }
.askp__dock .ask__send { width: 40px; height: 40px; }
.askp__foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin: 8px 2px 0; font-size: 11.5px; line-height: 1.4; color: rgba(255,255,255,.5); }
.askp__foot a { color: var(--acc-300); text-decoration: none; font-weight: 600; }
.askp__foot a:hover { text-decoration: underline; text-underline-offset: 3px; }
.askp__offline { padding: 14px 16px; border-radius: 12px; background: color-mix(in srgb, var(--leg-400) 9%, transparent); border: 1px solid color-mix(in srgb, var(--leg-400) 35%, transparent); }
.askp__offline h3 { margin: 0 0 6px; font: 600 1rem/1.3 var(--serif); color: var(--leg-100); }
.askp__offline p { margin: 0 0 8px; font-size: 13px; line-height: 1.5; color: #e8eaee; }
.askp__offline ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 5px; font-size: 13px; }
.askp__offline a { color: var(--acc-300); }
body.askp-open { overflow: hidden; }

/* ---------- bottombar on a scrolling page ---------- */
body.site-mode .bottombar { min-height: var(--bottombar-h); }
body.site-mode .bottombar__links { display: none; }
@media (min-width: 720px) { body.site-mode .bottombar__links { display: inline-flex; } }
body.site-mode .bottombar__brand { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
@media (max-width: 640px) { body.site-mode .bottombar { font-size: 11px; padding: 8px 12px; } }

/* ---------- print ---------- */
@media print {
  body.site-mode { background: #fff; color: #000; }
  .ask-fab, #askp-root, .banner--demo, .sa, .counts { display: none !important; }
  .card, .thresh__item, .notice__date { background: #fff; border-color: #bbb; color: #000; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .site { padding-top: 0; color: #000; }
}

/* ---- static notice pages (accessibility, AI notice) ---- */
.card--pad { padding: 22px 26px; }
.card--pad .card__h { margin: 18px 0 8px; font-size: 1.05rem; }
.card--pad .card__h:first-child { margin-top: 0; }
.card--pad p { margin: 0 0 12px; line-height: 1.55; }
.list { margin: 0 0 14px; padding-left: 20px; line-height: 1.55; }
.list li { margin: 0 0 8px; }
