
    /* AJUSTES EXCLUSIVOS DE LA PAGINA DE INICIO */
    :root {
      --ac-navy: #0d2949;
      --ac-navy-deep: #09213d;
      --ac-text: #193a5c;
      --ac-blue: #0878ce;
      --ac-sky: #d4e9f8;
      --ac-sky-hover: #b6daf4;
      --ac-border: #a9cfe9;
    }

    html { scroll-behavior: smooth; }
    body { overflow-x: hidden; }

    /* Barra superior y navegacion */
    .home-contact-strip {
      background: var(--ac-navy) !important;
      min-height: 35px;
      display: flex;
      align-items: center;
    }

    .home-contact-strip a {
      color: #cbd5df !important;
      font-weight: 400 !important;
      text-decoration: none;
      font-size: 14px;
      letter-spacing: .15px;
    }

    .top {
      background: #fff !important;
    }

    .top .bar {
      max-width: 1840px;
      width: calc(100% - 64px);
      margin-inline: auto;
      gap: 24px;
    }

    .top .nav {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      gap: clamp(10px, 1.3vw, 26px);
    }

    .top .nav a {
      color: var(--ac-text);
      font-size: clamp(14px, .91vw, 17px);
      font-weight: 500;
      white-space: nowrap;
      transition: color .25s ease;
    }

    .top .nav a:hover {
      color: var(--ac-blue);
    }

    .home-nav-cta {
      font-size: 16px !important;
      font-weight: 400 !important;
      background: #19476f !important;
      color: #fff !important;
      white-space: nowrap;
      transition: background .25s ease, transform .25s ease;
    }

    .home-nav-cta:hover {
      background: #0878ce !important;
      transform: translateY(-2px);
    }

    /* Portada */
    .home-hero {
      background-color: var(--ac-navy) !important;
      background-image:
        linear-gradient(100deg,
          rgba(9,33,61,.94),
          rgba(13,41,73,.89)),
        var(--photo) !important;
      background-position: center !important;
      background-size: cover !important;
    }

    .home-hero .inner {
      width: calc(100% - 92px);
      max-width: 1840px;
      margin-inline: auto;
      position: relative;
      z-index: 2;
    }

    .home-hero .eyebrow {
      color: #c0d1e0 !important;
      font-weight: 400 !important;
      letter-spacing: 3px;
    }

    .home-hero h1 {
      color: #fff !important;
      font-weight: 600 !important;
      font-size: clamp(36px, 3.35vw, 68px);
      line-height: 1.14;
      letter-spacing: -1.5px;
      max-width: 100%;
      text-wrap: pretty;
    }

    .home-hero p {
      color: #e1e9f1 !important;
      font-weight: 400 !important;
      max-width: 100%;
      line-height: 1.75;
    }

    .home-hero .btn {
      background: var(--ac-blue) !important;
      color: #fff !important;
      border-color: var(--ac-blue) !important;
      transition: transform .3s ease, background .3s ease;
    }

    .home-hero .btn:hover {
      background: #168ee5 !important;
      transform: translateY(-3px);
    }

    .home-hero .btn.secondary {
      background: transparent !important;
      border-color: #d5e5f3 !important;
    }

    .home-hero .btn.secondary:hover {
      background: rgba(255,255,255,.14) !important;
    }

    .home-indicators span {
      background: rgba(255,255,255,.10) !important;
      color: #f2f6fa !important;
      border-color: rgba(255,255,255,.32) !important;
      font-weight: 500 !important;
    }

    /* Sectores */
    .home-sectors .sector-grid a {
      background: #d4e9f8 !important;
      color: #153b5f !important;
      border: 1px solid #a8cee8 !important;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-weight: 500;
      transition: background .3s ease,
                  box-shadow .3s ease,
                  transform .3s ease;
    }

    .home-sectors .sector-grid a:hover {
      background: #a9d4f2 !important;
      color: #092d51 !important;
      box-shadow: 0 8px 22px rgba(13,41,73,.14);
      transform: translateY(-3px);
    }

    /* Diferenciales: fondo y tarjetas compactas */
    .home-differentials {
      background: linear-gradient(
        120deg, #d6eaf8 0%, #c5e1f4 55%, #d8ebf8 100%
      ) !important;
      max-width: none !important;
      width: 100% !important;
      padding: 46px max(34px, calc((100vw - 1680px)/2)) !important;
      box-sizing: border-box;
    }

    .home-differentials h2 {
      color: var(--ac-text) !important;
    }

    .home-differentials > p {
      color: #365777 !important;
    }

    .home-differentials .diff-grid {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 17px !important;
      margin-top: 25px !important;
    }

    .home-differentials .diff-grid article {
      position: relative;
      min-width: 0;
      padding: 19px 22px !important;
      min-height: 0 !important;
      background: #edf7ff !important;
      border: 1px solid #a9cfe9 !important;
      border-radius: 17px !important;
      box-shadow: 0 7px 20px rgba(13,41,73,.07);
      overflow: hidden;
      transition: transform .3s ease,
                  background .3s ease,
                  box-shadow .3s ease;
    }

    .home-differentials .diff-grid article::after {
      content: "";
      position: absolute;
      left: -100%;
      bottom: 0;
      width: 100%;
      height: 3px;
      background: var(--ac-blue);
      transition: left .45s ease;
    }

    .home-differentials .diff-grid article:hover {
      background: #c1e2f8 !important;
      transform: translateY(-4px);
      box-shadow: 0 13px 27px rgba(13,41,73,.14);
    }

    .home-differentials .diff-grid article:hover::after {
      left: 0;
    }

    .home-differentials .diff-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 38px;
      margin-bottom: 10px !important;
      background: #c8e6fa !important;
      border-radius: 10px;
      color: #006cbd !important;
      font-weight: 600;
    }

    .home-differentials .diff-grid h3 {
      color: #12385e !important;
      font-size: clamp(18px, 1.3vw, 23px);
      margin: 0 0 6px !important;
      line-height: 1.3;
    }

    .home-differentials .diff-grid p {
      color: #2c4e6c !important;
      font-size: clamp(14px, 1vw, 17px);
      line-height: 1.5;
      margin: 0 !important;
    }

    /* Tecnologia */
    .home-feature {
      background: linear-gradient(
        120deg, #d5eaf9 0%, #c3e0f5 65%, #b8d9f1 100%
      ) !important;
    }

    .home-feature h2 {
      color: #153657 !important;
    }

    .home-feature p {
      color: #294e71 !important;
    }

    .home-feature .feature-pills span {
      background: #d5eafb !important;
      color: #153b5e !important;
      border: 1px solid #9bc9ea !important;
      font-weight: 500 !important;
      transition: background .3s ease,
                  transform .3s ease,
                  box-shadow .3s ease;
    }

    .home-feature .feature-pills span:hover {
      background: #a9d5f4 !important;
      transform: translateY(-3px);
      box-shadow: 0 7px 17px rgba(13,41,73,.13);
    }

    .home-feature .feature-grid > img {
      box-shadow: 0 18px 40px rgba(12,48,83,.20) !important;
    }

    /* Proceso de incorporacion */
    .home-process {
      position: relative;
      background: linear-gradient(
        125deg, #dceefa, #cce5f7, #d9ecfa
      ) !important;
      max-width: none !important;
      width: 100% !important;
      padding: 46px max(34px, calc((100vw - 1680px)/2)) !important;
      box-sizing: border-box;
      overflow: hidden;
    }

    .home-process::before {
      content: "";
      position: absolute;
      width: 420px;
      height: 420px;
      border: 1px solid rgba(34,116,184,.12);
      border-radius: 50%;
      top: -250px;
      right: -80px;
      pointer-events: none;
      animation: processDrift 18s ease-in-out infinite alternate;
    }

    @keyframes processDrift {
      from { transform: translate(0,0) rotate(0); }
      to { transform: translate(-55px,55px) rotate(20deg); }
    }

    .home-process h2 {
      color: #153657 !important;
    }

    .home-process > p {
      color: #2c5275 !important;
      max-width: 1000px;
    }

    .home-process .process-grid {
      position: relative;
      display: grid !important;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 15px !important;
      margin-top: 25px !important;
      padding: 0 !important;
      list-style: none;
      counter-reset: process;
    }

    .home-process .process-grid li {
      counter-increment: process;
      display: flex !important;
      align-items: center !important;
      gap: 13px !important;
      min-width: 0;
      min-height: 76px !important;
      padding: 14px 17px !important;
      background: #d0e8f9 !important;
      border: 1px solid #9ecbea !important;
      border-radius: 15px !important;
      color: #173b5f !important;
      font-weight: 600 !important;
      line-height: 1.35;
      box-shadow: 0 6px 17px rgba(13,41,73,.07);
      transition: background .3s ease,
                  transform .3s ease,
                  box-shadow .3s ease;
    }

    .home-process .process-grid li:hover {
      background: #a9d5f3 !important;
      transform: translateY(-4px);
      box-shadow: 0 12px 25px rgba(13,41,73,.15);
    }

    .home-process .process-grid li::before {
      content: counter(process) !important;
      flex: 0 0 39px;
      width: 39px;
      height: 39px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: #0878ce !important;
      color: #fff !important;
      font-size: 16px;
      font-weight: 600;
      margin: 0 !important;
    }

    /* Llamado a la accion */
    .home-cta {
      position: relative;
      overflow: hidden;
      background: var(--ac-navy) !important;
    }

    .home-cta::before,
    .home-cta::after {
      content: "";
      position: absolute;
      width: 480px;
      height: 480px;
      border: 1px solid rgba(180,214,239,.17);
      border-radius: 50%;
      pointer-events: none;
      animation: ctaFloat 17s ease-in-out infinite alternate;
    }

    .home-cta::before {
      top: -330px;
      left: -120px;
    }

    .home-cta::after {
      right: -130px;
      bottom: -370px;
      animation-delay: -7s;
    }

    @keyframes ctaFloat {
      from { transform: translate(0,0) scale(1); }
      to { transform: translate(45px,-25px) scale(1.12); }
    }

    .home-cta .section {
      position: relative;
      z-index: 1;
    }

    .home-cta h2 {
      color: #fff !important;
      font-weight: 500 !important;
    }

    .home-cta p {
      color: #e0eaf3 !important;
      opacity: 1 !important;
      font-weight: 400 !important;
      line-height: 1.65;
    }

    .home-cta .btn {
      background: #fff !important;
      color: var(--ac-navy) !important;
      border: 1px solid #fff !important;
      transition: transform .3s ease,
                  background .3s ease,
                  box-shadow .3s ease;
    }

    .home-cta .btn:hover {
      background: #d4e9f8 !important;
      transform: translateY(-3px);
      box-shadow: 0 10px 25px rgba(0,0,0,.18);
    }

    /* Pie de pagina */
    .foot {
      background: var(--ac-navy) !important;
      color: #e0e9f2 !important;
    }

    .foot h3 {
      color: #fff !important;
    }

    .foot p,
    .foot .footer-links a,
    .foot .footer-bottom {
      color: #d8e4ef !important;
      opacity: 1 !important;
    }

    .foot .footer-links a {
      transition: color .25s ease, padding-left .25s ease;
    }

    .foot .footer-links a:hover {
      color: #fff !important;
      padding-left: 4px;
    }

    .foot .footer-bottom {
      border-top-color: rgba(255,255,255,.18) !important;
    }

    /* Adaptacion a pantallas */
    @media (max-width: 1100px) {
      .home-differentials .diff-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
      }

      .home-process .process-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
      }

      .top .bar {
        width: calc(100% - 36px);
      }
    }

    @media (max-width: 650px) {
      .home-hero .inner {
        width: calc(100% - 36px);
      }

      .home-hero h1 {
        font-size: clamp(30px, 8vw, 43px);
        letter-spacing: -.6px;
      }

      .home-differentials,
      .home-process {
        padding: 38px 18px !important;
      }

      .home-differentials .diff-grid {
        grid-template-columns: 1fr;
        gap: 12px !important;
      }

      .home-process .process-grid {
        grid-template-columns: 1fr;
        gap: 11px !important;
      }

      .home-process .process-grid li {
        min-height: 65px !important;
      }

      .home-hero .actions {
        flex-wrap: wrap;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .home-process::before,
      .home-cta::before,
      .home-cta::after {
        animation: none !important;
      }
    }
  
/* ==========================================
   BLOQUE FINAL - PRESUPUESTO Y FOOTER
   ========================================== */

.home-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  background: linear-gradient(
    115deg,
    #164b7c 0%,
    #195b94 48%,
    #124675 100%
  ) !important;

  border-bottom: 1px solid rgba(202, 229, 249, .38);
}

