/* =====================================================================
   HostAddrees · estilos compartidos de las páginas internas
   (servicios, nosotros, contacto, preguntas, blog, páginas locales)
   ===================================================================== */
:root{
  color-scheme:light;
  --bg:#FFFFFF;--soft:#F5F7FB;--soft-2:#EAF1FE;--line:#E5E9F0;--line-2:#C9D2E0;
  --ink:#0A0B0D;--ink-2:#23262D;--muted:#5C6473;--dim:#707888;
  --brand:#0861F3;--brand-deep:#0048C4;--brand-tint:rgba(8,97,243,.08);--ok:#0FA47A;
  --surface:#FFFFFF;--glass:rgba(255,255,255,.9);--inv:#0A0B0D;--on-inv:#FFFFFF;--band:#0A0B0D;
  --dotgrid:#D5DDEA;--wa:#25D366;
  --r:18px;--r-lg:26px;
  --shadow:0 1px 2px rgba(10,11,13,.04),0 8px 24px -12px rgba(10,11,13,.12);
  --shadow-lg:0 2px 6px rgba(10,11,13,.04),0 28px 56px -22px rgba(10,11,13,.24);
  --f-display:"Sora","Segoe UI",system-ui,sans-serif;
  --f-body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.22,.9,.24,1);--slant:-20deg;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#07090E;--soft:#0E131D;--soft-2:#0C1A33;--line:#1C2431;--line-2:#2A3446;
  --ink:#EDF1F7;--ink-2:#C5CCD8;--muted:#8C96A9;--dim:#7D879A;
  --brand:#3B82FF;--brand-deep:#1F6BFF;--brand-tint:rgba(59,130,255,.16);
  --surface:#111724;--glass:rgba(15,20,32,.84);--inv:#EDF1F7;--on-inv:#07090E;--band:#0D1426;
  --dotgrid:#1D2636;--m-ink:#EDF1F7;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 8px 24px -12px rgba(0,0,0,.7);
  --shadow-lg:0 2px 6px rgba(0,0,0,.35),0 28px 56px -22px rgba(0,0,0,.8);
}
:root[data-theme="dark"] img[src*="wordmark"]{filter:invert(1) hue-rotate(180deg) brightness(1.15)}
html.theme-anim,html.theme-anim *,html.theme-anim *::before,html.theme-anim *::after{transition:background-color .45s ease,color .45s ease,border-color .45s ease,fill .45s ease,stroke .45s ease,box-shadow .45s ease!important}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){animation:themeReveal .7s var(--ease) both}
@keyframes themeReveal{from{clip-path:circle(0 at var(--vtx,90%) var(--vty,40px))}to{clip-path:circle(160vmax at var(--vtx,90%) var(--vty,40px))}}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{max-width:100%}
a{color:var(--brand)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--inv);color:var(--on-inv);padding:10px 14px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--f-display);line-height:1.1;text-wrap:balance;margin:0;letter-spacing:-.03em}
h1{font-size:clamp(2.3rem,5.6vw,4.1rem);font-weight:800}
h2{font-size:clamp(1.8rem,3.8vw,2.7rem);font-weight:700}
h3{font-size:1.18rem;font-weight:700;letter-spacing:-.015em}
p{margin:0}
.hl{color:var(--brand)}
.eyebrow{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:17px;height:12px;flex:none;background:linear-gradient(90deg,var(--brand) 0 36%,transparent 36% 64%,var(--ink) 64%);transform:skewX(var(--slant))}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;font:700 .94rem var(--f-body);text-decoration:none;padding:14px 22px;border-radius:14px;transition:transform .3s var(--ease),box-shadow .3s,background .3s,color .3s;position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;z-index:-1;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(var(--slant));transition:left .7s var(--ease)}
.btn:hover::after{left:130%}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 24px -12px rgba(8,97,243,.8)}
.btn-primary:hover{background:var(--brand-deep)}
.btn-dark{background:var(--inv);color:var(--on-inv)}
.btn-ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.btn-wa{background:var(--wa);color:#05361B}
.btn-wa:hover{background:#1FBF5B}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Encabezado (el mismo de la página principal) ---------- */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--inv);color:var(--on-inv);padding:10px 14px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:70;background:linear-gradient(90deg,var(--brand),var(--brand) 92%,var(--ink) 92%);transform-origin:left;transform:scaleX(0)}
@supports (animation-timeline:scroll()){.progress{animation:prog linear both;animation-timeline:scroll(root)}@keyframes prog{to{transform:scaleX(1)}}}
.nav{position:fixed;left:0;right:0;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:14px;height:76px;transition:all .5s var(--ease);border-radius:0}
.nav.scrolled .bar{max-width:min(1140px,calc(100% - 24px));height:62px;margin-top:10px;background:var(--glass);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-radius:18px;box-shadow:0 0 0 1px var(--line),0 12px 30px -16px rgba(10,11,13,.25);padding-inline:14px 10px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.logo svg{height:30px;width:auto;flex:none;transition:transform .5s var(--ease)}
.logo:hover svg{transform:skewX(-6deg)}
.logo img{height:19px;width:auto;aspect-ratio:395/59}
.links{display:flex;gap:2px;font-size:.92rem;font-weight:600;position:relative;margin-left:auto}
.links a{position:relative;z-index:1;text-decoration:none;color:var(--muted);padding:8px 13px;border-radius:10px;transition:color .25s;white-space:nowrap}
.links a:hover,.links a[aria-current="page"]{color:var(--ink)}
.links a[aria-current="page"]::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;border-radius:2px;background:var(--brand);transform:skewX(var(--slant))}
.pillbg{position:absolute;top:0;height:100%;border-radius:10px;background:var(--soft);transition:left .45s var(--ease),width .45s var(--ease),opacity .3s;opacity:0}
.links .menu-cta{display:none}
.tools{display:flex;align-items:center;gap:8px}
.lang{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;background:var(--soft);border-radius:11px;padding:3px;box-shadow:inset 0 0 0 1px var(--line)}
.lang a,.lang button{position:relative;z-index:1;border:0;background:none;font:800 .74rem var(--f-mono);letter-spacing:.06em;color:var(--muted);padding:7px 9px;cursor:pointer;border-radius:8px;transition:color .3s;text-decoration:none;text-align:center}
.lang a[aria-current],.lang button[aria-pressed=true]{color:var(--on-inv)}
.lang-pill{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:8px;background:var(--inv);transition:transform .45s var(--ease)}
.lang[data-active=en] .lang-pill{transform:translateX(100%)}
.theme-btn{position:relative;width:38px;height:38px;border-radius:11px;border:0;background:var(--soft);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);cursor:pointer;display:grid;place-items:center;overflow:hidden;flex:none}
.theme-btn:hover{box-shadow:inset 0 0 0 1px var(--brand)}
.theme-btn svg{position:absolute;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .55s var(--ease),opacity .4s}
.theme-btn .moon{fill:currentColor;stroke:none;transform:translateY(26px) rotate(-60deg);opacity:0}
:root[data-theme=dark] .theme-btn .sun{transform:translateY(-26px) rotate(90deg);opacity:0}
:root[data-theme=dark] .theme-btn .moon{transform:none;opacity:1}
.nav .cta-top{padding:10px 18px;font-size:.87rem;border-radius:12px;flex:none}
.burger{display:none;width:38px;height:38px;border:0;border-radius:11px;background:var(--soft);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);cursor:pointer;place-items:center;flex:none}
.burger span,.burger span::before,.burger span::after{display:block;width:16px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .35s var(--ease),background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-5px}.burger span::after{top:5px}
.nav.open .burger span{background:transparent}
.nav.open .burger span::before{transform:translateY(5px) rotate(45deg)}
.nav.open .burger span::after{transform:translateY(-5px) rotate(-45deg)}
@media (max-width:1180px){
  .burger{display:grid}
  .links{position:fixed;left:12px;right:12px;top:calc(84px + env(safe-area-inset-top,0px));flex-direction:column;gap:2px;padding:10px;margin:0;background:var(--surface);border-radius:20px;box-shadow:0 0 0 1px var(--line),var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top;transition:opacity .25s,transform .35s var(--ease),visibility .25s;max-height:calc(100vh - 110px);overflow:auto}
  .nav.open .links{opacity:1;visibility:visible;transform:none}
  .links a{font-size:1.05rem;padding:13px 14px}
  .links a[aria-current="page"]{background:var(--soft)}
  .links a[aria-current="page"]::after{display:none}
  .pillbg{display:none}
  .links .menu-cta{display:flex;margin-top:6px;color:#fff;justify-content:center}
  .tools{margin-left:auto}
}
@media (max-width:880px){.tools{gap:6px}.lang a,.lang button{padding:7px 7px}.theme-btn,.burger{width:36px;height:36px}.logo img{height:16px}}
@media (max-width:420px){.logo img{display:none}.ft .logo img{display:block;height:17px}.nav .cta-top{padding:9px 12px;font-size:.8rem}}
@media (max-width:360px){.nav .cta-top{display:none}}

/* ---------- Migas de pan ---------- */
.crumbs{font-size:.84rem;color:var(--muted);margin-bottom:22px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 8px}
.crumbs li{display:flex;align-items:center;gap:8px}
.crumbs li+li::before{content:"/";color:var(--dim)}
.crumbs a{color:var(--muted);text-decoration:none;font-weight:600}
.crumbs a:hover{color:var(--brand)}
.crumbs [aria-current]{color:var(--ink-2);font-weight:700}

/* ---------- Portada de cada página ---------- */
.phero{position:relative;overflow:hidden;padding:calc(76px + env(safe-area-inset-top,0px) + clamp(22px,4vw,56px)) 0 clamp(44px,7vw,84px);border-bottom:1px solid var(--line);isolation:isolate}
.phero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(var(--dotgrid) 1.2px,transparent 1.3px);background-size:22px 22px;-webkit-mask:radial-gradient(ellipse 80% 70% at 70% 30%,#000 30%,transparent 75%);mask:radial-gradient(ellipse 80% 70% at 70% 30%,#000 30%,transparent 75%)}
.phero::after{content:"";position:absolute;z-index:-2;width:640px;height:640px;right:-160px;top:-240px;border-radius:50%;background:radial-gradient(circle,var(--brand-tint),transparent 65%)}
.phero .stripes{position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(110deg,transparent 0 46px,rgba(8,97,243,.07) 46px 62px,transparent 62px 118px);-webkit-mask:linear-gradient(90deg,transparent 45%,#000 95%);mask:linear-gradient(90deg,transparent 45%,#000 95%);animation:stripes 18s linear infinite}
@keyframes stripes{to{background-position:236px 0}}
.phero .mark{position:absolute;z-index:-1;right:clamp(-40px,4vw,70px);bottom:-18px;width:clamp(150px,24vw,300px);opacity:.1}
.phero .inner{display:grid;gap:20px;max-width:820px}
.phero .lead{font-size:clamp(1.05rem,1.7vw,1.22rem);color:var(--muted);max-width:62ch}
.phero .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{display:inline-flex;align-items:center;gap:7px;font:700 .8rem var(--f-body);color:var(--ink-2);background:var(--surface);padding:7px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
.chip svg{width:14px;height:14px;color:var(--brand);stroke-width:3}

/* ---------- Secciones ---------- */
.sec{padding:clamp(52px,8vw,96px) 0}
.sec.soft{background:var(--soft);border-block:1px solid var(--line)}
.sec-head{display:grid;gap:14px;max-width:760px;margin-bottom:clamp(28px,4vw,44px)}
.sec-head p{color:var(--muted);font-size:1.06rem}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.grid.two{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.card{position:relative;background:var(--surface);border-radius:var(--r);padding:24px;box-shadow:inset 0 0 0 1px var(--line);display:grid;gap:10px;align-content:start;transition:box-shadow .3s,transform .4s var(--ease)}
.card p{color:var(--muted);font-size:.97rem}
.card .ico{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--brand-tint);color:var(--brand)}
.card .ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
a.card{text-decoration:none;color:inherit}
a.card:hover{box-shadow:inset 0 0 0 1px var(--brand),var(--shadow-lg);transform:translateY(-3px)}
a.card .more{font-weight:800;font-size:.9rem;color:var(--brand);display:inline-flex;gap:6px;align-items:center;margin-top:4px}
a.card .more::after{content:"→";transition:transform .3s var(--ease)}
a.card:hover .more::after{transform:translateX(4px)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:start}
@media (max-width:880px){.split{grid-template-columns:1fr}}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start}
.checks li::before{content:"";width:22px;height:22px;margin-top:2px;border-radius:7px;background:var(--brand-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230861F3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center/13px no-repeat}
.checks b{color:var(--ink)}
.checks span{color:var(--muted)}
.panel{background:var(--surface);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px);box-shadow:inset 0 0 0 1px var(--line),var(--shadow)}
.panel h3{margin-bottom:14px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{font:700 .82rem var(--f-body);color:var(--brand);background:var(--brand-tint);padding:7px 12px;border-radius:9px}

/* pasos */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));counter-reset:st}
.steps li{position:relative;background:var(--surface);border-radius:var(--r);padding:22px;box-shadow:inset 0 0 0 1px var(--line);counter-increment:st;display:grid;gap:8px;align-content:start}
.steps li::before{content:"0" counter(st);font:600 .78rem var(--f-mono);color:var(--brand);letter-spacing:.08em}
.steps li p{color:var(--muted);font-size:.95rem}

/* preguntas frecuentes */
.faq{display:grid;gap:10px;max-width:880px}
.faq details{background:var(--surface);border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .25s}
.faq details[open]{box-shadow:inset 0 0 0 1px var(--brand)}
.faq summary{cursor:pointer;list-style:none;padding:18px 20px;font-weight:800;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;flex:none;border-right:2.5px solid var(--brand);border-bottom:2.5px solid var(--brand);transform:rotate(45deg) translateY(-3px);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
.faq .ans{padding:0 20px 20px;color:var(--muted)}
.faq .ans p+p{margin-top:10px}
.faq-group{margin-top:40px}
.faq-group h2{font-size:clamp(1.4rem,2.6vw,1.8rem);margin-bottom:16px}

/* banda final */
.cta-band{position:relative;border-radius:30px;overflow:hidden;padding:clamp(34px,6vw,72px);background:var(--band);color:#fff;display:grid;gap:18px;isolation:isolate}
.cta-band::before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(110deg,transparent 0 46px,rgba(8,97,243,.22) 46px 70px,transparent 70px 118px,rgba(255,255,255,.05) 118px 132px);animation:stripes 14s linear infinite;-webkit-mask:linear-gradient(90deg,transparent 40%,#000 85%);mask:linear-gradient(90deg,transparent 40%,#000 85%)}
:root[data-theme="dark"] .cta-band{box-shadow:0 0 0 1px var(--line)}
.cta-band h2{max-width:16ch}
.cta-band p{color:rgba(255,255,255,.78);max-width:52ch}
.cta-band .eyebrow{color:#fff}
.cta-band .eyebrow::before{background:linear-gradient(90deg,#3B82FF 0 36%,transparent 36% 64%,#fff 64%)}
.cta-band .btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.cta-band .bigmark{position:absolute;z-index:-1;right:clamp(16px,6vw,72px);bottom:clamp(16px,5vw,56px);width:clamp(90px,15vw,170px);--m-ink:#fff}
@media (max-width:640px){.cta-band .bigmark{opacity:.16;width:130px}}

/* ---------- Artículos del blog ---------- */
.prose{max-width:740px;font-size:1.06rem;line-height:1.78}
.prose>*+*{margin-top:1.05em}
.prose h2{font-size:clamp(1.45rem,2.8vw,1.9rem);margin-top:1.9em;scroll-margin-top:96px}
.prose h3{margin-top:1.5em}
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--brand);font-weight:800}
.prose strong{color:var(--ink)}
.prose p,.prose li{color:var(--ink-2)}
.prose .note{background:var(--soft);border-left:3px solid var(--brand);padding:16px 18px;border-radius:0 14px 14px 0;color:var(--ink-2)}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-family:var(--f-display);font-size:.9rem}
.table{overflow-x:auto;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line)}
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(28px,5vw,64px);align-items:start}
.art-side{position:sticky;top:96px;display:grid;gap:14px}
.art-side .panel{padding:22px}
.art-side h3{font-size:1rem}
.art-side p{color:var(--muted);font-size:.93rem}
.art-toc{display:grid;gap:4px;font-size:.9rem}
.art-toc a{color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:8px;border-left:2px solid var(--line)}
.art-toc a:hover,.art-toc a.on{color:var(--ink);border-left-color:var(--brand);background:var(--soft)}
@media (max-width:980px){.art-layout{grid-template-columns:1fr}.art-side{position:static}}
.byline{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.9rem;flex-wrap:wrap}
.byline .av{width:40px;height:40px;border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center}
.byline .av svg{width:26px;--m-ink:#0A0B0D}
:root[data-theme="dark"] .byline .av svg{--m-ink:#EDF1F7}
.byline b{color:var(--ink)}
.post-card time{font:600 .78rem var(--f-mono);color:var(--muted);letter-spacing:.04em}

/* ---------- Contacto ---------- */
.contact-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.contact-grid .card b{font-size:1.08rem}
.contact-grid .card a{font-weight:800;text-decoration:none}

/* ---------- Pie de página ---------- */
.ft{margin-top:clamp(56px,8vw,96px);border-top:1px solid var(--line);padding:clamp(40px,6vw,64px) 0 28px;font-size:.92rem;color:var(--muted)}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.ft h2{font:800 .78rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ft a{color:var(--muted);text-decoration:none;font-weight:600}
.ft a:hover{color:var(--brand)}
.ft .about p{margin:14px 0 18px;max-width:34ch}
.ft .social{display:flex;gap:8px;flex-wrap:wrap}
.ft .social a{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--soft);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);transition:transform .3s var(--ease),box-shadow .2s}
.ft .social a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--brand);color:var(--brand)}
.ft .social svg{width:18px;height:18px;fill:currentColor}
.ft .bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.85rem}
@media (max-width:880px){.ft-grid{grid-template-columns:1fr 1fr}.ft .about{grid-column:1/-1}}
@media (max-width:460px){.ft-grid{grid-template-columns:1fr}}



/* ---------- Redes: botón de WhatsApp con número y tarjeta de vista previa (igual que en la página principal) ---------- */
.social a.wa-link{width:auto;text-decoration:none;padding-inline:12px 14px;gap:8px;display:inline-flex;align-items:center;background:var(--wa-bg);color:var(--wa-fg);font-weight:800;font-size:.86rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.social a.wa-link:hover{background:#25D366;color:#fff}
.social a.wa-link svg{width:18px;height:18px}
.sp{position:fixed;z-index:90;width:292px;max-width:calc(100vw - 24px);background:var(--surface);border-radius:18px;box-shadow:0 0 0 1px var(--line),0 30px 60px -20px rgba(10,11,13,.35);overflow:visible;opacity:0;transform:translateY(8px) scale(.96);transform-origin:var(--ox,50%) 100%;pointer-events:none;transition:opacity .22s var(--ease),transform .28s var(--ease)}
.sp.show{opacity:1;transform:none;pointer-events:auto}
.sp.below{transform-origin:var(--ox,50%) 0}
.sp::after{content:"";position:absolute;left:var(--ax,50%);bottom:-7px;width:14px;height:14px;background:var(--surface);transform:translateX(-50%) rotate(45deg);box-shadow:3px 3px 0 -2px var(--line);border-radius:0 0 3px 0}
.sp.below::after{bottom:auto;top:-7px;box-shadow:-1px -1px 0 0 var(--line);border-radius:3px 0 0 0}
.sp-cover{height:64px;border-radius:18px 18px 0 0;background:var(--c);position:relative;overflow:hidden}
.sp-cover::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(110deg,transparent 0 22px,rgba(255,255,255,.12) 22px 34px)}
.sp-net{position:absolute;right:12px;top:12px;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.22);display:grid;place-items:center;color:#fff}
.sp-net svg{width:16px;height:16px;fill:currentColor}
.sp-body{padding:0 16px 16px;display:grid;gap:8px}
.sp-av{width:58px;height:58px;border-radius:16px;background:#fff;box-shadow:0 0 0 3px var(--surface),0 6px 16px -6px rgba(10,11,13,.35);display:grid;place-items:center;margin-top:-30px;position:relative}
.sp-av svg{width:40px;height:auto}
.sp-name{font-family:var(--f-display);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;line-height:1.2}
.sp-handle{font-size:.8rem;color:var(--muted);font-weight:600;margin-top:-4px}
.sp-bio{font-size:.86rem;color:var(--ink-2);line-height:1.5}
.sp-tags{display:flex;flex-wrap:wrap;gap:5px}
.sp-tags span{font-size:.7rem;font-weight:700;padding:4px 8px;border-radius:7px;background:var(--soft);color:var(--muted)}
.sp-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:11px 14px;border-radius:12px;background:var(--c);color:#fff!important;text-decoration:none;font-weight:800;font-size:.88rem;transition:filter .2s,transform .2s var(--ease)}
.sp-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.sp-btn svg{width:18px;height:18px;fill:currentColor;flex:none}
.sp-hint{font-size:.72rem;color:var(--muted);text-align:center;display:none}
@media (hover:none){.sp-hint{display:block}}
.social a.sp-active{outline:2px solid var(--brand);outline-offset:2px}
.ft .social a.wa-link{width:auto;padding-inline:12px 14px;gap:8px;display:inline-flex;align-items:center;background:#E8F8EF;color:#0B7A43;font-weight:800;font-size:.86rem}
:root[data-theme="dark"] .ft .social a.wa-link{background:rgba(37,211,102,.12);color:#4BE38A}
.ft .social a.wa-link:hover{background:#25D366;color:#fff}
.ft .social a.wa-link svg{width:18px;height:18px}
@media (max-width:880px){.ft{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}}

/* ---------- Asistente (igual al de la página principal) ---------- */
:root{--d0:.1s}
.bot-h .av,.sp-av{--m-ink:#0A0B0D}
@keyframes up{from{opacity:0;transform:translateY(18px)}}
.glass{background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--r);box-shadow:0 0 0 1px var(--line),var(--shadow-lg)}
.grecaptcha-badge{left:8px!important;right:auto!important;bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;width:70px!important;overflow:hidden!important;border-radius:6px!important;z-index:40!important;transition:width .3s var(--ease)!important;box-shadow:0 4px 14px rgba(10,11,13,.18)!important}
.grecaptcha-badge:hover{width:256px!important}
.handoff{align-self:stretch;background:var(--surface);border-radius:16px;padding:14px;box-shadow:0 0 0 1px var(--line),var(--shadow);display:grid;gap:10px;animation:msgIn .4s var(--ease) both}
.handoff b{font-size:.92rem}
.handoff p{font-size:.84rem;color:var(--muted);margin:0}
.handoff a{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:12px;background:#25D366;color:#fff;text-decoration:none;font-weight:800;font-size:.9rem;transition:transform .25s var(--ease),background .25s}
.handoff a:hover{background:#1DA851;transform:translateY(-2px)}
.handoff a svg{width:18px;height:18px;fill:currentColor}
.sugg button.wa{background:#25D366;border-color:#25D366;color:#fff}
.msg a.wa{display:inline-flex;margin-top:8px;padding:8px 12px;border-radius:10px;background:var(--inv);color:var(--on-inv);text-decoration:none;font-weight:700;font-size:.82rem}
/* ---------- CHATBOT ---------- */
.bot-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:62px;height:62px;border-radius:20px;border:0;cursor:pointer;background:var(--fab-bg);color:var(--fab-fg);display:grid;place-items:center;box-shadow:0 16px 32px -12px rgba(10,11,13,.55),0 0 0 1px var(--fab-ring);transition:transform .35s var(--ease),border-radius .35s;animation:up .6s calc(var(--d0) + 1.2s) var(--ease) both,fabFlip 7s calc(var(--d0) + 2s) ease-in-out infinite}
.bot-fab:hover{transform:translateY(-3px) rotate(-4deg)}
.bot-fab svg{width:32px;height:auto;position:relative;z-index:1}
.bot-fab svg.m{--m-ink:var(--fab-fg)}
/* Colores animables del botón: alterna negro y blanco */
@property --fab-bg{syntax:'<color>';inherits:true;initial-value:#0A0B0D}
@property --fab-fg{syntax:'<color>';inherits:true;initial-value:#FFFFFF}
@property --fab-ring{syntax:'<color>';inherits:true;initial-value:rgba(10,11,13,0)}
@keyframes fabFlip{0%,40%{--fab-bg:#0A0B0D;--fab-fg:#FFFFFF;--fab-ring:rgba(10,11,13,0)}50%,90%{--fab-bg:#FFFFFF;--fab-fg:#0A0B0D;--fab-ring:rgba(10,11,13,.12)}100%{--fab-bg:#0A0B0D;--fab-fg:#FFFFFF;--fab-ring:rgba(10,11,13,0)}}
/* Trazos inclinados de la marca que se deslizan dentro del botón */
.bot-fab .fx{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.bot-fab .fx::before{content:"";position:absolute;inset:-20% -60%;background:repeating-linear-gradient(110deg,transparent 0 9px,rgba(8,97,243,.55) 9px 14px,transparent 14px 23px,color-mix(in srgb,var(--fab-fg) 22%,transparent) 23px 25px);animation:fabStripes 2.2s linear infinite;-webkit-mask:linear-gradient(120deg,transparent 15%,#000 55%,transparent 95%);mask:linear-gradient(120deg,transparent 15%,#000 55%,transparent 95%)}
.bot-fab .fx::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--fab-fg) 35%,transparent),transparent);transform:skewX(-20deg);animation:fabShine 3.5s ease-in-out infinite 1s}
@keyframes fabStripes{to{transform:translateX(50px)}}
@keyframes fabShine{0%,60%{left:-60%}90%,100%{left:130%}}
.bot-fab[aria-expanded=true]{animation:none;--fab-bg:var(--inv);--fab-fg:var(--on-inv)}
.bot-fab[aria-expanded=true] .fx{display:none}
.bot-fab .x{display:none;width:22px}
.bot-fab[aria-expanded=true] .x{display:block}
.bot-fab[aria-expanded=true] .m{display:none}
.bot-fab::after{content:"";position:absolute;top:-3px;right:-3px;width:14px;height:14px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--bg);z-index:2}
.bot-fab[aria-expanded=true]::after{display:none}
.bot-hint{position:fixed;right:92px;bottom:calc(30px + env(safe-area-inset-bottom,0px));z-index:60;padding:10px 14px;border-radius:14px;font-size:.87rem;font-weight:700;cursor:pointer;animation:up .6s calc(var(--d0) + 2.2s) var(--ease) both}
.bot{position:fixed;right:20px;bottom:calc(94px + env(safe-area-inset-bottom,0px));z-index:61;width:min(384px,calc(100vw - 32px));height:min(560px,calc(100vh - 140px));background:var(--surface);border-radius:24px;display:grid;grid-template-rows:auto 1fr auto auto;overflow:hidden;box-shadow:0 40px 80px -24px rgba(10,11,13,.38),0 0 0 1px var(--line);transform-origin:bottom right}
.bot.opening{animation:popIn .45s var(--ease)}
.bot.closing{animation:popOut .25s ease-in forwards}
@keyframes popIn{from{transform:scale(.8) translateY(16px);opacity:0;border-radius:40px}}
@keyframes popOut{to{transform:scale(.9) translateY(12px);opacity:0}}
.bot-h{display:flex;align-items:center;gap:12px;padding:16px;background:var(--band);color:#fff;position:relative;overflow:hidden}
.bot-h::after{content:"";position:absolute;right:-30px;top:-20px;width:140px;height:120px;background:repeating-linear-gradient(110deg,transparent 0 14px,rgba(8,97,243,.35) 14px 22px);opacity:.6}
.bot-h .av{width:40px;height:40px;border-radius:12px;background:#fff;display:grid;place-items:center;flex:none}
.bot-h .av svg{width:26px;height:auto}
.bot-h b{display:block;font-size:.95rem}
.bot-h small{opacity:.8;font-size:.75rem;display:flex;align-items:center;gap:6px}
.bot-h small::before{content:"";width:7px;height:7px;border-radius:50%;background:#3BE0A8}
.bot-h button{margin-left:auto;background:none;border:0;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.8;position:relative;z-index:1}
.msgs{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--soft)}
.msg{max-width:85%;padding:10px 14px;border-radius:16px;font-size:.9rem;line-height:1.45;animation:msgIn .35s var(--ease) both}
@keyframes msgIn{from{opacity:0;transform:translateY(8px) scale(.97)}}
.msg.b{background:var(--surface);box-shadow:0 0 0 1px var(--line);border-bottom-left-radius:4px;transform-origin:bottom left}
.msg.u{background:var(--brand);color:#fff;align-self:flex-end;border-bottom-right-radius:4px;transform-origin:bottom right}
.typing{display:flex;gap:4px;padding:14px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--dim);animation:bounce 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes bounce{50%{transform:translateY(-5px)}}
.sugg{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px;background:var(--soft)}
.sugg button{font:700 .76rem var(--f-body);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:7px 10px;cursor:pointer;transition:all .25s}
.sugg button:hover{background:var(--inv);color:var(--on-inv);border-color:var(--inv)}
.bot form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.bot input{flex:1;min-width:0;font:inherit;font-size:.9rem;color:var(--ink);background:var(--soft);border:1px solid transparent;border-radius:12px;padding:10px 12px}
.bot input:focus{outline:none;border-color:var(--brand);background:var(--surface)}
.bot form button{border:0;background:var(--brand);color:#fff;border-radius:12px;width:44px;cursor:pointer;display:grid;place-items:center;transition:transform .25s var(--ease)}
.bot form button:hover{transform:translateX(2px) rotate(-8deg)}
.bot form button svg{width:18px;height:18px}


/* ---------- Aparición al hacer scroll ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv-d1{transition-delay:.08s}.js .rv-d2{transition-delay:.16s}.js .rv-d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- Políticas (documento con índice lateral) ---------- */
.pol .layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;padding-block:44px 80px}
.pol .toc{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;font-size:.88rem;padding-right:6px;scrollbar-width:thin;overscroll-behavior:contain}
.pol .toc-track{position:relative}
.pol .toc-track::before{content:"";position:absolute;left:0;top:0;width:2px;height:var(--tocfill,0px);background:var(--brand);border-radius:2px;transition:height .25s ease;z-index:1}
.pol .toc b{display:block;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;padding:18px 0 8px 12px;border-left:2px solid var(--line)}
.pol .toc b:first-child{padding-top:2px}
.pol .toc a{display:block;color:var(--muted);text-decoration:none;padding:5px 10px;border-left:2px solid var(--line);transition:all .2s}
.pol .toc a:hover{color:var(--ink)}
.pol .toc a.read{color:var(--ink-2)}
.pol .toc a.on{color:var(--brand);font-weight:700;background:linear-gradient(90deg,var(--brand-tint),transparent)}
.pol .doc{max-width:760px;min-width:0;line-height:1.7}
.pol .doc section,.pol .doc [id]{scroll-margin-top:96px}
.pol .doc>section+section{margin-top:64px;padding-top:48px;border-top:1px solid var(--line)}
.pol .doc h2{font-size:clamp(1.6rem,3.2vw,2.2rem);margin:10px 0 18px;font-weight:800}
.pol .doc h3{font-size:1.15rem;margin:34px 0 10px;font-weight:700}
.pol .doc p{margin:0 0 12px}
.pol .doc p,.pol .doc li{color:var(--ink-2)}
.pol .doc ul,.pol .doc ol{padding-left:1.3em}
.pol .doc li{margin:6px 0}
.pol .doc li::marker{color:var(--brand);font-weight:700}
.pol .doc dl{display:grid;gap:10px;margin:0}
.pol .doc dt{font-weight:800}
.pol .doc dd{margin:0 0 6px;color:var(--ink-2)}
.pol .summary,.pol .en-summary{background:var(--soft);border-radius:var(--r);padding:20px 22px;box-shadow:inset 0 0 0 1px var(--line)}
.pol .en-summary{background:var(--surface);margin-bottom:28px}
.pol .summary h3,.pol .en-summary h3{margin-top:0}
.pol .en-summary p{margin:0;color:var(--muted)}
.pol .doc .card{border-radius:var(--r);padding:18px 20px;box-shadow:0 0 0 1px var(--line),var(--shadow);background:var(--surface);margin:18px 0;display:block}
.pol .table{margin:14px 0}
.pol table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:560px}
.pol th,.pol td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.pol th{background:var(--soft);font-weight:800;font-size:.82rem}
.pol tr:last-child td{border-bottom:0}
.pol .contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}
.pol .contact div{background:var(--surface);border-radius:14px;padding:14px 16px;box-shadow:0 0 0 1px var(--line)}
.pol .contact small{display:block;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pol .contact b{font-size:.98rem;word-break:break-word}
.pol .changelog li{margin-bottom:6px}
@media (max-width:900px){.pol .layout{grid-template-columns:1fr;gap:0}.pol .toc{display:none}}
@media print{.nav,.pol .toc,.bot-fab,.bot-hint,.progress{display:none}.pol .layout{display:block}}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-weight:800;color:var(--brand);cursor:pointer;text-align:left;justify-self:start}
.linkbtn:hover{text-decoration:underline}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
