/* ============================================================
   Organizalo — Landing v3 (conversión)
   Brand Kit: VERDE #00a650 (acción/confianza) · AZUL #009ee3 (dinero)
   · AMARILLO #ffe600 (energía puntual). Base tinta/papel.
   Depende de brand.css (Plus Jakarta Sans + reset).
   ============================================================ */

:root{
  --ink:#0f1216; --ink-1:#171c22; --ink-2:#222932; --ink-soft:#39414b;
  --paper:#ffffff; --paper-2:#f6f7f9; --paper-3:#eef1f4;
  --line:#e7eaef; --line-2:#eef1f5;
  --muted:#5b636e; --muted-2:#868e99;

  --grn:#00a650; --grn-6:#009147; --grn-7:#00763b; --grn-s:#e7f8ee;
  --blu:#009ee3; --blu-7:#0079b3; --blu-s:#e6f6fd;
  --yel:#ffe600; --yel-d:#f0b400; --amb:#b88600; --amb-s:#fff6c9; --amb-ink:#4a3d00;

  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --spectrum:linear-gradient(90deg,#00a650,#00a650 35%,#009ee3);

  --r-md:12px; --r-lg:16px; --r-xl:22px; --r-2xl:28px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(15,18,22,.05);
  --sh-2:0 4px 16px -6px rgba(15,18,22,.12);
  --sh-3:0 18px 40px -16px rgba(15,18,22,.20);
  --sh-4:0 34px 70px -28px rgba(15,18,22,.30);
  --maxw:1180px;
}

body{ background:var(--paper); color:var(--ink); letter-spacing:-0.011em; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
@media (max-width:640px){ .wrap{ padding:0 20px; } }
img{ max-width:100%; display:block; }
.spectrum-bar{ height:4px; background:var(--spectrum); }

/* ---------- type helpers ---------- */
.eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono);
  font-size:12px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); }
.eyebrow b{ font-weight:500; color:var(--a,var(--grn)); }
.eyebrow.on-ink{ color:#aeb7c2; }
h1,h2,h3{ letter-spacing:-0.035em; }
.lead{ color:var(--muted); line-height:1.6; }
.mono{ font-family:var(--font-mono); }
.mk{ background:linear-gradient(180deg,transparent 58%, rgba(255,230,0,.62) 58%, rgba(255,230,0,.62) 94%, transparent 94%); }

/* ---------- buttons ---------- */
.lbtn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:inherit;
  font-weight:700; font-size:15px; letter-spacing:-0.01em; padding:13px 22px; border-radius:var(--r-pill);
  border:1.5px solid transparent; cursor:pointer; text-decoration:none;
  transition:transform .12s ease, background .15s, border-color .15s, box-shadow .15s; white-space:nowrap; }
