:root{
  --green:#168a2e;--green-2:#22a63c;--green-soft:#e9f7ed;--black:#101416;--charcoal:#1f2528;--muted:#67727d;--line:#e5e9ed;--bg:#ffffff;--soft:#f6f8f7;--shadow:0 18px 60px rgba(16,20,22,.12);--radius:24px;--container:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--black);background:#fff;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:0;background:var(--black);color:#fff;padding:10px;z-index:99}.skip-link:focus{left:10px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,233,237,.7)}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:16px}.brand-logo{width:178px;height:auto}.main-nav{display:flex;align-items:center;gap:24px;font-size:15px;font-weight:700}.main-nav a{color:#222c31}.main-nav a:hover{color:var(--green)}.nav-toggle{display:none;background:none;border:0;width:40px;height:40px;gap:5px;flex-direction:column;align-items:center;justify-content:center}.nav-toggle span{width:22px;height:2px;background:var(--black);display:block}.btn{border:0;border-radius:999px;padding:14px 22px;font:700 15px/1 Manrope,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:.2s ease;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;box-shadow:0 8px 24px rgba(22,138,46,.22)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(22,138,46,.28)}.btn-ghost{background:#fff;color:var(--black);border:1px solid var(--line)}.btn-ghost:hover{border-color:var(--green);color:var(--green)}.btn-sm{padding:10px 16px;font-size:14px}.btn-lg{padding:17px 28px}.hero{position:relative;overflow:hidden}.hero-slider{height:calc(100vh - 90px);min-height:620px;max-height:760px;position:relative;background:#eef3ee}.slide{position:absolute;inset:0;border:0;padding:0;background:#fff;opacity:0;transition:opacity .8s ease}.slide.is-active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.66) 38%,rgba(255,255,255,.04) 70%);pointer-events:none}.hero-content{height:100%;display:flex;align-items:center}.hero-copy{max-width:610px;pointer-events:auto}.eyebrow{margin:0 0 14px;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero h1{font-size:clamp(42px,5vw,76px);line-height:.98;margin:0 0 22px;letter-spacing:-.055em}.hero p{font-size:20px;color:#263036;margin:0 0 28px;max-width:600px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.slider-dots{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;gap:10px}.slider-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(16,20,22,.24);padding:0;cursor:pointer}.slider-dots button.is-active{background:var(--green);width:28px;border-radius:999px}.trust-strip{background:#111719;color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#2b3336}.trust-grid div{padding:26px;background:#111719}.trust-grid strong{display:block;font-size:20px}.trust-grid span{display:block;color:#b8c1c4;font-size:14px}.section{padding:96px 0}.section-head{max-width:820px;margin:0 auto 46px;text-align:center}.section-head.narrow{max-width:720px}.section h2{font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-.04em;margin:0 0 18px}.section-head p,.split-copy p,.service-card p,.use-grid p,.steps p{color:var(--muted);margin:0}.cards.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 40px rgba(16,20,22,.06)}.service-card img{width:100%;height:240px;object-fit:cover}.service-card div{padding:26px}.tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:800;margin-bottom:12px}.service-card h3,.use-grid h3,.steps h3{font-size:23px;line-height:1.15;margin:0 0 12px}.service-card ul{padding-left:20px;margin:18px 0 0;color:#3b454b}.service-card li+li{margin-top:8px}.section-dark{background:#101416;color:#fff}.section-dark .split-copy p,.section-dark .check-list span{color:#c6d0d4}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.split.reverse .split-media{order:2}.split-media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:520px;object-fit:cover}.split-copy h2{font-size:clamp(32px,4vw,50px);line-height:1.08;letter-spacing:-.04em;margin:0 0 18px}.check-list{display:grid;gap:12px;margin:26px 0}.check-list span{display:flex;gap:10px}.check-list span:before{content:'✓';flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:13px;font-weight:800}.soft-bg{background:var(--soft)}.use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.use-grid article{background:#fff;border-radius:var(--radius);padding:18px;border:1px solid var(--line)}.use-grid img{border-radius:18px;height:240px;width:100%;object-fit:cover;margin-bottom:18px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps article{padding:28px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:0 10px 34px rgba(16,20,22,.05)}.steps span{display:inline-flex;width:42px;height:42px;border-radius:50%;background:var(--green-soft);color:var(--green);align-items:center;justify-content:center;font-weight:800;margin-bottom:18px}.about-section{background:#fff}.cta-section{padding:40px 0 96px}.cta-card{background:linear-gradient(135deg,#101416,#233026);color:#fff;border-radius:32px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow)}.cta-card h2{font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.04em;margin:0 0 14px}.cta-card p{color:#d3ded8;margin:0;max-width:720px}.site-footer{background:#0d1113;color:#c2cacc;padding:58px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:42px}.footer-logo{width:220px;margin-bottom:18px;filter:brightness(1.1)}.site-footer h3{color:#fff;margin:0 0 14px}.site-footer nav{display:grid;gap:8px}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #283033;margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#8e999d}.link-button{background:none;border:0;color:#c2cacc;cursor:pointer;text-decoration:underline;font:inherit}.modal{position:fixed;inset:0;z-index:100;display:none}.modal.is-open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(3,7,9,.62);backdrop-filter:blur(6px)}.modal-panel{position:relative;width:min(780px,calc(100% - 28px));max-height:calc(100vh - 36px);overflow:auto;margin:18px auto;background:#fff;border-radius:28px;padding:28px;box-shadow:var(--shadow)}.modal-panel.compact{width:min(520px,calc(100% - 28px));margin-top:90px}.modal-close{position:absolute;right:18px;top:14px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:26px;cursor:pointer}.modal-header{display:flex;gap:16px;align-items:center;padding-right:42px;margin-bottom:18px}.modal-header h2{font-size:30px;line-height:1.12;margin:0}.modal-icon{width:46px;height:46px;border-radius:14px;background:var(--green-soft);display:grid;place-items:center;color:var(--green);font-weight:800;font-size:24px}.progress{height:8px;border-radius:999px;background:#edf0f2;overflow:hidden;margin-bottom:26px}.progress span{display:block;height:100%;width:10%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--green-2));transition:.25s ease}.wizard-step{display:none;animation:fade .25s ease}.wizard-step.is-active{display:block}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.wizard-step h3{font-size:25px;margin:0 0 12px}.wizard-step p{color:var(--muted)}.wizard-form label{display:grid;gap:8px;font-size:14px;font-weight:800;color:#243037;margin:16px 0}.wizard-form input,.wizard-form select,.wizard-form textarea{width:100%;border:1px solid #d7dee3;border-radius:14px;padding:13px 14px;font:500 15px Manrope,sans-serif;color:var(--black);background:#fff}.wizard-form textarea{resize:vertical}.checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;font-weight:600!important}.checkbox input{width:auto;margin-top:4px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.chips label{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;border:1px solid var(--line);border-radius:999px;padding:10px 12px;font-size:14px;font-weight:700;cursor:pointer}.chips input{width:auto}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}.summary-box{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:16px;color:#344047;white-space:pre-wrap;font-size:14px}.small{font-size:13px;color:var(--muted)}.success-panel h3{font-size:26px;margin:0 0 8px}.cookies{position:fixed;left:18px;right:18px;bottom:18px;z-index:90;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:18px}.cookies[hidden]{display:none}.cookies p{margin:4px 0 0;color:var(--muted);font-size:14px}.cookies-actions{display:flex;gap:10px;flex-wrap:wrap}.legal-main{padding:110px 0 80px}.legal-main article{max-width:860px}.legal-main h1{font-size:clamp(36px,5vw,58px);line-height:1;margin:0 0 18px}.legal-main h2{margin-top:36px}.legal-main p,.legal-main li{color:#4f5b62}.legal-note{padding:14px 18px;background:var(--green-soft);border:1px solid #cfead6;border-radius:16px;color:#244d2b!important}@media (max-width:980px){.main-nav{display:none;position:absolute;top:90px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:flex-start}.main-nav.is-open{display:flex}.nav-toggle{display:flex}.hero-slider{min-height:680px}.hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.7) 52%,rgba(255,255,255,.2) 100%)}.hero-content{align-items:flex-start;padding-top:72px}.trust-grid,.cards.three,.use-grid,.steps,.split,.footer-grid{grid-template-columns:1fr}.split.reverse .split-media{order:0}.split-media img{height:380px}.cta-card{align-items:flex-start;flex-direction:column}.cookies{align-items:flex-start;flex-direction:column}}@media (max-width:620px){.container{width:min(100% - 28px,var(--container))}.header-inner{height:78px;padding-inline:10px}.brand-logo{width:148px}.main-nav{top:78px}.hero-slider{height:auto;min-height:720px}.slide img{height:720px}.hero p{font-size:17px}.hero-actions .btn{width:100%}.section{padding:68px 0}.trust-grid div{padding:18px}.service-card img,.use-grid img{height:210px}.modal-panel{padding:22px}.modal-header h2{font-size:24px}.wizard-actions .btn{width:100%}.footer-bottom{flex-direction:column}.cta-card{padding:28px}.footer-logo{display:none}}

/* === Mejoras visuales v2 === */
.site-header{transition:box-shadow .25s ease,background .25s ease}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(16,20,22,.08);background:rgba(255,255,255,.94)}
.main-nav a{position:relative;transition:color .25s ease}
.main-nav a::after{content:'';position:absolute;left:0;bottom:-8px;width:100%;height:2px;background:var(--green);border-radius:999px;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}
.btn{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease}
.btn:active{transform:translateY(0) scale(.98)}
.btn-primary:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 18px 34px rgba(22,138,46,.30)}
.btn-ghost:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(16,20,22,.08);background:#fff}
.hero-slider{min-height:620px;max-height:724px}
.slide{overflow:hidden}
.slide img{transition:transform 7s ease,filter .45s ease;filter:saturate(.98)}
.slide.is-active img{transform:scale(1.035);filter:saturate(1)}
.hero-overlay{background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.74) 36%,rgba(255,255,255,.16) 70%)}
.service-card,.use-grid article,.steps article,.cta-card,.split-media img,.trust-grid div{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background-color .35s ease}
.service-card:hover,.use-grid article:hover,.steps article:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(16,20,22,.10);border-color:#d5e7da}
.split-media img:hover{transform:translateY(-6px);box-shadow:0 24px 55px rgba(16,20,22,.16)}
.trust-grid div:hover{transform:translateY(-4px);background:#162024}
.cta-card:hover{transform:translateY(-4px);box-shadow:0 22px 54px rgba(16,20,22,.18)}
.footer-logo{width:240px;max-width:100%;filter:none}
.link-button:hover{color:#fff}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--reveal-delay,0s)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal,.slide img,.btn,.service-card,.use-grid article,.steps article,.cta-card,.split-media img,.trust-grid div{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}


/* === Ajustes finales corporativos === */
:root{
  --green:#12963a;
  --green-2:#20b24b;
  --black:#0f1417;
  --charcoal:#182024;
  --muted:#5f6d76;
  --soft:#f7f9f8;
  --shadow:0 20px 55px rgba(15,20,23,.10);
}

body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.section{
  padding:104px 0;
}

.section-head{
  max-width:900px;
}

.section-head h2{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

.section-head p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
  font-size:17px;
}

.service-card{
  border-radius:28px;
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
}

.service-card div{
  padding:30px;
}

.service-card h3{
  letter-spacing:-.025em;
}

.split{
  gap:68px;
}

.split-copy p{
  font-size:17px;
  line-height:1.75;
}

.split-copy p + p{
  margin-top:14px;
}

.split-copy .btn{
  margin-top:18px;
}

.about-section .split-copy .btn{
  margin-top:28px;
}

.split-media img{
  border-radius:28px;
}

.cta-card{
  padding:52px;
}

.site-footer{
  padding-top:64px;
}

.footer-grid p{
  max-width:420px;
}

.modal-panel{
  border:1px solid rgba(255,255,255,.7);
}

.wizard-form input:focus,
.wizard-form select:focus,
.wizard-form textarea:focus{
  outline:none;
  border-color:var(--green);
  box-shadow:0 0 0 4px rgba(18,150,58,.12);
}

.btn-primary{
  background:linear-gradient(135deg,#12963a,#1fad49);
}

.btn-primary:hover{
  background:linear-gradient(135deg,#0f8633,#21b84e);
}

.btn-ghost:hover{
  background:#f8fbf9;
}

.tag{
  letter-spacing:.02em;
}

@media (min-width:981px){
  .about-section .split-copy{
    padding-right:18px;
  }
}

@media (max-width:620px){
  .section{
    padding:72px 0;
  }

  .section-head p,
  .split-copy p{
    font-size:16px;
  }

  .cta-card{
    padding:32px 26px;
  }
}


/* === Versión final: popup diagnóstico más visual y centrado === */

/* Más aire en Sobre ImpulsA */
.about-section .split-copy p + p{
  margin-top:18px;
}

.about-section .split-copy .btn{
  margin-top:44px;
}

/* Popup centrado */
.modal.is-open{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}

.modal-backdrop{
  background:
    radial-gradient(circle at 20% 20%, rgba(32,178,75,.18), transparent 34%),
    radial-gradient(circle at 80% 70%, rgba(18,150,58,.14), transparent 32%),
    rgba(3,7,9,.68);
}

.modal-panel{
  z-index:1;
  margin:0;
  width:min(920px, calc(100vw - 34px));
  max-height:min(860px, calc(100vh - 54px));
  border-radius:34px;
  padding:0;
  overflow:auto;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 34px 100px rgba(0,0,0,.34);
  background:
    linear-gradient(180deg,#ffffff 0%,#ffffff 56%,#f8faf9 100%);
}

.modal-close{
  z-index:3;
  right:22px;
  top:22px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 24px rgba(16,20,22,.12);
}

.modal-header{
  position:relative;
  margin:0;
  padding:34px 82px 30px 36px;
  background:
    linear-gradient(135deg,rgba(18,150,58,.13),rgba(255,255,255,0) 56%),
    linear-gradient(135deg,#101416,#223329);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.modal-header::after{
  content:'';
  position:absolute;
  right:58px;
  bottom:-34px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(32,178,75,.11);
  filter:blur(2px);
  pointer-events:none;
}

.modal-header .eyebrow{
  color:#8df0a7;
  margin-bottom:8px;
}

.modal-header h2{
  color:#fff;
  font-size:clamp(26px,3.2vw,38px);
  letter-spacing:-.04em;
}

.modal-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(141,240,167,.35);
  color:#8df0a7;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

.progress{
  width:calc(100% - 72px);
  margin:26px 36px 0;
  height:10px;
  background:#e8edea;
}

.wizard-form{
  padding:30px 36px 36px;
}

.wizard-step{
  min-height:300px;
  animation:stepIn .28s ease;
}

@keyframes stepIn{
  from{opacity:0;transform:translateY(10px) scale(.992)}
  to{opacity:1;transform:none}
}

.wizard-step h3{
  font-size:clamp(26px,3vw,34px);
  letter-spacing:-.035em;
  margin-bottom:10px;
}

.wizard-step p{
  font-size:16px;
  line-height:1.75;
  max-width:760px;
}

.wizard-form label{
  margin:18px 0;
}

.wizard-form input,
.wizard-form select,
.wizard-form textarea{
  border-radius:16px;
  min-height:50px;
  background:#fff;
  border-color:#dce4df;
}

.wizard-form textarea{
  min-height:130px;
}

.chips{
  margin-top:22px;
  gap:12px;
}

.chips label{
  padding:12px 15px;
  background:#fff;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
}

.chips label:hover{
  transform:translateY(-2px);
  border-color:rgba(18,150,58,.38);
  box-shadow:0 12px 28px rgba(16,20,22,.08);
}

.chips input:checked + span,
.chips label:has(input:checked){
  border-color:rgba(18,150,58,.55);
  background:var(--green-soft);
}

.wizard-actions{
  position:sticky;
  bottom:0;
  background:linear-gradient(180deg,rgba(255,255,255,.75),#fff 42%);
  border-top:1px solid #edf1ee;
  padding:22px 36px 28px;
  margin:0 -36px -36px;
}

.summary-box{
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(18,150,58,.08),rgba(255,255,255,.75)),
    #f7faf8;
  border-color:#d7eadc;
  padding:22px;
}

/* Pequeño indicador visual por pasos */
.wizard-step::before{
  content:'';
  display:block;
  width:54px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),var(--green-2));
  margin-bottom:20px;
}

.success-panel{
  padding:34px 36px 40px;
}

.success-panel h3{
  font-size:clamp(28px,3vw,36px);
  letter-spacing:-.035em;
}

@media (min-width:760px){
  .wizard-step[data-step="1"],
  .wizard-step[data-step="2"],
  .wizard-step[data-step="3"]{
    display:none;
  }

  .wizard-step[data-step="1"].is-active,
  .wizard-step[data-step="2"].is-active,
  .wizard-step[data-step="3"].is-active{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 22px;
    align-items:start;
  }

  .wizard-step[data-step="1"].is-active h3,
  .wizard-step[data-step="1"].is-active p,
  .wizard-step[data-step="2"].is-active h3,
  .wizard-step[data-step="2"].is-active p,
  .wizard-step[data-step="3"].is-active h3,
  .wizard-step[data-step="3"].is-active p{
    grid-column:1 / -1;
  }

  .wizard-step[data-step="2"].is-active .chips{
    grid-column:1 / -1;
  }
}

@media (max-width:620px){
  .modal.is-open{
    padding:12px;
    align-items:flex-end;
  }

  .modal-panel{
    width:100%;
    max-height:calc(100vh - 24px);
    border-radius:28px 28px 0 0;
  }

  .modal-header{
    padding:28px 64px 24px 24px;
  }

  .progress{
    width:calc(100% - 48px);
    margin:22px 24px 0;
  }

  .wizard-form{
    padding:26px 24px 32px;
  }

  .wizard-actions{
    padding:20px 24px 24px;
    margin:0 -24px -32px;
  }

  .about-section .split-copy .btn{
    margin-top:34px;
  }
}





/* === Fix final: checkbox del consentimiento alineado === */
.wizard-form label.checkbox,
.checkbox{
  display:grid !important;
  grid-template-columns:18px 1fr !important;
  align-items:start !important;
  column-gap:12px !important;
  row-gap:0 !important;
  width:100%;
  margin:22px 0 8px !important;
  padding:0;
  line-height:1.55;
}

.wizard-form label.checkbox input,
.checkbox input{
  width:16px !important;
  height:16px !important;
  min-height:16px !important;
  margin:4px 0 0 0 !important;
  padding:0 !important;
  flex:0 0 16px;
  accent-color:var(--green);
}

.wizard-form label.checkbox span,
.checkbox span{
  display:block;
}

@media (max-width:620px){
  .wizard-form label.checkbox,
  .checkbox{
    grid-template-columns:18px 1fr !important;
    column-gap:10px !important;
    font-size:14px;
  }
}

.form-section{margin:22px 0;padding:20px;border:1px solid rgba(20,30,24,.12);border-radius:22px;background:rgba(255,255,255,.72)}
.form-section h3{margin:0 0 14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.checkbox-grid label{display:flex;gap:8px;align-items:flex-start;font-weight:700}
@media (max-width:760px){.form-grid,.checkbox-grid{grid-template-columns:1fr}}


/* Fase 9.4.1: diagnóstico inteligente integrado en modal */
.smart-diagnostic-card{
  width:100%;
  box-sizing:border-box;
  margin:18px 0;
  padding:20px;
  border:1px solid rgba(17,34,25,.12);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 44px rgba(13,31,22,.06);
  color:#132018;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

.smart-diagnostic-card[hidden]{
  display:none !important;
}

.smart-diagnostic-card *{
  box-sizing:border-box;
}

.smart-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}

.smart-card-head span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  background:#eef8f0;
  color:#15973d;
  font-size:12px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.smart-card-head strong{
  color:#102018;
  font-size:18px;
  line-height:1.25;
  text-align:right;
}

.smart-diagnostic-card label{
  display:grid;
  gap:8px;
  margin:12px 0;
  color:#233028;
  font-weight:800;
}

.smart-diagnostic-card input,
.smart-diagnostic-card select,
.smart-diagnostic-card textarea{
  width:100%;
  min-height:48px;
  border:1px solid rgba(19,35,27,.16);
  border-radius:16px;
  background:#fff;
  color:#132018;
  padding:12px 14px;
  font:inherit;
  font-weight:500;
  outline:none;
}

.smart-diagnostic-card textarea{
  min-height:96px;
  resize:vertical;
}

.smart-diagnostic-card input:focus,
.smart-diagnostic-card select:focus,
.smart-diagnostic-card textarea:focus{
  border-color:#19a64a;
  box-shadow:0 0 0 4px rgba(25,166,74,.12);
}

.smart-two-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.smart-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
  margin-top:12px;
}

.smart-checks label{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:9px;
  margin:0;
  padding:10px 12px;
  border:1px solid rgba(19,35,27,.12);
  border-radius:14px;
  background:#fbfdfb;
  font-weight:750;
}

.smart-checks input[type="checkbox"]{
  width:18px;
  min-width:18px;
  height:18px;
  min-height:18px;
  padding:0;
  margin-top:1px;
  accent-color:#19a64a;
}

/* Evita que botones del wizard se superpongan al diagnóstico */
.diagnostic-modal button,
.modal button,
form button{
  position:relative;
  z-index:1;
}

.smart-diagnostic-card + button,
.smart-diagnostic-card ~ button{
  margin-top:18px;
}

/* Por si el botón Siguiente tiene estilos absolutos/pill exagerados */
button[type="submit"],
button.next,
.next-step,
.form-next{
  max-width:100%;
}

@media (max-width:780px){
  .smart-two-cols,
  .smart-checks{
    grid-template-columns:1fr;
  }
  .smart-card-head{
    display:grid;
  }
  .smart-card-head strong{
    text-align:left;
  }
}

/* Fase 9.4.2: el diagnóstico inteligente vive en un paso propio */
.wizard-step .smart-diagnostic-card{margin-top:18px}.wizard-step:not(.is-active){display:none !important}.wizard-step.is-active{display:block !important}


/* Fase 9.4.14: cierre del formulario más visible y accesible */
#diagnosisModal .modal-panel{
  position:relative;
}
#diagnosisModal .modal-close{
  position:sticky;
  top:16px;
  float:right;
  z-index:20;
  width:52px;
  height:52px;
  margin:16px 16px -68px auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.78);
  background:#ffffff;
  color:#101416;
  font-size:34px;
  line-height:1;
  font-weight:500;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  cursor:pointer;
}
#diagnosisModal .modal-close:hover,
#diagnosisModal .modal-close:focus-visible{
  color:#14963a;
  border-color:#14963a;
  outline:3px solid rgba(20,150,58,.22);
  outline-offset:3px;
  transform:scale(1.03);
}
#diagnosisModal .modal-header{
  padding-right:104px;
}
#diagnosisModal [data-success-lead-id]{
  display:none !important;
}
@media (max-width:620px){
  #diagnosisModal .modal-close{
    top:10px;
    right:10px;
    width:48px;
    height:48px;
    margin:10px 10px -58px auto;
    font-size:32px;
  }
  #diagnosisModal .modal-header{
    padding-right:82px;
  }
}


