/* BrandApp · estilos compartidos.
   GENERADO desde el <style> de index.html con tools/sync-css.py. No lo edites a mano:
   cambia index.html y vuelve a ejecutar el script. */
/* Inter (SIL OFL) alojada en fonts/ */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ─── RESET ─────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:17px;line-height:1.47;letter-spacing:-.022em;color:var(--ink);
  background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{display:block;max-width:100%}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}

/* ─── VARIABLES ──────────────────────────────────── */
:root{
  --font:"Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --bg:#fff; --bg-alt:#F5F5F7; --ink:#1D1D1F; --ink-2:#6E6E73; --line:#D2D2D7; --line-2:#E8E8ED;
  --dark:#000; --dark-2:#161617; --dark-ink:#F5F5F7; --dark-ink-2:#A1A1A6;
  --blue:#3B5BFF; --blue-hover:#2D4AE6; --link:#2E4BE8; --link-dark:#7C93FF; /* Azul BrandApp (ultramar) */ --orange:#B64400;
  --r-xl:28px; --r-lg:18px; --r-md:12px;
  --wrap:980px; --pad:max(22px, calc((100vw - var(--wrap)) / 2));
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ─── UTILS ──────────────────────────────────────── */
.wrap{width:min(100% - 44px, var(--wrap));margin-inline:auto}
.wrap-wide{width:min(100% - 44px, 1200px);margin-inline:auto}
.center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-60px;left:16px;z-index:300;padding:10px 16px;background:var(--ink);color:#fff;
  border-radius:8px;font-size:14px;font-weight:600;transition:top .2s}
.skip-link:focus{top:12px;text-decoration:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
[tabindex="-1"]:focus{outline:none}
section[id]{scroll-margin-top:52px}

/* ─── TIPOGRAFÍA ─────────────────────────────────── */
.eyebrow{font-size:clamp(19px,1.9vw,24px);font-weight:600;letter-spacing:.004em;margin-bottom:10px}
.h1{font-size:clamp(48px,8.2vw,104px);font-weight:700;line-height:1.02;letter-spacing:-.032em}
.h2{font-size:clamp(40px,5.8vw,80px);font-weight:700;line-height:1.04;letter-spacing:-.03em}
.h3{font-size:clamp(26px,3vw,40px);font-weight:700;line-height:1.1;letter-spacing:-.024em}
.lead{font-size:clamp(19px,2vw,24px);line-height:1.38;letter-spacing:-.012em;font-weight:500;color:var(--ink-2);max-width:720px}
.center .lead{margin-inline:auto}
.muted{color:var(--ink-2)}
.dark{background:var(--dark);color:var(--dark-ink)}
.dark .muted,.dark .lead{color:var(--dark-ink-2)}
.dark a{color:var(--link-dark)}
.alt{background:var(--bg-alt)}
.section{padding:clamp(88px,12vw,160px) 0}
.more{white-space:nowrap}
.more::after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:.3em;border:solid currentColor;
  border-width:0 .11em .11em 0;transform:rotate(-45deg) translateY(-.1em)}
sup.fn{font-size:.55em;vertical-align:super;line-height:0}
sup.fn a{color:inherit}

