:root{--bg:#fbfaf7;--fg:#1b2420;--mut:#5b6862;--ac:#A8204E;--line:#dfe3df;--card:#fff;--warn:#8a4b00}
@media(prefers-color-scheme:dark){:root{--bg:#121714;--fg:#e8ede9;--mut:#9aa8a0;--ac:#F07AA0;--line:#2b3430;--card:#1a211d;--warn:#f0b35a}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}a{color:var(--ac)}h1{font-size:1.9rem;line-height:1.2;margin:1.2rem 0 .6rem}h2{font-size:1.35rem;margin:2rem 0 .5rem}h3{font-size:1.1rem;margin:1.5rem 0 .4rem}h4{margin:1rem 0 .3rem;font-size:1rem}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:6px}
header{border-bottom:1px solid var(--line)}.hd{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}.logo{font-weight:700;color:var(--fg);text-decoration:none}.hd nav a{margin-left:16px;text-decoration:none}
.bc{font-size:.85rem;color:var(--mut);margin-top:14px}.bc a{color:var(--mut)}
.lede{font-size:1.1rem}.mut{color:var(--mut);font-size:.9rem}.note{font-size:.88rem;color:var(--mut);border-left:3px solid var(--line);padding:2px 10px;margin:12px 0}.med{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:.92rem}
.stamp{font-size:.82rem;color:var(--mut);border-top:1px solid var(--line);margin-top:2rem;padding-top:10px}.warn{color:var(--warn);font-size:.88rem}
.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.93rem}th,td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-weight:600;font-size:.82rem;color:var(--mut)}td:not(:first-child),th:not(:first-child){text-align:right;white-space:nowrap}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.two{grid-template-columns:1fr}}
.cols{columns:2;padding-left:18px}@media(max-width:560px){.cols{columns:1}}.cols li{margin:3px 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0}.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;text-decoration:none;color:var(--fg)}.card span{display:block;color:var(--mut);font-size:.9rem;margin-top:4px}
details{border-bottom:1px solid var(--line);padding:8px 0}summary{cursor:pointer;font-weight:600}
footer{border-top:1px solid var(--line);margin-top:3rem;padding:18px 0 40px;font-size:.85rem;color:var(--mut)}.disc{max-width:70ch}

