@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;size-adjust:105.75%;src:url(fonts/source-sans-3.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/barlowsemicondensed-medium.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlowsemicondensed-semibold.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlowsemicondensed-bold.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url(fonts/jetbrainsmono.woff2) format("woff2")}
:root{
--bg:#fff;
--fg:#161a22;
--muted:#59616f;
--dim:#9aa1ae;
--faint:#f8f9fb;
--div:rgba(0,0,0,.1);
--surface:#f2f4f8;
--card:#f2f4f8;
--panel2:#e8ebf2;
--primary:#1e40af;
--brand:#2d50ba;
--primary-dark:#172e7c;
--primary-soft:#e6ebf9;
--ok:#1f7a3d;
--warn:#8a5a00;
--warn-soft:#fff5dc;
--bad:#a3282b;
--font:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--font-head:"Barlow Semi Condensed",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--fz1:19px;
--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
--field:#fff;
--field-focus:var(--primary-soft);
--hover:#dfe4ee;
--hov:rgba(23,35,49,.06);
--tile:rgba(30,64,175,.04);
--tile-hover:rgba(30,64,175,.09);
--tag-bg:#e8ebf2;
--btn-fg:#fff;
--focus:#1e40af;
--align:center;
--max:700px;
--br1:6px;
--box:0 2px 3px rgba(0,0,0,.3);
--br9:9999px;
--tap:48px;
--safe-l:env(safe-area-inset-left,0px);
--safe-r:env(safe-area-inset-right,0px);
--safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{scrollbar-gutter:stable;font-size:var(--fz1);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{
margin:0;
background:var(--bg);
color:var(--fg);
font-family:var(--font);
font-size:var(--fz1);
font-weight:400;
line-height:1.62;
text-underline-offset:.34em;
text-decoration-skip-ink:none;
min-height:100dvh;
display:flex;
flex-direction:column;
padding-left:var(--safe-l);
padding-right:var(--safe-r);
}
a{color:var(--primary);text-decoration:none}
a[target="_blank"]:not(:has(.ext))::after{content:"";display:inline-block;width:.8em;height:.8em;margin-left:.3em;vertical-align:-.06em;background:currentColor;mask:url("external-link.svg") center/contain no-repeat}
a.btn,.brand,.top nav a,.chips a,.grid a{text-decoration:none}
a:hover{color:var(--primary-dark);text-decoration:underline;text-decoration-thickness:max(2px,.12em)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--card);border-radius:var(--br1);padding:.5rem 1rem;z-index:10}
.skip:focus{left:8px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:22px;height:22px;flex:none;vertical-align:-5px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ic.sm{width:16px;height:16px;vertical-align:-3px;margin-left:.3em}
.top,.wrap,.foot{width:calc(100% - 2rem);margin-left:auto;margin-right:auto}
.top,.foot{max-width:var(--max)}
.wrap{max-width:var(--max)}
.top{
position:relative;
display:flex;
align-items:center;
justify-content:space-between;
gap:1rem;
padding:.5rem 0;
min-height:56px;
}
.brand{display:inline-flex;align-items:center;min-height:var(--tap)}
.brand:hover{text-decoration:none}
.brand-name{font-family:var(--font-head);font-size:38px;font-weight:700;line-height:28px;white-space:nowrap;color:var(--fg)}
.brand-name span{color:var(--brand)}
.top nav,.links{display:flex;align-items:center;gap:.25rem}
.burger{display:none;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:var(--br1);background:none;color:var(--fg);cursor:pointer}
.burger:hover,.top.menu-open .burger{background:var(--hov)}
.burger .shut,.top.menu-open .burger .open{display:none}
.top.menu-open .burger .shut{display:block}
.top nav a,.recent summary{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 .75rem;border-radius:var(--br1);color:var(--muted);font-weight:500;white-space:nowrap}
.top nav a[aria-current]{color:var(--fg);background:var(--primary-soft)}
.top nav a:hover,.recent summary:hover{text-decoration:underline;text-decoration-thickness:max(2px,.12em)}
.wrap{padding:0 0 calc(2rem + var(--safe-b));flex:1}
body.home .wrap{display:flex;flex-direction:column;justify-content:center;padding-top:6vh;padding-bottom:10vh}
.hero{text-align:var(--align);margin:0 auto;width:100%}
h1{font-family:var(--font-head);font-size:clamp(1.6rem,4.5vw + .5rem,2.4rem);line-height:1.2;margin:0 0 .5rem;font-weight:650}
.hero h1{margin-bottom:.4rem;text-wrap:balance}
h2{font-family:var(--font-head);font-size:1.2rem;margin:2.25rem 0 .6rem;font-weight:650;letter-spacing:-.01em}
h3{font-family:var(--font-head);font-size:1.15rem;margin:0 0 .3rem;font-weight:650}
.lead{font-size:var(--fz1);color:var(--muted);margin:0 0 1.25rem}
.hero .lead{margin-bottom:2rem;text-wrap:balance}
.search{position:relative;display:flex;align-items:center;width:100%;margin:0 auto 1.75rem}
.search input:placeholder-shown~button,.search textarea:placeholder-shown~button,.search button[hidden]{display:none}
.search button:disabled{cursor:progress;opacity:.55}
.search-loading{padding-top:1.5rem;min-height:26rem;animation:search-reveal .2s ease-out}
.search-loading h1{font-size:clamp(1.6rem,4vw,2rem)}
.search-loading .lead{margin-top:.75rem}
.search-progress{height:4px;margin:2rem 0;background:linear-gradient(90deg,var(--primary-soft) 25%,var(--primary) 50%,var(--primary-soft) 75%);background-size:200% 100%;animation:search-progress 1.4s ease-in-out infinite alternate}
.search-placeholder{background:var(--surface);border-radius:var(--br1);padding:1.5rem;margin-bottom:1rem}
.search-placeholder span{display:block;height:.75rem;background:var(--panel2);margin-bottom:.75rem}
.search-placeholder span:first-child{width:55%;height:1.1rem;margin-bottom:1.25rem}
.search-placeholder span:last-child{width:75%;margin-bottom:0}
.search-failed .search-progress,.search-failed .search-placeholder{display:none}
@keyframes search-progress{from{background-position:0 0}to{background-position:100% 0}}
.results{animation:search-reveal .2s ease-out}
.results h1{font-size:1.6rem;overflow-wrap:anywhere}
.results .search-answer{font-size:var(--fz1);font-weight:400;color:var(--fg);margin-bottom:1.25rem}
[tabindex="-1"]:focus{outline:none}
@keyframes search-reveal{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.search .sic{position:absolute;left:1rem;color:var(--muted);pointer-events:none}
.search input{
width:100%;
min-height:58px;
padding:.65rem 3.4rem .65rem 3rem;
font:inherit;
font-size:var(--fz1);
color:var(--fg);
background:var(--card);
border:0;
border-radius:var(--br1);
appearance:none;
text-overflow:ellipsis;
}
.search input:placeholder-shown{padding-right:1rem}
.search input::-webkit-search-cancel-button{-webkit-appearance:none}
.search input:focus,.search textarea:focus{background-color:var(--card);outline:none}
.search button{
position:absolute;
right:6px;
width:44px;
height:44px;
border:0;
border-radius:var(--br1);
background:var(--primary);
color:var(--btn-fg);
display:grid;
place-items:center;
cursor:pointer;
}
.search button:hover{background:var(--primary-dark)}
.search textarea{
display:block;
padding:.8rem 3.4rem .8rem 1rem;
font-size:var(--fz1);
line-height:1.5;
resize:none;
}
.search textarea~button{bottom:6px}
.search.big input{min-height:66px;font-size:1.15rem}
.search.big button{width:48px;height:48px}
.hsearch summary{display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:50%;color:var(--fg);cursor:pointer;list-style:none}
.hsearch summary::-webkit-details-marker{display:none}
.hsearch summary:hover{background:var(--hov)}
.hsearch[open] summary{background:var(--primary-soft);color:var(--primary)}
.hsearch summary .shut,.hsearch[open] summary .open{display:none}
.hsearch[open] summary .shut{display:block}
.hsearch[open] summary{position:absolute;right:0;top:50%;margin-top:calc(var(--tap)/-2);z-index:6}
.top:has(.hsearch[open]) .brand,.top:has(.hsearch[open]) .links,.top:has(.hsearch[open]) .burger{visibility:hidden}
.topsearch{position:absolute;left:0;right:calc(var(--tap) + .6rem);top:50%;transform:translateY(-50%);z-index:5}
.topsearch .search{margin:0}
.topsearch .search input{padding-top:.4rem;padding-bottom:.4rem}
.chips{list-style:none;padding:0;margin:1.75rem 0 0;display:flex;flex-wrap:wrap;gap:.55rem}
.chips a,button.chip{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 1rem;border-radius:var(--br1);background:var(--tile);color:var(--fg);font-size:var(--fz1)}
.chips a:hover,button.chip:hover{background:var(--tile-hover);text-decoration:none}
.chips.small a{min-height:40px;font-size:var(--fz1);padding:0 .85rem}
.chips.next{margin:1rem 0 0}
.note.moved{display:block}
.kicker{font-size:var(--fz1);text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-weight:650;margin:0 0 .35rem}
.card,.best,.pick{background:var(--surface);border-radius:var(--br1);--card:var(--panel2);padding:1.4rem 1.5rem;margin:0 0 1.25rem}
.best h2,.pick h2,.pick h3{margin:0 0 .35rem;font-size:1.25rem}
.best h2 a,.pick h2 a,.pick h3 a{color:var(--fg)}
.best h2 a:hover,.pick h2 a:hover,.pick h3 a:hover{color:var(--primary);text-decoration:underline;text-decoration-thickness:max(2px,.12em)}
.desc{margin:0 0 .5rem;color:var(--fg)}
.lead,.desc,.fine{overflow-wrap:anywhere}
.tag{display:inline-block;font-size:var(--fz1);padding:.1em .55em;border-radius:var(--br1);background:var(--tag-bg);color:var(--muted);vertical-align:1px}
.tag.ok{background:#e3f3e8;color:var(--ok)}
.tag.warn{background:var(--warn-soft);color:var(--warn)}
.tag.bad{background:#fbe6e6;color:var(--bad)}
.tag.off{background:#eee;color:#666}
.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0}
.actions:not(:last-child){margin-bottom:1.25rem}
.actions+.note{margin-top:.9rem}
.local-maps{display:grid;gap:.35rem;list-style:none;margin:0;padding:0}
.local-maps li{padding-left:.8rem;border-left:4px solid var(--primary)}
.local-maps a{display:inline-block;min-height:var(--tap);padding:.45rem 0;font-weight:600;overflow-wrap:anywhere}
.local-maps a:hover{text-decoration-thickness:max(3px,.16em)}
.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:.4rem;
min-height:48px;
padding:0 1.2rem;
background:var(--primary);
color:var(--btn-fg);
font:inherit;
font-weight:600;
border:0;
border-radius:var(--br1);
cursor:pointer;
}
.btn:hover{background:var(--primary-dark);color:var(--btn-fg);text-decoration:none}
.btn .ic{width:18px;height:18px;margin:0}
.btn.ghost{background:var(--primary-soft);color:var(--primary)}
.btn.ghost:hover{background:var(--primary-soft);color:var(--primary-dark)}
.btn.off,.btn.off:hover{background:var(--panel2);color:var(--muted);font-weight:500;cursor:not-allowed}
.fv .off{color:var(--muted)}
.grp{margin:0 0 1.5rem}
.grp h2{margin-top:1.25rem}
.guide ul{margin:0 0 .4rem;padding-left:1.2rem}
.guide li{margin:.25rem 0}
.guide .fine{margin:0}
.rows{list-style:none;margin:0;padding:0;display:grid;gap:1.15rem}
.row{min-width:0}
.rn{font-weight:600;overflow-wrap:anywhere}
.rd{display:block;font-size:var(--fz1);color:var(--muted);overflow-wrap:anywhere}
.rl{margin:.15rem 0 0;font-size:var(--fz1);color:var(--muted)}
.more{margin:.25rem 0 0}
.more summary{display:inline-flex;align-items:center;gap:.25rem;min-height:var(--tap);padding:0 .25rem;cursor:pointer;color:var(--primary);font-weight:500;list-style:none}
.more summary:hover{text-decoration:underline;text-decoration-thickness:max(2px,.12em)}
.more summary::-webkit-details-marker{display:none}
.more summary .ic,.why summary .chev{width:20px;height:20px;vertical-align:-4px}
.more[open] summary .chev,.why[open] summary .chev,.sec[open]>summary .chev{transform:rotate(180deg)}
.more .rows{margin-top:.75rem}
.also{color:var(--muted);font-size:var(--fz1)}
.alts{list-style:none;margin:0;padding:0}
.alts a{display:inline-flex;flex-wrap:wrap;align-items:center;column-gap:.4em;min-height:var(--tap);overflow-wrap:anywhere}
.alts .sub{font-size:var(--fz1);color:var(--muted)}
input[type=text],input[type=password],input[type=url],select,textarea{
width:100%;
min-height:48px;
padding:.6rem .9rem;
font:inherit;
color:var(--fg);
background:var(--card);
border:0;
border-radius:var(--br1);
}
textarea{border-radius:var(--br1)}
.card input[type=text],.card input[type=password],.card input[type=url],.card select,.card textarea{background-color:var(--field,var(--card))}
input[type=text]:focus,input[type=password]:focus,input[type=url]:focus,select:focus,textarea:focus,.card input[type=text]:focus,.card input[type=password]:focus,.card input[type=url]:focus,.card select:focus,.card textarea:focus{background-color:var(--field-focus);outline:3px solid var(--focus);outline-offset:2px}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359616f' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:18px;padding-right:2.5rem}
.note{display:flex;gap:.5rem;align-items:flex-start;padding:.8rem 1rem;border-radius:var(--br1);background:var(--primary-soft);margin:0 0 1rem;font-size:var(--fz1)}
.note.warn{background:var(--warn-soft);color:var(--warn)}
.note .ic{margin-top:.2rem}
.empty{color:var(--muted);margin:.25rem 0 .75rem}
.crumbs{font-size:var(--fz1);color:var(--muted);margin:0 0 .5rem;overflow-wrap:anywhere}
.crumbs a{color:var(--muted);padding:.15rem 0}
.rl a,.also a,.facts .url a,.sources a{padding:.15rem 0}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:1.25rem 0;font-size:var(--fz1)}
.facts dt{color:var(--muted)}
.facts dd{margin:0;overflow-wrap:anywhere}
.grid{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(7.4rem,1fr));gap:.4rem}
.grid li{display:flex}
.grid a,.grid .off{flex:1;display:flex;align-items:center;min-height:var(--tap);padding:.3rem .8rem;line-height:1.3;border-radius:var(--br1);background:var(--tile);color:var(--fg);font-size:var(--fz1)}
.grid a:hover{background:var(--tile-hover);text-decoration:none}
.grid .off{background:none;color:var(--dim);cursor:default}
.prose ul{padding-left:1.2rem}
.prose.small{font-size:var(--fz1);color:var(--muted)}
.prose.small h2{font-size:var(--fz1);color:var(--fg)}
.fine{font-size:var(--fz1);color:var(--muted)}
.tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border-radius:var(--br1);overflow:clip;font-size:var(--fz1);margin:0 0 1rem}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:.55rem .6rem;overflow-wrap:break-word}
.tbl thead th{font-weight:650}
.tbl tbody>tr>*{border-top:var(--tbl-cell-line,2px solid var(--bg))}
.tbl>tbody:first-child>tr:first-child>*{border-top:0}
.tbl tbody th{font-weight:600}
.tbl th .rd{font-weight:400}
.who{font-weight:600}
.sources li{font-size:var(--fz1);overflow-wrap:anywhere}
code,pre,kbd,samp{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"calt" 0}
.prose code,.dev code{font-size:var(--fz1);overflow-wrap:anywhere}
.dev pre{background:var(--surface);border-radius:var(--br1);padding:.8rem 1rem;margin:0 0 1rem;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fz1);line-height:1.5}
.dev code{white-space:pre-wrap}
.dev .tbl :is(th,td){overflow-wrap:anywhere}
.dev .op{margin:0 0 2rem}
.dev .op h2,.dev .op h3{overflow-wrap:anywhere}
.psum{margin:0 0 1rem}
.psum h1{overflow-wrap:anywhere}
.kf{margin:0 0 .35rem}
.kf>div{display:grid;grid-template-columns:8.5rem 1fr;gap:.1rem .75rem;padding:.4rem 0}
.kf dt{color:var(--muted);font-size:var(--fz1);padding-top:.1rem}
.kf dd{margin:0;min-width:0;overflow-wrap:anywhere}
.kf strong{font-weight:700}
.kf .more{margin:0}
.hl{list-style:none;margin:.25rem 0 0;padding:0}
.hl li{padding:.3rem 0}
.keyfacts .src{margin:0 0 1rem}
.sec{background:var(--surface);border-radius:var(--br1);overflow:clip;--card:var(--panel2);margin:0 0 .75rem}
.sec>summary{font-family:var(--font-head);display:flex;align-items:center;gap:.6rem;min-height:60px;padding:.5rem 1.15rem;cursor:pointer;font-weight:600;font-size:22px;list-style:none;user-select:none;-webkit-user-select:none;transition:background .15s}
.sec:not(.plain)>summary:hover{background:var(--panel2)}
.sec>summary::-webkit-details-marker{display:none}
.sec>summary span{flex:1}
.sec>summary .chev{color:var(--muted);transition:transform .15s}
.sec>summary .ic:first-child{color:var(--primary)}
.sec.plain{background:none;overflow:visible;--card:var(--surface);margin:1.25rem 0 1.5rem}
.sec.plain>summary{display:inline-flex;min-height:var(--tap);padding:0;gap:.4rem;font-size:var(--fz1)}
.sec.plain>summary span{flex:0 1 auto}
.sec.plain>summary:hover span{text-decoration:underline;text-decoration-thickness:max(2px,.12em)}
.secbody{border-top:1px solid var(--div);padding:.5rem 1.15rem 1rem}
.jump{background:var(--surface);border-radius:var(--br1);margin:0 0 1.25rem}
.jump>summary{display:flex;align-items:center;gap:.6rem;min-height:var(--tap);padding:0 1rem;cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:1.1rem;list-style:none;user-select:none;-webkit-user-select:none}
.jump>summary::-webkit-details-marker{display:none}
.jump>summary span{flex:1}
.jump>summary .chev{color:var(--muted);transition:transform .15s}
.jump[open]>summary .chev{transform:rotate(180deg)}
.jump nav{padding:0 .75rem .75rem}
.jh{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:650;margin:0 0 .25rem;padding:0 .25rem}
.jump ul{display:grid;gap:2px;margin:0 0 .6rem;padding:0;list-style:none}
.jump ul:last-child{margin-bottom:0}
.jump a{display:flex;align-items:center;min-height:2.1rem;padding:.2rem .75rem;font-size:.95rem;line-height:1.25;border-radius:var(--br1);background:var(--bg);color:var(--fg)}
.jump a:hover{background:var(--tile-hover);color:var(--primary);text-decoration:none}
.jump .az{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:4px}
.jump .az a,.az span{display:flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0;border-radius:var(--br1);background:var(--tile);color:var(--primary);font-weight:700;font-size:1.05rem}
.jump .az a:hover{background:var(--tile-hover)}
.jump .az a[aria-current]{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}
.az span{background:none;color:var(--muted);opacity:.35;font-weight:600}
.letter{margin:1.5rem 0 0;padding:0 0 0 .25rem;color:var(--primary);font-size:1.6rem;line-height:1;scroll-margin-top:1rem}
.agency,.grp,.sec,.row{scroll-margin-top:1rem}
.agency span[id]{scroll-margin-top:2.25rem}
.agency .agency span[id]{scroll-margin-top:1rem}
.agency:target,.agency.hit,.row.hit{animation:jump-hit 2.4s ease-out}
.grp:target>h2,.sec:target>summary,.grp.hit>h2,.sec.hit>summary{animation:jump-hit 2.4s ease-out}
@keyframes jump-hit{0%,35%{background-color:var(--primary-soft)}}
@media(min-width:900px){
body:has(.jump) :is(.top,.wrap,.foot){margin-left:max(16rem,calc((100% - var(--max))/2));width:min(var(--max),calc(100% - 17rem))}
.jump{position:fixed;top:1rem;left:max(1rem,calc((100% - var(--max))/2 - 15rem));width:13rem;margin:0;max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior-y:contain;background:none;border-radius:0}
.jump>summary{min-height:0;padding:0 .6rem;margin:0 0 .5rem;cursor:default;pointer-events:none}
.jump>summary .chev{display:none}
.jump nav{padding:0}
.jh{padding:0 .6rem}
.jump ul{display:block;margin:0 0 1.25rem}
.jump a{display:block;min-height:0;padding:.3rem .6rem;background:none;font-size:var(--fz1);line-height:1.3}
.jump .az{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 1.25rem;padding:0 .3rem}
.jump .az a,.az span{min-height:0;aspect-ratio:1;font-size:.95rem}
}
}
.secbody:has(>:is(.fact,.agencies):last-child),.secbody:has(>.fact+noscript:last-child){padding-bottom:0}
.sec.plain .secbody{border-top:0;padding:.4rem 0 0}
.report-form{display:grid;gap:.9rem;max-width:36rem;margin:.5rem 0 0}
.report-form label{display:block;font-weight:600;margin:0 0 .3rem}
.report-form textarea{resize:none}
.report-form .fine{margin:0}
.fact{display:grid;grid-template-columns:7.5rem 1fr;gap:.25rem .75rem;margin:0 -1.15rem;padding:.6rem 1.15rem}
.fact:nth-child(even){background:rgba(0,0,0,.03)}
.fact .fl{color:var(--muted);font-size:var(--fz1)}
.fact .fv{min-width:0;overflow-wrap:anywhere}
.fact .fv.small{font-size:var(--fz1)}
.fact .fv a{font-weight:500}
.fact.st-yes .fv,.fact.st-sfha .fv{font-weight:500}
.fact.st-yes::before,.fact.st-sfha::before{content:""}
.why{margin:.25rem 0 0;font-size:var(--fz1)}
.why summary{cursor:pointer;color:var(--primary);min-height:32px;padding:0;display:inline-flex;align-items:center;gap:.25rem;font-size:var(--fz1);font-weight:500;list-style:none}
.why summary:hover{text-decoration:underline;text-decoration-thickness:max(2px,.12em)}
.why summary::-webkit-details-marker{display:none}
.why p{margin:.25rem 0 0;color:var(--muted)}
.src{font-size:var(--fz1)}
.subh{margin:1rem 0 .15rem;font-size:var(--fz1);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.subh:first-child{margin-top:.35rem}
.qa{margin:0 0 2.5rem}
.aq{margin:0 0 .75rem;padding:.1rem 0 .1rem .9rem;border-left:6px solid var(--primary);font-size:1.15rem;font-weight:600;overflow-wrap:anywhere}
.answer .atitle{font-family:var(--font-head);margin:0 0 .35rem;font-size:1.6rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.answer .atitle+.abody{color:var(--muted)}
.answer .abody{white-space:normal}
.answer .abody p{margin:0 0 .6rem}
.answer .abody ul{margin:.25rem 0 .6rem;padding-left:1.2rem}
.answer .abody strong{color:var(--fg);font-weight:600}
.qa .search{margin:1.25rem 0 0}
.results .where{margin-top:1.5rem}
.answer.busy{color:var(--muted)}
.agencies{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.6rem}
.agency{display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 1.5rem;border-radius:var(--br1);background:var(--surface)}
.agency>div{min-width:0}
.agency strong{font-size:var(--fz1);overflow-wrap:anywhere}
.agency .rd{font-size:var(--fz1);margin-top:.25rem}
.agency .agencies{margin:.5rem 0 0;gap:1.25rem}
.agency .agency{padding:0;background:none}
.handles{gap:0;padding:.5rem 1.5rem;border-radius:var(--br1);background:var(--surface)}
.handles>.agency{padding:.75rem 0;background:none}
.handles .alinks{grid-template-columns:minmax(0,max-content) minmax(55%,1fr)}
.handles .alinks .vh+dd{grid-column:1/-1}
.olinks{gap:.75rem;margin:.75rem 0 0;padding-left:1rem;border-left:4px solid var(--primary)}
.alinks{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.3rem 1rem;margin:0;font-size:var(--fz1)}
.alinks dt{color:var(--muted);font-size:var(--fz1)}
.alinks dd{margin:0;overflow-wrap:anywhere}
.alinks .website{grid-column:1/-1}
.alinks .web-link{margin:calc((1lh - var(--tap))/2) 0}
.web-link{display:inline-flex;align-items:center;min-height:var(--tap);font-size:var(--fz1);font-weight:600}
.resource-description{margin:0;color:var(--muted);overflow-wrap:anywhere}
.resource-links{display:flex;align-items:center;gap:1rem}
.resource-more summary{font-size:var(--fz1);padding:0;user-select:none;-webkit-user-select:none}
.resource-more summary .chev{margin-left:.15rem;transition:transform .15s}
.resource-more .rows{gap:.75rem;margin:.25rem 0 0;padding-left:1rem;border-left:4px solid var(--primary)}
.foot{padding:2.5rem 0 calc(1.5rem + var(--safe-b));color:var(--muted);font-size:.85rem;text-align:var(--align)}
.foot p{margin:.5rem 0}
.foot .fine{font-size:inherit;text-wrap:balance}
.foot a{color:var(--muted);margin:0 .4rem;display:inline-block;min-height:32px;line-height:32px}
.foot a:hover{color:var(--fg)}
.crumbs a:hover{color:var(--fg)}
.js-only{display:none}
.js .js-only{display:block}
.js ul.js-only{display:flex}
.js .fact.js-only{display:grid}
.load{color:var(--muted)}
.load::before,.st-pending .fv::before{content:"";display:inline-block;width:.85em;height:.85em;margin:0 .5rem -.1em 0;border:2px solid var(--div);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.admin table{width:100%;border-collapse:collapse;font-size:var(--fz1)}
.admin th,.admin td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--div);vertical-align:top}
.admin .f{display:grid;gap:.75rem;margin:1rem 0}
.admin .f label{display:block;font-size:var(--fz1);color:var(--muted);margin-bottom:.2rem}
.admin .f .two{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.admin .catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.25rem .75rem;font-size:var(--fz1)}
.admin .catgrid label{display:flex;gap:.4rem;align-items:center;min-height:36px}
.admin .catgrid input{width:auto;min-height:0}
.admin .bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.75rem 0}
.admin .bar input,.admin .bar select{min-height:40px;width:auto;flex:1 1 8rem}
.admin .bar .btn{min-height:40px}
.admin .ok{color:var(--ok)}
.admin .bad{color:var(--bad)}
.admin .warnt{color:var(--warn)}
.admin form.il{display:inline}
.btn.sm{min-height:32px;padding:0 .6rem}
@media(max-width:480px){
.top,.wrap,.foot{width:calc(100% - 1.5rem)}
html:not(.js) .top{flex-wrap:wrap;gap:0}
html:not(.js) .top nav{flex-wrap:wrap;max-width:100%}
.js .burger{display:grid}
.js .top .links{display:none}
.js .top.menu-open .links{display:flex;flex-direction:column;align-items:stretch;gap:.1rem;position:absolute;left:0;right:0;top:100%;z-index:7;padding:.5rem;background:var(--surface);border-radius:var(--br1)}
.top.menu-open .links a,.top.menu-open .links .recent summary{width:100%}
.top.menu-open .recent{width:100%}
.top.menu-open .recent-panel{position:static;width:100%;max-height:50dvh;margin-top:.25rem;background:var(--bg)}
.top nav a,.recent summary{padding:0 .6rem}
.top nav a:lang(es),.recent summary:lang(es){padding:0 clamp(.15rem,16.6vw - 2.4rem,.6rem)}
.card,.best,.pick,.agency{padding:.95rem 1rem}
.alinks,.handles .alinks{grid-template-columns:minmax(0,1fr);gap:0}
.alinks dt:not(:first-child){margin-top:.5rem}
.fact{grid-template-columns:1fr}
.kf>div{grid-template-columns:1fr;gap:0}
.facts{grid-template-columns:1fr;gap:.1rem .5rem}
.facts dt{margin-top:.5rem}
.admin .f .two{grid-template-columns:1fr}
}
@media(max-width:480px){.tbl.stack{--tbl-head:none;--tbl-row:block;--tbl-row-padding:.5rem .6rem;--tbl-cell:block;--tbl-cell-padding:.2rem 0;--tbl-label:block;--tbl-empty:none;--tbl-wrap:anywhere;--tbl-cell-line:0;--tbl-row-line:2px solid var(--bg)}}
@media(max-width:720px){.dev .tbl.stack{--tbl-head:none;--tbl-row:block;--tbl-row-padding:.5rem .6rem;--tbl-cell:block;--tbl-cell-padding:.2rem 0;--tbl-label:block;--tbl-empty:none;--tbl-wrap:anywhere;--tbl-cell-line:0;--tbl-row-line:2px solid var(--bg)}}
.tbl.stack thead{display:var(--tbl-head,table-header-group)}
.tbl.stack tr{display:var(--tbl-row,table-row);padding:var(--tbl-row-padding,0)}
.tbl.stack tbody tr+tr{border-top:var(--tbl-row-line,0)}
.tbl.stack th,.tbl.stack td{display:var(--tbl-cell,table-cell);padding:var(--tbl-cell-padding,.55rem .6rem);overflow-wrap:var(--tbl-wrap,break-word)}
.tbl.stack td::before{content:attr(data-label);display:var(--tbl-label,none);font-size:var(--fz1);color:var(--muted)}
.tbl.stack td:empty{display:var(--tbl-empty,table-cell)}
@media(min-width:720px){
body.home .wrap{padding-top:10vh}
.hero h1{font-size:2.5rem}
}
@media(max-height:500px) and (orientation:landscape){
body.home .wrap{padding-top:1rem;padding-bottom:2rem;justify-content:flex-start}
}
.parcel-map{margin:1rem 0}
.parcel-preview{display:block;width:100%;padding:0;border:0;overflow:hidden;border-radius:var(--br1);background:#dce4e8;cursor:pointer}
.parcel-preview svg{display:block;width:100%;height:auto}
.parcel-near{fill:transparent;stroke:#fff;stroke-width:1.5;fill-rule:evenodd;stroke-linejoin:round}
.parcel-selected{fill:#246bfe55;stroke:#65b7ff;stroke-width:4;fill-rule:evenodd;stroke-linejoin:round}
.parcel-north{fill:#fff;font:700 21px var(--font);paint-order:stroke;stroke:#172331;stroke-width:3px}
.parcel-credit{fill:#fff;font:600 13px var(--font);paint-order:stroke;stroke:#172331;stroke-width:3px;opacity:.85}
.pm-light .parcel-near{stroke:#39475a;stroke-opacity:.7}
.pm-wide .parcel-near,.pm-3d .parcel-north{display:none}
.pm-loading svg{opacity:.55;transition:opacity .2s}
.pm-loading{cursor:progress}
.pframe{position:relative}
.gm-attr{display:none;position:absolute;left:0;right:0;bottom:0;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 8px 5px 10px;pointer-events:none}
.pm-google .gm-attr{display:flex}
.pm-google .parcel-credit{display:none}
.gm-attr img{display:block;flex:none;width:auto;height:18px}
.gm-attr span{color:#fff;font:600 11px/1.3 var(--font);text-align:right;text-shadow:0 0 2px #172331,0 0 1px #172331}
.pm-lazy{fill:#fff;font:700 150px var(--font-head);paint-order:stroke;stroke:#172331;stroke-width:16px;stroke-linejoin:round}
.pframe>.info{position:absolute;top:.5rem;left:.5rem}
.pframe>.info>summary,.pframe>.info>summary:hover{color:#fff;filter:drop-shadow(0 0 1.5px rgba(0,0,0,.9))}
.pframe>.info>summary:hover{background:rgba(0,0,0,.28)}
.pthumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.2rem,1fr));gap:.6rem .5rem;margin:.5rem 0 0;padding:0;list-style:none}
.pthumbs li{margin:0;min-width:0}
.pthumb{display:block;width:100%;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:.8rem;line-height:1.2;text-align:left;cursor:pointer}
.pthumb svg{display:block;width:100%;height:auto;border-radius:var(--br1);background:#dce4e8;outline:2px solid transparent;outline-offset:1px}
.pthumb .parcel-selected{stroke-width:14}
.pthumb span{display:block;margin-top:.2rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pthumb:hover svg{outline-color:var(--hover)}
.pthumb:hover span{color:var(--fg)}
.pthumb[aria-pressed=true] svg{outline-color:var(--primary)}
.pthumb[aria-pressed=true] span{color:var(--fg);font-weight:600}
.info{flex:none}
.info>summary{display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:50%;color:var(--muted);cursor:pointer;list-style:none}
.info>summary::-webkit-details-marker{display:none}
.info>summary:hover{background:var(--hov);color:var(--fg)}
.info-body{padding:1rem;background:var(--panel2);border-radius:var(--br1)}
.info-body h2{display:none}
.keyfacts{position:relative}
.keyfacts>.info{position:absolute;top:0;right:-.6rem}
.keyfacts .kf>div:first-child{padding-right:calc(var(--tap) - .4rem)}
html.modal-open{overflow:hidden}
.parcel-lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:1rem;border:0;background:transparent;cursor:pointer;overflow:hidden}
.parcel-lightbox[open]{display:flex;align-items:center;justify-content:center}
.parcel-lightbox::backdrop{background:rgba(0,0,0,.7)}
.parcel-lightbox .pm-google{position:relative;flex:none;max-width:100%}
.parcel-lightbox svg{display:block;flex:none;width:min(1200px,calc(166.6667dvh - 3.3333rem));max-width:100%;height:auto;border-radius:0;box-shadow:var(--box);background:#dce4e8}
.whatis-box{width:min(40rem,calc(100% - 1.5rem));max-height:calc(100dvh - 1.5rem);padding:0;border:0;border-radius:var(--br1);background:var(--bg);color:var(--fg);overflow:hidden}
.whatis-box[open]{display:flex;flex-direction:column}
.whatis-box::backdrop{background:rgba(0,0,0,.5)}
.whatis-body{padding:1.25rem 1.25rem 1.5rem;overflow:auto;overscroll-behavior:contain}
.whatis-body h2:first-child{margin-top:0;padding-right:calc(var(--tap) - .5rem)}
.whatis-bar{position:sticky;top:-.85rem;z-index:1;display:flex;justify-content:flex-end;height:0;margin:-.85rem -.85rem 0 0}
.whatis-x{display:grid;place-items:center;flex:none;width:var(--tap);height:var(--tap);border:0;border-radius:50%;background:transparent;color:var(--fg);cursor:pointer}
.whatis-x:hover{background:var(--hov)}
.recent summary{cursor:pointer;list-style:none}
.recent summary::-webkit-details-marker{display:none}
.recent-panel{position:absolute;right:0;top:100%;z-index:8;width:min(100%,30rem);max-height:65dvh;overflow:auto;background:var(--surface);padding:1rem;border-radius:var(--br1);box-shadow:none}
.recent-panel ul{list-style:none;padding:0;margin:0}
.top nav .recent-panel a{display:block;white-space:normal;padding:.5rem 0;line-height:1.3}
.recent-panel button{font:inherit;color:var(--primary);background:var(--tile);border:0;border-radius:var(--br1);padding:.4rem .6rem;cursor:pointer;margin-top:.6rem}
.recent-panel button:hover{background:var(--tile-hover)}