/* Fase 9.5.1 - formulario guiado por opciones */
.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-grid.two label{margin:0}.diagnosis-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.diagnosis-choice-grid label{display:flex!important;align-items:center;gap:10px;margin:0!important;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#fff;font-weight:800;cursor:pointer;transition:.18s ease}.diagnosis-choice-grid input{width:auto!important;accent-color:var(--green)}.diagnosis-choice-grid label:hover{border-color:rgba(22,138,46,.45);background:var(--green-soft)}.smart-card-head strong{font-size:16px}.wizard-form select{cursor:pointer}.wizard-form option{font-weight:500}.modal-panel{width:min(920px,calc(100% - 32px))}.summary-box{line-height:1.55}@media(max-width:720px){.form-grid.two,.diagnosis-choice-grid{grid-template-columns:1fr}.modal-panel{width:calc(100% - 22px);padding:22px}.modal-header h2{font-size:25px}}

/* Fase 9.5.7: checkbox visual compacto en "¿Qué te gustaría mejorar?" */
#diagnosisModal .option-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:18px !important;
}

#diagnosisModal .option-grid .option-card{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  min-height:62px !important;
  margin:0 !important;
  padding:16px 18px !important;
  border:1px solid #dfe8e2 !important;
  border-radius:16px !important;
  background:#fff !important;
  cursor:pointer !important;
  font-weight:800 !important;
  color:#263238 !important;
  line-height:1.25 !important;
}

