/* ===== VendeNFC · base compartida (web + app) ===== */
@font-face{font-family:"Bricolage Grotesque";src:url(/assets/fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans-latin-600-normal.woff2) format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --bg:#F2F4F8; --surface:#FFFFFF; --raise:#F7F8FB; --ink:#0D1424; --muted:#5B6479; --line:#DADFE8;
  --accent:#2F5BFF; --accent-ink:#FFFFFF; --hot:#FF5A1F; --warm:#E5A000; --ok:#16A05A; --bad:#D9363E; --soft:#E7EBF3;
  --f-d:"Bricolage Grotesque","Arial Narrow",system-ui,sans-serif;
  --f-b:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-m:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:16px; color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#080C17; --surface:#111829; --raise:#151D31; --ink:#EEF1F8; --muted:#97A1B8; --line:#242E47;
  --accent:#5B7CFF; --accent-ink:#FFFFFF; --hot:#FF6B35; --warm:#F2B92B; --ok:#33C67A; --bad:#FF5A61; --soft:#1A2238; color-scheme:dark}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-b);font-size:15.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
h1,h2,h3{font-family:var(--f-d);margin:0;line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(2.5rem,6.4vw,4.6rem);font-weight:800}
h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}
h3{font-size:1.15rem;font-weight:650;letter-spacing:-.01em}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.eyebrow{font-family:var(--f-m);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--f-m);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.tag{display:inline-block;font-family:var(--f-m);font-size:.68rem;padding:3px 8px;border-radius:6px;background:var(--soft);color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 18px;font-weight:600;cursor:pointer;text-decoration:none;background:var(--soft);transition:transform .12s,opacity .12s;line-height:1.2}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.55;cursor:wait}
.btn.pri{background:var(--accent);color:var(--accent-ink)}
.btn.ink{background:var(--ink);color:var(--bg)}
.btn.ok{background:var(--ok);color:#fff}
.btn.line{background:transparent;border:1.5px solid var(--line)}
.btn.sm{padding:8px 12px;font-size:.88rem;border-radius:10px}
.btn.block{width:100%}

.inp{width:100%;border:1.5px solid var(--line);background:var(--raise);border-radius:11px;padding:11px 12px}
.inp:focus{border-color:var(--accent);outline:none}

/* cabecera */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top);z-index:30;background:var(--surface)}
header.top{position:sticky;top:env(safe-area-inset-top);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:14px;min-height:60px}
.logo{font-family:var(--f-d);font-weight:800;font-size:1.3rem;text-decoration:none;display:flex;gap:9px;align-items:center;letter-spacing:-.03em}
.radar-ico{width:28px;height:28px;border-radius:50%;border:2px solid var(--accent);position:relative;overflow:hidden;flex:none}
.radar-ico::before{content:"";position:absolute;inset:5px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 55%,transparent)}
.radar-ico::after{content:"";position:absolute;left:50%;top:50%;width:50%;height:50%;transform-origin:0 0;background:conic-gradient(from 0deg,color-mix(in srgb,var(--accent) 60%,transparent),transparent 70deg);animation:sweep 3s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.radar-ico::after{animation:none}}
.top-links{margin-left:auto;display:flex;gap:6px;align-items:center}
.top-links a.lnk{text-decoration:none;padding:8px 10px;border-radius:9px;font-weight:500}
.top-links a.lnk:hover{background:var(--soft)}
@media (max-width:600px){.top-links .hide-m{display:none}}

footer.foot{border-top:1px solid var(--line);padding-block:30px;color:var(--muted);font-size:.86rem;margin-top:40px}
footer.foot .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer.foot nav{display:flex;gap:16px;flex-wrap:wrap}

.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;font-weight:600;z-index:60;font-size:.9rem;max-width:90vw;text-align:center}

/* planes (landing + app) */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px;align-items:stretch}
.plan{padding:22px;display:flex;flex-direction:column;gap:12px;position:relative}
.plan.feat-p{border:2px solid var(--accent)}
.plan .price{font-family:var(--f-d);font-weight:800;font-size:2.3rem;letter-spacing:-.03em}
.plan .price small{font-family:var(--f-b);font-size:.85rem;font-weight:500;color:var(--muted);letter-spacing:0}
.plan ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:.92rem}
.plan li{display:grid;grid-template-columns:18px 1fr;gap:6px}
.plan li::before{content:"✓";color:var(--ok);font-weight:700}
.plan .btn{margin-top:auto}
.plan .pop{position:absolute;top:-11px;left:20px;background:var(--accent);color:var(--accent-ink);font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:999px}
@media (max-width:980px){.plans{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.plans{grid-template-columns:1fr}}