/* ===== v2 identity, designer 2026-11-09 (brief: ../design.md) ===== */
@font-face{font-family:"Public Sans";font-weight:400;font-display:swap;src:url(/fonts/public-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-weight:600;font-display:swap;src:url(/fonts/public-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-weight:700;font-display:swap;src:url(/fonts/public-sans-latin-700-normal.woff2) format("woff2")}
:root,:root:not([x]){color-scheme:light;--bg:#F8F6F0;--fg:#1B2420;--t:#1B2420;--mut:#55605A;--ac:#A8204E;--line:#D9D6CB;--row:#E9E6DC;--card:#fff;--surf:#fff;--warn:#8a4b00}
@media(prefers-color-scheme:dark){:root{--bg:#F8F6F0;--fg:#1B2420;--t:#1B2420;--mut:#55605A;--ac:#A8204E;--line:#D9D6CB;--row:#E9E6DC;--card:#fff;--surf:#fff;--warn:#8a4b00}}
body{font:17px/1.6 "Public Sans",system-ui,sans-serif;background:var(--bg);color:var(--fg)}
h1,h2,h3{font-family:"Public Sans",system-ui,sans-serif;font-weight:600;letter-spacing:-.005em}h1{font-size:32px;line-height:1.15}h2{font-size:24px;line-height:1.25}h3{font-size:20px;line-height:1.3;margin-top:2.2rem;padding-top:1rem;border-top:2px solid var(--fg)}h4{font-size:16px}
.wrap{max-width:72rem;padding:0 16px}main.wrap{padding-bottom:48px}main.wrap>:not(.hero):not(figure){max-width:46rem}
header{background:var(--bg);border-bottom:1px solid var(--line)}.hd{min-height:64px}.logo svg{height:32px;width:auto;display:block}.hd nav a{color:var(--fg);font-weight:600;font-size:16px;margin-left:20px;padding:10px 0}.hd nav a:hover{color:var(--ac)}
@media(max-width:599px){.hd{padding-top:10px;padding-bottom:0}.hd .logo{flex:1 0 100%}.logo svg{height:28px}.hd nav{flex:1 0 100%;display:flex;justify-content:space-between}.hd nav a{margin:0}}
.kicker{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ac);margin:24px 0 8px}
.facts{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--fg);margin:20px 0 24px}.fact{padding:12px 16px 12px 0}.fact+.fact{padding-left:16px;border-left:1px solid var(--line)}.fact b{display:block;font:600 30px/1.1 "Public Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums}.fact b.ac{color:var(--ac)}.fact span{display:block;font-size:15px;color:var(--mut);line-height:1.4;margin-top:4px}
.btn{display:inline-block;background:var(--ac);color:#fff;font-weight:600;text-decoration:none;padding:12px 20px;border-radius:4px}.btn:hover{background:#86193E}
.panel{background:var(--surf);border:1px solid var(--line);border-radius:6px}.panel.chart h2{font-size:20px;margin:0 0 6px}.src{font-size:14px;color:var(--mut);margin:12px 0 0}
@media(min-width:960px){.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:start}.hero h1{font-size:44px}.hero .panel{margin-top:24px}}
.links{list-style:none;padding:0;margin:8px 0 24px;border-top:1px solid var(--line)}.links a{display:block;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--fg)}.links strong{display:block;color:var(--ac)}.links span{color:var(--mut);font-size:15px}
.spread{margin:12px 0 20px;max-width:46rem}.sp-trk{position:relative;height:28px;margin:0 6px}.sp-trk:before{content:"";position:absolute;left:0;right:0;top:13px;height:1px;background:var(--line)}.sp-band{position:absolute;top:7px;height:14px;background:var(--ac);opacity:.14;border-radius:3px}.sp-d{position:absolute;top:9px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--fg);opacity:.55}.sp-nat{position:absolute;top:4px;width:20px;height:20px;margin-left:-10px;border-radius:50%;border:2.5px solid var(--ac);background:transparent}
.sp-lab{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--mut);margin-top:4px}.sp-lab b{color:var(--fg)}.sp-lab .c{text-align:center}.sp-lab .r{text-align:right}.spread figcaption{font-size:13px;color:var(--mut);margin-top:6px}
@media(max-width:599px){.sp-lab{display:grid;grid-template-columns:1fr 1fr}.sp-lab .c{grid-column:1/3;grid-row:2;text-align:left}}

.panel.chart{padding:20px 20px 12px}.panel.chart .psub{font-size:15px;color:var(--mut);margin:0 0 12px}
.strip{list-style:none;margin:0;padding:0;font-variant-numeric:tabular-nums}
.strip a{display:grid;grid-template-columns:9.5rem 1fr 9.5rem;align-items:center;gap:12px;min-height:34px;color:var(--t);text-decoration:none;font-size:15px;border-bottom:1px solid var(--row)}
.strip a:hover .sn{text-decoration:underline;color:var(--ac)}
.sn{text-align:right}.sv{text-align:right;color:var(--mut)}
.trk{position:relative;height:12px}.sg{position:absolute;top:-6px;bottom:-6px;width:1px;background:var(--row)}
.sr{position:absolute;top:2px;height:8px;border-radius:4px;background:var(--t);opacity:.25}
.sd{position:absolute;top:0;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--t)}
.hl .sd,.hl .sr{background:var(--ac)}.hl .sn,.hl .sv{color:var(--ac);font-weight:600}
.sx{display:grid;grid-template-columns:9.5rem 1fr 9.5rem;gap:12px;height:24px;font-size:13px;color:var(--mut)}.sxi{grid-column:2;position:relative}.sxi span{position:absolute;top:4px;transform:translateX(-50%);white-space:nowrap}
@media(max-width:600px){.strip a{grid-template-columns:1fr auto;grid-template-areas:"n v" "t t";row-gap:4px;padding:8px 0}.sn{grid-area:n;text-align:left;font-weight:600}.sv{grid-area:v}.trk{grid-area:t}.sx{display:block;position:relative;height:24px}.sxi{display:block;position:relative}}
figure.chart{margin:24px 0;padding:20px 20px 12px}
/*designer 2026-11-09: 4+ column tables stacked on phones*/@media(max-width:599px){.scroll:has(table.stk){overflow:visible}table.stk thead{display:none}table.stk,table.stk tbody,table.stk tr{display:block;width:100%}table.stk tr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}table.stk td{display:block;border:0;padding:0;text-align:left}table.stk td:first-child{grid-column:1/-1;font-weight:600}table.stk td[data-l]:before{content:attr(data-l);display:block;font-size:12px;color:var(--mut);font-weight:400}}
@media(max-width:599px){table.stk tr{grid-template-columns:repeat(4,minmax(0,1fr))}table.stk td[data-l]:before{line-height:1.25;margin-bottom:2px;min-height:2.5em}table.stk td{overflow-wrap:anywhere}}
@media(max-width:599px){table.stk td:not(:first-child){white-space:normal;text-align:left}}
main.wrap>section{max-width:60rem}main.wrap>section .spread{max-width:60rem}@media(min-width:960px){main.wrap>ul.cols{max-width:60rem;columns:3}}
@media(max-width:599px){.fact b{font-size:24px}}
/*designer 2026-11-09: chain comparison bars*/.chbars{max-width:60rem}.cb{list-style:none;margin:8px 0 0;padding:0}.cb a{display:grid;grid-template-columns:11rem 1fr 9rem;gap:12px;align-items:center;min-height:34px;border-bottom:1px solid var(--row);color:var(--fg);text-decoration:none;font-size:15px}.cb a:hover .cb-n{color:var(--ac);text-decoration:underline}.cb-n{text-align:right}.cb-bar{display:flex;height:12px;border-radius:2px;overflow:hidden;background:var(--row)}.cb-bar i{display:block;height:100%}.cb-bar .lo{background:var(--ac)}.cb-bar .eq{background:#D9D6CB}.cb-bar .hi{background:#55605A}.cb-v{color:var(--mut);font-size:14px;text-align:right;white-space:nowrap}.cb-v b{color:var(--fg)}
@media(max-width:599px){.cb a{grid-template-columns:1fr auto;grid-template-areas:"n v" "b b";row-gap:4px;padding:8px 0}.cb-n{grid-area:n;text-align:left;font-weight:600}.cb-v{grid-area:v}.cb-bar{grid-area:b}}
/*designer 2026-11-09: product list with medians*/.plist{list-style:none;padding:0;margin:8px 0 24px;border-top:2px solid var(--fg);max-width:60rem}@media(min-width:760px){.plist{columns:2;column-gap:40px}}.plist li{break-inside:avoid}.plist a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--row);text-decoration:none;color:var(--fg)}.plist a:hover strong{color:var(--ac);text-decoration:underline}.pl-n{display:flex;flex-direction:column;min-width:0}.pl-n small{color:var(--mut);font-size:14px;line-height:1.35}.plist b{font:600 18px/1.3 "Public Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}

.ad-slot{margin:24px 0;padding:8px 0 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:280px;max-width:44rem}@media(min-width:960px){.ad-slot{min-height:250px}}.ad-label{font-weight:600;font-size:12px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin:0 0 8px}.ad-slot[hidden]{display:none}
/*designer 2026-11-09c: stacked tables show their column labels once (sticky) instead of on every row — city pages repeated "Mediana aquí / Mediana nacional / Diferencia / Obs." 20 times*/
@media(max-width:599px){table.stk thead{display:block;position:sticky;top:0;z-index:1;background:var(--bg,#F6F4EE);border-bottom:2px solid var(--t,#1F1D1A)}table.stk thead tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 10px;padding:6px 0;border-bottom:0}table.stk thead th{display:block;padding:0;border:0;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.25;color:var(--mut);font-weight:600;text-align:left}table.stk thead th:first-child{display:none}table.stk td[data-l]:before{display:none}}

/*designer 2026-11-09d: own identity — Public Sans + rosa mexicano (was Source Serif + a green close to homologa)*/h1,h2,h3{font-weight:700;letter-spacing:-.02em}.fact b{font-weight:700;letter-spacing:-.02em}body{font-size:16.5px}
@media(max-width:420px){.kicker{font-size:13px;letter-spacing:.04em}}
tr.ext td{font-weight:600}tr.ext td:first-child small{display:block;font-weight:400;color:var(--ac);font-size:13px}tr.ext:first-child td:nth-child(2){color:var(--ac)}
/*designer 2026-11-09e: A–Z jump row*/.az{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 16px}.az a{display:inline-block;min-width:34px;padding:7px 0;text-align:center;font-weight:600;text-decoration:none;border:1px solid var(--line);border-radius:4px;color:var(--fg)}.az a:hover{border-color:var(--ac);color:var(--ac)}.plist li[id]{scroll-margin-top:12px}

/* designer 2026-11-09: diverging bar in the city 'Diferencia' column (crimson = más caro aquí) */
.dv{display:inline-block;min-width:4.2em;font-variant-numeric:tabular-nums}.dv i{display:block;height:4px;margin-top:3px;background:var(--row,#e6e2da);border-radius:2px;overflow:hidden}.dv b{display:block;height:100%;border-radius:2px}.dv.up{color:var(--ac);font-weight:600}.dv.up b{background:var(--ac)}.dv.dn b{background:#3b3b3b}

/*designer 2026-11-10: city picker on /mexico/, A–Z row stays reachable while scrolling 376 products*/
.cityjump{margin:8px 0 24px;border:1px solid var(--line);border-radius:6px;background:#fff}
.cityjump summary{cursor:pointer;padding:12px 16px;font-weight:600;color:var(--ac);list-style:none}
.cityjump summary::-webkit-details-marker{display:none}
.cityjump summary::after{content:" +";}
.cityjump[open] summary::after{content:" −"}
.cityjump .cols{padding:0 16px 12px;margin:0}
.az{position:sticky;top:0;z-index:5;background:var(--bg);padding:8px 0}
@media(max-width:599px){.az{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:8px 16px;border-bottom:1px solid var(--line)}.az::-webkit-scrollbar{display:none}.az a{flex:0 0 auto;min-width:38px}}
.plist li[id]{scroll-margin-top:64px}
.cityjump .cj{list-style:none;padding:0 16px 12px;columns:2 10rem;column-gap:24px}.cityjump .cj li{break-inside:avoid;padding:4px 0;font-size:15px}.cityjump summary{padding:12px 16px}
