
/* Layout: a broadsheet front page (masthead, ears, 3-column front, column rules), then numbered "pages" (sections) like a print edition.
   Mercados is printed on salmon paper, Clasificados is a classifieds wall — the ironic nod to property portals. */
:root{
  --paper:#f2eee5; --paper-2:#e8e2d4; --salmon:#f1dccb; --ink:#1b1a17; --ink-2:#4a463f; --muted:#7a7468;
  --rule:#cdc5b4; --rule-strong:#1b1a17; --red:#b5161e; --red-ink:#fff;
  --s1:#1f4e79; --s2:#b5161e; --s3:#2f6b4f; --s4:#a8740e; --s5:#7a3b8f; --s6:#5d584f; --ctx:#cbc3b2; --grid:#ddd5c4;
  --neg:#2f5f8a; --mid:#d6cebd; --pos:#b5161e;
  --good:#2f7a35; --warn:#c48a00; --crit:#b5161e; --good-text:#2f6b2f;
  --gov-psoe:rgba(181,22,30,.07); --gov-pp:rgba(31,78,121,.09);
  --map-land:#e9e2d2; --map-edge:#8c8473; --map-shadow:0.18;
  --surface:var(--paper); --surface-2:var(--paper-2); --bg:var(--paper); --sign:var(--red); --sign-ink:#fff; --accent-text:var(--red);
  --grain-op:.5;
  --f-mast:"UnifrakturMaguntia","Old English Text MT",Georgia,serif;
  --f-head:"Newsreader",Georgia,"Times New Roman",serif;
  --f-body:"Newsreader",Georgia,"Times New Roman",serif;
  --f-ui:"Archivo","Arial Narrow",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --font-display:var(--f-head); --font-body:var(--f-body); --font-ui:var(--f-ui); --font-mono:var(--f-mono);
  --maxw:1240px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#191814; --paper-2:#23211c; --salmon:#2a211c; --ink:#ece6d8; --ink-2:#bfb7a6; --muted:#8f8878;
  --rule:#3a362e; --rule-strong:#ece6d8; --red:#ff5d55; --red-ink:#191814;
  --s1:#7aa7d6; --s2:#ff6b63; --s3:#5fb08a; --s4:#d9a53a; --s5:#c48ad6; --s6:#a49d8d; --ctx:#403c34; --grid:#2c2924;
  --neg:#6f9fd0; --mid:#46413a; --pos:#ff6b63; --good-text:#7cc47f;
  --gov-psoe:rgba(255,107,99,.08); --gov-pp:rgba(122,167,214,.10);
  --map-land:#2a2720; --map-edge:#6c6555; --map-shadow:0.45; --grain-op:.25; color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#191814; --paper-2:#23211c; --salmon:#2a211c; --ink:#ece6d8; --ink-2:#bfb7a6; --muted:#8f8878;
  --rule:#3a362e; --rule-strong:#ece6d8; --red:#ff5d55; --red-ink:#191814;
  --s1:#7aa7d6; --s2:#ff6b63; --s3:#5fb08a; --s4:#d9a53a; --s5:#c48ad6; --s6:#a49d8d; --ctx:#403c34; --grid:#2c2924;
  --neg:#6f9fd0; --mid:#46413a; --pos:#ff6b63; --good-text:#7cc47f;
  --gov-psoe:rgba(255,107,99,.08); --gov-pp:rgba(122,167,214,.10);
  --map-land:#2a2720; --map-edge:#6c6555; --map-shadow:0.45; --grain-op:.25; color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:70px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:var(--grain-op);mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .32 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration-color:var(--red);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--red)}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
h1,h2,h3,h4{margin:0;font-family:var(--f-head);text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:max(16px,3.5vw)}
.kicker{font-family:var(--f-ui);font-stretch:75%;font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.smallcaps{font-family:var(--f-ui);font-stretch:80%;font-weight:600;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--f-mono)}
.lbl{font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}

/* ===== masthead ===== */
.mast{padding-top:14px}
.dateline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--f-ui);font-stretch:85%;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding-bottom:8px;border-bottom:1px solid var(--rule-strong)}
.dateline b{color:var(--ink)}
.dateline .price{color:var(--red);font-weight:700}
.theme-btn{font:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:0;color:var(--ink);cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}
.mast-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;padding:14px 0 6px}
.logo{font-family:var(--f-mast);font-weight:400;font-size:clamp(3.2rem,1.4rem + 8vw,8.4rem);line-height:.95;letter-spacing:.005em;text-align:center;color:var(--ink);margin:0}
.logo a{text-decoration:none}
.ear{border:1px solid var(--rule-strong);padding:8px 10px;max-width:190px;font-family:var(--f-ui);font-stretch:85%;font-size:.78rem;line-height:1.3;color:var(--ink-2)}
.ear.r{justify-self:end;text-align:right}
.ear b{display:block;font-family:var(--f-head);font-size:1.6rem;font-weight:700;color:var(--ink);line-height:1.05;margin:2px 0}
.ear .up{color:var(--red)}
.motto{text-align:center;font-family:var(--f-head);font-style:italic;font-size:1.05rem;color:var(--ink-2);padding-bottom:10px}
.secnav{border-top:3px double var(--rule-strong);border-bottom:1px solid var(--rule-strong);display:flex;justify-content:center;gap:4px 22px;flex-wrap:wrap;padding:7px 0}
.secnav a{font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.secnav a:hover,.secnav a.on{color:var(--red)}
.mini{position:fixed;left:0;right:0;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule-strong);transform:translateY(-110%);transition:transform .25s ease;padding-top:env(safe-area-inset-top,0px)}
.mini.on{transform:none}
.mini .wrap{display:flex;align-items:center;gap:22px;min-height:48px}
.mini .ml{font-family:var(--f-mast);font-size:1.7rem;text-decoration:none;line-height:1}
.mini nav{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;margin-left:auto}
.mini nav a{font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.mini nav a.on{color:var(--red)}
@media (prefers-reduced-motion: reduce){.mini{transition:none}}

/* ticker */
.ticker{border-bottom:1px solid var(--rule-strong);overflow:hidden;white-space:nowrap;display:flex;align-items:center;font-family:var(--f-mono);font-size:.78rem}
.ticker .tl{flex:none;background:var(--ink);color:var(--paper);font-family:var(--f-ui);font-stretch:80%;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;padding:6px 10px;z-index:1}
.ticker .track{display:inline-flex;gap:28px;padding-left:28px;animation:tick 80s linear infinite}
.ticker:hover .track{animation-play-state:paused}
.ticker span b{font-weight:600;font-family:var(--f-ui);font-stretch:85%;letter-spacing:.04em;text-transform:uppercase;margin-right:6px}
.ticker .u{color:var(--red)} .ticker .d{color:var(--s1)}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.ticker .track{animation:none}.ticker{overflow-x:auto}}

