:root{--coral: #ff5a36;--coral-deep: #e2421f;--coral-soft: #fff1ec;--sun: #ffc94a;--mint: #12a17a;--mint-soft: #e7f7f1;--ink: #17130f;--muted: #6b645c;--line: #ece7e1;--soft: #f7f4f0;--white: #ffffff;--display: "Bricolage Grotesque", system-ui, sans-serif;--body: "Inter", system-ui, sans-serif;--wrap: 1160px;--gutter: 16px;--radius: 20px;--shadow: 0 1px 2px rgb(23 19 15 / 6%), 0 14px 34px -14px rgb(23 19 15 / 22%);--tabbar: 0px}@media(min-width:720px){:root{--gutter: clamp(24px, 4vw, 40px)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body{margin:0;background:var(--white);color:var(--ink);font:400 1rem/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-bottom:var(--tabbar)}body.app{--tabbar: calc(68px + env(safe-area-inset-bottom)) }@media(min-width:900px){body.app{--tabbar: 0px}}img,video,canvas{display:block;max-width:100%}img{height:auto}a{color:inherit}:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:8px}[hidden]{display:none!important}h1,h2,h3{font-family:var(--display);line-height:1.02;letter-spacing:-.025em;margin:0 0 .45em;font-weight:800}h1{font-size:clamp(2.35rem,9.4vw,5rem)}h2{font-size:clamp(1.9rem,6.6vw,3.25rem)}h3{font-size:1.2rem;letter-spacing:-.01em}p{margin:0 0 1em;text-wrap:pretty}.wrap{width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto}.narrow{width:min(100% - 2 * var(--gutter),680px);margin-inline:auto}.section{padding-block:clamp(56px,10vw,112px)}.lead{font-size:clamp(1.06rem,2.4vw,1.25rem);color:var(--muted);max-width:58ch}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.center .lead{margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.title{margin-bottom:clamp(24px,4vw,40px)}.title :is(h1,h2) span{display:block;white-space:nowrap}.title h1{font-size:min(clamp(2.35rem,9.4vw,5rem),calc((100vw - 2 * var(--gutter)) / (var(--chars, 12) * .56)))}.title h2{font-size:min(clamp(1.9rem,6.6vw,3.25rem),calc((100vw - 2 * var(--gutter)) / (var(--chars, 12) * .56)))}.title :is(h1,h2) span+span{color:var(--coral)}.title.center .lead{margin-inline:auto}.btn{--bg: var(--ink);--fg: var(--white);display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:50px;padding:0 1.4em;border:0;border-radius:999px;background:var(--bg);color:var(--fg);font:700 1rem/1 var(--body);text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:translateY(1px) scale(.98)}.btn[disabled]{opacity:.45;pointer-events:none}.btn.coral{--bg: var(--coral)}.btn.coral:hover{--bg: var(--coral-deep)}.btn.ghost{--bg: transparent;--fg: var(--ink);box-shadow:inset 0 0 0 2px var(--line)}.btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--ink)}.btn.mint{--bg: var(--mint)}.btn.sm{min-height:40px;padding:0 1.05em;font-size:.9rem}.btn.block{width:100%}.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}label.field{display:grid;gap:6px;font-weight:600;font-size:.92rem}.field small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;min-height:50px;padding:12px 14px;border:2px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);font:400 1rem/1.4 var(--body)}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}.check{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;line-height:1.45;cursor:pointer}.check input{width:22px;height:22px;min-height:0;flex:none;margin-top:1px;accent-color:var(--coral)}.grid-2{display:grid;gap:14px}@media(min-width:560px){.grid-2{grid-template-columns:1fr 1fr}}.stack{display:grid;gap:16px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--soft);font-size:.85rem;font-weight:600}.chip.coral{background:var(--coral-soft);color:var(--coral-deep)}.chip.mint{background:var(--mint-soft);color:var(--mint)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:16px;background:var(--soft)}.seg input{position:absolute;opacity:0;pointer-events:none}.seg label{display:grid;place-items:center;min-height:44px;border-radius:12px;font-weight:700;font-size:.92rem;cursor:pointer}.seg input:checked+label{background:var(--white);box-shadow:var(--shadow)}.seg input:focus-visible+label{outline:3px solid var(--coral)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.card.soft{background:var(--soft);border-color:transparent}.kpi{display:grid;gap:2px}.kpi b{font:800 clamp(2rem,7vw,2.8rem)/1 var(--display);letter-spacing:-.03em}.kpi span{color:var(--muted);font-size:.9rem}.header{position:sticky;top:0;z-index:900;background:#ffffffeb;backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px}.brand{display:inline-flex;align-items:center;gap:10px;font:800 1.2rem/1 var(--display);letter-spacing:-.03em;text-decoration:none}.brand svg{width:32px;height:32px}.nav-desktop{display:none;gap:4px;align-items:center}.nav-desktop a{padding:10px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.95rem}.nav-desktop a:hover,.nav-desktop a[aria-current=page]{background:var(--soft)}@media(min-width:900px){.nav-desktop{display:flex}}.pts-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--coral-soft);color:var(--coral-deep);font-weight:800;font-size:.9rem;text-decoration:none}.tabbar{position:fixed;inset:auto 0 0;z-index:900;display:grid;grid-template-columns:repeat(5,1fr);height:var(--tabbar);padding-bottom:env(safe-area-inset-bottom);background:var(--white);border-top:1px solid var(--line)}.tabbar a{display:grid;place-items:center;align-content:center;gap:3px;font-size:.7rem;font-weight:700;text-decoration:none;color:var(--muted)}.tabbar a[aria-current=page]{color:var(--ink)}.tabbar svg{width:24px;height:24px}.tabbar .fab{position:relative;top:-14px;width:60px;height:60px;margin:0 auto;border-radius:50%;background:var(--coral);color:var(--white);box-shadow:0 10px 24px -8px #ff5a36b3}.tabbar .fab svg{width:28px;height:28px}@media(min-width:900px){.tabbar{display:none}}.footer{border-top:1px solid var(--line);padding:40px 0 32px;font-size:.92rem;color:var(--muted)}.footer .cols{display:grid;gap:24px}.footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}.footer a{text-decoration:none}.footer a:hover{color:var(--ink)}@media(min-width:720px){.footer .cols{grid-template-columns:1.4fr 2fr}}.footer .credits{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:.82rem}.footer .credits p{margin:0}.footer .credits p a{color:var(--ink);font-weight:600}.footer .credit-cta{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:100px;color:var(--ink);font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background .25s}.footer .credit-cta svg{width:14px;height:14px}.footer .credit-cta:hover{color:var(--coral-deep);border-color:var(--coral);background:var(--coral-soft)}@media(min-width:720px){.footer .credits{flex-direction:row;justify-content:space-between;text-align:left}}dialog{width:min(100% - 32px,420px);padding:28px 22px 22px;border:0;border-radius:26px;box-shadow:0 30px 80px -20px #17130f73;color:var(--ink)}dialog::backdrop{background:#17130f73;backdrop-filter:blur(3px)}dialog h2{font-size:1.75rem}.dialog-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:var(--soft);font-size:1.3rem;cursor:pointer}.otp{font:800 1.8rem/1 var(--display);letter-spacing:.4em;text-align:center}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar) + 18px);z-index:1000;transform:translate(-50%,20px);opacity:0;width:max-content;max-width:calc(100% - 32px);padding:14px 18px;border-radius:16px;background:var(--ink);color:var(--white);font-weight:600;box-shadow:var(--shadow);pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%)}.toast.err{background:var(--coral-deep)}.map{width:100%;height:100%;min-height:320px;border-radius:var(--radius);background:var(--soft);z-index:0}.leaflet-container{font-family:var(--body)}.map-tiles{filter:grayscale(.9) brightness(1.06) contrast(.92)}.leaflet-popup-content-wrapper{border-radius:16px}.leaflet-popup-content{margin:12px}.pop{display:grid;gap:6px;width:200px}.pop img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px}.pin{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--coral);border:3px solid var(--white);box-shadow:var(--shadow)}.pin span{transform:rotate(45deg);font-size:15px}.pin.gato{background:var(--ink)}.pin.otro{background:var(--mint)}.pin.reunido{background:var(--sun)}.app-head{padding:22px 0 14px}.app-head h1{font-size:min(clamp(1.9rem,7.4vw,3rem),calc((100vw - 2 * var(--gutter)) / (var(--chars, 12) * .56)));margin:0}.app-head h1 span{display:block;white-space:nowrap}.app-head h1 span+span{color:var(--coral)}.app-head p{margin:8px 0 0;color:var(--muted)}.empty{display:grid;place-items:center;gap:10px;padding:40px 20px;text-align:center;color:var(--muted);border:2px dashed var(--line);border-radius:var(--radius)}.spinner{width:22px;height:22px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress{height:8px;border-radius:999px;background:var(--soft);overflow:hidden}.progress i{display:block;height:100%;width:0;background:var(--coral);border-radius:inherit;transition:width .4s ease}.reveal{opacity:0}.no-js .reveal,.reduced .reveal{opacity:1}
