:root{--bg:#fbfaf8;--surface:#fff;--sunken:#ece6de;--line:#ece7e1;--line-2:#e7e2dc;--text:#1c1917;--text-2:#57534e;--muted:#6b625b;--accent:#c2410c;--accent-ink:#7c2d12;--accent-soft:#fff1e8;--best:#dcfce7;--best-fg:#14532d;--good:#e0f2fe;--good-fg:#0c4a6e;--ok:#f1eeea;--ok-fg:#57534e;--avoid:#fee2e2;--avoid-fg:#7f1d1d;--radius:18px;--shadow:0 1px 2px rgba(28,25,23,.05),0 8px 24px rgba(28,25,23,.06);--shadow-lift:0 2px 4px rgba(28,25,23,.06),0 12px 28px rgba(28,25,23,.1);--font-body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-head:"Bricolage Grotesque",Inter,system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:16px/1.55 var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.02em}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-head{border-bottom:1px solid var(--line);background:var(--bg)}.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px}.brand{font-family:var(--font-head);font-weight:800;font-size:24px;letter-spacing:-.02em}.brand span{color:var(--accent)}.mainnav{display:flex;flex-wrap:wrap;gap:4px;font-size:15px;font-weight:500;color:#44403c}.mainnav a{padding:10px 12px;border-radius:10px}@media (max-width:560px){.wrap{padding-left:16px;padding-right:16px}.mainnav a{padding:10px 8px}.monthbar{grid-template-columns:repeat(6,minmax(0,1fr))}}.site-foot{border-top:1px solid var(--line);margin-top:48px}.site-foot .wrap{padding-top:32px;padding-bottom:48px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:14px;color:var(--muted)}.site-foot p{margin:8px 0 0;max-width:36rem}.site-foot nav{display:flex;flex-wrap:wrap;gap:20px}.site-foot .brand{color:var(--text)}.hero{padding-top:56px;padding-bottom:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));grid-gap:40px;gap:40px;align-items:center}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.hero h1{margin:12px 0 16px;font-weight:800;font-size:clamp(40px,6vw,68px);line-height:1;letter-spacing:-.035em}.hero .lead{margin:0 0 22px;font-size:19px;color:var(--text-2);max-width:34rem}.hero-art{position:relative;min-height:440px}.hero-art .photo{position:absolute;inset:0 0 0 48px;border-radius:28px}.hero-art .float{position:absolute;left:0;bottom:36px;width:300px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;box-shadow:0 12px 32px rgba(28,25,23,.12)}.hero-art .float b{font-family:var(--font-head);font-size:20px}@media (max-width:720px){.hero-art{min-height:320px}.hero-art .photo{left:0}.hero-art .float{left:12px;bottom:12px;width:auto;right:12px}}.search{position:relative;max-width:36rem}.search .bar{display:flex;gap:8px;background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:6px;box-shadow:var(--shadow)}.search input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--text);font:16px var(--font-body);padding:0 16px;height:48px;border-radius:999px}.search input:focus{outline:0}.search .bar:focus-within{border-color:var(--accent)}.search button{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:600 15px var(--font-body);cursor:pointer}.search button:hover{background:#9a3412}.search.compact .bar{box-shadow:none;padding:4px}.search.compact button,.search.compact input{height:40px}.results{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lift);overflow:hidden}.results a{display:flex;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}.results a:last-child{border-bottom:0}.results img,.thumb{width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--sunken);flex:none}.results .status{gap:10px;padding:14px;color:var(--muted);font-size:14px}.chips,.results .status{display:flex;align-items:center}.chips{flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);font-size:14px;color:var(--text)}.chip.on{background:var(--text);border-color:var(--text);color:#fff}.chip.best{background:var(--best);border-color:#bbf7d0;color:var(--best-fg)}.chip.good{background:var(--good);border-color:#bae6fd;color:var(--good-fg)}.chip.avoid{border-color:#fecaca}.chip .meta{font-size:13px}.tag{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--ok);color:var(--ok-fg);text-transform:capitalize;white-space:nowrap}.tag.best{background:var(--best);color:var(--best-fg)}.tag.good{background:var(--good);color:var(--good-fg)}.tag.avoid{background:var(--avoid);color:var(--avoid-fg)}.tag.light{background:#fff;color:var(--text)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:14px;font-weight:600;font-size:15px;border:1px solid var(--line-2);padding:0 16px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#9a3412;color:#fff}.monthbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));grid-gap:6px;gap:6px;padding-top:8px;padding-bottom:8px}.monthbar a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);font-weight:600;font-size:14px;color:#44403c}.monthbar a.on{background:var(--text);border-color:var(--text);color:#fff}section{padding-top:28px;padding-bottom:28px}.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:20px}h2{font-size:32px;margin:0 0 6px}.sub{color:var(--muted);margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:20px;gap:20px}.ph{background-color:var(--sunken);background-image:repeating-linear-gradient(135deg,rgba(28,25,23,.045) 0 10px,transparent 10px 20px);background-size:cover;background-position:50%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);color:inherit}.card .img{aspect-ratio:4/3;position:relative}.card .img .tag{position:absolute;top:12px;left:12px}.card .body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}.card h3{margin:0;font-size:20px;letter-spacing:-.01em}.card p{margin:0;color:var(--text-2);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.meta{font-size:13px}.credit,.meta{color:var(--muted)}.credit{font-size:12px}.mini{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;transition:box-shadow .15s}.mini:hover{box-shadow:var(--shadow-lift);color:inherit}.mini .icon{flex:none;width:48px;height:48px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.mini b{font-size:15px;display:block}.box{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:24px;gap:24px;align-items:center}.empty{padding:24px 0}.crumbs,.empty{color:var(--muted)}.crumbs{font-size:14px}.page-title{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin:10px 0 20px}.page-title h1{margin:0 0 10px;font-weight:800;font-size:clamp(38px,6vw,64px);line-height:1;letter-spacing:-.035em}.gallery{display:grid;grid-template-columns:2fr 1fr;grid-gap:8px;gap:8px;height:420px}.gallery>:first-child{border-radius:22px 6px 6px 22px}.gallery .side{display:grid;grid-template-rows:1fr 1fr;grid-gap:8px;gap:8px}.gallery .side>:first-child{border-radius:6px 22px 6px 6px}.gallery .side>:last-child{border-radius:6px 6px 22px 6px}.gallery.one{grid-template-columns:1fr}.gallery.one>:first-child{border-radius:22px}@media (max-width:720px){.gallery{grid-template-columns:1fr;height:280px}.gallery .side{display:none}.gallery>:first-child{border-radius:22px}}.cover-hero{height:460px;border-radius:26px;position:relative;overflow:hidden}.cover-hero .over{position:absolute;left:0;right:0;bottom:0;padding:28px;background:rgba(28,25,23,.62);color:#fff;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px}.cover-hero .over a:hover{color:#fed7aa}.cover-hero h1{margin:6px 0;font-weight:800;font-size:clamp(44px,7vw,76px);line-height:1;letter-spacing:-.035em}.cover-hero .crumbs{color:#e7e5e4}.subnav{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line);margin-top:24px}.subnav .wrap{display:flex;flex-wrap:wrap;gap:24px;font-size:15px}.subnav a{display:inline-flex;align-items:center;min-height:48px;border-bottom:2px solid transparent;font-weight:500;color:var(--text-2)}.subnav a:hover{border-color:var(--accent)}.cols{display:flex;flex-wrap:wrap;gap:32px;padding-top:32px;padding-bottom:32px}.cols>.main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}.cols>aside{flex:1 1 300px;align-self:flex-start}.lede{margin:0;font-size:21px;line-height:1.5;color:var(--text)}.prose{color:var(--text-2);line-height:1.65}.prose p{margin:0 0 12px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px}.panel h2,.panel h3{margin:0;font-size:21px}.fact{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid #f1eeea;font-size:15px;line-height:1.5}.fact:last-child{border-bottom:0;padding-bottom:0}.fact .k{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:5px;gap:5px}.months div{text-align:center;padding:9px 0;border-radius:10px;font-size:12px;font-weight:600;background:var(--ok);color:var(--muted);display:flex;flex-direction:column;gap:2px}.months div span{font-size:11px;font-weight:500;text-transform:capitalize}.months .best{background:var(--best);color:var(--best-fg)}.months .good{background:var(--good);color:var(--good-fg)}.months .avoid{background:var(--avoid);color:var(--avoid-fg)}.months .now{outline:2px solid var(--accent);outline-offset:1px}@media (max-width:560px){.months{grid-template-columns:repeat(6,minmax(0,1fr))}}.legend{font-size:13px;color:var(--muted)}.note{margin:0;padding:12px 14px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);font-size:14px;line-height:1.5}.note.warn{background:var(--avoid);color:var(--avoid-fg)}.tips{background:var(--accent-soft);border:1px solid #fed7aa;color:var(--accent-ink)}.map-embed{width:100%;height:180px;border:0;border-radius:14px;background:var(--sunken)}.row-list{display:flex;flex-direction:column;gap:12px}.result{display:flex;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;transition:box-shadow .15s}.result:hover{box-shadow:var(--shadow-lift);color:inherit}.result .thumb{width:120px;height:96px;border-radius:12px}.result b{font-size:18px}.result p{margin:0;font-size:14px;color:var(--text-2)}@media (max-width:560px){.result .thumb{width:84px;height:84px}}.loader-screen{min-height:70vh;justify-content:center;padding:48px 24px}.loader,.loader-screen{display:flex;align-items:center}.loader{width:min(420px,100%);flex-direction:column;gap:18px;text-align:center}.loader svg{width:100%;height:auto;overflow:visible}.loader .route{fill:none;stroke:#d6cfc6;stroke-width:2.5;stroke-dasharray:2 9;stroke-linecap:round}.loader .trail{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:lp-trail 2.4s ease-in-out infinite}.loader .stop{fill:#fff;stroke:#d6cfc6;stroke-width:2.5}.loader .halo{fill:var(--accent);opacity:.18}.loader .stop.done{fill:var(--accent);stroke:var(--accent)}.loader .place{font-family:var(--font-head);font-weight:800;font-size:34px;letter-spacing:-.03em;line-height:1.1;min-height:1.1em}.loader .place span{display:inline-block;animation:lp-swap 1.2s ease-in-out both}.loader .where{font-size:14px;color:var(--muted);margin-top:-10px}.loader .label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.loader-inline{display:inline-flex;gap:4px}.loader-inline i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:lp-dot 1s ease-in-out infinite}.loader-inline i:nth-child(2){animation-delay:.15s}.loader-inline i:nth-child(3){animation-delay:.3s}@keyframes lp-trail{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes lp-swap{0%{opacity:0;transform:translateY(10px)}18%,82%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}@keyframes lp-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.loader .place span,.loader .trail,.loader-inline i{animation:none}.loader .trail{stroke-dashoffset:0}.card,.card:hover{transition:none;transform:none}}