/* ===== front page ===== */
.front{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6.2fr) minmax(0,3fr);gap:0;padding-block:20px 8px}
.front>*{padding-inline:20px;min-width:0}
.front>*:first-child{padding-left:0}
.front>*:last-child{padding-right:0}
.front>*+*{border-left:1px solid var(--rule)}
.lead .kicker{margin-bottom:8px}
.lead h2{font-size:clamp(2.2rem,1.3rem + 3.2vw,4.1rem);font-weight:800;line-height:1.0;letter-spacing:-.012em;font-variation-settings:"opsz" 72}
.lead .deck{font-style:italic;font-size:1.3rem;line-height:1.38;color:var(--ink-2);margin-top:14px}
.byline{font-family:var(--f-ui);font-stretch:85%;font-size:.8rem;letter-spacing:.04em;color:var(--muted);margin:14px 0 12px;padding-top:10px;border-top:1px solid var(--rule)}
.byline b{color:var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem}
.cols2{columns:2 15rem;column-gap:26px;column-rule:1px solid var(--rule);text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.cols2 p{margin-bottom:.7em}
.dropcap::first-letter{font-family:var(--f-head);font-weight:800;float:left;font-size:4.2em;line-height:.82;padding:.06em .08em 0 0;color:var(--red)}
.jump{font-family:var(--f-ui);font-stretch:85%;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--red);display:inline-block;margin-top:4px}
.box-title{font-family:var(--f-ui);font-stretch:80%;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;border-top:3px solid var(--rule-strong);border-bottom:1px solid var(--rule);padding:6px 0;margin-bottom:10px;display:flex;justify-content:space-between;align-items:baseline}
.box-title .live{color:var(--red);display:inline-flex;align-items:center;gap:6px}
.box-title .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1.6s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
@media (prefers-reduced-motion: reduce){.box-title .live::before{animation:none}}
.flash{list-style:none;margin:0 0 22px;padding:0}
.flash li{padding:8px 0;border-bottom:1px dotted var(--rule);font-size:.98rem;line-height:1.35}
.flash li b{display:block;font-family:var(--f-mono);font-size:.72rem;font-weight:500;color:var(--red);margin-bottom:2px}
.figs{display:grid;gap:0}
.fig{padding:10px 0;border-bottom:1px dotted var(--rule)}
.fig .v{font-family:var(--f-head);font-weight:800;font-size:2.3rem;line-height:1;font-variation-settings:"opsz" 72}
.fig .v small{font-size:.5em;font-weight:600;margin-left:2px}
.fig .l{font-size:.92rem;line-height:1.3;color:var(--ink-2);margin-top:3px}
.fig .s{font-family:var(--f-mono);font-size:.66rem;color:var(--muted);margin-top:3px}

