/* Cómo trabajamos: relato a la izquierda y recorrido de vidrio a la derecha. */
main .services-section.process-journey { display: block !important; height: auto !important; min-height: 0 !important; overflow: visible !important; background: #fff; padding-top: 82px !important; padding-bottom: 42px !important; }
.process-journey .journey-layout { display: grid; width: 100%; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); align-items: center; gap: clamp(42px,5vw,90px); min-height: 480px; }
.process-journey .journey-copy { min-width: 0; transform: translateY(-38px); }
.process-journey .journey-copy h2 { max-width: 600px; margin: 34px 0 28px; color: #1e2f4d; font: 700 clamp(48px,4.8vw,74px)/1.05 var(--display); letter-spacing: -.065em; }
.process-journey .journey-copy h2 em { display: block; color: #355c7d; font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; }
.process-journey .journey-copy>p { max-width: 500px; margin: 0; color: #60758a; font-size: clamp(19px,1.7vw,25px); line-height: 1.52; }
.process-journey .journey-stage { min-width: 0; }
.process-journey .journey-timeline { --journey-progress: 0%; position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 34px; }
.process-journey .journey-timeline::before,.process-journey .journey-timeline::after { content: ""; position: absolute; z-index: 0; top: 47px; left: 12.5%; height: 4px; border-radius: 4px; }
.process-journey .journey-timeline::before { right: 12.5%; background: #edf2f6; }
.process-journey .journey-timeline::after { width: var(--journey-progress); background: #CFE2F1; box-shadow: 0 0 8px rgba(207,226,241,.45); transition: width .55s ease; }
.process-journey .journey-step { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 12px; min-width: 0; padding: 0 4px; border: 0; background: none; color: #1e2f4d; cursor: pointer; }
.process-journey .journey-bubble { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 94px; height: 94px; border: 2px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 12px 24px rgba(36,75,110,.1),inset 0 2px 2px #fff; backdrop-filter: blur(10px) saturate(125%); -webkit-backdrop-filter: blur(10px) saturate(125%); transition: transform .4s ease,box-shadow .4s ease,border-color .4s ease; }
.process-journey .journey-step:hover .journey-bubble,.process-journey .journey-step:focus-visible .journey-bubble { transform: translateY(-4px); box-shadow: 0 15px 28px rgba(58,113,158,.18),inset 0 2px 2px #fff; }
.process-journey .journey-step.is-active .journey-bubble { transform: translateY(-4px) scale(1.025); border-color: #fff; box-shadow: 0 0 0 4px #CFE2F1,0 0 16px rgba(207,226,241,.4),0 12px 24px rgba(36,75,110,.1),inset 0 2px 2px #fff; }
.process-journey .journey-bubble svg { width: 38px; height: 38px; margin-top: 3px; fill: none; stroke: #244e7b; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 2px 3px rgba(37,96,159,.2)); }
.process-journey .journey-step.is-active .journey-bubble svg { stroke: #1765bd; }
.process-journey .journey-glass-icon { display: block; width: 70px; height: 70px; background-image: url('assets/journey-glass-icons-user.png'); background-repeat: no-repeat; background-size: 400% auto; filter: drop-shadow(0 4px 6px rgba(46,113,169,.16)); }
.process-journey .journey-icon-search { background-position: 0% center; }
.process-journey .journey-icon-layers { background-position: 33.333% center; }
.process-journey .journey-icon-gear { background-position: 66.667% center; }
.process-journey .journey-icon-chart { background-position: 100% center; }
.process-journey .journey-step-label { color: #243754; font-size: 13px; font-weight: 700; line-height: 1.25; text-align: center; }
.process-journey .journey-step.is-active .journey-step-label { color: #17599f; }
.process-journey .journey-panel-stack { position: relative; height: 200px; min-height: 0; }
.process-journey .journey-panel { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); grid-template-rows: minmax(0,1fr); align-items: center; gap: 20px; padding: 18px 22px; border: 2px solid rgba(255,255,255,.95); border-radius: 32px; background: #fff; box-shadow: 0 20px 45px rgba(54,111,156,.1),inset 0 2px 2px #fff; backdrop-filter: blur(14px) saturate(125%); -webkit-backdrop-filter: blur(14px) saturate(125%); opacity: 0; visibility: hidden; transform: translateY(10px) scale(.985); transition: opacity .4s ease,visibility .4s ease,transform .4s ease; overflow: hidden; }
.process-journey .journey-panel::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(125deg,rgba(255,255,255,.38),transparent 45%); pointer-events: none; }
.process-journey .journey-panel.is-active { z-index: 1; opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.process-journey .journey-panel-copy,.process-journey .journey-panel img { position: relative; z-index: 1; }
.process-journey .journey-panel h3 { margin: 0 0 8px; color: #1e2f4d; font-size: clamp(22px,2vw,28px); line-height: 1.15; letter-spacing: -.04em; }
.process-journey .journey-panel h3 span { color: #285a8d; font-size: .8em; }
.process-journey .journey-panel p { margin: 0 0 12px; color: #596f86; font-size: clamp(14px,1.2vw,17px); line-height: 1.38; }
.process-journey .journey-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.process-journey .journey-tags span { padding: 5px 10px; border: 1px solid #e0e8ee; border-radius: 999px; background: #fff; color: #315e8a; font-size: 11px; }
.process-journey .journey-panel img { display: block; width: 100%; height: 100%; min-height: 0; border: 1px solid rgba(255,255,255,.9); border-radius: 22px; object-fit: cover; box-shadow: 0 8px 25px rgba(38,82,121,.15); }
.process-journey .journey-panel-index { position: absolute; z-index: 2; right: 32px; bottom: 28px; padding: 5px 8px; border-radius: 8px; background: rgba(255,255,255,.8); color: #738da3; font-size: 10px; font-weight: 700; letter-spacing: .14em; line-height: 1; }
@media(max-width:1100px) { .process-journey .journey-layout { grid-template-columns: 1fr; gap: 42px; min-height: 0; } .process-journey .journey-copy { transform: none; } .process-journey .journey-copy h2 { max-width: none; margin: 20px 0 14px; } .process-journey .journey-copy h2 em { display: inline; } }
@media(max-width:680px) { main .services-section.process-journey { padding-top: 64px !important; padding-bottom: 64px !important; } .process-journey .journey-layout { gap: 34px; } .process-journey .journey-copy h2 { font-size: clamp(38px,10vw,52px); } .process-journey .journey-copy>p { font-size: 17px; } .process-journey .journey-bubble { width: 66px; height: 66px; } .process-journey .journey-bubble svg { width: 26px; height: 26px; } .process-journey .journey-timeline::before,.process-journey .journey-timeline::after { top: 32px; } .process-journey .journey-step-label { font-size: 10px; } .process-journey .journey-timeline { margin-bottom: 23px; } .process-journey .journey-panel-stack { height: 300px; } .process-journey .journey-panel { grid-template-columns: 1fr; grid-template-rows: auto 1fr; align-content: start; gap: 12px; padding: 18px; } .process-journey .journey-panel img { height: 120px; } .process-journey .journey-panel p { margin-bottom: 10px; } }
@media(max-width:400px) { .process-journey .journey-bubble { width: 57px; height: 57px; } .process-journey .journey-timeline::before,.process-journey .journey-timeline::after { top: 28px; } .process-journey .journey-step-label { font-size: 9px; } }
@media(prefers-reduced-motion:reduce) { .process-journey .journey-bubble,.process-journey .journey-timeline::after,.process-journey .journey-panel { transition: none; } }
@media(max-width:680px) { .process-journey .journey-glass-icon { width: 48px; height: 48px; } .process-journey .journey-panel-index { right: 29px; bottom: 29px; } }
@media(max-width:400px) { .process-journey .journey-glass-icon { width: 42px; height: 42px; } }

/* La sección de preguntas continúa cerca del recorrido y usa su misma jerarquía. */
.how-group > .faq-screen { display: block; height: auto !important; min-height: 0 !important; padding-top: 42px !important; padding-bottom: 82px !important; }
.how-group > .faq-screen .faq-wrap { margin-top: 0 !important; padding-top: 0 !important; }
.how-group > .faq-screen .faq-heading h3 { margin: 34px 0 28px; font: 700 clamp(48px,4.8vw,74px)/1.05 var(--display); font-size: clamp(48px,4.8vw,74px) !important; line-height: 1.05 !important; letter-spacing: -.065em; color: #1e2f4d; }
.how-group > .faq-screen .faq-heading h3 em { color: #355c7d; font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; }
.how-group > .faq-screen .faq-heading h3 em { white-space: nowrap; }
.how-group > .faq-screen .faq-wrap { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 5%; }
.how-group > .faq-screen .faq-heading > p { max-width: 500px; margin: 0; color: #60758a; font-size: clamp(19px,1.7vw,25px); line-height: 1.52; }
.how-group > .faq-screen .faq-list summary { font-size: clamp(16px,1.2vw,20px); line-height: 1.4; }
.how-group > .faq-screen .faq-list details p { font-size: clamp(14px,1vw,17px); line-height: 1.5; }
@media(max-width:900px) { .how-group > .faq-screen .faq-wrap { grid-template-columns: 1fr; gap: 28px; } }
@media(max-width:680px) { main .services-section.process-journey { padding-bottom: 36px !important; } .how-group > .faq-screen { padding-top: 36px !important; padding-bottom: 64px !important; } .how-group > .faq-screen .faq-heading h3 { margin: 20px 0 14px; font-size: clamp(38px,10vw,52px) !important; } .how-group > .faq-screen .faq-heading h3 em { white-space: normal; } }
