:root{--g:#1f6f4a;--g2:#e8f3ec;--ink:#1d2421;--mut:#5d6b64;--line:#e3e8e5}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fafbfa}
a{color:var(--g)}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.bar{display:flex;justify-content:space-between;align-items:center;height:62px}
.logo{font-weight:800;font-size:20px;text-decoration:none;color:var(--ink)}.logo span{color:var(--g)}nav a{margin-left:18px;text-decoration:none;color:var(--ink);font-size:15px}
.hero{background:linear-gradient(135deg,#123d2b,#1f6f4a);color:#fff;padding:56px 0 40px}.hero a{color:#cfe9da}.small-hero{padding:36px 0 28px}
h1{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:.2em 0}.lede{font-size:18px;opacity:.92;max-width:760px}.crumb{font-size:14px;opacity:.8}
.search input{width:100%;max-width:640px;padding:15px 18px;border-radius:12px;border:0;font-size:17px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{border:1px solid var(--line);background:#fff;color:var(--ink);padding:6px 12px;border-radius:99px;font-size:14px;text-decoration:none;cursor:pointer}.chip.on{background:var(--g);color:#fff}
.hero .chip{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}
.stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:18px}.stats b{display:block;font-size:26px}.stats span{font-size:13px;opacity:.8}
h2{margin:40px 0 14px;font-size:26px}
.box{border-radius:14px;padding:16px 20px;margin:24px 0;border-left:5px solid}.box h4{margin:0 0 6px;display:flex;gap:8px;font-size:17px}
.quick{background:#eef6ff;border-color:#3b82f6}.look{background:#f3f0ff;border-color:#7c5cff}.tip{background:#fff8e6;border-color:#f0a500}.cost{background:var(--g2);border-color:var(--g)}.note{background:#f2f4f3;border-color:#8a9890}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 20px}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.catcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;color:var(--ink);transition:.15s}.catcard:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px)}.catcard h3{margin:0 0 6px;font-size:18px}.catcard p{font-size:14px;color:var(--mut);margin:0 0 10px}.catcard span{color:var(--g);font-weight:600;font-size:14px}
.cards{display:grid;gap:16px}.card{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
.rank{flex:0 0 44px;height:44px;border-radius:12px;background:var(--g2);color:var(--g);font-weight:800;font-size:20px;display:grid;place-items:center}
.cbody{flex:1;min-width:0}.card h3{margin:0;font-size:20px}.loc{margin:0;color:var(--mut);font-size:14px}.card p{margin:8px 0}
.rate{font-size:14px;color:var(--mut);display:flex;align-items:center;gap:6px;margin-top:4px}.rate b{color:var(--ink)}
.stars{--p:calc(var(--r)/5*100%);display:inline-block;font-size:16px;letter-spacing:1px;background:linear-gradient(90deg,#f5a623 var(--p),#d6dbd8 var(--p));-webkit-background-clip:text;color:transparent}.stars:before{content:"★★★★★"}
blockquote{margin:10px 0;padding:10px 14px;background:#fafaf5;border-left:3px solid #f0a500;border-radius:8px;font-size:15px}cite{display:block;font-size:12px;color:var(--mut);font-style:normal;margin-top:4px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tag{font-size:12px;background:#f1f4f2;padding:3px 9px;border-radius:99px}
.facts{list-style:none;padding:0;margin:10px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 16px;font-size:14px}.facts i{display:block;font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
details summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--g)}.crits{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;margin:8px 0}.crit{display:flex;justify-content:space-between;background:#f6f8f7;padding:6px 10px;border-radius:8px;font-size:13px}.crit em{font-style:normal;font-weight:700}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.btn{background:var(--g);color:#fff;padding:9px 16px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px;border:0;cursor:pointer}.btn.ghost{background:#fff;color:var(--g);border:1px solid var(--g)}
.small{font-size:12px;color:var(--mut)}.src a{margin-right:4px}.more{font-size:14px}
.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:14px}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}th{background:#f1f4f2}
.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar input,.toolbar select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px}.toolbar input{flex:1}
.faq{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:8px 0}
.prose{max-width:820px}form label{display:block;margin:12px 0}form input,form textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}
footer{margin-top:60px;background:#13261d;color:#c9d6cf;padding:36px 0 20px}footer a{color:#c9d6cf}footer ul{list-style:none;padding:0;font-size:14px;columns:2}.fgrid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:24px}footer .small{color:#8fa399}
.hide{display:none!important}
@media(max-width:720px){nav a{margin-left:10px;font-size:13px}.fgrid{grid-template-columns:1fr}.card{flex-direction:column}nav{overflow-x:auto;white-space:nowrap;max-width:60vw}}
.chead{display:flex;gap:12px;align-items:center}.logo-s{width:56px;height:56px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff;padding:4px;flex:0 0 56px}.logo-xs{width:24px;height:24px;object-fit:contain;vertical-align:middle;margin-right:8px}.ph{display:grid;place-items:center;font-weight:800;color:var(--g);background:var(--g2)}span.logo-xs{display:inline-grid;border-radius:6px;font-size:12px}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0 2px}.strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.credit{margin:0 0 6px}.credit a{color:var(--mut)}
.herogrid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center}.heroimg{margin:0}.heroimg img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.3)}.heroimg figcaption{font-size:12px;opacity:.8;margin-top:6px}.tname{white-space:nowrap}
@media(max-width:720px){.herogrid{grid-template-columns:1fr}}
.mono{display:inline-grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#1f6f4a,#3a9a6c);letter-spacing:.02em}.logo-s.mono{font-size:18px}.logo-xs.mono{font-size:10px;border-radius:6px}
.social{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px}.soc{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:99px;padding:3px 10px 3px 4px;text-decoration:none;color:var(--ink);font-size:13px;font-weight:600;background:#fff}.si{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:99px;color:#fff;font-size:10px;padding:0 4px}.si.instagram{background:linear-gradient(45deg,#f9a825,#e91e63,#7b1fa2)}.si.facebook{background:#1877f2}.si.tiktok{background:#111}.si.youtube{background:#e00}.si.linkedin{background:#0a66c2}.si.pinterest{background:#bd081c}.si.twitter{background:#000}.social em{font-style:normal;font-size:12px;color:var(--mut)}
.soc{} .box.socbox{background:#fdf0f6;border-color:#e91e63}.lp{padding-left:20px}.lp li,.box ol li{margin:4px 0}
.byline{font-size:13px;opacity:.85;margin:.2em 0}.bh{font-size:17px;margin:0 0 6px;display:flex;gap:8px}.fh{font-size:15px;color:#fff}.ch{font-size:18px;margin:0 0 6px}
.ig summary{margin-top:6px}.igrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:8px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}.sr{position:absolute;left:-9999px}
img{max-width:100%;height:auto}
/* profiles */
.phead{display:flex;gap:16px;align-items:center}.logo-l{width:84px;height:84px;object-fit:contain;background:#fff;border-radius:12px;padding:6px}.logo-l.mono{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:28px;color:#1f6f4a}
.hchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.hchip{background:#eef6f1;color:#1f4f37;border-radius:999px;padding:3px 10px;font-size:13px}.hchip a{color:inherit}
.pgrid{display:grid;grid-template-columns:2fr 1fr;gap:28px}.side .box{margin-bottom:16px}.map{width:100%;border:0;border-radius:8px}
@media(max-width:800px){.pgrid,.grid3{grid-template-columns:1fr}}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.take>div{background:#f7f8f6;border-radius:10px;padding:12px}.take h3{margin-top:0}
.rsum{display:flex;gap:8px;align-items:center;margin:6px 0}
.cb,.hb{display:grid;grid-template-columns:150px 1fr 70px;gap:8px;align-items:center;font-size:14px;margin:6px 0}.cb{grid-template-columns:130px 1fr 60px 60px}.cb small{color:#777}
.tr{position:relative;height:12px;background:#eceeea;border-radius:6px;display:block}.tr i{position:absolute;left:0;top:0;bottom:0;background:#8fb9a3;border-radius:6px}.cb .tr i,.hb.me .tr i{background:#1f6f4a}.tr u{position:absolute;top:-3px;bottom:-3px;width:2px;background:#333}
.hb a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb.lead b{color:#b07a00}.hb.me a{font-weight:700}
.charts{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:800px){.charts{grid-template-columns:1fr}}.chart{margin:0;background:#fafbf9;border:1px solid #e6e9e4;border-radius:10px;padding:12px}.chart figcaption{font-weight:700;margin-bottom:6px}
.radar{max-width:340px;width:100%}.radar .rg{fill:none;stroke:#dfe3dd}.radar .ra{fill:rgba(120,120,120,.18);stroke:#999}.radar .rc{fill:rgba(31,111,74,.3);stroke:#1f6f4a;stroke-width:2}.radar text{font-size:10px;fill:#444}
.simgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.simcard{display:flex;flex-direction:column;gap:4px;border:1px solid #e6e9e4;border-radius:10px;padding:12px;color:inherit;text-decoration:none}.simcard span{font-size:13px;color:#666}
.vote button{font-size:18px;border:1px solid #ccd;background:#fff;border-radius:8px;padding:6px 12px;margin-right:6px;cursor:pointer}.vote button.on{background:#eef6f1;border-color:#1f6f4a}
.applist li small{color:#777}
.strip figure.ph{margin:0;flex:0 0 auto}.strip figure.ph img{display:block}.strip figcaption{font-size:12px;color:#666;padding:3px 2px}
.phero .logo-l{background:rgba(255,255,255,.14)}.phero .loc,.phero .social em{color:#e6f2ea}.phero .social span{color:#fff}
/* global search */
.top .bar{gap:16px}.gs{position:relative;display:flex;gap:6px;flex:1;max-width:420px}.gs input{flex:1;padding:9px 12px;border:1px solid #cfd6cf;border-radius:999px;font:inherit;min-width:0}
.gs.big{max-width:720px;margin:14px 0}.gs.big input{padding:15px 20px;font-size:18px;border:0;box-shadow:0 4px 18px rgba(0,0,0,.15)}
.sugg{position:absolute;top:100%;left:0;right:0;z-index:50;background:#fff;border:1px solid #dde3dd;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.15);margin-top:6px;max-height:70vh;overflow:auto;color:#222;text-align:left}
.sgh{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6b766e;padding:10px 14px 4px}.sgi{display:flex;gap:10px;align-items:center;padding:7px 14px;color:#222;text-decoration:none}.sgi small{display:block;color:#6b766e}.sgi.act,.sgi:hover{background:#eef6f1}.sgi.all{border-top:1px solid #eee;font-weight:600;color:#1f6f4a}
.slogo{width:32px;height:32px;object-fit:contain;border-radius:6px;background:#f3f5f2;flex:0 0 32px}.slogo.mono{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#1f6f4a}
.sico{width:32px;height:32px;border-radius:6px;background:#eef6f1;flex:0 0 32px;position:relative}.sico:after{content:"🔎";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px}.sico.city:after{content:"📍"}.sico.guide:after{content:"📘"}.sico.category:after{content:"🗂"}.sico.service:after{content:"🌿"}
.sfil{display:flex;flex-direction:column;gap:8px;margin:16px 0}.chip.f2.on{background:#1f6f4a;color:#fff}
.slist{display:flex;flex-direction:column;gap:8px}.sres{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #e6e9e4;border-radius:10px;color:inherit;text-decoration:none}.sres:hover{border-color:#1f6f4a}.sres small{display:block;color:#666}.sres .slogo{width:48px;height:48px;flex-basis:48px}.open{color:#1f6f4a;font-style:normal;font-weight:600}
@media(max-width:800px){.top .gs{order:3;max-width:none;flex-basis:100%}}
/* visitor reviews */
.vrev{border:1px dashed #cfd6cf;border-radius:12px;padding:16px;margin-top:10px}.vrev form{display:grid;gap:8px;max-width:520px}.vrev input,.vrev textarea{font:inherit;padding:8px;border:1px solid #cfd6cf;border-radius:8px}
.starpick{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}.starpick input{display:none}.starpick label{font-size:26px;color:#ccc;cursor:pointer}.starpick input:checked~label,.starpick label:hover,.starpick label:hover~label{color:#e8a400}
.hp{position:absolute;left:-9999px}.vlist blockquote{margin:8px 0;padding:8px 12px;background:#f7f8f6;border-radius:8px}.vsum{font-weight:600}
.sugg b,.sugg .sgi{color:#1a2b20}.sugg .sgi.all{color:#1f6f4a}.slogo.dk{background:#1f6f4a}
.card .strip figure:nth-child(n+4){display:none}