/* classified coupon */
.coupon{display:block;width:100%;text-align:left;cursor:pointer;background:var(--paper);color:var(--ink);border:2px dashed var(--ink);padding:5px;font:inherit;position:relative}
.coupon .in{display:block;border:1px solid var(--ink);padding:12px 14px 12px}
.coupon .scis{position:absolute;top:-11px;left:14px;background:var(--paper);padding:0 4px;font-size:.9rem;line-height:1}
.coupon .hd{display:block;background:var(--ink);color:var(--paper);font-family:var(--f-ui);font-stretch:70%;font-weight:800;font-size:2rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;line-height:1.1;padding:4px 0}
.coupon .city{display:block;font-family:var(--f-ui);font-stretch:80%;font-weight:800;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;margin-top:10px}
.coupon .txt{display:block;font-family:var(--f-ui);font-stretch:85%;font-size:.92rem;line-height:1.35;color:var(--ink-2);margin-top:2px}
.coupon .pr{display:block;font-family:var(--f-head);font-weight:800;font-size:2.1rem;line-height:1;margin-top:8px;font-variation-settings:"opsz" 72}
.coupon .tel{display:block;font-family:var(--f-mono);font-size:.74rem;margin-top:8px;padding-top:6px;border-top:1px dotted var(--ink)}
.coupon:hover .hd{background:var(--red)}
.coupon-note{font-family:var(--f-ui);font-stretch:85%;font-size:.8rem;color:var(--muted);margin-top:8px;line-height:1.35}
.quote{margin-top:22px;border-top:3px solid var(--rule-strong);padding-top:10px}
.quote .q{font-family:var(--f-head);font-weight:600;font-style:italic;font-size:1.45rem;line-height:1.2}
.quote .q em{font-style:normal;color:var(--red)}
.quote .w{font-family:var(--f-ui);font-stretch:85%;font-size:.8rem;color:var(--muted);margin-top:6px}