.lbtn:active{ transform:translateY(1px); }
.lbtn svg{ width:18px; height:18px; flex:0 0 auto; }
.lbtn-primary{ background:var(--grn); color:#fff; box-shadow:var(--sh-2); }
.lbtn-primary:hover{ background:var(--grn-6); box-shadow:var(--sh-3); }
.lbtn-ink{ background:var(--ink); color:#fff; box-shadow:var(--sh-2); }
.lbtn-ink:hover{ background:#000; box-shadow:var(--sh-3); }
.lbtn-blue{ background:var(--blu); color:#fff; box-shadow:var(--sh-2); }
.lbtn-blue:hover{ background:var(--blu-7); box-shadow:var(--sh-3); }
.lbtn-outline{ background:#fff; color:var(--ink); border-color:var(--line); }
.lbtn-outline:hover{ border-color:#c9ced6; background:var(--paper-2); }
.lbtn-ghost{ background:transparent; color:var(--ink-soft); padding:13px 14px; }
.lbtn-ghost:hover{ color:var(--ink); }
.lbtn-light{ background:#fff; color:var(--ink); }
.lbtn-light:hover{ background:#eef0f3; }
.lbtn-onink-outline{ background:transparent; color:#fff; border-color:rgba(255,255,255,.28); }
.lbtn-onink-outline:hover{ border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.06); }
.lbtn-lg{ padding:17px 30px; font-size:16.5px; }
.lbtn-sm{ padding:9px 16px; font-size:14px; }

/* ---------- NAV ---------- */
.lnav{ position:sticky; top:0; z-index:60; background:rgba(255,255,255,.8); backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid transparent; transition:border-color .2s, box-shadow .2s; }
.lnav.scrolled{ border-color:var(--line); box-shadow:var(--sh-1); }
.lnav .wrap{ max-width:1320px; }
.lnav-in{ display:flex; align-items:center; justify-content:space-between; height:70px; gap:20px; }
.brand-lock{ display:inline-flex; align-items:center; text-decoration:none; }
.brand-lock img{ height:30px; width:auto; }
.lnav-links{ display:flex; gap:22px; margin-left:auto; }
.lnav-links a{ text-decoration:none; color:var(--ink-soft); font-size:14.5px; font-weight:600; transition:color .15s; }
.lnav-links a:hover{ color:var(--grn-6); }
.lnav-cta{ display:flex; gap:8px; align-items:center; }
@media (max-width:1080px){ .lnav-links{ display:none; } .lnav-in{ height:62px; } }
@media (max-width:520px){ .lnav-cta .ghost-hide{ display:none; } }

/* ---------- HERO ---------- */
.hero{ position:relative; overflow:hidden; }
.hero-halo{ position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(1000px 520px at 50% -180px, rgba(0,166,80,.15), transparent 62%),
    radial-gradient(640px 420px at 92% -80px, rgba(0,158,227,.11), transparent 62%),
    radial-gradient(520px 380px at 4% -60px, rgba(0,166,80,.09), transparent 64%); }
.hero-in{ position:relative; z-index:2; text-align:center; padding:26px 0 36px; }
@media (max-width:640px){ .hero-in{ padding:22px 0 30px; } }

.rot-head{ font-weight:800; letter-spacing:-0.042em; line-height:1.0; margin:0; }
.rot-fixed{ display:block; color:var(--ink); line-height:1.08; }
.rot-fixed, .rot-box, .rot-word{ font-size:clamp(38px,6vw,78px); }
.rot-line{ display:block; text-align:center; margin-top:2px; }
.rot-box{ position:relative; display:block; overflow:hidden; height:1.3em; }
.rot-word{ position:absolute; left:50%; top:0; height:1.3em; line-height:1.3em; white-space:nowrap;
  font-weight:800; color:var(--ink); transform:translate(-50%,120%); opacity:0; will-change:transform,opacity; }
.rot-word .rq{ color:inherit; }

.hero-sub{ font-size:clamp(16px,1.9vw,20px); color:var(--muted); line-height:1.55; margin:26px auto 0; max-width:56ch; }
.hero-sub b{ color:var(--ink); font-weight:700; }
.hero-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:32px; }
.hero-actions .lbtn{ min-width:278px; }
@media (max-width:640px){ .hero-actions .lbtn{ min-width:0; width:100%; max-width:340px; } }
.htrust{ display:flex; flex-wrap:wrap; gap:11px 20px; margin:28px 0 0; justify-content:center;
  position:relative; left:50%; transform:translateX(-50%); width:min(1400px, calc(100vw - 48px)); }
.htrust .it{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ink-soft); }
.htrust .it svg{ width:16px; height:16px; color:var(--grn); flex:0 0 auto; }

/* ---------- marquee de profesiones ---------- */
.marq-band{ padding:12px 0 14px; border-bottom:1px solid var(--line-2); }
.marq{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.marq + .marq{ margin-top:10px; }
.marq-track{ display:flex; gap:10px; width:max-content; animation:marqA 64s linear infinite; }
.marq-track.mrev{ animation-direction:reverse; animation-duration:74s; }
.marq:hover .marq-track{ animation-play-state:paused; }
@keyframes marqA{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.pchip{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ink-soft);
  background:#fff; border:1px solid var(--line); border-radius:var(--r-pill); padding:9px 16px; white-space:nowrap; }
.pchip i{ width:7px; height:7px; border-radius:50%; flex:0 0 auto; }

/* ---------- section scaffolding ---------- */
.sec{ padding:88px 0; }
.sec.tight{ padding:64px 0; }
.sec.alt{ background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
@media (max-width:640px){ .sec{ padding:60px 0; } }
.shead{ max-width:700px; }
.shead.center{ margin:0 auto; text-align:center; }
.shead.center .eyebrow{ justify-content:center; }
.shead h2{ font-size:clamp(28px,3.8vw,46px); font-weight:800; line-height:1.05; margin:14px 0 0; }
.shead p{ font-size:17px; margin:16px 0 0; }
.shead.center p{ margin-left:auto; margin-right:auto; max-width:58ch; }
.como-lead{ max-width:none !important; }
.sechead-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:44px; }
@media (max-width:760px){ .sechead-row{ flex-direction:column; align-items:flex-start; gap:18px; } }

/* ---------- fork: dos caminos ---------- */
#caminos.sec{ padding-top:34px; }
#caminos .shead{ max-width:960px; }
.pathswrap{ padding:0 clamp(20px,2.6vw,44px); max-width:1840px; margin:44px auto 0; }
.paths{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:1000px){ .paths{ grid-template-columns:1fr; } }
.path{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-2xl);
  padding:36px 34px 30px; box-shadow:var(--sh-1); overflow:hidden; display:flex; flex-direction:column;
  transition:transform .15s, box-shadow .15s; }
.path:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.path::before{ content:""; position:absolute; inset:0 0 auto 0; height:5px; background:var(--a); }
.path.cli{ --a:var(--grn); --a-s:var(--grn-s); background:radial-gradient(480px 260px at 0% 0%, var(--grn-s), #fff 68%); }
.path.pro{ --a:var(--blu); --a-s:var(--blu-s); background:radial-gradient(480px 260px at 100% 0%, var(--blu-s), #fff 68%); }
.path-bg{ position:absolute; right:-6px; bottom:-30px; font-size:clamp(110px,9vw,164px); font-weight:800; letter-spacing:-0.06em;
  color:var(--a); opacity:.055; line-height:1; pointer-events:none; user-select:none; }
.path .eyebrow{ margin-bottom:4px; }
.path h3{ font-size:clamp(22px,2.3vw,27px); font-weight:800; line-height:1.12; margin:10px 0 0; }
.path-list{ list-style:none; padding:0; margin:24px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:17px 26px; position:relative; z-index:1; }
@media (max-width:640px){ .path-list{ grid-template-columns:1fr; } }
.path-list li{ display:flex; gap:12px; align-items:flex-start; }
.path-list .ck{ width:25px; height:25px; border-radius:50%; background:var(--a-s); color:var(--a);
  display:grid; place-items:center; flex:0 0 auto; margin-top:1px; }
.path-list .ck svg{ width:14px; height:14px; }
.path-list b{ font-size:15.5px; font-weight:800; letter-spacing:-0.01em; display:block; }
.path-list span{ font-size:13.5px; color:var(--muted); line-height:1.5; display:block; margin-top:2px; }
.path-cta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:28px; position:relative; z-index:1; }
.path-cta .micro{ font-size:12.5px; font-weight:600; color:var(--muted); }
@media (max-width:520px){ .path{ padding:28px 22px 24px; } .path-cta .lbtn{ width:100%; } }

/* ---------- cómo funciona: pasos con mini-UI ---------- */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:46px; }
@media (max-width:820px){ .steps{ grid-template-columns:1fr; } }
.step{ background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:28px 26px 24px;
  box-shadow:var(--sh-1); display:flex; flex-direction:column; transition:transform .15s, box-shadow .15s; }
.step:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.step .num{ font-family:var(--font-mono); font-size:13px; color:#fff; width:34px; height:34px; border-radius:10px;
  display:grid; place-items:center; background:var(--a,var(--grn)); }
.step h3{ font-size:19.5px; font-weight:800; margin:16px 0 7px; }
.step p{ font-size:14px; color:var(--muted); line-height:1.55; margin:0; }
.mui{ margin-top:18px; background:var(--paper-2); border:1px solid var(--line); border-radius:14px; padding:14px; }
.mui-search{ display:flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-pill); padding:10px 14px; font-size:13px; color:var(--muted); font-weight:600; }
.mui-search svg{ width:15px; height:15px; color:var(--muted-2); flex:0 0 auto; }
.mui-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.mui-chips span{ font-size:11.5px; font-weight:600; padding:5px 11px; border-radius:var(--r-pill);
  background:#fff; border:1px solid var(--line); color:var(--muted); }
.mui-chips span.on{ background:var(--grn); border-color:var(--grn); color:#fff; }
.mui-day{ font-family:var(--font-mono); font-size:11.5px; color:var(--muted); margin-bottom:9px; }
.mui-slots{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.mui-slots span{ text-align:center; font-size:12px; font-weight:600; padding:9px 0; border-radius:9px;
  border:1px solid var(--line); background:#fff; color:var(--muted); }
.mui-slots span.on{ background:var(--grn); border-color:var(--grn); color:#fff; }
.mui.center{ text-align:center; padding:18px 14px; }
.mui-check{ width:40px; height:40px; border-radius:50%; background:var(--grn); color:#fff;
  display:inline-grid; place-items:center; margin-bottom:9px; }
.mui-check svg{ width:20px; height:20px; }
.mui.center b{ display:block; font-size:14.5px; font-weight:800; }
.mui-wa{ display:inline-flex; align-items:center; gap:7px; margin-top:9px; font-size:11.5px; font-weight:600;
  color:var(--grn-7); background:var(--grn-s); border-radius:var(--r-pill); padding:6px 12px; }
.mui-wa svg{ width:13px; height:13px; }
.steps-note{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap;
  margin-top:30px; font-size:14.5px; color:var(--muted); text-align:center; }
.steps-note a{ color:var(--blu-7); font-weight:700; text-decoration:none; white-space:nowrap; }
/* toggle busco/ofrezco en “cómo funciona” */
.steps-toggle{ display:flex; width:fit-content; margin:22px auto 0; gap:4px; padding:4px; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--r-pill); }
.steps-toggle button{ appearance:none; border:none; background:transparent; cursor:pointer; font-family:inherit; font-size:14px; font-weight:700; color:var(--muted); padding:9px 20px; border-radius:var(--r-pill); transition:background .15s, color .15s; }
.steps-toggle button.on{ background:#fff; color:var(--ink,#14181d); box-shadow:var(--sh-1); }
.steps-toggle button:hover{ color:var(--ink,#14181d); }
#steps-cli, #steps-pro{ margin-top:24px; }
.steps-hide{ display:none !important; }
/* cierre por perfil: frase + CTA */
.more{ max-width:660px; margin:40px auto 0; text-align:center; display:flex; flex-direction:column; align-items:center; gap:20px; }
.more-line{ font-size:16px; line-height:1.55; color:var(--muted); margin:0; }
.more-line b{ color:var(--ink,#14181d); font-weight:800; }

/* ---------- beneficios cliente ---------- */
.fgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:880px){ .fgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .fgrid{ grid-template-columns:1fr; } }
.fcard{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:24px; box-shadow:var(--sh-1);
  transition:transform .15s, box-shadow .15s, background .15s; position:relative; overflow:hidden; }
.fcard::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--a,var(--grn)); opacity:0; transition:opacity .18s; }
.fcard:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); background:var(--a-s,var(--grn-s)); }
.fcard:hover::before{ opacity:1; }
.fcard:hover .tile{ background:#fff; }
.fcard:hover .pill-note{ background:#fff; }
.tile{ width:42px; height:42px; border-radius:12px; display:grid; place-items:center; flex:0 0 auto;
  background:var(--a-s,var(--grn-s)); color:var(--a,var(--grn)); }
.tile svg{ width:21px; height:21px; }
.fcard h3{ font-size:16.5px; font-weight:800; margin:16px 0 7px; }
.fcard p{ font-size:13.5px; color:var(--muted); line-height:1.55; margin:0; }
.fcard .pill-note{ display:inline-block; margin-top:12px; font-family:var(--font-mono); font-size:11px;
  color:var(--a,var(--grn)); background:var(--a-s,var(--grn-s)); padding:4px 9px; border-radius:var(--r-pill); }

/* ---------- banda inversa: publicá lo que necesitás ---------- */
.rev{ display:grid; grid-template-columns:.92fr 1.08fr; gap:52px; align-items:center; }
@media (max-width:880px){ .rev{ grid-template-columns:1fr; gap:36px; } }
.rev h2{ font-size:clamp(26px,3.4vw,40px); font-weight:800; line-height:1.07; margin:14px 0 0; }
.rev .lead{ font-size:16.5px; margin-top:16px; max-width:46ch; }
.rev-flow{ display:flex; align-items:center; gap:12px; }
@media (max-width:560px){ .rev-flow{ flex-direction:column; } .rev-arrow{ transform:rotate(90deg); } }
.rev-card{ flex:1; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:20px; box-shadow:var(--sh-2); min-width:0; }
.rev-card .tag{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2); display:block; margin-bottom:12px; }
.rev-kv{ display:flex; align-items:center; gap:9px; font-size:13.5px; font-weight:600; color:var(--ink-soft); padding:7px 0; }
.rev-kv svg{ width:15px; height:15px; color:var(--a,var(--grn)); flex:0 0 auto; }
.rev-kv + .rev-kv{ border-top:1px dashed var(--line); }
.rev-arrow{ flex:0 0 auto; color:var(--grn); }
.rev-arrow svg{ width:30px; height:30px; }
.rev-ping{ position:relative; width:46px; height:46px; border-radius:50%; background:var(--blu-s); color:var(--blu);
  display:grid; place-items:center; margin-bottom:12px; }
.rev-ping svg{ width:22px; height:22px; }
.rev-ping::after{ content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid var(--blu);
  opacity:0; animation:ping 2.6s ease-out infinite; }
@keyframes ping{ 0%{ transform:scale(.7); opacity:.5; } 70%{ transform:scale(1.15); opacity:0; } 100%{ opacity:0; } }
.rev-card b{ font-size:15px; font-weight:800; display:block; }
.rev-card .sub{ font-size:12.5px; color:var(--muted); line-height:1.5; display:block; margin-top:4px; }
.rev-wsp{ display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-size:12.5px; font-weight:700;
  color:#fff; background:var(--grn); border-radius:var(--r-pill); padding:8px 15px; }
.rev-wsp svg{ width:14px; height:14px; }

/* ---------- PRO (dark) ---------- */
.prosec{ background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.prosec .spectrum-bar{ position:absolute; top:0; left:0; right:0; }
.prosec .lead{ color:#aeb7c2; }
.pro-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:56px; align-items:center; }
@media (max-width:960px){ .pro-grid{ grid-template-columns:1fr; gap:42px; } }
.pro-copy h2{ font-size:clamp(28px,3.6vw,46px); font-weight:800; line-height:1.05; margin:14px 0 0; color:#fff; }
.pro-copy .lead{ font-size:17px; margin-top:16px; max-width:48ch; }
.pro-feats{ display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:30px 0 0; }
@media (max-width:520px){ .pro-feats{ grid-template-columns:1fr; } }
.pfeat{ background:#161b22; border:1px solid #232a33; border-radius:var(--r-md); padding:16px; }
.pfeat .ic{ width:36px; height:36px; border-radius:10px; display:grid; place-items:center;
  background:rgba(255,255,255,.06); color:var(--a,var(--blu)); margin-bottom:11px; }
.pfeat .ic svg{ width:19px; height:19px; }
.pfeat b{ font-size:14.5px; font-weight:700; display:block; letter-spacing:-0.01em; }
.pfeat span{ font-size:12.5px; color:#97a1ac; line-height:1.45; display:block; margin-top:3px; }
.pro-asist{ display:flex; align-items:center; gap:15px; background:#161b22; border:1px solid #232a33;
  border-radius:var(--r-md); padding:16px 18px; margin-top:13px; flex-wrap:wrap; }
.pro-asist .ic{ width:40px; height:40px; border-radius:11px; display:grid; place-items:center;
  background:rgba(0,158,227,.14); color:var(--blu); flex:0 0 auto; }
.pro-asist .ic svg{ width:20px; height:20px; }
.pro-asist b{ font-size:14.5px; font-weight:700; display:block; }
.pro-asist span{ font-size:12.5px; color:#97a1ac; display:block; margin-top:2px; line-height:1.45; }
.pro-asist a{ margin-left:auto; color:#46b6ee; font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; }
.pro-asist a:hover{ text-decoration:underline; }
.pro-ctas{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-top:28px; }

/* dashboard mock (panel, sin teléfono) */
.dash{ background:#12161c; border:1px solid #242b34; border-radius:var(--r-xl); padding:20px; box-shadow:var(--sh-4); }
.dash-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.dash-top .t{ font-size:14px; font-weight:700; white-space:nowrap; }
.dash-top .d{ font-family:var(--font-mono); font-size:11.5px; color:#8b96a1; white-space:nowrap; }
.dash-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:16px; }
.dstat{ background:#171d25; border:1px solid #232a33; border-radius:10px; padding:12px; }
.dstat .k{ font-size:10.5px; color:#8b96a1; font-weight:600; }
.dstat .sk{ height:16px; width:70%; border-radius:5px; margin-top:8px; }
.dstat .sk.c1{ background:linear-gradient(90deg,#00a650,#0a7d46); }
.dstat .sk.c2{ background:linear-gradient(90deg,#009ee3,#0079b3); }
.dstat .sk.c3{ background:linear-gradient(90deg,#ffe600,#d9c400); }
.dash-rows{ display:grid; gap:9px; }
.drow{ display:flex; align-items:center; gap:11px; background:#171d25; border:1px solid #232a33; border-radius:10px; padding:10px 12px; }
.drow .time{ font-family:var(--font-mono); font-size:12px; color:#aeb7c2; width:42px; flex:0 0 auto; }
.drow .dav{ width:26px; height:26px; border-radius:50%; flex:0 0 auto; padding:2px; background:linear-gradient(135deg,#00a650,#009ee3); }
.drow .dav i{ display:block; width:100%; height:100%; border-radius:50%; background:#12161c; }
.drow .dinfo{ flex:1; min-width:0; }
.drow .dinfo .skn{ height:8px; width:58%; border-radius:4px; background:#2a323c; margin-bottom:6px; }
.drow .dinfo span{ font-size:11px; color:#8b96a1; }
.dstatus{ font-size:10px; font-weight:700; padding:3px 9px; border-radius:var(--r-pill); flex:0 0 auto; }
.dstatus.ok{ background:rgba(0,166,80,.18); color:#3fce86; }
.dstatus.wait{ background:rgba(255,230,0,.16); color:#e6cf2e; }
.dstatus.conf{ background:rgba(0,158,227,.18); color:#46b6ee; }
.dash-bars{ display:flex; align-items:flex-end; gap:7px; height:60px; margin-top:14px; }
.dash-bars i{ flex:1; border-radius:5px 5px 0 0; background:linear-gradient(180deg,#009ee3,#0a5f8c); opacity:.9; }
.dash-bars i:last-child{ background:linear-gradient(180deg,#00a650,#0a7d46); }

/* ---------- confianza (3-up) ---------- */
.tgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:46px; }
@media (max-width:880px){ .tgrid{ grid-template-columns:1fr; } }
.tcard{ background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:28px 26px; box-shadow:var(--sh-1); }
.tcard .tile{ width:46px; height:46px; border-radius:14px; }
.tcard .tile svg{ width:23px; height:23px; }
.tcard h3{ font-size:18px; font-weight:800; margin:16px 0 8px; }
.tcard p{ font-size:14px; color:var(--muted); line-height:1.55; margin:0 0 14px; }
.tchips{ display:flex; flex-wrap:wrap; gap:7px; }
.tchip{ font-size:12px; font-weight:600; color:var(--ink-soft); background:var(--paper-2); border:1px solid var(--line); border-radius:var(--r-pill); padding:6px 12px; }
.tchip.mono{ font-family:var(--font-mono); font-size:11.5px; }

/* ---------- categorías ---------- */
.cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:46px; }
@media (max-width:900px){ .cats{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .cats{ grid-template-columns:1fr; } }
.cat{ display:block; position:relative; overflow:hidden; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:20px; box-shadow:var(--sh-1); transition:transform .14s, box-shadow .14s, border-color .14s, background .14s; }
.cat::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--a,var(--grn)); opacity:0; transition:opacity .18s; }
.cat:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); background:var(--a-s,var(--grn-s)); }
.cat:hover::before{ opacity:1; }
.cat:hover span.tile{ background:#fff; }
.cat span.tile{ width:44px; height:44px; display:grid; place-items:center; }
.cat b{ display:block; font-size:15.5px; font-weight:800; margin-top:14px; letter-spacing:-0.02em; }
.cat span{ display:block; font-size:12.5px; color:var(--muted); margin-top:4px; line-height:1.45; }

/* ---------- app band ---------- */
.appband{ background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:54px 0; }
.appband-in{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.appband h2{ font-size:clamp(22px,2.8vw,32px); font-weight:800; line-height:1.1; margin:10px 0 0; }
.appband p{ font-size:15px; color:var(--muted); margin:10px 0 0; max-width:52ch; line-height:1.55; }
.os-badges{ display:flex; gap:10px; flex-wrap:wrap; }
.os-badge{ display:inline-flex; align-items:center; gap:10px; background:var(--ink); color:#fff; border-radius:14px;
  padding:11px 18px; text-decoration:none; transition:background .15s; }
.os-badge:hover{ background:#000; }
.os-badge svg{ width:22px; height:22px; }
.os-badge .sm{ font-size:10px; color:#aeb7c2; display:block; line-height:1.1; }
.os-badge .lg{ font-size:15px; font-weight:700; display:block; line-height:1.2; }

/* ---------- FAQ ---------- */
.faqwrap{ max-width:780px; margin:44px auto 0; display:grid; gap:10px; }
details.faq{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:0 22px;
  box-shadow:var(--sh-1); transition:border-color .15s; }
details.faq[open]{ border-color:#cfd5dc; }
details.faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center;
  gap:16px; padding:19px 0; font-weight:700; font-size:15.5px; letter-spacing:-0.015em; }
details.faq summary::-webkit-details-marker{ display:none; }
.fx{ width:26px; height:26px; border-radius:50%; border:1.5px solid var(--line); color:var(--muted);
  display:grid; place-items:center; flex:0 0 auto; transition:transform .2s, background .15s, color .15s, border-color .15s; }
.fx svg{ width:13px; height:13px; }
details.faq[open] .fx{ transform:rotate(45deg); background:var(--ink); border-color:var(--ink); color:#fff; }
.faq-a{ padding:0 0 20px; color:var(--muted); font-size:14.5px; line-height:1.62; max-width:62ch; }
.faq-a b{ color:var(--ink-soft); }

/* ---------- CTA final ---------- */
.fcta{ position:relative; background:var(--ink); color:#fff; overflow:hidden; }
.fcta-glow{ position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(720px 420px at 12% 110%, rgba(0,166,80,.28), transparent 62%),
    radial-gradient(720px 420px at 88% -10%, rgba(0,158,227,.24), transparent 62%); }
.fcta-in{ position:relative; z-index:2; text-align:center; padding:92px 0; }
.fcta .rot-head{ color:#fff; }
.fcta .rot-fixed{ color:#fff; }
.fcta .rot-word{ color:#fff; }
.fcta .rot-fixed, .fcta .rot-box, .fcta .rot-word{ font-size:clamp(32px,4.8vw,62px); }
.fcta p{ font-size:17.5px; color:rgba(255,255,255,.88); margin:22px auto 32px; max-width:52ch; }
.fcta-btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.fcta .lbtn-light{ color:var(--grn-7); }
.fcta-trust{ display:flex; gap:9px 22px; justify-content:center; flex-wrap:wrap; margin-top:26px; }
.fcta-trust .it{ display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:rgba(255,255,255,.78); }
.fcta-trust .it svg{ width:15px; height:15px; color:#3fce86; }

/* ---------- footer ---------- */
.foot{ background:var(--ink); color:#9aa3ae; padding:60px 0 0; border-top:1px solid #20262e; }
.foot-in{ display:grid; grid-template-columns:1.5fr 2fr; gap:48px; padding-bottom:42px; }
@media (max-width:760px){ .foot-in{ grid-template-columns:1fr; gap:34px; } }
.foot-brand .fb-lock{ display:inline-flex; align-items:center; gap:11px; margin-bottom:16px; text-decoration:none; }
.foot-brand .fb-lock img{ height:34px; width:34px; }
.foot-brand .fb-lock b{ color:#fff; font-size:22px; font-weight:800; letter-spacing:-0.03em; }
.foot-brand p{ font-size:14px; max-width:38ch; line-height:1.65; margin:0; }
.foot-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.foot-cols b{ color:#fff; font-size:13.5px; display:block; margin-bottom:15px; }
.foot-cols a{ display:block; color:#9aa3ae; text-decoration:none; font-size:13.5px; margin-bottom:10px; transition:color .15s; }
.foot-cols a:hover{ color:#fff; }
.foot-bottom{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0;
  border-top:1px solid #20262e; font-size:12.5px; color:#79828d; }
.foot-bottom .mono{ font-size:12px; }
@media (max-width:520px){ .foot-bottom{ flex-direction:column; gap:8px; text-align:center; } }

/* ---------- reveal (JS progresivo; visible por defecto) ---------- */
[data-rv]{ transition:opacity .6s ease, transform .6s ease; }
.rv-pre{ opacity:0; transform:translateY(16px); }
@media (prefers-reduced-motion:reduce){
  [data-rv]{ transition:none; } .rv-pre{ opacity:1; transform:none; }
  .marq-track{ animation:none; } .rev-ping::after{ animation:none; }
}

/* modal política de privacidad (footer) */
.pp-overlay{ position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; padding:24px; overflow-y:auto; background:rgba(13,17,23,.55); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.pp-overlay.open{ display:flex; }
.pp-card{ display:flex; flex-direction:column; width:100%; max-width:680px; max-height:84vh; background:#fff; border-radius:var(--r-xl,16px); box-shadow:var(--sh-2); overflow:hidden; }
.pp-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 22px; border-bottom:1px solid var(--line); }
.pp-head h3{ margin:0; font-size:16px; font-weight:800; letter-spacing:-.01em; color:var(--ink,#14181d); }
.pp-close{ width:34px; height:34px; border:none; background:transparent; color:var(--muted); border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.pp-close:hover{ background:var(--paper-2); color:var(--ink,#14181d); }
.pp-close svg{ width:18px; height:18px; }
.pp-body{ flex:1 1 auto; min-height:0; overflow-y:auto; padding:18px 22px 24px; color:var(--muted); font-size:13.5px; line-height:1.6; }
.pp-body h2{ font-size:15px; font-weight:800; color:var(--ink,#14181d); margin:18px 0 8px; letter-spacing:-.01em; }
.pp-body h2:first-child{ margin-top:0; }
.pp-body h3{ font-size:13.5px; font-weight:700; color:var(--ink,#14181d); margin:14px 0 6px; }
.pp-body h4{ font-size:13px; font-weight:700; color:var(--ink,#14181d); margin:12px 0 5px; }
.pp-body p{ margin:0 0 9px; }
.pp-body strong{ color:var(--ink,#14181d); font-weight:700; }
.pp-body ul{ margin:0 0 10px; padding-left:19px; display:flex; flex-direction:column; gap:5px; }
.foot-bottom a{ color:inherit; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.foot-bottom a:hover{ color:var(--ink,#14181d); }
/* ---- comunidad: puntos + donaciones ---- */
.commsec{ background:radial-gradient(900px 460px at 50% -8%, var(--grn-s), #fff 58%); }
.comm-eyebrow{ display:inline-block; font-family:var(--font-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--grn-7); background:var(--grn-s); padding:5px 12px; border-radius:var(--r-pill); margin-bottom:16px; }
.comm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:40px; align-items:stretch; }
@media (max-width:760px){ .comm-grid{ grid-template-columns:1fr; } }
.comm-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:30px; box-shadow:var(--sh-1); transition:transform .14s, box-shadow .14s, border-color .14s; }
.comm-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); background:var(--a-s,var(--grn-s)); }
.comm-card .tile{ width:52px; height:52px; border-radius:15px; }
.comm-card .tile svg{ width:26px; height:26px; }
.comm-card h3{ font-size:20px; font-weight:800; letter-spacing:-.02em; margin:16px 0 8px; color:var(--ink); }
.comm-card > p{ font-size:14px; color:var(--muted); line-height:1.55; margin:0 0 22px; }
/* ledger de puntos */
.comm-ledger{ margin-top:auto; border-top:1px solid var(--line); padding-top:6px; display:flex; flex-direction:column; }
.cl-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; font-size:13.5px; font-weight:600; color:var(--ink-soft); }
.cl-row + .cl-row{ border-top:1px dashed var(--line); }
.cl-row b{ font-family:var(--font-mono); font-size:12px; font-weight:700; color:var(--a); background:var(--a-s); padding:3px 11px; border-radius:var(--r-pill); }
.cl-total{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:13px 15px; background:var(--a-s); border-radius:var(--r-md); font-size:13.5px; font-weight:800; color:var(--a); }
.cl-total b{ font-family:var(--font-mono); font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
/* lista de donación */
.comm-list{ list-style:none; margin:auto 0 0; border-top:1px solid var(--line); padding:18px 0 0; display:flex; flex-direction:column; gap:13px; }
.comm-list li{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:var(--ink-soft); line-height:1.5; }
.comm-list li svg{ width:17px; height:17px; flex:0 0 auto; margin-top:1px; color:var(--a); }
/* ---- perfiles: establecimiento + asistente (dos columnas a igual altura) ---- */
.duo{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:40px; align-items:stretch; }
@media (max-width:760px){ .duo{ grid-template-columns:1fr; } }
.duo-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:30px; box-shadow:var(--sh-1); transition:transform .14s, box-shadow .14s, border-color .14s; }
.duo-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); background:var(--a-s,var(--grn-s)); }
.duo-card .tile{ width:52px; height:52px; border-radius:15px; }
.duo-card .tile svg{ width:26px; height:26px; }
/* hover unificado (acento + tinte) para comunidad y dos-formas */
.comm-card, .duo-card{ position:relative; overflow:hidden; transition:transform .14s, box-shadow .14s, background .14s; }
.comm-card::before, .duo-card::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--a,var(--grn)); opacity:0; transition:opacity .18s; }
.comm-card:hover::before, .duo-card:hover::before{ opacity:1; }
.comm-card:hover .tile, .duo-card:hover .tile{ background:#fff; }
.duo-card h3{ font-size:21px; font-weight:800; letter-spacing:-.02em; margin:16px 0 8px; color:var(--ink,#14181d); }
.duo-sub{ font-size:14px; color:var(--muted); line-height:1.55; margin:0 0 18px; }
.duo-list{ list-style:none; margin:0 0 22px; padding:18px 0 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:12px; flex:1 1 auto; }
.duo-list li{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:var(--ink-soft); line-height:1.5; }
.duo-list li svg{ width:17px; height:17px; flex:0 0 auto; margin-top:1px; color:var(--a); }
.duo-cta{ align-self:flex-start; margin-top:auto; display:inline-flex; align-items:center; gap:6px; color:var(--a); font-size:14px; font-weight:800; text-decoration:none; }
.duo-cta svg{ width:16px; height:16px; }
.duo-cta:hover{ gap:9px; }
.faq-note{ text-align:center; margin:30px auto 0; max-width:620px; font-size:14.5px; line-height:1.6; color:var(--muted); }
.faq-note b{ color:var(--ink,#14181d); font-weight:700; }

/* ---- para profesionales: fondo claro + comparador de planes ---- */
.prosec{ background:var(--paper-2); color:var(--ink); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.prosec .wrap{ max-width:1360px; }
.prosec .lead{ color:var(--muted); }
.pro-copy h2{ color:var(--ink); }
.pro-grid{ grid-template-columns:0.86fr 1.14fr; gap:44px; align-items:start; }
.pfeat{ background:#fff; border:1px solid var(--line); box-shadow:var(--sh-1); position:relative; overflow:hidden; transition:transform .14s, box-shadow .14s, background .14s; }
.pfeat .ic{ background:var(--a-s,var(--grn-s)); color:var(--a,var(--blu)); }
.pfeat::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--a,var(--grn)); opacity:0; transition:opacity .18s; }
.pfeat:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.pfeat:not(.pfeat-more):hover{ background:var(--a-s,var(--grn-s)); }
.pfeat:hover::before{ opacity:1; }
.pfeat:not(.pfeat-more):hover .ic{ background:#fff; }
.pfeat b{ color:var(--ink); }
.pfeat span{ color:var(--muted); }
.pfeat-more{ background:linear-gradient(180deg,rgba(0,158,227,.08),rgba(0,158,227,.03)); border-color:rgba(0,158,227,.35); }
.pfeat-more .ic{ background:var(--blu); color:#fff; }
.pro-asist{ background:#fff; border:1px solid var(--line); box-shadow:var(--sh-1); }
.pro-asist b{ color:var(--ink); }
.pro-asist span{ color:var(--muted); }
.pro-asist a{ color:var(--blu-7); }
.plan-cmp{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.plan{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:22px 20px; box-shadow:var(--sh-1); display:flex; flex-direction:column; }
.plan-feat{ border-color:var(--blu); box-shadow:0 0 0 1px var(--blu), var(--sh-2); }
.plan-badge{ position:absolute; top:-10px; left:20px; background:var(--blu); color:#fff; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:4px 10px; border-radius:var(--r-pill); }
.plan-ic{ width:34px; height:34px; border-radius:10px; background:var(--paper-2); display:grid; place-items:center; color:var(--ink); margin-bottom:12px; }
.plan-ic svg{ width:18px; height:18px; }
.plan-name{ font-size:20px; font-weight:800; letter-spacing:-.02em; color:var(--ink); line-height:1.1; }
.plan-tag{ font-size:12.5px; color:var(--muted); margin-top:3px; }
.plan-price{ margin-top:14px; }
.plan-price .amt{ font-size:26px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.plan-price .per{ font-size:13px; font-weight:600; color:var(--muted); }
.plan-feat .plan-fees{ margin-top:auto; }
.plan-sub{ font-size:11.5px; color:var(--muted); margin-top:5px; line-height:1.45; min-height:34px; }
.plan-btn{ width:100%; justify-content:center; margin-top:14px; }
.plan-plus{ font-size:12.5px; font-weight:800; color:var(--ink); margin:16px 0 0; border-top:1px solid var(--line); padding-top:14px; }
.plan-list{ list-style:none; margin:14px 0 0; padding:14px 0 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:9px; }
.plan-feat .plan-list{ border-top:none; padding-top:0; margin-top:10px; }
.plan-list li{ display:flex; align-items:flex-start; gap:8px; font-size:12.5px; color:var(--muted); line-height:1.4; }
.plan-list li svg{ width:15px; height:15px; flex:0 0 auto; margin-top:1px; color:var(--grn); }
.plan-feat .plan-list li svg{ color:var(--blu); }
@media (max-width:960px){ .pro-grid{ grid-template-columns:1fr; } }
@media (max-width:520px){ .plan-cmp{ grid-template-columns:1fr; } }

/* fees de procesamiento en planes */
.plan-fees{ margin-top:16px; border-top:1px solid var(--line); padding-top:13px; }
.plan-fees-h{ font-size:10.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.plan-fees-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:5px; }
.plan-fees-list li{ font-size:12px; color:var(--muted); line-height:1.4; }
.plan-fees-list li b{ color:var(--ink,#14181d); font-weight:700; }
.plan-fees-note{ font-size:11px; color:var(--muted); line-height:1.45; margin:11px 0 0; padding-top:11px; border-top:1px dashed var(--line); }
.plan-fees-note b{ color:var(--ink-soft); font-weight:700; }