#diagnosisModal .option-grid .option-card input[type="checkbox"]{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  min-width:1px !important;
  min-height:1px !important;
  max-width:1px !important;
  max-height:1px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

#diagnosisModal .option-grid .option-card span{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
}

#diagnosisModal .option-grid .option-card span::before{
  content:"";
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  border:1.5px solid #b8c4bd !important;
  border-radius:5px !important;
  background:#fff !important;
  box-shadow:none !important;
  display:inline-block !important;
}

#diagnosisModal .option-grid .option-card input[type="checkbox"]:checked + span::before{
  content:"✓";
  display:inline-grid !important;
  place-items:center !important;
  background:#16a34a !important;
  border-color:#16a34a !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:18px !important;
}

#diagnosisModal .option-grid .option-card:has(input[type="checkbox"]:checked){
  border-color:rgba(22,163,74,.55) !important;
  background:rgba(22,163,74,.06) !important;
}

#diagnosisModal .option-grid .option-card:focus-within{
  outline:3px solid rgba(22,163,74,.18) !important;
  outline-offset:2px !important;
}

@media (max-width:720px){
  #diagnosisModal .option-grid{
    grid-template-columns:1fr !important;
  }
}
/* Fin Fase 9.5.7 */

    .footer-social{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
    .footer-social a{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;font-weight:800;font-size:14px;transition:.2s ease}
    .footer-social a:hover{background:#0B7BFF;border-color:#0B7BFF;transform:translateY(-2px)}
    .small-modal .modal-panel.compact{width:min(560px,calc(100vw - 32px));margin:8vh auto;padding:34px;border-radius:28px;overflow:visible}
    .small-modal .modal-panel.compact h2{font-size:30px;line-height:1.1;margin:0 0 18px;padding-right:44px}
    .small-modal .modal-panel.compact p{margin:0 0 18px;color:#52616a}
    .small-modal .checkbox{display:flex!important;align-items:center!important;gap:12px!important;margin:16px 0!important;color:#222;font-weight:800!important}
    .small-modal .checkbox input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;accent-color:#16a34a}
    .small-modal .modal-close{right:18px;top:18px;z-index:3}


/* Fase 9.7.4: override real cookies + footer social
   Fin Fase 9.7.4 */
#cookiesModal.small-modal .modal-panel.compact{
  position:relative !important;
  width:min(560px, calc(100vw - 32px)) !important;
  margin:8vh auto !important;
  padding:76px 36px 36px !important;
  border-radius:28px !important;
  overflow:visible !important;
}
#cookiesModal.small-modal .modal-panel.compact h2,
#cookiesModal #cookiesTitle{
  margin:0 0 18px !important;
  padding:0 !important;
  font-size:30px !important;
  line-height:1.1 !important;
}
#cookiesModal.small-modal .modal-close,
#cookiesModal [data-close-cookies],
#cookiesModal [data-cookie-close]{
  position:absolute !important;
  top:22px !important;
  right:22px !important;
  left:auto !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  max-width:38px !important;
  max-height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  border:1px solid #e3e8ef !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#111827 !important;
  font-size:24px !important;
  font-weight:800 !important;
  line-height:1 !important;
  box-shadow:0 8px 22px rgba(15,23,42,.12) !important;
  transform:none !important;
  z-index:50 !important;
}
#cookiesModal.small-modal .modal-close:hover{
  transform:translateY(-1px) !important;
}
.site-footer .footer-social,
.site-footer .social-links,
.site-footer .footer-social.social-links{
  display:flex !important;
  gap:10px !important;
  margin-top:16px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}
