:root{
  --bg:#f2f9ff; --surface:#ffffff; --ink:#0b2540; --muted:#4a627a;
  --brand:#0077c8; --brand-dark:#005a9c; --brand-soft:#dcefff;
  --accent:#ff5d73; --accent-soft:#ffe3e8; --sun:#ffc533; --fresh:#00c2a8; --line:#d3e6f5;
  --btn:#0077c8; --btn-dark:#005a9c;
  --wa:#1fa855; --wa-dark:#178a45; --danger:#c0392b;
  --r:22px;
  --font-h:"Plus Jakarta Sans",system-ui,sans-serif; --font-b:"DM Sans",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#07182b; --surface:#0d2540; --ink:#e8f3ff; --muted:#9db6cf; --line:#1b3a5c; --brand:#4aa8ff; --brand-dark:#9fd0ff; --brand-soft:#12355a; --accent-soft:#4a2230; }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 var(--font-b);background:var(--bg);color:var(--ink)}
h1,h2,h3{font-family:var(--font-h);font-weight:800;line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.wrap--narrow{max-width:760px}

.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:64px}
.nav__links{display:flex;align-items:center;gap:22px}
.nav__links a{text-decoration:none;font-size:15px;color:var(--muted)}
.nav__links a:hover{color:var(--ink)}
.logo{font-family:var(--font-h);font-weight:800;font-size:22px;text-decoration:none;display:inline-flex;align-items:center;gap:0;letter-spacing:-.02em}
.logo span{color:var(--brand)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border-radius:999px;border:0;background:var(--brand);color:#fff!important;font:600 15px var(--font-b);text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--brand-dark)}
.btn:active{transform:scale(.98)}
.btn--sm{padding:8px 16px}
.btn--wa{background:var(--wa)}
.btn--wa:hover{background:var(--wa-dark)}
.btn--block{width:100%;padding:15px 20px;font-size:16px}

.hero{padding:56px 0 80px;position:relative;overflow:hidden;background:radial-gradient(900px 420px at 85% -10%,color-mix(in srgb,var(--brand) 22%,transparent),transparent 70%),radial-gradient(600px 360px at -5% 20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%)}
.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.eyebrow{display:inline-block;margin:0 0 16px;padding:6px 14px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-size:13px;font-weight:700;letter-spacing:.02em}
h1{font-size:clamp(34px,5vw,54px);letter-spacing:-.02em}
h1 em{font-style:normal;color:var(--brand);background:linear-gradient(transparent 68%,color-mix(in srgb,var(--accent) 40%,transparent) 68%)}
.lead{font-size:18px;color:var(--muted);max-width:52ch}
.ticks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.ticks li{padding-left:30px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--brand);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:0 18px 50px rgba(10,124,134,.12)}
.form h2{font-size:26px;margin-bottom:4px}
.form__sub{margin:0 0 18px;color:var(--muted);font-size:15px}
.form label{display:block;font-size:14px;font-weight:500;margin-bottom:14px}
.form input[type=text],.form input[type=tel],.form input[type=number],.form select{border-radius:12px!important;
  display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:16px var(--font-b)}
.form input:focus,.form select:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}
.form .invalid{border-color:var(--danger)!important}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;color:var(--muted)}
.check input{margin-top:4px;accent-color:var(--brand)}
.error{color:var(--danger);font-size:14px;margin:0 0 12px}
.fine{font-size:13px;color:var(--muted);margin:10px 0 0}