/* ===== pages (sections) ===== */
.page{padding-block:clamp(44px,6vw,80px) 0}
.page-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:3px double var(--rule-strong);border-bottom:1px solid var(--rule-strong);padding:7px 0 6px;margin-bottom:22px}
.page-head .sec{font-family:var(--f-ui);font-stretch:75%;font-weight:800;font-size:1.05rem;letter-spacing:.18em;text-transform:uppercase}
.page-head .folio{font-family:var(--f-ui);font-stretch:85%;font-size:.74rem;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.title{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(18px,4vw,56px);align-items:end;margin-bottom:26px}
.title h2{font-size:clamp(2rem,1.3rem + 2.4vw,3.3rem);font-weight:800;line-height:1.02;letter-spacing:-.01em;font-variation-settings:"opsz" 72}
.title p{font-style:italic;font-size:1.15rem;line-height:1.45;color:var(--ink-2)}
.salmon{background:var(--salmon);margin-top:clamp(44px,6vw,80px);padding-bottom:40px}
.salmon .page{padding-top:28px}
.salmon .card,.salmon details.table th:first-child,.salmon details.table td:first-child{background:var(--salmon)}

/* controls */
.controls{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-bottom:14px}
.seg{display:inline-flex;flex-wrap:wrap;gap:0;border:1px solid var(--rule-strong)}
.seg button{font-family:var(--f-ui);font-stretch:85%;font-weight:600;font-size:.84rem;letter-spacing:.02em;border:0;background:transparent;color:var(--ink);padding:6px 12px;cursor:pointer}
.seg button+button{border-left:1px solid var(--rule-strong)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.seg button:hover:not([aria-pressed="true"]){background:var(--paper-2)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-family:var(--f-ui);font-stretch:85%;font-weight:600;font-size:.8rem;border:1px solid var(--rule);background:transparent;color:var(--ink-2);padding:3px 9px 3px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chip .sw{width:12px;height:3px;background:var(--ctx)}
.chip[aria-pressed="true"]{border-color:var(--ink);color:var(--ink);font-weight:700}
.chip:hover{border-color:var(--ink)}
select,input[type=number]{font-family:var(--f-ui);font-size:1rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:5px 2px;width:100%}
select{cursor:pointer}

/* figures / cards */
.card{min-width:0;border-top:2px solid var(--rule-strong);padding-top:10px}
.card h3{font-size:1.35rem;font-weight:700;line-height:1.15;margin:2px 0 4px;font-variation-settings:"opsz" 40}
.card .fn{font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.chart{position:relative;width:100%}
.chart svg{display:block;overflow:visible}
.chart text{font-family:var(--f-mono);font-size:10.5px;fill:var(--muted)}
.chart .grid line{stroke:var(--grid);stroke-width:1}
.chart .base{stroke:var(--ink);stroke-width:1}
.chart .xhair{stroke:var(--ink);stroke-width:1}
.chart .endlab{font-family:var(--f-ui);font-stretch:85%;font-size:12px;font-weight:700;fill:var(--ink)}
.chart .endval{font-family:var(--f-mono);font-size:10.5px;fill:var(--ink-2)}
.chart .ann{font-family:var(--f-ui);font-size:11px;fill:var(--ink-2)}
.legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-family:var(--f-ui);font-stretch:85%;font-size:.82rem;color:var(--ink-2);margin:4px 0 8px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{display:inline-block;width:14px;height:3px}
.legend i.box{height:10px;width:10px}
.src{font-family:var(--f-mono);font-size:.68rem;color:var(--muted);margin-top:10px;line-height:1.5}
.why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 40px}
.why .card.wide{grid-column:1/-1}
.why .card p.txt{font-size:1rem;line-height:1.5;color:var(--ink-2);margin:4px 0 10px;max-width:64ch}
.why .bignum{font-family:var(--f-head);font-weight:800;font-size:2.6rem;line-height:1;font-variation-settings:"opsz" 72;margin-top:4px}
.why .bignum small{font-size:.38em;font-weight:500;font-style:italic;margin-left:6px;color:var(--ink-2)}
.why-head{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:baseline;padding-top:6px;margin-top:16px;border-top:1px solid var(--rule-strong)}
.why-head:first-child{margin-top:0}
.why-head .n{font-family:var(--f-head);font-weight:800;font-size:2.6rem;line-height:1;color:var(--red);font-variation-settings:"opsz" 72}
.why-head h3{font-size:1.9rem;font-weight:800;line-height:1.05}
.why-head p{font-style:italic;color:var(--ink-2);margin-top:4px;max-width:70ch}
.price-layout{display:grid;gap:30px}

/* tooltip */
#tip{position:fixed;z-index:120;pointer-events:none;background:var(--paper);color:var(--ink);border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);padding:7px 10px;font-family:var(--f-ui);font-stretch:90%;font-size:.8rem;line-height:1.35;max-width:280px;opacity:0;transition:opacity .1s}
#tip.on{opacity:1}
#tip .tt{font-family:var(--f-mono);font-size:.68rem;color:var(--muted);margin-bottom:3px;text-transform:uppercase}
#tip .row{display:flex;align-items:center;gap:10px;justify-content:space-between}
#tip .row span:first-child{display:flex;align-items:center;gap:6px;color:var(--ink-2)}
#tip .key{width:12px;height:3px;display:inline-block}
#tip strong{font-family:var(--f-mono);font-weight:600}

/* actualidad */
.now{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0}
.now>*{min-width:0}
.now>*+*{border-left:1px solid var(--rule);padding-left:26px;margin-left:26px}
.claves{counter-reset:k}
.clave{padding:12px 0;border-bottom:1px dotted var(--rule);counter-increment:k}
.clave .c{font-family:var(--f-head);font-weight:800;font-size:1.9rem;line-height:1;color:var(--red);font-variation-settings:"opsz" 72}
.clave .c small{display:block;font-family:var(--f-ui);font-stretch:85%;font-weight:500;font-size:.74rem;color:var(--muted);margin-top:4px;letter-spacing:.02em}
.clave h3{font-size:1.1rem;font-weight:700;margin:8px 0 3px;line-height:1.2}
.clave h3::before{content:counter(k) ". ";color:var(--muted);font-weight:500}
.clave p{font-size:.95rem;color:var(--ink-2);line-height:1.45}
.clave a{font-family:var(--f-mono);font-size:.66rem;color:var(--muted)}
.feed-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.feed{columns:2 19rem;column-gap:26px;column-rule:1px solid var(--rule)}
.news{break-inside:avoid;padding:10px 0 12px;border-bottom:1px dotted var(--rule)}
.news .d{font-family:var(--f-mono);font-size:.68rem;color:var(--muted);text-transform:uppercase}
.news h4{font-size:1.18rem;font-weight:700;line-height:1.18;margin:3px 0 5px;font-variation-settings:"opsz" 40}
.news h4 a{text-decoration:none}
.news h4 a:hover{text-decoration:underline}
.news p{font-size:.94rem;line-height:1.45;color:var(--ink-2)}
.tag{display:inline-block;font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-right:6px}
.tag.hot{background:var(--red);color:var(--red-ink);padding:0 4px}
.more{margin-top:12px}
.more button{font-family:var(--f-ui);font-stretch:85%;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;background:none;border:1px solid var(--ink);color:var(--ink);padding:6px 14px;cursor:pointer}
.more button:hover{background:var(--ink);color:var(--paper)}
.pending{margin-top:26px;border:1px solid var(--rule-strong);padding:14px 18px;background:var(--paper-2)}
.pending h3{font-family:var(--f-ui);font-stretch:80%;font-weight:800;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.pending ul{margin:0;padding-left:18px;columns:2 18rem;column-gap:28px}
.pending li{margin:6px 0;font-size:.95rem;color:var(--ink-2);break-inside:avoid}
.pending li b{color:var(--ink)}
.parties{margin-top:30px}
.ptable{width:100%;border-collapse:collapse;font-size:.92rem}
.ptable th{font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--ink-2);border-bottom:2px solid var(--rule-strong);padding:6px 8px}
.ptable td{border-bottom:1px dotted var(--rule);padding:9px 8px;vertical-align:top}
.ptable td.p{font-family:var(--f-ui);font-stretch:85%;font-weight:800;white-space:nowrap}
.vote{font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border:1px solid currentColor;white-space:nowrap}
.vote.si{color:var(--s3)} .vote.no{color:var(--red)} .vote.abs{color:var(--muted)}
.ptable-wrap{overflow-x:auto}

/* map */
.map-shell{position:relative;border:1px solid var(--rule-strong);background:var(--paper)}
#map3d{position:relative;height:clamp(380px,58vw,640px);touch-action:pan-y}
#map3d canvas{display:block;width:100%;height:100%}
.map-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-ui);color:var(--muted);padding:24px;text-align:center}
.map-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.mlabel{position:absolute;transform:translate(-50%,-100%);font-family:var(--f-ui);font-stretch:85%;font-weight:600;font-size:.72rem;line-height:1.1;text-align:center;white-space:nowrap;color:var(--ink);text-shadow:0 0 3px var(--paper),0 0 3px var(--paper),0 0 6px var(--paper)}
.mlabel b{display:block;font-family:var(--f-mono);font-weight:600;font-size:.72rem}
.map-period{position:absolute;left:18px;top:12px;pointer-events:none;font-family:var(--f-head);font-weight:800;font-size:clamp(2.4rem,1.5rem + 3.6vw,4.4rem);line-height:.95;color:var(--ink);font-variation-settings:"opsz" 72}
.map-period small{display:block;font-family:var(--f-ui);font-stretch:85%;font-weight:600;font-size:.76rem;letter-spacing:.1em;color:var(--muted);margin-top:6px;text-transform:uppercase}
.map-legend{position:absolute;right:14px;bottom:76px;background:var(--paper);border:1px solid var(--ink);padding:9px 12px;font-family:var(--f-ui);font-stretch:90%;font-size:.78rem;color:var(--ink-2);max-width:230px;pointer-events:none}
.map-legend .bar{height:7px;margin:6px 0 3px;background:linear-gradient(90deg,var(--neg),var(--mid),var(--pos))}
.map-legend .ticks{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.66rem;color:var(--muted)}
.map-bar{display:flex;align-items:center;gap:14px;padding:10px 16px;border-top:1px solid var(--rule-strong);flex-wrap:wrap}
.play{width:38px;height:38px;border-radius:50%;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;display:grid;place-items:center;flex:none}
.play svg{width:15px;height:15px;fill:currentColor}
.slider{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}
input[type=range]{width:100%;accent-color:var(--red)}
.slider .ends{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.68rem;color:var(--muted)}
.map-hint{font-family:var(--f-ui);font-stretch:85%;font-size:.8rem;color:var(--muted);font-style:italic}
.map-touch{position:absolute;right:14px;bottom:14px;font-family:var(--f-ui);font-size:.8rem;font-weight:700;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:6px 12px;cursor:pointer}
.map-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:16px}
.map-notes p{font-size:.92rem;color:var(--ink-2);line-height:1.45;padding-inline:18px}
.map-notes p:first-child{padding-left:0}
.map-notes p+p{border-left:1px solid var(--rule)}
.map-notes b{color:var(--ink)}
.caption{font-family:var(--f-ui);font-stretch:85%;font-size:.8rem;color:var(--muted);margin-top:8px}
.caption b{color:var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}

