/* Satoshi is the shared typeface. This pass trims display sizes slightly. */
body{font-size:15.5px}
.main-nav .nav-link,.main-nav .nav-drop-button{font-size:12.5px}
.hero h1{font-size:clamp(52px,5.35vw,77px)}
.hero-copy{font-size:15px}
.section-heading h2{font-size:clamp(35px,4.85vw,57px)}
.intro-lead{font-size:clamp(20px,2.2vw,28px)}
.split-heading>p{font-size:13.5px}
.service-card h3{font-size:18px}
.service-card p{font-size:10.5px}
.solution-card h3{font-size:13.5px}
.product-hero-copy h1{font-size:clamp(41px,4.8vw,65px)}
.product-hero-copy>p{font-size:14.5px}
.product-section-head h2,.detail-copy h2{font-size:clamp(33px,4.1vw,52px)}
.product-section-head p,.detail-copy>p{font-size:12.5px}
.product-step h3{font-size:15.5px}
.product-cta h2{font-size:clamp(41px,5.4vw,67px)}
.product-cta p{font-size:12.5px}
@media(max-width:900px) and (min-width:681px){.hero h1{font-size:clamp(48px,6vw,64px)}.product-hero-copy h1{font-size:clamp(39px,5.5vw,54px)}}
@media(max-width:680px){.hero h1{font-size:clamp(42px,11.5vw,58px)}.section-heading h2{font-size:clamp(34px,9.5vw,47px)}.hero-copy{font-size:14px}.product-hero-copy h1{font-size:clamp(38px,9.6vw,51px)}.product-section-head h2,.detail-copy h2{font-size:34px}.product-cta h2{font-size:42px}}