.sec{padding:72px 0}
.sec--alt{background:linear-gradient(180deg,var(--brand-soft),var(--bg));border:0}
.sec__title{font-size:clamp(26px,3.5vw,36px);text-align:center;margin-bottom:36px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.steps li span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand-soft);color:var(--brand-dark);font-family:var(--font-h);font-weight:800;margin-bottom:14px}
.steps h3{font-size:20px}.steps p{margin:0;color:var(--muted)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid3 h3{font-size:20px}.grid3 p{margin:0;color:var(--muted)}

details{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:16px 20px;margin-bottom:12px}
summary{cursor:pointer;font-weight:600}
details p{margin:10px 0 0;color:var(--muted)}

.foot{padding:40px 0;border-top:1px solid var(--line)}
.logo--foot{margin:0 0 8px}

.wa-float{position:fixed;right:18px;bottom:18px;z-index:30;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .15s}
.wa-float:hover{transform:scale(1.07)}

@media (max-width:860px){
  .hero__grid{grid-template-columns:1fr;gap:32px}
  .steps,.grid3{grid-template-columns:1fr}
  .nav__links a:not(.btn){display:none}
  .hero{padding-top:32px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.sec--tight{padding:48px 0 8px}.sec--tight h2{font-size:28px}.foot a{color:var(--brand)}
.page{padding:48px 0}.page h1{font-size:36px}.page h2{font-size:22px;margin-top:1.6em}

button.wa-float{border:0;cursor:pointer}
.btn--ghost{background:transparent;color:var(--ink)!important;border:1px solid var(--line)}
.btn--ghost:hover{background:var(--bg)}
.wz{position:fixed;inset:0;z-index:50;background:rgba(8,20,16,.6);display:grid;place-items:end center;padding:0}
.wz[hidden]{display:none}
.wz__box{position:relative;width:100%;max-width:480px;background:var(--surface);color:var(--ink);border-radius:20px 20px 0 0;padding:28px 22px 22px;box-shadow:0 -10px 40px rgba(0,0,0,.3)}
@media(min-width:560px){.wz{place-items:center;padding:20px}.wz__box{border-radius:20px}}
.wz__x{position:absolute;right:12px;top:8px;border:0;background:none;font-size:30px;line-height:1;color:var(--muted);cursor:pointer;padding:6px 10px}
.wz__bar{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin:6px 28px 14px 0}
.wz__bar i{display:block;height:100%;width:0;background:var(--wa);transition:width .25s}
.wz__step{margin:0;font-size:13px;color:var(--muted)}
.wz__q{font-size:24px;margin:4px 0 16px}
.wz input[type=text],.wz input[type=number]{width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:17px var(--font-b)}
.wz input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:500 16px var(--font-b);cursor:pointer}
.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}
.chips--col{flex-direction:column}.chips--col .chip{text-align:left;border-radius:12px}
.wz__nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.wz__nav .btn{flex:1}
.wz__prev{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;font-size:15px;margin:0}
.wz .error{margin:12px 0 0}
body.wz-open{overflow:hidden}

/* --- Identidad salud y bienestar --- */
.logo::before{content:"";margin-right:9px;width:30px;height:30px;border-radius:10px;flex:none;
  -webkit-mask:none;mask:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%230077c8'/%3E%3Cstop offset='1' stop-color='%2300c2a8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='32' height='32' rx='10' fill='url(%23g)'/%3E%3Cpath d='M16 24.5s-7.5-4.6-7.5-10a4.2 4.2 0 0 1 7.5-2.5 4.2 4.2 0 0 1 7.5 2.5c0 5.4-7.5 10-7.5 10z' fill='none' stroke='%23fff' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M16 13.5v5M13.5 16h5' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-size:cover}
.logo span{color:var(--brand)}
.btn{box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 30%,transparent)}
.btn--wa{box-shadow:0 6px 18px rgba(31,168,85,.3)}
.btn--ghost{box-shadow:none}
.card{transition:transform .2s,box-shadow .2s}
.grid3 .card:hover{transform:translateY(-4px)}
.grid3 .card{border-top:4px solid var(--brand)}
.grid3 .card:nth-child(2){border-top-color:var(--accent)}
.grid3 .card:nth-child(3){border-top-color:var(--fresh)}
.ticks li::before{background:var(--fresh)}
.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand)}
.wz__bar i{background:linear-gradient(90deg,var(--brand),var(--fresh))}
.wz__box{border-radius:28px 28px 0 0}
@media(min-width:560px){.wz__box{border-radius:28px}}
.chip,.wz input{border-radius:14px}
.wa-float{box-shadow:0 10px 28px rgba(31,168,85,.45)}
.foot{background:var(--brand-soft);border-top:0}

/* --- Comparador --- */
.cmp{padding-top:40px;padding-bottom:64px}
.cmp h1{font-size:clamp(30px,4.4vw,46px)}
.cmp__filters{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 16px;margin:28px 0 12px;align-items:end}
.cmp__filters label{font-size:13px;font-weight:500;display:block}
.cmp__filters select,.cmp__filters input[type=number],.cmp__filters input[type=search]{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:15px var(--font-b)}
.cmp__chk{align-self:center}
.cmp__count{font-weight:700;margin:18px 0 12px}
.cmp__list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 30px rgba(10,124,134,.08)}
.plan__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.plan__isa{margin:0 0 2px;font-size:13px;font-weight:700;color:var(--brand)}
.plan h3{font-size:17px;margin:0;line-height:1.25;overflow-wrap:anywhere}
.plan__price{text-align:right;flex:none}
.plan__price b{display:block;font-family:var(--font-h);font-size:24px;line-height:1.1}
.plan__price small{font-size:12px;color:var(--muted)}
.plan__tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.plan__tags li{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-weight:500}
.plan__data{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;margin-top:auto}
.plan__data dt{font-size:11px;color:var(--muted);line-height:1.25}
.plan__data dd{margin:2px 0 0;font-weight:700;font-size:15px}
.plan .btn--block{padding:12px 14px;font-size:15px}
.cmp__more{text-align:center;margin:28px 0}
.cmp__note{margin-top:28px}.cmp__note h2{font-size:22px}.cmp__note li{margin-bottom:8px;color:var(--muted)}
@media(max-width:980px){.cmp__filters{grid-template-columns:repeat(2,1fr)}.cmp__list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cmp__filters{grid-template-columns:1fr}.cmp__list{grid-template-columns:1fr}}

