.propuesta-hero-vanta{ width:100%; box-sizing:border-box; padding:4rem 6rem; position:relative; isolation:isolate; overflow:hidden; border-radius:18px; background:linear-gradient(180deg, rgba(7,28,41,0.9), rgba(7,28,41,0.95)); color:#fff; }
.propuesta-hero-vanta.alignfull{ border-radius:0; }
.propuesta-hero-vanta > :not(canvas){ position:relative; z-index:1; }
.propuesta-hero-vanta canvas{ position:absolute !important; inset:0; z-index:0; }
.propuesta-hero-vanta__content{ position:relative; z-index:1; }
.propuesta-hero-vanta__content--card{ width:min(100%, 800px); margin-inline:auto; padding:clamp(2rem, 5vw, 3rem); box-sizing:border-box; border-radius:24px; background:rgba(10,37,64,0.96); box-shadow:0 18px 38px rgba(4,20,35,0.28); }
.propuesta-hero-vanta__eyebrow{ display:flex; align-items:center; gap:9px; margin:0 0 1rem; color:#c5d4df; font-size:.73rem; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.propuesta-hero-vanta__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-hero-vanta__title{ font-size:clamp(2.25rem, 5vw, 3rem); line-height:1.1; margin:0 0 1rem; color:inherit; }
.propuesta-hero-vanta__description{ font-size:1.1rem; opacity:0.9; }
.propuesta-hero-vanta .has-text-align-left{ text-align:left; }
.propuesta-hero-vanta .has-text-align-center{ text-align:center; }
.propuesta-hero-vanta .has-text-align-right{ text-align:right; }
.pp-buttons{ margin-top:1.5rem }
.pp-btn{ display:inline-block; padding:0.8rem 1.4rem; border-radius:999px; text-decoration:none; margin-right:0.6rem }
.pp-btn-primary{ background:#ffd400; color:#111 }
.pp-btn-secondary{ border:1px solid rgba(255,255,255,0.2); color:#fff }
.pp-buttons:empty{ display:none; }
.pp-buttons .wp-block-button__link{ display:inline-block; padding:0.8rem 1.4rem; border-radius:999px; text-decoration:none; }
.pp-buttons .pp-hero-vanta__button--primary .wp-block-button__link{ background:#ffd400; color:#111; }
.pp-buttons .pp-hero-vanta__button--secondary .wp-block-button__link{ border:1px solid rgba(255,255,255,0.2); color:#fff; background:transparent; }
.propuesta-hero-vanta small{ display:block; margin-top:1rem; opacity:0.8 }
@media (max-width:781px){ .propuesta-hero-vanta{ padding:3rem 1.5rem; } }

/* Hero Vanta Ateneo: el canvas va detrás del contenido y se mezcla con el degradado de la referencia. */
.propuesta-hero-vanta-ateneo{ position:relative; isolation:isolate; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; width:100%; overflow:hidden; background:linear-gradient(135deg,#06182a,#0a2540 54%,#123e61); color:#fff; }
.propuesta-hero-vanta-ateneo.alignfull{ border-radius:0; }.propuesta-hero-vanta-ateneo canvas{ position:absolute !important; inset:0; z-index:-2; width:100% !important; height:100% !important; opacity:.58; }
.propuesta-hero-vanta-ateneo__glow{ position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(circle at 50% 28%,transparent,rgba(2,15,28,.70)); }
.propuesta-hero-vanta-ateneo__content{ position:relative; z-index:1; width:min(100% - 40px,950px); margin:0 auto; padding:7.8rem 0 8.8rem; text-align:center; }
.propuesta-hero-vanta-ateneo__pill{ display:inline-block; margin:0 0 1.45rem; padding:.42rem .78rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; font-size:.78rem; font-weight:700; }.propuesta-hero-vanta-ateneo__pill::first-letter{ color:#59e6ad; }
.propuesta-hero-vanta-ateneo__title{ display:block; margin:0; color:#fff; font-size:clamp(2.65rem,6.25vw,5.1rem); font-weight:800; line-height:1.11; letter-spacing:-.065em; }.propuesta-hero-vanta-ateneo__title-main,.propuesta-hero-vanta-ateneo__title-highlight{ display:block; }.propuesta-hero-vanta-ateneo__title-highlight{ color:#ffd400; font-style:normal; }
.propuesta-hero-vanta-ateneo__description{ max-width:695px; margin:1.55rem auto 2rem; color:#d9e5ed; font-size:clamp(1rem,1.7vw,1.18rem); line-height:1.6; }.propuesta-hero-vanta-ateneo__actions{ justify-content:center; gap:.8rem; margin:0; }.propuesta-hero-vanta-ateneo__actions .wp-block-button__link{ min-height:52px; padding:.78rem 1.45rem; border-radius:999px; font-weight:800; text-decoration:none; transition:transform .22s ease; }.propuesta-hero-vanta-ateneo__actions .wp-block-button__link:hover{ transform:translateY(-3px); }.propuesta-hero-vanta-ateneo__button--primary .wp-block-button__link{ background:#ffd400; color:#06182a; box-shadow:0 10px 28px rgba(255,212,0,.22); }.propuesta-hero-vanta-ateneo__button--secondary .wp-block-button__link{ border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.07); color:#fff; }
.propuesta-hero-vanta-ateneo__proof{ position:absolute; right:0; bottom:0; left:0; z-index:1; padding:1.2rem 0; border-top:1px solid rgba(255,255,255,.15); background:rgba(1,17,31,.19); }.propuesta-hero-vanta-ateneo__proof-inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; width:min(100% - 40px,1160px); margin:auto; color:#c8d8e3; font-size:.78rem; }.propuesta-hero-vanta-ateneo__proof-tags{ color:#fff; }
@media (max-width:781px){ .propuesta-hero-vanta-ateneo__content{ width:min(100% - 32px,600px); padding:5.2rem 0 7.3rem; }.propuesta-hero-vanta-ateneo__proof-inner{ display:block; width:min(100% - 32px,600px); text-align:center; }.propuesta-hero-vanta-ateneo__proof-tags{ display:block; margin-top:.5rem; }.propuesta-hero-vanta-ateneo__actions{ flex-direction:column; align-items:stretch; }.propuesta-hero-vanta-ateneo__actions .wp-block-button{ width:100%; } }

.propuesta-pain-points{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); color:#0a2540; }
.propuesta-pain-points:not(.has-background){ background:#fff; }
.propuesta-pain-points__header{ max-width:750px; margin:0 auto clamp(2.5rem, 5vw, 4rem); }
.propuesta-pain-points__eyebrow{ display:flex; align-items:center; justify-content:center; gap:9px; margin:0 0 1rem; color:#607181; font-size:.73rem; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.propuesta-pain-points__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-pain-points__title{ margin:0; color:inherit; font-size:clamp(2.1rem, 4.5vw, 3.45rem); line-height:1.12; letter-spacing:-.055em; }
.propuesta-pain-points__description{ max-width:650px; margin:1rem auto 0; color:#607181; font-size:1.05rem; }
.propuesta-pain-points .has-text-align-left{ text-align:left; }
.propuesta-pain-points .has-text-align-center{ text-align:center; }
.propuesta-pain-points .has-text-align-right{ text-align:right; }
.propuesta-pain-points__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap:20px; max-width:1160px; margin:0 auto; }
.propuesta-pain-card{ position:relative; z-index:0; min-height:320px; padding:30px 27px; overflow:hidden; border:1px solid rgba(197,216,230,.16); border-radius:20px; background:#062238; color:#cad7df; box-sizing:border-box; }
.propuesta-pain-card > *{ position:relative; z-index:1; }
.propuesta-pain-card.is-animated::before{ content:""; position:absolute; z-index:0; inset:-50%; background:conic-gradient(transparent 10%, #ffd400 25%, #16c784 34%, transparent 43% 75%, #83b9e3 85%, transparent 95%); animation:propuesta-pain-card-spin 7s linear infinite; }
.propuesta-pain-card.is-animated::after{ content:""; position:absolute; z-index:0; inset:2px; border-radius:18px; background:#062238; }
.propuesta-pain-card__number{ display:inline-grid; place-items:center; min-width:35px; min-height:35px; margin:0 0 22px; padding:0 9px; border-radius:10px; background:rgba(255,212,0,.14); color:#ffd400; font-size:.78rem; font-weight:800; }
.propuesta-pain-card__title{ margin:0 0 12px; color:#fff; font-size:clamp(1.35rem, 2.2vw, 1.7rem); line-height:1.17; letter-spacing:-.045em; }
.propuesta-pain-card__description{ margin:0; color:#cad7df; font-size:.94rem; line-height:1.6; }
.propuesta-pain-card__accent{ margin:20px 0 0; color:#59e6ad; font-size:.9rem; font-weight:800; line-height:1.45; }
@keyframes propuesta-pain-card-spin{ to{ transform:rotate(1turn); } }
@media (prefers-reduced-motion:reduce){ .propuesta-pain-card.is-animated::before{ animation:none; } }
@media (max-width:781px){ .propuesta-pain-points{ padding-inline:1.25rem; } .propuesta-pain-card{ min-height:0; } }

.propuesta-difference{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); color:#d2e0e8; }
.propuesta-difference:not(.has-background){ background:#0a2540; }
.propuesta-difference__layout{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(280px, .72fr); gap:clamp(2.5rem, 8vw, 7rem); align-items:center; max-width:1160px; margin:auto; }
.propuesta-difference.is-reversed .propuesta-difference__content{ order:2; }
.propuesta-difference.is-reversed .propuesta-difference__metric{ order:1; }
.propuesta-difference__eyebrow{ display:flex; align-items:center; gap:9px; margin:0 0 1rem; color:#bbcad5; font-size:.73rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.propuesta-difference__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-difference__title{ margin:0; color:#fff; font-size:clamp(2.25rem, 4.5vw, 4rem); line-height:1.11; letter-spacing:-.055em; }
.propuesta-difference__description{ margin:1.25rem 0 0; color:#c1d0db; font-size:1.06rem; line-height:1.65; }
.propuesta-difference .has-text-align-left{ text-align:left; }.propuesta-difference .has-text-align-center{ text-align:center; }.propuesta-difference .has-text-align-right{ text-align:right; }
.propuesta-difference__actions{ margin-top:1.8rem; }.propuesta-difference__actions:empty{ display:none; }
.propuesta-difference__actions .wp-block-button__link{ padding:.85rem 1.35rem; border-radius:999px; text-decoration:none; font-weight:800; }
.propuesta-difference__actions .propuesta-difference__button--primary .wp-block-button__link{ background:#ffd400; color:#0a2540; box-shadow:0 10px 24px rgba(255,212,0,.2); }
.propuesta-difference__metric{ padding:clamp(2rem, 4vw, 2.5rem); border:1px solid rgba(255,255,255,.14); border-radius:22px; background:rgba(255,255,255,.045); }
.propuesta-difference__metric-eyebrow{ margin:0 0 1.4rem; color:#c1d0db; font-size:.92rem; }
.propuesta-difference__number{ margin:0; color:#ffd400; font-size:clamp(4rem, 9vw, 6rem); font-weight:800; line-height:.95; letter-spacing:-.08em; }
.propuesta-difference__metric-label{ margin:.55rem 0 1.5rem; padding-bottom:1.5rem; border-bottom:1px solid rgba(255,255,255,.16); color:#fff; font-weight:800; }
.propuesta-difference__metric-description{ margin:0; color:#c1d0db; font-size:.94rem; line-height:1.65; }
@media (max-width:781px){ .propuesta-difference__layout{ grid-template-columns:1fr; gap:2rem; }.propuesta-difference.is-reversed .propuesta-difference__content,.propuesta-difference.is-reversed .propuesta-difference__metric{ order:initial; } }

.propuesta-process{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); color:#0a2540; }
.propuesta-process:not(.has-background){ background:#fff; }
.propuesta-process__header{ max-width:760px; margin:0 auto clamp(2.5rem, 5vw, 4rem); }
.propuesta-process__eyebrow{ display:flex; align-items:center; justify-content:center; gap:9px; margin:0 0 1rem; color:#607181; font-size:.73rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.propuesta-process__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-process__title{ margin:0; color:#0a2540; font-size:clamp(2.2rem, 4.5vw, 3.5rem); line-height:1.11; letter-spacing:-.055em; }
.propuesta-process__description{ max-width:680px; margin:1rem auto 0; color:#607181; font-size:1.05rem; line-height:1.65; }
.propuesta-process .has-text-align-left{ text-align:left; }.propuesta-process .has-text-align-center{ text-align:center; }.propuesta-process .has-text-align-right{ text-align:right; }
.propuesta-process__layout{ display:grid; grid-template-columns:minmax(0, 1.12fr) minmax(280px, .78fr); gap:clamp(2.5rem, 7vw, 6rem); align-items:center; max-width:1160px; margin:auto; }
/* Sin imagen, el guardado no imprime figure. Flex centra la línea y las tarjetas
   como una sola columna; ajustar 760px si se desea una cronología más ancha.
   Se detecta por la ausencia de figure, sin cambiar el HTML guardado del bloque. */
.propuesta-process__layout:not(:has(.propuesta-process__figure)){ display:flex; justify-content:center; }
.propuesta-process__layout:not(:has(.propuesta-process__figure)) .propuesta-process__steps{ width:min(100%, 760px); }
.propuesta-process__steps{ position:relative; display:grid; gap:18px; }
.propuesta-process__steps::before{ content:""; position:absolute; z-index:0; top:28px; bottom:28px; left:21px; width:2px; background:linear-gradient(#ffd400, #c9d3da); }
.propuesta-process-step{ position:relative; z-index:1; display:grid; grid-template-columns:45px minmax(0, 1fr); gap:17px; align-items:start; color:#607181; }
.propuesta-process-step__number{ display:grid; place-items:center; width:44px; min-height:44px; margin:0; border-radius:11px; background:#ffd400; color:#0a2540; font-weight:800; }
.propuesta-process-step__content{ padding:20px 22px; border:1px solid #dce4ea; border-radius:15px; background:#fff; box-shadow:0 8px 20px rgba(10,37,64,.04); }
.propuesta-process-step.has-background{ background:transparent !important; }
.propuesta-process-step__day{ margin:0; color:#9a7900; font-size:.72rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.propuesta-process-step__title{ margin:4px 0 8px; color:#0a2540; font-size:1.35rem; line-height:1.2; letter-spacing:-.04em; }
.propuesta-process-step__description{ margin:0; color:inherit; font-size:.92rem; line-height:1.55; }
.propuesta-process-step__deliverable{ margin:7px 0 0; color:inherit; font-size:.9rem; font-weight:700; line-height:1.5; }
.propuesta-process-step.has-text-color .propuesta-process-step__content,.propuesta-process-step.has-text-color .propuesta-process-step__content *{ color:inherit; }
.propuesta-process__figure{ position:relative; margin:0; }
.propuesta-process__figure.is-floating{ animation:propuesta-process-float 6s ease-in-out infinite; }
.propuesta-process__figure img{ display:block; width:100%; max-height:760px; border-radius:24px; box-shadow:0 18px 46px rgba(10,37,64,.14); object-fit:cover; }
.propuesta-process__figure figcaption{ margin-top:12px; color:#607181; font-size:.75rem; text-align:center; }
.propuesta-process__change-image{ margin-top:12px; }
@keyframes propuesta-process-float{ 50%{ transform:translate(10px, -12px); } }
@media (max-width:781px){ .propuesta-process__layout{ grid-template-columns:1fr; gap:2.5rem; }.propuesta-process__figure{ max-width:540px; margin:auto; }.propuesta-process__steps::before{ bottom:20px; } }
@media (prefers-reduced-motion:reduce){ .propuesta-process__figure.is-floating{ animation:none; } }

/* Imagen Ateneo: bordes uniformes y una sombra suave para un efecto flotante. */
.propuesta-image-ateneo{ box-sizing:border-box; margin:0; overflow:hidden; border-radius:25px; box-shadow:0 18px 42px rgba(10,37,64,.18); }
.propuesta-image-ateneo img{ display:block; width:100%; height:auto; border-radius:25px; }

/* Mapa de decisión */
.propuesta-decision{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); color:#0a2540; }
.propuesta-decision:not(.has-background){ background:#f4f7f9; }
.propuesta-decision__header{ max-width:850px; margin:0 auto clamp(2.5rem, 5vw, 4.25rem); }
.propuesta-decision__eyebrow{ display:flex; align-items:center; justify-content:center; gap:9px; margin:0 0 1rem; color:#607181; font-size:.73rem; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.propuesta-decision__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-decision__title{ margin:0; color:inherit; font-size:clamp(2.25rem, 5vw, 4rem); line-height:1.1; letter-spacing:-.06em; }
.propuesta-decision__description{ max-width:700px; margin:1.2rem auto 0; color:#607181; font-size:1.06rem; line-height:1.65; }
.propuesta-decision .has-text-align-left{ text-align:left; }.propuesta-decision .has-text-align-center{ text-align:center; }.propuesta-decision .has-text-align-right{ text-align:right; }
.propuesta-decision__body{ max-width:1160px; margin:auto; }
.propuesta-decision-list{ display:flex; align-items:stretch; width:100%; padding:0 1px 16px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; scrollbar-color:#cbd6de transparent; }
.propuesta-decision-card{ position:relative; flex:1 0 0; min-width:260px; min-height:184px; scroll-snap-align:start; box-sizing:border-box; margin:0; padding:38px 28px 26px; overflow:visible; border:1px solid #d8e1e7; border-radius:19px; box-shadow:0 11px 26px rgba(10,37,64,.055); }
.propuesta-decision-card:not(.has-background){ background:#fff; }
.propuesta-decision-card:not(.has-text-color){ color:#607181; }
.propuesta-decision-card:not(:last-child){ margin-right:96px; }
.propuesta-decision-card:not(:last-child)::after{ content:""; position:absolute; z-index:0; top:50%; right:-96px; width:96px; height:2px; background:linear-gradient(90deg,#ffd400,#16c784); }
.propuesta-decision-card:not(:last-child)::before{ content:""; position:absolute; z-index:1; top:calc(50% - 5px); right:-96px; width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:8px solid #16c784; }
.propuesta-decision-card > *{ position:relative; z-index:2; }
.propuesta-decision-card__number{ margin:0 0 12px; color:#a77e00; font-size:.78rem; font-weight:800; line-height:1; }
.propuesta-decision-card__title{ margin:0 0 8px; color:#0a2540; font-size:1.38rem; line-height:1.18; letter-spacing:-.045em; }
.propuesta-decision-card__description{ margin:0; color:inherit; font-size:.96rem; line-height:1.6; }
.propuesta-decision-card.has-text-color .propuesta-decision-card__title,.propuesta-decision-card.has-text-color .propuesta-decision-card__number{ color:inherit; }
.propuesta-decision__actions{ display:flex; justify-content:center; gap:8px; margin:20px 0 0; }
.propuesta-decision__actions:empty{ display:none; }
.propuesta-decision__actions .wp-block-button__link{ padding:.78rem 1.15rem; border:1px solid #d5dfe6; border-radius:999px; background:#fff; color:#0a2540; font-weight:800; text-decoration:none; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.propuesta-decision__actions .wp-block-button.is-active .wp-block-button__link{ border-color:#0a2540; background:#0a2540; color:#fff; }
.propuesta-decision__responses{ min-height:1.7em; margin-top:1.35rem; color:#607181; text-align:center; }
.propuesta-decision__responses p{ display:none; margin:0; }
.propuesta-decision__responses p.is-active{ display:block; }
@media (max-width:781px){
    .propuesta-decision-list{ display:block; padding:0; overflow:visible; }
    .propuesta-decision-card{ width:100%; min-width:0; min-height:0; }
    .propuesta-decision-card:not(:last-child){ margin:0 0 64px; }
    .propuesta-decision-card:not(:last-child)::after{ top:auto; right:auto; bottom:-64px; left:50%; width:2px; height:64px; background:linear-gradient(#ffd400,#16c784); }
    .propuesta-decision-card:not(:last-child)::before{ top:auto; right:auto; bottom:-64px; left:calc(50% - 5px); border:0; border-right:6px solid transparent; border-left:6px solid transparent; border-top:8px solid #16c784; }
    .propuesta-decision__actions{ flex-wrap:wrap; }
}

/* Planes de inversión */
.propuesta-plans{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); color:#0a2540; }
.propuesta-plans:not(.has-background){ background:#f4f7f9; }
.propuesta-plans__header{ max-width:850px; margin:0 auto clamp(2.5rem, 5vw, 4rem); }
.propuesta-plans__eyebrow{ display:flex; align-items:center; justify-content:center; gap:9px; margin:0 0 1rem; color:#607181; font-size:.73rem; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.propuesta-plans__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-plans__title{ margin:0; color:inherit; font-size:clamp(2.25rem, 5vw, 4rem); line-height:1.1; letter-spacing:-.06em; }
.propuesta-plans__description{ max-width:720px; margin:1.2rem auto 0; color:#607181; font-size:1.06rem; line-height:1.65; }
.propuesta-plans .has-text-align-left{ text-align:left; }.propuesta-plans .has-text-align-center{ text-align:center; }.propuesta-plans .has-text-align-right{ text-align:right; }
.propuesta-plans__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap:26px; max-width:1280px; margin:auto; align-items:stretch; }
.propuesta-plan-card{ display:flex; flex-direction:column; min-height:100%; box-sizing:border-box; padding:38px 35px 35px; border:1px solid #d8e1e7; border-radius:20px; box-shadow:0 12px 28px rgba(10,37,64,.05); }
.propuesta-plan-card:not(.has-background){ background:#fff; }
.propuesta-plan-card:not(.has-text-color){ color:#0a2540; }
.propuesta-plan-card__eyebrow{ margin:0 0 18px; color:#9a7900; font-size:.76rem; font-weight:800; letter-spacing:-.015em; line-height:1.3; text-transform:uppercase; }
.propuesta-plan-card__title{ margin:0 0 17px; color:inherit; font-size:clamp(1.35rem, 2.4vw, 1.7rem); line-height:1.17; letter-spacing:-.05em; }
.propuesta-plan-card__price{ margin:0 0 12px; color:inherit; font-size:clamp(2rem, 4vw, 2.65rem); font-weight:800; line-height:1.05; letter-spacing:-.06em; }
.propuesta-plan-card__description{ margin:0; color:inherit; opacity:.72; font-size:.98rem; line-height:1.6; }
.propuesta-plan-card__features{ display:grid; gap:13px; margin:38px 0 30px; padding:0; color:inherit; font-size:.96rem; line-height:1.45; list-style:none; }
.propuesta-plan-card__features li{ position:relative; padding-left:23px; }
.propuesta-plan-card__features li::before{ content:'✓'; position:absolute; left:0; color:#16ae70; font-weight:800; }
.propuesta-plan-card.has-text-color .propuesta-plan-card__eyebrow,.propuesta-plan-card.has-text-color .propuesta-plan-card__title,.propuesta-plan-card.has-text-color .propuesta-plan-card__price{ color:inherit; }
.propuesta-plan-card__actions{ display:flex; justify-content:center; width:100%; margin:auto 0 0; }
.propuesta-plan-card__actions:empty{ display:none; }
.propuesta-plan-card__actions .wp-block-button{ width:100%; }
.propuesta-plan-card__actions .wp-block-button__link{ display:block; width:100%; padding:.88rem 1.2rem; border-radius:999px; background:#0a2540; color:#fff; font-weight:800; text-align:center; text-decoration:none; }
.propuesta-plan-card__actions .propuesta-plan-card__button.is-featured .wp-block-button__link{ background:#ffd400; color:#0a2540; box-shadow:0 10px 20px rgba(255,212,0,.2); }
@media (max-width:781px){ .propuesta-plan-card{ padding:30px 26px; } }

/* Empresas que confían */
.propuesta-trust{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); color:#fff; }
.propuesta-trust:not(.has-background){ background:#062238; }
.propuesta-trust__header{ max-width:850px; margin:0 auto; }
.propuesta-trust__eyebrow{ display:flex; align-items:center; justify-content:center; gap:9px; margin:0 0 1rem; color:#bbcad5; font-size:.73rem; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.propuesta-trust__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-trust__title{ margin:0; color:inherit; font-size:clamp(2.3rem, 5vw, 4rem); line-height:1.1; letter-spacing:-.06em; }
.propuesta-trust__description{ max-width:760px; margin:1.3rem auto 0; color:#c1d0db; font-size:1.06rem; line-height:1.65; }
.propuesta-trust .has-text-align-left{ text-align:left; }.propuesta-trust .has-text-align-center{ text-align:center; }.propuesta-trust .has-text-align-right{ text-align:right; }
.propuesta-trust__body{ max-width:1280px; margin:auto; }
.propuesta-trust__actions{ display:flex; justify-content:center; margin:2rem 0 0; }
.propuesta-trust__actions:empty{ display:none; }
.propuesta-trust__actions .wp-block-button__link{ padding:.95rem 1.55rem; border-radius:999px; box-shadow:0 10px 22px rgba(255,212,0,.2); font-weight:800; text-decoration:none; }
.propuesta-trust__actions .wp-block-button__link:not(.has-background){ background:#ffd400; }
.propuesta-trust__actions .wp-block-button__link:not(.has-text-color){ color:#0a2540; }
.propuesta-trust__companies{ margin-top:4.5rem; overflow:hidden; }
.propuesta-trust__companies-label{ margin:0 0 1.5rem; color:#bbcad5; font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.propuesta-trust__companies-grid{ display:flex; align-items:center; justify-content:center; gap:30px; min-width:max-content; }
.propuesta-trust__companies-grid.is-moving{ justify-content:flex-start; width:max-content; animation:propuesta-trust-marquee 38s linear infinite; will-change:transform; }
.propuesta-trust__companies-grid.is-moving:hover{ animation-play-state:paused; }
.propuesta-trust-company{ flex:0 0 auto; margin:0; color:#fff; font-size:clamp(1.1rem, 2.2vw, 1.5rem); font-weight:800; line-height:1.2; white-space:nowrap; }
.propuesta-trust-company a,.propuesta-trust-company a:visited,.propuesta-trust-company a:hover,.propuesta-trust-company a:focus-visible{ color:inherit; text-decoration:none !important; }
.propuesta-trust-company__lead,.propuesta-trust-company__lead a{ color:#fff !important; }
.propuesta-trust-company__tail,.propuesta-trust-company__tail a{ color:#ffd400 !important; }
.propuesta-trust-company__prefix,.propuesta-trust-company__prefix a,.propuesta-trust-company__prefix a:visited,.propuesta-trust-company__prefix a:hover{ color:#fff !important; }
.propuesta-trust-company__suffix,.propuesta-trust-company__suffix a,.propuesta-trust-company__suffix a:visited,.propuesta-trust-company__suffix a:hover{ color:#ffd400 !important; }
.propuesta-trust-company .propuesta-trust-company__prefix[style],.propuesta-trust-company .propuesta-trust-company__suffix[style]{ color:inherit; }
@keyframes propuesta-trust-marquee{ to{ transform:translateX(calc(-50% - 15px)); } }
@media (prefers-reduced-motion:reduce){ .propuesta-trust__companies-grid.is-moving{ animation:none; } }
@media (max-width:781px){ .propuesta-trust__companies{ margin-top:3.25rem; }.propuesta-trust__companies-grid{ gap:22px; }.propuesta-trust__companies-grid.is-moving{ animation-duration:28s; }.propuesta-trust-company{ font-size:1.08rem; } }

/* Información general */
.propuesta-general{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); color:#0a2540; }
.propuesta-general:not(.has-background){ background:#fff; }
.propuesta-general__grid{ display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr); gap:clamp(2.5rem, 9vw, 10rem); align-items:start; max-width:1280px; margin:auto; }
.propuesta-general.is-reversed .propuesta-general__heading{ order:2; }.propuesta-general.is-reversed .propuesta-general__description{ order:1; }
.propuesta-general__eyebrow{ display:flex; align-items:center; gap:9px; margin:0 0 1.2rem; color:#607181; font-size:.73rem; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.propuesta-general__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-general__title{ margin:0; color:inherit; font-size:clamp(2.35rem, 5vw, 4.35rem); line-height:1.08; letter-spacing:-.065em; }
.propuesta-general__description{ margin:1rem 0 0; color:#607181; font-size:1.08rem; line-height:1.65; }
.propuesta-general .has-text-align-left{ text-align:left; }.propuesta-general .has-text-align-center{ text-align:center; }.propuesta-general .has-text-align-right{ text-align:right; }
@media (max-width:781px){ .propuesta-general__grid{ grid-template-columns:1fr; gap:1.25rem; }.propuesta-general.is-reversed .propuesta-general__heading,.propuesta-general.is-reversed .propuesta-general__description{ order:initial; } }

/* Reseñas de usuarios */
.propuesta-testimonials{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); color:#0a2540; }
.propuesta-testimonials:not(.has-background){ background:#f4f7f9; }
.propuesta-testimonials__header{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(280px, .75fr); gap:clamp(2rem, 8vw, 8rem); align-items:start; max-width:1160px; margin:0 auto clamp(2.5rem, 5vw, 3.75rem); }
.propuesta-testimonials__eyebrow{ display:flex; align-items:center; gap:9px; margin:0 0 1rem; color:#607181; font-size:.73rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.propuesta-testimonials__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-testimonials__title{ margin:0; color:inherit; font-size:clamp(2.4rem, 5vw, 4rem); line-height:1.1; letter-spacing:-.06em; }
.propuesta-testimonials__description{ margin:0; color:#607181; font-size:1.05rem; line-height:1.65; }
.propuesta-testimonials .has-text-align-left{ text-align:left; }.propuesta-testimonials .has-text-align-center{ text-align:center; }.propuesta-testimonials .has-text-align-right{ text-align:right; }
.propuesta-testimonials__viewport{ max-width:1160px; margin:auto; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; }
.propuesta-testimonials__viewport::-webkit-scrollbar{ display:none; }
.propuesta-testimonials__track{ display:flex; gap:20px; width:max-content; }
.propuesta-testimonial{ flex:0 0 calc((min(1160px, 100vw - 2.5rem) - 40px) / 3); min-width:280px; min-height:296px; box-sizing:border-box; padding:32px 30px; border:1px solid #dce5ea; border-radius:20px; scroll-snap-align:start; box-shadow:0 10px 24px rgba(10,37,64,.035); }
.propuesta-testimonial:not(.has-background){ background:#fff; }.propuesta-testimonial:not(.has-text-color){ color:#0a2540; }
.propuesta-testimonial__stars{ margin:0 0 24px; color:#e9ae00; font-size:1rem; letter-spacing:.1em; }
.propuesta-testimonial__quote{ margin:0; color:inherit; font-size:1rem; line-height:1.6; }
.propuesta-testimonial__name{ margin:28px 0 2px; color:inherit; font-weight:800; }.propuesta-testimonial__name a,.propuesta-testimonial__name a:visited,.propuesta-testimonial__name a:hover,.propuesta-testimonial__name a:focus,.propuesta-testimonial__name a:active{ color:inherit !important; font:inherit; text-decoration:none !important; }
.propuesta-testimonial__small{ display:block; color:inherit; opacity:.68; font-size:.78rem; }
.propuesta-testimonials__controls{ display:flex; justify-content:center; gap:12px; margin-top:28px; }
.propuesta-testimonials__controls button{ display:grid; width:38px; height:38px; padding:0; place-items:center; border:1px solid #d7e0e6; border-radius:50%; background:#fff; color:#0a2540; cursor:pointer; font-size:1rem; }
.propuesta-testimonials__controls button:hover{ border-color:#0a2540; background:#0a2540; color:#fff; }
@media (max-width:781px){ .propuesta-testimonials__header{ grid-template-columns:1fr; gap:1.1rem; }.propuesta-testimonial{ flex-basis:calc(100vw - 2.5rem); min-width:0; }.propuesta-testimonials__viewport{ scroll-padding-inline:0; } }

/* Preguntas frecuentes */
.propuesta-faq{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); color:#0a2540; }
.propuesta-faq:not(.has-background){ background:#fff; }
.propuesta-faq__layout{ display:grid; grid-template-columns:minmax(0, .8fr) minmax(0, 1.15fr); gap:clamp(3.5rem, 7vw, 5.625rem); align-items:start; max-width:1160px; margin:auto; }
.propuesta-faq__intro{ min-width:0; }.propuesta-faq__eyebrow{ display:flex; align-items:center; gap:9px; margin:0 0 1rem; color:#607181; font-size:.73rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.propuesta-faq__eyebrow::before{ content:""; flex:0 0 26px; width:26px; height:2px; background:#ffd400; }
.propuesta-faq__title{ margin:0; color:inherit; font-size:clamp(2rem, 4.1vw, 3.35rem); line-height:1.11; letter-spacing:-.055em; }.propuesta-faq__description{ margin:1.375rem 0 0; color:#607181; font-size:1rem; line-height:1.65; }
.propuesta-faq .has-text-align-left{ text-align:left; }.propuesta-faq .has-text-align-center{ text-align:center; }.propuesta-faq .has-text-align-right{ text-align:right; }
.propuesta-faq__actions{ margin-top:1.75rem; }.propuesta-faq__actions .wp-block-button__link{ padding:.78rem 0; background:transparent; color:#0a2540; font-weight:800; text-decoration:none; }.propuesta-faq__actions .propuesta-faq__button .wp-block-button__link:not(.has-background){ background:#ffd400; padding:.82rem 1.25rem; border-radius:999px; }.propuesta-faq__actions .wp-block-button__link:not(.has-text-color){ color:#0a2540; }
.propuesta-faq-item{ border-top:1px solid #d8e1e7; }.propuesta-faq-item:last-child{ border-bottom:1px solid #d8e1e7; }.propuesta-faq-item__toggle{ display:flex; width:100%; padding:22px 3px; align-items:center; justify-content:space-between; gap:20px; border:0; appearance:none; -webkit-appearance:none; background:transparent; color:inherit; cursor:pointer; text-align:left; transition:background-color .18s ease, box-shadow .18s ease; }.propuesta-faq-item__toggle:hover,.propuesta-faq-item__toggle:focus,.propuesta-faq-item__toggle:focus-visible{ background:#eef3f6 !important; box-shadow:inset 3px 0 0 #ffd400; color:#0a2540 !important; outline:0; }.propuesta-faq-item__toggle h3{ margin:0; color:inherit; font-size:1.02rem; line-height:1.35; }.propuesta-faq-item__toggle span{ color:#ba9200; font-size:1.35rem; font-weight:700; }.propuesta-faq-item__panel{ display:none; padding:0 3px 22px; }.propuesta-faq-item.is-open .propuesta-faq-item__panel{ display:block; }.propuesta-faq-item__answer{ margin:0; color:#607181; font-size:.92rem; line-height:1.65; }
@media (max-width:781px){ .propuesta-faq__layout{ grid-template-columns:1fr; gap:2.5rem; } }

/* Últimas entradas: Flexbox mantiene tarjetas dinámicas de 3, 6 o 9 sin depender de Grid. */
.propuesta-latest-posts{ box-sizing:border-box; padding:clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.5rem); background:#062238; color:#fff; }
.propuesta-latest-posts__inner{ max-width:1280px; margin:auto; }.propuesta-latest-posts__header{ display:flex; flex-wrap:wrap; align-items:end; gap:1.25rem clamp(2rem, 7vw, 7rem); margin-bottom:clamp(2.5rem, 5vw, 4rem); }.propuesta-latest-posts__eyebrow{ display:flex; flex:0 0 100%; align-items:center; gap:10px; margin:0; color:#c1d0db; font-size:.73rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.propuesta-latest-posts__eyebrow::before{ content:""; flex:0 0 30px; width:30px; height:2px; background:#ffd400; }.propuesta-latest-posts__title{ flex:1 1 52%; margin:0; color:inherit; font-size:clamp(2.4rem, 5.2vw, 4.25rem); line-height:1.05; letter-spacing:-.065em; }.propuesta-latest-posts__description{ flex:1 1 32%; max-width:440px; margin:0 0 .35rem; color:#c1d0db; font-size:1.05rem; line-height:1.55; }.propuesta-latest-posts .has-text-align-center{ text-align:center; }.propuesta-latest-posts .has-text-align-right{ text-align:right; }
.propuesta-latest-posts__cards{ display:flex; flex-wrap:wrap; gap:28px; }.propuesta-latest-posts__card{ display:flex; flex:1 1 calc((100% - 56px) / 3); flex-direction:column; min-width:260px; overflow:hidden; border-radius:22px; background:#fff; color:#0a2540; box-shadow:0 18px 40px rgba(0,0,0,.16); }.propuesta-latest-posts__image{ display:block; height:250px; overflow:hidden; background:#dce5ea; }.propuesta-latest-posts__image img{ width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }.propuesta-latest-posts__card:hover .propuesta-latest-posts__image img{ transform:scale(1.04); }.propuesta-latest-posts__image--empty{ display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#123e61,#0a2540); color:#c1d0db; font-size:.82rem; font-weight:700; }.propuesta-latest-posts__image--empty span{ padding:.65rem .9rem; border:1px solid rgba(255,255,255,.26); border-radius:999px; }.propuesta-latest-posts__content{ display:flex; flex:1 1 auto; flex-direction:column; padding:30px 32px 34px; }.propuesta-latest-posts__date{ align-self:flex-start; padding:.42rem .72rem; border-radius:999px; background:#eef3f6; color:#0a2540; font-size:.72rem; font-weight:800; text-transform:uppercase; }.propuesta-latest-posts__post-title{ margin:22px 0 14px; color:#0a2540; font-size:1.5rem; line-height:1.2; letter-spacing:-.045em; }.propuesta-latest-posts__post-title a{ color:inherit; text-decoration:none; }.propuesta-latest-posts__excerpt{ margin:0; color:#607181; line-height:1.65; }.propuesta-latest-posts__link{ align-self:flex-start; margin-top:auto; padding-top:28px; color:#0a2540; font-weight:800; text-decoration:none; }.propuesta-latest-posts__link span{ margin-left:.55rem; }.propuesta-latest-posts__empty{ width:100%; margin:0; color:#c1d0db; text-align:center; }
@media (max-width:781px){ .propuesta-latest-posts__header{ display:block; }.propuesta-latest-posts__title{ margin-top:1rem; }.propuesta-latest-posts__description{ margin-top:1.2rem; }.propuesta-latest-posts__card{ flex-basis:100%; }.propuesta-latest-posts__image{ height:220px; } }
.propuesta-latest-posts__post-title{ text-align:center; }.propuesta-latest-posts__post-title a,.propuesta-latest-posts__post-title a:visited,.propuesta-latest-posts__post-title a:hover,.propuesta-latest-posts__post-title a:focus{ color:inherit; text-decoration:none !important; text-decoration-line:none !important; }

/* Formulario de contacto: Flexbox reparte texto y formulario sin depender de Grid.
   Cada área puede crecer, pero el formulario tiene una base mayor para conservar una lectura cómoda. */
.propuesta-contact-form{ box-sizing:border-box; padding:clamp(4rem,8vw,7rem) clamp(1.25rem,4vw,2.5rem); color:#fff; }.propuesta-contact-form:not(.has-background){ background:#0a2540; }
.propuesta-contact-form__inner{ display:flex; flex-wrap:wrap; align-items:flex-start; gap:clamp(2.5rem,7vw,7rem); max-width:1280px; margin:auto; }
.propuesta-contact-form__copy{ flex:1 1 360px; max-width:530px; }.propuesta-contact-form__form{ flex:1 1 560px; box-sizing:border-box; padding:2.5rem; border-radius:24px; background:#fff; color:#0a2540; box-shadow:0 24px 48px rgba(0,0,0,.16); }
.propuesta-contact-form__eyebrow{ display:flex; align-items:center; gap:10px; margin:0 0 1.3rem; color:#c1d0db; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.propuesta-contact-form__eyebrow::before{ content:""; flex:0 0 30px; width:30px; height:2px; background:#ffd400; }
.propuesta-contact-form__title{ margin:0; color:inherit; font-size:clamp(2.7rem,5vw,4.35rem); line-height:1.04; letter-spacing:-.065em; }.propuesta-contact-form__description{ margin:1.65rem 0 0; color:#c1d0db; font-size:1.08rem; line-height:1.6; }
.propuesta-contact-form__benefits{ margin-top:1.7rem; }.propuesta-contact-form__benefits ul{ margin:0; padding:0; list-style:none; }.propuesta-contact-form__benefits li{ margin:.45rem 0; color:#59e6ad; font-weight:700; }.propuesta-contact-form__benefits li::before{ content:"✓"; display:inline-block; margin-right:.3rem; font-weight:800; }
.propuesta-contact-form .has-text-align-center{ text-align:center; }.propuesta-contact-form .has-text-align-right{ text-align:right; }
.propuesta-contact-form__form form{ display:flex; flex-wrap:wrap; gap:16px; }.propuesta-contact-form__form p{ flex:1 1 100%; margin:0; }.propuesta-contact-form__form .wpcf7 form > p{ margin-bottom:.2em; }.propuesta-contact-form__form .propuesta-contact-form__half{ flex:1 1 calc(50% - 8px); min-width:220px; }.propuesta-contact-form__form label{ display:flex; flex-direction:column; gap:8px; color:#31495d; font-size:.88rem; font-weight:800; }.propuesta-contact-form__form .wpcf7-form-control-wrap{ display:block; }
.propuesta-contact-form__form input:not([type=submit]),.propuesta-contact-form__form select,.propuesta-contact-form__form textarea{ box-sizing:border-box; width:100%; border:1px solid #d8e1e7; border-radius:11px; background:#fff; color:#0a2540; font:inherit; line-height:1.35; }.propuesta-contact-form__form input:not([type=submit]),.propuesta-contact-form__form select{ min-height:56px; padding:0 14px; }.propuesta-contact-form__form textarea{ min-height:128px; padding:14px; resize:vertical; }.propuesta-contact-form__form input:focus,.propuesta-contact-form__form select:focus,.propuesta-contact-form__form textarea:focus{ border-color:#0a2540; outline:2px solid rgba(10,37,64,.16); outline-offset:1px; }
.propuesta-contact-form__form input[type=submit],.propuesta-contact-form__form .wpcf7-submit{ width:100%; min-height:62px; border:0; border-radius:999px; background:#ffd400; color:#0a2540; cursor:pointer; font:inherit; font-weight:800; }.propuesta-contact-form__form input[type=submit]:hover,.propuesta-contact-form__form .wpcf7-submit:hover{ background:#e8c100; }.propuesta-contact-form__form .wpcf7-response-output{ flex:1 1 100%; margin:0 !important; }
.propuesta-contact-form__placeholder{ margin:0; color:#607181; text-align:center; }
@media (max-width:781px){ .propuesta-contact-form__inner{ display:block; }.propuesta-contact-form__form{ margin-top:2.5rem; }.propuesta-contact-form__form .propuesta-contact-form__half{ flex-basis:100%; } }
