.ec{--hdr:64px}.ec .ec-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ec button{font:inherit}.ec :focus-visible{outline-offset:2px;outline:3px solid #4f7fbf}.ec input[type=search]:focus-visible{outline:0}.ec-hero{background:radial-gradient(#0f3b7317 1px, transparent 1.4px) 0 0 / 22px 22px, var(--paper);border-bottom:1px solid var(--line-2);position:relative;overflow:hidden}.ec-hero:before{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(closest-side,#fffffff2,#fff0);border-radius:50%;width:62vw;position:absolute;top:4%;right:-8vw}.ec-hero__in{grid-template-columns:minmax(0,500px) minmax(0,1fr);align-items:start;column-gap:48px;width:min(1320px,100% - 48px);margin:0 auto;padding:40px 0 56px;display:grid;position:relative}.ec-copy{min-width:0;padding-top:18px}.ec-copy .dateline{font-size:11.5px}.ec-copy h1{background:linear-gradient(var(--coral), var(--coral)) no-repeat 0 0 / 54px 5px;color:var(--accent);letter-spacing:-.035em;margin:22px 0 0;padding-top:18px;font-size:clamp(42px,4.4vw,66px);font-weight:800;line-height:1}.ec-copy h1 span{color:var(--coral);display:block}.ec-lead{max-width:440px;color:var(--ink-2);margin:16px 0 0;font-size:18px;line-height:1.5}.ec-lead b{color:var(--accent)}.ec-busca-w{gap:12px;margin-top:24px;display:grid}.ec-busca{border:1.5px solid var(--line-2);height:56px;color:var(--accent);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:0 8px 0 18px;display:flex;box-shadow:0 14px 34px -22px #0f3b738c}.ec-busca:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--tint)}.ec-busca input{min-width:0;height:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:16px}.ec-busca input::placeholder{color:#7d8592}.ec-busca input::-webkit-search-cancel-button{display:none}.ec-busca__x{background:var(--cream-2);width:40px;height:40px;color:var(--accent);cursor:pointer;border:0;border-radius:50%;place-items:center;display:none}.ec-busca.has-q .ec-busca__x{display:grid}.ec-chips{scrollbar-width:none;gap:8px;margin:-2px;padding:2px;display:flex;overflow-x:auto}.ec-chips::-webkit-scrollbar{display:none}.ec-chip{border:1px solid var(--line-2);min-height:38px;color:var(--accent);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 14px;font-size:13.5px;font-weight:700;display:inline-flex}.ec-chip img{object-fit:contain;width:24px;height:24px;margin-left:-6px}.ec-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.ec-mapa-w{min-width:0;position:relative}.ec-mapa{aspect-ratio:1122/1402;--fx:50%;--fy:50%;width:min(100%,640px);margin:0 auto;animation:.7s cubic-bezier(.2,.8,.2,1) both ec-sube;position:relative}.ec-mapa picture{display:contents}.ec-mapa__img{filter:drop-shadow(0 30px 40px #0f3b7338);user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}@keyframes ec-sube{0%{opacity:0;transform:translateY(24px)scale(.98)}}.ec-foco{pointer-events:none;opacity:0;background:radial-gradient(ellipse 19% 15% at var(--fx) var(--fy), #0b1b3a00 62%, #0b1b3a57 100%);transition:opacity .3s;position:absolute;inset:0;mask:url(/esquemas-ciudad/ciudad-700.webp) 0 0/100% 100% no-repeat}.ec-mapa.has-sel .ec-foco{opacity:1}.ec-mapa:after{content:"";z-index:1;left:var(--fx);top:calc(var(--fy) + 4%);aspect-ratio:3.2;border:3px solid var(--coral);opacity:0;pointer-events:none;border-radius:50%;width:22%;transition:opacity .3s,left .35s,top .35s;position:absolute;translate:-50% -50%;box-shadow:0 0 22px #d9573f8c,inset 0 0 18px #d9573f59}.ec-mapa.has-sel:after{opacity:1;animation:1.6s ease-in-out infinite ec-late}@keyframes ec-late{50%{scale:1.08;box-shadow:0 0 34px #d9573fb3,inset 0 0 22px #d9573f73}}.ec-zona{left:var(--x);top:var(--y);width:var(--w);height:var(--h);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:22px;padding:0;position:absolute}.ec-pin{left:var(--x);top:var(--y);z-index:2;height:34px;color:var(--coral);white-space:nowrap;cursor:pointer;animation:.5s cubic-bezier(.3,1.4,.5,1) both ec-pin;animation-delay:calc(.35s + var(--i) * 50ms);background:#fff;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 4px;font-size:14px;font-weight:800;transition:translate .2s,scale .2s,opacity .2s,box-shadow .2s;display:inline-flex;position:absolute;translate:-50% calc(-100% - 8px);box-shadow:0 10px 22px -8px #0f3b7380,0 0 0 1px #0f3b7314}@keyframes ec-pin{0%{opacity:0;translate:-50% calc(6px - 100%)}}.ec-pin:after{content:"";background:#fff;border-radius:0 0 3px;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;translate:-50%;rotate:45deg;box-shadow:3px 3px 5px -2px #0f3b7340}.ec-pin b{background:var(--c);color:#fff;letter-spacing:.01em;border-radius:999px;place-items:center;min-width:28px;height:26px;padding:0 7px;font-size:12.5px;display:grid}.ec-pin span:before{content:"· ";color:var(--muted-2)}.ec-pin i{color:var(--accent);font-size:13.5px;font-style:normal;font-weight:750;display:none}.ec-pin:hover,.ec-pin.is-hov{z-index:3;translate:-50% calc(-100% - 14px);box-shadow:0 16px 28px -10px #0f3b7399,0 0 0 1px #0f3b731a}.ec-pin:hover i,.ec-pin.is-hov i,.ec-pin.is-sel i{display:inline}.ec-pin.is-sel{z-index:4;background:var(--accent);color:#fff;animation:none;translate:-50% calc(-100% - 14px)}.ec-pin.is-sel:after{background:var(--accent)}.ec-pin.is-sel i{color:#fff}.ec-pin.is-sel span:before{color:#ffffff80}.ec-pin.is-apagado{opacity:.32;scale:.9}.ec-pin.is-hay{background:var(--coral);color:#fff}.ec-pin.is-hay:after{background:var(--coral)}.ec-pin.is-hay span:before{color:#fff9}.ec-mapa.has-sel .ec-pin:not(.is-sel){opacity:.55}.ec-pista{background:var(--accent);color:#fff;pointer-events:none;border-radius:999px;align-items:center;gap:8px;margin:0;padding:10px 16px;font-size:14px;font-weight:750;transition:opacity .3s,translate .3s;animation:2.4s ease-in-out 1.2s 3 ec-pista;display:inline-flex;position:absolute;bottom:3%;left:50%;translate:-50%;box-shadow:0 12px 26px -12px #0f3b73b3}.ec-pista svg{color:#ffb4a6}.ec-pista.is-off{opacity:0;translate:-50% 10px}@keyframes ec-pista{50%{translate:-50% -6px}}.ec-panel{--c:var(--accent);border:1px solid var(--line-2);background:#fff;border-radius:20px;margin-top:22px;overflow:hidden;box-shadow:0 24px 50px -36px #0f3b7399}.ec-panel.is-entra{animation:.35s cubic-bezier(.2,.8,.2,1) ec-entra}@keyframes ec-entra{0%{opacity:0;transform:translateY(10px)}}.ec-panel.is-tapado{display:none}.ec-panel__k{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;padding:16px 18px 6px;font-size:11.5px;font-weight:800}.ec-mini{grid-template-columns:1fr 1fr;gap:2px 6px;margin:0;padding:4px 10px 12px;list-style:none;display:grid}.ec-mini button{width:100%;min-height:50px;color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.ec-mini button:hover{background:var(--tint)}.ec-mini img{object-fit:cover;background:var(--paper);border-radius:10px;flex:none;width:44px;height:44px}.ec-mini b{flex:1;min-width:0;font-size:13.5px;font-weight:750;line-height:1.2}.ec-mini small{background:color-mix(in srgb, var(--c) 12%, #fff);min-width:26px;height:22px;color:var(--c);text-align:center;border-radius:99px;flex:none;padding:0 6px;font-size:12px;font-weight:800;line-height:22px}.ec-panel__asa{display:none}.ec-panel__cab{background:linear-gradient(120deg, color-mix(in srgb, var(--c) 10%, #fff), #fff 70%);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:16px 16px 14px;display:flex;position:relative}.ec-panel__cab img{object-fit:cover;background:var(--paper);border-radius:16px;flex:none;width:88px;height:88px;box-shadow:0 10px 20px -14px #0f3b7399}.ec-panel__cab div{flex:1;min-width:0}.ec-panel__cab h2{color:var(--accent);letter-spacing:-.02em;margin:0;font-size:23px;font-weight:800;line-height:1.1}.ec-panel__cab p{color:var(--muted);margin:6px 0 0;font-size:13.5px;font-weight:600}.ec-panel__cab p b{color:var(--coral)}.ec-panel__cab p em{color:var(--teal);font-style:normal}.ec-panel__x{border:1px solid var(--line-2);width:40px;height:40px;color:var(--accent);cursor:pointer;background:#fff;border-radius:12px;flex:none;align-self:flex-start;place-items:center;display:grid}.ec-vertodos{background:var(--coral);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;margin:12px 14px 14px;font-size:15.5px;font-weight:750;text-decoration:none;display:flex}.ec-vertodos:hover{background:var(--coral-dark)}.ec-vertodos--suave{background:var(--tint);color:var(--accent)}.ec-vertodos--suave:hover{background:#e2eaf6}.ec-res{border:1px solid var(--line-2);background:#fff;border-radius:20px;margin-top:18px;overflow:hidden;box-shadow:0 24px 50px -36px #0f3b7399}.ec-res__n{color:var(--muted);border-bottom:1px solid var(--line);margin:0;padding:14px 16px;font-size:13.5px;font-weight:600}.ec-res__n b{color:var(--accent)}.ec-vacio{color:var(--muted);margin:0;padding:18px 16px;font-size:15px;line-height:1.5}.ec-lista,.ec-rejilla{margin:0;padding:0;list-style:none}.ec-f{background:#fff;align-items:stretch;display:flex;position:relative}.ec-lista .ec-f+.ec-f{border-top:1px solid var(--line)}.ec-f>a{min-width:0;min-height:66px;color:inherit;flex:1;align-items:center;gap:12px;padding:8px 4px 8px 12px;text-decoration:none;display:flex}.ec-f>a:hover{background:var(--tint)}.ec-f__img{background:color-mix(in srgb, var(--c) 7%, var(--paper));--pw:46px;--ph:46px;border-radius:12px;flex:none;place-items:center;width:54px;height:54px;display:grid}.ec-f__n{background:color-mix(in srgb, var(--c) 12%, #fff);min-width:28px;height:28px;color:var(--c);border-radius:8px;flex:none;place-items:center;padding:0 5px;font-size:13px;font-weight:800;display:grid}.ec-f__t{flex:1;gap:3px;min-width:0;display:grid}.ec-f__t b{color:var(--accent);letter-spacing:-.01em;font-size:15.5px;font-weight:750;line-height:1.25}.ec-f__t small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.ec-ok{color:#0000;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:50px;display:grid}.ec-ok:before{content:"";border:2px solid var(--line-2);background:#fff;border-radius:50%;grid-area:1/1;width:24px;height:24px;transition:background .15s,border-color .15s}.ec-ok svg{grid-area:1/1;position:relative}.ec-ok:hover:before{border-color:var(--teal)}.ec-ok[aria-pressed=true]{color:#fff}.ec-ok[aria-pressed=true]:before{border-color:var(--teal);background:var(--teal)}.ec-f.is-rep .ec-f__t b{color:var(--muted)}.ec-pz{width:auto;height:auto;max-width:var(--pw,100%);max-height:var(--ph,100%);object-fit:contain;clip-path:inset(0 0 calc(100% * var(--m,0) / (1 + var(--m,0))) 0);display:block}.ec-todos{background:#fff;padding:96px 0 90px}.ec-todos .sec-head{margin-bottom:26px}.ec-todos .sec-title span{color:var(--coral)}.ec-todos__lead{max-width:640px;color:var(--ink-2);margin:14px 0 0;font-size:17px;line-height:1.5}.ec-todos__lead b{color:var(--accent)}.ec-calles{top:var(--hdr);z-index:20;backdrop-filter:blur(10px);border-block:1px solid var(--line);background:#fffffff2;position:sticky}.ec-calles__in{width:var(--shell);scrollbar-width:none;gap:6px;margin:0 auto;padding:8px 0;display:flex;overflow-x:auto}.ec-calles__in::-webkit-scrollbar{display:none}.ec-calles a{border:1px solid var(--line-2);min-height:40px;color:var(--accent);background:#fff;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 12px 0 5px;font-size:13.5px;font-weight:800;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.ec-calles a img{object-fit:cover;background:var(--paper);border-radius:50%;width:30px;height:30px}.ec-calles a small{color:var(--muted);font-size:12px;font-weight:700}.ec-calles a.is-on{background:var(--c);border-color:var(--c);color:#fff}.ec-calles a.is-on small{color:#ffffffbf}.ec-leyes{gap:34px;padding-top:30px;display:grid}.ec-ley{scroll-margin-top:calc(var(--hdr) + 70px)}.ec-ley__cab{border-bottom:2px solid color-mix(in srgb, var(--c) 30%, #fff);align-items:center;gap:20px;margin-bottom:14px;padding-bottom:14px;display:flex}.ec-ley__img{background:var(--paper);cursor:pointer;border:0;border-radius:20px;flex:none;width:108px;height:108px;padding:0;transition:transform .2s;overflow:hidden;box-shadow:0 14px 26px -18px #0f3b7399}.ec-ley__img img{object-fit:cover;width:100%;height:100%}.ec-ley__img:hover{transform:translateY(-3px)rotate(-1.5deg)}.ec-ley__t{flex:1;min-width:0}.ec-ley__sig{background:var(--c);color:#fff;letter-spacing:.03em;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-block}.ec-ley__t h3{color:var(--accent);letter-spacing:-.02em;margin:8px 0 0;font-size:clamp(22px,2.2vw,28px);font-weight:800;line-height:1.1}.ec-ley__t p{color:var(--muted);margin:5px 0 0;font-size:14px;font-weight:600}.ec-ley__rep{width:170px;color:var(--muted);text-align:right;flex:none;gap:6px;font-size:13px;font-weight:650;display:grid}.ec-ley__rep b{color:var(--teal)}.ec-prog{background:var(--cream-2);border-radius:99px;height:6px;display:block;overflow:hidden}.ec-prog i{border-radius:inherit;background:var(--teal);height:100%;transition:width .3s;display:block}.ec-rejilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ec-rejilla .ec-f{border:1px solid var(--line-2);border-radius:14px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.ec-rejilla .ec-f:hover{border-color:color-mix(in srgb, var(--c) 45%, #fff);box-shadow:0 12px 24px -20px #0f3b7399}.ec-fuera{background:var(--paper);color:var(--muted);border-radius:14px;margin:0;padding:16px 18px;font-size:14.5px;line-height:1.6}.ec-fuera button{color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline #0f3b7340}.ec-final{background:var(--accent);color:#fff;padding:64px 0;overflow:hidden}.ec-final__in{justify-content:space-between;align-items:center;gap:40px;display:flex}.ec-final h2{letter-spacing:-.03em;margin:0;font-size:clamp(30px,3.4vw,46px);font-weight:800;line-height:1.05}.ec-final h2 span{color:#ffb4a6;display:block}.ec-final p{color:#ffffffc7;max-width:520px;margin:14px 0 22px;font-size:17px;line-height:1.5}.ec-final img{border-radius:26px;width:240px;height:auto;rotate:4deg;box-shadow:0 30px 50px -20px #00000080}@media (width<=1080px){.ec-hero__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}.ec-rejilla{grid-template-columns:1fr}}@media (width<=760px){.ec-hero__in{flex-direction:column;align-items:stretch;width:calc(100% - 28px);padding:18px 0 26px;display:flex}.ec-copy{display:contents}.ec-copy .dateline{order:1;align-self:flex-start;padding:7px 11px;font-size:10.5px}.ec-copy h1{background-size:40px 4px;order:2;margin-top:14px;padding-top:12px;font-size:38px}.ec-lead{order:3;margin-top:10px;font-size:15.5px}.ec-mapa-w{order:4;margin:10px -14px 0}.ec-mapa{width:100%}.ec-busca-w{order:5;margin-top:4px}.ec-res{order:6}.ec-pin{gap:4px;height:28px;padding:0 8px 0 3px;font-size:12px;translate:-50% calc(-100% - 6px)}.ec-pin b{min-width:24px;height:22px;padding:0 6px;font-size:11px}.ec-pin:after{width:10px;height:10px;bottom:-5px}.ec-pin:hover,.ec-pin.is-hov,.ec-pin.is-sel{translate:-50% calc(-100% - 10px)}.ec-pin i,.ec-pin:hover i,.ec-pin.is-hov i,.ec-pin.is-sel i{display:none}.ec-pista{padding:9px 14px;font-size:13px}.ec-panel{display:none}.ec-panel.is-hoja{z-index:1001;border:0;border-radius:24px 24px 0 0;flex-direction:column;max-height:84svh;margin:0;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -20px 50px #0b1b3a4d}.ec-panel.is-hoja.is-on{transform:none}.ec-panel.is-hoja .ec-lista{overscroll-behavior:contain;flex:1;overflow-y:auto}.ec-panel.is-hoja .ec-vertodos{margin-bottom:calc(14px + env(safe-area-inset-bottom));flex:none}.ec-panel__asa{background:color-mix(in srgb, var(--c) 10%, #fff);touch-action:none;place-items:center;height:22px;display:grid}.ec-panel__asa i{background:#0f3b7340;border-radius:9px;width:44px;height:5px}.ec-panel__cab{touch-action:none;padding:6px 14px 14px}.ec-panel__cab img{border-radius:14px;width:72px;height:72px}.ec-panel__cab h2{font-size:21px}.ec-fondo{z-index:1000;opacity:0;background:#0b1b3a6b;transition:opacity .25s;position:fixed;inset:0}.ec-fondo.is-on{opacity:1}.ec-res{border-radius:16px}.ec-todos{padding:54px 0 70px}.ec-todos .shell{width:calc(100% - 28px)}.ec-calles__in{width:100%;padding:8px 14px}.ec-leyes{gap:30px;padding-top:22px}.ec-ley__cab{flex-wrap:wrap;gap:12px 14px}.ec-ley__img{border-radius:16px;width:78px;height:78px}.ec-ley__t h3{margin-top:6px;font-size:21px}.ec-ley__rep{text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:12px;width:100%}.ec-f>a{gap:10px;padding-left:10px}.ec-f__img{--pw:40px;--ph:40px;width:48px;height:48px}.ec-f__t b{font-size:15px}.ec-ok{width:46px}.ec-final{padding:48px 0 60px}.ec-final__in{flex-direction:column-reverse;align-items:flex-start}.ec-final img{width:150px}}html.ec-bloq{overflow:hidden}@media (width>=1100px){.ec-hero__in{width:min(1320px,100% - 64px);padding:34px 0 40px;display:block}.ec-copy{grid-template-columns:minmax(0,1fr) minmax(0,540px);align-items:end;column-gap:48px;padding-top:0;display:grid}.ec-copy .dateline{grid-column:1;justify-self:start}.ec-copy h1{grid-column:1;margin-top:16px;font-size:clamp(46px,4.4vw,70px)}.ec-copy h1 span{display:inline}.ec-lead{grid-column:1}.ec-busca-w{z-index:30;grid-area:1/2/4;align-self:end;margin:0;position:relative}.ec-res{max-height:min(62vh,560px);margin:0;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow-y:auto;box-shadow:0 30px 60px -24px #0f3b738c}.ec-mapa-w{margin-top:18px}.ec-mapa{aspect-ratio:1672/941;width:100%;max-width:none}.ec-mapa.is-ancho .ec-foco{mask-image:url(/esquemas-ciudad/ciudad-ancha-1200.webp)}.ec-mapa.is-ancho .ec-zona{left:var(--xa);top:var(--ya);width:var(--wa);height:var(--ha)}.ec-mapa.is-ancho .ec-pin{left:var(--xa);top:var(--ya);height:38px;padding-right:12px;font-size:15px}.ec-mapa.is-ancho .ec-pin b{min-width:32px;height:30px;font-size:13.5px}.ec-mapa.is-ancho:after{aspect-ratio:3.4;width:15%;top:calc(var(--fy) + 6%)}.ec-mapa.is-ancho .ec-foco{background:radial-gradient(ellipse 13% 22% at var(--fx) var(--fy), #0b1b3a00 60%, #0b1b3a5c 100%)}.ec-mapa .ec-panel{z-index:10;flex-direction:column;margin:0;transition:left .3s,top .3s;display:flex;position:absolute;box-shadow:0 40px 80px -30px #0b1b3aa6,0 0 0 1px #0f3b730f}.ec-mapa .ec-panel.is-vacio,.ec-mapa .ec-panel.is-tapado{display:none}.ec-mapa .ec-panel .ec-lista{flex:1;min-height:0;overflow-y:auto}.ec-mapa .ec-panel__cab img{width:76px;height:76px}.ec-mapa .ec-panel__cab h2{font-size:21px}.ec-mapa .ec-f>a{min-height:60px}.ec-pista{bottom:2%}}@media (prefers-reduced-motion:reduce){.ec *,.ec :before,.ec :after,.ec-mapa:after{transition:none!important;animation:none!important}}
