:root{--ink:#14201f;--muted:#5a6866;--line:#dfe6e4;--bg:#f7f9f8;--card:#fff;--brand:#0f3d3e;--accent:#e2731b;--chip:#eef3f2}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}a:hover{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.top{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;padding-bottom:12px}
.logo{display:flex;align-items:center;text-decoration:none}.logo img{display:block;height:48px;width:auto}
.top nav{display:flex;flex-wrap:wrap;gap:4px 16px}.top nav a{color:var(--brand);text-decoration:none;font-size:.95rem;font-weight:600}.top nav a:hover{color:var(--accent)}
main{padding-top:22px;padding-bottom:40px;min-height:60vh}
h1{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.15;letter-spacing:-.02em;margin:.2em 0 .4em}h2{font-size:1.25rem;margin:1.6em 0 .5em}
.hero p{font-size:1.08rem;color:var(--muted);max-width:720px}.hero .kicker{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0}
.filters{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin:18px 0}
.filters input,.filters select,.signup input,.inquiry input,.inquiry select,.inquiry textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #c9d3d1;border-radius:8px;background:#fff;color:var(--ink)}
#q{font-size:1.05rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px}
.grid label{font-size:.82rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-weight:600}
button{font:inherit;font-weight:700;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 16px;cursor:pointer}button:hover{filter:brightness(.95)}
button.link{background:none;color:var(--brand);padding:4px;font-weight:600;text-decoration:underline}
.fine{font-size:.82rem;color:var(--muted)}
.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.card a{display:flex;flex-direction:column;gap:4px;height:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ink)}
.card a:hover{border-color:var(--brand);box-shadow:0 2px 10px rgba(15,61,62,.08)}
.card .brand,h1 .brand{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.card .name{font-weight:700;line-height:1.3}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.chips span{background:var(--chip);border-radius:999px;padding:2px 8px;font-size:.78rem;color:#33413f}
.card .mkts{font-size:.76rem;color:var(--brand);font-weight:600;margin-top:2px}
.grid label.market{color:var(--brand);font-weight:700;grid-column:span 2}.grid label.market select{border-color:var(--brand)}
.empty{background:#fff7ef;border:1px solid #f3d3b4;padding:12px;border-radius:8px}
.promo{margin-top:30px}.guides{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.guides a{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;text-decoration:none}
.guidecards{list-style:none;padding:0;display:grid;gap:10px}.guidecards a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;text-decoration:none;color:var(--ink)}.guidecards b{display:block;color:var(--brand);margin-bottom:4px}.guidecards span{color:var(--muted);font-size:.95rem}
.crumbs{font-size:.88rem;color:var(--muted)}
.specs{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:12px 0}
.specs th,.specs td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.specs th{width:34%;color:var(--muted);font-weight:600;background:#fbfcfc}
.na{color:#9aa6a4;font-style:italic}.notes{background:#fff;border-left:4px solid var(--accent);padding:10px 14px;border-radius:4px}
.source{margin-top:14px}
.guide{max-width:760px}.guide .lede{font-size:1.1rem;color:#33413f}.guide li{margin:.35em 0}
.sources{margin-top:26px;border-top:1px solid var(--line);padding-top:6px}
.inline-signup{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.top nav a.cta{background:var(--accent);color:#fff;border-radius:999px;padding:1px 10px;font-weight:700}.top nav a.cta:hover{filter:brightness(.95)}
.prompt{position:relative;margin:0 0 14px}.prompt .dismiss{position:absolute;top:4px;right:6px;font-size:1.2rem;text-decoration:none;line-height:1}
.signup label.nl{display:flex;gap:6px;align-items:center;font-weight:400;font-size:.88rem;color:var(--muted);margin:8px 0 0}.signup label.nl input{width:auto}
.signup label{display:block;font-weight:600;margin-bottom:8px}.signup .row{display:flex;gap:8px}.signup .row input[type=email]{flex:1}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.msg{min-height:1.2em;font-weight:600;margin:.4em 0 0}.msg.ok{color:#17803d}.msg.err{color:#b42318}
.inquiry{display:grid;gap:12px;max-width:620px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.inquiry label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.92rem}
.brandlist{list-style:none;padding:0;columns:2;max-width:640px}.brandlist li{padding:6px 0}.brandlist span{color:var(--muted);font-size:.85rem}
.foot{background:#0b2d2e;color:#cfe1df;padding:28px 0;margin-top:30px}.foot a{color:#fff}.foot .fine{color:#9fbdba}
.foot .cols{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.foot .signup input{border-color:#2d5556}
@media (max-width:720px){.grid{grid-template-columns:1fr 1fr}.grid label.market{grid-column:1/-1}.foot .cols{grid-template-columns:1fr}.signup .row{flex-direction:column}.brandlist{columns:1}.cards{grid-template-columns:1fr}.top nav a{font-size:.9rem}}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.viewbar{display:flex;justify-content:flex-end;margin:0 0 10px}
.seg{display:inline-flex;border:1px solid #c9d3d1;border-radius:8px;overflow:hidden;background:#fff}
.seg button{background:#fff;color:var(--brand);border-radius:0;padding:7px 16px}.seg button[aria-pressed=true]{background:var(--brand);color:#fff}
.tbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.tsearch{flex:1 1 220px}
.tsearch input{width:100%;font:inherit;padding:10px 12px;border:1px solid #c9d3d1;border-radius:8px;background:#fff;color:var(--ink)}
.fine.err{color:#b42318}
.twrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--line);border-radius:10px;max-height:80vh}
.ftable{border-collapse:separate;border-spacing:0;width:100%;min-width:1100px;font-size:.9rem}
.ftable th,.ftable td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}
.ftable thead th{position:sticky;top:0;background:#f1f6f5;z-index:2}
.ftable .stick{position:sticky;left:0;background:#fff;z-index:1;white-space:normal;min-width:190px;max-width:260px;box-shadow:1px 0 0 var(--line);font-weight:600}
.ftable thead .stick{z-index:3;background:#f1f6f5}
.ftable tbody tr:hover td,.ftable tbody tr:hover .stick{background:#f7fbfa}
.sortbtn{background:none;color:var(--ink);padding:0;border-radius:0;font-weight:700;font-size:.88rem;white-space:nowrap}
.sortbtn:hover{filter:none;color:var(--accent)}
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}.pager button:disabled{opacity:.4;cursor:default;text-decoration:none}
@media (max-width:720px){.ftable .stick{min-width:130px;max-width:150px}.tbar button{flex:0 0 auto}}
.card{position:relative}.pick{display:none}
.can-compare .pick{display:flex;align-items:center;gap:5px;position:absolute;top:9px;right:12px;font-size:.78rem;font-weight:600;color:var(--muted);background:var(--card);padding:2px 4px;border-radius:6px;cursor:pointer}
.tpick{display:none}.can-compare .tpick{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:.78rem;font-weight:500;color:var(--muted);cursor:pointer}.tpick input{margin:0;width:15px;height:15px;accent-color:var(--accent)}.tpick:has(input:disabled){opacity:.45;cursor:not-allowed}
.can-compare .card .brand{padding-right:84px}.pick input{margin:0;width:16px;height:16px;accent-color:var(--accent)}.pick:has(input:disabled){opacity:.45;cursor:not-allowed}
.comparebar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--brand);color:#fff;box-shadow:0 -4px 16px rgba(0,0,0,.15)}
.comparebar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding-top:10px;padding-bottom:10px}
.comparebar .picked{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.comparebar .picked li{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.12);border-radius:999px;padding:3px 4px 3px 12px;font-size:.9rem}
.comparebar .x{background:none;padding:0 8px;font-size:1.1rem;line-height:1}.comparebar .acts{display:flex;align-items:center;gap:12px}.comparebar .hint{color:#d9ecea;font-size:.9rem}
.comparebar .go{background:var(--accent);color:#fff;font-weight:700;text-decoration:none;border-radius:8px;padding:8px 14px}.comparebar .link{color:#fff}
body.has-comparebar{padding-bottom:72px}
.cmp-grid{grid-template-columns:1fr 1fr}
.cmp-summary{font-size:1.02rem;margin:18px 0 4px}.cmp-legend .swatch{display:inline-block;width:12px;height:12px;border-radius:3px;background:#fff1df;border:1px solid #f3c48f;vertical-align:-1px}
.cmp{width:100%;margin:12px 0;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:10px;table-layout:fixed}
.cmp th,.cmp td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.cmp tbody tr:last-child>*{border-bottom:0}
.cmp tbody th{color:var(--muted);font-weight:600;background:#fbfcfc;overflow-wrap:normal;hyphens:auto}.cmp thead td{width:22%}
.cmp thead th{position:sticky;top:0;background:#fff;border-bottom:2px solid var(--line);font-size:1.02rem;line-height:1.3}.cmp thead .brand{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.cmp tr.cmp-diff>*{background:#fff1df}.cmp tr.cmp-diff th{color:#8a4510;box-shadow:inset 4px 0 0 var(--accent)}
.cmp mark,.cmp-legend mark{background:#ffd29e;color:inherit;border-radius:3px;padding:0 2px}
.cmp tr.cmp-both-blank th{color:#9aa6a4}
.cmp-share{margin-top:4px}
@media (max-width:720px){.grid.cmp-grid{grid-template-columns:1fr}.cmp{font-size:.92rem}.cmp th,.cmp td{padding:8px}.cmp thead td{width:30%}}
.sponsored-label{display:inline-block;align-self:flex-start;background:#fff;border:1px solid var(--accent);color:#9a4b0a;border-radius:4px;padding:1px 6px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.affiliate-notice{background:#fff;border:1px dashed var(--line);border-radius:8px;padding:8px 12px}
.sponsor-slot{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:16px 0}
.legal-links{margin-top:6px}
.mapview{margin-bottom:12px}.map{height:min(70vh,520px);border:1px solid var(--line);border-radius:12px;background:#e8eeed}
.pin{display:inline-block;width:14px;height:14px;border-radius:50%;box-sizing:border-box;vertical-align:middle}
.pin-hq{background:var(--brand);border:2px solid #fff;box-shadow:0 0 0 1px var(--brand)}
.pin-facility{background:#fff;border:3px solid var(--brand)}
.pin-low{opacity:.55}.pin-facility.pin-low{border-style:dotted}
.legend{list-style:none;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem}.legend .pin+.pin{margin-left:4px}
.pop{display:flex;flex-direction:column;gap:2px;font-size:.88rem}.pop em{color:#b42318}