.cmp__uf{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:8px 0}
.cmp__uf table{border-collapse:collapse;margin:12px 0;width:100%;max-width:420px}
.cmp__uf th,.cmp__uf td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);font-size:15px}
.cmp__conv{display:block;font-size:14px;font-weight:500;margin-top:6px}
.cmp__conv span{display:flex;gap:12px;align-items:center;margin-top:6px}
.cmp__conv input{width:140px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:15px var(--font-b)}
.cmp__conv output{font-weight:700;font-size:18px}
.plan__price small{display:block}

/* --- Paleta viva --- */
.btn{background:var(--btn);box-shadow:0 8px 22px rgba(0,119,200,.38)}
.btn:hover{background:var(--btn-dark)}
.btn--wa{background:var(--wa);box-shadow:0 8px 22px rgba(31,168,85,.4)}
.btn--wa:hover{background:var(--wa-dark)}
.btn--ghost{background:transparent;box-shadow:none;border:2px solid var(--brand);color:var(--brand)!important}
.btn--ghost:hover{background:var(--brand-soft)}
.hero{background:
  radial-gradient(700px 420px at 92% -8%,rgba(0,119,200,.34),transparent 70%),
  radial-gradient(520px 380px at 70% 105%,rgba(0,194,168,.30),transparent 70%),
  radial-gradient(520px 360px at -6% 15%,rgba(255,93,115,.22),transparent 70%),
  radial-gradient(380px 260px at 40% 0%,rgba(255,197,51,.22),transparent 70%),
  var(--bg)}
.eyebrow{background:linear-gradient(90deg,var(--sun),#ff9db0);color:#3b1a00}
h1 em{color:var(--brand);background:none}
.logo span{color:var(--brand)}
.steps li span{background:linear-gradient(135deg,#0077c8,#009aa8);color:#fff;font-size:20px;box-shadow:0 8px 18px rgba(0,119,200,.3)}
.grid3 .card{border-top:5px solid var(--brand)}
.grid3 .card:nth-child(2){border-top-color:var(--accent)}
.grid3 .card:nth-child(3){border-top-color:var(--fresh)}
.sec--alt{background:linear-gradient(180deg,var(--brand-soft),var(--bg))}
.ticks li::before{background:var(--fresh)}
.chip[aria-pressed=true]{background:var(--btn);border-color:var(--btn);color:#fff}
.wz__bar i{background:linear-gradient(90deg,var(--brand),var(--fresh),var(--sun))}
.card{box-shadow:0 20px 56px rgba(0,119,200,.16)}
.plan__tags li{background:var(--brand-soft);color:var(--brand-dark)}
.plan__tags li:first-child{background:var(--sun);color:#3b2a00}
.plan{box-shadow:0 12px 34px rgba(0,119,200,.12);border-top:4px solid var(--brand)}
.plan__price b{color:var(--brand)}
.foot{background:var(--brand-soft)}
.nav .btn--sm{background:var(--accent);box-shadow:0 8px 20px rgba(255,93,115,.4)}
.nav .btn--sm:hover{background:#e8445c}

/* --- Destacar comparador --- */
.nav .nav__hl{color:var(--brand-dark);font-weight:700;background:var(--brand-soft);padding:7px 14px;border-radius:999px}
.nav .nav__hl:hover{background:var(--brand);color:#fff}
.btn--lg{padding:16px 28px;font-size:17px}
.btn--hot{background:linear-gradient(135deg,#0077c8,#005a9c);box-shadow:0 12px 28px rgba(0,119,200,.45)}
.hero__cta{margin:22px 0 0}
.band{padding:8px 0 24px}
.band__in{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;border-radius:28px;padding:40px;color:#fff;background:linear-gradient(135deg,#005a9c,#0077c8 55%,#00a9a5);box-shadow:0 24px 60px rgba(0,119,200,.35);position:relative;overflow:hidden}
.band__in::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(255,197,51,.28)}
.band__in>*{position:relative;z-index:1}
.band__tag{display:inline-block;margin:0 0 12px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.18);font-size:13px;font-weight:700}
.band h2{font-size:clamp(26px,3.4vw,38px);color:#fff}
.band p{color:rgba(255,255,255,.92);max-width:52ch}
.btn--sun{background:var(--sun);color:#3b2a00!important;box-shadow:0 10px 24px rgba(0,0,0,.25);margin-top:8px}
.btn--sun:hover{background:#ffd45e}
.band__stats{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.band__stats li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:18px;padding:14px 18px;display:flex;align-items:baseline;gap:12px}
.band__stats b{font-family:var(--font-h);font-size:28px;line-height:1}
.band__stats span{font-size:15px;opacity:.95}
@media(max-width:860px){.band__in{grid-template-columns:1fr;padding:28px 22px}.nav .nav__hl{display:inline-block!important;padding:6px 10px;font-size:13px}.nav__links a:not(.btn):not(.nav__hl){display:none}}
