:root{--blue:#2F5F82;--blue-d:#1D4261;--cta:#2F5F82;--ink:#15222C;--text:#24323C;--mute:#5A6873;--rule:#D8DFE4;--bg:#fff;--side:#EEF2F5;--tint:#E6EEF4;--link:#2F5F82;
--serif:Charter,"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
--sans:Optima,Candara,"Segoe UI","Gill Sans","Trebuchet MS",system-ui,sans-serif}
@media(prefers-color-scheme:dark){:root{--blue:#8FBBDD;--ink:#EAF1F6;--text:#D3DEE6;--mute:#9AABB8;--rule:#2B3B47;--bg:#0F1A22;--side:#142430;--tint:#1B2F3E;--link:#8FBBDD}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:1.125rem/1.72 var(--serif);-webkit-text-size-adjust:100%}
a{color:var(--link);text-underline-offset:.15em}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#prog{position:fixed;top:0;left:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:0 50%;z-index:30}
.bar{display:none}
/* índice lateral */
.toc{background:var(--side);font-family:var(--sans);padding:1.25rem .75rem 3rem;z-index:20}
.brand{display:block;padding:.25rem .75rem 1rem;font:400 1.2rem/1.2 var(--sans);color:var(--ink);text-decoration:none;letter-spacing:.01em}
.brand b{font-weight:700}
.search{padding:0 .75rem 1rem}
.search input{width:100%;padding:.55rem .7rem;font:400 .95rem var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:3px}
.toc ol{list-style:none;margin:0;padding:0}
.tree a,#results a{display:block;padding:.38rem .75rem;border-left:3px solid transparent;color:var(--text);text-decoration:none;font:500 .9rem/1.35 var(--sans)}
.tree a:hover,#results a:hover{background:var(--tint)}
.tree a[aria-current]{border-left-color:var(--blue);background:var(--tint);font-weight:700;color:var(--ink)}
.n{display:inline-block;min-width:1.7em;color:var(--blue);font-weight:700}
.sub{margin:.1rem 0 .5rem}
.sub a{padding:.25rem .75rem .25rem 2.4rem;font-size:.82rem;font-weight:400}
#results a strong{display:block;color:var(--ink)}
#results a span{display:block;color:var(--mute);font-size:.78rem}
#results a small{display:block;margin-top:.15rem;font-weight:400;font-size:.8rem;line-height:1.4;color:var(--text)}
#results li.empty{padding:.5rem .75rem;font-size:.9rem;color:var(--mute)}
.searching .tree{display:none}
/* lectura */
main{padding:2.5rem clamp(1.25rem,5vw,4rem) 5rem;min-width:0}
article{max-width:40rem;margin:0 auto}
article.wide{max-width:62rem}
.head{margin-bottom:2.5rem}
h1{font:600 clamp(1.9rem,4vw,2.75rem)/1.12 var(--sans);color:var(--ink);margin:0;letter-spacing:-.005em}
h1 .num{display:block;font:300 clamp(3.5rem,9vw,6rem)/1 var(--sans);color:var(--blue);margin-bottom:.4rem}
.meta{font:500 .9rem var(--sans);color:var(--mute);margin:.9rem 0 0}
h2{font:600 1.55rem/1.25 var(--sans);color:var(--ink);margin:3.2rem 0 1rem;scroll-margin-top:1.5rem}
h3{font:600 1.2rem/1.3 var(--sans);color:var(--ink);margin:2.2rem 0 .75rem;scroll-margin-top:1.5rem}
h4{font:600 1.05rem/1.3 var(--sans);color:var(--ink);margin:1.8rem 0 .6rem}
.sec{color:var(--blue);font-weight:500;margin-right:.65rem}
.anchor{opacity:0;margin-left:.5rem;color:var(--mute);text-decoration:none;font-weight:400}
h2:hover .anchor,h3:hover .anchor,.anchor:focus{opacity:1}
p{margin:0 0 1.1rem}
ul,ol{padding-left:1.4rem;margin:0 0 1.2rem}
li{margin-bottom:.4rem}
strong{color:var(--ink)}
.cap{font:600 .95rem/1.35 var(--sans);color:var(--ink);margin:2.2rem 0 .6rem}
.table-wrap{overflow-x:auto;margin:0 0 2rem;border:1px solid var(--rule)}
table{border-collapse:collapse;width:100%;min-width:34rem;font:.92rem/1.5 var(--sans)}
th,td{padding:.6rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
th{background:var(--tint);color:var(--ink)}
tr:last-child td{border-bottom:0}
td p,th p{margin:0 0 .4rem}
.footnotes{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--rule);font-size:.9rem;line-height:1.55;color:var(--mute)}
.footnotes ol{padding-left:1.2rem}
.footnote-ref{text-decoration:none;font-family:var(--sans);font-weight:700}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:40rem;margin:4rem auto 0;font:600 1rem/1.35 var(--sans)}
.pager a{display:block;padding:1rem 0;border-top:2px solid var(--blue);color:var(--ink);text-decoration:none}
.pager a:hover{color:var(--link)}
.pager a[rel=next]{grid-column:2;text-align:right}
.pager small{display:block;font:500 .8rem var(--sans);color:var(--mute);margin-bottom:.2rem}
/* portada */
.cover img{display:block;width:100%;height:auto;border-radius:2px}
h1.home{margin-top:2rem;font-size:clamp(1.7rem,3.4vw,2.5rem);max-width:34rem}
.cta{display:inline-block;margin-top:.5rem;padding:.75rem 1.4rem;background:var(--cta);color:#fff;font:600 1rem var(--sans);text-decoration:none;border-radius:2px}
.cta:hover{background:var(--blue-d)}
.contents{columns:21rem;column-gap:3rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--rule);font-family:var(--sans)}
.contents section{break-inside:avoid;margin-bottom:1.8rem}
.contents h2{font:600 1.05rem/1.3 var(--sans);margin:0 0 .5rem;display:flex;gap:.5rem;justify-content:space-between;align-items:baseline}
.contents h2 a{color:var(--ink);text-decoration:none}
.contents h2 small{font:500 .75rem var(--sans);color:var(--mute);white-space:nowrap}
.contents ul{list-style:none;margin:0;padding:0}
.contents li{margin:0}
.contents li a{display:block;padding:.18rem 0;font-size:.9rem;line-height:1.4;color:var(--text);text-decoration:none}
.contents li a:hover,.contents h2 a:hover{color:var(--link);text-decoration:underline}
/* escritorio / móvil */
@media(min-width:64rem){
 body{display:grid;grid-template-columns:20rem minmax(0,1fr)}
 .toc{position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start}
}
@media(max-width:63.99rem){
 .bar{display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:15;padding:.6rem 1rem;background:var(--bg);border-bottom:1px solid var(--rule);font:600 .95rem var(--sans);color:var(--ink)}
 .bar button{font:600 .9rem var(--sans);padding:.4rem .8rem;background:var(--cta);color:#fff;border:0;border-radius:2px}
 .toc{position:fixed;inset:0 auto 0 0;width:min(22rem,88vw);overflow-y:auto;transform:translateX(-100%);transition:transform .2s}
 .open .toc{transform:none}
 body.open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:19}
 h2,h3{scroll-margin-top:4.5rem}
 .pager{grid-template-columns:1fr}.pager a[rel=next]{grid-column:1}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toc{transition:none}}
@media print{.toc,.bar,#prog,.pager,.anchor{display:none!important}body{display:block;color:#000;background:#fff}main{padding:0}a{color:inherit}h2,h3{break-after:avoid}.table-wrap{overflow:visible}}

/* portada (banner de marca) */
.cover{position:relative;overflow:hidden;background:#15222C;color:#EAF1F6;border-radius:2px;padding:clamp(1.5rem,5vw,3.5rem);min-height:clamp(17rem,38vw,26rem);display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;font-family:"Source Sans 3",var(--sans)}
.cover .ring{position:absolute;right:-8%;top:50%;width:min(62%,34rem);aspect-ratio:1;transform:translateY(-50%);opacity:.1;pointer-events:none}
.cover .lock{position:relative;display:flex;align-items:center;gap:.8rem;font:400 clamp(1.1rem,2.4vw,1.5rem)/1 "Marcellus",Optima,"Palatino Linotype",serif;letter-spacing:.02em}
.cover .lock svg{width:clamp(2.2rem,4.5vw,3rem);height:auto;flex:none}
.cover .ver{position:relative;margin:0 0 .9rem;font:600 .8rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#8FBBDD}
.cover .ttl{position:relative;margin:0;font:400 clamp(1.9rem,5.6vw,3.9rem)/1.08 "Marcellus",Optima,"Palatino Linotype",serif;letter-spacing:.01em;color:#EAF1F6}
.cover .ttl::after{content:"";display:block;width:4.5rem;height:3px;background:#8FBBDD;margin:1.3rem 0 1rem}
.cover .sub{position:relative;margin:0;max-width:34rem;font:400 clamp(1.05rem,2.6vw,1.6rem)/1.3 var(--sans);color:#EAF1F6}

/* cabecera AskingCities */
:root{--hh:3.5rem}
body{padding-top:var(--hh)}
header.site{position:fixed;top:0;left:0;right:0;z-index:25;box-sizing:border-box;height:var(--hh);display:flex;align-items:center;gap:1.5rem;padding:0 clamp(1rem,3vw,2rem);background:var(--bg);border-bottom:1px solid var(--rule);font-family:var(--sans)}
header.site .logo{display:flex;align-items:center;gap:.6rem;color:var(--blue);text-decoration:none;flex:none}
header.site .logo svg{display:block}
header.site .logo span{font:400 1.45rem/1 "Marcellus",Optima,"Palatino Linotype",serif;letter-spacing:.02em}
header.site nav{display:flex;align-items:center;gap:1.5rem;margin-left:auto}
header.site nav a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--text);text-decoration:none;font:500 .95rem var(--sans)}
header.site nav a:hover{color:var(--link)}
header.site nav a[aria-current]{color:var(--ink);font-weight:700;box-shadow:inset 0 -3px 0 var(--blue)}
header.site .lang{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 .9rem;border:1px solid var(--rule);border-radius:3px;color:var(--blue);font:600 .85rem var(--sans);letter-spacing:.06em;text-decoration:none;flex:none}
header.site .lang:hover{background:var(--tint)}
h2,h3{scroll-margin-top:calc(var(--hh) + 1.5rem)}
@media(min-width:64rem){.toc{top:var(--hh);height:calc(100vh - var(--hh))}}
@media(max-width:63.99rem){
 .bar{top:var(--hh)}
 .toc{top:var(--hh)}
 body.open::after{top:var(--hh)}
 h2,h3{scroll-margin-top:calc(var(--hh) + 4rem)}
}
@media(max-width:47.99rem){header.site nav a:not([aria-current]){display:none}header.site nav{margin-left:auto}}
@media print{header.site{display:none!important}}
