/* ============================================================= SERVICIO V2 — Estilos específicos de la plantilla rediseñada ============================================================= */ :root { --sv2-naranja: #FF661A; --sv2-oscuro: #16161e; --sv2-navy: #1b1b2e; --sv2-gris-texto: #666; --sv2-gris-claro: #f5f5f5; --sv2-blanco: #ffffff; --sv2-borde: rgba(255,255,255,.12); --sv2-radio: 8px; --sv2-transicion: all ease .3s; } #servicio-v2 { font-family: 'Roboto', sans-serif; } #servicio-v2 section { position: relative; overflow: hidden; } /* -------------------------------- Botones globales -------------------------------- */ .sv2-btn { display: inline-block; padding: 14px 32px; border-radius: 4px; font-size: 15px; font-weight: 600; text-decoration: none; transition: var(--sv2-transicion); cursor: pointer; border: 2px solid transparent; line-height: 1; } .sv2-btn--primary { background: var(--sv2-naranja); color: var(--sv2-blanco); border-color: var(--sv2-naranja); } .sv2-btn--primary:hover { background: transparent; color: var(--sv2-naranja); text-decoration: none; } .sv2-btn--outline { background: transparent; color: var(--sv2-naranja); border-color: var(--sv2-naranja); } .sv2-btn--outline:hover { background: var(--sv2-naranja); color: var(--sv2-blanco); text-decoration: none; } /* strong en naranja (secciones oscuras y blancas) */ .sv2-metricas__intro strong, .sv2-tarjetas__titulo strong, .sv2-metodologia__titulo strong, .sv2-servicios-rel__titulo strong { color: var(--sv2-naranja); font-weight: inherit; } /* em en azul */ .sv2-metricas__intro em { color: #0F2934; font-style: normal; } /* i en gris claro */ .sv2-metricas__intro i { color: rgba(53, 94, 108, 0.30); font-style: normal; } /* -------------------------------- 1 · HERO -------------------------------- */ .sv2-hero { background: radial-gradient(ellipse 100% 140% at 100% 50%, #1a7585 0%, #0d5568 25%, #032a35 55%, #060c10 90%); padding: 120px 0 0; min-height: 90vh; display: flex; align-items: center; overflow: visible; } .sv2-hero__content { padding-top: 20px; padding-bottom: 80px; } .sv2-hero__etiqueta { font-size: clamp(48px, 5.5vw, 72px); font-weight: 700; color: var(--sv2-blanco); line-height: 1.0; margin: 0 0 16px; font-family: 'Roboto', sans-serif; } .sv2-hero__titulo { font-size: 35px; line-height: 1.35; color: var(--sv2-blanco); margin-bottom: 20px; font-weight: 900; } .sv2-hero__sub { font-size: 18px; font-weight: 400; color: rgba(255,255,255,.6); line-height: 1; margin-bottom: 36px; max-width: 1000px; } .sv2-hero__desc { font-size: 14px; color: rgba(255,255,255,.45); line-height: 1.35; margin-bottom: 36px; max-width: 480px; } .sv2-hero__ctas { display: flex; flex-wrap: wrap; gap: 16px; } .sv2-hero__img-wrap { display: flex; justify-content: center; align-items: flex-end; padding-top: 40px; } .sv2-hero__img { max-height: 580px; width: 100%; max-width: 500px; object-fit: contain; filter: drop-shadow(0 32px 56px rgba(0,0,0,.5)); display: block; } @media (max-width: 991px) { .sv2-hero { padding: 100px 0 60px; } .sv2-hero__content { padding-bottom: 0; } .sv2-hero__img-wrap { padding-top: 48px; align-items: center; } .sv2-hero__img { max-height: 380px; } } @media (max-width: 767px) { .sv2-hero { padding: 80px 0 0; min-height: auto; } .sv2-hero__content { padding-bottom: 40px; text-align: center; } .sv2-hero__ctas { justify-content: center; } .sv2-hero__etiqueta { font-size: 38px; } .sv2-hero__titulo { font-size: 22px; line-height: 1.3; } .sv2-hero__sub { font-size: 15px; line-height: 1.5; margin-bottom: 20px; } .sv2-hero__desc { font-size: 13px; margin-bottom: 28px; } .sv2-hero__img-wrap { padding-top: 32px; align-items: flex-end; } .sv2-hero__img { max-height: 340px; max-width: 100%; } } /* -------------------------------- 2 · INTRO -------------------------------- */ .sv2-intro { background: var(--sv2-blanco); padding: 100px 0 140px; } .sv2-intro__grande { font-size: 42px; font-weight: 600; color: rgba(0, 51, 69, 0.5); line-height: 52px; max-width: 548px; margin: 0; } .sv2-intro__grande strong { color: #003345; font-weight: 600; } .sv2-intro__desc { font-size: 20px; font-weight: 500; color: #003345; line-height: 24px; max-width: 548px; margin: 0; } @media (max-width: 767px) { .sv2-intro__grande { font-size: 36px; line-height: 1.35; max-width: 100%; margin-bottom: 24px; } .sv2-intro__desc { font-size: 16px; line-height: 1.5; max-width: 100%; } } /* -------------------------------- 3 · GALERÍA (dos imágenes) -------------------------------- */ .sv2-galeria { background: var(--sv2-blanco); padding: 0 0 80px; } .sv2-galeria__strip { display: flex; gap: 32px; } .sv2-galeria__item { overflow: hidden; height: 420px; flex-grow: 1; flex-shrink: 1; flex-basis: 0; transition: flex-grow 0.5s ease; } .sv2-galeria__item--right { flex-grow: 1.5; } .sv2-galeria__item--left:hover { flex-grow: 1.5; } .sv2-galeria__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } .sv2-galeria__item:hover .sv2-galeria__img { transform: scale(1.04); } @media (max-width: 767px) { .sv2-galeria__strip { gap: 8px; } .sv2-galeria__item, .sv2-galeria__item--right { height: 200px; cursor: pointer; } .sv2-galeria__item--left.is-tapped { flex-grow: 1.5; } .sv2-galeria__item--left.is-tapped ~ .sv2-galeria__item--right { flex-grow: 1; } } /* -------------------------------- 4 · CAMINO AL ÉXITO -------------------------------- */ .sv2-camino { background: #06171C; padding: 80px 0; overflow: hidden; } .sv2-camino__titulo { font-size: 50px; font-weight: 600; color: var(--sv2-blanco); line-height: 1.1; max-width: 240px; margin: 0; } /* Timeline */ .sv2-camino__timeline { padding: 20px 0; } .sv2-camino__dots { display: flex; justify-content: space-between; align-items: stretch; position: relative; height: 270px; } /* Línea base gris */ .sv2-camino__linea-base { position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: #aaaaaa; transform: translateY(-50%); z-index: 0; pointer-events: none; } /* Línea animada naranja */ .sv2-camino__linea-fill { position: absolute; top: 50%; left: 0; width: 0; height: 1px; background: var(--sv2-naranja); transform: translateY(-50%); z-index: 1; pointer-events: none; transition: width 4s linear; } .sv2-camino--visible .sv2-camino__linea-fill { width: 100%; } /* Cada dot — flex column de altura fija 270px */ .sv2-camino__dot { display: flex; flex-direction: column; align-items: center; flex: 1; padding: 0 16px; opacity: 0; transform: translateY(8px); transition: opacity 0.5s ease, transform 0.5s ease; } .sv2-camino--visible .sv2-camino__dot { opacity: 1; transform: translateY(0); } .sv2-camino--visible .sv2-camino__dot:nth-child(3) { transition-delay: 0.6s; } .sv2-camino--visible .sv2-camino__dot:nth-child(4) { transition-delay: 1.5s; } .sv2-camino--visible .sv2-camino__dot:nth-child(5) { transition-delay: 2.1s; } .sv2-camino--visible .sv2-camino__dot:nth-child(6) { transition-delay: 3.0s; } .sv2-camino--visible .sv2-camino__dot:nth-child(7) { transition-delay: 3.8s; } .sv2-camino--visible .sv2-camino__dot:nth-child(8) { transition-delay: 4.6s; } /* * Alturas fijas para centrar el círculo exactamente en la línea (135px = 270/2): * label-col = 123px → círculo top = 123px, center = 135px ✓ * circle-col = 73px → círculo(24) + conector(49) * desc-col = 74px → 270 - 123 - 73 */ .sv2-camino__dot-label-col { flex: none; height: 123px; display: flex; flex-direction: column; align-items: center; text-align: center; overflow: visible; } .sv2-camino__dot-circle-col { flex: none; height: 73px; display: flex; flex-direction: column; align-items: center; z-index: 2; } .sv2-camino__dot-desc-col { flex: none; height: 74px; display: flex; flex-direction: column; align-items: center; text-align: center; overflow: visible; } /* label-top: label(123px arriba) → circle+conector-abajo(73px) → desc(74px) */ .sv2-camino__dot--label-top .sv2-camino__dot-label-col { justify-content: flex-end; padding-bottom: 10px; } .sv2-camino__dot--label-top .sv2-camino__dot-desc-col { justify-content: flex-start; padding-top: 14px; } /* label-bottom: desc(74px, order-1) → conector-arriba+circle(73px) → label(123px) */ .sv2-camino__dot--label-bottom .sv2-camino__dot-desc-col { order: -1; justify-content: flex-end; padding-bottom: 14px; } .sv2-camino__dot--label-bottom .sv2-camino__dot-label-col { order: 1; justify-content: flex-start; padding-top: 10px; } /* Conectores — por defecto ocultos */ .sv2-camino__connector--top, .sv2-camino__connector--bottom { display: none; } /* label-top: conector debajo del círculo */ .sv2-camino__dot--label-top .sv2-camino__connector--bottom { display: block; } /* label-bottom: conector arriba del círculo */ .sv2-camino__dot--label-bottom .sv2-camino__connector--top { display: block; } /* Conector */ .sv2-camino__connector { width: 2px; height: 49px; background: #355E6C; flex-shrink: 0; position: relative; } .sv2-camino__dot--label-top .sv2-camino__connector--bottom::after, .sv2-camino__dot--label-bottom .sv2-camino__connector--top::before { content: ''; position: absolute; left: 50%; transform: translateX(-50%); width: 7px; height: 7px; border-radius: 50%; background: #355E6C; } .sv2-camino__dot--label-top .sv2-camino__connector--bottom::after { bottom: 0; } .sv2-camino__dot--label-bottom .sv2-camino__connector--top::before { top: 0; } /* Círculo */ .sv2-camino__dot-circle { width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--sv2-naranja); background: var(--sv2-oscuro); display: flex; align-items: center; justify-content: center; flex-shrink: 0; z-index: 2; transform: scale(0); transition: transform 0.3s ease; } .sv2-camino--visible .sv2-camino__dot:nth-child(3) .sv2-camino__dot-circle { transform: scale(1); transition-delay: 0.5s; } .sv2-camino--visible .sv2-camino__dot:nth-child(4) .sv2-camino__dot-circle { transform: scale(1); transition-delay: 1.4s; } .sv2-camino--visible .sv2-camino__dot:nth-child(5) .sv2-camino__dot-circle { transform: scale(1); transition-delay: 2.0s; } .sv2-camino--visible .sv2-camino__dot:nth-child(6) .sv2-camino__dot-circle { transform: scale(1); transition-delay: 2.9s; } .sv2-camino--visible .sv2-camino__dot:nth-child(7) .sv2-camino__dot-circle { transform: scale(1); transition-delay: 3.7s; } .sv2-camino--visible .sv2-camino__dot:nth-child(8) .sv2-camino__dot-circle { transform: scale(1); transition-delay: 4.5s; } .sv2-camino__dot-circle span { width: 10px; height: 10px; border-radius: 50%; background: var(--sv2-naranja); display: block; } /* Textos del dot */ .sv2-camino__dot-label { font-size: 16px; font-weight: 900; color: var(--sv2-blanco); letter-spacing: .04em; text-transform: uppercase; margin: 0; line-height: 1.4; text-align: center; } .sv2-camino__dot-desc { font-size: 14px; font-weight: 400; color: var(--sv2-blanco); margin: 0; line-height: 18px; max-width: 160px; text-align: center; } @media (max-width: 991px) { .sv2-camino .row { flex-direction: column; gap: 48px; } .sv2-camino__titulo { max-width: none; font-size: 36px; } .sv2-camino__dot-label { font-size: 10px; } .sv2-camino__dot-desc { font-size: 11px; } } @media (max-width: 767px) { .sv2-camino { padding: 60px 0; } .sv2-camino__titulo { font-size: 30px; text-align: center; } /* Dots: columna vertical, sin altura fija */ .sv2-camino__dots { flex-direction: column; height: auto; } /* Cada dot: fila horizontal [label | círculo | desc] */ .sv2-camino__dot { flex-direction: row; align-items: center; flex: none; width: 100%; padding: 16px 0; min-height: 70px; } /* Resetear alturas fijas del desktop */ .sv2-camino__dot-label-col { height: auto; flex: 1; align-items: flex-end; text-align: right; justify-content: center; padding: 0 16px 0 0 !important; } .sv2-camino__dot-circle-col { height: auto; flex: none; } .sv2-camino__dot-desc-col { height: auto; flex: 1; align-items: flex-start; text-align: left; justify-content: center; padding: 0 0 0 16px !important; } /* Resetear order de label-bottom */ .sv2-camino__dot--label-bottom .sv2-camino__dot-label-col { order: 0; } .sv2-camino__dot--label-bottom .sv2-camino__dot-desc-col { order: 0; } /* Ocultar conectores verticales */ .sv2-camino__connector { display: none !important; } /* Línea vertical centrada en los círculos */ .sv2-camino__linea-base { top: 0; left: 50%; right: auto; width: 1px; height: 100%; transform: translateX(-50%); } .sv2-camino__linea-fill { top: 0; left: 50%; right: auto; width: 1px; height: 0; transform: translateX(-50%); transition: height 4s linear; } .sv2-camino--visible .sv2-camino__linea-fill { width: 1px; height: 100%; } .sv2-camino__dot-label { font-size: 12px; line-height: 1.3; } .sv2-camino__dot-desc { font-size: 12px; max-width: none; } } /* -------------------------------- 5 · MÉTRICAS -------------------------------- */ .sv2-metricas { background: var(--sv2-blanco); padding: 100px 0; } .sv2-metricas__intro { font-size: 60px; font-weight: 700; line-height: 70px; color: #0F2934; max-width: 1434px; margin: 0 auto 60px; } .sv2-metricas__grid { display: flex; gap: 24px; justify-content: center; } .sv2-metrica { flex: 0 1 400px; background: #FAFAFA; padding: 40px 32px; border-radius: var(--sv2-radio); text-align: center; transition: background 0.3s ease; } .sv2-metrica:hover { background: #ced2d4; } .sv2-metrica__icono { margin-bottom: 20px; } .sv2-metrica__icono img { width: 48px; height: 48px; object-fit: contain; transition: filter 0.3s ease; } .sv2-metrica:hover .sv2-metrica__icono img { filter: brightness(0) saturate(100%) invert(48%) sepia(91%) saturate(1500%) hue-rotate(345deg); } .sv2-metrica__titulo { font-size: 24px; font-weight: 800; color: #0F2934; max-width: 306px; margin: 0 auto 12px; line-height: 1.3; } .sv2-metrica__desc { font-size: 20px; font-weight: 400; color: #0F2934; max-width: 306px; line-height: 1.4; margin: 0 auto; } @media (max-width: 991px) { .sv2-metricas__intro { font-size: 36px; line-height: 46px; } .sv2-metricas__grid { flex-direction: column; } } @media (max-width: 767px) { .sv2-metrica { flex: 0 0 auto; padding: 20px 24px; } } /* -------------------------------- 6 · TARJETAS DE SERVICIOS -------------------------------- */ .sv2-tarjetas { background: radial-gradient(ellipse 130% 170% at 100% 100%, #0a4e5e 0%, #042a35 35%, #07090e 70%); padding: 100px 0; } .sv2-tarjetas__titulo { font-size: clamp(28px, 3.5vw, 50px); font-weight: 700; color: #5a6c71; line-height: 1.2; margin: 0; } .sv2-tarjetas__titulo strong { color: var(--sv2-blanco); font-weight: inherit; } .sv2-tarjeta__titulo { font-size: 22px; font-weight: 600; color: var(--sv2-blanco); margin-bottom: 12px; line-height: 1.3; } .sv2-tarjeta__desc { font-size: 18px; font-weight: 500; color: #355E6C; max-width: 329px; line-height: 1.5; margin: 0; } @media (max-width: 767px) { .sv2-tarjeta__titulo { font-size: 20px; } .sv2-tarjeta__desc { font-size: 14px; } } /* -------------------------------- 7 · CASO DE ÉXITO -------------------------------- */ .sv2-caso { background: radial-gradient(ellipse 130% 170% at 100% 0%, #0a4e5e 0%, #042a35 35%, #07090e 70%); padding: 80px 0 80px; } .sv2-caso__header { padding-bottom: 60px; } .sv2-caso__titulo { font-size: clamp(32px, 3.5vw, 54px); font-weight: 600; color: #5a6c71; max-width: 668px; line-height: 1.2; margin: 0; } .sv2-caso__titulo strong { color: var(--sv2-blanco); font-weight: inherit; } .sv2-caso__col-texto { display: flex; flex-direction: column; align-items: flex-start; } .sv2-caso__texto { font-size: 22px; color: var(--sv2-blanco); max-width: 562px; line-height: 1.55; margin: 0 0 32px; font-weight: 400; } /* Acordeón horizontal */ .sv2-caso__accordion { display: flex; height: 280px; gap: 25px; margin-top: 20px; margin-bottom: 210px; } .sv2-caso__panel { flex: 1; position: relative; overflow: hidden; cursor: pointer; transition: flex-grow 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94); height: 400px; } .sv2-caso__panel--active { flex: 2.5; } /* Imagen */ .sv2-caso__panel-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.85s ease-out; } .sv2-caso__panel--active .sv2-caso__panel-img { transform: scale(1.04); } /* Overlay oscuro degradado */ .sv2-caso__panel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(6,23,28,.85) 0%, rgba(6,23,28,.2) 55%, transparent 100%); pointer-events: none; z-index: 1; } /* Info (título + desc): visible en panel activo */ .sv2-caso__panel-info { position: absolute; bottom: 20px; left: 20px; right: 20px; z-index: 2; opacity: 0; transform: translateY(8px); transition: opacity 0.3s ease, transform 0.3s ease; } .sv2-caso__panel--active .sv2-caso__panel-info { opacity: 1; transform: translateY(0); transition-delay: 0.45s; } .sv2-caso__panel-titulo { font-size: 20px; font-weight: 600; color: var(--sv2-blanco); margin: 0 0 6px; } .sv2-caso__panel-desc { font-size: 16px; color: var(--sv2-blanco); max-width: 369px; margin: 0; line-height: 1.45; } /* Etiqueta vertical (paneles colapsados) */ .sv2-caso__panel-label { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: flex-start; padding-bottom: 20px; padding-left: 12px; z-index: 2; pointer-events: none; opacity: 1; transition: opacity 0.15s ease; } .sv2-caso__panel-label span { color: var(--sv2-blanco); font-size: 20px; font-weight: 600; letter-spacing: 0.07em; white-space: nowrap; writing-mode: vertical-rl; transform: rotate(180deg); } .sv2-caso__panel--active .sv2-caso__panel-label { opacity: 0; } @media (max-width: 991px) { .sv2-caso__accordion { flex-direction: column; height: auto; gap: 4px; } .sv2-caso__panel, .sv2-caso__panel--active { flex: none; height: 220px; } .sv2-caso__panel-info { opacity: 1; } .sv2-caso__panel-label { display: none; } } @media (max-width: 767px) { .sv2-caso__accordion { gap: 6px; margin-bottom: 40px; } /* Collapsed strip */ .sv2-caso__panel { height: 72px; transition: height 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); } /* Expanded panel */ .sv2-caso__panel--active { height: 300px; } /* "+" circle via ::before (::after is the dark overlay) */ .sv2-caso__panel::before { content: '+'; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: 1.5px solid rgba(255,255,255,0.65); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--sv2-blanco); font-size: 20px; font-weight: 300; line-height: 1; z-index: 3; transition: opacity 0.2s ease; } .sv2-caso__panel--active::before { opacity: 0; pointer-events: none; } /* Panel label: visible, horizontal */ .sv2-caso__panel-label { display: flex; align-items: flex-end; padding-bottom: 12px; padding-right: 52px; /* evitar solapamiento con "+" */ } .sv2-caso__panel-label span { writing-mode: horizontal-tb; transform: none; font-size: 13px; letter-spacing: 0; white-space: normal; } .sv2-caso__panel--active .sv2-caso__panel-label { opacity: 0; } /* Panel info: oculto por defecto, visible en activo */ .sv2-caso__panel-info { opacity: 0; } .sv2-caso__panel--active .sv2-caso__panel-info { opacity: 1; } .sv2-caso__panel-titulo { font-size: 16px; } .sv2-caso__panel-desc { font-size: 13px; } } /* -------------------------------- 8 · CTA CENTRAL -------------------------------- */ .sv2-cta-central { background: var(--sv2-navy); background-size: cover; background-position: center; padding: 120px 0; } .sv2-cta-central__overlay { position: absolute; inset: 0; background: #0009; z-index: 0; } .sv2-cta-central .container-fluid { position: relative; z-index: 1; } .sv2-cta-central__titulo { font-size: 75px; font-weight: 500; color: var(--sv2-blanco); line-height: 1.1; margin-bottom: 24px; } .sv2-cta-central__desc { font-size: 24px; font-weight: 400; color: var(--sv2-blanco); line-height: 1.2; margin-bottom: 40px; max-width: 1224px; margin-left: auto; margin-right: auto; } @media (max-width: 991px) { .sv2-cta-central__titulo { font-size: 48px; } .sv2-cta-central__desc { font-size: 20px; } } @media (max-width: 767px) { .sv2-cta-central__titulo { font-size: 36px; } .sv2-cta-central__desc { font-size: 18px; } } /* -------------------------------- SEO -------------------------------- */ .sv2-seo { background: rgba(53, 94, 108, 0.10); padding: 100px 0; } .sv2-seo__card { background: var(--sv2-blanco); border-radius: 0; overflow: hidden; box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08); } .sv2-seo__col-texto { padding: 75px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; text-align: left; } .sv2-seo__titulo { font-size: 36px; font-weight: 800; color: #0F2934; line-height: 1.2; max-width: 502px; margin: 0 0 24px; } .sv2-seo__texto { font-size: 20px; font-weight: 400; color: #0F2934; line-height: 1.55; max-width: 502px; margin: 0 0 32px; } .sv2-seo__col-imagen { padding: 0; min-height: 360px; } .sv2-seo__imagen { width: 100%; height: 100%; object-fit: cover; display: block; } @media (max-width: 991px) { .sv2-seo__col-imagen { min-height: 280px; } .sv2-seo__col-texto { padding: 40px 32px; } } /* -------------------------------- 9 · METODOLOGÍA -------------------------------- */ .sv2-metodologia { background: var(--sv2-blanco); padding: 100px 0 60px; overflow: hidden; } .sv2-metodologia__intro { font-size: 32px; font-weight: 500; color: rgba(0, 51, 69, 0.5); line-height: 1.3; margin-bottom: 16px; text-align: center; } .sv2-metodologia__titulo { font-size: 64px; font-weight: 500; color: #003345; line-height: 1.1; margin-bottom: 60px; text-align: center; } .sv2-metodologia__titulo strong { color: var(--sv2-naranja); font-weight: inherit; } @media (max-width: 767px) { .sv2-metodologia__intro { font-size: 20px; } .sv2-metodologia__titulo { font-size: 32px; } } /* Slider infinito de logos */ .sv2-metodologia__slider-wrap { overflow: hidden; width: 100%; padding: 40px 0; } .sv2-metodologia__slider { --sv2-scroll-offset: -50%; display: flex; gap: 80px; width: max-content; will-change: transform; animation: sv2-scroll 30s linear infinite; } .sv2-metodologia__slider:hover { animation-play-state: paused; } .sv2-metodologia__logo { display: flex; align-items: center; flex-shrink: 0; } .sv2-metodologia__logo img { height: 90px; width: auto; object-fit: contain; filter: grayscale(100%); opacity: 0.55; transition: filter 0.3s ease, opacity 0.3s ease; } .sv2-metodologia__logo img:hover { filter: grayscale(0%); opacity: 1; } @keyframes sv2-scroll { from { transform: translateX(0); } to { transform: translateX(var(--sv2-scroll-offset)); } } /* -------------------------------- 10 · FAQ -------------------------------- */ .sv2-faq { background: var(--sv2-blanco); padding: 100px 0; } .sv2-faq__left { padding-top: 8px; } .sv2-faq__titulo { font-size: clamp(28px, 3.5vw, 48px); font-weight: 700; color: #0F2934; margin-bottom: 32px; line-height: 1.2; } .sv2-faq__lista { display: flex; flex-direction: column; gap: 24px; } .sv2-faq__item { background: #f4f4f4; } .sv2-faq__btn { display: flex; justify-content: space-between; align-items: center; width: 100%; background: none; border: none; padding: 16px 32px; font-size: 22px; font-weight: 700; color: #022a35; text-align: left; cursor: pointer; transition: color .2s; gap: 16px; } .sv2-faq__btn:hover { color: var(--sv2-naranja); } .sv2-faq__pregunta-texto { flex: 1; } .sv2-faq__icon { flex-shrink: 0; font-size: 26px; font-weight: 300; color: var(--sv2-naranja); line-height: 1; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; } .sv2-faq__item--open .sv2-faq__btn { color: var(--sv2-naranja); } .sv2-faq__respuesta { max-height: 0; overflow: hidden; transition: max-height 0.55s cubic-bezier(0.4, 0, 0.2, 1), padding-top 0.55s cubic-bezier(0.4, 0, 0.2, 1), padding-bottom 0.55s cubic-bezier(0.4, 0, 0.2, 1); padding: 0 32px; font-size: 18px; color: #6a7179; line-height: 24px; background: #fff; } .sv2-faq__item--open .sv2-faq__respuesta { max-height: 600px; padding-top: 16px; padding-bottom: 24px; } @media (max-width: 767px) { .sv2-faq__right { margin-top: 40px; } } /* -------------------------------- OPINIONES / TESTIMONIOS -------------------------------- */ .sv2-opiniones { background: linear-gradient(to left, #032A35 10%, #09090f 100%); padding: 80px 0; overflow: hidden; } .sv2-opiniones__titulo { font-size: clamp(28px, 3.5vw, 48px); font-weight: 700; color: #5a6c71; line-height: 1.2; margin-bottom: 48px; } .sv2-opiniones__titulo strong { color: var(--sv2-blanco); font-weight: inherit; } /* Slider */ .sv2-opiniones__slider-outer { padding-left: calc(8.333% + 12px); overflow: hidden; } .sv2-opiniones__track { display: flex; gap: 20px; cursor: grab; will-change: transform; align-items: stretch; } .sv2-opiniones__track.is-grabbing { cursor: grabbing; user-select: none; } .sv2-opiniones__card { flex: 0 0 calc(21vw - 75px); aspect-ratio: 1 / 1; background: rgba(255, 255, 255, 0.05); padding: 35px 30px; display: flex; flex-direction: column; justify-content: space-between; } .sv2-opiniones__texto { font-size: 16px; font-weight: 400; color: var(--sv2-blanco); line-height: 1.65; margin: 0 0 24px; max-width: 333px; flex: 1; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 5; line-clamp: 5; -webkit-box-orient: vertical; } .sv2-opiniones__autor { display: flex; align-items: center; gap: 12px; } .sv2-opiniones__avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex-shrink: 0; } .sv2-opiniones__nombre { display: block; font-size: 14px; font-weight: 600; color: var(--sv2-naranja); } .sv2-opiniones__cargo { display: block; font-size: 13px; color: rgba(255, 255, 255, 0.50); margin-top: 2px; } @media (max-width: 767px) { .sv2-opiniones__slider-outer { padding-left: 16px; } .sv2-opiniones__card { flex: 0 0 65vw; } } /* Progress bar */ .sv2-opiniones__progress { margin: 50px calc(8.333% + 12px) 0; height: 3px; background: rgba(255, 255, 255, 0.12); border-radius: 2px; overflow: hidden; } .sv2-opiniones__progress-fill { height: 100%; background: var(--sv2-blanco); border-radius: 2px; transition: width 0.4s ease; width: 0%; } /* -------------------------------- 11 · BLOG POSTS -------------------------------- */ .sv2-blog { background: var(--sv2-gris-claro); padding: 100px 0; } .sv2-blog__titulo { font-size: clamp(24px, 3vw, 40px); font-weight: 700; color: var(--sv2-oscuro); } .sv2-blog-card { background: var(--sv2-blanco); border-radius: var(--sv2-radio); overflow: hidden; height: 100%; transition: var(--sv2-transicion); } .sv2-blog-card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(0,0,0,.1); } .sv2-blog-card__img-link { display: block; overflow: hidden; } .sv2-blog-card__img { width: 100%; height: 220px; object-fit: cover; transition: transform .4s; } .sv2-blog-card:hover .sv2-blog-card__img { transform: scale(1.05); } .sv2-blog-card__body { padding: 24px; } .sv2-blog-card__cat { display: inline-block; background: var(--sv2-naranja); color: var(--sv2-blanco); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; padding: 4px 12px; border-radius: 100px; margin-bottom: 12px; } .sv2-blog-card__titulo { font-size: 16px; font-weight: 700; color: var(--sv2-oscuro); margin-bottom: 10px; line-height: 1.4; } .sv2-blog-card__titulo a { color: inherit; text-decoration: none; } .sv2-blog-card__titulo a:hover { color: var(--sv2-naranja); } .sv2-blog-card__excerpt { font-size: 13px; color: var(--sv2-gris-texto); line-height: 1.65; margin: 0; } /* -------------------------------- 12 · SERVICIOS RELACIONADOS -------------------------------- */ .sv2-servicios-rel { background: var(--sv2-blanco); padding: 100px 0; border-top: 1px solid #eee; } .sv2-servicios-rel__intro { font-size: 38px; font-weight: 600; color: #0F2934; line-height: 1.2; text-align: center; margin-bottom: 60px; } .sv2-servicios-rel__intro strong { color: var(--sv2-naranja); font-weight: inherit; } .sv2-servicios-rel__col { display: flex; flex-direction: column; } .sv2-servicios-rel__item { display: block; font-size: 18px; font-weight: 500; color: #0F2934; padding: 16px 0; border-bottom: 1px solid #e8e8e8; text-decoration: none; transition: color .2s; } .sv2-servicios-rel__item:hover { color: var(--sv2-naranja); text-decoration: none; } /* -------------------------------- 13 · CTA FINAL -------------------------------- */ .sv2-cta-final { background: var(--sv2-oscuro); padding: 100px 0; } .sv2-cta-final__titulo { font-size: clamp(26px, 3.5vw, 48px); font-weight: 700; color: var(--sv2-blanco); line-height: 1.15; margin-bottom: 12px; } .sv2-cta-final__sub { display: block; font-size: clamp(28px, 4vw, 56px); font-weight: 700; color: var(--sv2-naranja); margin-bottom: 32px; } /* Formulario inline (cuando no hay CF7) */ .sv2-form__input { display: block; width: 100%; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.2); border-radius: var(--sv2-radio); padding: 14px 18px; font-size: 14px; color: var(--sv2-blanco); outline: none; transition: border-color .2s; font-family: 'Roboto', sans-serif; } .sv2-form__input::placeholder { color: rgba(255,255,255,.4); } .sv2-form__input:focus { border-color: var(--sv2-naranja); } .sv2-form__textarea { resize: vertical; min-height: 120px; } /* -------------------------------- RESPONSIVE -------------------------------- */ @media (max-width: 991px) { .sv2-hero { padding: 100px 0 60px; min-height: auto; } .sv2-hero__img-wrap { margin-top: 40px; } .sv2-camino__pasos { margin-top: 40px; padding-left: 0; } .sv2-caso__galeria { margin-top: 48px; } .sv2-cta-final .sv2-cta-final__form { margin-top: 48px; } } @media (max-width: 767px) { #servicio-v2 section { padding: 50px 0; } .sv2-hero { padding: 80px 0 48px; } .sv2-galeria__grid { grid-template-columns: 1fr; } .sv2-caso__galeria { grid-template-columns: 1fr; } .sv2-caso__img img, .sv2-caso__img--grande img { height: 200px; } }