/* mercados: stock table */
.quotes{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.quotes caption{text-align:left;font-family:var(--f-ui);font-stretch:80%;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;border-top:3px solid var(--rule-strong);padding:6px 0;border-bottom:1px solid var(--rule-strong)}
.quotes th{font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-align:right;padding:6px 5px;border-bottom:1px solid var(--rule-strong);white-space:nowrap}
.quotes th:first-child,.quotes td:first-child{text-align:left}
.quotes td{font-family:var(--f-mono);font-size:.8rem;text-align:right;padding:5px 5px;border-bottom:1px dotted var(--rule);white-space:nowrap}
.quotes td:first-child{font-family:var(--f-ui);font-stretch:85%;font-weight:700;font-size:.9rem}
.quotes tr:hover td{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.quotes .u{color:var(--red)} .quotes .d{color:var(--s1)}
.quotes-wrap{overflow-x:auto}
.mk-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr);gap:32px;align-items:start}

/* hemeroteca */
.tl-shell{border:1px solid var(--rule-strong);padding:10px 0 4px}
.tl-scroll{overflow-x:auto;scrollbar-width:thin}
#tlchart{min-width:1060px;padding-inline:12px}
#tlchart svg{display:block}
#tlchart text{font-family:var(--f-mono);font-size:10.5px;fill:var(--muted)}
#tlchart .gov{font-family:var(--f-ui);font-stretch:85%;font-size:12px;font-weight:700;fill:var(--ink)}
#tlchart .lane{font-family:var(--f-ui);font-stretch:85%;font-size:11px;font-weight:700;fill:var(--ink-2);letter-spacing:.06em;text-transform:uppercase}
#tlchart .dot{cursor:pointer}
#tlchart .dot.sel path{stroke:var(--ink);stroke-width:2.5}
#tlchart .dot.dim{opacity:.15}
.tl-filters{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin-bottom:12px}
.tl-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:34px;margin-top:22px;align-items:start}
.mcard{background:var(--paper-2);padding:22px 24px 18px;position:relative;transform:rotate(-.5deg);box-shadow:0 1px 0 var(--rule),4px 6px 0 -1px color-mix(in srgb,var(--ink) 10%,transparent);clip-path:polygon(0 1%,3% 0,8% .8%,14% 0,21% .9%,29% .1%,37% .8%,45% 0,53% .7%,61% .1%,69% .9%,77% 0,85% .8%,92% .1%,100% .7%,100% 99%,96% 100%,89% 99.2%,81% 100%,73% 99.1%,65% 100%,57% 99.3%,49% 100%,41% 99.2%,33% 100%,25% 99.1%,17% 100%,9% 99.2%,0 100%)}
@media (prefers-reduced-motion: reduce){.mcard{transform:none}}
.mcard::before{content:"";position:absolute;left:24px;right:24px;top:14px;height:3px;background:var(--mc,var(--ink))}
.mcard .when{font-family:var(--f-mono);font-size:.7rem;color:var(--muted);text-transform:uppercase;margin-top:6px}
.mcard h3{font-size:1.85rem;font-weight:800;line-height:1.05;margin:6px 0 4px;font-variation-settings:"opsz" 72}
.mcard .norma{font-style:italic;font-size:.92rem;color:var(--ink-2);margin-bottom:8px}
.mcard dl{margin:8px 0 0;display:grid;gap:10px}
.mcard dt{font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--red)}
.mcard dd{margin:2px 0 0;font-size:1rem;line-height:1.5}
.mcard .ctx{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dotted var(--ink-2);font-family:var(--f-ui);font-stretch:90%;font-size:.86rem;color:var(--ink-2)}
.mcard .ctx b{font-family:var(--f-mono);color:var(--ink)}
.tl-list{max-height:560px;overflow:auto;border-top:2px solid var(--rule-strong);scrollbar-width:thin}
.tl-item{display:grid;grid-template-columns:4.8rem 14px minmax(0,1fr);gap:10px;padding:9px 4px;border:0;border-bottom:1px dotted var(--rule);cursor:pointer;align-items:start;background:none;width:100%;text-align:left;color:inherit;font:inherit}
.tl-item:hover,.tl-item.sel{background:var(--paper-2)}
.tl-item .d{font-family:var(--f-mono);font-size:.7rem;color:var(--muted);padding-top:3px}
.tl-item .t{font-family:var(--f-head);font-weight:600;font-size:1rem;line-height:1.25}
.tl-item .w{font-family:var(--f-ui);font-stretch:85%;font-size:.72rem;color:var(--muted);display:block;margin-top:2px;letter-spacing:.04em;text-transform:uppercase}
.tl-item svg{margin-top:5px}

