/* Manrope and Lexend: SIL Open Font License 1.1 (github.com/sharanda/manrope, github.com/googlefonts/lexend), self-hosted */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/manrope-4.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/manrope-5.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lexend';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/lexend-500.woff2) format('woff2')}
@font-face{font-family:'Lexend';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/lexend-600.woff2) format('woff2')}
@font-face{font-family:'Lexend';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/lexend-700.woff2) format('woff2')}

/* FoundationFix: navy + gold from the logo. Fonts: Lexend, Manrope (OFL, self-hosted). Icons: Tabler (MIT). Maps: Leaflet + MarkerCluster. Charts: Chart.js. */
:root{--bg:#f4f6f9;--card:#fff;--ink:#132a52;--ink2:#2f3f5c;--muted:#5d6779;--line:#dfe4ec;--soft:#ebeff5;
--yel:#d49a2a;--yel-d:#9c6c12;--yel-l:#fbf2df;--gr:#2f7d5b;--gr-l:#e3f2ea;--br:#8a5a2b;--br-l:#f5ebdf;--na:#1e4f8a;--na-l:#e4edf8;--or:#c0571b;--or-l:#fbe9dd;
--r:14px;--max:1200px;--hf:"Lexend","Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Manrope,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
h1,h2,h3{font-family:var(--hf);line-height:1.15;margin:0 0 .45em;letter-spacing:-.01em;font-weight:600;color:var(--ink)}
h1{font-size:clamp(1.9rem,4.4vw,3rem)}h2{font-size:clamp(1.35rem,2.6vw,1.75rem);margin-top:1.5em}h3{font-size:1.15rem;margin-top:1.1em}
.card h2,.tbox h2,.chart h3,.chart h2{margin-top:0}
a{color:#1d4f91;text-underline-offset:2px}a:hover{color:var(--ink)}p{margin:0 0 1em}img{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--yel);outline-offset:2px}
.ico{width:1.1em;height:1.1em;vertical-align:-.18em;flex:none}.ico.big{width:30px;height:30px}
.note{font-size:.88rem;color:var(--muted)}
/* header */
.top{background:#fff;color:var(--ink);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 var(--line),0 3px 0 var(--ink)}
.top .wrap{display:flex;align-items:center;gap:14px;min-height:64px}
.logo{display:flex;align-items:center}.logo img{display:block;height:38px;width:auto}
.lmark{width:38px;height:38px;border-radius:10px;background:var(--yel);color:var(--ink);display:flex;align-items:center;justify-content:center}.lmark .ico{width:26px;height:26px}
.lword{font-family:var(--hf);font-weight:700;font-size:1.5rem}.lword span{color:var(--yel)}
.nav{margin-left:auto;display:flex;gap:2px;align-items:center}
.nav a{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);text-decoration:none;padding:9px 11px;border-radius:9px;font-weight:600;font-size:.94rem}
.nav a .ico{color:var(--yel-d)}.nav a:hover,.nav a[aria-current]{background:var(--soft);color:var(--ink)}
.nav .navcta{background:var(--yel);color:#1a1300;margin-left:6px}.nav .navcta .ico{color:#1a1300}.nav .navcta:hover{background:#e3ad45;color:#1a1300}
.navbtn{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:7px 9px;cursor:pointer}.navbtn .ico{width:24px;height:24px}
@media(max-width:960px){.navbtn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;flex-direction:column;align-items:stretch;padding:8px 16px 16px;border-bottom:3px solid var(--yel)}
.nav.open{display:flex}.nav a{padding:12px}.nav .navcta{margin:6px 0 0;justify-content:center}}
.crumbs{font-size:.86rem;color:#d4d4d4;margin:0 0 10px}.crumbs a{color:#e9e9e9}.crumbs span[aria-hidden]{margin:0 6px;opacity:.6}
/* hero band (same on every page) */
.xhero{position:relative;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate}
.xhero-bg{position:absolute;inset:0;z-index:0}.xhero-bg img{width:100%;height:100%;object-fit:cover;object-position:right center;display:block}
.xhero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,27,58,.95) 0%,rgba(12,32,68,.86) 40%,rgba(12,32,68,.4) 70%,rgba(12,32,68,.05) 100%)}
.xhero:after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:-1px;height:22px;background:var(--bg);clip-path:polygon(0 100%,100% 0,100% 100%)}
.xhero-in{position:relative;z-index:2;padding:26px 16px 62px}.xhero.sm .xhero-in{padding:18px 16px 50px}
.kicker{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#1a1300;background:var(--yel);padding:5px 12px;border-radius:6px;margin:6px 0 12px}
.xhero h1{color:#fff;max-width:800px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.xhero h1 .tail{display:block;font-size:.48em;color:#f0c867;margin-top:.35em;font-weight:600}
.xhero.sm h1{font-size:clamp(1.7rem,3.6vw,2.5rem);max-width:880px}
.xlead{max-width:680px;font-size:1.05rem;color:#e6e6e6}
.mini{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}.mini span{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:5px 12px;border-radius:99px;font-size:.86rem;font-weight:600;backdrop-filter:blur(6px)}
.mini .ico{color:var(--yel)}
@media(max-width:700px){.xhero-bg:after{background:linear-gradient(180deg,rgba(10,27,58,.80),rgba(10,27,58,.93))}}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:16px;overflow:hidden;margin:-40px 0 18px;position:relative;z-index:3;box-shadow:0 12px 30px rgba(20,22,26,.14)}
.strip div{background:#fff;padding:14px 18px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.strip .ico{grid-row:span 2;width:30px;height:30px;color:var(--yel-d)}.strip strong{font-family:var(--hf);font-size:1.5rem;line-height:1;font-weight:600}.strip span{font-size:.84rem;color:var(--muted)}
@media(max-width:760px){.strip{grid-template-columns:1fr 1fr}}
/* search */
.search{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:18px 0 0;max-width:760px;background:#fff;border-radius:14px;padding:8px;position:relative}
.search>.ico{position:absolute;left:20px;top:22px;color:var(--muted)}
.search input{flex:1 1 220px;padding:12px 12px 12px 40px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;min-height:46px}
.search .loc{color:var(--ink);border-color:var(--line)}
/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;min-height:46px;border-radius:10px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:.95rem;cursor:pointer;font-family:inherit}
.btn:hover{background:#0a1730;color:#fff}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--soft)}
.btn.or{background:var(--yel);border-color:var(--yel);color:#1a1300}.btn.or:hover{background:#e3ad45}
/* layout */
.grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start;margin:22px 0 40px}
@media(max-width:940px){.grid{grid-template-columns:1fr}.side{order:-1}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin-bottom:18px}
.card.hl{border-left:5px solid var(--yel)}
.side{align-self:stretch;display:flex;flex-direction:column}
.h3{font-size:1.3rem}
.facts{list-style:none;margin:0;padding:0}.facts li{display:grid;grid-template-columns:22px 92px 1fr;gap:8px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.94rem;align-items:start}
.facts li:last-child{border:0}.facts .ico{color:var(--yel-d);margin-top:3px}.facts b{color:var(--muted);font-weight:600}.facts a{word-break:break-word}
@media(max-width:420px){.facts li{grid-template-columns:22px 1fr}.facts li b{display:none}}
.tbox{background:var(--yel-l);border:1px solid #f0dcae;border-radius:var(--r);padding:18px 22px;margin:0 0 18px}.tbox ul{margin:.3em 0 0;padding-left:1.2em}.tbox h2{font-size:1.4rem;display:flex;gap:8px;align-items:center}
.prose{max-width:860px}.prose h2:first-child{margin-top:0}
/* kind badges & chips */
.kb,.pbadge{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:7px}
.t-or{background:var(--yel-l);color:#7a540c}.t-gr{background:var(--gr-l);color:#1f5a40}.t-br{background:var(--br-l);color:#6b421b}.t-na{background:var(--na-l);color:var(--na)}
.svc{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.svc li{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;padding:3px 9px;border-radius:99px;background:var(--soft);color:var(--ink2)}.svc .ico{width:13px;height:13px}
/* listing cards */
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:12px 0 22px;padding:0;list-style:none}
.item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,box-shadow .15s,transform .15s}
.item:hover{border-color:var(--yel);box-shadow:0 10px 24px rgba(20,22,26,.08);transform:translateY(-2px)}
.ihead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.ict{display:flex;gap:6px}.ic{width:34px;height:34px;border-radius:9px;background:var(--soft);color:var(--ink);display:flex;align-items:center;justify-content:center}.ic:hover{background:var(--yel)}
.item a.t{font-weight:800;color:var(--ink);text-decoration:none;font-size:1.03rem;line-height:1.3}.item a.t:hover{text-decoration:underline}
.item .m,.item .r{font-size:.86rem;color:var(--muted);display:flex;gap:5px;align-items:center}.item .r{color:var(--br);font-weight:700}
.item[hidden]{display:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}
.chips button{padding:8px 13px;border-radius:99px;background:#fff;border:1px solid var(--line);color:var(--ink);font:600 .9rem Manrope,sans-serif;cursor:pointer;min-height:40px}
.chips button:hover,.chips button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.chips small{opacity:.7}
.cols{columns:4 180px;column-gap:24px;padding:0;list-style:none;margin:8px 0 18px}.cols li{break-inside:avoid;padding:3px 0}.cols small{color:var(--muted)}
.cblock h2 small{font:600 .9rem Manrope,sans-serif;color:var(--muted)}
/* link tiles */
.lcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;list-style:none;padding:0;margin:12px 0 24px}
.lcards a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:var(--ink);height:100%;transition:border-color .15s,box-shadow .15s}
.lcards a:hover{border-color:var(--yel);box-shadow:0 8px 20px rgba(20,22,26,.08)}
.lcards b{display:block;line-height:1.3}.lcards small{color:var(--muted);font-size:.84rem}
.lci{flex:none;width:44px;height:44px;border-radius:12px;background:var(--yel-l);color:#7a540c;display:flex;align-items:center;justify-content:center}.lci .ico{width:23px;height:23px}
.lcards .arr{margin-left:auto;color:var(--yel-d)}
.more{margin:4px 0 24px}.morebtn{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:12px;background:#fff;border:2px solid var(--ink);color:var(--ink);font-weight:800;text-decoration:none}
.morebtn:hover{background:var(--ink);color:#fff}
.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;padding:0;list-style:none;margin:10px 0 22px}
.scards a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--ink)}
.scards a:hover{border-color:var(--yel)}.scards b{display:block;line-height:1.25}.scards small{color:var(--muted)}.scards .arr{margin-left:auto;color:var(--yel-d)}
.scat h2{display:flex;gap:10px;align-items:center}.scat h2 .ico{color:var(--yel-d)}
/* category grid (home) */
.catgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;padding:0;margin:12px 0 26px}
.catgrid a{position:relative;display:block;border-radius:16px;overflow:hidden;min-height:170px;color:#fff;text-decoration:none;background:var(--ink)}
.catgrid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform .3s,opacity .3s}
.catgrid a:hover img{transform:scale(1.04);opacity:.4}
.cg{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px;height:100%;justify-content:flex-end;min-height:170px;background:linear-gradient(0deg,rgba(10,27,58,.88),rgba(10,27,58,0))}
.cg .ico{width:34px;height:34px;color:var(--ink);background:var(--yel);border-radius:10px;padding:5px;margin-bottom:6px}
.cg b{font-family:var(--hf);font-size:1.3rem;line-height:1.15;font-weight:600}.cg small{color:#ddd}
@media(max-width:820px){.catgrid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.catgrid{grid-template-columns:1fr}}
/* profile hero (listing) */
.xhero.pro .xhero-in{padding:16px 16px 46px}
.pcard{display:grid;grid-template-columns:minmax(240px,38%) 1fr;gap:20px 28px;background:#fff;color:var(--ink);border-radius:22px;padding:22px;box-shadow:0 22px 60px rgba(0,0,0,.35);margin-top:6px}
.pphoto{margin:0;position:relative;grid-row:span 2}.pphoto img{width:100%;height:100%;max-height:340px;object-fit:cover;border-radius:16px;display:block}
.pphoto figcaption{position:absolute;right:10px;bottom:8px;font-size:.68rem;background:rgba(255,255,255,.85);padding:1px 7px;border-radius:6px;color:var(--muted)}
.ptop{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.pbadge{font-size:.8rem;padding:8px 14px;border-radius:10px}
.prate{display:inline-flex;align-items:baseline;gap:6px;font-size:1.05rem}.prate .ico{color:var(--yel);width:22px;height:22px;align-self:center}.prate b{font-size:1.4rem}.prate small{color:var(--muted)}
.pinfo h1{color:var(--ink);font-size:clamp(1.6rem,3vw,2.3rem);margin:.3em 0 .1em;text-transform:none;text-shadow:none}
.pkind{font-size:.86rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 12px}
.prow{display:flex;flex-wrap:wrap;gap:8px 22px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:1.02rem}
.prow span,.prow a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none}.prow .ico{color:var(--yel-d);width:20px;height:20px}.prow a:hover{text-decoration:underline}
.pnone{color:var(--muted);margin:14px 0 0}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;list-style:none;margin:12px 0 6px;padding:0}
.tiles a{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;text-decoration:none;color:var(--ink)}
.tiles .ti{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1.3;border-radius:14px;background:var(--yel-l);color:#7a540c;transition:background .15s}
.tiles a:hover .ti{background:var(--yel);color:var(--ink)}
.tiles .ti .ico{width:32px;height:32px;stroke-width:1.7}
.tiles .tl{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.25}
.tiles li:nth-child(5n+2) .ti{background:var(--gr-l);color:#1f5a40}.tiles li:nth-child(5n+3) .ti{background:var(--br-l);color:#6b421b}
.tiles li:nth-child(5n+4) .ti{background:var(--na-l);color:var(--na)}.tiles li:nth-child(5n) .ti{background:var(--or-l);color:#8a3f0b}
.ptiles{grid-template-columns:repeat(5,1fr)}
.wtiles{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.pbtns{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pbtn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;border-radius:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.95rem;text-decoration:none}
.pbtn .ico{width:22px;height:22px}
.pbtn.p1{background:var(--yel);color:var(--ink)}.pbtn.p1:hover{background:#e3ad45}
.pbtn.p2{border:2px solid var(--line);color:var(--ink);background:#fff}.pbtn.p2:hover{border-color:var(--ink)}
.pbtn.p3{background:var(--ink);color:#fff}.pbtn.p3:hover{background:#0a1730}
@media(max-width:820px){.pcard{grid-template-columns:1fr;padding:14px}.pphoto{grid-row:auto}.pphoto img{max-height:200px}.ptiles{grid-template-columns:repeat(3,1fr)}.pbtns{grid-template-columns:1fr}.pbtn{min-height:50px}}
/* evidence */
.evid{margin:10px 0 0;padding:0;list-style:none}.evid li{border-left:3px solid var(--yel);padding:6px 0 6px 12px;margin:8px 0;font-size:.93rem;display:grid;gap:3px}
.qk{display:inline-flex;gap:6px;align-items:center;font-weight:700}.qk .ico{color:var(--yel-d)}.evid q{color:var(--ink2)}.evid .src{font-size:.8rem;color:var(--muted)}
.prices{width:100%;border-collapse:collapse;font-size:.92rem}.prices td{padding:8px 6px;border-bottom:1px dashed var(--line);vertical-align:top}.prices td:first-child{font-weight:800;white-space:nowrap}
.faq details{border-bottom:1px solid var(--line);padding:13px 0}.faq details:last-child{border:0}.faq summary{cursor:pointer;font-weight:700}.faq p{margin:.55em 0 0}
/* maps */
.mapwrap .map{width:100%;border-radius:var(--r);border:1px solid var(--line);background:var(--soft);display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:1}
.card .mapwrap h2{margin-top:0;font-size:1.5rem}
.pin{border-radius:50%;border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.4)}
.leaflet-popup-content a{font-weight:700}
/* charts */
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin:16px 0 22px}
.chart{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:0}.chart.wide{grid-column:1/-1;margin:16px 0}
.cbox{position:relative}.chart figcaption{font-size:.84rem;color:var(--muted);margin-top:8px}
.ctable{display:none}.nojs .ctable,.chart.nochart .ctable{display:table;width:100%;font-size:.9rem}.chart.nochart .cbox{display:none}
.ctable th{text-align:left;font-weight:600;padding:3px 0}.ctable td{text-align:right}
.bars{list-style:none;margin:0;padding:0}.bars li{display:grid;grid-template-columns:150px 1fr 44px;gap:8px;align-items:center;font-size:.9rem;padding:3px 0}
.bars .bar{height:10px;border-radius:6px;background:var(--yel);width:var(--w)}.bars b{text-align:right}
.ranges{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ranges li{display:grid;grid-template-columns:minmax(150px,260px) 1fr 140px;gap:12px;align-items:center;font-size:.92rem}
.ranges a{color:var(--ink);text-decoration:none;font-weight:600}.ranges a:hover{text-decoration:underline}.ranges b{text-align:right;white-space:nowrap}
.rtrack{position:relative;height:12px;border-radius:7px;background:var(--soft)}
.rbar{position:absolute;top:0;bottom:0;border-radius:7px;background:linear-gradient(90deg,#f0c867,var(--yel))}
.mid{position:absolute;top:-4px;width:4px;height:20px;border-radius:2px;background:var(--ink);transform:translateX(-2px)}
@media(max-width:620px){.ranges li{grid-template-columns:1fr 110px}.rtrack{grid-column:1/-1;order:3}}
/* tables */
.cmp{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:.93rem;margin:10px 0 14px;border-radius:12px;overflow:hidden}
.cmp th,.cmp td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.cmp thead th{background:var(--ink);color:#fff;font-weight:700}
.tablewrap{overflow-x:auto}
ul.check{list-style:none;padding:0}ul.check li{padding:5px 0 5px 30px;position:relative}
ul.check li:before{content:"";position:absolute;left:2px;top:9px;width:16px;height:16px;border-radius:5px;background:var(--yel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
ol.steps2{counter-reset:s;list-style:none;padding:0;display:grid;gap:8px}ol.steps2 li{counter-increment:s;position:relative;padding:10px 12px 10px 50px;background:var(--soft);border-radius:12px}
ol.steps2 li:before{content:counter(s);position:absolute;left:10px;top:8px;width:28px;height:28px;border-radius:8px;background:var(--ink);color:#f0c867;font:700 1rem/28px var(--hf);text-align:center}
/* guides */
.gwrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start;margin:22px 0}
.gcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 32px 24px}
.gcard h2{position:relative;padding-left:16px}.gcard h2:before{content:"";position:absolute;left:0;top:.08em;bottom:.12em;width:5px;border-radius:3px;background:var(--yel)}
.gcard .faq h2,.gcard .chart h3{padding-left:0}.gcard .faq h2:before{display:none}.gcard .faq{border:0;padding:0}
.quick{display:flex;gap:14px;background:var(--yel-l);border-radius:14px;padding:16px 18px;margin:14px 0 8px}.quick .ico{color:var(--yel-d)}.quick p{margin:.2em 0 0}
.pro{display:flex;gap:12px;align-items:flex-start;background:var(--or-l);border-radius:12px;padding:14px 16px;color:#5a2e0a}.pro .ico{width:24px;height:24px;flex:none;color:var(--or)}.pro p{margin:0}
.gside{align-self:stretch;display:flex;flex-direction:column;gap:16px}.toc h2{display:flex;gap:8px;align-items:center;font-size:1.3rem}
.toc ol{margin:0;padding-left:1.2em;font-size:.93rem}.toc li{margin:.35em 0}.toc a{color:var(--ink);text-decoration:none}.toc a:hover{text-decoration:underline}
.gcta{text-align:center;background:var(--ink);color:#e4e4e4;border:0}.gcta h2{color:#fff;font-size:1.5rem;margin:.4em 0 .3em}.gcta .ico{color:var(--yel)}
.sc{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:8px 0;background:#fff}.sc summary{cursor:pointer;font-weight:800}.sc summary small{color:var(--muted);font-weight:600}
.sc .list{margin-bottom:6px}
@media(max-width:980px){.gwrap{grid-template-columns:1fr}.gcard{padding:8px 18px 18px}}
/* tree */
.tree{margin:26px 0 22px;border-top:5px solid var(--yel)}.thead{display:flex;gap:14px;align-items:center}.thead h2{margin:0}.thead .ico{color:var(--yel-d)}
.tq{font-family:var(--hf);font-size:1.25rem;font-weight:700;margin:14px 0 10px}
.topts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.topts button{display:flex;align-items:center;gap:10px;text-align:left;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);font:700 .97rem Manrope,sans-serif;color:var(--ink);cursor:pointer;min-height:56px}
.topts button:hover{border-color:var(--ink);background:#fff}.topts .ico{color:var(--yel-d);width:24px;height:24px}
.tpath{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;font-size:.85rem;color:var(--muted)}.tpath button{background:none;border:0;color:#1d4f91;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.tres{margin-top:12px}
/* split */
.split{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:stretch;margin:12px 0}.split .gcta{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:16px 0}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.cmpgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cmpgrid .ico.big{color:var(--yel-d)}@media(max-width:700px){.cmpgrid{grid-template-columns:1fr}}
/* calculator */
.calc{display:grid;grid-template-columns:1.25fr .9fr;gap:20px 28px;margin-top:22px;align-items:start}
.cform h2{font-size:1.45rem;display:flex;gap:8px;align-items:center;margin:.6em 0 .4em}.cform h2:first-child{margin-top:0}.cform h2 .ico{color:var(--yel-d)}
.crow{display:grid;grid-template-columns:1fr 110px 100px;gap:10px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line)}
.crow label{font-weight:600;font-size:.94rem}.crow label small{color:var(--muted);font-weight:500}
.crow input,.crow select{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;font:inherit;background:#fff;min-height:44px}
.crow select{grid-column:2/-1}.cdeb{font-size:.78rem;color:var(--muted);text-align:right}
.cchk{display:flex;gap:8px;align-items:center;font-size:.92rem;margin:8px 0}
.cres{background:#0d1f40;color:#e6e6e6;border-radius:18px;padding:22px;position:sticky;top:84px}
.cbig small{display:block;color:var(--yel);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:800}.cbig b{font-family:var(--hf);font-size:clamp(2.2rem,5vw,3rem);color:#fff;line-height:1.1;display:block}
.cbig span{font-size:.9rem;color:#bbb}
.cparts{list-style:none;padding:0;margin:14px 0}.cparts li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.94rem}
.cbar{height:10px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}.cbar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#f0c867,var(--yel));transition:width .3s}
.cres .note{color:#aaa}.cres .btn.ghost{color:#fff;border-color:rgba(255,255,255,.4)}.cres .btn.ghost:hover{background:rgba(255,255,255,.08)}
@media(max-width:900px){.calc{grid-template-columns:1fr}.cres{position:static}}
@media(max-width:480px){.crow{grid-template-columns:1fr 96px}.cdeb{grid-column:1/-1;text-align:left}}
/* results of client search */
.results:empty{display:none}.results{margin:10px 0 20px}
/* form */
.form{display:grid;gap:14px;max-width:620px}.form label{display:grid;gap:5px;font-weight:700;font-size:.95rem}
.form input,.form textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.form textarea{min-height:120px}
/* ads: reserved height, no layout shift */
.ad{margin:22px 0 4px;min-height:280px;text-align:center}main>.ad:first-child{margin-top:18px}.ad small{display:block;font-size:.7rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
@media(max-width:600px){.ad{min-height:250px}}
/* footer */
.foot{background:#0d1f40;color:#c3cbda;margin-top:48px;padding:40px 0 18px;font-size:.93rem;border-top:4px solid var(--yel)}
.foot .wrap{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:24px}
@media(max-width:960px){.foot .wrap{grid-template-columns:1fr 1fr}}@media(max-width:520px){.foot .wrap{grid-template-columns:1fr}}
.foot a{color:#f0f0f0;text-decoration:none}.foot a:hover{text-decoration:underline;color:var(--yel)}.foot ul{list-style:none;margin:0;padding:0}.foot li{padding:3px 0}
.fh{font-size:1.05rem;color:#fff;margin:0 0 8px}.fabout .logo{margin-bottom:12px}.fabout .logo img{height:38px}
.foot .copy{grid-column:1/-1;margin-top:18px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;font-size:.84rem;color:#9a9a9a}
/* sticky side ad (360x280): stays in view while the main column scrolls; hidden where there is no side column */
.sticky-ad{position:sticky;top:84px;width:336px;min-height:300px;text-align:center;margin-top:auto;margin-bottom:0}
.side .sticky-ad,.gside .sticky-ad{margin-top:0}
.sticky-ad small{display:block;font-size:.7rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
@media(max-width:980px){.sticky-ad{display:none}}

/* ConcreterFinder additions */
.btn.or{color:#1a1300}.btn.or:hover{background:#e3ad45;color:#1a1300}
.pbtn.p1{color:#1a1300}.pbtn.p1:hover{background:#e3ad45}
.t-cy{background:#e5f0f5;color:#1d5670}.t-pu{background:#efe9f7;color:#55357e}
.hours{width:100%;border-collapse:collapse;font-size:.93rem}.hours th,.hours td{padding:6px 4px;border-bottom:1px dashed var(--line);text-align:left}.hours th{font-weight:600;width:42%}
.hours tr.today th,.hours tr.today td{background:var(--yel-l);font-weight:800}
.approx{display:flex;gap:10px;align-items:flex-start;background:#eef3f7;border-radius:12px;padding:12px 14px;font-size:.92rem;color:#244257;margin:0 0 14px}.approx .ico{width:22px;height:22px;flex:none;color:#2d6a8f;margin-top:2px}
.statecards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;padding:0;margin:12px 0 26px}
.statecards a{position:relative;display:block;border-radius:16px;overflow:hidden;min-height:150px;color:#fff;text-decoration:none;background:var(--ink)}
.statecards img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform .3s,opacity .3s}.statecards a:hover img{transform:scale(1.05);opacity:.55}
.statecards .sc2{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:14px;background:linear-gradient(0deg,rgba(10,27,58,.88),rgba(10,27,58,0) 70%)}
.statecards b{font-family:var(--hf);font-size:1.15rem;line-height:1.15;font-weight:600}.statecards small{color:#e2e2e2}
@media(max-width:860px){.statecards{grid-template-columns:1fr 1fr}}
.cstate{display:flex;flex-wrap:wrap;gap:6px}.cstate button{padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font:700 .9rem Manrope,sans-serif;cursor:pointer;min-height:42px}
.cstate button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.cgrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cgrid2 label{display:grid;gap:4px;font-weight:600;font-size:.92rem}
.cgrid2 input,.cgrid2 select,.cfield select{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;font:inherit;background:#fff;min-height:44px}
.cfield{display:grid;gap:4px;font-weight:600;font-size:.92rem;margin:8px 0}
@media(max-width:480px){.cgrid2{grid-template-columns:1fr}}
.cres .cmat{font-size:.9rem;color:#cfcfcf;margin:8px 0 0}.cres .cmat b{color:#fff}
.scmp{margin-top:6px}
.calcimg{float:right;width:120px;height:120px;margin:0 0 8px 12px}
.web-cta{display:flex;gap:14px;align-items:center}
.pill{display:inline-block;background:var(--soft);border-radius:99px;padding:2px 10px;font-size:.8rem;font-weight:700;color:var(--ink2)}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0 18px}
.kpi div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}.kpi b{display:block;font-family:var(--hf);font-size:1.6rem;line-height:1.1}.kpi span{font-size:.84rem;color:var(--muted)}
.calc>*,.cform,.cres,.cgrid2>*,.cfield{min-width:0}
.cgrid2 input,.cfield select,.cgrid2 select{max-width:100%}
@media(max-width:620px){.ranges li{grid-template-columns:1fr auto;gap:4px 10px}.ranges b{font-size:.85rem}.calc{padding:16px}.cmp{font-size:.85rem}.cmp th,.cmp td{padding:7px 8px}}
body{overflow-x:clip}
.morelist>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:11px 18px;border-radius:12px;background:#fff;border:2px solid var(--ink);font-weight:800;margin:0 0 18px;list-style:none}
.morelist>summary::-webkit-details-marker{display:none}.morelist[open]>summary{display:none}

/* saved / compare / next step / reports */
.nav .navsaved{position:relative}.nav .navsaved b{position:absolute;top:-2px;right:-6px;min-width:18px;height:18px;border-radius:9px;background:var(--yel);color:#1a1300;font-size:.7rem;line-height:18px;text-align:center;padding:0 4px}
.ic.fav{border:0;cursor:pointer;font:inherit}.fav.on{background:#fbe7bd;color:var(--yel-d)}.fav.on .ico{fill:currentColor}
.psave{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 12px;font:700 .85rem Manrope,sans-serif;cursor:pointer;margin-left:auto;color:var(--ink)}
.psave.on{background:#fbe7bd;border-color:#ecc779;color:var(--yel-d)}.psave .ico{width:18px;height:18px}
.ptop .prate{margin-left:auto}.ptop .prate+.psave{margin-left:0}
.cmpbar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:14px;padding:8px 10px 8px 16px;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.cmpbar span{display:inline-flex;align-items:center;gap:6px;font-weight:700;white-space:nowrap}.cmpbar .ico{color:var(--yel)}.cmpbar .btn{min-height:40px;padding:8px 14px}.cmpbar .btn.ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.nextcard{position:fixed;right:16px;bottom:16px;z-index:61;width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-top:4px solid var(--yel);border-radius:16px;padding:14px 16px 10px;box-shadow:0 18px 40px rgba(20,22,26,.22);animation:nxin .35s ease-out}
@keyframes nxin{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
.nextcard .nxt{font-family:var(--hf);font-size:1.15rem;font-weight:700;margin:0 0 6px}
.nextcard ul{list-style:none;margin:0;padding:0}.nextcard li a{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px dashed var(--line);text-decoration:none;color:var(--ink)}
.nextcard li a:hover b{text-decoration:underline}.nextcard .lci{width:36px;height:36px}.nextcard small{display:block;color:var(--muted);font-size:.8rem}
.nxclose{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:2px solid #fff;background:var(--ink);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.25);transition:background .15s,transform .15s}.nxclose .ico{width:20px;height:20px;stroke-width:2.5}.nxclose:hover{background:var(--yel);transform:rotate(90deg)}.nxclose:focus-visible{outline:3px solid var(--yel);outline-offset:2px}.nextcard .nxt{padding-right:12px}@media(max-width:600px){.nxclose{top:-12px;right:-6px}}
@media(max-width:600px){.nextcard{right:8px;left:8px;bottom:8px;width:auto}.cmpbar{bottom:8px}}
.report .btns .btn{min-height:42px;font-size:.9rem}.report h2{display:flex;gap:8px;align-items:center}
.pricerep{margin-top:14px;border-top:1px dashed var(--line);padding-top:10px}.pricerep summary{cursor:pointer;font-weight:800;display:flex;gap:8px;align-items:center}.pricerep .form{margin-top:12px}
.form select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.linkbtn{background:none;border:0;color:#1d4f91;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.savedtab td,.savedtab th{font-size:.9rem}
@media print{.top,.foot,.ad,.sticky-ad,.cmpbar,.nextcard,.xhero-bg,.saved .btns,.crumbs{display:none!important}.xhero{background:#fff;color:#000}.xhero h1,.xhero .xlead{color:#000;text-shadow:none}.savedtab a{color:#000;text-decoration:none}body{background:#fff}}
.savedtab td:nth-child(4){white-space:nowrap}

/* list tools: service filter + sort */
.ltools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 8px}
.ltools label{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.88rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px 6px 4px 12px}
.ltools label .ico{color:var(--yel-d)}.ltools select{border:0;background:transparent;font:600 .9rem Manrope,sans-serif;padding:6px 4px;min-height:36px;max-width:240px;cursor:pointer}
.lcount{font-size:.86rem;color:var(--muted)}
.item .r[data-dist]{color:var(--yel-d)}
/* quote tracker */
.trksum{background:var(--yel-l);border-radius:12px;padding:10px 14px;margin:6px 0 10px}
.savedtab tr.trk td{background:#f8fafc;border-bottom:2px solid var(--line);padding:10px 12px}
.trkgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;align-items:end}
.trkgrid label{display:grid;gap:3px;font-size:.78rem;font-weight:700;color:var(--muted)}
.trkgrid input,.trkgrid select,.trkgrid textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.9rem;background:#fff;color:var(--ink)}
.trkgrid .trknote{grid-column:1/4}.trkchk{font-weight:800;font-size:.88rem;align-self:center}
@media(max-width:760px){.trkgrid{grid-template-columns:1fr 1fr}.trkgrid .trknote{grid-column:1/-1}}
/* quote checker */
.qcheck{display:grid;grid-template-columns:1.1fr 1fr;gap:18px 28px;align-items:start}
.qcheck h2{display:flex;gap:8px;align-items:center;margin:0 0 .3em}.qcheck h2 .ico{color:var(--yel-d)}
.qcheck .cgrid2{margin:10px 0}.qres{background:var(--soft);border-radius:16px;padding:18px}
.qverdict{font-family:var(--hf);font-size:1.4rem;font-weight:700;line-height:1.1;margin:0 0 12px}
.qverdict.q-ok{color:#1f6b45}.qverdict.q-low{color:#9a5a00}.qverdict.q-high{color:#b0331f}
.qgauge{position:relative;height:16px;border-radius:8px;background:#d9dee7;margin:34px 0 14px}
.qband{position:absolute;top:0;bottom:0;border-radius:8px;background:linear-gradient(90deg,#9fd9b6,#3c9b66)}
.qtyp{position:absolute;top:-4px;width:3px;height:24px;background:var(--ink);transform:translateX(-1px)}
.qme{position:absolute;top:-30px;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:.78rem;padding:2px 8px;border-radius:6px;white-space:nowrap}
.qme:after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ink);border-bottom:0}
.qres .cparts li{border-bottom-color:var(--line)}
@media(max-width:900px){.qcheck{grid-template-columns:1fr}}
.morebtn.ghost2{border-color:var(--yel);color:var(--yel-d);margin-left:6px}
@media print{.trkchk{display:none}.savedtab tr.trk td{background:#fff}}
[id]{scroll-margin-top:84px}

/* FoundationFix additions: state grid, flags, website terms, foundation-type drawings, extra badge tones */
.t-cy{background:#e3f0fa;color:#145a8a}.t-gy{background:#eceff3;color:#3f4a5a}.t-pu{background:#eeeaf7;color:#4a3a7a}.t-na{background:#e4eaf5;color:#132a52}
.stgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;list-style:none;padding:0;margin:12px 0 24px}
.stgrid a{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 10px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.stgrid a:hover,.stgrid a[aria-current]{border-color:var(--yel);box-shadow:0 6px 16px rgba(19,42,82,.08)}
.stgrid b{grid-row:span 2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--ink);color:#fff;font:600 .95rem var(--hf)}
.stgrid span{font-weight:700;font-size:.92rem;line-height:1.2}.stgrid small{color:var(--muted);font-size:.78rem}
.flags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.flag{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;padding:3px 9px;border-radius:99px;background:#eef6f0;color:#1f5a40;border:1px solid #cfe6d7}.flag .ico{width:14px;height:14px}
.pinfo .flags{margin:12px 0 0}
.terms{list-style:none;margin:0;padding:0;display:grid;gap:10px}.terms li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;background:var(--soft);border-radius:12px}
.terms li>.ico{width:24px;height:24px;color:var(--yel-d);flex:none;margin-top:2px}.terms b{display:block}.terms q{color:var(--ink2);font-size:.93rem}.terms .src{font-size:.8rem;color:var(--muted)}
.ftcard h2{margin-top:0}.ftypes{width:100%;height:auto;display:block;margin:6px 0 10px}
.ftypes .ftype{cursor:pointer}.ftypes .fbg{fill:#f4f6f9;stroke:#dfe4ec;stroke-width:2;transition:fill .15s}.ftypes .ftype:hover .fbg{fill:#fbf2df;stroke:#d49a2a}
.ftypes .froof{fill:#132a52}.ftypes .fwall{fill:#fff;stroke:#132a52;stroke-width:3}.ftypes .fsoil{fill:#c8a97e;opacity:.55}.ftypes .fconc{fill:#9aa3b2}.ftypes .fwood{fill:#a0522d}
.ftypes .fsteel{fill:#5d6779}.ftypes .fbarrier{fill:#1f78b4}.ftypes .fvoid{fill:#fff;opacity:.85}.ftypes .fpad{stroke:#9aa3b2;stroke-width:6}
.ftypes .ftxt{font:600 17px Lexend,system-ui,sans-serif;fill:#132a52}
.ftlist{margin:4px 0 0;padding-left:1.2em;font-size:.93rem}.ftlist li{margin:.25em 0}
@media(max-width:700px){.ftypes .ftxt{font-size:22px}}
.gcta .btn.ghost.light{color:#fff;border-color:rgba(255,255,255,.4);margin-top:8px}.gcta .btn.ghost.light:hover{background:rgba(255,255,255,.08)}
.gcta{background:#0d1f40}.gcta .btn{width:100%;max-width:280px}
.cform .cstate button{flex:1 1 140px}
.cfield input{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;font:inherit;background:#fff;min-height:44px;max-width:100%}.cfield span{font-weight:600}
