*{box-sizing:border-box}
:root{--g:#00b67a;--g2:#04a26d;--ink:#191919;--ink2:#3c3c3c;--muted:#6b6b6b;--line:#e3e3e3;--bg:#f7f6f3;--card:#fff;--s1:#ff3722;--s2:#ff8622;--s3:#ffce00;--s4:#73cf11;--s5:#00b67a;--r:8px}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
button{font:inherit;cursor:pointer}
/* header */
.hdr{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20}
.hdr .wrap{display:flex;align-items:center;gap:22px;height:64px}
.hdr .brand img{height:28px;width:auto}
.hdr nav{display:flex;gap:20px;margin-left:auto;align-items:center;font-size:14px}
.hdr nav a{text-decoration:none;color:#e9e9e9}
.hdr nav a:hover{color:#fff;text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;padding:10px 20px;font-weight:600;text-decoration:none;font-size:14px;white-space:nowrap}
.btn-g{background:var(--g);color:#fff}.btn-g:hover{background:var(--g2)}
.btn-b{background:#5a8bff;color:#fff}.btn-b:hover{background:#4677ee}
.btn-o{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-ol{background:transparent;color:#fff;border:1px solid #fff}
.hdr .btn{padding:8px 16px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid #555;color:#fff;border-radius:6px;padding:6px 10px}
.hdr.biz{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.hdr.biz nav a{color:var(--ink2)}
.hdr.biz .menu-btn{color:var(--ink);border-color:#bbb}
/* stars */
.stars{display:inline-flex;gap:2px;vertical-align:middle}
.stars i{width:var(--sz,20px);height:var(--sz,20px);background:#dcdce6;display:inline-flex;align-items:center;justify-content:center;position:relative}
.stars i::after{content:"";width:70%;height:70%;background:#fff;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.stars.r1 i.on{background:var(--s1)}.stars.r2 i.on{background:var(--s2)}.stars.r3 i.on{background:var(--s3)}.stars.r4 i.on{background:var(--s4)}.stars.r5 i.on{background:var(--s5)}
.stars i.half{background:linear-gradient(90deg,var(--c,var(--s4)) 50%,#dcdce6 50%)}
/* hero */
.hero{background:#fcfbf3;padding:64px 0 56px;text-align:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;opacity:.55;z-index:0}
.hero::before{width:340px;height:340px;background:#dff5e9;left:-120px;top:-80px}
.hero::after{width:260px;height:260px;background:#fff1c7;right:-80px;bottom:-110px}
.hero .wrap{position:relative;z-index:1}
.hero h1{font-size:44px;line-height:1.12;margin:0 0 12px;letter-spacing:-.8px}
.hero p{margin:0 0 26px;color:var(--ink2);font-size:17px}
.search{display:flex;max-width:620px;margin:0 auto;background:#fff;border:1px solid #c9c9c9;border-radius:999px;padding:5px;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.search input{flex:1;min-width:0;border:0;outline:0;padding:10px 16px;font-size:16px;background:transparent;border-radius:999px}
.search button{border:0;background:#5a8bff;color:#fff;border-radius:999px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex:none}
.search-results{max-width:620px;margin:8px auto 0;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:none}
.search-results.show{display:block}
.search-results a{display:flex;gap:10px;align-items:center;padding:10px 14px;text-decoration:none;border-top:1px solid #f0f0f0}
.search-results a:first-child{border-top:0}
.search-results a:hover{background:#f6f6f6}
.search-results img{width:30px;height:30px;border-radius:6px}
.search-results small{color:var(--muted);margin-left:auto}
.hero .sub{margin-top:18px;font-size:14px;color:var(--ink2)}
.hero .sub a{font-weight:600}
/* sections */
section{padding:44px 0}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}
.sec-h h2{margin:0;font-size:24px;letter-spacing:-.3px}
.sec-h a{font-size:14px;font-weight:600;white-space:nowrap}
.cats{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.cat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 8px;text-align:center;text-decoration:none;font-size:13px;transition:.15s;cursor:pointer}
.cat:hover,.cat.on{border-color:var(--g);box-shadow:0 2px 10px rgba(0,182,122,.15)}
.cat span{display:flex;width:40px;height:40px;margin:0 auto 8px;border-radius:50%;background:#eaf8f1;align-items:center;justify-content:center;font-size:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:.15s}
.bcard:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.bcard img{width:52px;height:52px;border-radius:8px;border:1px solid #eee}
.bcard b{font-size:15px}
.bcard .meta{font-size:13px;color:var(--muted)}
.bcard .url{font-size:12px;color:var(--muted)}
.tag-demo{display:inline-block;font-size:11px;font-weight:600;color:#7a5a00;background:#fff4cc;border:1px solid #f1df9a;border-radius:4px;padding:1px 6px;letter-spacing:.2px;vertical-align:middle}
.band{background:var(--ink);color:#fff;border-radius:16px;padding:36px;display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center}
.band h2{margin:0 0 10px;font-size:28px}
.band p{color:#cfcfcf;margin:0 0 18px}
.band .stat{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.band .stat div{background:#262626;border-radius:12px;padding:16px}
.band .stat b{display:block;font-size:22px;color:var(--g)}
.band .stat small{color:#bbb}
.rcards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.rcard .who{display:flex;align-items:center;gap:8px}
.av{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none;color:#fff}
.rcard p{margin:0;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rcard .co{display:flex;gap:8px;align-items:center;border-top:1px solid #f0f0f0;padding-top:10px;margin-top:auto;font-size:13px;text-decoration:none}
.rcard .co img{width:26px;height:26px;border-radius:5px}
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.how div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.how h3{margin:6px 0;font-size:17px}
.how p{margin:0;color:var(--ink2);font-size:14px}
.how .n{width:30px;height:30px;border-radius:50%;background:var(--g);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
/* footer */
footer{background:var(--ink);color:#cfcfcf;padding:40px 0 26px;margin-top:30px;font-size:14px}
footer .cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:24px}
footer h4{color:#fff;margin:0 0 10px;font-size:14px}
footer a{display:block;color:#cfcfcf;text-decoration:none;padding:3px 0}
footer a:hover{color:#fff}
footer .legal{border-top:1px solid #333;margin-top:28px;padding-top:16px;font-size:12px;color:#9a9a9a;display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between}
footer .brand img{height:26px;margin-bottom:10px}
/* businesses page */
.bhero{background:linear-gradient(135deg,#0b3d2e,#191919 70%);color:#fff;padding:64px 0}
.bhero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}
.bhero h1{font-size:42px;line-height:1.12;margin:0 0 14px;letter-spacing:-.6px}
.bhero p{color:#d4d4d4;font-size:17px;margin:0 0 22px}
.bhero .ctas{display:flex;gap:10px;flex-wrap:wrap}
.mock{background:#fff;color:var(--ink);border-radius:14px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.mock .row{display:flex;align-items:center;gap:10px}
.mock .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.mock .kpis div{background:#f4f7f5;border-radius:10px;padding:10px}
.mock .kpis b{display:block;font-size:20px}
.mock .kpis small{color:var(--muted);font-size:12px}
.bars{display:flex;align-items:flex-end;gap:6px;height:90px;padding-top:6px}
.bars span{flex:1;background:var(--g);border-radius:4px 4px 0 0;opacity:.85}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.feat div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.feat .ic{width:40px;height:40px;border-radius:10px;background:#eaf8f1;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:10px}
.feat h3{margin:0 0 6px;font-size:17px}
.feat p{margin:0;color:var(--ink2);font-size:14px}
.toggle{display:inline-flex;background:#ececec;border-radius:999px;padding:4px;margin:0 auto 22px}
.toggle button{border:0;background:transparent;border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px}
.toggle button.on{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.plan{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:10px}
.plan.pop{border:2px solid var(--g);position:relative}
.plan.pop::before{content:"Most popular";position:absolute;top:-12px;left:20px;background:var(--g);color:#fff;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px}
.plan h3{margin:0;font-size:18px}
.plan .price{font-size:32px;font-weight:700;letter-spacing:-.5px}
.plan .price small{font-size:14px;font-weight:400;color:var(--muted)}
.plan .note{font-size:12px;color:var(--muted);min-height:18px}
.plan ul{list-style:none;padding:0;margin:0;font-size:14px;display:flex;flex-direction:column;gap:6px}
.plan li::before{content:"✓";color:var(--g);font-weight:700;margin-right:8px}
.plan .btn{margin-top:auto}
.logos{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.logos span{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;font-size:13px;font-weight:600}
.logos img{width:28px;height:28px;border-radius:6px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:8px}
.faq summary{font-weight:600;cursor:pointer}
.faq p{margin:8px 0 0;color:var(--ink2);font-size:14px}
.notice{max-width:640px;margin:0 auto;text-align:center;font-size:14px;color:var(--ink2)}
/* review page */
.bizhead{background:#fff;border-bottom:1px solid var(--line);padding:26px 0}
.bizhead .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}
.bizhead .logo{width:120px;height:120px;border-radius:14px;border:1px solid var(--line);background:#fff}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:4px}
.crumbs a{color:var(--muted)}
.bizhead h1{margin:0 0 6px;font-size:30px;letter-spacing:-.4px}
.bizhead .claimed{font-size:13px;color:var(--ink2);display:inline-flex;align-items:center;gap:6px;margin-left:6px}
.bizhead .score{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:15px}
.bizhead .score b{font-size:18px}
.bizhead .side{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.bizhead .site{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 14px;text-decoration:none;font-size:14px}
.layout{display:grid;grid-template-columns:330px 1fr;gap:22px;padding:24px 0 10px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:14px}
.panel h3{margin:0 0 12px;font-size:16px}
.dist .bar{display:grid;grid-template-columns:auto 1fr 42px;gap:10px;align-items:center;font-size:14px;padding:4px 6px;border-radius:6px;cursor:pointer;user-select:none}
.dist .bar:hover{background:#f4f4f4}
.dist .bar.on{background:#eaf8f1}
.dist .bar label{display:flex;gap:6px;align-items:center;cursor:pointer;white-space:nowrap}
.dist .track{height:8px;background:#ececec;border-radius:999px;overflow:hidden}
.dist .track span{display:block;height:100%;background:var(--g);border-radius:999px}
.dist .bar small{text-align:right;color:var(--muted)}
.about p{margin:0 0 10px;font-size:14px;color:var(--ink2)}
.about dl{margin:0;font-size:14px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px}
.about dt{color:var(--muted)}
.about dd{margin:0}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.chip{border:1px solid #c9c9c9;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.toolbar select,.toolbar input{border:1px solid #c9c9c9;border-radius:999px;padding:7px 14px;font-size:13px;background:#fff}
.toolbar input{flex:1;min-width:150px}
.toolbar .sp{margin-left:auto}
.count{font-size:14px;color:var(--muted);margin:0 0 10px}
.write{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:14px}
.write .pick{display:inline-flex;gap:3px;margin-left:auto}
.write .pick button{border:0;padding:0;background:#dcdce6;width:30px;height:30px;display:flex;align-items:center;justify-content:center}
.write .pick button::after{content:"";width:70%;height:70%;background:#fff;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.write a{font-weight:600}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:12px}
.review .top{display:flex;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid #f0f0f0;margin-bottom:12px}
.review .top .n{font-weight:600;font-size:14px}
.review .top small{display:block;color:var(--muted);font-size:12px}
.review .top time{margin-left:auto;font-size:13px;color:var(--muted);white-space:nowrap}
.review .rl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.badge{font-size:12px;color:var(--ink2);display:inline-flex;gap:4px;align-items:center}
.badge::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 7.2l2 2 4-4.2' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.review h4{margin:0 0 4px;font-size:17px}
.review p{margin:0 0 10px;color:var(--ink2)}
.review .doe{font-size:13px;color:var(--ink2)}
.review .reply{background:#f6f6f2;border-left:3px solid var(--g);border-radius:6px;padding:10px 12px;margin-top:12px;font-size:14px}
.review .reply b{display:flex;gap:8px;align-items:center;margin-bottom:4px;font-size:13px}
.review .reply img{width:20px;height:20px;border-radius:4px}
.review .acts{display:flex;gap:16px;border-top:1px solid #f0f0f0;padding-top:10px;margin-top:12px}
.review .acts button{background:none;border:0;padding:0;font-size:13px;color:var(--ink2);display:inline-flex;gap:6px;align-items:center}
.review .acts button.on{color:var(--g2);font-weight:700}
.empty{background:#fff;border:1px dashed #c9c9c9;border-radius:var(--r);padding:30px;text-align:center;color:var(--muted)}
.more{display:block;margin:6px auto 0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(120px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;font-size:14px;transition:.25s;z-index:50;max-width:calc(100% - 32px);text-align:center}
.toast.show{transform:translateX(-50%) translateY(0)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* responsive */
@media (max-width:1000px){.cats{grid-template-columns:repeat(4,1fr)}.grid4,.rcards,.plans{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:1fr}.band,.bhero .wrap{grid-template-columns:1fr}footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
 .hdr nav{display:none;position:absolute;top:64px;left:0;right:0;background:inherit;flex-direction:column;align-items:flex-start;padding:14px 20px 18px;gap:14px;border-bottom:1px solid #333}
 .hdr.open nav{display:flex}
 .menu-btn{display:block}
 .hero{padding:44px 0 40px}.hero h1{font-size:31px}.hero p{font-size:15px}
 .bhero h1{font-size:30px}
 .cats{grid-template-columns:repeat(4,1fr);gap:8px}.cat{padding:12px 4px;font-size:12px}
 .grid4,.rcards,.how,.feat,.plans{grid-template-columns:1fr}
 .band{padding:24px}
 .bizhead .wrap{grid-template-columns:auto 1fr;gap:14px}
 .bizhead .logo{width:72px;height:72px}
 .bizhead h1{font-size:22px}
 .bizhead .side{grid-column:1/-1}
 .write{flex-wrap:wrap}.write .pick{margin-left:0}
 .toolbar .sp{margin-left:0}
 footer .cols{grid-template-columns:1fr 1fr}
 .mock .kpis b{font-size:16px}
}