.site-footer .footer-social a,
.site-footer .social-links a,
.site-footer .footer-social.social-links a{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  max-width:32px !important;
  max-height:32px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.07) !important;
  color:#ffffff !important;
  opacity:1 !important;
  font-size:0 !important;
  line-height:1 !important;
}
.site-footer .footer-social a:hover,
.site-footer .social-links a:hover{
  background:rgba(22,163,74,.9) !important;
  border-color:rgba(22,163,74,.95) !important;
  color:#ffffff !important;
}
.site-footer .footer-social svg,
.site-footer .social-links svg,
.site-footer .footer-social.social-links svg{
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  max-width:15px !important;
  max-height:15px !important;
  display:block !important;
  color:#ffffff !important;
  fill:#ffffff !important;
}
.site-footer .footer-social svg *,
.site-footer .social-links svg *,
.site-footer .footer-social.social-links svg *{
  fill:#ffffff !important;
  stroke:none !important;
}
@media (max-width:640px){
  #cookiesModal.small-modal .modal-panel.compact{
    padding:72px 26px 30px !important;
  }
  #cookiesModal.small-modal .modal-close{
    top:18px !important;
    right:18px !important;
  }
}



/* Fase 9.9.3: identidad azul revisada y contraste */
:root{
  --green:#0B7BFF!important;
  --green-2:#22D3EE!important;
  --green-soft:#EAF5FF!important;
  --black:#061027!important;
  --muted:#334155!important;
  --line:#DBEAFE!important;
  --soft:#EAF5FF!important;
}
.site-header{background:rgba(6,16,39,.92)!important;border-bottom:1px solid rgba(56,189,248,.18)!important;box-shadow:0 14px 36px rgba(2,6,23,.18)!important;}
.brand-logo{width:230px!important;max-height:66px!important;object-fit:contain!important;}
.footer-logo{width:245px!important;max-height:74px!important;object-fit:contain!important;}
.main-nav a{color:#EAF5FF!important}.main-nav a:hover{color:#38BDF8!important}.nav-toggle span{background:#fff!important}
.btn-primary{background:linear-gradient(135deg,#0B7BFF,#22D3EE)!important;color:#fff!important;box-shadow:0 14px 34px rgba(11,123,255,.28)!important;}
.btn-primary:hover{box-shadow:0 18px 42px rgba(11,123,255,.38)!important;}
.btn-ghost:hover{border-color:#0B7BFF!important;color:#0B7BFF!important;}
.eyebrow,.tag{color:#0B7BFF!important;}
.soft-bg{background:#EAF5FF!important;}
.section.soft-bg p,.soft-bg p,.split-copy p,.section-head p{color:#334155!important;}
.check-list span{color:#1E293B!important;opacity:1!important;}
.check-list span:before{background:linear-gradient(135deg,#0B7BFF,#22D3EE)!important;color:#fff!important;}
.section-dark .check-list span{color:#D8E8FF!important;}
.section-dark{background:#061027!important;}
.cta-card{background:linear-gradient(135deg,#061027,#0B2B62)!important;}
.site-footer{background:#061027!important;color:#D8E8FF!important;}
.site-footer a:hover{color:#38BDF8!important;}
.footer-socials a,.social-links a{color:#fff!important;border-color:rgba(56,189,248,.38)!important;background:rgba(11,123,255,.10)!important;}
.footer-socials a:hover,.social-links a:hover{color:#fff!important;background:rgba(11,123,255,.28)!important;border-color:#38BDF8!important;box-shadow:0 0 0 3px rgba(56,189,248,.16)!important;}
.footer-socials svg,.social-links svg{fill:#fff!important;color:#fff!important;}
.cookies{border-color:#BFDBFE!important}.cookies .btn-primary{background:linear-gradient(135deg,#0B7BFF,#22D3EE)!important}.cookies .btn-ghost:hover{color:#0B7BFF!important;border-color:#0B7BFF!important;}
#cookiesModal .modal-panel,#cookiesModal .modal-panel.compact{padding:70px 36px 34px!important;}
#cookiesModal .modal-close{top:20px!important;right:20px!important;left:auto!important;}


/* v9.9.5 logo público, botón hero y limpieza slider */
.brand-logo,
.footer-logo{
  width:230px !important;
  max-height:70px !important;
  object-fit:contain !important;
  filter:none !important;
}

.site-footer .footer-logo{background:transparent !important;border-radius:0 !important;padding:0 !important;width:255px !important;}

.hero-actions .btn-ghost,
.hero .btn-ghost{
  color:#061027 !important;
  background:#ffffff !important;
  border-color:rgba(255,255,255,.95) !important;
  min-width:180px;
}

.hero-actions .btn-ghost:empty::before,
.hero .btn-ghost:empty::before{
  content:"Ver servicios";
  color:#061027;
}

.hero-actions .btn-ghost:hover,
.hero .btn-ghost:hover{
  color:#0B7BFF !important;
  border-color:#0B7BFF !important;
  background:#F8FBFF !important;
}


/* v9.9.6 public transparent light logo */
.site-header .brand-logo,
.site-footer .footer-logo{filter:none !important; background:transparent !important; box-shadow:none !important;}
.site-header .brand-logo{width:230px !important; max-height:68px !important; object-fit:contain !important;}
.site-footer .footer-logo{width:255px !important; max-height:78px !important; object-fit:contain !important; padding:0 !important; border-radius:0 !important;}
.site-footer .footer-logo{background:transparent !important;}
.site-footer .brand, .site-footer .footer-brand{background:transparent !important;}
.site-footer .footer-logo-wrap{background:transparent !important;}
.site-footer img.footer-logo{background:transparent !important;}
.site-footer .footer-logo-box{background:transparent !important; border:0 !important;}


/* v9.9.7: ajuste separación titular hero */
.hero h1{
  line-height:1.08 !important;
  margin-bottom:34px !important;
  padding-bottom:2px !important;
}
.hero p{
  margin-top:0 !important;
}
.hero-copy{
  max-width:680px !important;
}
@media (max-width:720px){
  .hero h1{
    line-height:1.12 !important;
    margin-bottom:28px !important;
  }
}


/* v9.9.8: evita recorte del descendente en "negocio" del hero */
.hero h1{margin-bottom:42px !important;}
.hero h1::before{line-height:1.02 !important; margin-bottom:0.02em !important;}
.hero h1::after{line-height:1.06 !important; padding-bottom:0.10em !important; margin-top:0.02em !important;}
.hero p{margin-top:6px !important;}
@media (max-width: 720px){
  .hero h1{margin-bottom:34px !important;}
  .hero h1::before{line-height:1.04 !important;}
  .hero h1::after{line-height:1.08 !important; padding-bottom:0.12em !important;}
}


/* Fase 10.1.1: formulario azul y diagnóstico de día a día */
.option-grid .option-card,
.daily-option-grid .option-card,
.diagnosis-choice-grid label{
  border-color:#D7E8FA !important;
  background:#ffffff !important;
}

.option-grid .option-card:hover,
.daily-option-grid .option-card:hover,
.diagnosis-choice-grid label:hover{
  border-color:#8CCBFF !important;
  background:#F0F8FF !important;
}

.option-grid .option-card:has(input:checked),
.daily-option-grid .option-card:has(input:checked),
.diagnosis-choice-grid label:has(input:checked){
  border-color:#0B7BFF !important;
  background:#EAF5FF !important;
  box-shadow:0 0 0 4px rgba(11,123,255,.12) !important;
}

.option-grid .option-card input[type="checkbox"],
.daily-option-grid .option-card input[type="checkbox"],
.diagnosis-choice-grid input[type="checkbox"],
.wizard-form input[type="checkbox"]{
  accent-color:#0B7BFF !important;
}

.daily-diagnostic-card{
  border-color:#D7E8FA !important;
  background:linear-gradient(180deg,#ffffff,#F8FBFF) !important;
}

.field-label{
  margin:20px 0 8px;
  font-weight:900;
  color:#061027 !important;
}

.smart-card-head span{
  background:#EAF5FF !important;
  color:#0B7BFF !important;
}

.smart-card-head strong{
  color:#061027 !important;
}


/* Fase 11.3.1: coletilla del hero más discreta */
.hero .hero-tagline{
  margin:10px 0 18px;
  max-width:760px;
  color:#8EDBFF;
  font-size:clamp(1.25rem, 2.3vw, 2.35rem);
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.02em;
}
.hero .hero-copy h1{
  margin-bottom:0;
}
@media(max-width:720px){
  .hero .hero-tagline{
    font-size:clamp(1.05rem, 6vw, 1.65rem);
    margin-top:8px;
  }
}


/* Fase 11.3.2: tarjetas de servicios sin párrafo introductorio */
.service-card h3 + ul{
  margin-top:18px;
}


/* Fase 11.3.3: eliminar coletilla duplicada del H1 */
.hero h1::before{
  content:'Optimiza y rentabiliza' !important;
}
.hero h1::after{
  content:'tu negocio.' !important;
}
.hero .hero-tagline{
  color:#FFFFFF !important;
  font-size:clamp(1.15rem, 1.9vw, 2rem) !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  margin:8px 0 18px !important;
  text-shadow:0 8px 24px rgba(0,0,0,.22);
}


/* Fase 12.0: diagnóstico inteligente con captura de datos al final */
.diagnosis-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.diagnosis-stats span{
  display:grid;
  gap:2px;
  padding:14px 10px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  background:#f8fbff;
  text-align:center;
  color:#5b6678;
  font-size:.86rem;
}
.diagnosis-stats strong{
  color:#2563eb;
  font-size:1.45rem;
}
.optional{
  color:#8a96a8;
  font-weight:600;
  font-size:.86em;
}
.field-char-count{
  color:#8a96a8;
  font-weight:600;
  font-size:.8em;
  text-align:right;
  margin:-8px 0 12px;
}
.app-pricing-block{margin-bottom:56px}
.app-pricing-block:last-child{margin-bottom:0}
.app-pricing-head{text-align:center;max-width:640px;margin:0 auto 28px}
.app-pricing-head h3{font-size:28px;margin:0 0 8px;letter-spacing:-.02em}
.app-pricing-head p{color:var(--muted);margin:0}
.app-pricing-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pricing-tier{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 18px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(16,20,22,.05)}
.pricing-tier.is-recommended{border-color:var(--green);box-shadow:0 14px 36px rgba(22,150,58,.16)}
.pricing-tier-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;font-size:11px;font-weight:800;letter-spacing:.03em;padding:5px 12px;border-radius:999px;white-space:nowrap}
.pricing-tier h4{margin:6px 0 10px;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.pricing-tier-price{margin:0 0 16px}
.pricing-tier-price strong{font-size:24px;letter-spacing:-.02em;color:var(--black)}
.pricing-tier-price span{color:var(--muted);font-size:13px}
.pricing-tier ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;flex:1}
.pricing-tier li{font-size:13px;color:#3b454b;line-height:1.4;padding-left:20px;position:relative}
.pricing-tier li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:800}
.tier-info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:4px;border-radius:50%;background:var(--line);color:var(--muted);font-size:10px;font-weight:800;font-style:normal;line-height:1;cursor:help;vertical-align:middle}
.tier-info:hover,.tier-info:focus{background:var(--green);color:#fff;outline:none}
.tier-info span{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:220px;background:var(--black);color:#fff;font-size:12px;font-weight:400;line-height:1.4;padding:10px 12px;border-radius:10px;opacity:0;visibility:hidden;transition:opacity .15s ease;pointer-events:none;z-index:5;text-align:left}
.tier-info span:after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--black)}
.tier-info:hover span,.tier-info:focus span{opacity:1;visibility:visible}
.app-pricing-cta{text-align:center;margin-top:26px}
.app-pricing-cta small{display:block;margin-top:10px;color:var(--muted);font-size:12px}
@media (max-width:980px){.app-pricing-tiers{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.app-pricing-tiers{grid-template-columns:1fr}.app-pricing-head h3{font-size:24px}}
.diagnosis-area-head{
  padding:18px 18px 16px;
  border-radius:18px;
  background:linear-gradient(135deg,#0f1d34,#173b58);
  color:#fff;
  margin-bottom:18px;
}
.diagnosis-area-head span{
  color:#8edbff;
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.diagnosis-area-head h3{
  margin:6px 0 6px;
  color:#fff;
}
.diagnosis-area-head p{
  margin:0;
  color:rgba(255,255,255,.76);
}
.diagnosis-question{
  border:0;
  padding:0;
  margin:0 0 18px;
}
.diagnosis-question legend{
  display:block;
  width:100%;
  margin:0 0 10px;
  color:#14213a;
  font-weight:850;
}
.diagnosis-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.diagnosis-option{
  min-height:70px;
  align-items:flex-start;
}
.diagnosis-result{
  display:grid;
  gap:16px;
}
.result-score-card{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:20px;
  border-radius:20px;
  background:linear-gradient(135deg,#0f1d34,#173b58);
  color:#fff;
}
.result-score-card h4{
  margin:4px 0 8px;
  color:#fff;
  font-size:1.35rem;
}
.result-score-card p{
  color:rgba(255,255,255,.78);
  margin:10px 0 0;
}
.result-score-card mark{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  font-weight:850;
}
.score-ring{
  width:112px;
  height:112px;
  border-radius:999px;
  display:grid;
  place-items:center;
  align-content:center;
  background:
    radial-gradient(circle at center,#10223d 58%,transparent 59%),
    conic-gradient(var(--level-color) calc(var(--score) * 1%),rgba(255,255,255,.14) 0);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.score-ring strong{
  color:#fff;
  font-size:2rem;
  line-height:1;
}
.score-ring span{
  color:rgba(255,255,255,.62);
  font-size:.78rem;
}
.maturity-map,
.priority-list{
  padding:18px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:#fff;
}
.maturity-map h4,
.priority-list h4{
  margin:0 0 14px;
  color:#14213a;
}
.maturity-row{
  display:grid;
  grid-template-columns:112px minmax(0,1fr) 42px;
  gap:10px;
  align-items:center;
  margin:10px 0;
  font-size:.9rem;
}
.maturity-row div{
  height:10px;
  border-radius:999px;
  background:#e8eef7;
  overflow:hidden;
}
.maturity-row i{
  display:block;
  height:100%;
  border-radius:999px;
}
.maturity-row strong{
  text-align:right;
  color:#14213a;
}
.priority-list{
  display:grid;
  gap:12px;
}
.priority-card{
  border-left:5px solid #2563eb;
  border-top:1px solid rgba(15,23,42,.08);
  border-right:1px solid rgba(15,23,42,.08);
  border-bottom:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  padding:16px;
  background:#fbfdff;
}
.priority-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.priority-head > span{
  width:32px;
  height:32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#14213a;
  color:#fff;
  font-weight:900;
}
.priority-head strong{
  display:block;
  color:#14213a;
}
.priority-head small{
  color:#66758b;
  font-weight:700;
}
.priority-card h4{
  margin:0 0 8px;
  color:#14213a;
}
.priority-card ul{
  margin:0 0 10px;
  padding-left:18px;
  color:#344054;
}
.priority-card p{
  margin:0;
  padding:10px 12px;
  border-radius:12px;
  background:#ecfdf5;
  color:#065f46;
}
.radar-chart-wrap{
  max-width:380px;
  margin:0 auto;
}
.hp-field{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.cta-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
@media(max-width:720px){
  .diagnosis-stats,
  .diagnosis-options{
    grid-template-columns:1fr;
  }
  .result-score-card{
    grid-template-columns:1fr;
    justify-items:start;
  }
  .maturity-row{
    grid-template-columns:86px minmax(0,1fr) 34px;
  }
  .cta-actions .btn{
    width:100%;
  }
}


/* Fase 12.1: modal de diagnóstico sin desbordes */
#diagnosisModal.modal.is-open{
  padding:18px;
  align-items:center;
}

#diagnosisModal .modal-panel{
  width:min(920px, calc(100vw - 28px)) !important;
  height:min(860px, calc(100dvh - 36px)) !important;
  max-height:calc(100dvh - 36px) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

#diagnosisModal .modal-header{
  flex:0 0 auto;
}

#diagnosisModal .progress{
  flex:0 0 auto;
  margin:0 28px 0;
}

#diagnosisModal .wizard-form{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:22px 28px 0;
}

#diagnosisModal .wizard-step{
  min-height:0;
}

#diagnosisModal .wizard-step.is-active{
  flex:1 1 auto;
  overflow:auto;
  padding:0 4px 22px 0;
  scrollbar-width:thin;
}

#diagnosisModal .wizard-actions{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  z-index:5;
  margin:0 -28px;
  padding:14px 28px 18px;
  border-top:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.92),#ffffff 44%);
  box-shadow:0 -14px 32px rgba(15,23,42,.08);
}

#diagnosisModal .wizard-actions .btn{
  max-width:100%;
}

#diagnosisModal [data-success-panel]{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:26px 28px 0;
}

#diagnosisModal [data-success-panel] .wizard-actions{
  margin:18px -28px 0;
}

@media(max-width:720px){
  #diagnosisModal.modal.is-open{
    padding:10px;
  }

  #diagnosisModal .modal-panel{
    width:calc(100vw - 20px) !important;
    height:calc(100dvh - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
    border-radius:22px !important;
  }

  #diagnosisModal .modal-header{
    padding:28px 70px 22px 22px;
  }

  #diagnosisModal .progress{
    margin-inline:22px;
  }

  #diagnosisModal .wizard-form{
    padding:18px 22px 0;
  }

  #diagnosisModal .wizard-actions{
    margin-inline:-22px;
    padding:12px 22px 14px;
  }
}



/* Diagnostico guiado compacto - v1 */

#diagnosisModal .modal-panel {

  width: min(920px, calc(100% - 32px));

  max-height: calc(100vh - 36px);

  padding: 0;

  overflow: hidden;

}



#diagnosisModal .modal-header {

  padding: 24px 72px 22px 28px;

  margin: 0;

}



#diagnosisModal .modal-header h2 {

  font-size: clamp(28px, 4vw, 42px);

}



#diagnosisModal .progress {

  margin: 0;

  height: 8px;

}



#diagnosisModal .wizard-form {

  max-height: calc(100vh - 215px);

  overflow-y: auto;

  overflow-x: hidden;

  padding: 22px 28px 92px;

}



#diagnosisModal .diagnosis-area-head {

  margin-bottom: 16px;

}



#diagnosisModal .diagnosis-area-head h3 {

  font-size: 22px;

  margin-bottom: 6px;

}



#diagnosisModal .diagnosis-area-head p,

#diagnosisModal .diagnosis-area-head span {

  font-size: 13px;

}



#diagnosisModal .diagnosis-question {

  margin: 0 0 20px;

  padding: 0;

  border: 0;

}



#diagnosisModal .diagnosis-question legend {

  font-size: 15px;

  line-height: 1.35;

  font-weight: 800;

  margin: 0 0 10px;

  color: #162033;

}



