:root{
  --text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);
  --text-sm:clamp(0.875rem,0.8rem + 0.35vw,1rem);
  --text-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + 0.75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
  --paper:#f5f1e8;--surface:#fbf9f4;--line:#ddd5c4;--ink:#1c2433;--muted:#5d6472;--faint:#8a8f99;
  --navy:#1f2f4d;--navy-2:#2b3f63;--brick:#9b2f24;--brick-hl:#f2dcd6;
  --inperson:#1f4f7a;--inperson-bg:#dde8f2;--online:#5a3d86;--online-bg:#e8e0f3;--both:#2f6046;--both-bg:#dcebe1;
  --warn:#7a5212;--warn-bg:#f3e6c9;
  --font-display:'Gambetta',Georgia,serif;--font-body:'Switzer','Helvetica Neue',sans-serif;
  --radius:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--space-4);top:var(--space-4);background:#fff;padding:var(--space-2) var(--space-4);z-index:9}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(var(--space-4),4vw,var(--space-10))}
.masthead{background:var(--navy);color:#f5f1e8;padding-block:clamp(var(--space-8),5vw,var(--space-16)) var(--space-8);border-bottom:6px solid var(--brick)}
.eyebrow{margin:0 0 var(--space-2);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:#c9cfdb;font-weight:600}
h1{font-family:var(--font-display);font-weight:600;font-size:var(--text-2xl);line-height:1.05;margin:0 0 var(--space-4);letter-spacing:-.01em}
.lede{max-width:60ch;margin:0 0 var(--space-6);color:#dfe3ea}
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2);max-width:1080px}
.stat{background:var(--navy-2);border-radius:var(--radius);padding:var(--space-3) var(--space-4)}
.stat b{display:block;font-size:var(--text-lg);font-variant-numeric:tabular-nums}
.stat span{font-size:var(--text-xs);color:#c9cfdb}
.layout{display:grid;grid-template-columns:290px 1fr;gap:var(--space-8);padding-block:var(--space-8)}
.filters{position:sticky;top:var(--space-4);align-self:start;max-height:calc(100vh - 2rem);overflow:auto;padding-right:var(--space-2)}
.field{display:flex;flex-direction:column;gap:var(--space-2);border:0;margin:0;padding:0}
.field label,.field legend{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0;margin-bottom:var(--space-2)}
.field label{margin-bottom:0}
input[type=search],select{font:inherit;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);width:100%}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--brick);outline-offset:2px}
.check{display:flex;gap:var(--space-2);align-items:center;font-size:var(--text-sm);font-weight:400;line-height:1.35}
.check input{accent-color:var(--brick);width:16px;height:16px;flex-shrink:0;margin:0}
.seg{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.seg button{font:inherit;font-size:var(--text-xs);padding:var(--space-2) var(--space-1);border:0;background:transparent;color:var(--ink);cursor:pointer;border-right:1px solid var(--line)}
.seg button:last-child{border-right:0}
.seg-wrap{grid-template-columns:1fr 1fr}
.seg-wrap button{border-bottom:1px solid var(--line)}
.seg-wrap button:nth-child(2n){border-right:0}
.seg-wrap button:nth-last-child(-n+2){border-bottom:0}
.seg button[aria-pressed=true]{background:var(--navy);color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.chip{font:inherit;font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer}
.chip[aria-pressed=true]{background:var(--brick);border-color:var(--brick);color:#fff}
.chip small{color:inherit;opacity:.7;margin-left:4px}
.actions{display:flex;flex-direction:column;gap:var(--space-2)}
.btn{font:inherit;font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-4);border-radius:8px;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer}
.btn:hover{background:var(--navy-2)}
.btn.ghost{background:transparent;color:var(--navy)}
.btn.ghost:hover{background:#ebe5d8}
.resultbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}
.resultbar p{margin:0;font-size:var(--text-sm);color:var(--muted)}
.resultbar b{color:var(--ink)}
.sort{display:flex;gap:var(--space-2);align-items:center;font-size:var(--text-sm);color:var(--muted)}
.sort select{width:auto}
.group{margin-bottom:var(--space-8)}
.group h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);margin:0 0 var(--space-1);display:flex;align-items:baseline;gap:var(--space-3)}
.group h2 small{font-family:var(--font-body);font-size:var(--text-xs);color:var(--muted);font-weight:500}
.group h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--brick);margin:var(--space-5) 0 var(--space-2);font-weight:700}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-3)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.card header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}
.card h4{margin:0;font-size:var(--text-base);font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.cat{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}
.badges{display:flex;flex-wrap:wrap;gap:var(--space-1)}
.b{font-size:var(--text-xs);font-weight:600;padding:2px var(--space-2);border-radius:4px;line-height:1.5}
.b-In-person{background:var(--inperson-bg);color:var(--inperson)}
.b-Online{background:var(--online-bg);color:var(--online)}
.b-Both{background:var(--both-bg);color:var(--both)}
.b-conf{background:#e6efe3;color:#2f5a2a}
.b-last{background:var(--warn-bg);color:var(--warn)}
.b-ong{background:#e7e3da;color:#4a4436}
.offer{margin:0;font-size:var(--text-sm);overflow-wrap:anywhere}
dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:2px var(--space-3);font-size:var(--text-xs)}
dt{color:var(--muted);font-weight:600}
dd{margin:0;overflow-wrap:anywhere}
.date{font-weight:700;color:var(--ink)}
.src{font-size:var(--text-xs);color:var(--muted);margin-top:auto;padding-top:var(--space-2);border-top:1px dashed var(--line)}
.src a{color:var(--navy);text-underline-offset:2px}
.empty{padding:var(--space-12) var(--space-6);text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}
.more{display:block;margin:var(--space-6) auto 0}
.foot{background:#ebe5d8;padding-block:var(--space-10);border-top:1px solid var(--line)}
.foot h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 var(--space-3);font-weight:600}
.foot ul{margin:0;padding-left:var(--space-5);max-width:75ch;font-size:var(--text-sm);color:#3a404c}
.foot li{margin-bottom:var(--space-2)}
@media (max-width:900px){
  .layout{grid-template-columns:1fr}
  .filters{position:static;max-height:none;overflow:visible;padding-right:0}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:480px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards{grid-template-columns:1fr}
}

.fbody{display:flex;flex-direction:column;gap:var(--space-5)}
.filters summary{display:none}
@media (max-width:900px){
  .filters summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700;font-size:var(--text-sm);padding:var(--space-3) var(--space-4);background:var(--navy);color:#fff;border-radius:8px;list-style:none}
  .filters summary::after{content:'+';font-size:var(--text-lg);line-height:1}
  .filters details[open] summary::after{content:'\2212'}
  .filters summary::-webkit-details-marker{display:none}
  .fbody{padding-top:var(--space-4)}
}

@media (max-width:480px){.stat:last-child{grid-column:auto}}

.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}
.topline .eyebrow{margin-top:var(--space-2)}
.updated{margin:0;font-size:var(--text-xs);font-weight:600;color:#fff;background:var(--brick);padding:var(--space-2) var(--space-3);border-radius:6px;font-variant-numeric:tabular-nums}
.updated span{text-transform:uppercase;letter-spacing:.1em;opacity:.85;margin-right:var(--space-1)}
.copy{margin:var(--space-8) 0 0;padding-top:var(--space-4);border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--muted)}
.topline{margin-bottom:var(--space-3)}
.past{margin:var(--space-6) 0 0;font-size:var(--text-sm)}
.past a{color:inherit}
.brand{display:flex;align-items:center;gap:var(--space-4)}
.brand img{width:clamp(44px,6vw,64px);height:auto;flex:none}
.sitenav{background:var(--navy-2);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20}
.sitenav .wrap{display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none}
.sitenav a{color:#f5f1e8;text-decoration:none;font-weight:600;font-size:var(--text-sm);padding:var(--space-3) var(--space-3);white-space:nowrap;border-bottom:3px solid transparent}
.sitenav a:hover,.sitenav a:focus-visible{border-bottom-color:var(--brick);outline:none}
.filters{top:calc(var(--space-4) + 48px)}
section[id]{scroll-margin-top:56px}
.info{padding-block:var(--space-12);border-top:1px solid var(--line)}
.info.alt{background:var(--surface)}
.info h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);margin:0 0 var(--space-3);line-height:1.1}
.kicker{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brick)}
.intro{max-width:72ch;color:var(--ink);margin:0 0 var(--space-6)}
.info a{color:var(--navy);text-underline-offset:2px}
.sub{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--brick);margin:var(--space-8) 0 var(--space-3);font-weight:700}
.tips{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}
.tip{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brick);border-radius:var(--radius);padding:var(--space-4) var(--space-5)}
.tip h4{margin:0 0 var(--space-2);font-size:var(--text-base)}
.tip p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.55}
.src{font-size:var(--text-xs)!important;color:var(--muted);margin:0}
.note{font-size:var(--text-sm);color:var(--muted);max-width:80ch}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
table.flag{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:640px}
.flag th,.flag td{text-align:left;vertical-align:top;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}
.flag th{background:var(--paper);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.flag td:first-child{font-weight:600;width:28%}.flag td:nth-child(2){width:18%;white-space:normal}
.flag tr:last-child td{border-bottom:0}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-8)}
.box{background:var(--navy);color:#f5f1e8;border-radius:var(--radius);padding:var(--space-5) var(--space-6)}
.box h3{margin:0 0 var(--space-3);font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}
.box ul{margin:0 0 var(--space-3);padding-left:1.1em;font-size:var(--text-sm);line-height:1.6}
.box a{color:#fff}.box .src{color:#c9cfdb}
.benctl{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}
.benctl label{font-weight:700;font-size:var(--text-sm)}
.benctl select{min-width:220px}
#benTopic{flex-basis:100%}
.bstate{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-4)}
.bstate header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-5);border-bottom:1px solid var(--line);padding-bottom:var(--space-3);margin-bottom:var(--space-3)}
.bstate h3{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}
.bstate .agency{margin:0;font-weight:600;font-size:var(--text-sm)}.bstate .agency span{font-weight:500;color:var(--muted);margin-left:var(--space-2)}
.bstate .checked{margin:0 0 0 auto;font-size:var(--text-xs);color:var(--muted)}
.btopic h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--brick)}
.btopic ul{margin:0;padding-left:1.1em;font-size:var(--text-sm);line-height:1.6;max-width:90ch}
.btopic li{margin-bottom:var(--space-2)}
.bsrc{font-size:var(--text-xs);color:var(--muted)!important;white-space:nowrap}
@media (max-width:760px){.twocol{grid-template-columns:1fr}.bstate{padding:var(--space-4)}.bstate .checked{margin-left:0;flex-basis:100%}.benctl select{min-width:0;flex:1}}
.benctl select{width:auto;max-width:320px}
.bstate .agency span{white-space:nowrap}
/* multi-page */
.masthead-sm{padding-block:var(--space-6) var(--space-6)}
.brand-sm{margin:0 0 var(--space-3);font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}
.brand-sm a{display:flex;align-items:center;gap:var(--space-3);color:#f5f1e8;text-decoration:none}
.brand-sm a:hover{text-decoration:underline;text-underline-offset:3px}
.brand-sm img{width:40px}
.masthead-sm .lede{margin:0}
.sitenav a[aria-current="page"]{border-bottom-color:var(--brick);background:rgba(255,255,255,.06)}
.info h1{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);margin:0 0 var(--space-3);line-height:1.1}
main#main .info{border-top:0}
.explore h2{margin-bottom:var(--space-5)}
.excards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}
.excard{display:block;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--brick);border-radius:var(--radius);padding:var(--space-4) var(--space-5);text-decoration:none;color:var(--ink)}
.excard b{display:block;font-size:var(--text-base);color:var(--navy);margin-bottom:var(--space-1)}
.excard span{font-size:var(--text-sm);color:var(--muted)}
.excard:hover,.excard:focus-visible{border-color:var(--navy);outline:none}
/* laws page */
.due{background:var(--warn-bg);border:1px solid #e2cd9c;border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-6);max-width:90ch}
.dueh{font-family:var(--font-body)!important;font-size:var(--text-sm)!important;text-transform:uppercase;letter-spacing:.08em;color:var(--warn);margin:0 0 var(--space-2)!important}
.due ul{margin:0;padding-left:1.1em;font-size:var(--text-sm);line-height:1.6}
.due b{color:var(--ink);margin-right:var(--space-1)}
.jump{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4)}
.jump a{font-size:var(--text-sm);font-weight:600;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:999px;background:var(--surface);text-decoration:none}
.lh{margin-top:var(--space-10)!important;scroll-margin-top:64px}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:var(--space-3)}
.lcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4) var(--space-5);scroll-margin-top:64px}
.lcard:target{outline:3px solid var(--brick);outline-offset:2px}
.lcard header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}
.lcard h4{margin:0;font-size:var(--text-base);line-height:1.3}
.lcard p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.55}
.lsub{color:var(--muted);margin-top:var(--space-1)!important;font-weight:600}
.lmeta{color:var(--ink);font-weight:500;border-left:3px solid var(--line);padding-left:var(--space-2)}
.you{background:var(--paper);border-radius:6px;padding:var(--space-2) var(--space-3)}
.pill{flex:none;font-size:var(--text-xs);font-weight:700;padding:2px var(--space-2);border-radius:999px;white-space:nowrap}
.p-ok{background:var(--both-bg);color:var(--both)}.p-mid{background:var(--inperson-bg);color:var(--inperson)}
.p-wait{background:#ebe7de;color:#4a505c}.p-due{background:var(--brick);color:#fff}
.lchecked{margin-top:var(--space-8)}
/* back to top */
.totop{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:6px;min-height:48px;padding:0 16px 0 12px;border:2px solid #fff;border-radius:999px;background:var(--navy);color:#fff;font:600 var(--text-sm)/1 var(--font-body);box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.totop.show{opacity:1;visibility:visible;transform:none}
.totop:hover{background:var(--brick)}
.totop:focus-visible{outline:3px solid var(--brick);outline-offset:2px}
@media (max-width:480px){.totop span{display:none}.totop{padding:0;width:48px;justify-content:center}}
@media (prefers-reduced-motion:reduce){.totop{transition:none}}
.foot{padding-bottom:var(--space-16)}
.vdday{text-transform:none;letter-spacing:0;font-size:var(--text-base);font-weight:500;color:#f5f1e8}
.vdday strong{color:#fff;font-weight:700;border-bottom:2px solid var(--brick)}
#count .chg{display:block;margin-top:.15rem;font-size:var(--text-sm);color:var(--muted,#5b6470)}
#count .chg b{color:var(--brick,#a33)}
.b-new{background:#a8322d;color:#fff}
.b-upd{background:#fff4d6;color:#6b4e00;border:1px solid #e0c46c}
.vamc{display:flex;align-items:center;gap:.75rem;margin:.35rem 0 .6rem;padding:.6rem .75rem;background:#eef3f9;border:1px solid #c9d6e6;border-left:4px solid #1f3a5f;border-radius:8px}
.vamc-ico{width:40px;height:40px;flex:none}
.vamc-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.vamc-lbl{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:#1f3a5f;font-weight:600}
.vamc-where,.vamc-fac{font-weight:800;color:#13243b;font-size:var(--text-sm);overflow-wrap:anywhere}

/* category colors (icon + label always shown with color) */
.c-cer{--cc:#1e3a8a;--cb:#e8edf8}.c-meal{--cc:#b45309;--cb:#fbf0e4}.c-fair{--cc:#0f766e;--cb:#e3f3f1}.c-post{--cc:#9f1239;--cb:#f9e6ea}.c-comm{--cc:#6d28d9;--cb:#f0eafb}
.c-rest{--cc:#c2410c;--cb:#fbebe3}.c-cafe{--cc:#78350f;--cb:#f4ece4}.c-shop{--cc:#0369a1;--cb:#e4f0f8}.c-web{--cc:#4338ca;--cb:#ebeafa}.c-trav{--cc:#0e7490;--cb:#e2f2f5}
.c-mus{--cc:#a16207;--cb:#f8f1df}.c-park{--cc:#15803d;--cb:#e5f4ea}.c-care{--cc:#be185d;--cb:#fae7ef}.c-auto{--cc:#475569;--cb:#eceff3}.c-oth{--cc:#6b7280;--cb:#eff0f2}
.ico{width:1em;height:1em;flex:none}
.card{border-left:6px solid var(--cc,var(--line))}
.card header{justify-content:flex-start}
.catpill{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:700;color:#fff;background:var(--cc);padding:3px 10px 3px 8px;border-radius:999px;line-height:1.4}
.catpill .ico{width:15px;height:15px}
.chipgrp{flex-basis:100%;margin:var(--space-2) 0 0;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.chipgrp:first-child{margin-top:0}
.cchip{display:inline-flex;align-items:center;gap:6px;border-color:var(--cc);color:var(--cc);background:var(--cb)}
.cchip span{color:var(--ink)}
.cchip .ico{width:15px;height:15px}
.cchip[aria-pressed=true]{background:var(--cc);border-color:var(--cc);color:#fff}
.cchip[aria-pressed=true] span{color:#fff}
.cchip.zero{opacity:.45}
.cath{color:var(--cc)}
.cath .ico{width:26px;height:26px;align-self:center}
.cath small{color:var(--muted)}
.gnote{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--muted)}
/* last-year, not confirmed */
.card.is-last{border:2px dashed #b45309;border-left:6px solid var(--cc);background:repeating-linear-gradient(135deg,#fffaf0 0 12px,#fff5e4 12px 24px)}
.lastyr{display:flex;gap:var(--space-2);align-items:flex-start;background:#fdecc8;color:#7c2d12;border:1px solid #f0b75a;border-radius:6px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);line-height:1.4}
.lastyr strong{font-weight:800}
.lastico{width:20px;height:20px;margin-top:1px}
.b-cost{background:#eef2f6;color:#334155}
/* active filters */
.active{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:0 0 var(--space-4)}
.active[hidden]{display:none}
.act-lbl{font-size:var(--text-xs);font-weight:700;color:var(--muted)}
.actchip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:var(--text-xs);font-weight:600;padding:4px 8px 4px 12px;border-radius:999px;border:1px solid var(--navy);background:#eef2f8;color:var(--navy);cursor:pointer;min-height:32px}
.actchip .ico{width:14px;height:14px}
.actchip:hover,.actchip:focus-visible{background:var(--navy);color:#fff}
.actclear{font:inherit;font-size:var(--text-xs);font-weight:700;background:none;border:0;color:var(--brick);text-decoration:underline;cursor:pointer;padding:4px 6px;min-height:32px}
.lastnote{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;background:#fdecc8;color:#7c2d12;border:1px dashed #b45309;border-radius:6px;padding:var(--space-2) var(--space-3);margin:0 0 var(--space-3);font-size:var(--text-sm)}
.lastnote[hidden]{display:none}
.lnbtn{font:inherit;font-weight:700;background:#7c2d12;color:#fff;border:0;border-radius:999px;padding:4px 14px;min-height:32px;cursor:pointer;margin-left:auto}
.lastnote span{flex:1 1 200px}
.prose{max-width:70ch}.prose p{line-height:1.6}.copy a{color:inherit;text-decoration:underline;margin-left:var(--space-2)}
.foot li a{color:var(--brick);font-weight:600}
.b-job{display:inline-flex;align-items:center;gap:4px;background:#14532d;color:#fff}
.b-job .ico{width:13px;height:13px}
#jobN{font-weight:500;color:var(--muted)}
.b-sd{display:inline-flex;align-items:center;gap:4px;background:#1e3a8a;color:#fff}
.b-can{display:inline-flex;align-items:center;gap:4px;background:#3f6212;color:#fff}
.b-sd .ico,.b-can .ico{width:13px;height:13px}
.check .cnt{font-weight:400;color:var(--muted)}
/* My events */
.card header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}
.save{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:var(--text-xs,.8rem);font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer;flex-shrink:0;min-height:32px}
.save .ico{width:16px;height:16px}
.save.on{background:var(--navy);color:#fff}
.save.on .ico{fill:#f2c14e;stroke:#f2c14e}
.save:hover{background:var(--navy-2);color:#fff}
.mybtn{display:inline-flex;align-items:center;gap:6px}
.mybtn .ico{width:18px;height:18px}
.mybtn[aria-pressed=true]{background:var(--brick);border-color:var(--brick)}
.mybtn[aria-pressed=true] .ico{fill:#f2c14e;stroke:#f2c14e}
.minepanel{background:#fff;border:2px solid var(--navy);border-radius:var(--radius);padding:var(--space-4) var(--space-5,1.25rem);margin-bottom:var(--space-4)}
.minepanel h3{margin:0 0 var(--space-2)}
.minepanel p{margin:0 0 var(--space-3)}
.mineacts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}
.mineacts .btn{display:inline-flex;align-items:center;gap:6px}
.mineacts .ico{width:16px;height:16px}
.remind{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600}
.clash{color:var(--brick);font-weight:600}
.gonenote{font-size:var(--text-sm);color:var(--muted)}
.linkbtn{font:inherit;background:none;border:0;color:var(--navy);text-decoration:underline;cursor:pointer;padding:0}
.dayhead{font-size:var(--text-lg,1.15rem);margin:var(--space-6) 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--navy);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.b-same{background:var(--brick-hl);color:var(--brick)}
.calm{margin-top:var(--space-3);font-size:var(--text-sm)}
.calm summary{cursor:pointer;font-weight:600;color:var(--navy);display:inline-flex;align-items:center;gap:6px;list-style:none;min-height:32px}
.calm summary::-webkit-details-marker{display:none}
.calm summary .ico{width:16px;height:16px}
.calopts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.calopts a,.calopts button{font:inherit;font-size:var(--text-sm);padding:6px 10px;border:1px solid var(--navy);border-radius:8px;background:#fff;color:var(--navy);text-decoration:none;cursor:pointer}
.calopts a:hover,.calopts button:hover{background:var(--navy);color:#fff}
.calnote{flex-basis:100%;margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs,.8rem)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:50;font-size:var(--text-sm);max-width:90vw}
@media print{
  .minemode .masthead,.minemode .filters,.minemode .mineacts,.minemode .remind,.minemode .calm,.minemode .save,.minemode .mybtn,.minemode #lastnote,.minemode #active,.minemode footer,.minemode .more,.minemode .toast,.minemode .calnote{display:none!important}
  .minemode .card{break-inside:avoid;border:1px solid #999}
  .minemode .minepanel{border:0;padding:0}
}
.minemode #active,.minemode #lastnote{display:none!important}
@media (max-width:900px){
  .mybtn{position:fixed;left:16px;bottom:16px;z-index:40;box-shadow:0 6px 18px rgba(0,0,0,.28);border-radius:999px;padding:12px 16px}
  .toast{bottom:84px}
}
.resultbar .mybtn b,.mybtn b{color:inherit}
.minemode .sort{display:none}.remind select{max-width:340px}
.card:focus{outline:3px solid var(--brick);outline-offset:2px}

/* disclaimer cards */
.dwrap{max-width:1000px}
.dlead{font-size:var(--text-lg);font-family:var(--font-display);margin:0 0 var(--space-6);max-width:60ch;line-height:1.35}
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--space-4)}
.dcard,.dreport{display:flex;gap:var(--space-4);align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--dc);border-radius:var(--radius);padding:var(--space-4) var(--space-5)}
.dcard h2,.dreport h2{font-family:var(--font-body);font-size:var(--text-base);font-weight:700;margin:2px 0 var(--space-2);line-height:1.3}
.dcard p,.dreport p{margin:0 0 var(--space-2);line-height:1.55;font-size:var(--text-sm)}
.dcard p:last-child,.dreport p:last-child{margin-bottom:0}
.dico{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:var(--dbg);color:var(--dc)}
.c1{--dc:var(--inperson);--dbg:var(--inperson-bg)}
.c2{--dc:var(--navy);--dbg:#e3e8f1}
.c3{--dc:var(--both);--dbg:var(--both-bg)}
.c4{--dc:var(--online);--dbg:var(--online-bg)}
.dreport{--dc:var(--brick);--dbg:var(--brick-hl);margin-top:var(--space-6);background:var(--brick-hl);border-color:#e3b9ae}
.dreport .dico{background:#fff}
.dreport a{font-weight:700;color:var(--brick)!important}

/* site move */
.moved{margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--muted)}
.moved a{color:inherit;font-weight:600}
.movebar{background:#fdecc8;color:#7c2d12;border-bottom:1px solid #f0b75a;font-size:var(--text-sm)}
.movebar .wrap{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;justify-content:space-between;padding-block:var(--space-2)}
.movebar p{margin:0}.movebar a{color:#7c2d12;font-weight:700}
.movebtn{background:#7c2d12;color:#fff!important;border-radius:999px;padding:6px 14px;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}

/* brand */
.bname{display:flex;flex-direction:column;line-height:1.05}
.bname .tag{font-family:var(--font-body);font-size:.36em;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#f2b8ae;margin-top:.45em}
.brand-sm .bname .tag{font-size:.5em}

/* state pages */
.stlede{max-width:70ch;line-height:1.6}
.stgo{display:inline-block;text-decoration:none;color:#fff!important;margin:var(--space-2) 0 var(--space-4)}
.sth2{font-family:var(--font-display);font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-3)}
.stcities,.stindex{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.stcities a,.stindex a{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);text-decoration:none;font-size:var(--text-sm);font-weight:600}
.stcities span,.stindex span{font-weight:700;color:var(--brick);font-variant-numeric:tabular-nums}
.stindex{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.stindex a{justify-content:space-between;border-radius:10px;padding:10px 14px}
.strows{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2);max-width:90ch}
.strows li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:var(--space-3) var(--space-4);line-height:1.5;font-size:var(--text-sm)}
.stmeta{color:var(--muted);margin-left:6px}
.stindex a{display:flex}
.stcities{margin-bottom:var(--space-8)}

/* about page */
.abhero{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:var(--space-8);align-items:center;margin-bottom:var(--space-8)}
.abhero p{max-width:60ch;line-height:1.6}
.abphoto{margin:0}
.abphoto img{display:block;width:100%;height:auto;border-radius:var(--radius);border:6px solid var(--surface);box-shadow:0 8px 24px rgba(31,47,77,.18)}
.abphoto figcaption{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2);text-align:center}
.ablinks .btn{display:inline-block;text-decoration:none;color:#fff!important}
@media (max-width:700px){.abhero{grid-template-columns:1fr;gap:var(--space-5)}.abphoto{max-width:240px;margin-inline:auto}}
.abnote{margin-top:var(--space-5);font-size:var(--text-xs);color:var(--muted)}
.dcard a{color:var(--navy);font-weight:600}
.b-bf{background:#111827;color:#fde68a}

/* savings page */
.dcard h2 .cost{display:inline-block;margin-left:var(--space-2);padding:2px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:var(--text-xs);font-weight:400;color:var(--muted);vertical-align:middle}
.dcard h3{font-size:var(--text-sm);margin:var(--space-3) 0 var(--space-1)}
.pcgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
ul.pc{margin:0;padding-left:1.2em;line-height:1.5}
ul.pc li{margin-bottom:var(--space-1)}
ul.pro li::marker{content:"+  ";color:#2f6b3a;font-weight:700}
ul.con li::marker{content:"\2212  ";color:var(--brick);font-weight:700}
.dcard .src{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-3)}
.dcard.roi,.dcard.roi+.dcard{grid-column:1/-1}
.take{background:var(--bg);border-radius:var(--radius);padding:var(--space-3) var(--space-4)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.info .tablewrap{margin:var(--space-6) 0}
.svgrid{grid-template-columns:1fr}
@media (max-width:700px){.pcgrid{grid-template-columns:1fr}}