/* clasificados */
.ads{columns:4 13rem;column-gap:18px;column-rule:1px solid var(--rule);margin-bottom:34px}
.ad{break-inside:avoid;font-family:var(--f-ui);font-stretch:85%;font-size:.86rem;line-height:1.32;text-align:justify;hyphens:auto;padding:7px 0 9px;border-bottom:1px solid var(--rule);color:var(--ink-2)}
.ad b{color:var(--ink);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.ad .p{font-family:var(--f-mono);font-weight:600;color:var(--ink)}
.ad.box{border:2px solid var(--ink);padding:8px 10px;margin:6px 0 10px}
.ad.box b:first-child{display:block;background:var(--ink);color:var(--paper);text-align:center;padding:2px 0;margin:-8px -10px 6px;font-size:1rem;letter-spacing:.1em}
.ad .rf{display:block;font-family:var(--f-mono);font-size:.64rem;color:var(--muted);margin-top:3px}
.calc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px}
.calc form{border:2px dashed var(--ink);padding:6px;position:relative}
.calc form .in{border:1px solid var(--ink);padding:18px 18px 14px;display:grid;gap:16px}
.calc form .scis{position:absolute;top:-12px;left:16px;background:var(--paper);padding:0 4px}
.calc form h3{font-family:var(--f-ui);font-stretch:70%;font-weight:800;font-size:1.5rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;border-bottom:3px double var(--ink);padding-bottom:6px}
.field{display:grid;gap:2px}
.field label{font-family:var(--f-ui);font-stretch:85%;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.field .hint{font-family:var(--f-ui);font-stretch:90%;font-size:.76rem;color:var(--muted)}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.out{display:grid;gap:22px}
.out .card{display:grid;gap:8px}
.meter{height:9px;background:var(--paper-2);border:1px solid var(--ink);position:relative;overflow:hidden}
.meter i{position:absolute;inset:0 auto 0 0}
.meter .mk{position:absolute;top:0;bottom:0;width:1px;background:var(--ink)}
.status{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-ui);font-stretch:85%;font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.status svg{width:14px;height:14px}
.out .v{font-family:var(--f-head);font-weight:800;font-size:2.8rem;line-height:1;font-variation-settings:"opsz" 72}
.out .v small{font-size:.38em;font-weight:500;font-style:italic;color:var(--ink-2);margin-left:6px}
.out p{font-size:.92rem;color:var(--ink-2);line-height:1.45}
.out .k{font-family:var(--f-ui);font-stretch:80%;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}

/* fuentes */
.method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:28px}
.method>div{padding-inline:20px}
.method>div:first-child{padding-left:0}
.method>div+div{border-left:1px solid var(--rule)}
.method p{font-size:.95rem;color:var(--ink-2);line-height:1.5}
.method h3{font-size:1.15rem;font-weight:700;margin-bottom:6px}
.sources{columns:3 16rem;column-gap:26px;column-rule:1px solid var(--rule);font-family:var(--f-ui);font-stretch:90%;font-size:.86rem;color:var(--ink-2);padding-left:18px;margin:0}
.sources li{break-inside:avoid;margin:0 0 8px}
details.table{margin-top:10px;font-family:var(--f-ui);font-size:.82rem}
details.table summary{cursor:pointer;color:var(--ink);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.74rem}
details.table .tw{overflow-x:auto;max-height:320px;margin-top:8px}
details.table table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-family:var(--f-mono);font-size:.72rem}
details.table th,details.table td{padding:3px 8px;border-bottom:1px dotted var(--rule);text-align:right;white-space:nowrap}
details.table th:first-child,details.table td:first-child{text-align:left;position:sticky;left:0;background:var(--paper)}
footer.colophon{margin-top:70px;border-top:3px double var(--rule-strong);padding-block:20px 50px}
.colophon .row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:start}
.colophon .ml{font-family:var(--f-mast);font-size:2.6rem;line-height:1}
.colophon p{font-size:.9rem;color:var(--ink-2);max-width:80ch}
.colophon p+p{margin-top:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}