#diagnosisModal .diagnosis-options {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 8px 12px;

}



#diagnosisModal .diagnosis-option {

  min-height: 0 !important;

  height: auto !important;

  padding: 10px 12px !important;

  margin: 0 !important;

  border-radius: 14px;

  display: grid !important;

  grid-template-columns: 22px 1fr;

  align-items: center;

  gap: 10px;

}



#diagnosisModal .diagnosis-option input[type="radio"] {

  width: 18px !important;

  height: 18px !important;

  min-width: 18px !important;

  margin: 0 !important;

  position: static !important;

  transform: none !important;

}



#diagnosisModal .diagnosis-option span {

  font-size: 13.5px !important;

  line-height: 1.25 !important;

  font-weight: 700;

  margin: 0 !important;

}



#diagnosisModal .wizard-actions {

  position: sticky;

  left: 0;

  right: 0;

  bottom: 0;

  margin: 0;

  padding: 14px 28px 18px;

  background: rgba(255,255,255,.96);

  border-top: 1px solid #e5e7eb;

  backdrop-filter: blur(10px);

}



@media (max-width: 720px) {

  #diagnosisModal .modal-panel {

    width: calc(100% - 18px);

    max-height: calc(100vh - 18px);

    margin: 9px auto;

    border-radius: 22px;

  }



  #diagnosisModal .modal-header {

    padding: 22px 60px 18px 20px;

  }



  #diagnosisModal .wizard-form {

    padding: 18px 20px 88px;

    max-height: calc(100vh - 190px);

  }



  #diagnosisModal .diagnosis-options {

    grid-template-columns: 1fr;

  }



  #diagnosisModal .wizard-actions {

    padding: 12px 20px 16px;

  }

}




