:root{--page:#f1f3f4;--surface:#fff;--surface-2:#f8f9fa;--hover:#e8eaed;--ink:#202124;--ink-2:#5f6368;--accent:#1f3389;--line:#dadce0;--star:#f5a623}
*{box-sizing:border-box;margin:0}body{background:var(--page);color:var(--ink);font-family:Roboto,-apple-system,Arial,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
.hd{background:var(--surface);position:sticky;top:0;z-index:10}
.hd-row{max-width:1120px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:20px}
.brand{font-weight:700;font-size:22px;color:var(--ink);display:flex;align-items:center}.logo{height:34px;width:auto}
.search{margin-left:auto;display:flex;background:var(--surface-2)}
.search input{border:0;background:transparent;padding:10px 14px;font-size:14px;width:220px;outline:none}
.search button{border:0;background:var(--surface-2);color:var(--ink-2);padding:0 16px;cursor:pointer}
.navwrap{display:flex;align-items:center;flex:1;min-width:0;margin:0 8px}
.cats.desk{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow:hidden}
.cats.desk a{padding:10px 12px;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.cats.desk a:hover{background:var(--surface-2);color:var(--ink)}.cats.desk a.on{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}
.cats .more{position:relative;flex:none}.cats .more>summary{list-style:none;cursor:pointer;padding:10px 12px;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.cats .more>summary::-webkit-details-marker{display:none}.cats .more>summary::after{content:" ▾"}
.more-menu{position:absolute;top:100%;right:0;background:var(--surface);min-width:200px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:20;display:flex;flex-direction:column;padding:6px 0}
.more-menu a{padding:10px 16px;font-size:14px;color:var(--ink-2);white-space:nowrap}.more-menu a:hover{background:var(--surface-2);color:var(--ink)}
.cats.mob{display:none}
.hamburger{display:none;margin-left:8px;flex-direction:column;gap:5px;padding:8px;cursor:pointer}.hamburger span{width:24px;height:2px;background:var(--ink)}
main{max-width:1120px;margin:0 auto;padding:24px 20px 48px}
.hero{background:var(--accent);color:#fff;margin:-24px -20px 24px;padding:48px 20px}
.hero .in{max-width:1120px;margin:0 auto}.hero h1{font-size:34px;margin:0 0 8px;color:#fff}.hero p{color:#e7eaf6;max-width:60ch}
.hsearch{display:flex;max-width:520px;margin:18px 0 0;background:#fff}
.hsearch input{flex:1;border:0;padding:13px 16px;font-size:15px;outline:none}
.hsearch button{border:0;background:#111;color:#fff;padding:0 22px;cursor:pointer;font-size:15px}
.stats{display:flex;gap:36px;margin-top:22px}
.stats div{display:flex;flex-direction:column}.stats b{font-size:26px}.stats span{font-size:13px;color:#e7eaf6cc}
.chips{margin:0 0 24px}.chips h2{font-size:16px;color:var(--ink-2);margin:0 0 10px}
.chiprow{display:flex;flex-wrap:wrap;gap:8px}
.chiprow a{background:var(--surface);padding:8px 14px;font-size:14px;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.chiprow a:hover{background:var(--accent);color:#fff}
.cta{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:10px 20px;font-size:15px;margin-top:6px;align-self:flex-start}
.cta:hover{color:#fff;opacity:.92}
.latest{margin-top:36px}.latest h2{font-size:20px;margin:0 0 16px}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.lrev{background:var(--surface);padding:16px 18px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.lrev h3{font-size:16px;margin:6px 0 6px}.lrev p{font-size:14px;color:#3c4043;margin:0 0 10px}
.lrev .meta{font-size:13px;color:var(--ink-2)}
.ph1{font-size:20px;font-weight:500;margin:8px 0 18px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2px;background:var(--line)}
.card{background:var(--surface);display:flex;flex-direction:column}.card:hover{background:var(--surface-2)}
.thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--surface-2)}.thumb img{width:100%;height:100%;object-fit:contain;padding:12px}.thumb.ph{background:var(--hover)}
.card .body{padding:14px 16px 18px}.cat{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--accent)}
.card h2{font-size:17px;font-weight:500;margin:6px 0 8px}
.rrow{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
.stars{display:inline-flex}.stars .st{color:var(--line)}.stars .st.f{color:var(--star)}.rn{font-weight:700;color:var(--ink)}
.pager{display:flex;gap:2px;justify-content:center;margin-top:28px;background:var(--line)}
.pg{padding:10px 15px;background:var(--surface)}.pg.on{background:var(--accent);color:#fff}
/* business page */
.bizhead{background:var(--surface);padding:26px 28px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:2px}
.bizlogo{width:96px;height:96px;object-fit:contain;background:var(--surface-2);flex:none}
.bizmeta h1{font-size:28px;margin:0 0 6px}.bizmeta .cat{font-size:13px}
.aggr{display:flex;align-items:center;gap:10px;margin:6px 0}
.aggr .big{font-size:32px;font-weight:700}.aggr .stars{font-size:22px}
.bizdesc{background:var(--surface);padding:22px 28px;margin-bottom:2px;color:#3c4043}
.bizdesc a{color:var(--accent);font-weight:500}
.rev{background:var(--surface);padding:18px 28px;margin-bottom:2px}
.rev .top{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.rev .who{font-weight:600}.rev .dt{color:var(--ink-2);font-size:13px;margin-left:auto}
.rev h3{font-size:16px;margin:6px 0 4px}.rev p{color:#3c4043;margin:0}
.wr{background:var(--surface);padding:24px 28px;margin-top:14px}
.rform{display:flex;flex-direction:column;gap:10px;max-width:520px}
.rform input,.rform textarea{border:1px solid var(--line);padding:10px 12px;font-size:15px;font-family:inherit}
.rform button{background:var(--accent);color:#fff;border:0;padding:12px;font-size:15px;cursor:pointer;width:fit-content}
.rate .pick{color:var(--star);font-size:20px}.note{font-size:12px;color:var(--ink-2)}
.ft{background:var(--surface);margin-top:40px}.ft p{max-width:1120px;margin:0 auto;padding:6px 20px;color:var(--ink-2);font-size:13px}.ft p:first-child{padding-top:24px;color:var(--ink);font-weight:500}
@media(max-width:820px){.cats.desk,.search.desk{display:none}.hamburger{display:flex;margin-left:auto}.cats.mob{flex-direction:column;gap:0;padding:6px 8px 10px;border-top:1px solid var(--line);max-width:1120px;margin:0 auto}#nt:checked~.cats.mob{display:flex}.cats.mob a{padding:12px;font-size:16px;border-bottom:1px solid var(--surface-2)}.hero{margin-top:-24px}}