@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo.woff) format("woff");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{
  --ultra:#1B2BA0;--ultra-2:#24359F;--ink:#0E1230;--paper:#fff;--mist:#EEF0F8;--line:#DDE1EF;--muted:#565D7D;
  --marigold:#F2B705;--gallery:#F7F7F5;--print:#F1EEE6;
  --inforce:#1B2BA0;--upcoming:#8C96E0;--pending:#fff;--none:#EEF0F8;
  --w:1200px;--gut:clamp(16px,4vw,48px);
  --f:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.6;font-variant-numeric:tabular-nums;font-feature-settings:"ss01"}
img,svg{max-width:100%}
a{color:var(--ultra);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--marigold);outline-offset:2px}
h1,h2,h3{line-height:1.08;letter-spacing:-.015em;margin:0}
h1{font-stretch:125%;font-weight:800;font-size:clamp(34px,5.4vw,64px)}
h2{font-stretch:118%;font-weight:780;font-size:clamp(23px,2.6vw,30px)}
h3{font-size:18px;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--w);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--marigold);color:var(--ink);padding:8px 12px;z-index:9}
.skip:focus{left:8px}

/* header */
header.top{border-bottom:1px solid var(--line);background:var(--paper)}
header.top.on-band{background:var(--ultra);border-color:rgba(255,255,255,.14)}
header.top .wrap{display:flex;align-items:center;gap:28px;min-height:68px;flex-wrap:wrap}
.mark{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-stretch:125%;font-weight:800;font-size:19px;letter-spacing:-.01em}
.mark svg{width:34px;height:34px}
.mk-b{fill:var(--ultra)}.mk-i{fill:#fff}.on-band .mark .mk-b{fill:#fff}.on-band .mark .mk-i{fill:var(--ultra)}
.on-band .mark{color:#fff}
header.top .wrap{gap:16px}
@media (min-width:861px){header.top .wrap{flex-wrap:nowrap}.mark{margin-right:6px}}
header nav ul{display:flex;gap:4px 4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
header nav a{display:block;color:var(--muted);text-decoration:none;font-size:15px;font-weight:600;padding:7px 10px;border-radius:999px;white-space:nowrap}
header nav a:hover{color:var(--ink);background:var(--mist)}
header nav a[aria-current]{color:var(--ultra);background:var(--mist)}
.on-band nav a{color:rgba(255,255,255,.8)}.on-band nav a:hover{color:#fff;background:rgba(255,255,255,.1)}.on-band nav a[aria-current]{color:#fff;background:rgba(255,255,255,.16)}
.search{margin-left:auto;position:relative;display:flex;align-items:center}
.search .s-ico{position:absolute;left:13px;width:16px;height:16px;color:var(--muted);pointer-events:none}
.search input{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:999px;padding:9px 34px 9px 37px;width:210px;background:#fff;color:var(--ink);-webkit-appearance:none;appearance:none}
.search input::-webkit-search-cancel-button{display:none}
.search input:focus{outline:2px solid var(--ultra);outline-offset:2px}
.on-band .search input:focus{outline-color:var(--marigold)}
.on-band .search input{border-color:rgba(255,255,255,.5)}
.search kbd{position:absolute;right:10px;font:inherit;font-size:12px;line-height:1;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:3px 6px;pointer-events:none}
.search input:focus~kbd,.search input:not(:placeholder-shown)~kbd{display:none}
.on-band .search input{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}
.on-band .search input::placeholder{color:rgba(255,255,255,.72)}
.on-band .search .s-ico{color:rgba(255,255,255,.8)}
.on-band .search kbd{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.35)}
.cta{flex:none;background:var(--ultra);color:#fff;text-decoration:none;font-weight:700;font-size:14.5px;padding:9px 16px;border-radius:999px;white-space:nowrap}
.cta:hover{background:#24359F}
.on-band .cta{background:var(--marigold);color:var(--ink)}.on-band .cta:hover{background:#ffd23f}
/* instant search results */
.sr{position:absolute;top:calc(100% + 8px);right:0;width:min(420px,calc(100vw - 32px));list-style:none;margin:0;padding:6px;background:#fff;color:var(--ink);border-radius:16px;box-shadow:0 24px 50px -18px rgba(5,10,40,.45),0 0 0 1px rgba(14,18,48,.08);z-index:60;max-height:70vh;overflow-y:auto}
.sr li a{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.sr li[aria-selected="true"] a,.sr li a:hover{background:var(--mist)}
.sr .sr-t{font-weight:650;font-size:15px}
.sr .sr-s{font-size:12.5px;color:var(--muted)}
.sr .sr-all a{font-size:14px;color:var(--ultra);border-top:1px solid var(--line);border-radius:0 0 10px 10px;margin-top:4px}
/* Medium widths: the search collapses to an icon and opens over the nav when focused */
@media (max-width:1180px) and (min-width:861px){
  .search{width:40px;height:40px}
  .search .s-ico{z-index:2}
  .search input{position:absolute;right:0;top:0;width:40px;height:40px;padding:0 0 0 37px;cursor:pointer;color:transparent;transition:width .18s}
  .search input::placeholder{color:transparent}
  .search input:focus{width:300px;cursor:text;color:var(--ink);z-index:1}
  .on-band .search input:focus{color:#fff;background:var(--ultra)}
  .search input:focus::placeholder{color:var(--muted)}.on-band .search input:focus::placeholder{color:rgba(255,255,255,.72)}
  .search kbd{display:none}
  header nav a{padding:7px 8px}
}
@media (max-width:960px) and (min-width:861px){header nav a{font-size:14px;padding:6px 6px}.cta{padding:8px 12px;font-size:13.5px}}
@media (prefers-reduced-motion: reduce){.search input{transition:none}}
.crumbs ol{display:flex;gap:8px;list-style:none;margin:0;padding:14px 0 0;font-size:13.5px;color:var(--muted);flex-wrap:wrap}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}
.crumbs a{color:inherit}
body.has-band .crumbs{background:var(--ultra);max-width:none;margin:0;padding-left:max(var(--gut),calc((100% - var(--w))/2 + var(--gut)))}
body.has-band .crumbs ol{color:rgba(255,255,255,.7)}

/* band and hero */
.band{background:var(--ultra);color:#fff}
.band a{color:#fff}
.hero{padding:36px 0 72px}
.hero-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:48px;align-items:start}
.hero h1{font-size:clamp(38px,5.6vw,70px);line-height:.98}
.lede{font-size:clamp(17px,1.6vw,19.5px);color:var(--muted);max-width:36em;margin-top:18px}
.band .lede{color:rgba(255,255,255,.86)}
.counts{display:flex;gap:28px 40px;flex-wrap:wrap;margin:30px 0 0}
.counts div{display:flex;flex-direction:column-reverse}
.counts dd{margin:0;font-stretch:125%;font-weight:760;font-size:40px;line-height:1}
.counts dt{font-size:14px;opacity:.82;margin-top:6px}
.asof{font-size:14px;margin-top:24px;opacity:.85}
.hero-map{padding-top:40px;position:sticky;top:16px;align-self:start}

/* tile maps */
/* Geographic map */
.usmap{width:100%;height:auto;display:block;overflow:visible}
.usmap .shape,.usmap .chip{fill:#E3E6F2;stroke:#fff;stroke-width:1.1;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .25s,stroke .15s}
.usmap .s-inforce .shape,.usmap .s-inforce .chip,.usmap .s-has .shape,.usmap .s-has .chip{fill:var(--ultra)}
.usmap .s-upcoming .shape,.usmap .s-upcoming .chip{fill:var(--upcoming)}
.usmap .s-pending .shape,.usmap .s-pending .chip{fill:url(#hatch)}
.usmap .h-bg{fill:#fff}.usmap .h-ln{stroke:var(--ultra);stroke-width:1.7}
.usmap .lead{fill:none;stroke:#9aa0bd;stroke-width:1;vector-effect:non-scaling-stroke}
.usmap .anchor{fill:#6b7194}
.usmap .lbl{font:700 13px var(--f);letter-spacing:.04em;text-anchor:middle;fill:#6b7194;pointer-events:none}
.usmap .l-inforce,.usmap .l-has,.usmap .s-inforce .lbl,.usmap .s-has .lbl{fill:#fff}
.usmap .l-upcoming,.usmap .s-upcoming .lbl{fill:var(--ink)}
.usmap .l-pending,.usmap .s-pending .lbl{fill:var(--ultra);paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round}
.usmap .lbl.l-off{fill:var(--ink)}.usmap.on-ultra .lbl.l-off{fill:#fff}
.legend[hidden]{display:none}
.usmap .dot{fill:var(--marigold);stroke:var(--ink);stroke-width:1.4;vector-effect:non-scaling-stroke;pointer-events:none}
.usmap a{cursor:pointer;outline:none}
.usmap a:hover .shape,.usmap a:focus-visible .shape,.usmap a:hover .chip,.usmap a:focus-visible .chip,.usmap .st.hot .shape{stroke:var(--marigold);stroke-width:3}
.usmap a:focus-visible .shape{stroke-width:4}
.usmap.duty-view .dot,.usmap.duty-view .labels .dot{display:none}
@media (prefers-reduced-motion: no-preference){.usmap .st{animation:mapIn .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 14ms)}@keyframes mapIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.usmap .labels{animation:mapIn .5s .55s both}}
/* on the blue band */
.usmap.on-ultra .shape,.usmap.on-ultra .chip{fill:rgba(255,255,255,.13);stroke:var(--ultra);stroke-width:1.2}
.usmap.on-ultra .s-inforce .shape,.usmap.on-ultra .s-inforce .chip{fill:#fff}
.usmap.on-ultra .s-upcoming .shape,.usmap.on-ultra .s-upcoming .chip{fill:#8E98EA}
.usmap.on-ultra .s-pending .shape,.usmap.on-ultra .s-pending .chip{fill:url(#hatch-d)}
.usmap.on-ultra .h-bg{fill:var(--ultra)}.usmap.on-ultra .h-ln{stroke:rgba(255,255,255,.85);stroke-width:1.5}
.usmap.on-ultra .lbl{fill:rgba(255,255,255,.8)}
.usmap.on-ultra .l-inforce,.usmap.on-ultra .s-inforce .lbl{fill:var(--ultra)}
.usmap.on-ultra .l-upcoming,.usmap.on-ultra .s-upcoming .lbl{fill:var(--ink)}
.usmap.on-ultra .l-pending,.usmap.on-ultra .s-pending .lbl{fill:#fff;stroke:var(--ultra)}
.usmap.on-ultra .lead{stroke:rgba(255,255,255,.5)}.usmap.on-ultra .anchor{fill:rgba(255,255,255,.8)}
@media (max-width:560px){.usmap .labels,.usmap .lead,.usmap .anchor,.usmap .chip,.usmap .st .lbl,.usmap .st .dot{display:none}}
/* map tooltip */
.map-tip{position:fixed;z-index:70;pointer-events:none;background:var(--ink);color:#fff;border-radius:12px;padding:10px 13px;font-size:13.5px;line-height:1.35;max-width:260px;box-shadow:0 14px 30px -12px rgba(5,10,40,.6);opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s}
.map-tip.on{opacity:1;transform:none}
.map-tip b{display:block;font-size:15px;font-stretch:112%;margin-bottom:2px}
.map-tip span{display:block;color:rgba(255,255,255,.78)}
.map-tip em{display:block;font-style:normal;color:var(--marigold);margin-top:4px;font-weight:650}
/* locator maps */
.locator{width:220px;height:auto;display:block}
.locator .other{fill:rgba(255,255,255,.16);stroke:var(--ultra);stroke-width:1}
.locator .here{fill:var(--marigold)}
.locator .ring{fill:none;stroke:var(--marigold);stroke-width:4}
.state-mini .locator .other{fill:#E3E6F2;stroke:#fff}
.state-mini .locator .here{fill:var(--ultra)}.state-mini .locator .ring{stroke:var(--ultra)}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0;margin:14px 0 0;font-size:13.5px;color:var(--muted)}
.legend.on-ultra{color:rgba(255,255,255,.88)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:7px;vertical-align:-1px}
.k-inforce{background:var(--inforce)}.k-upcoming{background:var(--upcoming)}.k-pending{background:repeating-linear-gradient(45deg,#fff 0 2px,var(--inforce) 2px 3.5px);box-shadow:inset 0 0 0 1px var(--inforce)}.k-none{background:#E3E6F2}.k-dot{background:var(--marigold);border-radius:50%!important;box-shadow:inset 0 0 0 1.5px var(--ink)}
.on-ultra .k-inforce{background:#fff}.on-ultra .k-pending{background:repeating-linear-gradient(45deg,var(--ultra) 0 2px,#fff 2px 3.5px);box-shadow:inset 0 0 0 1px #fff}.on-ultra .k-none{background:rgba(255,255,255,.13)}.on-ultra .k-upcoming{background:#8E98EA}

/* home: Plate I, under the hero map */
.hero-map{container-type:inline-size}
.plate-fig{margin:30px 0 0;display:grid;grid-template-columns:minmax(0,1fr) 196px;gap:28px;align-items:start}
.frame{background:#fff;padding:12px;margin:10px 9px 9px;box-shadow:0 0 0 1px rgba(0,0,0,.25),0 0 0 9px #141419,0 0 0 10px rgba(255,255,255,.18),0 34px 50px -26px rgba(0,0,0,.65)}
.plate{display:block;width:100%;height:auto}
.pl-code{font:700 11px Archivo,system-ui,sans-serif;letter-spacing:.05em}
.plate a{cursor:pointer}.plate a:focus{outline:none}
.plate a:hover .st>g{opacity:.86}
.plate a:focus-visible .st>g rect{stroke:var(--marigold);stroke-width:5}
.wall{font-size:13px;line-height:1.5;color:#fff}
.wall p{margin:0 0 8px}
.wall .pl-no{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin:0}
.wall .pl-h{font-stretch:112%;font-weight:800;font-size:19px;line-height:1.15;margin:4px 0 2px}
.wall .t{font-style:italic;opacity:.8}
.wall .src{font-size:12px;opacity:.75;margin:10px 0 0}
.ringkey{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:3px;font-size:12px;line-height:1.35}
.ringkey li{display:flex;gap:8px;align-items:center}
.ringkey svg{width:13px;height:13px;flex:none}
@container (max-width:540px){
  .plate-fig{grid-template-columns:minmax(0,1fr);gap:22px}
  .ringkey{grid-template-columns:1fr 1fr;column-gap:14px}
}
@media (prefers-reduced-motion:no-preference){
  .js .plate .st{opacity:0;animation:ink .6s ease forwards;animation-delay:calc(var(--i) * 28ms + .3s)}
  @keyframes ink{from{opacity:0}to{opacity:1}}
}

/* home: what the laws require */
.duties-band{background:var(--gallery);padding:clamp(48px,7vw,88px) 0;border-bottom:1px solid #ebeae6}
.duties-band h2{margin-top:0}
.duty-grid{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dc{position:relative;background:#fff;border-radius:16px;padding:20px 22px 18px;box-shadow:0 0 0 1px rgba(14,18,48,.07),0 10px 24px -18px rgba(14,18,48,.35);display:flex;flex-direction:column}
.dc::before{content:"";position:absolute;left:22px;top:0;width:44px;height:5px;border-radius:0 0 4px 4px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.dc-n{margin:6px 0 2px;color:var(--muted);font-size:14px;display:flex;align-items:baseline;gap:7px}
.dc-n span{font-stretch:125%;font-weight:800;font-size:34px;line-height:1;color:var(--ink)}
.dc h3{font-size:19px;margin:6px 0 6px;line-height:1.25}
.dc h3 a{color:var(--ink);text-decoration:none}.dc h3 a:hover{color:var(--ultra);text-decoration:underline}
.dc-d{margin:0 0 12px;font-size:15px;line-height:1.45;color:#3b3f55}
.dc-st{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 14px}
.dc-st a{font-size:12px;font-weight:650;letter-spacing:.02em;color:var(--ink);background:var(--mist);border-radius:6px;padding:5px 7px;text-decoration:none;line-height:1.2;min-width:24px;text-align:center}
.dc-st a:hover{background:var(--ultra);color:#fff}
.dc-map{margin-top:auto;font-size:14px;font-weight:650;color:var(--ultra)}
@media (max-width:980px){.duty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.duty-grid{grid-template-columns:minmax(0,1fr);gap:12px}}

/* blocks */
.block{padding:clamp(44px,6vw,72px) var(--gut) 0}
.block .sub{color:var(--muted);margin:8px 0 26px}
.next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.nd-date{font-stretch:118%;font-weight:760;font-size:22px;margin:0}
.nd-in{font-size:13.5px;color:var(--muted);margin:2px 0 12px}
.next ul{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.next li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;font-size:15px}
.next li a{font-weight:650;color:var(--ink);text-decoration:none}.next li a:hover{color:var(--ultra)}
.next li span{color:var(--muted);font-size:14px}
.more{margin-top:20px;font-size:15px}
.tablewrap{position:relative;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:15px}
.compare th,.compare td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:center}
.compare thead th{border-bottom:2px solid var(--ink);font-stretch:112%;font-weight:700}
.compare thead th a{color:var(--ink);text-decoration:none}
.compare tbody th{text-align:left;font-weight:550;min-width:220px}
.compare .sm{display:block;font-size:12.5px;color:var(--muted);font-weight:400}
.compare.full td{font-size:13.5px;white-space:nowrap}
.yes{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--ultra)}
.no{display:inline-block;width:14px;height:2px;background:#c6cadb;vertical-align:middle}
.kd{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);margin-right:9px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.topics{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.topics a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.topics a:hover .tp-name{color:var(--ultra)}
.tp-name{font-weight:650}.tp-n{color:var(--muted);font-size:14px;white-space:nowrap}
.reporters{background:var(--mist);margin-top:clamp(48px,7vw,88px);padding:56px 0}
.rep-grid{display:grid;grid-template-columns:300px repeat(3,minmax(0,1fr));gap:36px}
.rep-grid p{font-size:15px;color:var(--muted)}
.faq{padding-top:56px;padding-bottom:16px;max-width:860px}
.faq h2{margin-bottom:12px}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:650}
.faq details p{margin:10px 0 0;color:#2c3050}

/* law and inner pages */
.lawband{padding:12px 0 40px}
.law-head{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:40px;align-items:end}
.kicker{font-size:14px;opacity:.75;margin:14px 0 6px}
.law-head h1{font-size:clamp(44px,7vw,84px);line-height:.95}
.law-name{font-size:clamp(17px,1.8vw,21px);opacity:.88;margin:10px 0 0;max-width:40em}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{display:inline-block;font-size:13.5px;font-weight:600;padding:5px 10px;border-radius:3px;background:var(--mist);color:var(--ink)}
.band .chip{background:rgba(255,255,255,.14);color:#fff}
.band .chip.c-soon{background:var(--marigold);color:var(--ink)}
.chip.c-inforce{background:var(--ultra);color:#fff}.band .chip.c-inforce{background:#fff;color:var(--ultra)}
.chip.c-upcoming{background:#dfe2f8}.chip.c-vetoed{background:#f1e3e0}.chip.c-pending{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ultra)}.chip.c-action{background:#fdf1cc}
.band .chip.c-pending{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}.band .chip.c-vetoed{background:#f1e3e0;color:var(--ink)}.band .chip.c-action{background:#fdf1cc;color:var(--ink)}.band .chip.c-upcoming{background:#dfe2f8;color:var(--ultra)}
.hero-status{margin:12px 0 0;font-size:15px;opacity:.88;max-width:640px}
.law-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;padding-top:40px;padding-bottom:24px}
.summary{font-size:clamp(18px,1.8vw,20.5px);line-height:1.55;max-width:38em}
.sec{margin-top:40px}
.sec h2{font-size:22px;margin-bottom:14px}
.spec{border-top:2px solid var(--ink)}
.spec th,.spec td{text-align:left;vertical-align:top;padding:12px 10px 12px 0;border-bottom:1px solid var(--line)}
.spec th{width:200px;font-weight:650;font-stretch:108%}
.spec.wide th{width:auto}
.spec thead th{font-size:14px}
.cite-c{color:var(--ultra);font-size:13.5px;font-weight:600;white-space:nowrap;text-align:right!important;width:120px}
.cite-l{display:block;font-size:13px;color:var(--ultra);font-weight:600;margin-top:4px}
.freq{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.dates{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.dates li{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.dates time{font-weight:650}
.dates li.past{color:var(--muted)}
.notes{background:var(--mist);padding:18px 20px;border-radius:4px}
.notes h2{font-size:17px}
.notes p,.notes ul{font-size:15px;margin:0}
.sources{padding-left:20px;font-size:14.5px}
.sources li{margin-bottom:6px}
.sources span{color:var(--muted)}
.law-side{display:flex;flex-direction:column;gap:20px}
.facts{margin:0;border-top:2px solid var(--ink)}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right;font-weight:600}
.official{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:15px;margin:0}
.side-duties h2{font-size:16px;margin-bottom:8px}
.side-duties ul{list-style:none;padding:0;margin:0;font-size:15px}
.side-duties li{padding:4px 0}
.side-link{font-weight:600;font-size:15px;margin:0}
.cite{background:var(--mist);border-radius:4px;padding:16px 18px}
.cite h2{font-size:15px;margin-bottom:8px}
.cite-text{font-size:14px;line-height:1.5;margin:0 0 10px;word-break:break-word}
.copy{font:inherit;font-size:14px;font-weight:650;border:1.5px solid var(--ink);background:#fff;border-radius:3px;padding:6px 12px;cursor:pointer;color:var(--ink)}
.copy[data-done]{background:var(--ink);color:#fff}
.page-head{padding-top:40px;padding-bottom:8px}
.page-head .stat{font-weight:650;margin-top:8px}
.state-head{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:40px;align-items:end}
.lawlist{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.lawlist li{display:grid;grid-template-columns:14px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.ll-name{font-weight:700;color:var(--ink);text-decoration:none;margin-right:8px}.ll-name:hover{color:var(--ultra)}
.ll-title{color:var(--muted);font-size:15px}
.ll-when{font-size:14px;color:var(--muted);text-align:right;max-width:240px}
.sdot{width:11px;height:11px;border-radius:50%;background:var(--none)}
.s-inforce{background:var(--inforce)}.s-upcoming{background:var(--upcoming)}.s-pending{box-shadow:inset 0 0 0 2px var(--inforce);background:#fff}.s-vetoed{background:#d9b3aa}.s-action{background:var(--marigold)}
.glyphs{display:inline-flex;gap:3px}
.g{width:9px;height:9px;border-radius:50%;background:#e7e9f2;display:inline-block}
.g.on{background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.glyph-key{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--muted);margin-top:14px}
.glyph-key .g{margin-right:6px}
.duty-check{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.duty-check li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.duty-check li.off{color:#9aa0b8}.duty-check li.off .kd{opacity:.25}
.empty{color:var(--muted)}
.prose{max-width:760px;padding-bottom:24px}.prose.wide{max-width:960px}
.prose h2{margin:36px 0 12px}
.prose li{margin-bottom:8px}
.keyfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0}
.keyfacts div{border-top:2px solid var(--ink);padding-top:10px}
.keyfacts dt{font-stretch:125%;font-weight:760;font-size:36px;line-height:1}
.keyfacts dd{margin:6px 0 0;font-size:14.5px;color:var(--muted)}
.code{background:var(--ink);color:#e9ebf7;padding:16px;border-radius:4px;overflow-x:auto;font-size:13.5px}
.downloads{list-style:none;padding:0}
.downloads li{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid var(--line)}
.downloads a{font-weight:700}
.downloads span{color:var(--muted);font-size:15px}

/* states page */
.map-page{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding-top:12px;padding-bottom:24px}
.tabs{display:none;flex-wrap:wrap;gap:8px;margin-bottom:22px}.js .tabs{display:flex}
.tabs button{font:inherit;font-size:14px;font-weight:650;color:var(--ultra);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.tabs button:hover{border-color:var(--ultra)}
.tabs button[aria-pressed=true]{background:var(--ultra);border-color:var(--ultra);color:#fff}
.tabs button:focus-visible{outline:3px solid var(--marigold);outline-offset:2px}
.sg{border-top:2px solid var(--ink);padding:10px 0 16px}
.sg h2{font-size:17px;display:flex;justify-content:space-between}
.sg p{font-size:15px;color:var(--muted);margin:6px 0 0}

/* tracker, filters, tools */
.filters{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:end;margin:8px 0 10px}
.filters label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:var(--muted);gap:4px}
.filters input,.filters select{font:inherit;font-size:15px;border:1px solid var(--line);border-radius:4px;padding:8px 10px;min-width:180px;color:var(--ink);background:#fff}
.csv{margin-left:auto;font-weight:650;font-size:15px}
.count{font-size:14px;color:var(--muted)}
.tracker th,.tracker td{text-align:left;padding:11px 10px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tracker thead th{border-bottom:2px solid var(--ink);font-size:14px}
.tracker td a{font-weight:650;color:var(--ink)}
.tracker .sm{display:block;font-size:13.5px;color:var(--muted)}
.pick{border:0;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14.5px}
.pick legend{font-weight:700;margin-bottom:8px}
.note{font-size:14px;color:var(--muted)}
.checker{display:grid;grid-template-columns:380px minmax(0,1fr);gap:48px;padding-bottom:32px}
.ck-form fieldset{border:0;border-top:2px solid var(--ink);margin:0 0 18px;padding:12px 0 0}
.ck-form legend{font-weight:700;padding:0;margin-bottom:6px}
.ck-form label{display:block;padding:4px 0;font-size:15px}
.ck-form select{width:100%;font:inherit;font-size:14px;margin-top:6px;border:1px solid var(--line);border-radius:4px}
.ck-out h2{font-size:22px;margin-bottom:6px}
.ck-out .ck-law{border-top:1px solid var(--line);padding:14px 0}
.ck-out .ck-law a{font-weight:700}
.ck-out .ck-law p{margin:4px 0 0;font-size:15px;color:var(--muted)}
.ck-out .disclaimer{font-size:13.5px;color:var(--muted);background:var(--mist);padding:12px 14px;border-radius:4px}

/* footer: one compact band */
.foot{margin-top:72px;border-top:1px solid var(--line);padding:40px 0 30px;font-size:14px;color:var(--muted)}
.f-row{display:grid;grid-template-columns:minmax(180px,1.1fr) 4fr;gap:28px 40px;align-items:start}
.f-brand p{margin:10px 0 0;font-size:13.5px;max-width:24ch;line-height:1.5}
.f-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 24px}
.f-h{font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:2px 0 10px}
.f-col ul{list-style:none;padding:0;margin:0}
.f-col li{margin:0 0 7px;line-height:1.35}
.f-col a{color:var(--muted);text-decoration:none;font-weight:550;font-size:14px}.f-col a:hover{color:var(--ultra);text-decoration:underline}
@media (max-width:1060px){.f-row{grid-template-columns:1fr}.f-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.f-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.f-col a{display:inline-block;padding:3px 0}}
.f-mark{display:flex;align-items:center;gap:9px;font-stretch:125%;font-weight:800;color:var(--ink);font-size:16px;text-decoration:none}
.f-mark svg{width:26px;height:26px}
.f-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.f-links a{color:var(--muted);text-decoration:none;font-weight:550}.f-links a:hover{color:var(--ultra);text-decoration:underline}
.f-base{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:8px 28px;margin-top:30px;padding-top:14px;border-top:1px solid var(--line)}
.f-legal{font-size:13px;margin:0;max-width:none}
.f-small{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px}
.f-small a{color:var(--muted)}.f-small a:hover{color:var(--ultra)}

/* embeds */
body.embed{padding:12px;font-size:14px}
.embed .e-title{font-weight:700;font-stretch:112%;margin:0 0 10px}
.embed .e-count{font-size:16px;margin:0}.embed .e-count span{display:block;font-stretch:125%;font-weight:800;font-size:56px;line-height:1;color:var(--ultra)}
.embed .credit{font-size:12px;color:var(--muted);margin-top:10px}

@media (max-width:980px){
  .hero-grid,.law-body,.map-page,.checker,.state-head,.law-head{grid-template-columns:minmax(0,1fr)}
  .next,.topics{grid-template-columns:minmax(0,1fr)}
  .rep-grid{grid-template-columns:minmax(0,1fr)}
  .keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .law-map,.state-mini{display:none}
  .search{margin-left:0;width:100%}.search input{width:100%}
}
@media (max-width:640px){
  body{font-size:16px}
  header nav ul{gap:4px 14px}
  .lawlist li{grid-template-columns:12px minmax(0,1fr)}
  .lawlist .ll-when,.lawlist .glyphs{grid-column:2;text-align:left}
  .dates li{grid-template-columns:minmax(0,1fr);gap:2px}
  .spec th{width:120px}
  .cite-c{width:auto}
}

.toc{border:1px solid var(--line);border-radius:4px;padding:14px 18px;margin:0 0 8px;font-size:15px}.toc p{margin:0 0 6px;font-weight:700}.toc ol{margin:0;padding-left:20px}.toc li{margin:3px 0}
.guide-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}.guide-list li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.guide-list a{font-weight:700;font-size:19px;color:var(--ink);text-decoration:none}.guide-list a:hover{color:var(--ultra)}.guide-list span{color:var(--muted);font-size:15px}
.guide .prose{padding-bottom:0}

/* Home chat */
.chat{background:#fff;color:var(--ink);border-radius:22px;padding:0;box-shadow:0 30px 60px -30px rgba(5,10,40,.55);display:flex;flex-direction:column;max-height:none;overflow:hidden}
.chat a{color:var(--ultra)}
.chat-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.chat-head svg{width:36px;height:36px;flex:none}
.chat-name{margin:0;font-weight:760;font-stretch:115%;font-size:16px}
.chat-status{margin:2px 0 0;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
.chat-status i{width:8px;height:8px;border-radius:50%;background:#2fae63;display:inline-block}
.chat-log{padding:18px 18px 8px;display:flex;flex-direction:column;gap:10px;max-height:560px;overflow-y:auto;scroll-behavior:smooth}
.msg{max-width:92%;padding:12px 15px;border-radius:18px;font-size:15.5px;line-height:1.45}
.msg p{margin:0}.msg p+p,.msg p+ul,.msg ul+p{margin-top:8px}
.msg.bot{background:var(--mist);border-bottom-left-radius:6px;align-self:flex-start}
.msg.me{background:var(--ultra);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}
.msg.bot h1{font-size:clamp(28px,3.6vw,44px);line-height:1.02;color:var(--ink);margin:2px 0 0}
.chat .counts{margin:16px 0 0;gap:16px 26px}.chat .counts dd{font-size:32px;color:var(--ultra)}.chat .counts dt{opacity:1;color:var(--muted);font-size:13px}
.chat .asof{margin-top:12px;opacity:1;color:var(--muted);font-size:13px}
.msg-list{list-style:none;padding:0;margin:6px 0 0}.msg-list li{padding:5px 0;border-top:1px solid rgba(14,18,48,.08);display:flex;flex-direction:column}.msg-list li:first-child{border-top:0}.msg-list span{font-size:13px;color:var(--muted)}
.msg-src,.msg-more{font-size:12.5px;color:var(--muted)}
.msg.typing{display:flex;gap:5px;padding:14px 16px}.msg.typing span{width:7px;height:7px;border-radius:50%;background:#8a90ad;animation:blink 1s infinite}.msg.typing span:nth-child(2){animation-delay:.15s}.msg.typing span:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.chat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:6px 18px 12px}
.chip-q{font-size:13.5px;padding:7px 12px;border:1.5px solid var(--ultra);border-radius:999px;text-decoration:none;color:var(--ultra)!important;background:#fff;font-weight:600}
.chip-q:hover{background:var(--ultra);color:#fff!important}
.chat-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line)}
.chat-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:11px 16px;font:inherit;font-size:15px}
.chat-form button{border:0;border-radius:999px;background:var(--ultra);color:#fff;font:inherit;font-weight:650;padding:0 18px;cursor:pointer}
.chat-note{margin:0;padding:0 18px 12px;font-size:12px;color:var(--muted)}
@media (prefers-reduced-motion: reduce){.msg.typing span{animation:none}.chat-log{scroll-behavior:auto}}
.chat-head .avatar,.chat-head svg{width:36px;height:36px;flex:none}
/* Floating Ask chat */
.ask-fab{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:var(--ultra);color:#fff;font:inherit;font-weight:700;font-size:15px;padding:10px 18px 10px 10px;box-shadow:0 14px 30px -12px rgba(5,10,40,.6);cursor:pointer}
.ask-fab svg{width:34px;height:34px;background:#fff;border-radius:50%;padding:4px}
.ask-fab:hover{background:#24359F}
.ask-fab[aria-expanded="true"] span{display:none}
.chat-panel{position:fixed;right:20px;bottom:84px;z-index:41;width:min(400px,calc(100vw - 32px));max-height:min(640px,calc(100vh - 110px))}
.chat-panel .chat-log{flex:1;min-height:180px;max-height:none}
.chat-x{margin-left:auto;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px}
@media (max-width:640px){.ask-fab{right:12px;bottom:12px;padding:8px}.ask-fab span{display:none}.chat-panel{right:8px;left:8px;width:auto;bottom:72px;max-height:calc(100vh - 90px)}}
@media print{.ask-fab,.chat-panel{display:none}}
/* Chat-style conversation blocks used site-wide */
.convo{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.qa{display:flex;flex-direction:column;gap:8px}
.qa .msg.me{align-self:flex-end;max-width:80%;margin:0;font-weight:600}
.qa .msg.bot{align-self:flex-start;max-width:88%;color:#22264a}
.qa .msg.bot a{color:var(--ultra)}
.bot-say{margin:0 0 8px}
.bot-who{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-weight:700;font-size:14px}
.bot-who svg{width:26px;height:26px}
.bot-who span{font-weight:400;color:var(--muted)}
.summary.msg{max-width:none;border-radius:20px;border-top-left-radius:6px;padding:18px 20px;margin:0}
.cite{border-radius:20px!important}
.cite .copy{border-radius:999px!important}
/* Compact header on phones (JS adds the menu button; without JS the full nav shows) */
.menu-btn{display:none}
@media (max-width:860px){
  .js header.top .wrap{flex-wrap:nowrap;gap:12px;min-height:60px}
  .js .menu-btn{display:inline-flex;align-items:center;gap:8px;margin-left:auto;border:1.5px solid currentColor;border-radius:999px;background:none;color:inherit;font:inherit;font-weight:650;font-size:14px;padding:7px 14px;cursor:pointer}
  .js header.top:not(.open) nav,.js header.top:not(.open) .search{display:none}
  .js header.top.open .wrap{flex-wrap:wrap;padding-bottom:14px}
  .js header.top:not(.open) .cta{display:none}
  .js header.top.open .search{order:3;width:100%;margin:4px 0 0;display:flex}.js header.top.open .search input{width:100%;font-size:16px;padding-top:11px;padding-bottom:11px}
  .js header.top.open .search kbd{display:none}
  .js header.top.open .sr{left:0;right:0;width:auto}
  .js header.top.open nav{order:4;width:100%}.js header.top.open nav ul{flex-direction:column;gap:0}.js header.top.open nav li a{display:block;padding:12px 4px;font-size:17px;border-radius:0;border-bottom:1px solid rgba(127,127,160,.2);background:none}
  .js header.top.open nav li a[aria-current]{color:var(--ultra);font-weight:750}.on-band.open nav li a[aria-current]{color:#fff}
  .js header.top.open .cta{order:5;width:100%;text-align:center;padding:13px 16px;font-size:16px}
  .on-band .menu-btn{color:#fff}
}

/* Chat answers: follow-up chips and comparison tables */
.msg-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.msg-chips .chip-q{font:inherit;font-size:13px;padding:6px 11px;cursor:pointer;line-height:1.25;text-align:left}
.msg-table{overflow-x:auto;margin-top:8px}
.msg-table table{border-collapse:collapse;font-size:13px;width:100%}
.msg-table th,.msg-table td{padding:5px 6px;border-top:1px solid rgba(14,18,48,.1);text-align:left}
.msg-table thead th{border-top:0;font-weight:750}
.msg-table td{text-align:center}
.msg.bot strong a{font-weight:750}
@media (max-width:640px){.foot{padding-bottom:88px}}
@media (max-width:640px){.msg-chips .chip-q,.chat-chips .chip-q{min-height:40px;padding:8px 13px}.chat-x{min-width:44px;min-height:44px}.chat-form button{min-height:44px}}
.chip-q:focus-visible,.chat-x:focus-visible,.ask-fab:focus-visible,.cta:focus-visible,header nav a:focus-visible{outline:3px solid var(--marigold);outline-offset:2px}
/* Chat: quoted answers from the records */
.hit{margin-top:10px;padding-top:10px;border-top:1px solid rgba(14,18,48,.1)}
.hit:first-of-type{border-top:0;padding-top:2px}
.hit-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0}
.hit-h a{font-weight:750}
.hit-s{font-size:11.5px;font-weight:650;letter-spacing:.02em;color:var(--ultra);background:#fff;border-radius:999px;padding:1px 8px}
.hit-l{margin:6px 0 2px!important;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.msg blockquote{margin:2px 0 0;padding:2px 0 2px 11px;border-left:3px solid var(--marigold);font-size:14.5px;line-height:1.45;color:var(--ink)}
.msg mark{background:#FDEBA8;color:inherit;border-radius:3px;padding:0 1px}
/* Embeds */
.embed .e-sub{margin:6px 0 0;color:var(--muted);font-size:14px}
.embed .e-card{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#fff}
.embed .e-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.embed .e-name{margin:4px 0 0;font-stretch:115%;font-weight:800;font-size:22px;line-height:1.15}.embed .e-name a{color:var(--ink);text-decoration:none}.embed .e-name a:hover{color:var(--ultra)}
.embed .e-pop{margin:3px 0 0;color:var(--muted);font-size:14.5px}
.embed .chips{margin:10px 0 0}
.embed .e-sum{margin:10px 0 0;font-size:14.5px;line-height:1.45}
.embed .e-duties{margin:10px 0 0;font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.embed .e-note{margin:8px 0 0;font-size:12.5px;color:var(--muted)}
.embed .e-state-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.embed .e-state .locator{width:120px;flex:none}
.embed .e-list{list-style:none;padding:0;margin:12px 0 0;font-size:14px}.embed .e-list li{padding:6px 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.embed .e-list a{font-weight:700}.embed .e-list span:not(.chip){color:var(--muted)}.embed .e-list .chip{margin-left:auto}
.embed .e-countdown{border-radius:16px;background:var(--ultra);color:#fff;padding:18px 20px}.embed .e-countdown a{color:#fff}
.embed .e-countdown .e-kicker{color:rgba(255,255,255,.8)}
.embed .e-days{margin:4px 0 0;font-stretch:125%;font-weight:800;font-size:22px}.embed .e-days span{font-size:64px;line-height:1;margin-right:6px;color:var(--marigold)}
.embed .e-date{margin:2px 0 0;font-size:15px}.embed .e-countdown ul{margin:10px 0 0;padding-left:18px;font-size:14px}
.e-dark body.embed,.e-dark .embed{background:#0E1230;color:#fff}
.e-dark .embed .e-card{background:#161B45;border-color:#2B3270}.e-dark .embed .e-name a,.e-dark .embed .e-title{color:#fff}.e-dark .embed .e-pop,.e-dark .embed .e-sub,.e-dark .embed .credit,.e-dark .embed .e-duties,.e-dark .embed .e-list span:not(.chip),.e-dark .embed .e-kicker,.e-dark .embed .legend{color:rgba(255,255,255,.75)}
.e-dark .embed a{color:#B9C1FF}.e-dark .embed .e-list li{border-color:#2B3270}.e-dark .embed .e-count span{color:var(--marigold)}
.e-dark .embed .usmap .shape,.e-dark .embed .usmap .chip{stroke:#0E1230}.e-dark .embed .usmap .s-none .shape,.e-dark .embed .usmap .s-vetoed .shape{fill:#2B3270}.e-dark .embed .usmap .lbl{fill:rgba(255,255,255,.8)}.e-dark .embed .usmap .l-upcoming{fill:var(--ink)}
/* Embed and statistics boxes on pages */
.embedbox{margin-top:16px;border:1px solid var(--line);border-radius:16px;padding:12px 16px;font-size:14px}
.embedbox summary{cursor:pointer;font-weight:700;color:var(--ultra)}
.embedbox textarea{width:100%;font:12px/1.4 ui-monospace,Menlo,monospace;border:1px solid var(--line);border-radius:8px;padding:8px;margin-top:6px;resize:vertical}
.eb-actions{display:flex;gap:14px;align-items:center;margin:8px 0 0}
.stats{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.stats li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}
.stats li:target{background:#FFF6D6}
.st-n{margin:0;font-stretch:125%;font-weight:800;font-size:44px;line-height:1;color:var(--ultra)}
.st-t{margin:0;font-weight:700;font-size:18px}.st-note{margin:4px 0 0;color:var(--muted);font-size:14.5px}.st-cite{margin:6px 0 0;font-size:13.5px}
.copy.linkish{background:none;border:0;padding:0;color:var(--ultra);text-decoration:underline;font:inherit;cursor:pointer}
@media (max-width:640px){.stats li{grid-template-columns:72px minmax(0,1fr);gap:12px}.st-n{font-size:32px}}
.embed .tabs{display:none!important}
.leads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:6px 0 10px}
.lead{border:1px solid var(--line);border-radius:16px;padding:14px 18px}.lead h3{margin:0 0 6px;font-size:17px}.lead ul{margin:0;padding-left:18px;font-size:14.5px}.lead li{margin:5px 0}.lead p{font-size:14px;margin:8px 0 0}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.eg{margin:0;border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--mist)}.eg iframe{background:#fff;border-radius:10px}
.eg figcaption{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:14px}.eg figcaption span{color:var(--muted)}
.eg textarea{width:100%;font:11.5px/1.4 ui-monospace,Menlo,monospace;border:1px solid var(--line);border-radius:8px;padding:6px}
@media (max-width:860px){.leads,.gallery{grid-template-columns:minmax(0,1fr)}}
.hero-alert{margin:14px 0 0;max-width:720px;background:var(--marigold);color:var(--ink);border-radius:12px;padding:10px 14px;font-size:15px;line-height:1.45}

.crisis-box{border-left:4px solid var(--marigold);background:#fff8e1;padding:12px 16px;border-radius:8px;margin:0 0 22px;font-size:15px;line-height:1.5}.crisis-box p{margin:0}.msg .crisis{border-left:3px solid var(--marigold);padding-left:10px}
.nw-k{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-right:6px}.nw-s{display:block;color:var(--muted);font-size:14px;margin-top:2px}.news-mini{list-style:none;padding:0;margin:0}.news-mini li{padding:8px 0;border-bottom:1px solid var(--line)}.news-mini time{color:var(--muted);font-size:14px;margin-right:8px}.side-box{margin-bottom:24px}.side-box h2{font-size:18px;margin:0 0 10px}
.side-box .dates li{display:block;padding:10px 0}.side-box .dates time{display:block;font-weight:700;margin-bottom:2px}
/* Mega menus (Laws, Guides). Panels span the header width; hover opens on desktop, the chevron button toggles everywhere. */
header.top .wrap{position:relative}
.has-mega{display:flex;align-items:center}
.mega-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:30px;margin-left:-6px;border:0;background:none;color:inherit;cursor:pointer;border-radius:6px;padding:0}
header nav .mega-btn{color:var(--muted)}.on-band header nav .mega-btn,.on-band .mega-btn{color:rgba(255,255,255,.8)}
.mega-btn svg{width:12px;height:12px;transition:transform .15s}
.mega-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.mega-btn:focus-visible{outline:3px solid var(--marigold);outline-offset:1px}
.mega{display:none;position:absolute;left:0;right:0;top:calc(100% - 22px);z-index:70;padding-top:26px}
.mega-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 28px;background:#fff;color:var(--ink);border-radius:18px;padding:22px 26px;box-shadow:0 28px 60px -22px rgba(5,10,40,.5),0 0 0 1px rgba(14,18,48,.08)}
.has-mega.open .mega{display:block}
@media (hover:hover) and (min-width:861px){.has-mega:hover .mega{display:block}}
.mega-h{font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.mega ul{list-style:none;margin:0;padding:0;display:block}
.mega li a{display:block;padding:6px 0;color:var(--ink);text-decoration:none;font-size:15px;font-weight:550;border-radius:0;background:none;white-space:normal}
.mega li a:hover{color:var(--ultra);background:none;text-decoration:underline}
.mega-more{margin:8px 0 0;font-size:14px}.mega-more a{color:var(--ultra);font-weight:650}
.mega-feat{background:var(--mist);border-radius:14px;padding:16px 18px;align-self:start}
.mega-feat p{margin:0 0 10px;font-size:14.5px;color:var(--ink)}
.mega-cta{display:inline-block;background:var(--ultra);color:#fff!important;text-decoration:none;font-weight:700;font-size:14px;padding:8px 14px;border-radius:999px}
@media (max-width:860px){
  .js header.top.open .has-mega{flex-wrap:wrap;border-bottom:1px solid rgba(127,127,160,.2)}
  .js header.top.open .has-mega>a{flex:1;border-bottom:0!important}
  .js header.top.open .mega-btn{width:44px;height:44px;margin:0}
  .mega{position:static;padding:0 0 10px;width:100%}
  .mega-in{box-shadow:none;border-radius:12px;padding:14px 16px;grid-template-columns:1fr 1fr;gap:16px 18px}
  .js header.top.open nav .mega li a{font-size:15px;padding:7px 0;border:0}
  .mega-feat{grid-column:1/-1}
}
@media (max-width:420px){.mega-in{grid-template-columns:1fr;gap:18px}}
header.top .mega a{color:var(--ink);background:none;border-radius:0;padding:6px 0;font-weight:550;white-space:normal}
header.top .mega a:hover{color:var(--ultra);background:none}
header.top .mega .mega-more a{display:inline;color:var(--ultra);font-weight:650;padding:0}
header.top .mega a.mega-cta{display:inline-block;color:#fff;background:var(--ultra);padding:8px 14px;border-radius:999px;font-weight:700}
header.top .mega a.mega-cta:hover{background:#24359F;color:#fff}
header.top .mega a[aria-current]{color:var(--ultra);background:none}
@media (max-width:860px){.js header.top.open nav .mega a{padding:7px 0;font-size:15px;border:0}.js header.top.open nav .mega .mega-more a{padding:0;font-size:15px}.js header.top.open nav .mega a.mega-cta{padding:9px 16px;color:#fff}}

/* home: guides */
.gd-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.gd-head h2{margin-bottom:0}
.gd-head a{font-weight:650;color:var(--ultra);white-space:nowrap}
.gd-safe{margin-top:22px;background:var(--mist);border-radius:16px;padding:20px 22px}
.gd-safe h3,.gd-col h3{font-size:17px;margin:0 0 12px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.gd-safe h3 span{font-size:14px;font-weight:500;color:var(--muted)}
.app-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.app-tags a{display:inline-block;background:#fff;color:var(--ink);text-decoration:none;font-weight:650;font-size:15px;padding:8px 14px;border-radius:999px;box-shadow:0 0 0 1px var(--line);transition:background .12s,color .12s}
.app-tags a:hover{background:var(--ultra);color:#fff;box-shadow:0 0 0 1px var(--ultra)}
.gd-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.gd-col{border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.gd-col ul{list-style:none;padding:0;margin:0}
.gd-col li{border-top:1px solid var(--line)}
.gd-col li:first-child{border-top:0}
.gd-col li a{display:block;padding:9px 0;color:var(--ink);font-weight:600;font-size:15.5px;text-decoration:none}
.gd-col li a:hover{color:var(--ultra);text-decoration:underline}
@media (max-width:860px){.gd-cols{grid-template-columns:minmax(0,1fr);gap:12px}}

/* /guides/ index */
.gidx{padding-bottom:40px}
.gjump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.gjump a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--mist);color:var(--ink);font-weight:650;font-size:15px;text-decoration:none}
.gjump a span{font-size:12.5px;font-weight:700;color:var(--muted);background:#fff;border-radius:999px;padding:1px 7px}
.gjump a:hover{background:var(--ultra);color:#fff}.gjump a:hover span{color:var(--ultra)}
.gsec{padding-top:36px;scroll-margin-top:16px}
.gsec h2{margin:0 0 4px}
.gsec .sub{margin:0 0 16px}
.app-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.app-cards a{display:flex;flex-direction:column;gap:4px;height:100%;box-sizing:border-box;padding:16px 18px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);transition:border-color .12s,box-shadow .12s}
.app-cards a:hover{border-color:var(--ultra);box-shadow:0 8px 20px -14px rgba(27,43,160,.55)}
.ac-n{font-stretch:112%;font-weight:800;font-size:19px}
.ac-t{font-size:14px;color:var(--muted);line-height:1.4}
.gcards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gcards li{border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;flex-direction:column;gap:4px}
.gcards a{font-weight:700;font-size:17px;color:var(--ink);text-decoration:none}
.gcards a:hover{color:var(--ultra);text-decoration:underline}
.gcards span{font-size:14px;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:980px){.app-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.gcards{grid-template-columns:minmax(0,1fr)}.app-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-cards a{padding:13px 14px}.ac-n{font-size:16.5px}.ac-t{display:none}}

/* compliance checklist */
.cl-note{background:var(--mist);border-radius:12px;padding:12px 16px;font-size:15px;max-width:760px}
.cl-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start;padding-bottom:48px}
.cl-tools{position:sticky;top:16px}
.cl-h{font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.cl-states{display:flex;flex-wrap:wrap;gap:6px}
.cl-states button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:6px 11px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;min-height:32px}
.cl-states button[aria-pressed="true"]{background:var(--ultra);border-color:var(--ultra);color:#fff}
.cl-actions{margin:16px 0;display:flex;flex-wrap:wrap;gap:8px}
.btn-ghost{display:inline-block;border:1px solid var(--ultra);color:var(--ultra);background:#fff;border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;font-weight:650;text-decoration:none;cursor:pointer}
.btn-ghost:hover{background:var(--ultra);color:#fff}
.cl-jump{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:12px}
.cl-jump a{font-size:14px;color:var(--ink);padding:4px 0;text-decoration:none}.cl-jump a:hover{color:var(--ultra);text-decoration:underline}
.cl-sec{padding-bottom:28px;scroll-margin-top:16px}
.cl-sec h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 4px}
.cl-sec h2 .kd{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.cl-n{font-size:14px;font-weight:600;color:var(--muted)}
.cl-list{list-style:none;padding:0;margin:12px 0 0;border-top:1px solid var(--line)}
.cl-list li{border-bottom:1px solid var(--line)}
.cl-list label{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;padding:14px 0;cursor:pointer}
.cl-list input{position:absolute;opacity:0;width:1px;height:1px}
.cl-box{width:20px;height:20px;border:2px solid var(--ink);border-radius:5px;margin-top:2px;box-sizing:border-box}
.cl-list input:checked+.cl-box{background:var(--ultra) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--ultra)}
.cl-list input:focus-visible+.cl-box{outline:3px solid var(--marigold);outline-offset:2px}
.cl-list input:checked~.cl-main .cl-text{color:var(--muted)}
.cl-main{display:flex;flex-direction:column;gap:4px}
.cl-law{font-weight:700}.cl-law a{color:var(--ink)}.cl-pop{font-weight:500;color:var(--muted)}
.cl-text{font-size:15px;line-height:1.5}
.cl-cite{font-size:13px;color:var(--muted)}
.cl-list li[hidden],.cl-sec[hidden]{display:none}
@media (max-width:860px){.cl-wrap{grid-template-columns:minmax(0,1fr);gap:20px}.cl-tools{position:static}.cl-jump{flex-direction:row;flex-wrap:wrap;gap:6px 14px}}
@media print{header.top,footer,.cl-tools,.crumbs,.ask-fab,.chat-panel{display:none!important}.cl-wrap{display:block}.cl-list label{padding:8px 0}.cl-sec{break-inside:auto}.cl-list li{break-inside:avoid}}

/* state pages: multistate actions and other laws */
.mlist,.ctx-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.mlist li,.ctx-list li{padding:11px 0;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.5}
.mlist li span{color:var(--muted);font-size:14px;margin-left:6px;white-space:nowrap}
.fine{font-size:13.5px;color:var(--muted);margin-top:10px}
.muted{color:var(--muted)}
.ga-choice{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}

/* Character.AI alternatives comparison */
.alt-intro{max-width:760px}
.alt-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:8px 0 14px}
.alt-seg{display:flex;flex-wrap:wrap;gap:6px}
.alt-seg button{font:inherit;font-size:14px;font-weight:650;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:7px 14px;cursor:pointer}
.alt-seg button span{color:var(--muted);font-weight:550;margin-left:4px}
.alt-seg button[aria-pressed="true"]{background:var(--ultra);border-color:var(--ultra);color:#fff}
.alt-seg button[aria-pressed="true"] span{color:rgba(255,255,255,.8)}
.alt-find input{font:inherit;font-size:15px;border:1px solid var(--line);border-radius:999px;padding:7px 14px;min-width:200px}
.alt-count{margin:0;font-size:14px;color:var(--muted)}
.alt-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;-webkit-overflow-scrolling:touch}
.alt-scroll:focus-visible{outline:3px solid var(--marigold)}
.alt-wide{max-width:1520px}
.alt-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1240px;font-size:13.5px;line-height:1.42}
.alt-table td{min-width:150px}
.alt-chk{display:block;font-weight:500;font-size:12px;color:var(--muted);margin-top:6px}
.alt-table th,.alt-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.alt-table thead th{position:sticky;top:0;background:var(--mist);font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);z-index:2}
.alt-table tbody th{position:sticky;left:0;background:#fff;z-index:1;min-width:150px;font-weight:700;box-shadow:1px 0 0 var(--line)}
.alt-table thead th:first-child{left:0;z-index:3}
.alt-table tbody tr:last-child>*{border-bottom:0}
.alt-table tbody th a{font-size:15.5px}
.alt-maker{display:block;font-weight:500;font-size:12.5px;color:var(--muted);margin-top:2px}
.alt-tag{display:inline-block;margin-top:6px;font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;background:var(--marigold);color:var(--ink);border-radius:999px;padding:2px 8px}
.alt-ref>*{background:#FFFBEA!important}
.alt-na{color:var(--muted);font-style:italic}
.alt-note{max-width:820px;margin-top:14px}
.alt-srcs details{border-bottom:1px solid var(--line);padding:10px 0}
.alt-srcs summary{cursor:pointer;font-weight:650}
.alt-srcs summary span{font-weight:500;color:var(--muted);font-size:14px;margin-left:6px}
@media (max-width:900px){
  .alt-scroll{overflow:visible;border:0;border-radius:0}
  .alt-table{min-width:0;display:block}
  .alt-table thead{display:none}
  .alt-table tbody{display:grid;gap:14px}
  .alt-table tr{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden}
  .alt-table tbody th{position:static;display:block;box-shadow:none;background:var(--mist);border-bottom:1px solid var(--line)}
  .alt-table td{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:10px;border-bottom:1px solid var(--line)}
  .alt-table td::before{content:attr(data-label);font-size:12px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
  .alt-table td:last-child{border-bottom:0}
  .alt-table td{min-width:0}
  .alt-ref>th{background:#FFF3C4!important}
}
.alt-table tr[hidden]{display:none!important}
.g-feat{background:var(--mist);border-radius:12px;padding:12px 16px;margin:0 0 16px;max-width:760px}
.g-feat a{font-weight:700}
.alt-table tbody th .alt-chk a{font-size:inherit}