/* Esferas laterales */

.home-cta::before,
.home-cta::after {
  content: "";
  position: absolute;
  z-index: -1;

  width: 360px;
  height: 360px;

  border-radius: 50%;
  border: 2px solid rgba(190, 224, 249, .35);

  background: radial-gradient(
    circle at 35% 35%,
    rgba(171, 218, 249, .13),
    rgba(89, 169, 228, .06) 55%,
    transparent 75%
  );

  box-shadow:
    0 0 0 38px rgba(188, 224, 250, .045),
    0 0 0 85px rgba(188, 224, 250, .025),
    inset 0 0 55px rgba(180, 220, 250, .08);

  pointer-events: none;
}

/* Esfera izquierda */

.home-cta::before {
  left: -175px;
  top: -110px;

  animation: esferaIzquierda 9s ease-in-out infinite alternate;
}

/* Esfera derecha */

.home-cta::after {
  right: -175px;
  bottom: -140px;

  animation: esferaDerecha 11s ease-in-out infinite alternate;
}

/* Movimiento visible, pero elegante */

@keyframes esferaIzquierda {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: .65;
  }

  50% {
    transform: translate(45px, 35px) scale(1.12);
    opacity: 1;
  }

  100% {
    transform: translate(15px, 65px) scale(.94);
    opacity: .75;
  }
}

