:root{--bg:#faf7f2;--card:#fff;--ink:#1f1b16;--muted:#6b6258;--accent:#b5541c;--line:#e8e1d7;--star:#d99a1e}
@media (prefers-color-scheme:dark){:root{--bg:#16130f;--card:#201c17;--ink:#f1ece4;--muted:#a99f93;--accent:#e98a4f;--line:#332d26;--star:#f0b43c}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Inter,system-ui,sans-serif}
a{color:var(--accent)}img{max-width:100%;display:block}
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;max-width:1100px;margin:0 auto;padding:20px 16px}
.logo{font:700 26px/1 Fraunces,serif;color:var(--ink);text-decoration:none}.logo span{color:var(--accent)}
nav a{margin-left:18px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}nav a:first-child{margin-left:0}
main{max-width:1100px;margin:0 auto;padding:0 16px 48px}
.intro{padding:40px 0 28px;max-width:720px}.intro h1{font:700 clamp(32px,5vw,52px)/1.1 Fraunces,serif;margin:0 0 12px}.intro p{color:var(--muted);font-size:19px;margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;color:inherit;text-decoration:none;transition:transform .15s}
.card:hover{transform:translateY(-3px)}.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card-b{padding:16px 18px 20px}.card h2{font:700 24px/1.2 Fraunces,serif;margin:6px 0 8px}.card p{margin:0 0 10px;color:var(--muted);font-size:15px}
.cat{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0}
.stars{color:var(--star);letter-spacing:2px}.stars .out{color:var(--line)}
.review{max-width:760px;margin:0 auto}.review h1{font:700 clamp(30px,4.5vw,46px)/1.12 Fraunces,serif;margin:8px 0}
.byline{color:var(--muted);font-size:15px;margin:0 0 8px}.rating{font-size:20px;margin:6px 0 18px}
.hero{margin:18px 0}.hero img{border-radius:14px;width:100%;max-height:640px;object-fit:cover}
figcaption{font-size:14px;color:var(--muted);margin-top:6px}
.prose h2,.review>h2{font:700 26px/1.2 Fraunces,serif;margin:32px 0 10px}.prose ul{padding-left:20px}.prose li{margin-bottom:8px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.gallery img{border-radius:10px;aspect-ratio:3/4;object-fit:cover;width:100%}
.gallery figure{margin:0}
.map iframe{width:100%;height:340px;border:0;border-radius:14px}
.btn{display:inline-block;margin-top:14px;padding:12px 18px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600}
.ad{margin:32px 0;min-height:90px}
footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:14px;padding:28px 16px}
@media (max-width:600px){nav a{margin-left:12px}.top{padding:16px}}
.ficha{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:24px 0}
.ficha h2{font:700 20px/1.2 Fraunces,serif;margin:0 0 10px}
.ficha dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:15px}.ficha dt{color:var(--muted)}.ficha dd{margin:0}
.scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:14px}
.scores span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:24px 0}
.tip{border-radius:12px;padding:14px 18px;border:1px solid var(--line);background:var(--card)}.tip h3{margin:0 0 6px;font-size:16px}.tip ul{margin:0;padding-left:18px}
.tip.ok{border-left:4px solid #3b8a4a}.tip.no{border-left:4px solid #b5541c}
.disclosure{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.author{display:flex;gap:14px;align-items:center;margin:36px 0 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-size:15px}
.author img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}.author p{margin:0}
.about-photo{float:right;width:240px;margin:0 0 16px 20px;border-radius:14px}
@media (max-width:600px){.about-photo{float:none;width:100%;margin:0 0 16px}.ficha dl{grid-template-columns:1fr}.ficha dd{margin-bottom:6px}}
.stars{white-space:nowrap}.scores .stars{letter-spacing:0;font-size:15px}.scores b{font-size:13px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.chips a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;background:var(--card)}.chips a.on{background:var(--accent);border-color:var(--accent);color:#fff}
.label{display:inline-block;margin-left:8px;padding:3px 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;vertical-align:middle}
.prose table{border-collapse:collapse;margin:12px 0 20px;min-width:280px}.prose th,.prose td{border-bottom:1px solid var(--line);padding:8px 14px;text-align:left}
