

/* Fase 2: Marquee, casos de éxito y servicios dinámicos */
.sube-marquee{position:relative;overflow:hidden;width:100%;border-block:1px solid #e8e4ef;background:#fff;color:#6d28d9}
.sube-marquee__viewport{overflow:hidden;width:100%}
.sube-marquee__track{display:flex;width:max-content;align-items:center;gap:2.5rem;animation:sube-marquee-scroll var(--sube-marquee-duration,32s) linear infinite;animation-direction:var(--sube-marquee-direction,normal);will-change:transform}
.sube-marquee__item{display:inline-flex;align-items:center;gap:1.5rem;font-size:.78rem;font-weight:800;letter-spacing:.16em;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.sube-marquee__item a{color:inherit;text-decoration:none}
.sube-marquee__separator{font-size:1rem;color:#8b5cf6}
.sube-marquee__item .icon{width:1rem;height:1rem}
.sube-marquee--pause-hover:hover .sube-marquee__track{animation-play-state:paused}
@keyframes sube-marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.sube-widget-cases,.sube-widget-services{width:100%}
.sube-section-heading{max-width:48rem;margin-bottom:2rem}
.sube-section-heading h2{margin:.75rem 0 1rem;font-size:clamp(1.75rem,4vw,3rem);line-height:1.04;letter-spacing:-.025em;text-transform:uppercase}
.sube-section-heading>p:last-child{margin:0;color:#625d69;line-height:1.75}
.sube-cases-grid,.sube-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.sube-cases-grid--1,.sube-services-grid--1{grid-template-columns:1fr}
.sube-cases-grid--2,.sube-services-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sube-services-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sube-case-card,.sube-service-card{display:flex;min-width:0;flex-direction:column;height:100%;overflow:hidden}
.sube-case-card__media,.sube-service-card__media{display:block;overflow:hidden;aspect-ratio:16/9;background:#f1eff6}
.sube-case-card__media img,.sube-service-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.sube-case-card:hover .sube-case-card__media img,.sube-service-card:hover .sube-service-card__media img{transform:scale(1.04)}
.sube-case-card .sube-card__body,.sube-service-card .sube-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start}
.sube-case-card__tag{margin:0 0 .6rem;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#6d28d9}
.sube-case-card h3,.sube-service-card h3{margin:0 0 .65rem;font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.12}
.sube-case-card p,.sube-service-card p{margin:.25rem 0;color:#625d69;line-height:1.6}
.sube-case-card__challenge{font-size:.9rem}
.sube-case-card__challenge strong,.sube-service-card__fit strong{color:#0b0712}
.sube-case-card__metric{display:grid;gap:.1rem;margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid #e8e4ef;color:#6d28d9}
.sube-case-card__metric strong{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1}
.sube-case-card__metric span{font-size:.8rem;color:#625d69}
.sube-case-card__secondary,.sube-case-card__period{font-size:.82rem}
.sube-case-card__period{margin-top:auto!important;padding-top:.8rem;font-size:.75rem;color:#8a8492!important}
.sube-case-card__link,.sube-service-card__link{display:inline-flex;margin-top:1rem;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6d28d9;text-decoration:none}
.sube-case-card__link::after,.sube-service-card__link::after{content:' →';transition:transform .2s ease}
.sube-case-card__link:hover::after,.sube-service-card__link:hover::after{transform:translateX(3px)}
.sube-service-card__icon{display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:1rem;border-radius:999px;background:#f0eaff;color:#6d28d9}
.sube-service-card__icon svg{width:1.35rem;height:1.35rem}
.sube-service-card__fit{margin-top:auto;padding-top:1rem;font-size:.82rem;line-height:1.5;color:#625d69}
.sube-empty{grid-column:1/-1;padding:1.5rem;border:1px dashed #cfc7dd;color:#625d69}
@media(max-width:1023px){.sube-services-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.sube-cases-grid,.sube-cases-grid--2,.sube-services-grid,.sube-services-grid--2,.sube-services-grid--4{grid-template-columns:1fr}.sube-marquee__track{gap:1.5rem}.sube-marquee__item{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.sube-marquee__track{animation:none}.sube-case-card__media img,.sube-service-card__media img{transition:none}}

/* Fase 3: Calculadora y Comparador Hoy / SUBE */
.sube-calc-widget,.sube-finder{--sube-accent:#6d28d9;--sube-ink:#0b0712;--sube-muted:#625d69;--sube-line:#e8e4ef;--sube-soft:#f0eaff;--sube-surface:#f8f7fb}
.sube-calc-widget{width:100%}
.sube-calc-widget *,.sube-calc-widget *::before,.sube-calc-widget *::after,.sube-finder,.sube-finder *,.sube-finder *::before,.sube-finder *::after{box-sizing:border-box}
.sube-calc{display:grid;gap:1.5rem;align-items:stretch}
.sube-calc__inputs{margin:0;padding:1.5rem;border:1px solid var(--sube-line);border-radius:.375rem;background:#fff}
.sube-calc__field+.sube-calc__field{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--sube-line)}
.sube-calc__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.sube-calc__row label{font-size:.9375rem;font-weight:700;color:var(--sube-ink)}
.sube-calc__row output{font-size:1.125rem;font-weight:800;color:var(--sube-accent);font-variant-numeric:tabular-nums;white-space:nowrap}
.sube-calc__hint{margin:.375rem 0 0;font-size:.8125rem;line-height:1.5;color:var(--sube-muted)}
.sube-range{-webkit-appearance:none;appearance:none;display:block;width:100%;height:28px;margin:.5rem 0 0;padding:0;border:0;background:transparent;cursor:pointer;--fill:50%}
.sube-range::-webkit-slider-runnable-track{height:6px;border-radius:9999px;background:linear-gradient(90deg,var(--sube-accent) var(--fill),var(--sube-line) var(--fill))}
.sube-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:#fff;border:3px solid var(--sube-accent);box-shadow:0 2px 8px rgba(11,7,18,.2)}
.sube-range::-moz-range-track{height:6px;border-radius:9999px;background:var(--sube-line)}
.sube-range::-moz-range-progress{height:6px;border-radius:9999px;background:var(--sube-accent)}
.sube-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--sube-accent)}
.sube-range:focus-visible{outline:2px solid var(--sube-accent);outline-offset:4px;border-radius:4px}
.sube-calc__out{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:1.75rem;border-radius:.375rem;color:#fff;background:linear-gradient(145deg,#5b1fd0 0%,#5a22b3 52%,#3d138d 100%);box-shadow:0 1px 2px rgba(11,7,18,.04),0 18px 40px -24px rgba(11,7,18,.2)}
.sube-calc__dots{position:absolute;inset:0;z-index:-1;opacity:.35;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 0);background-size:22px 22px}
.sube-calc__out .sube-eyebrow{margin:0;color:currentColor;opacity:.7}
.sube-calc__stats{margin-top:1.25rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.sube-calc__stats div{padding:.75rem .625rem;border-radius:.375rem;background:rgba(255,255,255,.1)}
.sube-calc__stats b{display:block;font-size:1.375rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sube-calc__stats span{display:block;margin-top:.25rem;font-size:.6875rem;font-weight:600;line-height:1.3;opacity:.75}
.sube-calc__big{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2)}
.sube-calc__big span{font-size:.8125rem;font-weight:600;opacity:.75}
.sube-calc__big b{display:block;margin-top:.25rem;font-size:clamp(2.25rem,6vw,3rem);font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sube-calc__big small{display:block;margin-top:.5rem;font-size:.875rem;opacity:.8}
.sube-calc__msg{margin:1.25rem 0 0;font-size:.9375rem;line-height:1.6;opacity:.9}
.sube-calc__out .sube-calc__cta{margin-top:1.5rem;width:100%;justify-content:center}
.sube-calc__note{margin:1rem 0 0;font-size:.75rem;line-height:1.55;opacity:.6}
@media(min-width:768px){.sube-calc__inputs{padding:2rem}.sube-calc__out{padding:2.25rem}}
@media(min-width:1024px){.sube-calc--columns{grid-template-columns:7fr 5fr}}

.sube-finder{position:relative;z-index:2;width:100%;max-width:28rem;padding:1.25rem;border-radius:.375rem;background:#fff;color:var(--sube-ink);box-shadow:0 30px 60px -30px rgba(11,7,18,.6)}
.sube-finder__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.sube-finder__label{margin:0;font-size:.625rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sube-muted)}
.sube-finder__tabs{display:flex;padding:.1875rem;border:1px solid var(--sube-line);border-radius:9999px;background:var(--sube-surface)}
.sube-finder__tab{margin:0;padding:.375rem .75rem;border:0;border-radius:9999px;background:transparent;font:inherit;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;color:var(--sube-muted);white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s}
.sube-finder__tab:hover{color:var(--sube-accent);background:transparent}
.sube-finder__tab[aria-pressed="true"]{background:var(--sube-accent);color:#fff;box-shadow:0 14px 30px -14px var(--sube-accent)}
.sube-finder__tab:focus-visible{outline:2px solid var(--sube-accent);outline-offset:2px}
.sube-finder__search{margin-top:1rem;display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border:1px solid var(--sube-line);border-radius:9999px;font-size:.8125rem;color:var(--sube-muted)}
.sube-finder__search .icon{flex:none;width:1rem;height:1rem}
.sube-finder__search b{color:var(--sube-ink);font-weight:700;background:var(--sube-soft);padding:.0625rem .375rem;border-radius:3px}
.sube-finder__panel[hidden]{display:none}
.sube-finder__panel{animation:sube-fade .35s ease-out}
.sube-finder__results{margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:.375rem}
.sube-finder__results li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;margin:0;padding:.5625rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:600}
.sube-finder__n{font-size:.6875rem;font-weight:800;color:var(--sube-muted)}
.sube-finder__tag{font-size:.5625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sube-muted);border:1px solid var(--sube-line);padding:.125rem .375rem;border-radius:3px}
.sube-finder__results li.is-you{background:var(--sube-soft);color:var(--sube-accent);box-shadow:inset 3px 0 0 var(--sube-accent)}
.sube-finder__results li.is-you .sube-finder__n,.sube-finder__results li.is-you .sube-finder__tag{color:var(--sube-accent);border-color:currentColor}
.sube-finder__results li.is-miss,.sube-finder__results li.is-win{grid-template-columns:auto 1fr}
.sube-finder__results li.is-miss{font-weight:500;color:var(--sube-muted);border:1px dashed var(--sube-line)}
.sube-finder__results li.is-win{color:var(--sube-accent);border:1px dashed currentColor}
.sube-finder__results .icon{width:1rem;height:1rem;fill:currentColor}
.sube-finder__ai{margin-top:.75rem;padding:.875rem;border-radius:.375rem;background:var(--sube-surface)}
.sube-finder__ai-label{display:flex;align-items:center;gap:.375rem;font-size:.625rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sube-accent)}
.sube-finder__ai-label .icon{width:.875rem;height:.875rem;fill:currentColor}
.sube-finder__ai p{margin:.375rem 0 0;font-size:.8125rem;line-height:1.5}
.sube-finder__ai mark{background:var(--sube-accent);color:#fff;font-weight:700;padding:0 .25rem;border-radius:3px}
@keyframes sube-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:359px){.sube-calc__stats{grid-template-columns:1fr}}@media(max-width:479px){.sube-finder__results li{gap:.5rem}}
@media(prefers-reduced-motion:reduce){.sube-finder__panel{animation:none}.sube-finder__tab{transition:none}}

/* Fase 4: Formulario SUBE (Contact Form 7) */
.sube-form-widget{--sube-accent:#6d28d9;--sube-ink:#0b0712;--sube-muted:#625d69;--sube-line:#e8e4ef;--sube-danger:#c0262d;width:100%;margin-inline:auto}
.sube-form-widget *,.sube-form-widget *::before,.sube-form-widget *::after{box-sizing:border-box}
.sube-form-widget__card{padding:1.5rem;border:1px solid var(--sube-line);border-radius:.375rem;background:#fff;box-shadow:0 1px 2px rgba(11,7,18,.04),0 18px 40px -24px rgba(11,7,18,.2)}
.sube-form-widget .wpcf7 form>p:empty{display:none}
.sube-form-widget fieldset.sube-step{min-width:0;margin:0;padding:0;border:0}
.sube-form-widget fieldset.sube-step[hidden]{display:none}
.sube-form-widget legend{margin-bottom:1.25rem;padding:0;font-size:1.125rem;font-weight:800;color:var(--sube-ink)}
.sube-form-widget legend:focus{outline:none}
.sube-form__progress{margin:0 0 .5rem;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sube-accent)}
.sube-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}
.sube-form-widget--cols-1 .sube-form__grid{grid-template-columns:1fr}
.sube-form__grid>p{display:contents}
.sube-form__grid label,.sube-form__grid>p>label{display:flex;flex-direction:column;gap:.375rem;min-width:0;font-size:.875rem;font-weight:700;color:var(--sube-ink)}
.sube-form__grid br{display:none}
.sube-form__full{grid-column:1/-1}
.sube-form-widget .wpcf7-form-control-wrap{display:block}
.sube-form-widget input[type=text],.sube-form-widget input[type=email],.sube-form-widget input[type=tel],.sube-form-widget select,.sube-form-widget textarea{width:100%;min-height:2.875rem;padding:.625rem .875rem;border:1px solid #cfc7dd;border-radius:.375rem;background:#fff;font:inherit;font-size:1rem;font-weight:400;color:var(--sube-ink);transition:border-color .2s,box-shadow .2s}
.sube-form-widget textarea{min-height:7rem;resize:vertical}
.sube-form-widget input:focus,.sube-form-widget select:focus,.sube-form-widget textarea:focus{outline:none;border-color:var(--sube-accent);box-shadow:0 0 0 3px rgba(109,40,217,.18)}
.sube-form-widget [aria-invalid=true]{border-color:var(--sube-danger)!important}
.sube-form-widget .wpcf7-not-valid-tip,.sube-step-error{display:block;margin-top:.25rem;font-size:.8125rem;font-weight:600;color:var(--sube-danger)}
.sube-form__consent{margin-top:1.25rem;font-size:.875rem;line-height:1.5;color:var(--sube-muted)}
.sube-form__consent input{width:1.125rem;height:1.125rem;margin:0 .5rem 0 0;vertical-align:-3px;accent-color:var(--sube-accent)}
.sube-form__nav{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.5rem}
.sube-form__nav .btn,.sube-form-widget .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;min-height:2.875rem;padding:.75rem 1.5rem;border:1px solid var(--sube-accent);border-radius:.375rem;background:var(--sube-accent);color:#fff;font:inherit;font-size:.875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.sube-form__nav .btn--outline{background:transparent;color:var(--sube-accent)}
.sube-form__nav .btn:focus-visible,.sube-form-widget .wpcf7-submit:focus-visible{outline:2px solid var(--sube-accent);outline-offset:3px}
.sube-form-widget .wpcf7-spinner{margin:0}
.sube-form-widget .wpcf7-response-output{margin:1.25rem 0 0!important;padding:.875rem 1rem!important;border-radius:.375rem;font-size:.9375rem}
.sube-form-widget .wpcf7 form.sent .wpcf7-response-output{border-color:#1f8a4c!important;background:#effaf3}
.sube-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(min-width:768px){.sube-form-widget__card{padding:2.25rem}}
@media(max-width:599px){.sube-form__grid{grid-template-columns:1fr}.sube-form__nav{flex-direction:column-reverse;align-items:stretch}.sube-form__nav .btn,.sube-form-widget .wpcf7-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.sube-form-widget input,.sube-form-widget select,.sube-form-widget textarea{transition:none}}

/* Fase 5: Home SUBE en Elementor (complementa home-reference.css del tema) */
.hero__visual .sube-finder--hero{z-index:2}
@media(min-width:1024px){.hero__visual .sube-finder--hero{position:absolute;left:0;bottom:2.5rem;width:21rem;margin-top:0}}
.marquee--static .marquee__track{animation:none}
.marquee--pause-hover:hover .marquee__track{animation-play-state:paused}
.marquee--reverse .marquee__track{animation-direction:reverse}
.sube-lead .sube-lead__body{max-width:none;padding:1.5rem}
.sube-lead .sube-form-widget__card{border:0;box-shadow:none;padding:0}
.sube-lead .lead__privacy{margin-top:.75rem;font-size:.75rem;color:var(--sube-muted);text-align:center}
.sube-lead .sube-form__nav,.sube-lead .wpcf7-submit{width:100%}
.diag__card .sube-form-widget--embedded{max-width:none}
.elementor-widget-container>.hero,.elementor-widget-container>.section-pad{margin:0}
.sube-calc-section .sube-calc{margin-top:3rem}
.e-con>.elementor-widget[class*="elementor-widget-sube-"]{width:100%;max-width:100%}