@keyframes esferaDerecha {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: .7;
  }

  50% {
    transform: translate(-55px, -35px) scale(1.15);
    opacity: 1;
  }

  100% {
    transform: translate(-20px, 35px) scale(.95);
    opacity: .8;
  }
}

/* Mantener contenido centrado y visible */

.home-cta .section {
  position: relative;
  z-index: 2;
}

.home-cta h2 {
  color: #fff !important;
}

.home-cta p {
  color: #e5eff8 !important;
}

/* Footer independiente */

.foot {
  position: relative;
  background: #0d2949 !important;
  border-top: 1px solid rgba(255,255,255,.10);
}

/* Accesibilidad */

@media (prefers-reduced-motion: reduce) {
  .home-cta::before,
  .home-cta::after {
    animation: none !important;
  }
}


    /* Distribución y legibilidad del pie de página */
    .foot .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr 1fr 1fr 1.05fr;
      gap: clamp(24px, 3.2vw, 60px);
      align-items: start;
    }
    .foot .footer-brand { max-width: 390px; }
    .foot .footer-brand p {
      max-width: 370px;
      margin-top: 22px;
      font-size: 16px;
      font-weight: 400;
      line-height: 1.75;
    }
    .foot .footer-grid h3 {
      margin-bottom: 18px;
      font-size: 16px;
      font-weight: 600;
      letter-spacing: .4px;
    }
    .foot .footer-links {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .foot .footer-links a {
      font-size: 15px;
      line-height: 1.45;
      font-weight: 400;
      text-decoration: none;
    }
    .foot .footer-bottom {
      margin-top: 34px;
      padding-top: 20px;
      font-size: 14px;
    }
    @media (max-width: 1100px) {
      .foot .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px;
      }
    }
    @media (max-width: 650px) {
      .foot .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
      }
      .foot .footer-brand { max-width: 100%; }
      .foot .footer-bottom {
        display: flex;
        flex-direction: column;
        gap: 10px;
        text-align: center;
      }
    }
    /* PIE DE PÁGINA MÁS COMPACTO */