/* Ajuste hueco inferior diagnostico guiado - v2 */

#diagnosisModal .modal-panel {

  max-height: min(820px, calc(100vh - 36px));

}



#diagnosisModal .wizard-form {

  max-height: calc(100vh - 245px);

  padding-bottom: 18px;

}



#diagnosisModal .wizard-actions {

  position: sticky;

  bottom: 0;

  margin-top: 10px;

  padding: 12px 28px 14px;

}



@media (max-width: 720px) {

  #diagnosisModal .modal-panel {

    max-height: calc(100vh - 18px);

  }



  #diagnosisModal .wizard-form {

    max-height: calc(100vh - 220px);

    padding-bottom: 14px;

  }



  #diagnosisModal .wizard-actions {

    padding: 12px 20px 14px;

  }

}




/* Evitar solape banner cookies con icono chatbot - v1 */

@media (min-width: 981px) {

  .cookies {

    right: 122px;

  }



  .cookies-actions {

    padding-right: 6px;

  }

}



@media (max-width: 980px) {

  .cookies {

    right: 18px;

  }

}




/* Ajuste banner cookies: desplazar solo botones, no el fondo - v2 */

@media (min-width: 981px) {

  .cookies {

    right: 18px !important;

  }



  .cookies-actions {

    margin-right: 72px;

  }

}



