.wl * { margin:0; padding:0; box-sizing:border-box; }
.wl {
  --blue: #046BD2;
  --blue-hover: #035BB5;
  --blue-light: #EBF4FF;
  --blue-soft: #F0F7FF;
  --blue-glow: rgba(4,107,210,0.2);
  --dark: #1E293B;
  --dark2: #334155;
  --muted: #64748B;
  --light: #F8FAFC;
  --lighter: #F1F5F9;
  --border: #E2E8F0;
  --white: #FFFFFF;
  --green: #10B981;
  --red: #EF4444;
  --orange: #F59E0B;
  --purple: #8B5CF6;
  --radius: 16px;
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--dark); overflow-x:hidden;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
.wl h1,.wl h2,.wl h3,.wl h4 {
  font-family:'Sora',sans-serif; line-height:1.15; letter-spacing:-0.02em;
}
.wl a { text-decoration:none; color:inherit; }
.wl img { max-width:100%; height:auto; }
.wl-ctn { max-width:1200px; margin:0 auto; padding:0 24px; }

/* ====== NAV ====== */
.wl-nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:12px 0; background:rgba(255,255,255,0.7);
  backdrop-filter:blur(20px) saturate(180%); -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(226,232,240,0.5);
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
}
.wl-nav.scrolled { background:rgba(255,255,255,0.92); box-shadow:0 1px 3px rgba(0,0,0,0.04), 0 8px 32px rgba(0,0,0,0.04); }
.wl-nav-in {
  max-width:1200px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.wl-nav-in img { height:42px; width:auto; }
.wl-nav-links { display:flex; gap:8px; align-items:center; }
.wl-nav-links a {
  font-size:0.88rem; font-weight:500; color:var(--muted); transition:all 0.25s;
  padding:8px 16px; border-radius:10px;
}
.wl-nav-links a:hover { color:var(--blue); background:var(--blue-light); }
.wl-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 26px; border-radius:12px; font-weight:700; font-size:0.9rem;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1); border:none; cursor:pointer;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.wl-btn-blue { background:var(--blue); color:#fff !important; box-shadow:0 2px 8px var(--blue-glow); }
.wl-btn-blue:hover { background:var(--blue-hover); box-shadow:0 8px 30px var(--blue-glow); transform:translateY(-2px); }
.wl-btn-outline { background:transparent; color:var(--blue); border:2px solid rgba(4,107,210,0.25); }
.wl-btn-outline:hover { background:var(--blue-light); border-color:var(--blue); }
.wl-btn-white { background:#fff; color:var(--blue); border:2px solid var(--border); }
.wl-btn-white:hover { border-color:var(--blue); background:var(--blue-light); }
.wl-btn-lg { padding:16px 36px; font-size:1rem; border-radius:14px; }
.wl-mob-btn { display:none; background:none; border:none; cursor:pointer; }
.wl-mob-btn svg { width:26px; height:26px; color:var(--dark); }

/* ====== HERO ====== */
.wl-hero {
  padding:90px 0 23px;
  background:linear-gradient(180deg, #F0F7FF 0%, #F8FBFF 50%, var(--white) 100%);
  position:relative; overflow:hidden;
}
.wl-hero::before {
  content:''; position:absolute; top:-200px; right:-150px;
  width:700px; height:700px; border-radius:50%;
  background:radial-gradient(circle, rgba(4,107,210,0.07), transparent 65%);
  pointer-events:none;
}
.wl-hero::after {
  content:''; position:absolute; bottom:-100px; left:-100px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(16,185,129,0.05), transparent 65%);
  pointer-events:none;
}
.wl-hero-grid-bg {
  position:absolute; inset:0; pointer-events:none;
  background-image: radial-gradient(circle at 1px 1px, rgba(4,107,210,0.04) 1px, transparent 0);
  background-size: 40px 40px;
  mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 30%, rgba(0,0,0,0.5) 70%, transparent 100%);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 30%, rgba(0,0,0,0.5) 70%, transparent 100%);
}
.wl-hero-in {
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
  position:relative; z-index:1;
}
.wl-hero-text { max-width:560px; }
.wl-hero-badge {
  display:inline-block; margin-bottom:28px;
}
.wl-hero-badge img { height:50px; width:auto; filter:drop-shadow(0 2px 8px rgba(4,107,210,0.12)); }
.wl-hero h1 {
  font-size:clamp(2.4rem,4.8vw,3.6rem); font-weight:800;
  color:var(--dark); margin-bottom:22px; letter-spacing:-0.03em;
}
.wl-hero h1 em {
  font-style:normal;
  background:linear-gradient(135deg, var(--blue), #3B9EFF);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.wl-hero-sub {
  font-size:1.15rem; color:var(--muted); margin-bottom:36px;
  line-height:1.75; max-width:480px;
}
.wl-hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.wl-onboard-pill {
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 16px; border-radius:50px; margin-bottom:36px;
  background:rgba(16,185,129,0.06); border:1px solid rgba(16,185,129,0.15);
  font-size:0.78rem; font-weight:600; color:var(--dark2);
}
.wl-hero-stats {
  display:flex; gap:12px;
}
.wl-hero-stat {
  display:flex; align-items:center; gap:14px;
  background:var(--white); border:1px solid var(--border);
  padding:14px 20px; border-radius:14px;
  box-shadow:0 2px 8px rgba(0,0,0,0.03);
  transition:all 0.3s;
}
.wl-hero-stat:hover { box-shadow:0 8px 24px rgba(0,0,0,0.06); transform:translateY(-2px); }
.wl-stat-n { font-family:'Sora',sans-serif; font-size:1.5rem; font-weight:800; color:var(--blue); line-height:1; }
.wl-stat-l { font-size:0.75rem; color:var(--muted); line-height:1.3; }
.wl-hero-visual { position:relative; display:flex; justify-content:center; }
.wl-hero-phone { position:relative; z-index:2; }
.wl-hero-phone img {
  max-height:600px; width:auto;
  filter:drop-shadow(0 40px 80px rgba(4,107,210,0.12));
  animation:wl-float 4s ease-in-out infinite;
}
@keyframes wl-float {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-14px); }
}
.wl-hero-phone::before {
  content:''; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%); width:400px; height:400px;
  background:radial-gradient(circle, rgba(4,107,210,0.08), transparent 70%);
  border-radius:50%; z-index:-1;
}
/* Floating cards */
.wl-fcard {
  position:absolute; z-index:3; background:#fff;
  border-radius:16px; padding:16px 20px;
  box-shadow:0 8px 32px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  border:1px solid rgba(226,232,240,0.8);
  backdrop-filter:blur(8px);
}
.wl-fc-order { top:14%; right:-28px; animation:wl-fl 6s ease-in-out infinite; }
.wl-fc-order-t { font-size:0.72rem; color:var(--muted); margin-bottom:6px; font-weight:500; }
.wl-fc-order-s {
  display:flex; align-items:center; gap:8px;
  font-size:0.85rem; font-weight:700; color:var(--green);
}
.wl-fc-order-s::before {
  content:''; width:8px; height:8px; background:var(--green);
  border-radius:50%; animation:wl-blink 1.5s infinite;
  box-shadow:0 0 8px rgba(16,185,129,0.4);
}
.wl-fc-pay { bottom:22%; left:-36px; animation:wl-fl 6s ease-in-out 2s infinite; }
.wl-fc-pay-row { display:flex; align-items:center; gap:12px; }
.wl-fc-pay-ico {
  width:38px; height:38px; background:linear-gradient(135deg, var(--blue-light), #DBEAFE);
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:var(--blue); font-weight:700; font-size:0.95rem;
}
.wl-fc-pay-txt span { font-size:0.72rem; color:var(--muted); display:block; font-weight:500; }
.wl-fc-pay-txt strong { font-size:0.88rem; color:var(--dark); }

/* ====== LOGOS BAR ====== */
.wl-logos { background:var(--white); padding:52px 0; border-bottom:1px solid var(--border); }
.wl-logos-lbl {
  text-align:center; font-size:0.78rem; color:var(--muted);
  text-transform:uppercase; letter-spacing:0.12em; font-weight:600; margin-bottom:28px;
}
.wl-logos-track {
  overflow:hidden; position:relative;
  mask-image:linear-gradient(90deg, transparent, black 15%, black 85%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, black 15%, black 85%, transparent);
}
.wl-logos-row {
  display:flex; align-items:center; gap:56px;
  width:max-content;
}
.wl-logos-row img {
  height:40px; width:auto; opacity:1;
  flex-shrink:0;
}

/* Clients */
.wl-clients {
  background:linear-gradient(180deg, var(--light) 0%, #EDF3FA 100%);
  padding:72px 0; overflow:hidden; position:relative;
}
.wl-clients::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(4,107,210,0.025) 1px, transparent 0);
  background-size:36px 36px;
}
.wl-clients-hd {
  text-align:center; margin-bottom:40px; position:relative; z-index:1;
}
.wl-clients-hd p {
  font-size:0.82rem; color:var(--muted); text-transform:uppercase;
  letter-spacing:0.12em; font-weight:600; margin-bottom:8px;
}
.wl-clients-hd h3 {
  font-family:'Sora',sans-serif; font-size:1.6rem; font-weight:700;
  color:var(--dark); letter-spacing:-0.02em;
}
.wl-clients-hd h3 span { color:var(--blue); }
.wl-clients-marquee {
  position:relative;
  mask-image:linear-gradient(90deg, transparent 0%, black 10%, black 90%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 10%, black 90%, transparent 100%);
}
.wl-clients-row {
  display:flex; align-items:center; gap:16px;
  width:max-content; padding:8px 0;
}
.wl-clients-row.wl-cl-r1 { animation:wl-cl-left 35s linear infinite; margin-bottom:16px; }
.wl-clients-row.wl-cl-r2 { animation:wl-cl-right 40s linear infinite; }
@keyframes wl-cl-left { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes wl-cl-right { 0%{transform:translateX(-50%)} 100%{transform:translateX(0)} }
.wl-client-card {
  display:flex; align-items:center; gap:12px;
  background:rgba(255,255,255,0.8); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(226,232,240,0.7); border-radius:16px;
  padding:10px 18px 10px 10px; flex-shrink:0;
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
  cursor:default;
}
.wl-client-card:hover {
  background:rgba(255,255,255,1); border-color:var(--blue);
  box-shadow:0 8px 32px rgba(4,107,210,0.12), 0 0 0 1px rgba(4,107,210,0.08);
  transform:translateY(-4px) scale(1.03);
}
.wl-client-card img {
  width:44px; height:44px; object-fit:cover; border-radius:12px;
  border:2px solid var(--white); box-shadow:0 2px 8px rgba(0,0,0,0.08);
  flex-shrink:0;
}
.wl-client-card span {
  font-size:0.85rem; font-weight:600; color:var(--dark);
  white-space:nowrap;
}

/* ====== SECTION HEADING ====== */
.wl-sec-hd { text-align:center; margin-bottom:64px; }
.wl-label {
  display:inline-flex; align-items:center; gap:8px;
  font-size:0.76rem; font-weight:700; text-transform:uppercase;
  letter-spacing:0.14em; margin-bottom:16px;
  padding:6px 16px; border-radius:50px;
}
.wl-lb { color:var(--blue); background:var(--blue-light); }
.wl-lr { color:var(--red); background:rgba(239,68,68,0.08); }
.wl-lg { color:var(--green); background:rgba(16,185,129,0.08); }
.wl-sec-hd h2 {
  font-size:clamp(1.9rem,3.5vw,2.8rem); font-weight:800;
  color:var(--dark); margin-bottom:16px;
}
.wl-sec-sub {
  font-size:1.05rem; color:var(--muted); max-width:520px;
  margin:0 auto; line-height:1.7;
}

/* ====== PROBLEM ====== */
.wl-problem {
  background:linear-gradient(180deg, var(--white) 0%, var(--blue-soft) 100%);
  padding:80px 0; position:relative; overflow:hidden;
}
.wl-problem::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(4,107,210,0.03) 1px, transparent 0);
  background-size:40px 40px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black 40%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black 40%, transparent 100%);
}
.wl-problem-top { text-align:center; margin-bottom:64px; position:relative; z-index:1; }
.wl-problem .wl-label.wl-lr { color:var(--blue); background:var(--blue-light); border:1px solid rgba(4,107,210,0.1); }
.wl-problem h2 {
  font-size:clamp(2rem,3.8vw,3rem); font-weight:800;
  color:var(--dark); margin-bottom:16px;
}
.wl-problem h2 span {
  background:linear-gradient(135deg, var(--blue), #3B9EFF);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.wl-problem-sub {
  font-size:1.08rem; color:var(--muted); max-width:560px;
  line-height:1.75; margin:0 auto;
}
/* Problem grid */
.wl-problem-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px; position:relative; z-index:1;
}
.wl-pcard {
  background:var(--white); border:1px solid var(--border);
  border-radius:22px; padding:34px; transition:all 0.45s cubic-bezier(0.4,0,0.2,1);
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:space-between;
}
.wl-pcard::before {
  content:''; position:absolute; inset:-1px; border-radius:22px;
  background:linear-gradient(135deg, rgba(4,107,210,0.12), rgba(59,158,255,0.06), transparent 60%);
  opacity:0; transition:opacity 0.45s; z-index:0; pointer-events:none;
}
.wl-pcard::after {
  content:''; position:absolute; bottom:-60px; right:-60px;
  width:180px; height:180px; border-radius:50%;
  background:radial-gradient(circle, rgba(4,107,210,0.05), transparent 70%);
  pointer-events:none; transition:all 0.5s;
}
.wl-pcard:hover {
  border-color:rgba(4,107,210,0.2);
  box-shadow:0 24px 64px rgba(4,107,210,0.08), 0 2px 8px rgba(4,107,210,0.04);
  transform:translateY(-6px);
}
.wl-pcard:hover::before { opacity:1; }
.wl-pcard:hover::after { width:260px; height:260px; bottom:-80px; right:-80px; }
.wl-pcard-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.wl-pcard-ico {
  width:52px; height:52px; border-radius:14px;
  background:var(--blue-light);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; flex-shrink:0;
  border:1px solid rgba(4,107,210,0.08);
  transition:all 0.4s;
}
.wl-pcard:hover .wl-pcard-ico {
  transform:scale(1.1) rotate(-3deg);
  box-shadow:0 8px 24px rgba(4,107,210,0.12);
  background:rgba(4,107,210,0.12);
}
.wl-pcard-num {
  font-family:'Sora',sans-serif; font-size:2.6rem; font-weight:800;
  line-height:1; letter-spacing:-0.04em;
  background:linear-gradient(180deg, var(--border) 0%, rgba(226,232,240,0.4) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  transition:all 0.4s;
}
.wl-pcard:hover .wl-pcard-num {
  background:linear-gradient(135deg, var(--blue), #3B9EFF);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.wl-pcard h3 { font-size:1.08rem; font-weight:700; color:var(--dark); margin-bottom:10px; position:relative; z-index:1; }
.wl-pcard p { font-size:0.88rem; color:var(--muted); line-height:1.7; position:relative; z-index:1; }
/* Stat pill */
.wl-pcard-stat {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:8px 16px;
  background:var(--blue-light); border:1px solid rgba(4,107,210,0.1);
  border-radius:50px; font-size:0.76rem; font-weight:700; color:var(--blue);
  position:relative; z-index:1; transition:all 0.35s;
}
.wl-pcard:hover .wl-pcard-stat {
  background:rgba(4,107,210,0.12); border-color:rgba(4,107,210,0.2);
}
.wl-pcard-stat::before {
  content:''; width:6px; height:6px; background:var(--blue);
  border-radius:50%; animation:wl-blink 2s infinite;
  box-shadow:0 0 6px rgba(4,107,210,0.3);
}
/* Visual bar for big card */
.wl-pcard-bar {
  margin-top:20px; position:relative; z-index:1;
}
.wl-pcard-bar-track {
  height:8px; border-radius:8px; background:var(--lighter);
  overflow:hidden; position:relative;
}
.wl-pcard-bar-fill {
  height:100%; border-radius:8px; width:0%;
  background:linear-gradient(90deg, var(--blue), #3B9EFF);
  transition:width 1.5s cubic-bezier(0.4,0,0.2,1);
}
.wl-pcard-bar-fill.wl-bar-active { width:30%; }
.wl-pcard-bar-labels {
  display:flex; justify-content:space-between; margin-top:8px;
  font-size:0.72rem; font-weight:600; color:var(--muted);
}
.wl-pcard-bar-labels span:last-child { color:var(--blue); font-weight:700; }

/* ====== SOLUTION ====== */
.wl-solution {
  background:linear-gradient(180deg, var(--blue-soft) 0%, #E0EDFB 100%);
  padding:100px 0; position:relative; overflow:hidden;
}
.wl-solution::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(4,107,210,0.03) 1px, transparent 0);
  background-size:36px 36px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 50%, black 30%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 50%, black 30%, transparent 100%);
}
.wl-solution::after {
  content:''; position:absolute; bottom:-150px; left:50%; transform:translateX(-50%);
  width:800px; height:400px; border-radius:50%;
  background:radial-gradient(ellipse, rgba(4,107,210,0.06), transparent 70%);
  pointer-events:none;
}
.wl-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; }
/* Connector line with animated gradient */
.wl-steps-line {
  position:absolute; top:60px; left:calc(16.66% + 36px); right:calc(16.66% + 36px); height:3px;
  border-radius:3px; overflow:hidden;
}
.wl-steps-line::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, var(--blue), #3B9EFF, #60A5FA, var(--blue));
  background-size:200% 100%;
  animation:wl-line-flow 3s linear infinite;
  opacity:0.3;
}
@keyframes wl-line-flow { 0%{background-position:0% 0} 100%{background-position:200% 0} }
/* Step cards */
.wl-step {
  text-align:center; position:relative; z-index:1;
  background:rgba(255,255,255,0.6); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(4,107,210,0.08); border-radius:24px;
  padding:40px 28px 36px; transition:all 0.45s cubic-bezier(0.4,0,0.2,1);
}
.wl-step::before {
  content:''; position:absolute; inset:-1px; border-radius:24px;
  background:linear-gradient(135deg, rgba(4,107,210,0.1), transparent 50%);
  opacity:0; transition:opacity 0.4s; z-index:-1; pointer-events:none;
}
.wl-step:hover {
  background:rgba(255,255,255,0.85); border-color:rgba(4,107,210,0.18);
  box-shadow:0 20px 60px rgba(4,107,210,0.08), 0 4px 12px rgba(4,107,210,0.04);
  transform:translateY(-8px);
}
.wl-step:hover::before { opacity:1; }
.wl-step-n {
  width:76px; height:76px; border-radius:22px; margin:0 auto 24px;
  display:flex; align-items:center; justify-content:center;
  font-family:'Sora',sans-serif; font-size:1.4rem; font-weight:800; color:#fff;
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1); position:relative;
}
.wl-step:hover .wl-step-n { transform:scale(1.08) rotate(-3deg); }
.wl-step .wl-step-n { background:linear-gradient(135deg, var(--blue), #2F8AE0); box-shadow:0 10px 30px var(--blue-glow); }
.wl-step.wl-s2 .wl-step-n { background:linear-gradient(135deg, #0EA5E9, #38BDF8); box-shadow:0 10px 30px rgba(14,165,233,0.25); }
.wl-step.wl-s3 .wl-step-n { background:linear-gradient(135deg, #046BD2, #60A5FA); box-shadow:0 10px 30px var(--blue-glow); }
/* Decorative ring */
.wl-step-n::after {
  content:''; position:absolute; inset:-6px; border-radius:26px;
  border:2px dashed rgba(4,107,210,0.15);
  animation:wl-ring-spin 12s linear infinite;
}
@keyframes wl-ring-spin { 0%{transform:rotate(0)} 100%{transform:rotate(360deg)} }
.wl-step h3 { font-size:1.12rem; font-weight:700; color:var(--dark); margin-bottom:10px; }
.wl-step p { font-size:0.88rem; color:var(--muted); line-height:1.7; max-width:280px; margin:0 auto; }
/* Step tag */
.wl-step-tag {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:18px; padding:6px 14px;
  background:var(--blue-light); border:1px solid rgba(4,107,210,0.1);
  border-radius:50px; font-size:0.72rem; font-weight:700; color:var(--blue);
  transition:all 0.3s;
}
.wl-step:hover .wl-step-tag { background:rgba(4,107,210,0.12); border-color:rgba(4,107,210,0.2); }

/* ====== FEATURES ====== */
.wl-features {
  background:linear-gradient(180deg, var(--white) 0%, var(--blue-soft) 50%, var(--white) 100%);
  padding:100px 0; position:relative; overflow:hidden;
}
.wl-features::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(4,107,210,0.025) 1px, transparent 0);
  background-size:40px 40px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 50%, black 30%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 50%, black 30%, transparent 100%);
}
.wl-features::after {
  content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:900px; height:500px; border-radius:50%;
  background:radial-gradient(ellipse, rgba(4,107,210,0.04), transparent 70%);
  pointer-events:none;
}
.wl-fslider-wrap { position:relative; z-index:1; overflow:hidden; width:100vw; margin-left:calc(-50vw + 50%); }
.wl-fgrid.wl-fslider {
  display:flex; gap:18px; width:max-content;
  animation:wlMarquee 40s linear infinite;
  padding:10px 0 20px;
}
.wl-fslider-wrap:hover .wl-fgrid.wl-fslider { animation-play-state:paused; }
.wl-fgrid.wl-fslider > .wl-fcard2 {
  flex:0 0 340px; min-width:280px;
}
@keyframes wlMarquee {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
.wl-fslider .wl-r { opacity:1 !important; transform:translateY(0) !important; }
.wl-fcard2 {
  background:rgba(255,255,255,0.7); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(4,107,210,0.06); border-radius:22px;
  padding:34px 28px; transition:all 0.45s cubic-bezier(0.4,0,0.2,1);
  position:relative; overflow:hidden;
}
.wl-fcard2::before {
  content:''; position:absolute; inset:-1px; border-radius:22px;
  background:linear-gradient(135deg, rgba(4,107,210,0.1), rgba(59,158,255,0.05), transparent 60%);
  opacity:0; transition:opacity 0.4s; z-index:-1; pointer-events:none;
}
.wl-fcard2::after {
  content:''; position:absolute; bottom:-30px; right:-30px;
  width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(4,107,210,0.04), transparent 70%);
  pointer-events:none; transition:all 0.5s;
}
.wl-fcard2:hover {
  background:rgba(255,255,255,0.92); border-color:rgba(4,107,210,0.18);
  box-shadow:0 20px 60px rgba(4,107,210,0.08), 0 4px 12px rgba(4,107,210,0.03);
  transform:translateY(-6px);
}
.wl-fcard2:hover::before { opacity:1; }
.wl-fcard2:hover::after { width:180px; height:180px; bottom:-50px; right:-50px; }
.wl-fcard2-ico {
  width:52px; height:52px; border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
  border:1px solid rgba(4,107,210,0.06);
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
  position:relative;
}
.wl-fcard2-ico svg {
  width:26px; height:26px; stroke:var(--blue); stroke-width:1.8;
  fill:none; stroke-linecap:round; stroke-linejoin:round;
  transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
}
.wl-fcard2:hover .wl-fcard2-ico {
  transform:scale(1.1) rotate(-3deg);
  box-shadow:0 8px 24px rgba(4,107,210,0.12);
  background:rgba(4,107,210,0.1);
}
.wl-fcard2:hover .wl-fcard2-ico svg { stroke:var(--blue-hover); transform:scale(1.05); }
.wl-ico-b { background:var(--blue-light); }
.wl-ico-g { background:rgba(4,107,210,0.06); }
.wl-ico-p { background:rgba(4,107,210,0.05); }
.wl-ico-o { background:rgba(4,107,210,0.06); }
.wl-fcard2 h3 { font-size:1.05rem; font-weight:700; color:var(--dark); margin-bottom:8px; position:relative; z-index:1; }
.wl-fcard2 p { font-size:0.86rem; color:var(--muted); line-height:1.7; position:relative; z-index:1; }
/* Feature tag */
.wl-ftag {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; padding:5px 12px;
  background:var(--blue-light); border:1px solid rgba(4,107,210,0.08);
  border-radius:50px; font-size:0.7rem; font-weight:700; color:var(--blue);
  position:relative; z-index:1; transition:all 0.3s;
}
.wl-fcard2:hover .wl-ftag { background:rgba(4,107,210,0.1); border-color:rgba(4,107,210,0.18); }


/* Panel mockup */
.wl-panel-mockup {
  margin-top:60px; text-align:center; position:relative;
}
.wl-panel-mockup img {
  width:100%; max-width:1100px; border-radius:18px;
  box-shadow:0 30px 80px rgba(4,107,210,0.12), 0 8px 24px rgba(0,0,0,0.06);
  border:1px solid rgba(4,107,210,0.08);
}
/* ====== PRICING ====== */
.wl-pricing {
  background:linear-gradient(180deg, var(--light) 0%, var(--blue-soft) 50%, var(--light) 100%);
  padding:70px 0; position:relative; overflow:hidden;
}
.wl-pricing::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(4,107,210,0.025) 1px, transparent 0);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, black 30%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, black 30%, transparent 100%);
}
/* Toggle */
.wl-toggle-wrap {
  display:flex; align-items:center; justify-content:center; gap:14px;
  margin-bottom:48px; position:relative; z-index:1;
}
.wl-toggle-label {
  font-size:0.9rem; font-weight:600; color:var(--muted);
  transition:color 0.3s; cursor:pointer;
}
.wl-toggle-label.active { color:var(--dark); }
.wl-toggle {
  width:56px; height:30px; border-radius:50px;
  background:var(--border); cursor:pointer; position:relative;
  border:none; padding:0; transition:background 0.3s;
}
.wl-toggle.on { background:var(--blue); }
.wl-toggle::after {
  content:''; position:absolute; top:3px; left:3px;
  width:24px; height:24px; border-radius:50%;
  background:#fff; box-shadow:0 2px 6px rgba(0,0,0,0.15);
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.wl-toggle.on::after { transform:translateX(26px); }
.wl-toggle-save {
  background:rgba(4,107,210,0.08); border:1px solid rgba(4,107,210,0.12);
  color:var(--blue); padding:4px 12px; border-radius:50px;
  font-size:0.72rem; font-weight:700;
  animation:wl-pulse-soft 2s infinite;
}
@keyframes wl-pulse-soft {
  0%,100%{box-shadow:0 0 0 0 rgba(4,107,210,0.15)} 50%{box-shadow:0 0 0 6px rgba(4,107,210,0)}
}
/* Promo banner */
.wl-promo {
  display:flex; align-items:center; justify-content:center; gap:12px;
  margin-bottom:32px; padding:14px 24px;
  background:linear-gradient(135deg, rgba(4,107,210,0.06), rgba(59,158,255,0.04));
  border:1px solid rgba(4,107,210,0.1); border-radius:16px;
  max-width:600px; margin-left:auto; margin-right:auto;
  position:relative; z-index:1;
  animation:wl-pulse-soft 3s infinite;
}
.wl-promo-badge {
  background:linear-gradient(135deg, var(--blue), #2F8AE0); color:#fff;
  padding:4px 14px; border-radius:50px; font-size:0.72rem; font-weight:800;
  text-transform:uppercase; letter-spacing:0.04em; white-space:nowrap;
  box-shadow:0 4px 12px var(--blue-glow);
}
.wl-promo-text { font-size:0.88rem; color:var(--dark); font-weight:600; }
.wl-promo-text span { color:var(--blue); font-weight:800; }
/* Plans grid */
.wl-plans { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:start; position:relative; z-index:1; }
.wl-plan-free-price {
  font-family:'Sora',sans-serif; font-size:3.2rem; font-weight:800; color:var(--dark); line-height:1; margin-bottom:4px;
}
.wl-plan-free-sub { font-size:0.78rem; color:var(--muted); margin-bottom:0; }
.wl-plan {
  background:rgba(255,255,255,0.8); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(4,107,210,0.06); border-radius:22px;
  padding:38px 28px; position:relative; transition:all 0.45s cubic-bezier(0.4,0,0.2,1);
}
.wl-plan::after {
  content:''; position:absolute; bottom:-40px; right:-40px;
  width:160px; height:160px; border-radius:50%;
  background:radial-gradient(circle, rgba(4,107,210,0.03), transparent 70%);
  pointer-events:none; transition:all 0.5s;
}
.wl-plan:hover {
  background:rgba(255,255,255,0.95); border-color:rgba(4,107,210,0.15);
  box-shadow:0 24px 64px rgba(4,107,210,0.08), 0 4px 12px rgba(4,107,210,0.03);
  transform:translateY(-6px);
}
.wl-plan:hover::after { width:240px; height:240px; bottom:-60px; right:-60px; }
.wl-plan.pop {
  border-color:rgba(4,107,210,0.25);
  background:rgba(255,255,255,0.95);
  box-shadow:0 0 0 1px rgba(4,107,210,0.15), 0 24px 72px rgba(4,107,210,0.1);
  transform:scale(1.03);
}
.wl-plan.pop::before {
  content:''; position:absolute; inset:-1px; border-radius:22px;
  background:linear-gradient(135deg, rgba(4,107,210,0.12), rgba(59,158,255,0.06), transparent 60%);
  z-index:-1; pointer-events:none;
}
.wl-plan.pop:hover { transform:scale(1.03) translateY(-6px); }
.wl-plan-tag {
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:linear-gradient(135deg, var(--blue), #2F8AE0); color:#fff;
  padding:6px 20px; border-radius:50px;
  font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em;
  box-shadow:0 4px 12px var(--blue-glow);
}
.wl-plan-name { font-family:'Sora',sans-serif; font-size:1.3rem; font-weight:700; color:var(--dark); margin-bottom:4px; }
.wl-plan-tl { font-size:0.83rem; color:var(--muted); margin-bottom:24px; }
.wl-plan-price { display:flex; align-items:baseline; gap:3px; margin-bottom:4px; }
.wl-plan-cur { font-size:1.1rem; font-weight:700; color:var(--muted); }
.wl-plan-amt {
  font-family:'Sora',sans-serif; font-weight:800; color:var(--dark);
  line-height:1; transition:all 0.35s; display:inline-flex; align-items:flex-start;
}
.wl-amt-int { font-size:3.2rem; }
.wl-amt-dec { font-size:1.4rem; font-weight:700; color:var(--muted); margin-top:6px; }
.wl-plan-per { font-size:0.85rem; color:var(--muted); }
/* First month offer */
.wl-plan-offer {
  display:inline-flex; align-items:center; gap:6px;
  margin-bottom:4px;
}
.wl-plan-offer-old {
  font-family:'Sora',sans-serif; font-size:1.1rem; font-weight:700;
  color:var(--muted); text-decoration:line-through; opacity:0.5;
}
.wl-plan-offer-badge {
  background:linear-gradient(135deg, var(--blue), #2F8AE0); color:#fff;
  padding:3px 10px; border-radius:50px;
  font-size:0.65rem; font-weight:800; text-transform:uppercase; letter-spacing:0.03em;
}
.wl-plan-first {
  font-size:0.78rem; color:var(--blue); font-weight:700; margin-bottom:2px;
}
.wl-plan-then {
  font-size:0.72rem; color:var(--muted); font-weight:500;
}
.wl-plan-div { height:1px; background:var(--border); margin:22px 0; }
.wl-suc-div { height:1px; background:var(--border); margin:5px 0; }
/* Collapsible features */
.wl-plan-feat-wrap {
  max-height:145px; overflow:hidden; position:relative;
  transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1);
  margin-bottom:8px;
}
.wl-plan-feat-wrap::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:50px;
  background:linear-gradient(transparent, rgba(255,255,255,0.95));
  pointer-events:none; transition:opacity 0.3s;
}
.wl-plan-feat-wrap.open { max-height:600px; }
.wl-plan-feat-wrap.open::after { opacity:0; }
.wl-plan.pop .wl-plan-feat-wrap::after {
  background:linear-gradient(transparent, rgba(255,255,255,0.98));
}
.wl-plan-toggle {
  display:flex; align-items:center; justify-content:center; gap:6px;
  width:100%; padding:10px; margin-bottom:20px;
  background:var(--blue-light); border:1px solid rgba(4,107,210,0.08);
  border-radius:10px; cursor:pointer;
  font-size:0.78rem; font-weight:700; color:var(--blue);
  font-family:'Plus Jakarta Sans',sans-serif;
  transition:all 0.3s;
}
.wl-plan-toggle:hover { background:rgba(4,107,210,0.1); border-color:rgba(4,107,210,0.18); }
.wl-plan-toggle svg {
  width:14px; height:14px; stroke:var(--blue); stroke-width:2.5;
  fill:none; stroke-linecap:round; stroke-linejoin:round;
  transition:transform 0.3s;
}
.wl-plan-toggle.open svg { transform:rotate(180deg); }
.wl-plan-feat { list-style:none; display:flex; flex-direction:column; gap:12px; margin-bottom:0; }
.wl-plan-feat li {
  display:flex; align-items:flex-start; gap:10px;
  font-size:0.86rem; color:var(--dark2); line-height:1.5;
}
.wl-plan-feat li::before {
  content:''; flex-shrink:0; width:20px; height:20px; margin-top:1px;
  background:rgba(4,107,210,0.08); border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7.5 13.5l-3-3 1-1 2 2 5-5 1 1-6 6z' fill='%23046BD2'/%3E%3C/svg%3E");
  background-size:20px 20px;
}
.wl-plan-feat li.no { opacity:0.35; }
.wl-plan-feat li.no::before {
  background:rgba(148,163,184,0.1);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 9h8v2H6z' fill='%2394A3B8'/%3E%3C/svg%3E");
  background-size:20px 20px;
}
.wl-plan-btn {
  display:block; width:100%; padding:14px; border-radius:14px;
  text-align:center; font-weight:700; font-size:0.92rem;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1); cursor:pointer; border:none;
  font-family:'Plus Jakarta Sans',sans-serif; position:relative; z-index:1;
}
.wl-pb-fill { background:var(--blue); color:#fff !important; box-shadow:0 4px 16px var(--blue-glow); }
.wl-pb-fill:hover { background:var(--blue-hover); box-shadow:0 8px 28px var(--blue-glow); transform:translateY(-2px); }
.wl-pb-out { background:#fff; color:var(--blue); border:2px solid rgba(4,107,210,0.15); }
.wl-pb-out:hover { background:var(--blue-light); border-color:var(--blue); }

/* Sucursales selector */
.wl-suc-sel { display:flex; align-items:center; justify-content:center; gap:10px; margin:12px 0 4px; }
.wl-suc-btn {
  width:32px; height:32px; border-radius:10px; border:1.5px solid rgba(4,107,210,0.15);
  background:#fff; color:var(--blue); font-size:1.1rem; font-weight:700; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.2s; font-family:'Plus Jakarta Sans',sans-serif; line-height:1;
}
.wl-suc-btn:hover:not(:disabled) { background:var(--blue-light); border-color:var(--blue); }
.wl-suc-btn:disabled { opacity:0.3; cursor:not-allowed; }
.wl-suc-val {
  font-family:'Sora',sans-serif; font-size:1.3rem; font-weight:700;
  color:var(--dark); min-width:28px; text-align:center;
}
.wl-suc-label { font-size:0.78rem; color:var(--muted); text-align:center; margin-bottom:4px; }
.wl-suc-extra {
  font-size:0.78rem; color:var(--blue); font-weight:600; text-align:center;
  min-height:18px; transition:opacity 0.2s;
}

/* Urgency countdown */
.wl-urgency {
  display:flex; align-items:center; justify-content:center; gap:14px;
  margin-top:8px; margin-bottom:24px;
}
.wl-urgency-dot {
  width:8px; height:8px; border-radius:50%; background:var(--blue); flex-shrink:0;
  box-shadow:0 0 0 3px rgba(4,107,210,0.15);
  animation:wl-pulse-dot 1.5s ease-in-out infinite;
}
@keyframes wl-pulse-dot { 0%,100%{opacity:1;box-shadow:0 0 0 3px rgba(4,107,210,0.15)} 50%{opacity:0.6;box-shadow:0 0 0 6px rgba(4,107,210,0.06)} }
.wl-urgency-txt { font-size:0.82rem; color:var(--dark2); font-weight:600; }
.wl-urgency-txt strong { color:var(--blue); font-weight:800; }
.wl-urgency-time {
  display:inline-flex; gap:3px; align-items:center;
}
.wl-urgency-time span {
  background:var(--blue); color:#fff; font-family:'Sora',sans-serif;
  font-size:0.78rem; font-weight:700; padding:4px 7px; border-radius:8px;
  min-width:28px; text-align:center;
  box-shadow:0 2px 6px rgba(4,107,210,0.2);
}
.wl-urgency-time small { color:var(--muted); font-size:0.68rem; font-weight:600; align-self:center; margin:0 1px; }

/* Social proof + trust (inside blue CTA) */
.wl-social-proof {
  display:flex; align-items:center; justify-content:center; gap:32px; flex-wrap:wrap;
  margin-top:40px; padding:0;
}
.wl-sp-item {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  position:relative; padding:0 20px;
}
.wl-sp-item:not(:last-child)::after {
  content:''; position:absolute; right:0; top:10%; height:80%;
  width:1px; background:rgba(255,255,255,0.15);
}
.wl-sp-num {
  font-family:'Sora',sans-serif; font-size:1.5rem; font-weight:800; color:#fff;
}
.wl-sp-label { font-size:0.75rem; color:rgba(255,255,255,0.6); font-weight:500; }

.wl-trust {
  display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap;
  margin-top:28px;
}
.wl-trust-badge {
  display:flex; align-items:center; gap:5px;
  font-size:0.72rem; color:rgba(255,255,255,0.5); font-weight:500;
}
.wl-trust-badge svg { width:14px; height:14px; stroke:rgba(255,255,255,0.45); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ====== ADD-ONS ====== */
.wl-addons { padding:80px 0 0; position:relative; z-index:1; }
.wl-addons-hd { text-align:center; margin-bottom:44px; }
.wl-addons h3 { font-family:'Sora',sans-serif; font-size:1.5rem; font-weight:700; color:var(--dark); margin-bottom:10px; }
.wl-addons-sub { font-size:0.92rem; color:var(--muted); }
.wl-addons-row { display:flex; flex-direction:column; gap:14px; }
.wl-acard {
  background:rgba(255,255,255,0.7); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(4,107,210,0.06); border-radius:18px;
  padding:22px 26px; display:grid; grid-template-columns:auto 1fr auto; gap:0 20px;
  align-items:center;
  transition:all 0.45s cubic-bezier(0.4,0,0.2,1);
  position:relative; overflow:hidden;
}
.wl-acard::after {
  content:''; position:absolute; bottom:-30px; right:-30px;
  width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(4,107,210,0.04), transparent 70%);
  pointer-events:none; transition:all 0.5s;
}
.wl-acard:hover {
  background:rgba(255,255,255,0.95); border-color:rgba(4,107,210,0.18);
  box-shadow:0 20px 60px rgba(4,107,210,0.08), 0 4px 12px rgba(4,107,210,0.03);
  transform:translateY(-6px);
}
.wl-acard:hover::after { width:180px; height:180px; bottom:-50px; right:-50px; }
.wl-acard-ico {
  width:46px; height:46px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; grid-row:1 / span 2;
  border:1px solid rgba(4,107,210,0.06);
  transition:all 0.4s;
}
.wl-acard-ico svg {
  width:26px; height:26px; stroke:var(--blue); stroke-width:1.8;
  fill:none; stroke-linecap:round; stroke-linejoin:round;
}
.wl-acard:hover .wl-acard-ico {
  transform:scale(1.1) rotate(-3deg);
  box-shadow:0 8px 24px rgba(4,107,210,0.12);
  background:rgba(4,107,210,0.1);
}
.wl-acard-body { grid-column:2; }
.wl-acard h4 { font-family:'Sora',sans-serif; font-size:0.95rem; font-weight:700; color:var(--dark); margin-bottom:4px; position:relative; z-index:1; }
.wl-acard p { font-size:0.8rem; color:var(--muted); line-height:1.6; position:relative; z-index:1; margin:0; }
.wl-acard-tag {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:8px; padding:4px 10px;
  background:var(--blue-light); border:1px solid rgba(4,107,210,0.08);
  border-radius:50px; font-size:0.65rem; font-weight:700; color:var(--blue);
  position:relative; z-index:1; transition:all 0.3s;
}
.wl-acard:hover .wl-acard-tag { background:rgba(4,107,210,0.1); border-color:rgba(4,107,210,0.18); }
.wl-acard-right { grid-column:3; grid-row:1 / span 2; display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:10px; min-width:160px; }
.wl-acard-price {
  position:relative; z-index:1; text-align:right;
}
.wl-acard-price strong {
  font-family:'Sora',sans-serif; font-size:1.2rem; font-weight:800; color:var(--dark);
}
.wl-acard-price span {
  font-size:0.75rem; color:var(--muted); font-weight:500;
}
.wl-acard-price small {
  display:block; font-size:0.7rem; color:var(--muted); margin-top:1px;
}
.wl-acard-free {
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px;
  background:linear-gradient(135deg, rgba(4,107,210,0.08), rgba(59,158,255,0.05));
  border:1px solid rgba(4,107,210,0.12);
  border-radius:50px; font-size:0.65rem; font-weight:800; color:var(--blue);
  position:relative; z-index:1;
}
.wl-acard-cta {
  padding:10px 24px; border-radius:10px; white-space:nowrap;
  background:var(--blue); color:#fff; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:0.82rem; font-weight:700; text-align:center; border:none; cursor:pointer;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1); position:relative; z-index:1;
}
.wl-acard-cta:hover { background:var(--blue-hover); box-shadow:0 4px 16px var(--blue-glow); transform:translateY(-2px); }

/* Fidelización — layout especial (tiene selector de tarjetas) */
.wl-acard.wl-acard-fid { grid-template-columns:auto 1fr auto auto; }
.wl-fid-sel { grid-column:3; grid-row:1 / span 2; display:flex; flex-direction:row; gap:6px; position:relative; z-index:1; align-items:center; }
.wl-fid-opt {
  display:flex; align-items:center; gap:6px; padding:8px 12px;
  background:var(--lighter); border:1.5px solid var(--border); border-radius:10px;
  cursor:pointer; transition:all 0.25s; font-size:0.75rem; color:var(--dark); white-space:nowrap;
}
.wl-fid-opt:hover { border-color:rgba(4,107,210,0.3); background:var(--blue-light); }
.wl-fid-opt input[type="radio"] { accent-color:var(--blue); width:14px; height:14px; cursor:pointer; }
.wl-fid-opt input[type="radio"]:checked + span { color:var(--blue); }
.wl-fid-opt:has(input:checked) { border-color:var(--blue); background:var(--blue-light); }
.wl-fid-opt span { display:flex; flex-direction:column; line-height:1.3; }
.wl-fid-opt strong { font-weight:700; color:var(--blue); font-size:0.72rem; }
.wl-acard.wl-acard-fid .wl-acard-right { grid-column:4; }

/* ====== FAQ ====== */
.wl-faq { padding:80px 0; position:relative; }
.wl-faq-grid { max-width:720px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.wl-faq-item {
  background:rgba(255,255,255,0.7); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(4,107,210,0.06); border-radius:16px;
  overflow:hidden; transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}
.wl-faq-item:hover { border-color:rgba(4,107,210,0.15); box-shadow:0 4px 20px rgba(4,107,210,0.05); }
.wl-faq-q {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 24px; cursor:pointer; width:100%;
  background:none; border:none; text-align:left;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:0.95rem; font-weight:600;
  color:var(--dark); transition:color 0.2s; line-height:1.4;
}
.wl-faq-q:hover { color:var(--blue); }
.wl-faq-q svg {
  width:20px; height:20px; flex-shrink:0;
  stroke:var(--muted); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
  transition:transform 0.35s cubic-bezier(0.4,0,0.2,1), stroke 0.2s;
}
.wl-faq-item.open .wl-faq-q svg { transform:rotate(45deg); stroke:var(--blue); }
.wl-faq-item.open .wl-faq-q { color:var(--blue); }
.wl-faq-a {
  max-height:0; overflow:hidden;
  transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1), padding 0.3s;
}
.wl-faq-item.open .wl-faq-a { max-height:300px; }
.wl-faq-a-in {
  padding:0 24px 20px;
  font-size:0.88rem; color:var(--muted); line-height:1.75;
}

/* ====== CTA ====== */
.wl-cta {
  background:linear-gradient(135deg, #035BB5 0%, var(--blue) 40%, #0284C7 100%);
  padding:110px 0; position:relative; overflow:hidden;
}
.wl-cta::before {
  content:''; position:absolute; top:-120px; right:-120px;
  width:500px; height:500px; border-radius:50%;
  background:rgba(255,255,255,0.04);
}
.wl-cta::after {
  content:''; position:absolute; bottom:-80px; left:-80px;
  width:350px; height:350px; border-radius:50%;
  background:rgba(255,255,255,0.03);
}
.wl-cta-in { text-align:center; position:relative; z-index:1; }
.wl-cta h2 {
  font-size:clamp(1.9rem,3.8vw,3rem); font-weight:800; color:#fff; margin-bottom:18px;
}
.wl-cta-sub {
  font-size:1.1rem; color:rgba(255,255,255,0.8); max-width:500px;
  margin:0 auto 40px; line-height:1.75;
}
.wl-cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.wl-btn-w {
  background:#fff; color:var(--blue); padding:16px 40px; border-radius:14px;
  font-weight:700; font-size:1rem; border:none; cursor:pointer;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  font-family:'Plus Jakarta Sans',sans-serif;
  box-shadow:0 4px 16px rgba(0,0,0,0.1);
}
.wl-btn-w:hover { box-shadow:0 12px 36px rgba(0,0,0,0.18); transform:translateY(-3px); }
.wl-btn-ghost {
  background:rgba(255,255,255,0.08); color:#fff !important; padding:16px 40px; border-radius:14px;
  font-weight:700; font-size:1rem; border:2px solid rgba(255,255,255,0.3);
  cursor:pointer; transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  font-family:'Plus Jakarta Sans',sans-serif;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.1), 0 2px 8px rgba(0,0,0,0.1);
}
.wl-btn-ghost:hover {
  background:rgba(255,255,255,0.15); border-color:rgba(255,255,255,0.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15), 0 8px 24px rgba(0,0,0,0.15);
  transform:translateY(-2px);
}

/* ====== FOOTER ====== */
.wl-footer { background:var(--dark); padding:64px 0 32px; color:rgba(255,255,255,0.7); }
.wl-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.wl-footer-brand img { height:32px; width:auto; margin-bottom:16px; filter:brightness(0) invert(1); }
.wl-footer-brand p { font-size:0.85rem; line-height:1.65; max-width:280px; color:rgba(255,255,255,0.45); }
.wl-footer-col h4 {
  font-family:'Sora',sans-serif; font-size:0.78rem; font-weight:700;
  color:rgba(255,255,255,0.9); margin-bottom:18px; text-transform:uppercase; letter-spacing:0.08em;
}
.wl-footer-col a {
  display:block; font-size:0.85rem; color:rgba(255,255,255,0.45);
  margin-bottom:12px; transition:all 0.25s;
}
.wl-footer-col a:hover { color:#fff; transform:translateX(4px); }
.wl-footer-soon {
  display:block; font-size:0.85rem; color:rgba(255,255,255,0.3);
  margin-bottom:12px; cursor:default;
}
.wl-footer-soon small { font-size:0.72rem; opacity:0.7; }
.wl-footer-bot {
  border-top:1px solid rgba(255,255,255,0.08); padding-top:24px;
  text-align:center; font-size:0.78rem; color:rgba(255,255,255,0.3);
}

/* ====== ANIMATIONS ====== */
@keyframes wl-fl { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes wl-blink { 0%,100%{opacity:1} 50%{opacity:0.3} }
.wl-r { opacity:1; transform:none; }
.wl-r.v { opacity:1; transform:translateY(0); }
.wl-d1 { transition-delay:0.1s; }
.wl-d2 { transition-delay:0.2s; }
.wl-d3 { transition-delay:0.3s; }
.wl-d4 { transition-delay:0.4s; }

/* ====== RESPONSIVE ====== */
@media (max-width:1024px) {
  .wl-hero-in { grid-template-columns:1fr; text-align:center; }
  .wl-hero-text { max-width:100%; margin:0 auto; }
  .wl-hero-sub { margin:0 auto 32px; }
  .wl-hero-btns { justify-content:center; }
  .wl-hero-stats { justify-content:center; flex-wrap:wrap; }
  .wl-hero-badge { display:flex; justify-content:center; }
  .wl-hero-visual { margin-top:48px; }
  .wl-plans { grid-template-columns:repeat(2,1fr); max-width:840px; margin:0 auto; }
  .wl-plan.pop { order:-1; transform:none; }
  .wl-plan.pop:hover { transform:translateY(-6px); }
  .wl-fgrid.wl-fslider > .wl-fcard2 { flex:0 0 300px; }
  .wl-fslider-prev { left:8px; }     .wl-addons-row { flex-direction:column; }
  .wl-steps { grid-template-columns:1fr; gap:20px; }
  .wl-steps-line { display:none; }
  .wl-step { padding:32px 24px 28px; }
  .wl-footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
  .wl-nav-links { display:none; }
  .wl-mob-btn { display:block; }
  .wl-problem-grid { grid-template-columns:1fr; }
  .wl-problem-grid { grid-template-columns:1fr; }
  .wl-problem { padding:80px 0; }
  .wl-pcard-num { font-size:2rem; }
  .wl-fgrid.wl-fslider > .wl-fcard2 { flex:0 0 280px; }
    .wl-fslider-prev { left:4px; }   /* Addons — stack vertical en mobile */
  .wl-acard {
    grid-template-columns:1fr; gap:0; padding:20px;
  }
  .wl-acard-ico {
    grid-row:auto; width:40px; height:40px; border-radius:12px; margin-bottom:14px;
  }
  .wl-acard-ico svg { width:22px; height:22px; }
  .wl-acard-body { grid-column:1; }
  .wl-acard h4 { font-size:0.92rem; margin-bottom:6px; }
  .wl-acard p { font-size:0.8rem; line-height:1.55; margin-bottom:10px; }
  .wl-acard-tag { margin-top:0; margin-bottom:4px; }
  .wl-acard-right {
    grid-column:1; grid-row:auto; align-items:stretch; min-width:auto;
    flex-direction:row; justify-content:space-between; align-items:center;
    margin-top:14px; padding-top:14px; border-top:1px solid var(--border);
  }
  .wl-acard-right .wl-acard-price { text-align:left; }
  .wl-acard-price strong { font-size:1.1rem; }
  .wl-acard-cta { white-space:nowrap; padding:10px 20px; }
  /* Fidelización mobile */
  .wl-acard.wl-acard-fid { grid-template-columns:1fr; }
  .wl-fid-sel {
    grid-column:1; grid-row:auto; flex-direction:column; gap:6px;
    margin-top:12px; padding-top:12px; border-top:1px solid var(--border);
  }
  .wl-fid-opt { padding:10px 12px; border-radius:10px; }
  .wl-acard.wl-acard-fid .wl-acard-right {
    grid-column:1; border-top:none; padding-top:8px;
  }
  .wl-plans { grid-template-columns:1fr; max-width:420px; }
  .wl-hero-stats { flex-direction:column; gap:10px; align-items:center; }
  .wl-hero-stat { width:100%; max-width:280px; justify-content:center; }
  .wl-hero-phone img { max-height:440px; }
  .wl-fcard { display:none; }
  .wl-footer-grid { grid-template-columns:1fr; gap:32px; }
  .wl-logos-row img { height:32px; }
  .wl-clients { padding:48px 0; }
  .wl-clients-hd h3 { font-size:1.25rem; }
  .wl-client-card { padding:8px 14px 8px 8px; }
  .wl-client-card img { width:36px; height:36px; }
  .wl-client-card span { font-size:0.78rem; }
  .wl-hero { padding:130px 0 70px; }
  .wl-problem, .wl-solution, .wl-features, .wl-pricing { padding:80px 0; }
  .wl-cta { padding:80px 0; }
}

/* Theme overrides */
.wl .entry-content { max-width:100%; padding:0; margin:0; }
body.wl { margin:0; padding:0; }

/* Social proof toast */
.wl-toast {
  position:fixed; bottom:24px; left:24px; z-index:9999;
  pointer-events:none;
}
.wl-toast-item {
  display:flex; align-items:center; gap:12px;
  background:rgba(255,255,255,0.97); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(4,107,210,0.1); border-radius:14px;
  padding:14px 18px; max-width:340px;
  box-shadow:0 12px 40px rgba(0,0,0,0.1), 0 2px 8px rgba(4,107,210,0.06);
  pointer-events:auto; cursor:pointer;
  animation:wlToastIn 0.5s cubic-bezier(0.4,0,0.2,1) forwards;
  text-decoration:none; color:inherit;
}
.wl-toast-item.out { animation:wlToastOut 0.4s cubic-bezier(0.4,0,0.2,1) forwards; }
.wl-toast-ico {
  width:40px; height:40px; border-radius:50%;
  background:rgba(4,107,210,0.06);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:26px; line-height:1;
}
.wl-toast-body { flex:1; min-width:0; }
.wl-toast-msg { font-size:13px; font-weight:600; color:var(--dark); line-height:1.4; }
.wl-toast-time { font-size:11px; color:#9ca3af; margin-top:2px; }
.wl-toast-cta { font-size:11px; color:var(--blue); font-weight:700; margin-top:3px; }
@keyframes wlToastIn {
  0% { opacity:0; transform:translateX(-40px) scale(0.95); }
  100% { opacity:1; transform:translateX(0) scale(1); }
}
@keyframes wlToastOut {
  0% { opacity:1; transform:translateX(0) scale(1); }
  100% { opacity:0; transform:translateX(-40px) scale(0.95); }
}
@media(max-width:768px){
  .wl-toast { bottom:16px; left:12px; right:12px; }
  .wl-toast-item { max-width:100%; }
}

/* Hero 90% OFF offer */
.wl-hero-offer {
  display:inline-flex; align-items:center; gap:10px;
  background:linear-gradient(135deg, rgba(239,68,68,0.08), rgba(239,68,68,0.04));
  border:1px solid rgba(239,68,68,0.2); border-radius:50px;
  padding:8px 18px 8px 8px; margin-bottom:16px;
  animation:wlPulseOffer 2s ease-in-out infinite;
}
.wl-offer-badge {
  background:linear-gradient(135deg, #ef4444, #dc2626); color:#fff;
  font-size:13px; font-weight:800; padding:4px 12px; border-radius:50px;
  letter-spacing:0.5px;
}
.wl-offer-text {
  font-size:14px; font-weight:600; color:#dc2626;
}
@keyframes wlPulseOffer {
  0%,100% { box-shadow:0 0 0 0 rgba(239,68,68,0.15); }
  50% { box-shadow:0 0 0 8px rgba(239,68,68,0); }
}

/* WhatsApp highlight in hero */
.wl-wa-hl {
  color:#25D366; font-weight:700;
  background:rgba(37,211,102,0.08);
  padding:2px 8px; border-radius:6px;
  white-space:nowrap;
}
