/* Shared site formatting. Loaded last by build/chrome.py so page templates use one scale. */
:root{--page-gutter:clamp(12px,1.25vw,24px);--t:#145641;--t-hover:#0e4332;--t-tint:#e0ece3;--r-card:10px;--r-chip:7px}
.qc-site{color:var(--ink);font-family:var(--sans);line-height:1.6}
.qc-site *, .qc-site *::before,.qc-site *::after{box-sizing:border-box}
.qc-site :is(input,select,textarea,button){font-family:var(--sans)}
.qc-site :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #43836a;outline-offset:3px}
.qc-site :is(h1,h2,h3,h4){text-wrap:pretty}
.qc-site :is(p,li,dd,td,th){overflow-wrap:break-word}
.qc-site :is(img,iframe,video){max-width:100%}
.qc-site :is(.wrap,.page){width:100%;max-width:none;margin-inline:auto;padding-inline:var(--page-gutter)}
.qc-site :is(.layout,.cards,.three,.stats,.poi-controls,.report-card-grid)>*{min-width:0}
.qc-site .layout{grid-template-columns:minmax(0,1fr) 280px;gap:clamp(20px,2.5vw,40px)}
.qc-reference{background:#fff;font-size:17px}
.qc-reference .wrap{padding-bottom:48px}
.qc-reference .wrap>header{display:flex;flex-wrap:wrap;gap:0;min-height:72px;padding:18px 0 0;background:#f3f2ec}
.qc-reference .wrap>header::before{content:"";position:absolute;inset:0 calc(-1 * var(--page-gutter));background:#f3f2ec;z-index:-1}
.qc-reference .wrap>header{isolation:isolate}
.qc-reference header .brand{display:inline-flex;align-items:center;gap:8px;font:700 19px/1.2 var(--display);min-height:36px;margin-bottom:16px}
.qc-reference header .brand::before{width:30px;height:30px;margin:0;background-image:url(/favicon.svg?v=parcel-grid-2);flex:none}
.qc-reference .wrap>header>nav{display:flex;align-items:center;gap:4px;width:calc(100% + 2 * var(--page-gutter));margin:0 calc(-1 * var(--page-gutter));padding:4px var(--page-gutter);background:#145641;font-size:14px;flex-wrap:wrap}
.qc-reference .wrap>header>nav a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;color:#fff;border-radius:7px;line-height:1.35;white-space:nowrap}
.qc-reference .wrap>header>nav a:hover{background:#28664f;color:#fff}
.qc-reference .wrap>header>nav a[aria-current="page"]{background:#2e6d56;color:#fff}
.qc-reference .wrap>header>nav a[aria-current="page"]::after{display:none}
.qc-reference .crumb{margin:22px 0 12px;font-size:14px;line-height:1.5;max-width:none}
.qc-reference :is(.wrap,.main)>h1{max-width:72ch;font:700 clamp(30px,3.2vw,42px)/1.15 var(--display);margin:12px 0 18px;letter-spacing:-.02em}
.qc-reference :is(.wrap,.main)>h2,.qc-reference .dev-sec>h2{background:#e9efe7;border:1px solid #d6dfd3;border-radius:10px;padding:14px 18px;margin:32px 0 16px;font:700 clamp(23px,2.3vw,28px)/1.25 var(--display)}
.qc-reference h3{line-height:1.35;margin:24px 0 10px}
.qc-reference .wrap :is(p,ul,ol,dl){max-width:82ch}
.qc-reference .wrap .lede{max-width:90ch;font-size:19px;line-height:1.6;margin-bottom:22px}
.qc-reference .wrap :is(.meta,.status,.crumb,.src,.jump,.lk,.door,.gq-chips){max-width:none}
.qc-reference :is(.meta,.status,.src,.small,.side p,.side li){font-size:14px;line-height:1.55}
.qc-reference .wrap .note{max-width:100ch;font-size:15px;line-height:1.6;padding:16px 18px;margin:20px 0}
.qc-reference .toc{max-width:100ch;padding:18px 20px;margin:22px 0}
.qc-reference .toc ol,.qc-reference .cards,.qc-reference .card p,.qc-reference .card span,.qc-reference .side :is(p,ul,dl),.qc-reference .poi-tool p{max-width:none}
.qc-reference .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px}
.qc-reference .card{padding:20px;border-radius:10px;line-height:1.5}
.qc-reference .card b{font-size:18px;margin-bottom:8px}
.qc-reference .card span{font-size:16px}
.qc-reference .card .t{font-size:14px}
.qc-reference .stats{gap:12px;margin:20px 0}
.qc-reference .stats .tile{padding:16px}
.qc-reference .side{margin-top:24px}
.qc-reference .side .box{padding:18px;background:#f3f5f0}
.qc-reference .side h3{margin:0 0 12px}
.qc-reference :is(.pick,.poi-tool,.mkt,.tool){border-radius:10px}
.qc-reference .pick :is(input,select),.qc-reference .poi-controls :is(input,select){min-width:0;max-width:100%;min-height:44px}
.qc-reference :is(.gsearch,.pick){max-width:none}
.qc-reference .gsearch{padding:18px;background:#f3f5f0;border:1px solid var(--ln);border-radius:10px}
.qc-reference .gq-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:12px}
.qc-reference .gq-chips button{margin:0;min-height:36px;background:#fff}
.qc-reference :is(.tw,.tl-wrap,.gw){max-width:100%;min-width:0;overflow:auto;overscroll-behavior-inline:contain;border:1px solid var(--ln);border-radius:10px;background:#fff;margin:16px 0}
.qc-reference table{font-size:15px;line-height:1.5;margin:0}
.qc-reference :is(th,td){padding:12px;vertical-align:top}
.qc-reference :is(thead th,tr:first-child th),.qc-reference .tl-tab thead th,.qc-reference .proj thead th{background:#244b3b;color:#fff;font:600 13px/1.4 var(--sans);letter-spacing:.015em;text-transform:none;position:static}
.qc-reference th a{color:#fff}
.qc-reference table.proj{min-width:780px}
.qc-reference .proj :is(th,td){padding:11px 12px}
.qc-reference .proj .poi{font-size:13px;line-height:1.5;margin-top:4px}
.qc-reference .proj .stg{font-size:13px;line-height:1.4}
.qc-reference .tw:has(.info[open]){overflow:auto}
.qc-reference table .info[open]>span{position:static;display:block;min-width:220px;max-width:280px;width:auto;margin-top:8px;font:400 14px/1.5 var(--sans);letter-spacing:0;box-shadow:none;overflow-wrap:anywhere}
.qc-reference .gantt{min-width:1000px}
.qc-reference .gw{padding:12px}
.qc-reference .legend{padding:14px 16px;border:1px solid var(--ln);border-radius:10px;background:#f3f5f0;gap:12px 20px}
.qc-reference details.sec-dd>summary{padding:16px 44px 16px 18px;line-height:1.5}
.qc-reference details.sec-dd small{display:inline-block;margin-left:8px}
.qc-site footer.f3{gap:24px;padding:24px 0;margin-top:40px;font-size:14px;line-height:1.6}
.qc-site footer.f3 .fcol :is(h4,.fh){display:block;font:600 13px/1.4 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--fog);margin:0 0 6px}
.qc-site footer.f3 a{padding:6px 0;line-height:1.5}
.qc-site .pm-ui .pm-btn,.qc-site button.pm-btn{background:#fff;color:#172b21;border:1px solid #b8c9bd;min-height:44px;line-height:1.2;padding:9px 11px}
.qc-site .pm-ui .pm-btn:hover,.qc-site button.pm-btn:hover{background:#e0ece3;color:#172b21}
.qc-site .pm-ui .pm-btn[aria-expanded="true"],.qc-site .pm-ui .pm-btn[aria-pressed="true"]{background:#145641;color:#fff}
.qc-site .pm-menu label{display:flex;align-items:flex-start;gap:8px;min-height:36px;padding:7px 0;font-size:14px;line-height:1.4}
.qc-site .pm-menu input{flex:none;width:17px;height:17px;min-height:0;padding:0;margin:2px 0 0}
.qc-site .pm-menu :is(h4,small){line-height:1.45}
.qc-site .pm-menu h4{font-size:12px;color:#48564e}
.qc-site .pm-menu small{font-size:12px;color:#56625d}
.qc-home header .brand::before{width:30px;height:30px;vertical-align:-8px}
.qc-home .search{gap:16px}
.qc-home .search input{min-height:48px}
.qc-home .all-bar{min-height:48px}
.qc-home .screen-intro{margin-top:20px}
.qc-home .pp :is(p,li){line-height:1.6}
.qc-home .pp .facts-table :is(th,td){padding:12px}
@media(min-width:1600px){.qc-reference .layout{grid-template-columns:minmax(0,1fr) 300px}.qc-reference .cards{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}}
@media(max-width:980px){.qc-site .layout{grid-template-columns:minmax(0,1fr);gap:16px}.qc-reference .side{margin-top:8px}.qc-reference .side .box{margin-bottom:16px}}
@media(max-width:700px){.qc-reference .wrap>header>nav{flex-wrap:nowrap;overflow-x:auto;mask-image:none;-webkit-mask-image:none;scrollbar-width:thin;padding-block:4px}.qc-reference .wrap>header>nav a{min-height:44px;padding:10px}.qc-reference .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.qc-reference .three{grid-template-columns:1fr}.qc-reference .wrap .lede{font-size:18px}.qc-reference .poi-tool{padding:16px}.qc-reference .poi-controls{grid-template-columns:1fr}.qc-reference .wrap :is(.lk,.jump) a{white-space:normal;overflow-wrap:anywhere}.qc-reference .swipe{display:block;font-size:14px}.qc-site footer.f3{grid-template-columns:1fr;gap:20px}.qc-reference .proj td:first-child,.qc-reference .proj th:first-child{position:static;box-shadow:none}}
@media(max-width:480px){.qc-reference{font-size:16.5px}.qc-reference .card{padding:16px}.qc-reference .gsearch{padding:14px}.qc-reference :is(.wrap,.main)>h1{font-size:30px}.qc-reference :is(.wrap,.main)>h2,.qc-reference .dev-sec>h2{padding:12px 14px}.qc-site .pm-ui .pm-btn{padding:8px;font-size:12px}.qc-site .pm-ui.tr{gap:4px}.qc-site .pm-status{font-size:12px}}
@media print{.qc-reference .wrap>header>nav{display:none!important}.qc-site .wrap{padding:0}.qc-site .layout{display:block}.qc-reference :is(.tw,.tl-wrap,.gw){overflow:visible;border:0}.qc-reference table.proj{min-width:0;font-size:9pt}.qc-reference :is(.wrap,.main)>h2{background:none;border:0;padding:0}.qc-site footer{display:none!important}}

/* One header everywhere (Oct 22): brand row, the site search, then the green section nav, full-bleed. Pages with the
   reference layout (.qc-reference .wrap>header) already do this with their own gutter rules, which are more specific and
   win; the home page keeps its own header + .all-bar. This covers the rest: privacy, terms, search, the permit finder,
   the updates index and any page that only carries the base chrome. */
html body.qc-site header{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;margin:0;background:#f3f2ec;border:0;position:relative;isolation:isolate;min-height:0}
html body.qc-site header::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#f3f2ec;z-index:-1}
html body.qc-site header::after{display:none}
html body.qc-site header .brand,html body.qc-site header>a:first-child{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:36px;margin:18px 0 16px;font:700 19px/1.2 var(--display,var(--sans));color:var(--ink,#161F1B);text-decoration:none}
html body.qc-site header .brand::before,html body.qc-site header>a:first-child::before{content:"";display:inline-block;width:30px;height:30px;margin:0;background:url(/favicon.svg?v=parcel-grid-2) center/contain no-repeat;flex:none}
html body.qc-site header .brand em{font-style:normal;color:inherit}
html body.qc-site header .qc-site-search{width:100vw;margin:0 0 0 calc(50% - 50vw);transform:none}
html body.qc-site header>nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px;-webkit-mask-image:none;mask-image:none;width:100vw;margin:0 0 0 calc(50% - 50vw);transform:none;box-sizing:border-box;padding:4px max(24px,calc(50vw - 776px));background:#145641;font-size:14px;font-family:var(--sans,system-ui,sans-serif)}
html body.qc-site header>nav a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;margin:0;color:#fff;text-decoration:none;border-radius:7px;line-height:1.35;white-space:nowrap;font-weight:400;border:0;position:static}
html body.qc-site header>nav a:hover{background:#28664f;color:#fff}
html body.qc-site header>nav a[aria-current="page"]{background:#2e6d56;color:#fff;font-weight:600}
html body.qc-site header>nav a[aria-current="page"]::after{display:none}
html body.qc-site header>nav a:focus-visible{outline:3px solid #fff;outline-offset:-3px}
@media(max-width:700px){html body.qc-site header>nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:4px 12px}html body.qc-site header>nav a{min-height:44px;padding:10px}html body.qc-site header .brand,html body.qc-site header>a:first-child{margin:14px 0 12px}}
@media print{html body.qc-site header>nav,body.qc-site .qc-site-search{display:none!important}}
body.permit-directory header .brand,body.qc-search-page header>a:first-child{padding-left:16px}

/* ---- One component system for every inner page (Oct 22, v2). Scoped to body.qc-site and placed last so it wins over
   guides.css, directory.css and page styles. The home page (.qc-home) keeps its own composition. ---- */
/* Page header: crumb, title, lede, meta line */
body.qc-site:not(.qc-home) .crumb,body.qc-site:not(.qc-home) .permit-eyebrow{font:400 13.5px/1.4 var(--sans);color:var(--fog);margin:22px 0 0;letter-spacing:0;text-transform:none}
body.qc-site:not(.qc-home) .crumb a{color:var(--fog);text-decoration:none}body.qc-site:not(.qc-home) .crumb a:hover{color:var(--t);text-decoration:underline}
body.qc-site:not(.qc-home) :is(.wrap,.main,main)>h1,body.permit-directory h1{max-width:30ch;font:700 clamp(30px,3.2vw,42px)/1.12 var(--display);letter-spacing:-.02em;margin:10px 0 14px;color:var(--ink)}
body.qc-site:not(.qc-home) :is(.lede,.permit-lede){max-width:68ch;font:400 19px/1.55 var(--sans);color:var(--bark);margin:0 0 14px}
body.qc-site:not(.qc-home) h1+.meta,body.qc-site:not(.qc-home) h1+.src,body.qc-site:not(.qc-home) .lede+.meta{font:400 14px/1.5 var(--sans);color:var(--fog);margin:0 0 26px}
/* Section headings: a short green rule above, no boxes */
body.qc-site:not(.qc-home) :is(.wrap,.main,main,.dev-sec,.permit-group,section)>h2,body.permit-directory h2{position:relative;background:none;border:0;border-radius:0;padding:14px 0 0;margin:52px 0 14px;font:700 clamp(23px,2.2vw,29px)/1.2 var(--display);letter-spacing:-.015em;color:var(--ink)}
body.qc-site:not(.qc-home) :is(.wrap,.main,main,.dev-sec,.permit-group,section)>h2::before,body.permit-directory h2::before{content:"";position:absolute;top:0;left:0;width:36px;height:3px;border-radius:2px;background:var(--t)}
body.qc-site:not(.qc-home) h2+p,body.qc-site:not(.qc-home) h2+.src{margin-top:0}
body.qc-site:not(.qc-home) h2 .group-count,body.qc-site:not(.qc-home) h2 small{font:400 15px/1 var(--sans);color:var(--fog);margin-left:10px;vertical-align:middle;letter-spacing:0}
body.qc-site:not(.qc-home) :is(.wrap,.main,main,section)>h3{font:700 20px/1.3 var(--display);letter-spacing:-.01em;margin:30px 0 8px}
/* Tables */
body.qc-site table{border-collapse:collapse;width:100%;font:400 15px/1.5 var(--sans);font-variant-numeric:tabular-nums}
body.qc-site :is(thead th){background:#145641;color:#fff;font:600 13px/1.4 var(--sans);letter-spacing:.01em;padding:11px 14px;text-align:left;border:0}
body.qc-site thead th a{color:#fff}
body.qc-site tbody th,body.qc-site tbody td{padding:12px 14px;border-bottom:1px solid var(--ln);vertical-align:top;text-align:left}
body.qc-site tbody tr:first-child th,body.qc-site tbody th[scope=row]{background:transparent;color:var(--ink);font:600 15px/1.45 var(--sans);letter-spacing:0;position:static}
body.qc-site tbody tr:last-child :is(th,td){border-bottom:0}
body.qc-site tbody tr:hover :is(td,th){background:#F7F9F6}
body.qc-site .tw{border:1px solid var(--ln);border-radius:10px;overflow:auto;margin:10px 0 22px;background:#fff}
body.qc-site .tw table{margin:0}
body.qc-site table small{display:block;font:400 13.5px/1.45 var(--sans);color:var(--fog);margin-top:3px}
/* Status tags */
body.qc-site i.st,body.qc-site .st{display:inline-block;font:500 12px/1.2 var(--sans);font-style:normal;padding:4px 7px;border-radius:5px;white-space:normal;max-width:100%;background:var(--unk-bg);color:var(--unk-tx);vertical-align:middle;margin-left:6px}
/* Notes and callouts: one voice; amber only for cautions */
body.qc-site:not(.qc-home) :is(.note,.permit-scope,.permit-method,.notice){background:var(--wh);border:1px solid var(--ln);border-left:4px solid var(--t);border-radius:8px;padding:14px 18px;margin:24px 0;font:400 15px/1.55 var(--sans);color:var(--ink);max-width:none}
body.qc-site:not(.qc-home) .note.warn{border-left-color:var(--warn-mark);background:var(--warn-bg);border-color:var(--warn-ln)}
body.qc-site:not(.qc-home) .note.info{border-left-color:var(--info-mark)}
/* Cards: one card */
body.qc-site :is(.card,.permit-card,.tile){background:#fff;border:1px solid var(--ln);border-radius:10px;padding:16px 18px;box-shadow:none;transition:border-color .12s}
body.qc-site :is(.card,.permit-card,.tile):hover{border-color:var(--t);box-shadow:none}
body.qc-site .permit-card h3{font:600 17px/1.35 var(--sans);margin:4px 0 6px}
body.qc-site .permit-card p{font-size:15px;line-height:1.5;color:var(--bark)}
body.qc-site :is(.permit-meta,.permit-agency){font:400 13px/1.4 var(--sans);color:var(--fog);letter-spacing:0;text-transform:none}
body.qc-site .permit-intro>div{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 16px}
body.qc-site .permit-intro strong{font:600 17px/1.3 var(--sans);color:var(--ink)}
/* Chips (state lists, jumps) */
body.qc-site :is(.chips,.permit-jumps,.permit-state-list){display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 26px;padding:0;list-style:none;font-size:14px;line-height:1.3}
body.qc-site :is(.chips,.permit-jumps,.permit-state-list) a{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid var(--ln);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;white-space:nowrap}
body.qc-site :is(.chips,.permit-jumps,.permit-state-list) a:hover{border-color:var(--t);color:var(--t)}
body.qc-site :is(.chips,.permit-jumps,.permit-state-list) a[aria-current]{background:var(--t);border-color:var(--t);color:#fff}
/* Filters row on the finder */
body.permit-directory .permit-filters{background:#fff;border:1px solid var(--ln);border-radius:10px;padding:14px 16px;margin:14px 0 20px}
body.permit-directory .permit-filters label{font:600 13.5px/1.4 var(--sans);color:var(--bark)}
/* Links in body copy */
body.qc-site:not(.qc-home) :is(.wrap,main) p a,body.qc-site:not(.qc-home) :is(.wrap,main) li a,body.qc-site:not(.qc-home) :is(.wrap,main) td a{color:var(--t);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--t) 40%,transparent);text-underline-offset:3px}
body.qc-site:not(.qc-home) :is(.wrap,main) :is(p,li,td) a:hover{text-decoration-color:var(--t)}
/* Breathing room between sections on long pages */
body.qc-site:not(.qc-home) :is(.wrap,main)>section{margin:0 0 20px}
@media(max-width:640px){
  body.qc-site:not(.qc-home) :is(.wrap,.main,main,.dev-sec,.permit-group,section)>h2,body.permit-directory h2{margin-top:40px;font-size:23px}
  body.qc-site :is(thead th){padding:10px 12px}body.qc-site tbody th,body.qc-site tbody td{padding:10px 12px}
  body.qc-site table.qf,body.qc-site table.qf tbody,body.qc-site table.qf tr,body.qc-site table.qf th,body.qc-site table.qf td{display:block;width:auto}
  body.qc-site table.qf thead{display:none}
  body.qc-site table.qf tr{border-bottom:1px solid var(--ln);padding:6px 0}
  body.qc-site table.qf th[scope=row]{border:0;padding:8px 12px 4px}body.qc-site table.qf td{border:0;padding:0 12px 8px}
}
body.qc-site :is(.wrap,main) :is(p,li,td) a:is(.btn,.flow-next,button),body.qc-site a.btn,body.qc-site .flow-next{color:#fff;text-decoration:none}body.qc-site a.btn.secondary{color:var(--ink)}
body.qc-site .permit-directory-link{margin:18px 0 22px}body.qc-home .permit-directory-link{background:var(--wh);border:1px solid var(--ln);border-left:4px solid var(--t);border-radius:8px;padding:14px 18px;font-size:15px}

/* Search bar: centered in the page, not edge to edge */
html body.qc-site header .qc-site-search,body.qc-site .qc-site-search{background:transparent;border:0;padding:6px 24px 14px}
body.qc-site .qc-site-search form{max-width:720px;margin:0 auto;gap:0;background:#fff;border:1px solid #879f8d;border-radius:999px;padding:4px 4px 4px 18px;align-items:center}
body.qc-site .qc-site-search form:focus-within{border-color:var(--t);box-shadow:0 0 0 3px rgba(19,108,87,.15)}
body.qc-site .qc-site-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.qc-site .qc-site-search input[type=search]{border:0;height:40px;padding:8px 10px 8px 0;background:transparent;font-size:16px;min-width:0}
body.qc-site .qc-site-search input[type=search]:focus-visible{outline:none}
body.qc-site .qc-site-search button{border-radius:999px;min-height:38px;padding:8px 18px}
@media(max-width:640px){body.qc-site .qc-site-search{padding:4px 12px 12px}body.qc-site .qc-site-search form{flex-wrap:nowrap;padding-left:14px}body.qc-site .qc-site-search label{flex-basis:auto}}

/* The All bar and its drawer, on every page (markup from build/chrome.py) */
html body.qc-site header>nav.all-bar .resource-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px 8px 10px;margin-right:6px;border:1px solid rgba(255,255,255,.35);border-radius:7px;background:transparent;color:#fff;font:600 15px/1 var(--sans);cursor:pointer;white-space:nowrap}
html body.qc-site header>nav.all-bar .resource-toggle:hover{background:#28664f;border-color:rgba(255,255,255,.7)}
html body.qc-site header>nav.all-bar .resource-toggle:focus-visible{outline:3px solid #fff;outline-offset:-3px}
#resource-drawer{width:min(88vw,380px);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 auto 0 0;padding:0;border:0;border-right:1px solid var(--ln);background:#fff;color:var(--ink);overflow-y:auto;font-family:var(--sans)}
#resource-drawer::backdrop{background:rgba(15,31,23,.5)}
#resource-drawer .drawer-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px;background:var(--t);color:#fff}
#resource-drawer .drawer-top h2{font:700 20px/1.2 var(--display);margin:0;color:#fff;background:none;border:0;padding:0}
#resource-drawer .drawer-top h2::before{display:none}
#resource-drawer .drawer-top button{font:600 14px/1 var(--sans);background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:7px;padding:9px 12px;cursor:pointer}
#resource-drawer .drawer-top button:hover{background:rgba(255,255,255,.12)}
#resource-drawer .resource-group{padding:14px 0;border-top:1px solid var(--ln)}
#resource-drawer .resource-group:first-child{border-top:0}
#resource-drawer .resource-group h3{font:600 14px/1.4 var(--sans);color:var(--ink);margin:0 18px 6px}
#resource-drawer .resource-group a{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font:400 15px/1.4 var(--sans);color:var(--bark);text-decoration:none}
#resource-drawer .resource-group a:hover{background:var(--t-tint);color:var(--t)}
#resource-drawer .resource-group a span{font-size:20px;line-height:1;color:var(--fog)}
body.drawer-open{overflow:hidden}
@media print{#resource-drawer,.resource-toggle{display:none!important}}

/* Data tables on phones: one card per row (headers copied to data-label by the chrome script) */
@media(max-width:640px){
  html body.qc-site table.cardable{display:block;min-width:0;width:100%;border:0;font-size:15px}
  html body.qc-site table.cardable thead{display:none}
  html body.qc-site table.cardable tbody{display:block}
  html body.qc-site table.cardable tbody tr{display:block;background:#fff;border:1px solid var(--ln);border-radius:10px;padding:12px 14px 6px;margin:0 0 10px}
  html body.qc-site table.cardable tbody tr:hover :is(td,th){background:transparent}
  html body.qc-site table.cardable tbody :is(td,th){display:grid;grid-template-columns:104px minmax(0,1fr);gap:2px 12px;align-items:start;padding:6px 0;border:0;text-align:left;min-height:0}
  html body.qc-site table.cardable tbody :is(td,th)::before{content:attr(data-label);grid-column:1;font:500 12px/1.4 var(--sans);color:var(--fog);padding-top:2px}
  html body.qc-site table.cardable tbody :is(td,th)>*{grid-column:2}
  html body.qc-site table.cardable tbody :is(td,th):first-child>*{grid-column:auto}
  html body.qc-site table.cardable tbody :is(td,th):first-child{display:block;padding:0 0 8px;margin:0 0 4px;border-bottom:1px solid var(--ln2,#E6EBE3);font-weight:600}
  html body.qc-site table.cardable tbody :is(td,th):first-child::before{display:none}
  html body.qc-site table.cardable tbody td.num{text-align:left;font-variant-numeric:tabular-nums}
  html body.qc-site table.cardable tbody td:empty{display:none}
  html body.qc-site .tw:has(table.cardable){border:0;background:transparent;overflow:visible}
  html body.qc-site .swipe{display:none!important}
}

html body.qc-site main#qc-main{display:block}

/* One footer everywhere (pages without guides.css had an unstyled one) */
html body.qc-site footer.f3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;border-top:1px solid var(--ln);margin-top:48px;padding:22px 0 16px;font:400 14px/1.5 var(--sans);color:var(--fog)}
html body.qc-site footer.f3 .fcol{display:block}
html body.qc-site footer.f3 .fcol :is(h4,.fh){display:block;font:600 12px/16px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--fog);margin:0 0 6px}
html body.qc-site footer.f3 a{color:var(--fog);display:block;padding:3px 0;line-height:18px;text-decoration:none}
html body.qc-site footer.f3 a:hover{color:var(--t);text-decoration:underline}
html body.qc-site footer.f3 .links{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
html body.qc-site footer.f3 .links .fh{grid-column:1/-1}
@media(max-width:700px){html body.qc-site footer.f3{grid-template-columns:1fr;gap:16px}}
@media print{html body.qc-site footer.f3{display:none}}

/* ---------- motion (Oct 24): scroll reveal, drawer slide, hover lift; all off under prefers-reduced-motion ---------- */
html body.qc-site .rv{opacity:0;transform:translateY(10px);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1)}
html body.qc-site .rv.rv-in{opacity:1;transform:none}
html body.qc-site .card,html body.qc-site .permit-card,html body.qc-site .tile,html body.qc-site .o-tile{transition:transform .22s ease,box-shadow .22s ease,opacity .55s cubic-bezier(.2,.7,.2,1)}
html body.qc-site a.card:hover,html body.qc-site a.tile:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(27,36,32,.10)}
html body.qc-site .btn,html body.qc-site button.btn,html body.qc-site .all-bar a{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease}
html body.qc-site .btn:active{transform:translateY(1px)}
html body.qc-site #resource-drawer[open]{animation:qc-slide .28s cubic-bezier(.2,.7,.2,1)}
html body.qc-site #resource-drawer[open]::backdrop{animation:qc-fade .28s ease}
@keyframes qc-slide{from{transform:translateX(-24px);opacity:.4}to{transform:none;opacity:1}}
@keyframes qc-fade{from{opacity:0}to{opacity:1}}
html body.qc-site details.sec-dd[open] > *:not(summary){animation:qc-fade .25s ease}
html body.qc-site .qc-site-search input:focus{box-shadow:0 0 0 4px rgba(20,86,65,.14)}
@media (prefers-reduced-motion: reduce){html body.qc-site .rv{opacity:1;transform:none;transition:none}html body.qc-site *{animation:none!important;transition:none!important}}
html body.qc-site header .brand .amp{color:#C9821A;font-weight:700;margin:0 1px}

/* ---------- review 2 (Oct 24): one page frame, home H2s, phone nav fade, controls, display numbers ---------- */
html body.qc-site.qc-home :is(.wrap,.main,main,section)>h2,html body.qc-site.qc-home h2.sec-h,html body.qc-site.qc-home .why h2{position:relative;background:none;border:0;border-radius:0;padding:14px 0 0;margin:44px 0 14px;font:700 clamp(23px,2.2vw,29px)/1.2 var(--display);letter-spacing:-.015em;color:var(--ink)}
html body.qc-site.qc-home :is(.wrap,.main,main,section)>h2::before,html body.qc-site.qc-home h2.sec-h::before,html body.qc-site.qc-home .why h2::before{content:"";position:absolute;left:0;top:0;width:36px;height:3px;border-radius:2px;background:var(--t)}
html body.qc-site.permit-directory,html body.qc-site.qc-search-page{background:#fff;font-family:var(--sans);font-size:17px;color:var(--ink)}
html body.qc-site.permit-directory main,html body.qc-site.qc-search-page main{max-width:1248px;margin:0 auto;padding:0 16px}
html body.qc-site.permit-directory a,html body.qc-site.qc-search-page a,html body.qc-site .search-result a{color:var(--t)}
html body.qc-site footer.f3{padding-left:16px;padding-right:16px;max-width:1248px;margin-left:auto;margin-right:auto;box-sizing:border-box}
html body.qc-site .permit-eyebrow{font:400 14px/22px var(--sans);color:var(--fog);text-transform:none;letter-spacing:0;margin:8px 0 2px}
@media(max-width:700px){html body.qc-site header>nav{-webkit-mask-image:linear-gradient(90deg,#000 84%,transparent);mask-image:linear-gradient(90deg,#000 84%,transparent)}}
html body.qc-site select{appearance:none;-webkit-appearance:none;min-height:44px;padding:8px 36px 8px 12px;border:1px solid var(--ln);border-radius:7px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23161F1B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") right 12px center no-repeat;font:inherit;font-size:15px;color:var(--ink)}
html body.qc-site select:focus-visible{outline:3px solid var(--t);outline-offset:1px}
html body.qc-site .stats .tile b,html body.qc-site .o-v{font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
html body.qc-site .seg{display:inline-flex;gap:6px}html body.qc-site .seg>*{font:600 13.5px/1 var(--sans);padding:10px 16px;border:1px solid var(--ln);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;min-height:40px}html body.qc-site .seg>.on,html body.qc-site .seg>[aria-pressed=true]{background:var(--t);color:#fff;border-color:var(--t)}
html body.qc-site table.cardable td:nth-child(4) small{display:block;text-align:left}
html body.qc-site details.pg>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px}html body.qc-site details.pg>summary::-webkit-details-marker{display:none}
html body.qc-site details.pg>summary h2{margin:0;flex:1}html body.qc-site details.pg>summary::after{content:"Show";font:600 13px/1 var(--sans);color:var(--t);padding:8px 12px;border:1px solid var(--ln);border-radius:999px}
html body.qc-site details.pg[open]>summary::after{content:"Hide"}
@media(max-width:700px){html body.qc-site header>nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-block:4px}html body.qc-site header>nav::-webkit-scrollbar{display:none}html body.qc-site header>nav a{white-space:nowrap;flex:none}}
html body.qc-site{margin:0}
body.embed .wip{display:none!important}
