/* Creciente Fértil — hoja de estilos del sitio.
   Tipografías servidas localmente desde assets/fonts (sin Google Fonts). */

/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/sora-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/sora-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/sora-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/sora-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/sora-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/sora-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/sora-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/sora-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/sora-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/sora-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===================== BASE ===================== */
*, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; }
  ::selection { background: #0E5542; color: #fff; }
  @keyframes cf-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
  @keyframes cf-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }

  /* ===================== RESPONSIVE ===================== */
  html { -webkit-text-size-adjust: 100%; }
  img, svg { max-width: 100%; }

  /* --- Header: la navegación pasa a su propia fila --- */
  @media (max-width: 1000px) {
    .cf-header-inner { flex-wrap: wrap !important; gap: 10px 16px !important; padding: 12px 20px !important; }
    .cf-nav { order: 3; width: 100%; justify-content: flex-start; gap: 22px !important; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
    .cf-nav::-webkit-scrollbar { display: none; }
    .cf-nav a { white-space: nowrap; }
    .cf-header-actions { margin-left: auto; }
  }
  @media (max-width: 600px) {
    /* Fila 1: marca + CTA. Fila 2: navegación + Ingresar. */
    .cf-header-inner { padding: 10px 16px !important; gap: 9px 12px !important; }
    .cf-header-inner::after { content: ''; width: 100%; height: 0; order: 3; }
    .cf-header-inner > a:first-child { order: 1; }
    .cf-brand img { height: 34px !important; }
    .cf-header-actions { display: contents !important; }
    .cf-header-actions > a:first-child { order: 5; padding: 0 !important; font-size: 14px !important; }
    .cf-header-actions > a:last-child { order: 2; margin-left: auto; padding: 9px 14px !important; font-size: 13.5px !important; }
    .cf-nav { order: 4; width: auto; flex: 1 1 auto; gap: 16px !important; }
    .cf-nav a { font-size: 14px !important; }
  }
  @media (max-width: 420px) {
    .cf-hero > div:nth-child(2) > div:first-child { padding: 6px 12px !important; margin-bottom: 20px !important; }
    .cf-hero > div:nth-child(2) > div:first-child span:last-child { font-size: 11.5px !important; letter-spacing: 0.04em !important; }
  }

  /* --- Hero --- */
  @media (max-width: 900px) {
    .cf-hero { grid-template-columns: 1fr !important; gap: 44px !important; padding: 56px 20px 60px !important; }
    .cf-hero-glow { width: 320px !important; height: 320px !important; top: -40px !important; right: -90px !important; }
  }
  @media (max-width: 600px) {
    .cf-hero { padding: 42px 16px 48px !important; gap: 36px !important; }
    .cf-hero p { font-size: 17px !important; }
    .cf-hero-media img { width: 260px !important; max-width: 74% !important; }
  }

  /* --- Botoneras: a lo ancho en pantallas chicas --- */
  @media (max-width: 420px) {
    .cf-btn-row { gap: 10px !important; }
    .cf-btn-row > a { flex: 1 1 100%; text-align: center; }
  }

  /* --- Barra de eventos --- */
  @media (max-width: 600px) {
    .cf-trust { padding: 24px 16px !important; gap: 12px 18px !important; }
  }

  /* --- Espaciado general de secciones --- */
  @media (max-width: 760px) {
    .cf-sec { padding: 64px 20px !important; }
    .cf-sec-b { padding: 0 20px 64px !important; }
  }
  @media (max-width: 600px) {
    .cf-sec { padding: 54px 16px !important; }
    .cf-sec-b { padding: 0 16px 54px !important; }
  }

  /* --- Funciones --- */
  @media (max-width: 980px) { .cf-features { grid-template-columns: repeat(2, 1fr) !important; } }
  @media (max-width: 620px) {
    .cf-features { grid-template-columns: 1fr !important; gap: 16px !important; }
    .cf-features > div { padding: 24px !important; }
  }

  /* --- Cotizaciones --- */
  @media (max-width: 900px) {
    .cf-cotiz { grid-template-columns: 1fr !important; gap: 34px !important; padding: 42px 30px !important; border-radius: 24px !important; }
  }
  @media (max-width: 600px) {
    .cf-cotiz { padding: 32px 20px !important; }
    .cf-cotiz > div:last-child { padding: 20px !important; }
    .cf-cotiz-head { flex-wrap: wrap !important; }
    .cf-cotiz-head > span:last-child { margin-left: 0 !important; width: 100%; }
  }
  @media (max-width: 400px) { .cf-cotiz-grid { grid-template-columns: 1fr !important; } }

  /* --- La app por dentro --- */
  @media (max-width: 640px) {
    .cf-app-frame { padding: 10px !important; border-radius: 16px !important; }
  }

  /* --- Planes --- */
  @media (max-width: 1080px) {
    .cf-plans { grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
    .cf-plan-featured { transform: none !important; }
  }
  @media (max-width: 740px) { .cf-plans { grid-template-columns: repeat(2, 1fr) !important; } }
  @media (max-width: 520px) {
    .cf-plans { grid-template-columns: 1fr !important; gap: 24px !important; }
    .cf-plans > div { padding: 24px 20px !important; }
  }

  /* --- Preguntas frecuentes --- */
  @media (max-width: 640px) {
    .cf-faq-btn { padding: 18px 18px !important; font-size: 15.5px !important; gap: 12px !important; }
    .cf-faq-ans { padding: 0 18px 20px !important; font-size: 15px !important; }
  }

  /* --- CTA final --- */
  @media (max-width: 760px) { .cf-cta { padding: 52px 26px !important; border-radius: 24px !important; } }
  @media (max-width: 420px) { .cf-cta { padding: 42px 18px !important; } }
  @media (max-width: 480px) {
    .cf-cta > div:last-child { display: flex !important; flex-direction: column; gap: 10px !important; }
    .cf-cta > div:last-child > span:first-child { width: 100%; text-align: center; }
  }

  /* --- Footer --- */
  @media (max-width: 860px) { .cf-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 34px !important; } }
  @media (max-width: 520px) { .cf-footer-grid { grid-template-columns: 1fr !important; gap: 30px !important; } }

  /* --- Accesibilidad: respetar reduced motion --- */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  }

/* ===================== ESTADOS :hover ===================== */
  .cf-btn-primary:hover { background: #0A3D30; }
  .cf-btn-plan:hover { background: #d8e9e0; }
  .cf-btn-cream:hover { background: #fff; }
  .cf-btn-glass:hover { background: rgba(255,255,255,0.16); }
  .cf-btn-outline:hover { border-color: #0E5542; }
  .cf-wa-float { transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
  .cf-wa-float:hover { background: #1EBE5A; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(37,211,102,0.45); }

/* ===================== WHATSAPP FLOTANTE ===================== */
  @media (max-width: 520px) {
    .cf-wa-float { right: 16px !important; bottom: 16px !important; width: 52px !important; height: 52px !important; }
    .cf-wa-float svg { width: 27px; height: 27px; }
  }