/* El enfoque CONSBI: titular y contexto a la izquierda, tres pilares en tarjetas a la derecha. */
.intro-section{padding:62px 0 68px!important}
.intro-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(30px,4.5vw,64px)}
.intro-copy{min-width:0}
.intro-copy .section-heading h2{max-width:690px;font-size:clamp(38px,4.1vw,54px);line-height:1.04;letter-spacing:-.055em}
.intro-copy .section-heading h2 em{white-space:nowrap}
.intro-lead{max-width:560px;margin:34px 0 0;font-size:clamp(18px,1.75vw,23px);line-height:1.55}
.intro-pillars{min-width:0}
.intro-pillars-heading{margin-bottom:18px}
.intro-pillars-heading .eyebrow{display:flex;align-items:center;gap:10px;color:#365e7c;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.intro-pillars-heading .eyebrow b{width:14px;height:4px;border-radius:3px;background:#d89a14;box-shadow:none}
.intro-pillars-heading>p{margin:7px 0 0;color:#788899;font-size:13px}
.intro-section .principles{display:grid;gap:10px;border:0}
.intro-section .principle{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr) 52px;align-items:center;gap:17px;min-height:91px;margin:0;padding:13px 15px;border:1px solid #e2eaf0;border-radius:16px;background:linear-gradient(110deg,#fff 0%,#f7fafc 100%);box-shadow:0 7px 20px rgba(30,47,77,.045);overflow:hidden;transform:translateX(0)}
.intro-section .principle-icon{position:relative;display:grid;place-items:center;width:62px;height:62px;min-width:0;margin:0;padding:0;border-radius:50%;background:#fbf3e2;color:#233d5d;transform:none}
.intro-section .principle-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.intro-section .principle-icon i{position:absolute;top:6px;right:4px;width:9px;height:9px;border:2px solid #fbf3e2;border-radius:50%;background:#d89a14;box-shadow:0 0 0 3px rgba(216,154,20,.1)}
.intro-section .principle-copy{min-width:0}
.intro-section .principle-copy>b{color:#203756;font-size:14px;line-height:1.3}
.intro-section .principle-copy p{margin:5px 0 0;color:#8391a1;font-size:11px;line-height:1.5}
.intro-section .principle-number{display:block;min-width:0;margin:0;padding:0 0 0 13px;border-left:1px solid rgba(216,154,20,.22);background:none;color:#e5c782;font-size:28px;line-height:1.1;font-weight:500;letter-spacing:-.04em;text-align:right;transform:none}
@media(max-width:1000px){.intro-section{padding:56px 0!important}.intro-layout{grid-template-columns:1fr;gap:32px}.intro-copy .section-heading h2{max-width:800px;font-size:clamp(38px,6vw,52px)}.intro-lead{max-width:700px;margin-top:22px}.intro-pillars{max-width:780px}}
@media(max-width:680px){.intro-section{padding:46px 0!important}.intro-layout{gap:26px}.intro-copy .section-heading h2{font-size:clamp(34px,9vw,45px)}.intro-copy .section-heading h2 br{display:none}.intro-copy .section-heading h2 em{white-space:normal}.intro-lead{font-size:18px;margin-top:18px}.intro-pillars-heading{margin-bottom:13px}.intro-section .principles{gap:8px}.intro-section .principle{grid-template-columns:48px minmax(0,1fr) 38px;gap:10px;min-height:78px;padding:10px}.intro-section .principle-icon{width:44px;height:44px}.intro-section .principle-icon svg{width:24px;height:24px}.intro-section .principle-icon i{top:2px;right:1px;width:8px;height:8px}.intro-section .principle-copy>b{font-size:12px}.intro-section .principle-copy p{font-size:10px;line-height:1.4}.intro-section .principle-number{padding-left:8px;font-size:21px}}

/* Casos: más separación tras la sección azul y simulador más compacto. */
.cases-section{padding-top:calc(var(--home-section-space, 80px) + 24px)!important}
.cases-section .split-heading{margin-bottom:17px}
.case-explorer{grid-template-columns:210px minmax(0,1fr)}
.case-controls{padding:20px 16px}
.case-tabs{gap:4px;margin:10px 0 22px}
.case-tab{padding:8px 10px}
.case-content{padding:23px 28px}
.case-intro h3{margin:7px 0}
.case-intro p{margin-bottom:13px}
.timeline-item{grid-template-columns:29px minmax(0,1fr) auto;gap:8px;padding:8px 0}
.timeline-item p{margin-top:2px}
.timeline-state{padding:5px 9px}
.case-note{margin-top:9px}
@media(max-width:900px){.cases-section{padding-top:calc(var(--home-section-space, 80px) + 22px)!important}.case-content{padding:20px 22px}}
@media(max-width:680px){.cases-section{padding-top:calc(85px + 18px)!important}.case-controls{padding:14px}.case-content{padding:18px 15px}.timeline-item{padding:7px 0}}
.cases-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(28px,4vw,54px)}
.cases-copy{min-width:0}
.cases-copy .section-heading h2{max-width:560px}
.cases-copy .section-heading h2 em{white-space:normal}
.cases-description{max-width:470px;margin:27px 0 0;color:#68798b;font-size:13.5px;line-height:1.7}
.cases-showcase{min-width:0}
.cases-showcase .case-explorer{grid-template-columns:180px minmax(0,1fr);box-shadow:0 12px 32px rgba(30,47,77,.05)}
.cases-showcase .case-controls{padding:17px 14px}
.cases-showcase .case-tabs{margin:9px 0 18px}
.cases-showcase .case-tab{padding:8px 9px}
.cases-showcase .case-content{padding:18px 20px}
.cases-showcase .case-intro p{margin-bottom:10px}
.cases-showcase .timeline-item{grid-template-columns:24px minmax(0,1fr) auto;gap:7px;padding:7px 0}
.cases-showcase .case-note{margin-top:7px}
.cases-showcase .cases-cta{display:flex;justify-content:flex-end;margin-top:11px}
@media(max-width:1000px){.cases-layout{grid-template-columns:1fr;gap:25px}.cases-copy .section-heading h2{max-width:700px}.cases-description{max-width:680px;margin-top:17px}.cases-showcase .case-explorer{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:680px){.cases-layout{gap:20px}.cases-showcase .case-explorer{display:block}.cases-showcase .case-controls{padding:14px}.cases-showcase .case-content{padding:18px 15px}.cases-showcase .timeline-item{grid-template-columns:24px minmax(0,1fr);gap:6px}.cases-showcase .timeline-state{grid-column:2;justify-self:start;margin-top:3px}.cases-showcase .cases-cta{justify-content:flex-start}}

/* Casos: selector horizontal de seis procesos, inspirado en el explorador de Locodea. */
.cases-showcase .case-explorer{display:block;grid-template-columns:1fr}
.cases-showcase .case-explorer{position:relative}
.cases-showcase .case-controls{padding:15px 17px 10px;border-right:0;border-bottom:1px solid #e7ebef;background:#f7f9fb}
.cases-showcase .case-control-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cases-showcase .before-after{flex-wrap:nowrap}
.cases-showcase .case-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 0}
.cases-showcase .case-tab{white-space:nowrap;padding:8px 10px}
.cases-showcase .case-content{padding:19px 22px}
.cases-showcase .case-content-body{display:grid;grid-template-columns:minmax(0,1fr) 185px;align-items:stretch;gap:16px}
.cases-showcase .case-outcome{display:flex;flex-direction:column;justify-content:center;gap:9px;padding:15px;border-radius:12px;background:#f7f9fb;border:1px solid #edf1f4}
.cases-showcase .case-outcome>span{color:#a97813;font-size:9px;letter-spacing:.12em;font-weight:700}
.cases-showcase .case-outcome>b{color:var(--navy);font-size:11px;line-height:1.4}
.cases-showcase .case-outcome>p{margin:0;color:#788593;font-size:10px;line-height:1.55}
.cases-showcase .case-outcome>small{margin-top:3px;color:var(--blue);font-size:9px;letter-spacing:.1em;font-weight:700}
@media(max-width:680px){.cases-showcase .case-control-top{align-items:flex-start;flex-direction:column;gap:9px}.cases-showcase .case-tabs{flex-wrap:nowrap;overflow-x:auto;padding:0 0 5px;scrollbar-width:thin}.cases-showcase .case-tab{flex:0 0 auto}.cases-showcase .case-content{padding:18px 15px}}
@media(max-width:1100px){.cases-showcase .case-content-body{grid-template-columns:minmax(0,1fr) 160px;gap:11px}}
@media(max-width:680px){.cases-showcase .case-content-body{grid-template-columns:1fr}.cases-showcase .case-outcome{gap:6px}}

/* Estados Antes / Con CONSBI, movimiento del flujo y pista visual para el control. */
.cases-showcase .before-after{position:relative;gap:9px;color:#9b4f55}
.cases-showcase .before-after>span:first-child{font-size:10px;font-weight:700}
.cases-showcase #mode-toggle{position:relative;flex:0 0 35px;box-shadow:0 0 0 3px rgba(207,111,117,.13);background:#d99a9e}
.cases-showcase #mode-toggle .toggle-knob{box-shadow:0 1px 4px rgba(35,49,68,.2)}
.cases-showcase .before-after #mode-label{color:#a9575c}
.cases-showcase .mode-cue{position:absolute;left:83px;top:-10px;color:#d89a14;font-size:15px;line-height:1;animation:caseCue 1.3s ease-in-out infinite;pointer-events:none}
.cases-showcase .mode-cue svg{display:block;width:14px;height:17px;fill:#d89a14;stroke:#fff;stroke-width:.8;filter:drop-shadow(0 1px 2px rgba(32,55,86,.24))}
.cases-showcase .case-explorer.is-consbi .before-after{color:#367653}
.cases-showcase .case-explorer.is-consbi #mode-toggle{background:#65a981;box-shadow:0 0 0 3px rgba(101,169,129,.16)}
.cases-showcase .case-explorer.is-consbi .before-after #mode-label{color:#367653}
.cases-showcase .case-explorer.is-before #mode-toggle .toggle-knob{transform:translateX(0)}
.cases-showcase .case-explorer.is-consbi #mode-toggle .toggle-knob{transform:translateX(16px)}
.cases-showcase .case-explorer.is-before .case-category{color:#b96e73}
.cases-showcase .case-explorer.is-consbi .case-category{color:#438763}
.cases-showcase .case-explorer.is-before .timeline-item time{color:#c77c80}
.cases-showcase .case-explorer.is-consbi .timeline-item time{color:#4b986b}
.cases-showcase .timeline-item b{display:flex;align-items:center;gap:8px}
.cases-showcase .step-icon{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:8px;background:#f9e8e8;color:#b96e73;transition:background .35s,color .35s,box-shadow .35s,transform .35s}
.cases-showcase .step-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cases-showcase .case-explorer.is-consbi .step-icon{background:#e4f3e9;color:#3b865d}
.cases-showcase .timeline-state{background:#fae9e9;color:#ad6469;transition:background .3s,color .3s}
.cases-showcase .case-explorer.is-before .timeline-item:nth-child(2) .timeline-state{background:#f5dfe0;color:#a84f57;animation:caseDelayPulse 1.8s ease-in-out infinite}
.cases-showcase .case-explorer.is-before .timeline-item:nth-child(2) .step-icon{animation:caseWaiting 1.8s ease-in-out infinite}
.cases-showcase .case-explorer.is-before .timeline-item:nth-child(2),.cases-showcase .case-explorer.is-before .timeline-item:nth-child(3){opacity:1}
.cases-showcase .case-explorer.is-consbi .timeline-state{background:#e4f3e9;color:#397b55}
.cases-showcase .case-explorer.is-consbi .timeline-item{animation:caseStepArrive .45s both;animation-delay:calc(var(--step-index)*.2s)}
.cases-showcase .case-explorer.is-consbi .timeline-item .step-icon{animation:caseFlowPulse 2.4s ease-in-out infinite;animation-delay:calc(var(--step-index)*.58s)}
.cases-showcase .case-outcome.is-before{background:#fff7f7;border-color:#f0dada}
.cases-showcase .case-outcome.is-before>span{color:#b96e73}
.cases-showcase .case-outcome.is-consbi{background:#f3faf5;border-color:#dceee1}
.cases-showcase .case-outcome.is-consbi>span{color:#438763}
.cases-showcase .case-outcome.is-consbi>small{color:#438763}
.cases-showcase .case-explorer.is-before .case-tab.active:before{background:#c77c80}
.cases-showcase .case-explorer.is-consbi .case-tab.active:before{background:#4b986b}
.cases-showcase .case-explorer.is-before .case-tab.active{background:#fff5f5}
.cases-showcase .case-explorer.is-consbi .case-tab.active{background:#f2faf4}
.cases-showcase .case-explorer.is-before .case-timeline.is-before .timeline-item:nth-child(2),.cases-showcase .case-explorer.is-before .case-timeline.is-before .timeline-item:nth-child(3){opacity:1}
.cases-showcase .case-confetti{position:absolute;z-index:5;top:0;left:var(--x);width:7px;height:10px;border-radius:2px;background:var(--confetti-color);pointer-events:none;animation:caseConfettiFall 1.35s cubic-bezier(.2,.65,.35,1) var(--delay) forwards}
@keyframes caseCue{0%,100%{transform:translate(0,0) rotate(-35deg)}50%{transform:translate(-2px,3px) rotate(-35deg)}}
@keyframes caseDelayPulse{0%,100%{box-shadow:0 0 0 0 rgba(185,91,98,0)}50%{box-shadow:0 0 0 4px rgba(185,91,98,.12)}}
@keyframes caseWaiting{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@keyframes caseStepArrive{from{opacity:0;transform:translateX(-9px)}to{opacity:1;transform:translateX(0)}}
@keyframes caseFlowPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(67,135,99,0)}45%{transform:scale(1.12);box-shadow:0 0 0 5px rgba(67,135,99,.12)}}
@keyframes caseConfettiFall{0%{opacity:0;transform:translateY(-8px) rotate(0)}12%{opacity:1}100%{opacity:0;transform:translateY(var(--fall)) rotate(var(--spin))}}
@media(prefers-reduced-motion:reduce){.cases-showcase .mode-cue,.cases-showcase .case-explorer.is-before .timeline-item:nth-child(2) .timeline-state,.cases-showcase .case-explorer.is-before .timeline-item:nth-child(2) .step-icon,.cases-showcase .case-explorer.is-consbi .timeline-item,.cases-showcase .case-explorer.is-consbi .timeline-item .step-icon{animation:none!important}.cases-showcase .case-confetti{display:none}}

/* El selector de comparación acompaña el texto de Casos en la columna izquierda. */
.cases-copy .before-after{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:10px;width:max-content;margin-top:22px;color:#a9575c}
.cases-copy .before-after #mode-label{font-size:11px;font-weight:700;color:#a9575c}
.cases-copy #mode-toggle{position:relative;flex:0 0 35px;box-shadow:0 0 0 3px rgba(207,111,117,.13);background:#d99a9e}
.cases-copy #mode-toggle .toggle-knob{box-shadow:0 1px 4px rgba(35,49,68,.2)}
.cases-copy .mode-cue{position:absolute;left:83px;top:-10px;line-height:1;animation:caseCue 1.3s ease-in-out infinite;pointer-events:none}
.cases-copy .mode-cue svg{display:block;width:14px;height:17px;fill:#1E2F4D;stroke:#1E2F4D;stroke-width:.8;filter:drop-shadow(0 1px 2px rgba(32,55,86,.24))}
.cases-layout.is-before .cases-copy .before-after #mode-label{color:#a9575c}
.cases-layout.is-before .cases-copy #mode-toggle{background:#d99a9e}
.cases-layout.is-before .cases-copy #mode-toggle .toggle-knob{transform:translateX(0)}
.cases-layout.is-consbi .cases-copy .before-after #mode-label{color:#367653}
.cases-layout.is-consbi .cases-copy #mode-toggle{background:#65a981;box-shadow:0 0 0 3px rgba(101,169,129,.16)}
.cases-layout.is-consbi .cases-copy #mode-toggle .toggle-knob{transform:translateX(16px)}
.cases-layout.is-before .cases-copy .mode-cue svg{fill:#1E2F4D}
@media(prefers-reduced-motion:reduce){.cases-copy .mode-cue{animation:none!important}}

/* Recorte moderado de altura del simulador sin alterar la tipografía. */
.cases-showcase .case-content{padding-top:14px;padding-bottom:14px}
.cases-showcase .case-intro h3{margin:5px 0}
.cases-showcase .case-intro p{margin-bottom:7px}
.cases-showcase .timeline-item{padding-top:5px;padding-bottom:5px}
.cases-showcase .timeline-item p{margin-top:1px}
.cases-showcase .case-outcome{padding:12px;gap:7px}
.cases-showcase .case-note{margin-top:5px}

/* Proceso CONSBI: quiénes somos junto al titular y etapas en flujo. */
.process-section{gap:18px;padding-top:28px!important;padding-bottom:28px!important}
.process-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,3.5vw,50px)}
.process-top .section-heading{min-width:0}
.process-top .section-heading h2{max-width:700px}
.process-top .about-block{min-width:0;margin:0;padding:20px 21px;grid-template-columns:112px minmax(0,1fr) 48px;gap:16px;align-items:start;border:1px solid rgba(106,157,190,.24);border-radius:18px;background:#E7EEF4;box-shadow:0 8px 22px rgba(30,47,77,.05)}
.process-top .about-label{padding-top:4px}
.process-top .about-block h3{font-size:18px;line-height:1.3;margin:0 0 8px}
.process-top .about-block p{font-size:11px;line-height:1.65}
.process-top .about-mark{font-size:70px;align-self:center}
.steps-grid{position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.step-card{min-width:0;min-height:178px;padding:16px 17px 15px;border:1px solid #e1e8ee;border-radius:17px;background:linear-gradient(145deg,#fff 4%,#f7fafc 100%);box-shadow:0 10px 24px rgba(30,47,77,.07);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.step-card.visible{animation:processCardSettle .65s both;animation-delay:calc(var(--flow-index,0)*.1s)}
.step-card:nth-child(1){--flow-index:0}.step-card:nth-child(2){--flow-index:1}.step-card:nth-child(3){--flow-index:2}.step-card:nth-child(4){--flow-index:3}
.step-card:hover{transform:translateY(-5px);border-color:#c5d6e3;box-shadow:0 18px 34px rgba(30,47,77,.12)}
.step-card::before{content:"";position:absolute;top:0;left:17px;right:17px;height:2px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,#d89a14,#355c7d);opacity:.75}
.step-card:not(:last-child)::after{content:"→";position:absolute;z-index:2;right:-17px;top:29px;display:grid;place-items:center;width:20px;height:22px;color:#d89a14;font-size:16px;font-weight:700;background:#fff;border-radius:50%;box-shadow:0 3px 9px rgba(30,47,77,.1);animation:processArrowPulse 1.8s ease-in-out infinite}
.step-number{top:16px;right:15px;padding:4px 8px;border-radius:20px;background:#fff4dc;color:#ad780d;letter-spacing:.08em}
.step-icon{position:relative;z-index:1;margin-bottom:11px;box-shadow:0 5px 12px rgba(30,47,77,.06)}
.step-card h3{margin-bottom:6px}
.step-card p{min-height:40px;margin-bottom:8px}
.step-card small{display:inline-block;color:#8795a4}
@keyframes processCardSettle{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes processArrowPulse{0%,100%{transform:translateX(0);color:#d89a14}50%{transform:translateX(3px);color:#355c7d}}
@media(max-width:1100px) and (min-width:681px){.process-top{grid-template-columns:1fr;gap:20px}.process-top .about-block{max-width:none}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.step-card:nth-child(2)::after{display:none}}
@media(max-width:680px){.process-section{gap:17px;padding-top:62px!important;padding-bottom:42px!important}.process-top{grid-template-columns:1fr;gap:18px}.process-top .about-block{grid-template-columns:1fr;gap:10px;margin:0;padding:18px 19px}.process-top .about-mark{position:absolute;right:13px;top:12px;font-size:62px}.process-top .about-block h3{font-size:18px;max-width:90%}.process-top .about-block p{font-size:11px}.steps-grid{grid-template-columns:1fr 1fr;gap:10px}.step-card{min-height:178px;padding:15px 13px}.step-card:not(:last-child)::after{display:none}.step-card:nth-child(2)::after{display:none}}
@media(prefers-reduced-motion:reduce){.step-card,.step-card:not(:last-child)::after{animation:none!important;transition:none!important}}

/* Etapas: una línea temporal horizontal, ligera y conectada. */
.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;isolation:isolate}
.steps-grid::before{content:"";position:absolute;z-index:-1;top:18px;left:12.5%;right:12.5%;height:1px;background:#dce5ec}
.steps-grid::after{content:"";position:absolute;z-index:0;top:14px;left:12.5%;width:8px;height:8px;border-radius:50%;background:#d89a14;box-shadow:0 0 0 4px rgba(216,154,20,.12);animation:processRailTravel 5s ease-in-out infinite}
.step-card{display:flex;flex-direction:column;align-items:center;min-height:0;padding:0 20px 4px;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center}
.step-card::before{display:none}
.step-card:not(:last-child)::after{display:none}
.step-card:hover{transform:translateY(-3px);border:0;box-shadow:none;background:transparent}
.step-number{position:relative;inset:auto;z-index:1;display:grid;place-items:center;width:36px;height:36px;margin:0 auto 17px;padding:0;border:1px solid #dce5ec;border-radius:50%;background:#fff;color:#355c7d;box-shadow:0 4px 12px rgba(30,47,77,.08);font-size:9px;letter-spacing:.06em;animation:processNodePulse 5s ease-in-out infinite;animation-delay:calc(var(--flow-index,0)*1.15s)}
.step-card h3{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 8px;text-align:left}
.step-card .step-icon{flex:0 0 29px;width:29px;height:29px;margin:0;border-radius:9px;background:#edf3f8;color:#355c7d;font-size:15px;box-shadow:none}
.step-card:nth-child(even) .step-icon{background:#fff4dc;color:#b87d0a}
.step-card p{max-width:260px;min-height:0;margin:0 auto 8px;text-align:center}
.step-card small{margin-top:auto;padding-top:4px;text-align:center}
@keyframes processRailTravel{0%{left:12.5%;opacity:0}10%,85%{opacity:1}100%{left:87.5%;opacity:0}}
@keyframes processNodePulse{0%,16%,100%{border-color:#dce5ec;box-shadow:0 4px 12px rgba(30,47,77,.08);color:#355c7d}7%{border-color:#d89a14;box-shadow:0 0 0 5px rgba(216,154,20,.13);color:#b87d0a}}
@media(max-width:900px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 0}.steps-grid::before,.steps-grid::after{display:none}.step-card{padding:0 16px}.step-card:nth-child(odd){border-right:1px solid #e7edf1}.step-card:nth-child(n+3){padding-top:14px;border-top:1px solid #e7edf1}.step-card:nth-child(n+3) .step-number{margin-top:0}}
@media(max-width:680px){.steps-grid{grid-template-columns:1fr;gap:0}.step-card,.step-card:nth-child(odd),.step-card:nth-child(n+3){display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto auto;align-items:start;gap:0 12px;padding:13px 0;border:0;border-bottom:1px solid #e7edf1;text-align:left}.step-card:first-child{padding-top:0}.step-card .step-number{grid-column:1;grid-row:1/span 3;width:34px;height:34px;margin:0}.step-card h3{grid-column:2;grid-row:1;justify-content:flex-start}.step-card p{grid-column:2;grid-row:2;max-width:none;text-align:left;margin:0 0 6px}.step-card small{grid-column:2;grid-row:3;margin:0;padding:0;text-align:left}}
@media(prefers-reduced-motion:reduce){.steps-grid::after,.step-number{animation:none!important}}

/* El punto guía activa en amarillo cada icono celeste al pasar por su etapa. */
.steps-grid .step-card .step-icon{background:#edf6fa;color:#6fa2c0;animation:processIconTrail 5s ease-in-out infinite;animation-delay:calc(var(--flow-index,0)*1.5s);transition:color .25s,background .25s,box-shadow .25s}
.step-card:nth-child(even) .step-icon{background:#edf6fa;color:#6fa2c0}
.step-number{animation-delay:calc(var(--flow-index,0)*1.5s)}
.steps-grid::after{animation:processRailTravel 5s linear infinite}
@keyframes processRailTravel{0%,5%{left:12.5%;opacity:0}8%{opacity:1}30%,35%{left:37.5%;opacity:1}60%,65%{left:62.5%;opacity:1}90%,95%{left:87.5%;opacity:1}100%{left:87.5%;opacity:0}}
@keyframes processIconTrail{0%,8%{background:#fff4dc;color:#d89a14;box-shadow:0 0 0 5px rgba(216,154,20,.13);transform:scale(1.06)}14%,100%{background:#edf6fa;color:#6fa2c0;box-shadow:none;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.steps-grid::after,.steps-grid .step-card .step-icon,.step-number{animation:none!important}}

/* Asistente de contacto: preguntas progresivas, opciones claras y agenda integrada. */
.contact-inner{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:3%;align-items:start}
.contact-form{box-sizing:border-box;align-self:start;height:min(740px,calc(100svh - 100px));min-height:0;max-height:min(740px,calc(100svh - 100px));padding:30px 32px;display:flex;flex-direction:column;overflow:hidden}
.contact-form .form-progress{flex:0 0 auto;margin-bottom:16px}
.contact-form .form-progress span{letter-spacing:.09em}
.contact-form .form-page{flex:1;min-height:0;overflow:hidden}
.contact-form .form-page.active{display:flex;flex-direction:column}
.contact-form .form-page h3{flex:0 0 auto;margin-bottom:12px}
.contact-form .form-page label{font-size:10px;gap:4px;margin-bottom:6px}
.contact-form .form-page input,.contact-form .form-page select,.contact-form .form-page textarea{font-size:11px;padding:8px 10px;border-radius:10px}
.contact-form .form-page textarea{resize:vertical;min-height:54px}
.contact-form .form-intro,.route-panel>p{font-size:11px;color:#748294;margin:-4px 0 10px}
.form-choice-group{border:0;padding:0;margin:0 0 7px;min-width:0}
.form-choice-group legend{font-size:11px;color:#596879;font-weight:700;margin-bottom:8px}
.choice-chips{display:flex;flex-wrap:wrap;gap:7px}
.choice-chips label{display:inline-flex!important;position:relative;cursor:pointer;margin:0!important}
.choice-chips input,.route-option input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.choice-chips label span{display:block;padding:5px 9px;border:1px solid #dfe6ec;border-radius:999px;background:#fff;color:#647487;font-size:9px;font-weight:600;transition:.2s}
.choice-chips input:checked+span{background:#edf5f9;border-color:#8db4cc;color:#355c7d;box-shadow:0 3px 9px rgba(53,92,125,.08)}
.choice-chips input:focus-visible+span,.route-option:focus-within{outline:3px solid rgba(92,141,184,.22);outline-offset:2px}
.priority-chips{gap:6px}
.route-options{display:grid;grid-template-columns:1fr;gap:6px}
.route-option{position:relative;display:grid!important;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px!important;margin:0!important;padding:8px 10px;border:1px solid #e1e8ee;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}
.route-option:hover{transform:translateY(-1px);border-color:#9dbdd2;box-shadow:0 6px 16px rgba(30,47,77,.07)}
.route-option:has(input:checked){border-color:#7faac5;background:#f4f9fc;box-shadow:0 5px 14px rgba(53,92,125,.08)}
.route-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf4f8;color:#355c7d;font-size:14px}
.route-option b{display:block;color:#1e2f4d;font-size:11px}
.route-option small{display:block;color:#7d8b9b;font-size:9px;font-weight:400;margin-top:2px}
.route-arrow{color:#d39213;font-size:17px}
.route-panel{margin-top:3px;padding:12px;border:1px solid #e3eaf0;border-radius:12px;background:#f7fafc;animation:fadeIn .28s ease}
.route-panel[hidden]{display:none!important}
.route-panel>p{margin:0 0 11px}
.route-panel .button{font-size:12px;padding:11px 16px}
.route-panel label{margin-bottom:10px!important}
.form-delivery-note{display:block;margin-top:8px;color:#8290a0;font-size:10px}
.form-submit-status{min-height:0;margin:8px 0 0;color:#b85c5c;font-size:11px}
.form-submit-status:empty{display:none}
.form-submit-status[role="status"]{line-height:1.45}
.form-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.cal-launch{display:flex;width:100%;min-height:66px;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border:1px solid #dfe8ef;border-radius:12px;background:#fff;color:#1e2f4d;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.cal-launch:hover,.cal-launch:focus-visible{border-color:#8db4cc;box-shadow:0 7px 18px rgba(30,47,77,.09);transform:translateY(-1px)}
.cal-launch-copy{display:grid;gap:3px}.cal-launch-copy b{font-size:12px}.cal-launch-copy small{font-size:10px;color:#7d8b9b}.cal-launch-arrow{color:#d39213;font-size:20px}
.contact-form .form-actions{margin-top:13px}
.contact-form button:disabled{opacity:.65;cursor:wait}
@media(max-width:900px){.contact-form{padding:25px 24px}}
@media(max-width:680px){.contact-form{height:min(740px,calc(100svh - 80px));min-height:0;max-height:min(740px,calc(100svh - 80px));padding:22px 18px}.contact-form .form-progress{margin-bottom:14px}.contact-form .form-page h3{font-size:21px}.choice-chips{gap:5px}.choice-chips label span{font-size:9px;padding:5px 8px}.route-option{padding:8px 9px}.cal-launch{min-height:58px;padding:11px 12px}}