/* topes */
.tp-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:start}
.tp-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:34px}
.tp-cols>div{padding-inline:20px;min-width:0}.tp-cols>div:first-child{padding-left:0}.tp-cols>div+div{border-left:1px solid var(--rule)}
.tp-item{padding:10px 0;border-bottom:1px dotted var(--rule)}
.tp-item .who{font-family:var(--f-ui);font-stretch:80%;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.tp-item .tt{font-style:italic;font-size:.9rem;color:var(--muted)}
.tp-item p{font-size:.96rem;color:var(--ink-2);line-height:1.45;margin:3px 0}
.tp-item a{font-size:.66rem;color:var(--muted)}
.tp-caveat{margin-top:30px;border:1px solid var(--rule-strong);background:var(--paper-2);padding:14px 18px;font-size:.98rem;color:var(--ink-2)}
.tp-caveat b{color:var(--ink)}
@media (max-width:820px){.tp-grid,.tp-cols{grid-template-columns:minmax(0,1fr)}.tp-cols>div{padding-inline:0;border-left:0!important}}

/* archive */
.archive-banner{background:var(--ink);color:var(--paper);font-family:var(--f-ui);font-stretch:85%;font-size:.85rem;padding:8px 16px;text-align:center}
.archive-banner a{color:var(--paper);font-weight:700}
/* boletín */
.boletin{margin-top:clamp(50px,7vw,90px);border-top:3px double var(--rule-strong);border-bottom:3px double var(--rule-strong);padding-block:30px}
.boletin .grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center}
.boletin h2{font-size:clamp(2rem,1.3rem + 2.2vw,3rem);font-weight:800;line-height:1.02;font-variation-settings:"opsz" 72}
.boletin .deck{font-style:italic;font-size:1.12rem;color:var(--ink-2);margin-top:10px}
.boletin ul{margin:14px 0 0;padding-left:18px;color:var(--ink-2);font-size:.98rem}
.nl{border:2px solid var(--ink);padding:18px 18px 14px;display:grid;gap:12px;background:var(--paper)}
.nl .row{display:flex;gap:0}
.nl input[type=email]{flex:1;min-width:0;font-family:var(--f-ui);font-size:1rem;color:var(--ink);background:transparent;border:1px solid var(--ink);border-right:0;padding:10px 12px;border-radius:0}
.nl button{font-family:var(--f-ui);font-stretch:80%;font-weight:800;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:10px 16px;cursor:pointer;border-radius:0}
.nl button:hover{background:var(--red);border-color:var(--red);color:var(--red-ink)}
.nl button[disabled]{opacity:.6;cursor:wait}
.nl label.c{display:flex;gap:8px;align-items:flex-start;font-family:var(--f-ui);font-stretch:90%;font-size:.84rem;color:var(--ink-2);line-height:1.4}
.nl label.c input{margin-top:3px;accent-color:var(--red)}
.nl .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl .msg{font-family:var(--f-ui);font-stretch:90%;font-size:.9rem;min-height:1.3em}
.nl .msg.ok{color:var(--good-text)} .nl .msg.err{color:var(--red)}
.nl .fine{font-family:var(--f-mono);font-size:.66rem;color:var(--muted)}
.mini-nl{margin-top:22px;border-top:3px solid var(--rule-strong);padding-top:10px;font-size:.98rem}
.mini-nl a{font-family:var(--f-ui);font-stretch:85%;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red);text-decoration:none}
@media (max-width:820px){.boletin .grid{grid-template-columns:minmax(0,1fr)}}

