:root{--papel:#FBF7F0;--crema:#F3ECE0;--tinta:#2B2118;--suave:#5E4B3C;--borde:#E2D7C6;--barro:#C85A32;--barro-osc:#A9471F;--tal:#1D5B79;
--serif:"Fraunces",Georgia,serif;--sans:"Plus Jakarta Sans",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--papel:#1C1712;--crema:#27201A;--tinta:#F1E8DA;--suave:#C2B49F;--borde:#3A3027;--barro:#E07A50;--barro-osc:#C8643C;--tal:#7DB3D0;color-scheme:dark}}
:root[data-theme="dark"]{--papel:#1C1712;--crema:#27201A;--tinta:#F1E8DA;--suave:#C2B49F;--borde:#3A3027;--barro:#E07A50;--barro-osc:#C8643C;--tal:#7DB3D0;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font:16px/1.55 var(--sans)}
a{color:var(--tal)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--tal);outline-offset:2px}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(env(safe-area-inset-top) + 8px) 16px 8px;background:color-mix(in srgb,var(--papel) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--borde)}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:700 19px var(--serif);min-width:0}
.brand img{border-radius:50%;flex:none}
.brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wrap{max-width:880px;margin:0 auto;padding:20px 16px 56px;display:grid;gap:28px}
.wrap>*{min-width:0}
.crumbs{font-size:13px;color:var(--suave)}.crumbs a{color:var(--suave)}
.head{display:grid;gap:10px}
.kicker{margin:0;display:flex;flex-wrap:wrap;gap:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--barro)}
h1{margin:0;font:700 clamp(2rem,6vw,3rem)/1.08 var(--serif);text-wrap:balance}
h2{margin:0 0 12px;font:700 1.35rem/1.2 var(--serif);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
h2 a{color:inherit;text-decoration:none}h2 a:hover{text-decoration:underline}
h2 small{font:600 14px var(--sans);color:var(--suave)}
h3{margin:4px 0;font:700 1.05rem var(--sans)}
.lead{margin:0;font-size:1.12rem;max-width:62ch}
.small{font-size:14px;color:var(--suave);margin:8px 0 0}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--borde);background:var(--crema);color:var(--tinta);font-weight:700;text-decoration:none}
.btn:hover{border-color:var(--suave)}
.btn-primary{background:var(--barro-osc);border-color:var(--barro-osc);color:#fff}.btn-primary:hover{background:#8F3B18}
.btn-map{min-height:38px;padding:0 14px;font-size:14px;flex:none}
.block{border-top:1px solid var(--borde);padding-top:20px}
.info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 24px;margin:0}
.info dt{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--suave)}
.info dd{margin:2px 0 0;font-weight:600}
.day{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--c);color:#fff;font:800 12px var(--sans);letter-spacing:.02em;text-transform:none;text-decoration:none;white-space:nowrap}
.day b{font-weight:800;opacity:.85}
.dot{width:12px;height:12px;border-radius:50%;background:var(--c);flex:none}
.daynav,.chips{display:flex;flex-wrap:wrap;gap:8px}
.daynav .day{padding:8px 14px;font-size:14px}
.daynav .day.on{outline:3px solid var(--tinta);outline-offset:2px}
.chip{display:inline-flex;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--borde);background:var(--crema);color:var(--tinta);font-size:14px;font-weight:700;text-decoration:none}
.chip b{color:var(--suave)}
.list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.list li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--borde)}
.list li>a{display:grid;gap:2px;color:inherit;text-decoration:none;min-width:0}
.list li>a:hover .n{text-decoration:underline}
.list .n{font-weight:700;color:var(--tal)}
.list .m{font-size:14px;color:var(--suave)}
.list .u{font-size:13px;color:var(--suave)}
.list li .day{flex:none;margin-top:2px}
.list li .day+.day{margin-left:-8px}
.links{margin:0;padding-left:18px;display:grid;gap:6px}
.hz{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:12px}
.hz li{background:var(--crema);border:1px solid var(--borde);border-radius:14px;padding:14px 16px}
.hz .tag{font-size:12px;font-weight:800;color:var(--barro)}
.hz .tip{margin:6px 0 0;font-style:italic}
.empty{margin:0 0 12px;color:var(--suave)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.matrix{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:14px}
.matrix th,.matrix td{padding:8px 6px;border-bottom:1px solid var(--borde);text-align:right}
.matrix th[scope=row],.matrix thead th:first-child{text-align:left;white-space:nowrap}
.matrix thead th a{display:inline-block;min-width:28px;padding:2px 6px;border-radius:999px;background:var(--c);color:#fff;text-decoration:none;text-align:center}
.matrix td a{font-weight:700;text-decoration:none}.matrix td a:hover{text-decoration:underline}
.matrix td.t{font-weight:800}.matrix td.z{color:var(--borde)}
.matrix tfoot th,.matrix tfoot td{font-weight:800;border-bottom:0}
.foot{border-top:1px solid var(--borde);padding:24px 16px calc(32px + env(safe-area-inset-bottom));max-width:880px;margin:0 auto;font-size:13px;color:var(--suave)}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:10px;font-weight:700}
@media (max-width:520px){.brand span{font-size:17px}.list li{flex-direction:column;gap:6px}.list li .day+.day{margin-left:0}}
