/* PBC Inspections, round 4 design. Spacing scale: 4 8 12 16 24 32 48 64 */
:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
--ink:#16252d;--ink2:#45555d;--muted:#5b6b73;--line:#e3e9ec;--bg:#f6f8f9;--teal:#0b6e8a;--teal-d:#0b3d4f;--warm:#b4470c;--warm-d:#8f3807;--prose:780px}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}
h1,h2,h3{line-height:1.25;color:var(--ink);letter-spacing:-.01em}
h1{font-size:2rem;font-weight:700;margin:0 0 var(--s4);max-width:var(--prose)}
h2{font-size:1.4rem;font-weight:700;margin:0 0 var(--s4);padding-bottom:var(--s2);position:relative}
h2::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;background:var(--teal);border-radius:2px}
h3{font-size:1.08rem;font-weight:600;margin:0}
p{margin:0 0 var(--s4)}
a{color:var(--teal);text-underline-offset:2px}
a:hover{color:var(--teal-d)}
:focus-visible{outline:3px solid #f2b705;outline-offset:2px;border-radius:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 var(--s4)}
.prose,.intro,.lead{max-width:var(--prose)}
.lead{font-size:1.08rem;color:var(--ink2)}
.small{font-size:.82rem}.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* header/footer */
header{background:var(--teal-d);color:#fff}
header .wrap{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center;justify-content:space-between;padding:var(--s3) var(--s4);min-height:56px}
.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:700;text-decoration:none;font-size:1.1rem}
.brand .logo{flex:none;border-radius:6px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
header nav a{color:#d6eef5;margin-left:var(--s4);text-decoration:none;font-weight:500}
header nav a:hover{color:#fff;text-decoration:underline}
footer{background:#e9eef0;font-size:.85rem;color:var(--ink2);padding:var(--s5) 0;margin-top:var(--s7)}
footer p{max-width:var(--prose)}
main{padding:var(--s5) var(--s4) var(--s6)}
main>section,main>.listing,main>article>h2,.prose h2{margin-top:var(--s7)}
main>section:first-child,.hero{margin-top:0}
.crumbs{font-size:.85rem;margin-bottom:var(--s3);color:var(--ink2)}
.crumbs a{color:var(--teal);margin:0;text-decoration:none}.crumbs a:hover{text-decoration:underline}
/* links: lists/nav/cards/tables no underline by default; prose keeps underline */
.list a,.chips a,.card a,table a,.cols a{text-decoration:none}
.list a:hover,.card a:hover,table a:hover,.cols a:hover{text-decoration:underline}
.list{padding-left:1.1em}.list li{margin:var(--s2) 0}.cols{columns:2 220px}
/* hero */
.hero{padding:var(--s5) 0 var(--s2)}
.hero h1{font-size:2.25rem}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s5) 0 var(--s4)}
.chip{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid #c9d6dc;border-radius:999px;background:#fff;color:var(--teal-d);font-weight:500;font-size:.92rem}
.chip:hover{border-color:var(--teal);background:#eef7fa}
.chip-alt{background:var(--teal);border-color:var(--teal);color:#fff}.chip-alt:hover{background:var(--teal-d);color:#fff}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s1) 0;padding:0;margin:0;color:var(--ink2);font-size:.88rem;font-weight:500}
.trust li+li::before{content:"\00b7";margin:0 10px;color:#9aabb3}
/* stat tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);margin:0 0 var(--s3)}
.tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:var(--s4) var(--s4) var(--s3)}
.t-lbl{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}
.t-med{font-size:30px;font-weight:700;line-height:1.2;margin:var(--s1) 0;color:var(--teal);font-variant-numeric:tabular-nums}
.t-sub{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
/* tables */
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:#fff;font-size:.93rem;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:10px}
th,td{border:0;border-bottom:1px solid var(--line);padding:var(--s3);text-align:left;vertical-align:middle}
th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);background:#f8fafb;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#f3f8fa}
td.num{white-space:nowrap;font-weight:600}
.c-name a{font-weight:600}
th[data-sort] button{font:inherit;text-transform:inherit;letter-spacing:inherit;font-weight:600;background:none;border:0;padding:0;cursor:pointer;color:inherit;text-align:left}
th[data-sort] button::after{content:" \2195";color:#8aa}th[aria-sort=ascending] button::after{content:" \2191";color:var(--teal)}th[aria-sort=descending] button::after{content:" \2193";color:var(--teal)}
th[aria-sort] {color:var(--teal-d)}
sup.mk{font-size:.68rem;color:var(--muted);margin-left:1px;font-weight:500}
.legend{color:var(--ink2);margin:var(--s2) 0 var(--s4);max-width:var(--prose)}
/* tags/badges */
.tag,.badge{display:inline-block;font-size:.72rem;font-weight:600;padding:1px 8px;border-radius:999px;white-space:nowrap;line-height:1.6;border:1px solid rgba(0,0,0,.06);vertical-align:middle}
.tag{background:#eef2f4;color:#45555d;font-weight:500}
.tag-pbc{background:#e3f4e8;color:#1d6b35}.tag-bd{background:#e8eefa;color:#2c4a8a}
.b-verified{background:#dff3e4;color:#17602f}.b-not_verified{background:#f1f1f1;color:#555}.b-note{background:#fff1d6;color:#8a5a00}
/* filters */
.filters{background:#fff;border:1px solid var(--line);border-radius:10px;padding:var(--s2) var(--s3);margin:var(--s4) 0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center;font-size:.92rem}
.filters label{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-height:32px}.count{color:var(--muted);font-size:.85rem}
/* disclosure */
details.disc{margin:0 0 var(--s4);border-left:2px solid var(--line);padding-left:var(--s3)}
details.disc summary{cursor:pointer;color:var(--teal);font-weight:500;font-size:.92rem}
details.disc[open] summary{margin-bottom:var(--s2)}
/* cards */
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:var(--s4) var(--s5);margin:var(--s4) 0}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);align-items:start}.cards .card{margin:0}
.details-h{margin-top:var(--s7)}
.insp-head{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:baseline;justify-content:space-between}
.insp-head h3 a{color:var(--ink)}.insp-head h3 a:hover{color:var(--teal)}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0 var(--s4)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 var(--s4);border-radius:10px;font-weight:600;text-decoration:none!important;font-size:.98rem}
.btn-phone{border:1px solid #c9d6dc;color:var(--teal-d);background:#fff;font-variant-numeric:tabular-nums}
.btn-phone:hover{border-color:var(--teal);background:#eef7fa;color:var(--teal-d)}
.btn-book{background:var(--warm);color:#fff;border:1px solid var(--warm)}
.btn-book:hover{background:var(--warm-d);color:#fff}
.prices{border-top:1px solid var(--line)}
.prow{display:flex;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.pl{font-weight:500;color:var(--ink2);font-size:.92rem}
.pv{text-align:right;display:flex;flex-direction:column;align-items:flex-end;font-size:.9rem}
.amt{font-weight:700;font-size:1.05rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.capl{font-size:12px;color:var(--muted);line-height:1.4}
.meta{display:grid;grid-template-columns:auto 1fr;gap:2px var(--s3);margin:var(--s3) 0 var(--s2);font-size:.82rem;color:var(--ink2)}
.meta dt{font-weight:600}.meta dd{margin:0}
.src{font-size:.8rem;color:var(--muted);margin:0 0 var(--s1)}
.fix{font-size:.88rem}.insp .fix{margin:0}
.notice{background:#fff4e5;border-left:4px solid #e08a00;padding:10px 14px}
@media(max-width:860px){.tiles{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}}
@media(max-width:700px){
 h1,.hero h1{font-size:1.55rem}h2{font-size:1.2rem}
 main{padding-top:var(--s4)}
 header nav a{margin:0 var(--s4) 0 0}
 main>section,main>.listing{margin-top:var(--s6)}
 .tiles{gap:var(--s2)}.tile{padding:var(--s3)}.t-med{font-size:28px}
 /* phones: city pages show the card list only */
 .city-table,.city-table+.legend,.details-h{display:none}
 .tablewrap:has(.city-table){display:none}
 .card{padding:var(--s4)}
 table.stack thead{display:none}
 table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
 table.stack tr{border-bottom:1px solid var(--line);padding:var(--s2) var(--s3)}
 table.stack td{border:0;padding:2px 0;display:grid;grid-template-columns:9em 1fr;gap:8px;white-space:normal}
 table.stack td::before{content:attr(data-label);font-weight:600;color:var(--ink2);font-size:.85rem}
 table.stack td:first-child{font-weight:700}table.stack td:first-child::before{content:none}
 table.stats,table.which{font-size:.85rem}
 table.stats th,table.stats td,table.which th,table.which td{padding:var(--s2)}
}
table.compare td{line-height:1.35;padding-top:12px;padding-bottom:12px}table.compare .tag{line-height:1.4}
/* round 5 */
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%}footer{margin-top:0}main{margin-bottom:var(--s7)}
.skip{position:absolute;left:8px;top:-60px;z-index:10;background:#fff;color:var(--teal-d);padding:8px 14px;border-radius:8px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.skip:focus{top:8px}
main:focus{outline:none}
.nw{white-space:nowrap}
.which-link{margin:0 0 var(--s4)}
.chips{margin-bottom:var(--s3)}
.capi{display:inline-block;margin-left:6px;font-size:11px;font-weight:500;color:var(--muted)}
.rng{display:flex;flex-direction:column}.rng .nw{font-weight:600}.rsub{font-size:12px;color:var(--muted)}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s3)}
.ccard,.gitem{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:var(--s4);text-decoration:none;color:var(--ink)}
.ccard:hover,.gitem:hover{border-color:var(--teal);box-shadow:0 2px 10px rgba(11,110,138,.08)}
.c-n,.g-t{font-weight:700;color:var(--teal-d);font-size:1.02rem}.c-k{font-size:.85rem;color:var(--ink2);margin-bottom:6px}
.c-s{font-size:.82rem;color:var(--muted)}.c-s b{color:var(--teal);font-variant-numeric:tabular-nums}
.glist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s3)}
.g-d{font-size:.9rem;color:var(--ink2)}.g-c{font-size:.75rem;color:var(--muted);margin-top:4px}
details.more summary{cursor:pointer;color:var(--teal);font-size:.85rem;font-weight:500;padding:var(--s2) 0}
@media(min-width:701px){details.more>summary{display:none}details.more::details-content{content-visibility:visible;display:block}}
@media(max-width:700px){.trust{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.trust li::before,.trust li+li::before{margin:0;content:"\2713\00a0";color:var(--teal)}}
.which-link a{text-decoration:none}
.soon{margin-top:var(--s4)}
/* quote request */
.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3) var(--s5);background:#eef7fa;border:1px solid #cfe6ee;border-radius:12px;padding:var(--s4) var(--s5);margin:var(--s5) 0;max-width:var(--prose)}
.cta div{flex:1 1 280px}.cta strong{display:block;color:var(--teal-d)}.cta span{color:var(--ink2);font-size:.93rem}
.qform{max-width:var(--prose);padding:var(--s5)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.field{display:flex;flex-direction:column;gap:6px;margin:0 0 var(--s4)}.fgrid .field{margin:0}
fieldset.field{border:0;padding:0;margin-top:var(--s4)}fieldset legend{font-weight:600;font-size:.92rem;margin-bottom:6px;padding:0}
.field>label{font-weight:600;font-size:.92rem}.opt,.hint{font-weight:400;color:var(--muted);font-size:.82rem}
.qform input[type=text],.qform input[type=tel],.qform input[type=email],.qform select,.qform textarea{font:inherit;font-size:1rem;width:100%;min-height:44px;padding:10px 12px;border:1px solid #b8c7ce;border-radius:8px;background:#fff;color:var(--ink)}
.qform input:focus,.qform select:focus,.qform textarea:focus{border-color:var(--teal);outline:3px solid #f2b705;outline-offset:1px}
.chk{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin-right:var(--s5);font-size:.98rem}.chk input{width:18px;height:18px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{color:var(--ink2);margin:var(--s3) 0 var(--s4)}
.qform button{cursor:pointer;font:inherit;font-weight:600}
@media(max-width:700px){.fgrid{grid-template-columns:1fr}.qform{padding:var(--s4)}.cta{padding:var(--s4)}}
fieldset.field{display:block}