@media (max-width:1000px){
  .front{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .front .lead{grid-column:1/-1;grid-row:1;padding:0 0 18px;border:0;border-bottom:1px solid var(--rule);margin-bottom:16px}
  .front>.left{padding-left:0;border-left:0}
  .mk-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .title,.now,.tl-detail,.calc{grid-template-columns:minmax(0,1fr)}
  .now>*+*{border-left:0;padding-left:0;margin-left:0;border-top:1px solid var(--rule);margin-top:20px;padding-top:12px}
  .why{grid-template-columns:minmax(0,1fr)}
  .map-notes,.method{grid-template-columns:minmax(0,1fr)}
  .map-notes p,.method>div{padding-inline:0;border-left:0!important;padding-block:6px}
  .ear{display:none}
  .mast-row{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .front{grid-template-columns:minmax(0,1fr)}
  .front>*{padding-inline:0!important;border-left:0!important}
  .front>.right{border-top:1px solid var(--rule)!important;padding-top:16px;margin-top:10px}
  .dateline .hide-s{display:none}
  .secnav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .secnav a{white-space:nowrap}
  .map-legend{left:12px;right:12px;bottom:12px;max-width:none}
  .field-row{grid-template-columns:minmax(0,1fr)}
  .colophon .row{grid-template-columns:minmax(0,1fr)}
}

.sub-mast .mast-row{padding:10px 0 2px}
.crumbs{font-family:var(--f-ui);font-stretch:85%;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:22px 0 6px}
.crumbs a{text-decoration:none}
.city-h{font-size:clamp(2.2rem,1.4rem + 3vw,4rem);font-weight:800;line-height:1;letter-spacing:-.012em;font-variation-settings:"opsz" 72;margin:4px 0 12px}
.city-deck{font-style:italic;font-size:1.25rem;line-height:1.4;color:var(--ink-2);max-width:62ch}
.city-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;margin-top:26px;align-items:start}
.city-body p{margin-bottom:.8em;max-width:66ch}
.city-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:3px solid var(--rule-strong);border-bottom:1px solid var(--rule);margin:26px 0}
.city-figs .fig{padding:12px 16px 12px 0;border-bottom:0}
.city-figs .fig+.fig{padding-left:16px;border-left:1px solid var(--rule)}
.city-list{columns:3 12rem;column-gap:24px;column-rule:1px solid var(--rule);padding:0;list-style:none;margin:0}
.city-list li{padding:6px 0;border-bottom:1px dotted var(--rule);break-inside:avoid;font-family:var(--f-ui);font-stretch:85%;display:flex;justify-content:space-between;gap:8px}
.city-list li a{font-weight:700;text-decoration:none}
.city-list li span{font-family:var(--f-mono);font-size:.8rem;color:var(--ink-2)}
.zone{border:1px solid var(--rule-strong);padding:10px 14px;background:var(--paper-2);font-size:.95rem;color:var(--ink-2);margin:14px 0}
.zone b{color:var(--ink)}
.ed-list{list-style:none;padding:0;margin:0}
.ed-list li{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px dotted var(--rule)}
.ed-list .n{font-family:var(--f-head);font-weight:800;font-size:1.6rem;color:var(--red)}
.ed-list h3{font-size:1.4rem;font-weight:700;line-height:1.15}
.ed-list p{color:var(--ink-2);font-size:.95rem}
.archive-banner{background:var(--ink);color:var(--paper);font-family:var(--f-ui);font-stretch:85%;font-size:.85rem;padding:8px 16px;text-align:center}
.archive-banner a{color:var(--paper);font-weight:700}
@media (max-width:820px){.city-grid{grid-template-columns:minmax(0,1fr)}.city-figs{grid-template-columns:repeat(2,minmax(0,1fr))}.city-figs .fig:nth-child(3){padding-left:0;border-left:0}}