@media (max-width: 980px) {

  .cookies-actions {

    margin-right: 0;

  }

}




/* Diagnostico enviado: mostrar solo resultado - v1 */

#diagnosisModal.is-diagnosis-done .wizard-form,

#diagnosisModal.is-diagnosis-done .progress {

  display: none !important;

}



#diagnosisModal.is-diagnosis-done .success-panel {

  display: block !important;

  padding: 28px;

  max-height: calc(100vh - 170px);

  overflow-y: auto;

  overflow-x: hidden;

}



#diagnosisModal.is-diagnosis-done .modal-panel {

  overflow: hidden;

}



#diagnosisModal.is-diagnosis-done .diagnosis-result {

  margin-top: 18px;

}



#diagnosisModal.is-diagnosis-done .success-panel .wizard-actions {

  position: sticky;

  bottom: 0;

  margin: 24px -28px -28px;

  padding: 14px 28px 18px;

  background: rgba(255,255,255,.96);

  border-top: 1px solid #e5e7eb;

  backdrop-filter: blur(10px);

}

/* ===== Mismo tratamiento de cabecera/cierre/barra de progreso/wizard-actions que
   #diagnosisModal, espejado para #quickContactModal (generado a partir de las mismas
   reglas, Fase 9.4.14 en adelante) — excluyendo lo específico del contenido del
   diagnóstico (option-grid, diagnosis-area-head/question/options/option, success-lead-id,
   .is-diagnosis-done), que no existe en el formulario de contacto rápido. ===== */