.foot {
  padding-top: 42px !important;
  padding-bottom: 18px !important;
}

.foot .footer-grid {
  gap: 28px !important;
  align-items: start !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.foot .footer-grid h3 {
  margin-top: 0 !important;
  margin-bottom: 15px !important;
}

.foot .footer-links {
  gap: 9px !important;
}

.foot .footer-links a {
  margin: 0 !important;
  line-height: 1.35 !important;
}

.foot .footer-brand p {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
  line-height: 1.55 !important;
}

.foot .footer-bottom {
  margin-top: 28px !important;
  padding-top: 17px !important;
  padding-bottom: 0 !important;
}
  
/* Ajustes compartidos para las páginas interiores */
body:not(.home-page) {background:#f5f9fd;color:#193a5c;}
body:not(.home-page) .hero {background-image:linear-gradient(105deg,rgba(13,41,73,.96),rgba(13,41,73,.86) 57%,rgba(13,41,73,.67)),var(--photo) !important;}
body:not(.home-page) .hero h1 {font-weight:650;letter-spacing:-.035em;}
body:not(.home-page) .hero p {color:#e0ebf5;}
body:not(.home-page) .btn:not(.secondary) {background:#19476f;color:#fff !important;font-weight:500;}
body:not(.home-page) .btn:not(.secondary):hover {background:#0878ce;}
body:not(.home-page) .btn.secondary {background:#d4e9f8;color:#0d2949 !important;}
body:not(.home-page) .section h2 {color:#193a5c;font-weight:600;}
body:not(.home-page) .card {border-color:#a9cfe9;background:#edf7ff;}
body:not(.home-page) .card:hover {background:#d4e9f8;}
body:not(.home-page) .stripe {background:#d4e9f8;}
.foot .footer-grid {max-width:1580px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr 1.05fr;gap:28px;align-items:start;}
.foot .footer-bottom {max-width:1580px;margin-left:auto;margin-right:auto;display:flex;justify-content:space-between;gap:18px;}
.foot .footer-links {display:flex;flex-direction:column;gap:9px;}
.foot .footer-links a {display:block;margin:0 !important;}
.foot .footer-brand p {max-width:380px;}
@media(max-width:1100px){.foot .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.foot .footer-grid{grid-template-columns:1fr;}.foot .footer-bottom{flex-direction:column;text-align:center;}}

/* V7: Contacto y postulaciones - estilos locales */
.contact-hero .inner{position:relative;z-index:2}
.contact-choice{padding-top:70px;padding-bottom:65px;background:linear-gradient(135deg,#e0f1fc 0%,#cbe5f7 100%);max-width:none!important;padding-left:max(5%,calc((100% - 1450px)/2));padding-right:max(5%,calc((100% - 1450px)/2))}
.contact-choice h2,.employment-intro h2{color:#173a5d;margin:12px 0 26px}
.contact-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.contact-choice-card{display:block;text-decoration:none!important;color:#173a5d!important;background:#f0f8ff;border:1px solid #abd3ee;border-radius:22px;padding:30px;box-shadow:0 12px 28px rgba(17,56,89,.07);transition:transform .25s,box-shadow .25s,border-color .25s}
.contact-choice-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(17,56,89,.14);border-color:#3999d9}
.contact-choice-number{display:inline-block;padding:10px 14px;background:#c9e7fa;border-radius:12px;color:#0966ad;font-weight:700}
.contact-choice-card h3{font-size:25px;margin:20px 0 10px;color:#143b61}.contact-choice-card p{font-size:17px;line-height:1.6}.contact-choice-arrow{display:inline-block;margin-top:12px;font-weight:700;color:#0966ad}
#presupuestos{scroll-margin-top:105px}.employment-section{max-width:1120px;margin:auto;padding-top:75px;padding-bottom:90px}.employment-form{margin-top:30px}.employment-form input[type=file]{width:100%;max-width:100%;padding:13px;background:#f4f9fe;border:1px solid #b9d4e7;border-radius:9px}
@media(max-width:760px){.contact-choice-grid{grid-template-columns:1fr}.contact-choice{padding:48px 6%}.employment-section{padding:55px 6%}}

/* Crédito de desarrollo discreto */
.allclean-developer-credit{text-align:center;padding:0 18px 15px;font-size:11px;line-height:1.5;color:#59616c;}
.allclean-developer-credit a{color:#59616c;text-decoration:none;}
.allclean-developer-credit a:hover{text-decoration:underline;color:#303944;}

/* All Clean V12: separación visual de la verificación Turnstile */
.contact-form .cf-turnstile{margin:18px 0 16px;min-height:65px;}
