/*
 * Viva Telecom: estilos compartidos de la página Spectrum (los piden sus bloques como "vgtb-spectrum"; trae proveedor.css como dependencia).
 * Del prototipo disenos/viva-telecom/spectrum.css.
 *
 * Colores de Spectrum: azul eléctrico #005EFF (botones), azul de enlaces #004DD0 y texto #1A1A1A, con negro y blanco. Se aplican solo al header y al <main> de esa página
 * (el tema pone la clase sp-page en el body) y a cada bloque Spectrum (también en la vista previa del editor). El footer sigue azul. Las reglas de Viva con azul escrito a mano
 * se rehacen aquí en el azul de Spectrum.
 */

/* ---------- Colores de la pagina (azul electrico Spectrum) ---------- */
:is(.sp-page .site-header, .sp-page main, [data-vg7^="spectrum-"]){
  --ink:#05070d;--ink-2:#0b1020;--deep:#02040a;--navy:#0033a0;
  --brand:#005eff;--brand-2:#5b9bff;--soft:#a9c8ff;--sky:#dce8ff;--mist:#eef3ff;--cream:#eef3ff;
  --text:#1a1a1a;--muted:#586175;--line:rgba(0,94,255,.2);
  --glow:0,94,255;--glow-2:0,45,150;
  --g-sp:linear-gradient(135deg,#1f6dff 0%,#005eff 46%,#0030a0 100%);
  --g-dark:linear-gradient(145deg,#121a33 0%,#05070d 100%);
}
/* Reglas de comun.css con azul escrito a mano: aqui van en el azul de Spectrum */
:is(.sp-page .site-header, .sp-page main, [data-vg7^="spectrum-"]) .btn:not(.btn-white, .btn-ghost, .btn-line){background:linear-gradient(135deg,#1f6dff,#0052e0);box-shadow:0 14px 34px -12px rgba(0,94,255,.85)}
:is(.sp-page main, [data-vg7^="spectrum-"]) .btn-ghost{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.34)}
:is(.sp-page main, [data-vg7^="spectrum-"]) .btn-white{background:#fff;color:var(--brand);box-shadow:0 14px 34px -14px rgba(0,10,50,.6)}
:is(.sp-page main, [data-vg7^="spectrum-"]) .btn-white::before{background:rgba(0,94,255,.1)}
:is(.sp-page main, [data-vg7^="spectrum-"]) .btn-line{background:transparent;box-shadow:inset 0 0 0 1.5px var(--brand)}
:is(.sp-page main, [data-vg7^="spectrum-"]) .eyebrow{background:rgba(0,94,255,.1)}
:is(.sp-page main, [data-vg7^="spectrum-"]) .on-dark .eyebrow,
:is(.sp-page main, [data-vg7^="spectrum-"]).on-dark .eyebrow{color:#fff;background:rgba(91,155,255,.24)}
.sp-page .site-header.is-solid{background:rgba(5,7,13,.9)}
.hero-sp .hero-bg{background:radial-gradient(55% 60% at 78% 46%,rgba(0,94,255,.5),transparent 72%),radial-gradient(45% 45% at 2% 100%,rgba(0,45,150,.75),transparent 70%)}
.sp-page main .sec-form{background:linear-gradient(135deg,#1f6dff 0%,#005eff 42%,#001a66 100%)}
.sp-page main .form-call{background:rgba(5,7,13,.4)}
@media (hover:hover){.sp-page main .form-call:hover{background:rgba(5,7,13,.58)}}
.sp-page main .card-form{box-shadow:0 60px 100px -40px rgba(0,10,60,.75)}
.sp-page main .fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23005eff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.sp-page main .fld input:focus,.sp-page main .fld select:focus,:is(.sp-page main, [data-vg7^="spectrum-"]) .cov-fld input:focus{box-shadow:0 0 0 4px rgba(0,94,255,.16)}

/* Brillo de las secciones oscuras: el de proveedor.css sale más tenue que el del prototipo */
[data-vg7^="spectrum-"] .net-glow{background:radial-gradient(55% 45% at 22% 55%,rgba(var(--glow),calc(.22 + var(--f) * .3)),transparent 72%),radial-gradient(50% 40% at 100% 0,rgba(var(--glow-2),.6),transparent 70%)}

/* Piezas que se repiten */
.sp-pill{align-self:flex-start;width:fit-content;margin:0;padding:8px 14px;border-radius:999px;background:rgba(0,94,255,.1);color:var(--brand);font:700 11.5px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase}
.sp-text{margin:14px 0 0;max-width:40ch;font-size:15px;line-height:1.6}
.sp-legal{margin:14px 0 22px;max-width:48ch;font-size:12px;line-height:1.5;opacity:.74}
.sp-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--g-sp);color:#fff;box-shadow:0 14px 28px -12px rgba(0,94,255,.8);flex:none}
.sp-ico .ico{width:24px;height:24px}
.sp-head{display:grid;justify-items:start}
.sp-head .h2{margin-top:18px;max-width:20ch}
.sp-head .h2 + .lead{margin-top:16px;max-width:54ch}
.sp-head-d .h2{color:#fff}
.sp-head-d .h2 + .lead{color:rgba(255,255,255,.8)}
.sp-note-legal{max-width:92ch;margin:clamp(22px,3vw,34px) 0 0;font-size:12.5px;line-height:1.6;color:var(--muted)}
.sp-note-d{color:rgba(255,255,255,.62)}
.sp-list{display:grid;gap:11px;margin:20px 0 28px;padding:0;list-style:none}
.sp-list li{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;line-height:1.45}
.sp-list .ico{width:20px;height:20px;padding:4px;margin-top:1px;border-radius:50%;background:var(--brand);color:#fff;stroke-width:3;flex:none}
.sp-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font:600 14.5px/1 var(--f-body);color:var(--brand)}
.sp-link .ico{width:1.1em;height:1.1em;transition:transform .4s var(--ease)}
@media (hover:hover){.sp-link:hover .ico{transform:translateX(4px)}}
.sp-mult{mix-blend-mode:multiply}

/* ---------- 1. Hero ---------- */
.hero.hero-sp{padding-bottom:clamp(64px,7vw,110px)}
.sp-arcs{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.sp-arcs i{position:absolute;right:-6%;top:50%;width:min(110vw,980px);aspect-ratio:1;border-radius:50%;border:1.5px dashed rgba(91,155,255,.22);transform:translate(0,-50%) rotate(0) scale(var(--s,1));animation:sp-spin 90s linear infinite}
.sp-arcs i:nth-child(2){--s:.76;animation-duration:70s;animation-direction:reverse}
.sp-arcs i:nth-child(3){--s:.54;animation-duration:55s}
.sp-arcs i:nth-child(4){--s:.34;border-style:solid;border-color:rgba(91,155,255,.16);animation:none}
@keyframes sp-spin{to{transform:translate(0,-50%) rotate(360deg) scale(var(--s,1))}}
.sp-hero-in{position:relative;display:grid;gap:44px;align-items:center}
.sp-hero-copy{display:grid;justify-items:start}
.hero-sp .hero-title{font-size:clamp(36px,4.9vw,68px);line-height:1;max-width:14ch}
.hero-sp .hero-lead{max-width:48ch}
.sp-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;padding:0;list-style:none;font:500 14px/1.2 var(--f-body);color:rgba(255,255,255,.88)}
.sp-points li{display:inline-flex;align-items:center;gap:8px}
.sp-points .ico{width:18px;height:18px;padding:3px;border-radius:50%;background:var(--brand);color:#fff;stroke-width:3}
.sp-fine{margin-top:24px;max-width:58ch;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.6)}

.sp-avail{position:relative;justify-self:center;width:min(100%,470px);padding:clamp(26px,3vw,36px);border-radius:34px;background:#fff;color:var(--text);box-shadow:0 60px 100px -40px rgba(0,94,255,.75),0 0 0 1px rgba(255,255,255,.4)}
.sp-tag{display:inline-block;margin:0;padding:7px 13px;border-radius:999px;background:var(--g-sp);color:#fff;font:700 11px/1 var(--f-body);letter-spacing:.09em;text-transform:uppercase}
.sp-avail-price{display:flex;align-items:center;gap:12px;margin:18px 0 0}
.sp-avail-price b{min-width:2.8ch;font:800 clamp(72px,8vw,108px)/.9 var(--f-title);letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--brand)}
.sp-avail-price small{font:600 16px/1.25 var(--f-body);color:var(--muted)}
.sp-avail-sub{margin:10px 0 22px;font:700 17px/1.3 var(--f-title);letter-spacing:-.02em;color:var(--ink)}
.sp-zip label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font:700 14px/1.2 var(--f-body);color:var(--ink)}
.sp-zip label .ico{color:var(--brand)}
.sp-zip .cov-fld{flex-wrap:wrap}
.sp-zip .cov-fld input{width:auto;flex:1 1 170px}
.sp-zip .cov-fld .btn{flex:1 1 auto}
.sp-zip .cov-res{margin-top:12px}
.sp-avail-note{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted)}
@media (min-width:960px){.sp-hero-in{grid-template-columns:1.1fr .9fr;gap:56px}.sp-avail{justify-self:end}}

/* ---------- 2. Ventajas ---------- */
.sp-trust{background:#fff;box-shadow:0 1px 0 var(--line)}
.sp-trust-list{display:grid;margin:0;padding:0;list-style:none}
.sp-trust-list li{display:flex;align-items:flex-start;gap:16px;padding:24px 0;border-top:1px solid var(--line)}
.sp-trust-list li:first-child{border-top:0}
.sp-trust-h{margin:0;font:800 17px/1.2 var(--f-title);letter-spacing:-.02em;color:var(--ink)}
.sp-trust-list p{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
@media (min-width:900px){
  .sp-trust-list{grid-template-columns:repeat(3,1fr)}
  .sp-trust-list li{padding:34px 30px;border-top:0;border-left:1px solid var(--line)}
  .sp-trust-list li:first-child{padding-left:0;border-left:0}
}

/* ---------- 3. Planes de Internet ---------- */
.sec-spplans{background:var(--mist)}
.sp-plans{display:grid;gap:18px;margin-top:clamp(34px,4.4vw,56px)}
.sp-plan{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(26px,2.8vw,36px);border-radius:32px;background:#fff;color:var(--text);box-shadow:inset 0 0 0 1.5px var(--line),0 26px 56px -40px rgba(0,50,160,.55);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.sp-plan h3{margin:0;font:800 clamp(22px,2.2vw,28px)/1.1 var(--f-title);letter-spacing:-.03em;color:var(--ink)}
.sp-speed{display:flex;align-items:baseline;gap:8px;margin:18px 0 0}
.sp-speed b{font:800 clamp(56px,5.8vw,80px)/.9 var(--f-title);letter-spacing:-.06em;color:var(--brand)}
.sp-speed small{font:700 18px/1 var(--f-title);color:var(--muted)}
.sp-meter{display:block;width:100%;height:8px;margin:14px 0 0;border-radius:99px;background:rgba(0,94,255,.12);overflow:hidden}
.sp-meter i{display:block;width:calc(var(--p) * 100%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#5b9bff,#005eff)}
.sp-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:20px 0 0}
.sp-price b{min-width:calc(var(--n,3) * 1ch);font:800 clamp(44px,4.4vw,60px)/1 var(--f-title);letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--ink)}
.sp-price small{font:600 15px/1.2 var(--f-body);color:var(--muted)}
.sp-note{margin:6px 0 0;font:600 13.5px/1.4 var(--f-body);color:var(--brand)}
.sp-desc{margin:14px 0 0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.sp-plan .btn{margin-top:auto}
.sp-plan.is-top{background:var(--g-sp);color:#fff;box-shadow:0 50px 90px -40px rgba(0,94,255,.85)}
.sp-plan.is-top h3,.sp-plan.is-top .sp-speed b,.sp-plan.is-top .sp-price b{color:#fff}
.sp-plan.is-top .sp-speed small,.sp-plan.is-top .sp-price small,.sp-plan.is-top .sp-desc,.sp-plan.is-top .sp-note{color:rgba(255,255,255,.88)}
.sp-plan.is-top .sp-meter{background:rgba(255,255,255,.24)}
.sp-plan.is-top .sp-meter i{background:#fff}
.sp-plan.is-top .sp-list .ico{background:#fff;color:var(--brand)}
/* El sello va sobre el borde de la tarjeta para no empujar su contenido (las tres tarjetas quedan alineadas) */
.sp-flag{position:absolute;left:clamp(26px,2.8vw,36px);top:-13px;padding:7px 13px;border-radius:999px;background:#fff;color:var(--brand);font:700 10.5px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 22px -8px rgba(0,30,120,.55),inset 0 0 0 1.5px rgba(0,94,255,.35)}
@media (hover:hover){.sp-plan:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1.5px var(--brand),0 40px 70px -40px rgba(0,94,255,.6)}.sp-plan.is-top:hover{box-shadow:0 56px 90px -36px rgba(0,94,255,1)}}
@media (min-width:900px){.sp-plans{grid-template-columns:repeat(3,1fr);gap:22px}}
.sp-more{display:grid;gap:20px;align-items:center;margin-top:22px;padding:clamp(22px,3vw,34px) clamp(22px,3.4vw,44px);border-radius:28px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.sp-more h3{margin:0;font:800 clamp(20px,2.2vw,26px)/1.15 var(--f-title);letter-spacing:-.03em;color:var(--ink)}
.sp-more p{margin:8px 0 0;max-width:58ch;font-size:14.5px;line-height:1.55;color:var(--muted)}
@media (min-width:800px){.sp-more{grid-template-columns:1fr auto}}

/* ---------- 4. Soporte (informativo, a todo el ancho) ---------- */
.sp-info{display:grid;gap:0 clamp(28px,4vw,64px);margin:clamp(34px,4.4vw,56px) 0 0;padding:0;list-style:none}
.sp-info li{display:flex;align-items:flex-start;gap:18px;padding:26px 0;border-top:1px solid rgba(255,255,255,.16)}
.sp-info .sp-ico{width:48px;height:48px}
.sp-info h3{margin:0;font:800 clamp(18px,1.7vw,21px)/1.2 var(--f-title);letter-spacing:-.02em;color:#fff}
.sp-info p{margin:8px 0 0;max-width:38ch;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.74)}
.sp-sup-tip{margin:8px 0 0;max-width:60ch;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);font-size:14px;line-height:1.55;color:rgba(255,255,255,.7)}
.sp-callrow{display:grid;gap:24px;align-items:center;margin-top:clamp(28px,3.4vw,44px)}
.sp-callrow-l{margin:0;font:700 12px/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.sp-callrow-n{display:block;margin-top:12px;font:800 clamp(34px,5.4vw,68px)/1 var(--f-title);letter-spacing:-.04em;color:#fff;overflow-wrap:anywhere;transition:color .3s}
@media (hover:hover){.sp-callrow-n:hover{color:var(--brand-2)}}
.sp-callrow-s{margin:14px 0 0;max-width:46ch;font-size:15px;line-height:1.6;color:rgba(255,255,255,.76)}
@media (min-width:700px){.sp-info{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.sp-info{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.sp-callrow{grid-template-columns:1fr auto;gap:48px}}

/* ---------- 5. Movil ---------- */
.sec-spmob{background:linear-gradient(160deg,#0a3fd6 0%,#0030a0 46%,#001756 100%);overflow:clip;isolation:isolate}
.sp-mob-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.sp-mob-bg i{position:absolute;right:-18%;top:34%;width:min(120vw,900px);aspect-ratio:1;border-radius:50%;border:1.5px solid rgba(255,255,255,.14);transform:translate(0,-50%) scale(var(--s,1))}
.sp-mob-bg i:nth-child(2){--s:.72}.sp-mob-bg i:nth-child(3){--s:.44}
.sp-mob{position:relative;display:grid;gap:18px;margin-top:clamp(34px,4.4vw,56px)}
.sp-free{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(26px,3vw,38px);border-radius:32px;background:#fff;color:var(--text);box-shadow:0 50px 90px -40px rgba(0,10,60,.8)}
.sp-free h3{margin:18px 0 0;font:800 clamp(24px,2.4vw,32px)/1.1 var(--f-title);letter-spacing:-.03em;color:var(--ink)}
.sp-free-big{display:flex;align-items:center;gap:12px;margin:16px 0 0}
.sp-free-big b{min-width:2ch;font:800 clamp(80px,8vw,116px)/.85 var(--f-title);letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--brand)}
.sp-free-big small{font:700 18px/1.2 var(--f-title);color:var(--ink)}
.sp-free .sp-text{color:var(--muted)}
.sp-free .btn{margin-top:auto}
.sp-phone{display:flex;flex-direction:column;align-items:flex-start;container-type:inline-size;padding:clamp(22px,2.4vw,30px);border-radius:32px;background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.sp-stage{display:grid;place-items:center;width:100%;aspect-ratio:16/11;border-radius:22px;background:linear-gradient(160deg,#f6f9ff,#dbe6ff);overflow:hidden}
.sp-stage img{width:100%;height:100%;object-fit:contain;padding:10px}
.sp-phone h3{margin:18px 0 0;font:800 clamp(22px,2vw,28px)/1.1 var(--f-title);letter-spacing:-.03em}
.sp-big{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:8px 0 0}
.sp-big b{min-width:calc(var(--n,3) * 1ch);font:800 clamp(52px,5.4vw,76px)/.9 var(--f-title);letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:#fff}
@supports (font-size:1cqw){.sp-big b{font-size:clamp(52px,22cqw,76px)}}
.sp-big small{font:600 16px/1 var(--f-body);color:rgba(255,255,255,.88)}
.sp-phone .sp-text{color:rgba(255,255,255,.84);margin-bottom:22px}
.sp-phone .btn{margin-top:auto}
.sp-prem{position:relative;display:grid;gap:20px;align-items:center;margin-top:18px;padding:clamp(24px,3vw,36px) clamp(24px,3.4vw,46px);border-radius:30px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.sp-prem .sp-pill{background:rgba(255,255,255,.2);color:#fff}
.sp-prem h3{margin:14px 0 0;font:800 clamp(24px,2.6vw,34px)/1.1 var(--f-title);letter-spacing:-.03em}
.sp-prem-list{display:flex;flex-wrap:wrap;gap:10px 26px;margin:16px 0 0;padding:0;list-style:none}
.sp-prem-list li{display:inline-flex;align-items:center;gap:10px;font:500 15px/1.35 var(--f-body)}
.sp-prem-list .ico{width:20px;height:20px;padding:4px;border-radius:50%;background:#fff;color:var(--brand);stroke-width:3;flex:none}
@media (min-width:900px){.sp-mob{grid-template-columns:1.05fr 1fr 1fr;gap:22px}.sp-prem{grid-template-columns:1fr auto}}

/* ---------- 6. Arma tu paquete ---------- */
.sec-spbundle{background:#fff}
.sp-build{display:grid;gap:12px;align-items:stretch;margin-top:clamp(34px,4.4vw,56px)}
.sp-svc{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,2.6vw,34px);border-radius:30px;background:var(--mist);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.sp-step{position:absolute;right:24px;top:24px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--brand);font:800 15px/1 var(--f-title);box-shadow:inset 0 0 0 1.5px var(--line)}
.sp-svc h3{margin:20px 0 0;font:800 clamp(22px,2.2vw,28px)/1.1 var(--f-title);letter-spacing:-.03em;color:var(--ink)}
.sp-svc p{margin:10px 0 22px;font-size:14.5px;line-height:1.6;color:var(--muted)}
.sp-plus{display:grid;place-items:center;justify-self:center;width:46px;height:46px;border-radius:50%;background:var(--g-sp);color:#fff;box-shadow:0 14px 28px -12px rgba(0,94,255,.8)}
.sp-plus .ico{width:22px;height:22px;stroke-width:2.6}
@media (hover:hover){.sp-svc:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1.5px var(--brand),0 30px 50px -36px rgba(0,94,255,.6)}}
@media (min-width:900px){.sp-build{grid-template-columns:var(--cols,1fr auto 1fr auto 1fr);gap:14px}.sp-plus{align-self:center}}

/* ---------- 7. La diferencia ---------- */
.sp-dif{position:relative;display:grid;gap:18px;margin-top:clamp(34px,4.4vw,56px)}
.sp-lock{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3.4vw,46px);border-radius:34px;background:var(--g-sp);color:#fff;box-shadow:0 50px 90px -40px rgba(0,94,255,.8)}
.sp-lock .sp-ico{background:#fff;color:var(--brand);box-shadow:0 14px 28px -12px rgba(0,10,60,.5)}
.sp-lock .sp-pill{margin-top:22px;background:rgba(255,255,255,.2);color:#fff}
.sp-lock-big{display:flex;align-items:baseline;gap:12px;margin:14px 0 0}
.sp-lock-big b{min-width:1.2ch;font:800 clamp(110px,12vw,170px)/.8 var(--f-title);letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.sp-lock-big small{font:700 20px/1 var(--f-title)}
.sp-lock h3{margin:18px 0 0;max-width:20ch;font:800 clamp(24px,2.4vw,32px)/1.12 var(--f-title);letter-spacing:-.03em}
.sp-lock .sp-text{color:rgba(255,255,255,.9);margin-bottom:26px}
.sp-lock .btn{margin-top:auto}
.sp-dif-side{display:grid;gap:18px}
.sp-card-d{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,2.8vw,36px);border-radius:30px;background:rgba(255,255,255,.07);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.sp-card-d h3{margin:18px 0 0;font:800 clamp(21px,2.1vw,26px)/1.15 var(--f-title);letter-spacing:-.03em}
.sp-card-d p{margin:10px 0 0;max-width:36ch;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.8)}
.sp-assist{display:flex;align-items:baseline;gap:8px;margin:20px 0 0!important}
.sp-assist b{min-width:3ch;font:800 clamp(52px,5.4vw,76px)/.9 var(--f-title);letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:#fff}
.sp-assist small{font:600 16px/1 var(--f-body);color:rgba(255,255,255,.85)}
.sp-assist + h3{margin-top:10px}
.sp-card-d .sp-link{margin-top:20px;color:#fff}
@media (min-width:900px){.sp-dif{grid-template-columns:1.08fr 1fr;gap:22px}}

/* ---------- 8. Como contratar: recorrido de tres pasos ---------- */
.sec-spsteps{background:var(--mist)}
.sp-steps-head{display:grid;justify-items:center;text-align:center}
.sp-steps-head .h2{margin-top:18px;max-width:20ch}
.sp-track{--g:22px;position:relative;display:grid;gap:var(--g);margin:clamp(40px,5vw,64px) 0 0;padding:0;list-style:none}
/* Movil: linea vertical con los pasos a la derecha */
.sp-st{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start}
.sp-st-node{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--line);font:800 22px/1 var(--f-title);color:#8a96b0;transition:background-color .5s,box-shadow .5s,color .5s,transform .5s var(--ease)}
.sp-st.is-on .sp-st-node{background:var(--g-sp);color:#fff;box-shadow:0 0 0 7px rgba(0,94,255,.16),0 16px 34px -10px rgba(0,94,255,.85);transform:scale(1.06)}
.sp-st:not(:last-child)::before,.sp-st:not(:last-child)::after{content:"";position:absolute;left:26.5px;top:28px;bottom:calc(-1 * (var(--g) + 28px));width:3px;border-radius:3px}
.sp-st:not(:last-child)::before{background:rgba(0,94,255,.16)}
.sp-st:not(:last-child)::after{background:linear-gradient(180deg,#5b9bff,#005eff);transform:scaleY(0);transform-origin:50% 0;transition:transform .7s var(--ease)}
.sp-st:has(+ .sp-st.is-on)::after{transform:scaleY(1)}
.sp-st-card{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(22px,2.4vw,30px);border-radius:28px;background:#fff;color:var(--text);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .5s}
.sp-st.is-on .sp-st-card{box-shadow:inset 0 0 0 1.5px rgba(0,94,255,.55),0 30px 60px -40px rgba(0,94,255,.6)}
.sp-st-card h3{margin:18px 0 0;font:800 clamp(20px,2vw,24px)/1.15 var(--f-title);letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.sp-st-card p{margin:10px 0 0;max-width:34ch;font-size:14.5px;line-height:1.55;color:var(--muted)}
.sp-st-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.sp-st-tags li{padding:7px 12px;border-radius:999px;background:rgba(0,94,255,.1);color:var(--brand);font:600 12.5px/1 var(--f-body)}
.sp-st-card p.sp-st-pill{display:inline-flex;align-items:center;gap:8px;max-width:none;margin-top:18px;padding:9px 14px;border-radius:999px;background:var(--brand);color:#fff;font:700 13px/1.2 var(--f-body)}
.sp-st-pill .ico{width:16px;height:16px;stroke-width:3}
.sp-steps-cta{display:flex;justify-content:center;margin-top:clamp(32px,4vw,52px)}
.vg7-motion .sp-st:not(.is-on) .sp-st-card{opacity:.55}
/* Pantalla ancha: tres columnas unidas por una linea horizontal */
@media (min-width:900px){
  .sp-track{grid-template-columns:repeat(3,1fr)}
  .sp-st{grid-template-columns:minmax(0,1fr);justify-items:center;gap:22px}
  .sp-st-card{width:100%;height:100%}
  .sp-st:not(:last-child)::before,.sp-st:not(:last-child)::after{left:50%;top:26.5px;bottom:auto;width:calc(100% + var(--g));height:3px}
  .sp-st:not(:last-child)::after{transform:scaleX(0);transform-origin:0 50%}
  .sp-st:has(+ .sp-st.is-on)::after{transform:scaleX(1)}
}

/* ---------- 9. Formulario ---------- */
.sp-page main .vz-sel b{color:var(--ink)}
.sp-page main .sec-form .form-call{margin-top:30px}
.sp-page main .sec-form .form-copy .lead{max-width:48ch}
.sp-page main .sec-form .form-call .chip-ico{color:var(--brand)}
.sp-page main .chk-opt{margin-top:4px}   /* el formulario de Contacto la acerca (-8px); el de los proveedores la deja con el margen normal */


@media (prefers-reduced-motion:reduce){
  .sp-arcs i{animation:none}
  .sp-plan,.sp-svc,.sp-st-node,.sp-st-card,.sp-st::after{transition:none}
}