#quickContactModal .modal-panel{
  position:relative;
}

#quickContactModal .modal-close{
  position:sticky;
  top:16px;
  float:right;
  z-index:20;
  width:52px;
  height:52px;
  margin:16px 16px -68px auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.78);
  background:#ffffff;
  color:#101416;
  font-size:34px;
  line-height:1;
  font-weight:500;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  cursor:pointer;
}

#quickContactModal .modal-close:hover,
#quickContactModal .modal-close:focus-visible{
  color:#14963a;
  border-color:#14963a;
  outline:3px solid rgba(20,150,58,.22);
  outline-offset:3px;
  transform:scale(1.03);
}

#quickContactModal .modal-header{
  padding-right:104px;
}

@media (max-width:620px){
#quickContactModal .modal-close{
    top:10px;
    right:10px;
    width:48px;
    height:48px;
    margin:10px 10px -58px auto;
    font-size:32px;
  }

#quickContactModal .modal-header{
    padding-right:82px;
  }
}

#quickContactModal.modal.is-open{
  padding:18px;
  align-items:center;
}

#quickContactModal .modal-panel{
  width:min(920px, calc(100vw - 28px)) !important;
  height:min(860px, calc(100dvh - 36px)) !important;
  max-height:calc(100dvh - 36px) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

#quickContactModal .modal-header{
  flex:0 0 auto;
}

#quickContactModal .progress{
  flex:0 0 auto;
  margin:0 28px 0;
}

#quickContactModal .wizard-form{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:22px 28px 0;
}

#quickContactModal .wizard-step{
  min-height:0;
}

#quickContactModal .wizard-step.is-active{
  flex:1 1 auto;
  overflow:auto;
  padding:0 4px 22px 0;
  scrollbar-width:thin;
}

#quickContactModal .wizard-actions{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  z-index:5;
  margin:0 -28px;
  padding:14px 28px 18px;
  border-top:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.92),#ffffff 44%);
  box-shadow:0 -14px 32px rgba(15,23,42,.08);
}

#quickContactModal .wizard-actions .btn{
  max-width:100%;
}

#quickContactModal [data-success-panel]{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:26px 28px 0;
}

#quickContactModal [data-success-panel] .wizard-actions{
  margin:18px -28px 0;
}

@media(max-width:720px){
#quickContactModal.modal.is-open{
    padding:10px;
  }

#quickContactModal .modal-panel{
    width:calc(100vw - 20px) !important;
    height:calc(100dvh - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
    border-radius:22px !important;
  }

#quickContactModal .modal-header{
    padding:28px 70px 22px 22px;
  }

#quickContactModal .progress{
    margin-inline:22px;
  }

#quickContactModal .wizard-form{
    padding:18px 22px 0;
  }

#quickContactModal .wizard-actions{
    margin-inline:-22px;
    padding:12px 22px 14px;
  }
}

#quickContactModal .modal-panel {
  width: min(920px, calc(100% - 32px));
  max-height: calc(100vh - 36px);
  padding: 0;
  overflow: hidden;
}

#quickContactModal .modal-header {
  padding: 24px 72px 22px 28px;
  margin: 0;
}

#quickContactModal .modal-header h2 {
  font-size: clamp(28px, 4vw, 42px);
}

#quickContactModal .progress {
  margin: 0;
  height: 8px;
}

#quickContactModal .wizard-form {
  max-height: calc(100vh - 215px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 22px 28px 92px;
}

#quickContactModal .wizard-actions {
  position: sticky;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 14px 28px 18px;
  background: rgba(255,255,255,.96);
  border-top: 1px solid #e5e7eb;
  backdrop-filter: blur(10px);
}

@media (max-width: 720px) {
#quickContactModal .modal-panel {
    width: calc(100% - 18px);
    max-height: calc(100vh - 18px);
    margin: 9px auto;
    border-radius: 22px;
  }

#quickContactModal .modal-header {
    padding: 22px 60px 18px 20px;
  }

#quickContactModal .wizard-form {
    padding: 18px 20px 88px;
    max-height: calc(100vh - 190px);
  }

#quickContactModal .wizard-actions {
    padding: 12px 20px 16px;
  }
}

#quickContactModal .modal-panel {
  max-height: min(820px, calc(100vh - 36px));
}

#quickContactModal .wizard-form {
  max-height: calc(100vh - 245px);
  padding-bottom: 18px;
}

#quickContactModal .wizard-actions {
  position: sticky;
  bottom: 0;
  margin-top: 10px;
  padding: 12px 28px 14px;
}

@media (max-width: 720px) {
#quickContactModal .modal-panel {
    max-height: calc(100vh - 18px);
  }

#quickContactModal .wizard-form {
    max-height: calc(100vh - 220px);
    padding-bottom: 14px;
  }

#quickContactModal .wizard-actions {
    padding: 12px 20px 14px;
  }
}

section .services-custom-note{
  width: 100%;
  max-width: 980px;
  margin: 32px auto 0 !important;
  display: block;
  text-align: center !important;
}

section .services-custom-note p{
  width: 100%;
  max-width: 980px;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #334155;
}

/* Bug real (tablet/iPad, ~981-1190px): confirmado con capturas reales en todo el rango
   768-1280px antes de tocar esto. Por debajo de 981px ya sale el menú hamburguesa (limpio).
   Justo por encima, el menú de escritorio completo (6 enlaces + 2 CTA + logo a 230px, ver los
   ".brand-logo{width:230px!important}" repetidos más arriba) no cabe en una sola línea:
   "Casos de uso" y "Sobre ImpulsA" se parten en dos y chocan con los botones. Se resuelve solo
   a partir de ~1200px. En vez de subir el punto de corte del hamburguesa (981px→980px es la
   línea real donde cambia; subirlo más habría ocultado el menú también en ventanas de
   escritorio reales no maximizadas de ese ancho, no solo tablets), se hace más compacto el
   propio menú de escritorio SOLO en ese hueco — mismo menú, mismo diseño, más denso. */
@media (min-width:981px) and (max-width:1199px){
  .header-inner{gap:14px}
  .site-header .brand-logo{width:150px!important;max-height:54px!important;}
  .main-nav{gap:12px;font-size:13.5px}
  .main-nav a{white-space:nowrap}
  .main-nav .btn{padding:8px 14px;font-size:13px}
}

}
