@font-face{font-family:"Gabarito";src:url(/static/fonts/gabarito.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Inter";src:url(/static/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--ink:#1E1B18;--muted:#5E564C;--line:#E9DFCF;--bg:#FFF4E8;--card:#FFFFFF;--soft:#FBF3E6;--brand:#005035;--green:#005035;--green-dk:#00301F;--gold:#A49665;--gold-dk:#6F612F;--gold-lt:#C9BE94;--a:#005035;--b:#8A5A00;--c:#A3231F;--na:#6B645B;--hfont:"Gabarito","Inter",system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;font:16px/1.55 "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,.logo,.badge,.hero h1{font-family:var(--hfont)}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
header.top{background:var(--green);color:#fff;border-bottom:3px solid var(--gold)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:22px;letter-spacing:-.2px;line-height:1.15}.logo img{width:30px;height:auto;flex:none;display:block}.logo span{display:block}.logo:hover{text-decoration:none}
.logo small{display:block;font-family:"Inter",sans-serif;font-weight:600;font-size:11px;color:#E4DCC0;letter-spacing:1.4px;text-transform:uppercase;margin-top:3px}
.logo .wm{display:block;white-space:nowrap}.logo .wm em{font-style:normal;color:#D4C690}
.hero .eyebrow{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#D4C690}
nav a{color:#F3EEDC;margin-left:16px;font-size:15px;font-weight:500}nav a:hover{color:#fff}nav a:first-child{margin-left:0}
.hero{position:relative;color:#fff;background:var(--green-dk) url(/static/charlotte-skyline.jpg) center 30%/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,48,31,.86),rgba(0,64,42,.6) 55%,rgba(0,40,26,.92))}
.hero .wrap{position:relative;padding-top:56px;padding-bottom:40px}
.hero h1{margin:0 0 8px;font-size:clamp(32px,5.4vw,50px);font-weight:800;line-height:1.05;letter-spacing:-.6px}.hero h1:after{content:"";display:block;width:56px;height:3px;background:var(--gold);border-radius:2px;margin-top:12px}
.hero p.lead{margin:0 0 22px;color:#F4EFE2;font-size:clamp(15px,2.2vw,18px);max-width:640px}
.search{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;background:rgba(255,244,232,.12);border:1px solid rgba(201,190,148,.45);padding:10px;border-radius:14px;backdrop-filter:blur(3px)}
.search input,.search select,.search button{font:inherit;padding:11px 12px;border-radius:9px;border:1px solid #D9CCB4;background:#fff;color:var(--ink);min-width:0}
.search button{background:var(--gold);border-color:var(--gold);font-weight:700;cursor:pointer;color:var(--ink)}.search button:hover{background:var(--gold-lt)}
.search input:focus,.search select:focus,.zipform input:focus{outline:3px solid var(--gold);outline-offset:1px}
.hero .meta{margin-top:12px;font-size:13px;color:#E4DCC0}
.hero .meta a{color:#fff;text-decoration:underline}
main{padding:24px 0 40px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(30,27,24,.04),0 6px 20px rgba(30,27,24,.05)}
.notice{background:#F7EED8;border:1px solid var(--gold-lt);border-radius:10px;padding:10px 14px;font-size:14px;color:#4E4320;margin:0 0 16px}
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid var(--line)}
.list li:first-child{border-top:0}
.list .info{flex:1;min-width:0}
.list .name{font-weight:650;color:var(--ink)}
.list .sub{color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list .when{color:var(--muted);font-size:13px;text-align:right;white-space:nowrap}
.badge{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border-radius:10px;color:#fff;font-weight:800;font-size:24px;line-height:1;background:var(--na)}
.badge small{font-family:"Inter",sans-serif;font-size:11px;font-weight:600;margin-top:3px}
.badge.A{background:var(--a)}.badge.B{background:var(--b)}.badge.C{background:var(--c)}
.badge.A{box-shadow:inset 0 0 0 2px var(--gold)}
.badge.pts{background:#3E4C59;font-size:17px}.badge.dem{background:#4A4878;font-size:17px}.badge.none{background:var(--na);font-size:13px}
.badge.lg{width:88px;height:88px;font-size:42px;border-radius:14px}.badge.lg small{font-size:12px}
.badge.lg.pts,.badge.lg.dem{font-size:28px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;color:var(--muted);font-size:14px}
.chips a{display:inline-block;padding:5px 11px;border:1px solid #DDD0B8;border-radius:999px;background:#fff;margin:0 4px 6px 0;font-size:13px;font-weight:500;color:var(--ink)}
.chips a:hover{border-color:var(--gold);text-decoration:none}
.chips a.on{background:var(--green);color:#fff;border-color:var(--green)}
.pager{display:flex;gap:10px;justify-content:center;margin:16px 0}
.pager a,.pager span{padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.pager a{font-weight:600}
h1.title{margin:0 0 4px;font-size:clamp(26px,4vw,34px);font-weight:800;line-height:1.12;letter-spacing:-.3px}
.placehead{display:flex;gap:18px;align-items:center;padding:18px}
.placehead .sub{color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding:0 18px 18px}
.stat{background:var(--soft);border:1px solid #F0E6D4;border-radius:10px;padding:10px 12px}.stat b{display:block;font-size:18px}.stat span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
section{margin-top:22px}section h2{font-size:21px;font-weight:700;margin:0 0 10px;letter-spacing:-.2px}section h2:after{content:"";display:block;width:36px;height:3px;background:var(--gold);border-radius:2px;margin-top:6px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 10px;border-top:1px solid var(--line);vertical-align:top}
th{background:var(--soft);font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-top:0}
.tablewrap{overflow-x:auto}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;background:var(--na)}
.pill.A{background:var(--a)}.pill.B{background:var(--b)}.pill.C{background:var(--c)}
.flag{display:inline-block;font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;margin:2px 4px 0 0}
.flag.cdi{background:#E2EEE7;color:#00422C}.flag.rep{background:#FBE5E2;color:#8E1F1B}.flag.ver{background:#F6ECD3;color:#6A4600}
details.insp{border-top:1px solid var(--line);padding:12px 16px}
details.insp:first-of-type{border-top:0}
details.insp summary{cursor:pointer;display:flex;gap:10px;align-items:center;flex-wrap:wrap;list-style:none}
details.insp summary::-webkit-details-marker{display:none}
details.insp summary:before{content:"▸";color:var(--muted)}details.insp[open] summary:before{content:"▾"}
.v{padding:10px 0;border-top:1px dashed var(--line)}.v:first-child{border-top:0}
.v .vh{font-weight:600}.v .dem{color:var(--c);font-weight:700;white-space:nowrap}
.v .vc{color:var(--muted);font-size:14px;white-space:pre-line;margin-top:4px;max-height:12em;overflow:auto}
.muted{color:var(--muted)}.small{font-size:13px}
.comments{background:var(--soft);border-radius:8px;padding:8px 10px;font-size:14px;white-space:pre-line;margin:8px 0;color:#3A342E}
svg.chart{width:100%;height:auto;display:block}
svg .band.a{fill:#E5EFE9}svg .band.b{fill:#F7EEDA}svg .band.c{fill:#F9E6E3}
footer{background:var(--green-dk);color:#D8D0BD;font-size:13px;padding:26px 0 34px;border-top:3px solid var(--gold)}
footer a{color:#F3EEDC;text-decoration:underline}footer b{color:#fff}
footer p{margin:6px 0}
@media (max-width:720px){
 .search{grid-template-columns:1fr 1fr}.search input{grid-column:1/-1}.search button{grid-column:1/-1}
 .hero .wrap{padding-top:32px;padding-bottom:26px}
 nav a{margin-left:12px;font-size:14px}
 .list li{padding:10px 12px;gap:10px}.list .when{display:none}
 .badge{width:48px;height:48px;font-size:21px}
 .placehead{padding:14px}.badge.lg{width:72px;height:72px;font-size:34px}
 .hide-sm{display:none}
}
/* --- Near me / maps --- */
.pin{vertical-align:-3px;flex:none}
nav a.navnear{display:inline-flex;align-items:center;gap:4px;background:var(--gold);color:var(--ink);font-weight:700;padding:5px 12px;border-radius:999px}
nav a.navnear:hover{text-decoration:none;background:var(--gold-lt);color:var(--ink)}
.nearbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;background:var(--gold);color:var(--ink);border:0;border-radius:10px;padding:12px 18px;cursor:pointer;text-decoration:none}
.nearbtn:hover{text-decoration:none;background:var(--gold-lt)}
.nearbtn.big{font-size:17px;padding:13px 20px;margin:0 0 16px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.nearbtn.busy{opacity:.75;cursor:progress}
.near-hero .wrap{padding-top:36px;padding-bottom:28px}
.nearbar{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;background:rgba(255,244,232,.12);border:1px solid rgba(201,190,148,.45);padding:10px;border-radius:12px;max-width:760px}
.nearbar .nearbtn.big{margin:0}
.zipform{display:flex;gap:8px;min-width:0}
.zipform input,.zipform button{font:inherit;padding:11px 12px;border-radius:9px;border:1px solid #D9CCB4;background:#fff;color:var(--ink);min-width:0}
.zipform input{flex:1}.zipform button{font-weight:700;cursor:pointer}
.zipform input.pulse{outline:3px solid var(--gold)}
.filters{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0 0 12px}
.filters label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.filters select,.filters button{font:inherit;font-size:15px;text-transform:none;letter-spacing:0;padding:8px 10px;border-radius:8px;border:1px solid #D9CCB4;background:#fff;color:var(--ink);margin-top:2px}
.toolbar .err{color:var(--c);font-weight:600}
.rings a{cursor:pointer}
.mapwrap{margin:0 0 12px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#EEE6D8}
.map{height:min(52vh,440px);width:100%}
.small-map .map{height:240px}
.mk{width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4);color:#fff;font:700 11px/22px Inter,-apple-system,Segoe UI,Roboto,sans-serif;text-align:center}
.mk.you{width:16px;height:16px;background:#1a73e8}
.pop{font-size:14px;line-height:1.4}
.nearlist .sub2{font-size:14px;color:var(--muted);margin-top:2px}
.nearlist .dist{color:var(--ink)}
.maplinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;background:var(--brand);color:#fff;font-weight:650;font-size:14px}
.btn:hover{text-decoration:none;filter:brightness(1.08)}
.btn.ghost{background:#fff;color:var(--brand);border:1px solid #CFC2A6}
.btn.ghost:hover{border-color:var(--gold)}
@media (max-width:720px){
 .nearbar{grid-template-columns:1fr}.nearbar .nearbtn.big{width:100%}
 .nearbtn.big{width:100%}
 .filters label{flex:1 1 44%}
 .filters select{width:100%}
 .map{height:44vh}
 nav a.navnear{padding:4px 9px}
}
.nearlist li.more{justify-content:center}
.nearlist li.more .btn{font:inherit;cursor:pointer}
.small-map iframe.map{border:0;display:block}

/* --- permits at the same address --- */
.permitnote{margin:8px 0 0;font-size:13px;line-height:1.45;color:var(--muted);background:#F7EED8;border-left:3px solid var(--gold);border-radius:6px;padding:6px 10px}
.statsub{display:block;font-size:12px;font-weight:400;color:var(--muted)}
b .statsub{display:inline}
.permitsep{background:var(--soft);color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:6px 16px;border-top:1px solid var(--line)}
.permitsep:first-child{border-top:0;border-radius:12px 12px 0 0}
.permitsep a{text-transform:none;letter-spacing:0}
.relh{font-size:15px;margin:14px 0 6px}
.relp{margin:4px 0 8px}
details.relmore summary{cursor:pointer}
.list.rel li{padding:10px 14px}.list.rel .badge{width:44px;height:44px;font-size:19px}.list.rel .badge small{font-size:10px}
@media (max-width:720px){.list.rel .sub{white-space:normal}}

/* --- green & gold brand polish --- */
.list li:hover{background:#FFFCF7}
.list .name{font-weight:650}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
.toolbar a{font-weight:600}
nav a{white-space:nowrap}
@media (max-width:720px){.logo{font-size:19px;gap:9px}.logo img{width:28px}.logo small{font-size:10.5px;letter-spacing:1.2px}.hero .eyebrow{font-size:12px;letter-spacing:1px}nav a{margin-left:11px;font-size:14px}nav{display:flex;align-items:center;flex-wrap:wrap;row-gap:6px}}
@media (max-width:400px){nav a{margin-left:9px;font-size:13.5px}nav a.navnear{padding:4px 9px}}

/* --- menu button + left drawer --- */
.menubtn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin:-4px 4px -4px -8px;border:0;border-radius:10px;background:transparent;color:#fff;cursor:pointer}
.menubtn:hover{background:rgba(255,255,255,.1)}
header.top .wrap{flex-wrap:nowrap}
header.top .logo{margin-right:auto}
.backdrop{position:fixed;inset:0;z-index:60;background:rgba(10,18,14,.55);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.drawer{position:fixed;top:0;left:0;bottom:0;z-index:61;width:min(86vw,340px);background:var(--green-dk);color:#fff;transform:translateX(-102%);transition:transform .34s cubic-bezier(.2,.8,.2,1);overflow-y:auto;box-shadow:8px 0 40px rgba(0,0,0,.35);border-right:3px solid var(--gold);visibility:hidden}
body.drawer-open .drawer{transform:none;visibility:visible}
body.drawer-open .backdrop{opacity:1;visibility:visible}
body.drawer-open{overflow:hidden}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 14px 14px 18px;border-bottom:1px solid rgba(201,190,148,.25)}
.drawer-x{width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.drawer-nav{display:flex;flex-direction:column;padding:12px 12px 28px}
.drawer-nav a{display:flex;align-items:center;gap:8px;color:#F3EEDC;font-weight:600;font-size:17px;padding:11px 12px;border-radius:10px}
.drawer-nav a:hover{background:rgba(255,255,255,.07);text-decoration:none;color:#fff}
.drawer-nav a.dn-near{background:var(--gold);color:var(--ink);margin-bottom:6px}
.drawer-nav a.dn-cat{font-weight:500;font-size:15px;padding:8px 12px;color:#E4DCC0}
.drawer-h{margin:16px 12px 4px;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#D4C690}
@media (max-width:899px){header.top nav a:not(.navnear){display:none}header.top nav a.navnear{margin-left:8px}}

/* --- landing: full-viewport night skyline hero --- */
body.landing header.top{position:absolute;top:0;left:0;right:0;z-index:5;background:linear-gradient(180deg,rgba(0,32,20,.75),rgba(0,32,20,0));border-bottom:0}
.hero.hero-full{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;background:#00301F url(/static/hero/clt-night-900.webp) center top/cover no-repeat}
@media (min-width:720px){.hero.hero-full{background-image:url(/static/hero/clt-night-1920.webp);background-position:center 35%;align-items:center}}
.hero.hero-full:before{background:linear-gradient(180deg,rgba(0,40,26,.35) 0%,rgba(0,40,26,.05) 22%,rgba(0,48,31,.55) 38%,rgba(0,44,28,.86) 52%,rgba(0,40,26,.95) 75%,#00301F 100%)}
@media (min-width:720px){.hero.hero-full:before{background:linear-gradient(90deg,rgba(0,40,26,.92) 0%,rgba(0,48,31,.72) 42%,rgba(0,48,31,.15) 75%,rgba(0,40,26,.05) 100%),linear-gradient(0deg,rgba(0,40,26,.7),rgba(0,40,26,0) 30%)}}
.hero.hero-full .wrap{width:100%;padding-top:110px;padding-bottom:64px}
.hero.hero-full h1{font-size:clamp(40px,8vw,72px)}
.hero.hero-full .search{max-width:860px}
.scrollcue{position:absolute;left:50%;bottom:16px;width:26px;height:40px;margin-left:-13px;border:2px solid rgba(243,238,220,.7);border-radius:14px}
.scrollcue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#D4C690;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* --- landing sections --- */
body.landing main{padding-top:0}
.lx{margin:0;padding:44px 0 8px}
.lx h2{font-size:clamp(24px,3.6vw,32px);font-weight:800;letter-spacing:-.4px;margin:0;line-height:1.1}
.lx h2:after{display:none}
.kicker{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-dk)}
.lx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}
.lx-head .more{flex:none;font-weight:700;font-size:14px;white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-28px;position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(30,27,24,.08)}
.stat-x b{display:block;font-family:var(--hfont);font-size:clamp(26px,3.6vw,36px);font-weight:800;color:var(--green);line-height:1.05;font-variant-numeric:tabular-nums}
.stat-x span{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.stat-x{border-left:3px solid var(--gold);padding-left:12px}
.stat-note{grid-column:1/-1;margin:4px 0 0;font-size:12px;color:var(--muted)}
.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px;margin:0 -2px;scrollbar-width:thin}
.pcard{flex:0 0 min(78%,260px);scroll-snap-align:start;display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:16px;color:#fff;background:linear-gradient(150deg,#00603F,#00301F 75%);border:1px solid rgba(164,150,101,.6);box-shadow:0 8px 22px rgba(0,48,31,.18);min-height:180px}
.pcard:hover{text-decoration:none;transform:translateY(-2px);transition:transform .2s}
.pc-score{align-self:flex-start;font-family:var(--hfont);font-size:40px;font-weight:800;line-height:1;color:var(--ink);background:#D4C690;border-radius:12px;padding:8px 12px;margin-bottom:auto}
.pc-name{font-family:var(--hfont);font-size:20px;font-weight:700;line-height:1.15;margin-top:16px}
.pc-sub{font-size:14px;color:#E4DCC0}.pc-date{font-size:12px;color:#C9D6CF}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.rcard{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink);box-shadow:0 1px 2px rgba(30,27,24,.04)}
.rcard:hover{text-decoration:none;border-color:var(--gold)}
.rc-info{min-width:0;display:flex;flex-direction:column}
.rc-name{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-sub{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tile{display:flex;flex-direction:column;gap:4px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink);min-height:126px}
.tile svg{color:var(--green);margin-bottom:auto}
.tile:hover{text-decoration:none;border-color:var(--gold);background:#FFFCF7}
.t-label{font-weight:650;line-height:1.25;margin-top:10px}.t-n{font-size:13px;color:var(--muted)}
.gcards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.gcard{display:flex;align-items:center;gap:14px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px}
.gcard p{margin:0;display:flex;flex-direction:column}.gcard p b{font-family:var(--hfont);font-size:22px}.gcard p span{font-size:13px;color:var(--muted)}
.ig{display:flex;align-items:center;gap:18px;margin:44px 0 8px;padding:24px;border-radius:18px;background:linear-gradient(135deg,var(--green),var(--green-dk));color:#fff;border:1px solid rgba(164,150,101,.6)}
.ig img{border-radius:16px;flex:none}
.ig .kicker{color:#D4C690}.ig h2{color:#fff}.ig>div{flex:1}
.igbtn{flex:none;background:var(--gold);color:var(--ink);font-weight:700;padding:12px 18px;border-radius:10px}
.igbtn:hover{text-decoration:none;background:var(--gold-lt)}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .stats.reveal{transform:translateY(12px)}.js .stats.reveal.in{transform:none}
@media (max-width:719px){
 .hero.hero-full .wrap{padding-top:96px;padding-bottom:58px}
 .stats{grid-template-columns:1fr 1fr;padding:18px;gap:16px 12px;margin-top:-20px}
 .cards{grid-template-columns:1fr}
 .tiles{grid-template-columns:1fr 1fr}
 .gcards{grid-template-columns:1fr}
 .gcard .badge.lg{width:60px;height:60px;font-size:30px}
 .ig{flex-direction:column;align-items:flex-start;text-align:left}
 .igbtn{width:100%;text-align:center}
 .lx{padding-top:36px}
}
@media (prefers-reduced-motion:reduce){
 .js .reveal{opacity:1;transform:none;transition:none}
 .drawer,.backdrop{transition:none}
 .scrollcue span{animation:none}
 .pcard:hover{transform:none}
}
.drawer-nav{align-items:stretch}
.drawer-nav a{margin-left:0;white-space:normal;justify-content:flex-start;text-align:left}
.drawer-nav a.dn-near{justify-content:center}
@media (max-width:719px){
 .gcards{grid-template-columns:repeat(3,1fr);gap:8px}
 .gcard{flex-direction:column;align-items:flex-start;gap:10px;padding:12px}
 .gcard .badge.lg{width:52px;height:52px;font-size:28px;border-radius:12px}
 .gcard p b{font-size:19px}
 .tile{min-height:112px;padding:14px}
}
@media (min-width:720px){
 .pcard{flex:0 0 calc(25% - 11px);min-width:220px}
 .hero.hero-full .wrap>*{max-width:600px;margin-left:auto}
 .hero.hero-full .wrap>.scrollcue{margin-left:-13px}
 .hero.hero-full:before{background:linear-gradient(270deg,rgba(0,40,26,.94) 0%,rgba(0,48,31,.78) 38%,rgba(0,48,31,.18) 66%,rgba(0,40,26,.08) 100%),linear-gradient(0deg,rgba(0,40,26,.75),rgba(0,40,26,0) 30%)}
 .hero.hero-full .search{grid-template-columns:1fr 1fr auto}
 .hero.hero-full .search input{grid-column:1/-1}
 .hero.hero-full .nearbtn.big{margin-bottom:14px}
}
@media (min-width:720px){
 .hero.hero-full .wrap>*{max-width:620px}
 .hero.hero-full .nearbtn.big{display:flex;width:fit-content;margin-right:0}
 .hero.hero-full h1{font-size:clamp(40px,4.6vw,60px);white-space:nowrap}
 .hero.hero-full .wrap>.nearbtn.big{margin-left:calc(100% - 620px)}
}
@media (min-width:720px) and (max-width:1000px){.hero.hero-full .wrap>*{max-width:100%;margin-left:0}.hero.hero-full .wrap>.nearbtn.big{margin-left:0}.hero.hero-full h1{white-space:normal}}

/* ===== Option B: app-style home (bare "/" only) ===== */
body.landing-b header.top{position:sticky;top:0;z-index:20;border-bottom:0;box-shadow:0 2px 12px rgba(0,30,20,.18)}
body.landing-b header.top .wrap:first-child{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding-top:10px;padding-bottom:8px}
body.landing-b header.top .logo{margin:0 auto;justify-self:center}
body.landing-b header.top nav a:not(.navnear){display:none}
body.landing-b header.top nav{justify-self:end}
body.landing-b header.top nav a.navnear{margin:0;width:40px;height:40px;padding:0;justify-content:center;font-size:0;gap:0;border-radius:50%}
body.landing-b header.top nav a.navnear svg{width:20px;height:20px}
.hsearch{padding-bottom:14px}
.hsearch form{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:0 14px;height:52px;box-shadow:0 2px 8px rgba(0,0,0,.12);border:2px solid transparent}
.hsearch form:focus-within{border-color:var(--gold)}
.hsearch svg{color:var(--ink);flex:none}
.hsearch input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:17px;color:var(--ink);background:transparent;height:100%}
.hsearch input::placeholder{color:#7A7166}
body.landing-b main{padding-top:0}
.bx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 6px;padding:18px 0 6px}
.bt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px;border-radius:12px;color:var(--ink);font-size:13px;font-weight:500;text-align:center;line-height:1.2}
.bt:hover{background:#fff;text-decoration:none}
.duo{fill:none;stroke:var(--green);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.duo .f{fill:#E3D6A8;stroke:none}
.bx{padding:22px 0 4px}
.bx-head{margin:0 0 12px}
.bx-head.row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.bx h2{font-size:21px;font-weight:700;margin:0;letter-spacing:-.2px}
.bx h2.big{font-size:28px;font-weight:800;letter-spacing:-.4px}
.bx h2:after{display:none}
.bx-sub{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.bx-head .more{font-weight:700;font-size:14px}
.railwrap{position:relative;margin:0 -16px}
.brail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:2px 16px 8px;scrollbar-width:none}
.brail::-webkit-scrollbar{display:none}
.bcard{flex:0 0 72%;max-width:280px;scroll-snap-align:start;display:flex;flex-direction:column;color:var(--ink)}
.bcard:hover{text-decoration:none}.bcard:hover .bc-name{text-decoration:underline}
.bart{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;aspect-ratio:16/10;border-radius:12px;overflow:hidden;
 background:radial-gradient(120% 90% at 85% 10%,rgba(212,198,144,.35),rgba(212,198,144,0) 55%),repeating-linear-gradient(135deg,rgba(164,150,101,.16) 0 2px,transparent 2px 14px),linear-gradient(150deg,#00603F,#00301F)}
.bart:after{content:"";position:absolute;right:-18px;bottom:-26px;width:110px;height:150px;background:url(/static/brand/shield.svg) center/contain no-repeat;opacity:.14}
.bart-score{font-family:var(--hfont);font-weight:800;font-size:54px;line-height:1;color:var(--ink);background:#D4C690;border-radius:14px;padding:8px 14px;box-shadow:0 6px 16px rgba(0,0,0,.25);position:relative;z-index:1}
.bart-g{font-family:var(--hfont);font-weight:800;font-size:30px;color:#fff;width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:2px solid #D4C690;position:relative;z-index:1}
.bc-name{font-weight:650;font-size:16px;margin-top:8px;line-height:1.25}
.bc-sub{font-size:13px;color:var(--muted)}
.rarrow{position:absolute;top:calc((min(72vw,280px) * .625) / 2 - 18px);z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.95);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.rarrow.prev{left:24px}.rarrow.next{right:24px}
.rarrow[disabled]{opacity:0;pointer-events:none}
.bx-cta{padding:18px 0 4px}
.pillcta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:54px;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:700;font-size:17px;box-shadow:0 4px 14px rgba(111,97,47,.28)}
.pillcta:hover{text-decoration:none;background:var(--gold-lt)}
.blist{list-style:none;margin:0 -16px;padding:0;border-top:1px solid var(--line)}
.blist li{border-bottom:1px solid var(--line);background:#fff}
.blist a{display:flex;align-items:center;gap:14px;padding:14px 16px;color:var(--ink)}
.blist a:hover{text-decoration:none;background:#FFFCF7}
.blist .badge{width:64px;height:64px;font-size:28px;border-radius:12px}
.bl-info{display:flex;flex-direction:column;min-width:0;gap:2px}
.bl-name{font-family:var(--hfont);font-weight:700;font-size:18px;line-height:1.2}
.bl-score{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}
.bl-sub{font-size:13px;color:var(--muted)}
.bx-stats{margin:22px 0 4px;font-size:13px;color:var(--muted);text-align:center}
.bx-grades{text-align:center;margin:0 0 8px}
@media (min-width:720px){
 body.landing-b main .wrap,body.landing-b .hsearch{max-width:760px}
 .bx-grid{grid-template-columns:repeat(8,1fr)}
 .bcard{flex-basis:260px}
 .railwrap{margin:0}.brail{padding-left:0;padding-right:0;scroll-padding:0}
 .rarrow{top:63px}.rarrow.prev{left:-14px}.rarrow.next{right:-14px}
 .blist{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
 .blist li:last-child{border-bottom:0}
 .pillcta{max-width:420px;margin:0 auto}
}
body.landing-b main{margin-top:0}
body.landing-b .bx-grid{margin:0;padding-top:14px}
body.landing-b section.bx{margin:0}
@media (min-width:720px){
 body.landing-b header.top .wrap{max-width:760px}
 body.landing-b .hsearch form{width:100%}
}
.sc-sub{margin:-6px 0 12px}
.sc-stat{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:12px 14px;margin:0 0 14px;font-size:14px;line-height:1.4}
.sc-stat svg{flex:none;margin-top:1px}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.badge.permit{background:#fff;color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}.badge.permit svg{width:24px;height:24px}.badge.permit small{font-size:9.5px;letter-spacing:-.15px;color:var(--green)}
.badge.permit.lapsed{color:#5E564C;box-shadow:inset 0 0 0 2px #B9AE9C}.badge.permit.lapsed small{color:#5E564C}.badge.lg.permit svg{width:38px;height:38px}.badge.lg.permit small{font-size:12px}
.vrow{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:5px}
.vpill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border-radius:999px;font-size:13px;font-weight:650;line-height:1.3;border:1px solid}
.vpill i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;font-style:normal;font-size:11px;font-weight:800;color:#fff}
.vpill.warn{background:#FCEFD2;color:#5C3D00;border-color:#E2BE6A}.vpill.warn i{background:#8A5A00}
.vpill.rep{background:#FBE5E2;color:#7E1B17;border-color:#E9A8A1}.vpill.rep i{background:#A3231F}
.vpill.ok{background:#E2EEE7;color:#00422C;border-color:#A9CDB9}.vpill.ok i{background:#005035}
.vpill.na{background:#F1ECE4;color:#5E564C;border-color:#DDD3C4;padding-left:10px}
.vtag{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:#F1ECE4;color:#4A443C;border:1px solid #DDD3C4}.vtag.lapsed{background:#fff;border-style:dashed}
.tatsum .card{padding:14px 16px}.tatsum-top .vpill{font-size:15px;padding:5px 12px 5px 5px}.tatsum-top .vpill i{width:20px;height:20px;font-size:12px}.tatsum-top .vrow{margin-top:0}
.tatnote{margin:10px 0 0;font-size:14px;background:var(--soft);border-radius:8px;padding:8px 10px}.tatnote.warnnote{background:#FCEFD2;color:#4A3200}
.tatlist{margin-top:8px}.tatfoot{margin:10px 0 0;border-top:1px solid var(--line);padding-top:8px}
.tatsum-top .vtag{display:none}

/* no-letter-grade 100-point badges: colored by score band like grades, but no gold ring and still shown as 'N / 100' */
.badge.pts.s90{background:var(--a)}.badge.pts.s80{background:var(--b)}.badge.pts.s70{background:var(--c)}.badge.pts.slow{background:#6E1512}
.vtag.stype{padding:1px 8px;font-size:11.5px;margin-right:6px;vertical-align:1px;background:#EEF0F3;color:#33404D;border-color:#C9D0D8}