/* ─── BOTONES ────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 22px;border-radius:980px;
  background:var(--blue);color:#fff;font-size:17px;font-weight:500;letter-spacing:-.022em;transition:background-color .2s}
.btn:hover{background:var(--blue-hover);text-decoration:none}
.btn-sm{min-height:28px;padding:4px 12px;font-size:12px;font-weight:500;letter-spacing:-.01em}

/* ─── NAV LOCAL (sticky, estilo página de producto) ── */
.lnav{position:sticky;top:0;z-index:100;height:52px;background:rgba(22,22,23,.82);color:var(--dark-ink);
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(255,255,255,.08)}
.lnav-in{height:100%;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:8px;color:var(--dark-ink);font-size:21px;font-weight:600;letter-spacing:-.02em}
.brand:hover{text-decoration:none}
.brand svg{width:20px;height:25px}
.lnav-links{display:flex;gap:26px;margin-left:auto}
.lnav-links a{color:rgba(245,245,247,.82);font-size:13px;letter-spacing:-.01em}
.lnav-links a:hover{color:#fff;text-decoration:none}
.lnav-toggle{display:none;width:28px;height:28px;margin-left:auto;border-radius:50%;align-items:center;justify-content:center}
.lnav-toggle svg{width:12px;height:12px;transition:transform .3s var(--ease)}
.lnav-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.lnav-menu{display:none;position:absolute;left:0;right:0;top:52px;background:rgba(22,22,23,.96);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:8px 0 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.lnav-menu.open{display:block}
.lnav-menu a{display:block;color:var(--dark-ink);font-size:17px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.lnav-menu a:hover{text-decoration:none;color:#fff}

/* ─── DISPOSITIVO (móvil dibujado en CSS, todo en em) ── */
.device{--w:28em;position:relative;width:var(--w);height:calc(var(--w) * 2.1667);border-radius:4.7em;padding:.95em;
  background:linear-gradient(150deg,#77777c 0%,#2e2e31 20%,#1c1c1e 58%,#5d5d62 100%);
  box-shadow:inset 0 0 0 .16em #0b0b0c,inset 0 0 0 .34em #3b3b3f,0 3.4em 6em -2.2em rgba(0,0,0,.6)}
.device::after{content:"";position:absolute;z-index:6;top:2.2em;left:50%;width:2.1em;height:2.1em;margin-left:-1.05em;border-radius:50%;background:#050505;box-shadow:inset 0 0 0 .38em #17171a}
.dscreen{position:relative;height:100%;border-radius:3.8em;overflow:hidden;background:#fff}
.app{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--a-bg);color:var(--a-ink);letter-spacing:0;line-height:1.25;overflow:hidden}
.t-lumen{--a-bg:#FAF8F5;--a-ink:#1D1D1F;--a-2:#7A746C;--a-accent:#1D1D1F;--a-chip:#EFEBE5;--a-card:#ECE6DE;--a-line:#E6E1D9;--a-font:Georgia,"Times New Roman",serif;--a-track:.28em;--a-grad:linear-gradient(160deg,#E7DDD0,#B9A690)}
.t-alba{--a-bg:#F6F7F2;--a-ink:#1E2A21;--a-2:#66735F;--a-accent:#4F6B55;--a-chip:#E6EBE1;--a-card:#E2E8DC;--a-line:#E3E8DE;--a-font:var(--font);--a-track:-.02em;--a-grad:linear-gradient(160deg,#B9C7B3,#4F6B55)}
.t-nordi{--a-bg:#F4F6F8;--a-ink:#14202E;--a-2:#66727F;--a-accent:#1F3A5F;--a-chip:#E4E9EF;--a-card:#DCE3EA;--a-line:#E1E6EC;--a-font:var(--font);--a-track:.34em;--a-grad:linear-gradient(160deg,#8FA7C2,#1F3A5F)}
.t-sys{--a-bg:#F2F2F7;--a-ink:#1D1D1F;--a-2:#6E6E73;--a-accent:#3B5BFF;--a-chip:#fff;--a-card:#fff;--a-line:#E5E5EA;--a-font:var(--font);--a-track:0}
.sb{flex:none;height:5.1em;display:flex;justify-content:space-between;align-items:flex-end;padding:0 2.7em .55em 3em;font-size:1em}
.sb time{font-size:1.45em;font-weight:600;letter-spacing:-.02em}
.sb svg{width:6.4em;height:1.3em}
.ah{flex:none;display:flex;justify-content:space-between;align-items:center;padding:.9em 1.9em 1em}
.ah .bn{font-family:var(--a-font);font-size:1.9em;font-weight:600;letter-spacing:var(--a-track);text-transform:uppercase}
.t-alba .ah .bn{text-transform:none;font-weight:700}
.ah .ic{display:flex;gap:1.2em}
.ah svg,.tabs svg{width:2.1em;height:2.1em}
.banner{flex:none;position:relative;margin:0 1.5em;height:16.5em;border-radius:1.3em;overflow:hidden;background:var(--a-grad)}
.banner img,.im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45))}
.banner p{position:absolute;z-index:1;left:1.3em;bottom:1.25em;color:#fff;font-size:1.75em;font-weight:600;line-height:1.08;letter-spacing:-.02em}
.banner p small{display:block;font-size:.55em;font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.9;margin-bottom:.35em}
.chips{flex:none;display:flex;gap:.6em;padding:1.2em 1.5em .5em;overflow:hidden}
.chips span{font-size:1.1em;padding:.45em .95em;border-radius:99em;background:var(--a-chip);white-space:nowrap}
.chips span:first-child{background:var(--a-ink);color:var(--a-bg)}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.1em .9em;padding:.8em 1.5em}
.im{position:relative;aspect-ratio:4/5;border-radius:1em;overflow:hidden;background:var(--g,var(--a-card))}
.pc b{display:block;font-size:1.1em;font-weight:500;margin-top:.55em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc i{font-style:normal;font-size:1.15em;font-weight:600}
.tabs{position:absolute;left:0;right:0;bottom:0;height:7.4em;display:flex;justify-content:space-around;padding-top:1.1em;
  background:color-mix(in srgb,var(--a-bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--a-line)}
.tabs svg{color:var(--a-2)}
.tabs .on{color:var(--a-accent)}
.app::after{content:"";position:absolute;z-index:3;bottom:.75em;left:50%;width:11.5em;height:.42em;margin-left:-5.75em;border-radius:1em;background:var(--a-ink);opacity:.85}
/* Pantallas del proceso / ajustes */
.set{padding:1.2em 1.8em;display:flex;flex-direction:column;gap:1.2em}
.set-t{font-size:2.6em;font-weight:700;letter-spacing:-.03em;line-height:1.05}
.set-s{font-size:1.2em;color:var(--a-2);margin-top:-.4em}
.card{background:#fff;border-radius:1.3em;padding:1.3em 1.4em}
.opt{display:flex;align-items:center;gap:1em;padding:1.1em 1.3em;background:#fff;border-radius:1.3em;font-size:1.25em}
.opt .lg{width:2.6em;height:2.6em;border-radius:.7em;display:grid;place-items:center;color:#fff;font-weight:700;font-size:.95em;flex:none}
.opt .ok{margin-left:auto;font-size:.8em;font-weight:600;color:#1E8E3E}
.opt.off{opacity:.55}
.pb{height:.7em;border-radius:1em;background:#E5E5EA;overflow:hidden;margin:.8em 0 .5em}
.pb i{display:block;height:100%;width:68%;border-radius:1em;background:var(--a-accent)}
.lbl{font-size:1.05em;font-weight:600;color:var(--a-2);text-transform:uppercase;letter-spacing:.06em}
.swatches{display:flex;gap:.9em}
.swatches i{width:3.2em;height:3.2em;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.swatches i.on{box-shadow:0 0 0 .25em #fff,0 0 0 .45em var(--a-accent)}
.fonts{display:flex;gap:.8em}
.fonts span{flex:1;text-align:center;padding:.8em 0;border-radius:1em;background:#fff;font-size:1.8em}
.fonts span.on{box-shadow:0 0 0 .12em var(--a-accent)}
.logo-drop{height:8em;border-radius:1.3em;background:#fff;display:grid;place-items:center;font-family:Georgia,"Times New Roman",serif;font-size:2.4em;letter-spacing:.3em;border:1px dashed #C7C7CC}
.sheet{position:absolute;left:1em;right:1em;bottom:1.4em;z-index:4;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-radius:2em;padding:1.6em 1.6em 1.4em;box-shadow:0 1em 3em rgba(0,0,0,.18);color:#1D1D1F}
.sheet p{font-size:1.25em;font-weight:600}
.sheet small{display:block;font-size:1em;color:#6E6E73;margin:.2em 0 1em}
.sheet .row{display:flex;gap:.8em}
.sheet span{flex:1;text-align:center;font-size:1.15em;font-weight:600;padding:.8em;border-radius:1em;background:#E8E8ED}
.sheet span.go{background:#3B5BFF;color:#fff}
.store{display:flex;gap:1.3em;align-items:center}
.store .ico{width:7em;height:7em;border-radius:1.6em;background:#1D1D1F;color:#FAF8F5;display:grid;place-items:center;font-family:Georgia,"Times New Roman",serif;font-size:1.2em;letter-spacing:.2em;flex:none}
.store b{display:block;font-size:1.6em;letter-spacing:-.02em}
.store small{display:block;font-size:1.05em;color:var(--a-2);margin:.2em 0 .7em}
.get{display:inline-block;font-size:1.1em;font-weight:700;color:#2E4BE8;background:#ECEFFF;border-radius:99em;padding:.35em 1.3em}
.checks p{display:flex;align-items:center;gap:.7em;font-size:1.2em;padding:.55em 0;border-bottom:1px solid var(--a-line)}
.checks p:last-child{border:0}
.checks i{width:1.6em;height:1.6em;border-radius:50%;background:#1E8E3E;flex:none;display:grid;place-items:center;color:#fff;font-style:normal;font-size:.8em;font-weight:700}
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:.7em}
.shots i{aspect-ratio:9/19;border-radius:.9em;background:linear-gradient(#EFEBE5 30%,#D9CFC2 30% 55%,#EFEBE5 55%)}

/* ─── HERO ───────────────────────────────────────── */
.hero{background:#000;color:var(--dark-ink);text-align:center;padding-top:clamp(56px,8vw,104px);overflow:hidden}
.hero-eyebrow{display:inline-block;font-size:clamp(21px,2.1vw,28px);font-weight:600;letter-spacing:-.01em;text-wrap:balance;
  background:linear-gradient(90deg,#F2C6A0,#E59A9A 50%,#C9A0E6);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-title{font:inherit;margin:0}
.hero-title .h1{display:block;margin-top:6px}
.hero-sub{max-width:700px;margin:20px auto 0;color:var(--dark-ink-2);font-size:clamp(19px,2vw,24px);line-height:1.38;letter-spacing:-.012em;font-weight:500}
.hero-ctas{display:flex;gap:30px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:30px;font-size:17px}
.hero a:not(.btn){color:var(--link-dark)}
.hero-stage{--p:0;position:relative;height:clamp(420px,54vw,690px);margin-top:clamp(48px,6vw,72px);font-size:clamp(6.2px,1vw,10px)}
.hero-stage::before{content:"";position:absolute;left:50%;top:18%;width:min(1100px,120vw);height:80%;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(229,154,154,.26),rgba(201,160,230,.12) 55%,transparent)}
.hero-stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(transparent,#000);z-index:4}
.hero-stage .device{position:absolute;top:0;left:50%}
.dev-c{z-index:3;transform:translate(-50%,calc(var(--p) * -4em))}
.dev-l,.dev-r{font-size:.86em;z-index:2}
.dev-l{transform:translate(calc(-50% - 33em - var(--p) * 7em),calc(6em - var(--p) * 2em)) rotate(calc(-5deg - var(--p) * 3deg))}
.dev-r{transform:translate(calc(-50% + 33em + var(--p) * 7em),calc(6em - var(--p) * 2em)) rotate(calc(5deg + var(--p) * 3deg))}
.js .hero-in{animation:fadeUp 1s var(--ease) both}
.js .hero-in.d2{animation-delay:.12s}.js .hero-in.d3{animation-delay:.24s}
.js .hero-stage .device{animation:rise 1.3s var(--ease) both}
.js .hero-stage .dev-c{animation-delay:.25s}.js .hero-stage .dev-l,.js .hero-stage .dev-r{animation-delay:.45s}
@keyframes fadeUp{from{opacity:0;translate:0 24px}}
@keyframes rise{from{opacity:0;translate:0 14%}}

/* ─── CARRUSELES ─────────────────────────────────── */
.car-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.car-track{display:flex;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);
  padding:48px var(--pad) 24px;scrollbar-width:none}
.car-track::-webkit-scrollbar{display:none}
.car-track > li{scroll-snap-align:start;flex:none}
.car-nav{display:flex;justify-content:flex-end;gap:14px;width:min(100% - 44px, var(--wrap));margin:0 auto}
.car-nav button{width:36px;height:36px;border-radius:50%;background:#E8E8ED;color:#1D1D1F;display:grid;place-items:center;transition:background-color .2s,opacity .2s}
.car-nav button:hover{background:#DCDCE0}
.car-nav button:disabled{opacity:.35;cursor:default}
.car-nav svg{width:14px;height:14px}

/* ─── LO MÁS DESTACADO ───────────────────────────── */
.hl-card{position:relative;width:min(86vw,980px);height:clamp(520px,72vh,660px);border-radius:var(--r-xl);overflow:hidden;background:#000;color:var(--dark-ink);isolation:isolate}
.hl-media{position:absolute;inset:0;z-index:-1}
.hl-media > img{width:100%;height:100%;object-fit:cover}
.hl-media.dim > img{filter:brightness(.62) saturate(1.05)}
.hl-cap{position:relative;z-index:2;padding:clamp(26px,4vw,48px);max-width:640px;font-size:clamp(19px,1.9vw,24px);line-height:1.3;font-weight:600;letter-spacing:-.012em;color:#A1A1A6}
.hl-cap b{color:#F5F5F7;font-weight:600}
.hl-card::before{content:"";position:absolute;inset:0 0 55%;z-index:1;background:linear-gradient(rgba(0,0,0,.72),transparent)}
.hl-stage{position:absolute;inset:0;z-index:1;font-size:clamp(6px,.92vw,9.5px)}
.hl-stage .device{position:absolute;left:50%;top:38%;transform:translateX(-50%)}
.bg-marca{background:radial-gradient(90% 70% at 70% 90%,#6B5646,#2A221C 55%,#120E0B)}
.bg-sync{background:radial-gradient(80% 70% at 50% 100%,#123A5E,#0A1A2B 60%,#05080C)}
.bg-push{background:radial-gradient(90% 80% at 30% 100%,#3D2A63,#16112A 60%,#07060C)}
.bg-pay{background:radial-gradient(90% 80% at 60% 100%,#6A3A22,#281610 60%,#0C0806)}
.bg-pub{background:radial-gradient(90% 80% at 50% 100%,#1E3A34,#0D1A18 60%,#050908)}
.float{position:absolute;z-index:3;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.18);border-radius:2em;color:#fff;padding:1.4em 1.8em;font-size:1.3em}
.float .swatches i{width:3em;height:3em}
.float .aa{font-size:3.4em;line-height:1;font-family:Georgia,"Times New Roman",serif}
.fl-sw{left:calc(50% - 40em);top:58%}
.fl-aa{left:calc(50% + 18em);top:46%}
.panel{position:absolute;z-index:2;width:30em;background:#fff;color:#1D1D1F;border-radius:2.2em;padding:2em;box-shadow:0 2em 4em rgba(0,0,0,.35)}
.panel h4{font-size:1.3em;font-weight:600;color:#6E6E73;margin-bottom:1.2em;letter-spacing:0}
.prow{display:flex;gap:1.3em;align-items:center}
.prow .im{width:7em;flex:none;border-radius:1.1em}
.prow b{display:block;font-size:1.6em;letter-spacing:-.02em}
.prow small{display:block;font-size:1.3em;color:#6E6E73}
.stock{display:flex;justify-content:space-between;margin-top:1.4em;padding-top:1.2em;border-top:1px solid #E5E5EA;font-size:1.35em}
.stock b{font-size:1em}
.synced{display:inline-flex;align-items:center;gap:.6em;margin-top:1.2em;font-size:1.2em;font-weight:600;color:#1E8E3E}
.synced::before{content:"";width:.7em;height:.7em;border-radius:50%;background:#1E8E3E;box-shadow:0 0 0 .3em rgba(30,142,62,.2)}
.flow{position:absolute;z-index:2;display:flex;gap:1em}
.flow i{width:1em;height:1em;border-radius:50%;background:#7C93FF;opacity:.25}
.js .flow i{animation:flow 1.6s infinite}
.flow i:nth-child(2){animation-delay:.2s}.flow i:nth-child(3){animation-delay:.4s}.flow i:nth-child(4){animation-delay:.6s}
@keyframes flow{50%{opacity:1}}
.lock{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:8%;color:#fff}
.lk-date{font-size:2.2em;font-weight:600;opacity:.9}
.lk-time{font-size:11em;font-weight:600;line-height:1;letter-spacing:-.045em;opacity:.95;margin-bottom:.35em}
.noti{width:min(46em,86%);display:flex;gap:1.4em;align-items:flex-start;padding:1.6em 1.8em;margin-bottom:1em;border-radius:2.6em;
  background:rgba(250,248,245,.72);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);color:#1D1D1F;text-align:left}
.noti .ico{width:2em;height:2em;border-radius:.46em;background:#1D1D1F;color:#FAF8F5;display:grid;place-items:center;font-family:Georgia,"Times New Roman",serif;font-size:2.2em;letter-spacing:0;flex:none}
.noti p{font-size:1.6em;line-height:1.3}
.noti p b{display:flex;justify-content:space-between;font-size:.95em}
.noti p b span{font-weight:400;color:#6E6E73}
.noti.b2{opacity:.85;transform:scale(.96)}
.pay{padding:.4em 1.8em 0;display:flex;flex-direction:column;gap:1em}
.pay .line{display:flex;justify-content:space-between;font-size:1.25em}
.pay .tot{font-weight:700;font-size:1.5em;border-top:1px solid var(--a-line);padding-top:.7em}
.pay .method{display:flex;align-items:center;gap:.9em;background:#fff;border-radius:1.2em;padding:1em 1.2em;font-size:1.25em}
.pay .method i{width:1.4em;height:1.4em;border-radius:50%;border:.18em solid #C7C7CC;flex:none}
.pay .method.on i{border:.45em solid var(--a-accent)}
.pay .paybtn{margin-top:.4em;text-align:center;background:var(--a-accent);color:#fff;border-radius:1.3em;padding:1.1em;font-size:1.35em;font-weight:600}
.stores{position:absolute;z-index:2;left:50%;bottom:9%;transform:translateX(-50%);display:flex;gap:2.4em}
.stores .panel{position:static;width:34em}
.stores .panel h4{display:flex;align-items:center;gap:.6em;color:#1D1D1F;font-size:1.5em}

/* ─── FRASE ──────────────────────────────────────── */
.statement{padding:clamp(120px,17vw,230px) 0}
.statement p{font-size:clamp(34px,5.2vw,64px);font-weight:700;line-height:1.1;letter-spacing:-.03em}
/* palabras aún "apagadas": gris #86868B (3,6:1, cumple AA para texto grande) */
.js .statement .w{color:#86868B;transition:color .35s}
.js .statement .w.on{color:var(--ink)}

/* ─── BENTO (por qué una app) ────────────────────── */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:clamp(48px,6vw,72px)}
.tile{position:relative;background:#fff;border-radius:var(--r-xl);padding:clamp(28px,3.4vw,44px);min-height:340px;overflow:hidden;display:flex;flex-direction:column}
.t4{grid-column:span 4}.t2{grid-column:span 2}.t6{grid-column:1/-1}
.tile .h3{font-size:clamp(26px,2.6vw,34px)}
.tile p{color:var(--ink-2);margin-top:12px;font-size:17px;max-width:520px}
.tile p b{color:var(--ink);font-weight:600}
.tile p.big{font-size:clamp(64px,7vw,104px);font-weight:700;line-height:1;letter-spacing:-.05em;margin-top:auto;padding-top:28px;color:var(--ink);max-width:none}
.tile p.big + p{margin-top:8px}
.t2 p.big{font-size:clamp(52px,5vw,76px);white-space:nowrap}
.tile p.g-blue,.tile p.g-green{-webkit-background-clip:text;background-clip:text;color:transparent}
.tile p.g-blue{background-image:linear-gradient(90deg,#3B5BFF,#7C93FF)}
.tile p.g-green{background-image:linear-gradient(90deg,#1E8E3E,#4CC06E)}
.bars{margin-top:auto;padding-top:28px;display:grid;gap:14px}
.bar{display:grid;grid-template-columns:130px 1fr 52px;align-items:center;gap:14px;font-size:15px}
.bar span:first-child{color:var(--ink-2)}
.bar .track{height:12px;border-radius:12px;background:var(--bg-alt);overflow:hidden}
.bar .track i{display:block;height:100%;border-radius:12px;background:#C7C7CC;width:0;transition:width 1.4s var(--ease)}
.bar.me .track i{background:linear-gradient(90deg,#3B5BFF,#7C93FF)}
.bar.me span{color:var(--ink);font-weight:600}
.bar b{text-align:right;font-weight:600}
.tile.in .bar .track i,.no-io .bar .track i{width:var(--w)}
.tile-photo{min-height:clamp(420px,46vw,560px);color:#fff;background:linear-gradient(135deg,#3A2E26,#6E5646 60%,#B8977A)}
.tile-photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.1) 70%)}
.tile-photo > div{position:relative;z-index:1;margin-top:auto;max-width:520px}
.tile-photo p{color:rgba(255,255,255,.86)}

/* ─── CÓMO FUNCIONA (sticky) ─────────────────────── */
.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);margin-top:clamp(40px,6vw,80px)}
.how-phone{position:sticky;top:calc(50vh - 290px);height:580px;display:flex;justify-content:center;font-size:9.4px}
.how-phone .device{--w:27em}
.scr{opacity:0;transition:opacity .6s var(--ease)}
.scr.on{opacity:1}
.step{min-height:78vh;display:flex;flex-direction:column;justify-content:center}
.step > h3,.step > p{transition:color .5s}
/* pasos inactivos atenuados con color y no con opacidad, para mantener contraste AA sobre negro */
.js .step:not(.active) > h3{color:#86868B}
.js .step:not(.active) > p{color:#7A7A7F}
.step-num{font-size:14px;font-weight:600;color:var(--dark-ink-2);letter-spacing:.02em;margin-bottom:12px}
.step > h3{font-size:clamp(30px,3.4vw,48px);font-weight:700;line-height:1.06;letter-spacing:-.028em;margin-bottom:14px}
.step > p:not(.step-num){color:var(--dark-ink-2);font-size:clamp(17px,1.6vw,21px);line-height:1.42;max-width:440px}
.step-media{display:none}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:clamp(40px,6vw,72px);border-radius:var(--r-lg);overflow:hidden}
.timeline li{background:var(--dark-2);padding:22px 24px}
.timeline b{display:block;font-size:13px;font-weight:600;color:var(--dark-ink-2);margin-bottom:4px;letter-spacing:.01em}
.timeline span{font-size:17px;font-weight:600}
.timeline li:last-child{background:#141C5A}
.timeline li:last-child b{color:#A9B8FF}

/* ─── FUNCIONALIDADES ────────────────────────────── */
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(36px,4vw,56px) clamp(24px,3vw,40px);margin-top:clamp(48px,6vw,80px)}
.feat-note{margin-top:clamp(40px,5vw,64px);font-size:15px;color:var(--ink-2);max-width:680px}
.feat svg{width:36px;height:36px;color:var(--ink);margin-bottom:16px}
.feat h3{font-size:19px;font-weight:600;letter-spacing:-.018em;line-height:1.25;margin-bottom:6px}
.feat p{color:var(--ink-2);font-size:17px;line-height:1.42}

/* ─── BANDA DE IMAGEN ────────────────────────────── */
.band{position:relative;min-height:clamp(460px,52vw,720px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;
  background:linear-gradient(120deg,#2B2320,#5E4739 45%,#A07E62)}
.band > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),transparent 62%),linear-gradient(transparent 35%,rgba(0,0,0,.66))}
.band .wrap{position:relative;z-index:1;padding-bottom:clamp(40px,6vw,80px)}
.band p{color:rgba(255,255,255,.86);max-width:560px;margin-top:14px;font-size:clamp(17px,1.7vw,21px)}

/* ─── COMPARATIVA ────────────────────────────────── */
.cmp-wrap{margin-top:clamp(40px,5vw,64px);background:#fff;border-radius:var(--r-xl);overflow-x:auto}
.cmp{width:100%;min-width:660px;border-collapse:collapse;font-size:17px}
.cmp th,.cmp td{padding:18px 20px;text-align:center;border-bottom:1px solid var(--line-2);vertical-align:middle}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp thead th{font-size:19px;font-weight:600;letter-spacing:-.015em;padding-top:28px;padding-bottom:22px}
.cmp tbody th{text-align:left;font-weight:500;color:var(--ink)}
.cmp td{color:var(--ink-2)}
.cmp .me{background:rgba(59,91,255,.05);color:var(--ink)}
.cmp thead .me{color:var(--link)}
.cmp td.me strong{font-weight:600}
.cmp th:first-child{position:sticky;left:0;background:#fff;z-index:1}
.section:not(.alt) .cmp-wrap,.section:not(.alt) .cmp th:first-child{background:var(--bg-alt)}
.ic-yes{width:20px;height:20px;color:var(--blue);display:inline-block;vertical-align:middle}
.ic-no{width:16px;height:16px;color:#AEAEB2;display:inline-block;vertical-align:middle}
.cmp-hint{display:none;font-size:14px;color:var(--ink-2);margin-top:14px}
.cmp-src{margin-top:16px;font-size:13px;color:var(--ink-2)}

/* ─── TESTIMONIOS ────────────────────────────────── */
.quote{width:min(82vw,420px);min-height:400px;border-radius:var(--r-xl);background:var(--bg-alt);padding:36px 32px;display:flex;flex-direction:column}
.quote blockquote{font-size:21px;font-weight:600;line-height:1.35;letter-spacing:-.018em}
.quote figcaption{margin-top:auto;padding-top:28px;display:flex;align-items:center;gap:14px}
.quote .av{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:14px;font-weight:600;color:var(--ink-2);flex:none}
.quote cite{font-style:normal;font-size:15px;font-weight:600;display:block}
.quote figcaption span span{display:block;font-size:13px;color:var(--ink-2)}

/* ─── PRECIOS ────────────────────────────────────── */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(48px,6vw,72px);align-items:start}
.plan{background:#fff;border-radius:var(--r-xl);padding:36px 30px 32px;display:flex;flex-direction:column}
.plan.pop{box-shadow:0 0 0 2px var(--blue)}
.plan-tag{font-size:12px;font-weight:600;color:var(--orange);letter-spacing:.01em;min-height:18px;margin-bottom:6px}
.plan h3{font-size:28px;font-weight:700;letter-spacing:-.025em}
.plan .for{color:var(--ink-2);font-size:15px;margin-top:4px;min-height:44px}
.price{margin-top:22px;font-size:48px;font-weight:700;letter-spacing:-.04em;line-height:1}
.price small{font-size:17px;font-weight:500;letter-spacing:-.02em;color:var(--ink-2);margin-left:4px}
.setup{font-size:14px;color:var(--ink-2);margin-top:8px}
.annual{font-size:14px;font-weight:500;color:var(--link);margin-top:4px}
.plans-note{margin-top:18px;font-size:14px;color:var(--ink-2);text-align:center;text-wrap:balance}
.plans-note b{color:var(--ink);font-weight:600}
.plan .btn{margin-top:22px;width:100%}
.plan ul{margin-top:26px;padding-top:22px;border-top:1px solid var(--line-2);display:grid;gap:12px}
.plan li{display:flex;gap:10px;font-size:15px;line-height:1.35}
.plan li svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--blue)}
.plan li.no{color:var(--ink-2)}
.plan li.no svg{color:#AEAEB2}
.enterprise{margin-top:20px;background:#fff;border-radius:var(--r-lg);padding:24px 30px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.enterprise b{font-size:19px;letter-spacing:-.015em}
.enterprise p{color:var(--ink-2);font-size:15px}

/* ─── FAQ ────────────────────────────────────────── */
.faq-list{max-width:820px;margin:clamp(40px,5vw,64px) auto 0;border-top:1px solid var(--line)}
.faq-list p a{text-decoration:underline;text-underline-offset:3px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;
  font-size:clamp(19px,1.9vw,24px);font-weight:600;letter-spacing:-.016em;line-height:1.3}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary svg{width:16px;height:16px;flex:none;color:var(--ink-2);transition:transform .3s var(--ease)}
.faq-list details[open] summary svg{transform:rotate(180deg)}
.faq-list details p{padding:0 0 26px;color:var(--ink-2);font-size:17px;line-height:1.55;max-width:720px}

/* ─── DEMO + FORMULARIO ──────────────────────────── */
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start}
.demo-grid .h2{font-size:clamp(38px,4.6vw,64px)}
.perks{margin-top:28px;display:grid;gap:14px}
.perks li{display:flex;gap:12px;font-size:17px}
.perks svg{width:22px;height:22px;flex:none;color:var(--blue)}
.guarantee{margin-top:28px;padding:22px 24px;border-radius:var(--r-lg);background:#fff}
.guarantee b{display:block;font-size:15px;margin-bottom:4px}
.guarantee p{font-size:15px;color:var(--ink-2)}
.form-card{background:#fff;border-radius:var(--r-xl);padding:clamp(28px,4vw,44px);box-shadow:0 30px 60px -30px rgba(0,0,0,.18)}
.form-title{font-size:28px;font-weight:700;letter-spacing:-.025em}
.form-sub{color:var(--ink-2);margin:6px 0 26px;font-size:17px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{position:relative;margin-bottom:12px}
.field input,.field select,.field textarea{width:100%;height:56px;border:1px solid #86868B;border-radius:var(--r-md);
  padding:24px 16px 6px;font:17px/1.2 var(--font);letter-spacing:-.022em;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s;appearance:none}
.field textarea{height:112px;resize:none;padding-top:28px}
.field select{cursor:pointer;padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%236E6E73' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center}
.field label{position:absolute;left:17px;top:17px;font-size:17px;color:var(--ink-2);pointer-events:none;transition:top .15s,font-size .15s}
.field input:focus + label,.field input:not(:placeholder-shown) + label,
.field textarea:focus + label,.field textarea:not(:placeholder-shown) + label,
.field select + label{top:8px;font-size:12px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,91,255,.25)}
.field [aria-invalid="true"],.field [aria-invalid="true"]:focus{border-color:#D70015}
.field input::placeholder,.field textarea::placeholder{color:transparent}
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-err{font-size:14px;color:#B42318;background:#FEF3F2;border:1px solid #FECDCA;border-radius:var(--r-md);padding:12px 14px;margin-bottom:12px}
.form-submit{width:100%;margin-top:8px;min-height:50px}
.form-note{font-size:12px;color:var(--ink-2);text-align:center;margin-top:12px}
.form-legal{font-size:12px;line-height:1.5;color:var(--ink-2);margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2)}
.form-legal a{text-decoration:underline}
.form-ok{display:none;text-align:center;padding:40px 8px}
.form-ok.show{display:block}
.form-ok svg{width:56px;height:56px;color:#1E8E3E;margin:0 auto 16px}
.form-ok-title{font-size:28px;font-weight:700;letter-spacing:-.025em;margin-bottom:8px}
.form-ok-text{color:var(--ink-2)}

/* ─── FOOTER ─────────────────────────────────────── */
.foot{background:var(--bg-alt);color:var(--ink-2);font-size:12px;line-height:1.4;letter-spacing:-.01em;padding:18px 0 22px}
.foot a{color:#424245}
.foot-notes{padding:6px 0 18px;border-bottom:1px solid var(--line)}
.foot-notes ol{list-style:decimal;padding-left:14px;display:grid;gap:8px}
.foot-tm{margin-top:12px}
.foot-dir{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.foot-dir h2{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:10px;letter-spacing:-.01em}
.foot-dir li{margin-bottom:8px}
.foot-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px}
.foot-legal{display:flex;flex-wrap:wrap;row-gap:6px;gap:0}
.foot-legal a{display:inline-block;line-height:24px;padding:0 10px;border-left:1px solid var(--line);white-space:nowrap}
.foot-legal a:first-child{padding-left:0;border-left:0}
.foot-amber{display:inline-flex;align-items:center;gap:12px;margin-top:18px;color:#424245}
.foot-amber img{height:24px;width:auto;display:block}
.foot-amber:hover{text-decoration:none}
.foot-amber:hover span{text-decoration:underline}
.foot-amber span{text-wrap:balance}

/* ─── REVELADO AL HACER SCROLL (discreto) ────────── */
.js .reveal{opacity:0;translate:0 32px;transition:opacity 1s var(--ease),translate 1s var(--ease)}
.js .reveal.in{opacity:1;translate:0 0}

/* ─── RESPONSIVE ─────────────────────────────────── */
@media(max-width:1068px){
  .feat-grid{grid-template-columns:repeat(3,1fr)}
  .bento .t4{grid-column:1/-1}
  .bento .t2{grid-column:span 3}
}
@media(max-width:833px){
  .lnav-links{display:none}
  .lnav-toggle{display:flex}
  .how-grid{grid-template-columns:1fr}
  .how-phone{display:none}
  .step{min-height:auto;padding:28px 0 36px;border-top:1px solid rgba(255,255,255,.12)}
  .js .step:not(.active) > h3{color:var(--dark-ink)}
  .js .step:not(.active) > p{color:var(--dark-ink-2)}
  .step-media{display:flex;justify-content:center;margin-top:28px;font-size:6.6px}
  .timeline{grid-template-columns:1fr 1fr}
  .plans{grid-template-columns:1fr;max-width:480px;margin-inline:auto}
  .demo-grid{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .foot-dir{grid-template-columns:1fr 1fr}
  .bento .t2{grid-column:1/-1}
  .hl-cap{font-size:17px}
  .stores{flex-direction:column;gap:1.4em;bottom:6%}
  .stores .panel{width:32em}
  .fl-sw{left:5%;top:72%}
  .fl-aa{left:auto;right:5%;top:48%}
  .cmp-hint{display:block}
}
@media(max-width:560px){
  .feat-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .hero-ctas{flex-direction:column;gap:18px}
  .dev-l{transform:translate(calc(-50% - 30em),5em) rotate(-5deg)}
  .dev-r{transform:translate(calc(-50% + 30em),5em) rotate(5deg)}
  .bar{grid-template-columns:96px 1fr 46px;font-size:14px}
  .timeline{grid-template-columns:1fr}
  .tile{min-height:0}
}

/* ─── MOVIMIENTO REDUCIDO ────────────────────────── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;translate:none}
  .js .statement .w{color:var(--ink)}
  .js .step:not(.active) > h3{color:var(--dark-ink)}
  .js .step:not(.active) > p{color:var(--dark-ink-2)}
}
