:root{--bg:#FAF4E9;--surface:#FFFCF5;--text:#1A1410;--muted:#5A4530;--primary:#A6311F;--accent:#1D6A6E;--line:color-mix(in srgb,var(--text) 13%,transparent)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Georgia,'Iowan Old Style','Times New Roman',serif;line-height:1.66;font-size:17px}
h1,h2,h3,h4,.brand,nav.main a,.btn,th,.tag,.eyebrow,.stats b,.facts small,label{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}
h1{font-size:clamp(1.8rem,4.4vw,2.7rem);line-height:1.15;margin:.2em 0 .4em}h2{font-size:clamp(1.3rem,2.8vw,1.8rem);margin:1.6em 0 .5em}h3{font-size:1.15rem;margin:1.2em 0 .35em}
a{color:var(--primary)}img{max-width:100%;height:auto;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}.narrow{max-width:760px}
header.top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;flex-wrap:wrap}
.brand{font-size:1.1rem;font-weight:700;text-decoration:none;color:var(--text);white-space:nowrap}.brand span{color:var(--primary)}
nav.main{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}nav.main a{text-decoration:none;color:var(--text);padding:8px 10px;font-size:.92rem;white-space:nowrap}nav.main a:hover{color:var(--primary)}
nav.lang{display:flex;gap:6px;font-size:.8rem;font-family:'Helvetica Neue',Arial,sans-serif}nav.lang a{text-decoration:none;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:3px 5px}nav.lang a.on{color:var(--primary);font-weight:700;border-bottom:2px solid var(--primary)}
.hero{position:relative;min-height:min(64vh,540px);display:grid;align-items:end;overflow:hidden;background:var(--surface)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .in{position:relative;width:100%;padding:110px 0 34px;background:linear-gradient(to top,rgba(0,0,0,.84) 0%,rgba(0,0,0,.44) 55%,rgba(0,0,0,0) 100%);color:#fff}
.hero h1,.hero p{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.6);max-width:780px}.hero p{font-size:1.1rem}
.hero .credit{position:absolute;right:10px;bottom:6px;font-size:.7rem;color:#fff;opacity:.75}
.eyebrow{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.lead{font-size:1.1rem;color:var(--muted)}
.btn{display:inline-block;background:var(--primary);color:#fff!important;text-decoration:none;padding:11px 20px;font-weight:600;border-radius:3px;font-size:.98rem;border:0;cursor:pointer}
.btn.alt{background:transparent;color:var(--primary)!important;box-shadow:inset 0 0 0 1px var(--primary)}
.hero .btn.alt{color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.85)}.btns{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:26px 0}
.stats div{background:var(--surface);padding:14px 16px;border-top:2px solid var(--primary)}.stats b{display:block;font-size:1.9rem;line-height:1.1}.stats span{color:var(--muted);font-size:.87rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:14px 0 32px}
.card{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%}.card .b{padding:13px 15px 16px;flex:1}.card h3{margin:0 0 5px;font-size:1.08rem}.card h3 a{text-decoration:none;color:var(--text)}.card h3 a:hover{color:var(--primary)}.card p{margin:0;color:var(--muted);font-size:.9rem}
.tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;padding:2px 7px;border:1px solid var(--line);border-radius:999px;margin:0 4px 6px 0;color:var(--muted)}
.tag.ours{background:var(--accent);color:#fff;border-color:var(--accent)}.tag.free{color:var(--accent);border-color:var(--accent)}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;background:var(--surface);border:1px solid var(--line);padding:14px 16px;margin:18px 0}
.filters label,.planner label{display:block;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.filters select,.planner select{width:100%;padding:9px 10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;font-size:.95rem}
.count{color:var(--muted);font-size:.9rem;margin:6px 0 10px}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.93rem}table#tbl{min-width:680px}
article table{font-size:.9rem}article table th,article table td{padding:8px 7px}
th,td{border-bottom:1px solid var(--line);padding:10px 9px;text-align:left;vertical-align:top}th{background:var(--surface);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}
td small{color:var(--muted)}.tbd{color:var(--muted);font-style:italic}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:8px;margin:20px 0}
.facts div{background:var(--surface);border:1px solid var(--line);padding:11px 13px}.facts small{display:block;color:var(--muted);font-size:.73rem;letter-spacing:.07em;text-transform:uppercase}.facts b{font-weight:600;font-size:1rem}
.box{background:var(--surface);padding:18px 20px;margin:24px 0;border-left:3px solid var(--primary)}.box.ours{border-left-color:var(--accent)}.box h2,.box h3{margin-top:0}
figure{margin:20px 0}figcaption{font-size:.84rem;color:var(--muted);margin-top:5px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:18px 0 30px}.gal figure{margin:0}.gal img{aspect-ratio:16/10;object-fit:cover;width:100%}.gal figcaption{font-size:.78rem}
.crumbs{font-size:.84rem;color:var(--muted);margin:16px 0 4px}.crumbs a{color:var(--muted)}
.meta{color:var(--muted);font-size:.89rem;margin-bottom:16px}
.notice{font-size:.85rem;color:var(--muted)}
details{background:var(--surface);padding:10px 15px;margin:8px 0}summary{cursor:pointer;font-weight:700}
article p,article li{font-size:1.04rem}
ul.clean{list-style:none;padding:0}ul.clean li{padding:7px 0;border-bottom:1px solid var(--line)}
.cd{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.cd div{background:var(--bg);border:1px solid var(--line);padding:10px 14px;min-width:78px;text-align:center}
.cd b{display:block;font-size:1.7rem;font-family:'Helvetica Neue',Arial,sans-serif;line-height:1.1}.cd span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.planner{background:var(--surface);border:1px solid var(--line);padding:18px 20px;margin:18px 0}
.planner .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.plan{margin:22px 0}.plan .day{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--primary);padding:14px 18px;margin:12px 0}
.plan .day h3{margin:0 0 6px}.plan .day ol{margin:6px 0 0;padding-left:20px}.plan .day li{margin:5px 0}
.plan .tips{background:var(--surface);border:1px solid var(--line);padding:14px 18px;margin:12px 0}.plan .tips ul{margin:6px 0 0;padding-left:20px}
footer.foot{background:var(--surface);margin-top:54px;padding:32px 0 26px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:20px}footer h4{margin:0 0 7px;color:var(--text)}footer a{color:var(--text)}footer ul{list-style:none;padding:0;margin:0}footer li{margin:4px 0}
@media(max-width:640px){body{font-size:16px}.hero{min-height:54vh}.hero .in{padding-top:70px}nav.main a{padding:8px 7px;font-size:.85rem}}
