/* ======================================================
 MAFARED · FASE 2 — estética industrial contemporánea
 Se importa DESPUÉS de las hojas CSS originales.
 Modifica esta hoja para personalizar la nueva identidad.
 ====================================================== */
:root {
  --azul-mafared:#0677d2;
  --azul-profundo:#052c53;
  --azul-noche:#061c36;
  --azul-pastel:#eaf5fd;
  --texto-mafared:#13283f;
  --gris-mafared:#597089;
  --sombra-mafared:0 18px 54px rgba(5,43,85,.10);
  scroll-behavior:smooth;
}
body { color:var(--texto-mafared); background:#fff; font-family: 'Segoe UI', 'Inter', system-ui, sans-serif; }
main { padding-top:var(--mafared-header-height,88px); }
[id] { scroll-margin-top:108px; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid #08a4f7;outline-offset:4px; }
[hidden] { display:none !important; }
/* Navegación compartida — inicio, catálogo, servicios, nosotros. */
header,header.menu-scroll {padding:0;position:fixed;inset:0 0 auto 0;width:100%; z-index:2000; background:rgba(255,255,255,.98); box-shadow:0 1px 0 rgba(5,44,83,.09),0 6px 22px rgba(8,43,78,.04);transition:box-shadow .24s ease,background-color .24s ease; }
header::after {content:""; position:absolute;left:0;bottom:0;height:3px;width:var(--progreso-scroll,0%);background:linear-gradient(90deg,#0681d9,#67c7fb);transition:width .1s linear;pointer-events:none;}
header.menu-scroll {background:#fff; box-shadow:0 8px 24px rgba(7,34,69,.11);}
.contenedorCabecera { max-width:1350px; min-height:88px; padding:10px clamp(22px,4.2vw,72px); gap:30px; }
header.menu-scroll .contenedorCabecera {min-height:76px;}
a.imagenLogo {flex-shrink:0;display:inline-flex;align-items:center;}
.imagenLogo img {display:block;width:175px;height:62px;object-fit:contain;transition:width .25s ease,height .25s ease;}
header.menu-scroll .imagenLogo img {width:158px;height:53px;}
.menunavegacion { display:flex;align-items:center;gap:clamp(6px,1.4vw,20px);flex-wrap:nowrap; }
.menunavegacion a,.menunavegacion a:last-child {position:relative;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:.94rem;font-weight:700;letter-spacing:.008em;padding:12px 12px;color:#173654;border-radius:12px;text-decoration:none;background:transparent;transition:color .22s ease,background-color .22s ease,transform .22s ease;}
.menunavegacion a:not(:last-child)::after {content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;transform:scaleX(0);transform-origin:left;background:var(--azul-mafared);transition:transform .24s ease;}
.menunavegacion a:not(:last-child):hover,.menunavegacion a[aria-current="page"] {background:transparent;color:#006ebd;}
.menunavegacion a:not(:last-child):hover::after,.menunavegacion a[aria-current="page"]::after {transform:scaleX(1);}
.menunavegacion a:last-child {background:#0574c9;color:#fff;min-width:120px;padding:13px 22px;box-shadow:0 7px 17px rgba(0,114,206,.17);}
.menunavegacion a:last-child:hover {background:#034e91;color:#fff;transform:translateY(-2px);}
.menu-movil-toggle {display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:46px;height:46px;border:1px solid #cee0ef;border-radius:12px;background:#f3f9ff;color:#053e71;cursor:pointer;}
.menu-movil-toggle span {width:21px;height:2px;background:currentColor;border-radius:3px;transition:transform .2s ease,opacity .2s ease;}
.menu-movil-toggle.esta-abierto span:first-child {transform:translateY(7px) rotate(45deg);}
.menu-movil-toggle.esta-abierto span:nth-child(2) {opacity:0;}
.menu-movil-toggle.esta-abierto span:last-child {transform:translateY(-7px) rotate(-45deg);}
/* Portada cinematográfica: foto MAFARED original en formato WebP. */
.bienvenida {min-height:clamp(620px,calc(100svh - 70px),880px);display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden;padding:96px 0 130px;
 background-image:linear-gradient(90deg,rgba(3,22,51,.97) 0%,rgba(3,27,61,.94) 20%,rgba(4,39,82,.86) 38%,rgba(2,31,73,.45) 64%,rgba(2,23,56,.12) 100%),url('Imagenes/banner-mafared-optimizado.webp');
 background-position:center,center 48%; background-size:cover; background-repeat:no-repeat;}
.bienvenida::before {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 14% 40%,rgba(0,122,233,.19),transparent 38%);}
.bienvenida::after {content:"";position:absolute;inset:auto -8% -210px 43%;height:420px;border:1px solid rgba(169,224,255,.16);border-radius:50%;pointer-events:none;transform:rotate(-14deg);}
.contenedorBienvenida {position:relative;z-index:1;max-width:1350px;padding:0 clamp(26px,5vw,76px);}
.contenidoBienvenida {max-width:min(640px,64vw);}
.hero-eyebrow {display:inline-flex;align-items:center;gap:11px;letter-spacing:.15em;font-size:.74rem;font-weight:800;color:#abdfff;margin-bottom:23px;padding:11px 15px;background:rgba(27,136,219,.15);border:1px solid rgba(169,220,255,.22);border-radius:100px;text-transform:uppercase;}
.hero-eyebrow-dot {display:block;width:7px;height:7px;background:#38bafa;box-shadow:0 0 0 5px rgba(56,186,250,.12);border-radius:50%;}
.contenidoBienvenida h1 {font-weight:850;max-width:700px;font-size:clamp(3.2rem,5.15vw,5.35rem);line-height:1.055;letter-spacing:-.045em;margin:0 0 24px;color:#fff;text-wrap:balance;text-shadow:0 4px 28px rgba(0,0,0,.16);}
.contenidoBienvenida p {font-size:clamp(1.07rem,1.42vw,1.32rem);line-height:1.75;max-width:510px;color:#d6e8f7;letter-spacing:.005em;margin:0 0 31px;text-shadow:none;}
.botonesBienvenida {display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px;}
.botonesBienvenida .btn-blanco,.botonesBienvenida .btn-whatsapp {display:inline-flex;gap:12px;justify-content:center;align-items:center;width:auto;min-height:53px;padding:16px 24px;font-size:.87rem;border-radius:14px;text-decoration:none;font-weight:800;letter-spacing:.01em;box-shadow:none;text-transform:none;line-height:1.25;transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;}
.botonesBienvenida .btn-blanco {color:#064279;background:#fff;}
.botonesBienvenida .btn-blanco:hover {background:#e3f5ff;transform:translateY(-3px);box-shadow:0 12px 30px rgba(2,14,35,.22);}
.botonesBienvenida .btn-whatsapp {background:rgba(255,255,255,.10);border:1px solid rgba(223,243,255,.5);color:#fff;backdrop-filter:blur(8px);}
.botonesBienvenida .btn-whatsapp:hover {background:rgba(255,255,255,.2);transform:translateY(-3px);}
.botonesBienvenida .btn-whatsapp i {color:#7bf1b1;font-size:1.25rem;}
.hero-trustline {color:#b0d0e6;font-size:.84rem;font-weight:600;margin-top:27px;letter-spacing:.01em;}
.hero-trustline span {padding:0 8px;color:#5bb5e9;}
.hero-scroll-indicator {position:absolute;bottom:78px;left:max(24px,calc((100vw - 1200px)/2));z-index:3;display:inline-flex;gap:14px;align-items:center;letter-spacing:.17em;font-size:.67rem;color:#c7dfec;text-decoration:none;font-weight:800;}
.hero-scroll-indicator i {display:inline-flex;width:28px;height:28px;border:1px solid #668dab;border-radius:50%;align-items:center;justify-content:center;transition:transform .3s ease;}
.hero-scroll-indicator:hover i {transform:translateY(5px);}
/* Tarjetas flotantes de fortalezas */
.caracteristicas-destacadas {margin-top:-68px;padding:0 clamp(22px,3vw,50px);}
.contenedor-caracteristicas {max-width:1230px;}
.grid-caracteristicas {grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.tarjeta-caracteristica {border:1px solid #e2edf6;border-radius:18px;padding:22px 24px;box-shadow:0 18px 45px rgba(3,40,75,.13);background:#fff;min-height:112px;}
.icono-caract {width:57px;height:57px;flex:0 0 57px;border-radius:15px;background:linear-gradient(145deg,#097cd3,#034879);box-shadow:0 9px 24px rgba(2,86,155,.22);font-size:1.45rem;}
.texto-caract h4 {font-size:1.03rem;margin-bottom:5px;}
.texto-caract p {font-size:.88rem;}
/* Introducción de categorías y tarjetas que conservan todas las imágenes. */
.seccion-productos {padding:114px 0 106px; background:linear-gradient(180deg,#fff 0%,#f4faff 100%);}
.contenedor-productos {max-width:1260px;padding:0 clamp(22px,3.6vw,48px);}
.seccion-etiqueta {display:block;color:#087bc9;font-weight:850;font-size:.75rem;letter-spacing:.145em;margin-bottom:17px;text-transform:uppercase;}
.presentacion-productos {border-radius:28px;background:linear-gradient(120deg,#e5f3ff 0%,#d8ebfc 70%,#e5f3ff 100%);padding:clamp(25px,4vw,53px);gap:40px;box-shadow:none;border:1px solid #d1e8fb;margin-bottom:46px;overflow:hidden;}
.texto-presentacion h2 {font-size:clamp(2.2rem,3.25vw,3.65rem);line-height:1.12;letter-spacing:-.042em;max-width:520px;color:#063661;}
.texto-presentacion p {font-size:1.05rem;line-height:1.7;max-width:430px;color:#55718a;font-weight:500;}
.img-presentacion img {width:100%;max-width:540px;max-height:350px;object-fit:cover;border-radius:20px;box-shadow:0 20px 50px rgba(19,76,122,.12);}
.cuadricula-lineas {grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;}
.contenedor-flip {height:322px;perspective:none;background:transparent;}
.tarjeta-flip,.contenedor-flip:hover .tarjeta-flip {transform:none;transform-style:flat;box-shadow:0 12px 32px rgba(15,52,82,.055);border:1px solid #e0eaf3;border-radius:19px;overflow:hidden;background:#fff;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;}
.contenedor-flip:hover .tarjeta-flip,.contenedor-flip:focus-within .tarjeta-flip {transform:translateY(-8px);box-shadow:0 22px 48px rgba(3,83,151,.16);border-color:#91ccf1;}
.tarjeta-frente,.tarjeta-atras {position:absolute;inset:0;width:100%;border:none;backface-visibility:visible;transform:none;border-radius:0;}
.tarjeta-frente {padding:18px 14px 55px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff;}
.tarjeta-frente img {width:100%;height:185px;max-width:100%;object-fit:contain;margin:0 0 17px;transition:transform .45s ease;}
.contenedor-flip:hover .tarjeta-frente img {transform:scale(1.055);}
.tarjeta-frente h3 {font-size:.97rem;line-height:1.35;color:#102f50;letter-spacing:.015em;margin:0;}
.tarjeta-atras {inset:auto 0 0;height:43px;display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:center;padding:7px 12px;background:#ebf6ff;color:#006db9;}
.tarjeta-atras span {display:inline;margin:0;font-size:.8rem;font-weight:800;}
.tarjeta-atras i {font-size:.84rem;transform:none;}
.contenedor-flip:hover .tarjeta-atras {background:#0876c9;color:#fff;}
.contenedor-flip:hover .tarjeta-atras i {transform:translateX(4px);}
/* Sección nueva de servicios con 3 tarjetas. */
.seccion-soluciones {position:relative;overflow:hidden;background:#071f3a;padding:108px 24px 120px;color:#fff;}
.seccion-soluciones::before {content:"";position:absolute;width:650px;height:650px;right:-300px;top:-300px;background:radial-gradient(circle,rgba(5,127,216,.35),transparent 70%);pointer-events:none;}
.soluciones-wrap {max-width:1210px;margin:0 auto;position:relative;z-index:1;}
.soluciones-encabezado {display:flex;gap:24px;justify-content:space-between;align-items:end;margin-bottom:38px;}
.soluciones-encabezado h2 {max-width:720px;font-size:clamp(2.15rem,3.4vw,3.5rem);line-height:1.15;letter-spacing:-.035em;text-wrap:balance;}
.seccion-soluciones .seccion-etiqueta {color:#59c3fa;}
.link-soluciones {font-size:.88rem;color:#ceecff;text-decoration:none;font-weight:750;white-space:nowrap;padding-bottom:10px;}
.link-soluciones:hover {color:#fff;}
.link-soluciones i {margin-left:5px;}
.soluciones-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.solucion-card {position:relative;min-height:280px;display:flex;flex-direction:column;padding:30px;border:1px solid #2b5278;border-radius:22px;text-decoration:none;color:#e2f1ff;background:linear-gradient(150deg,rgba(21,60,98,.78),rgba(8,38,73,.94));overflow:hidden;transition:border-color .25s ease,transform .3s ease,background .3s ease;}
.solucion-card:hover {transform:translateY(-7px);border-color:#3c9ee1;background:linear-gradient(150deg,rgba(20,75,124,.92),rgba(9,49,91,.98));}
.solucion-icono {display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid rgba(134,208,255,.3);border-radius:15px;background:#104777;color:#7acdfb;font-size:1.35rem;margin-bottom:24px;}
.solucion-indice {position:absolute;right:29px;top:32px;color:#75accc;font-size:.8rem;font-weight:850;letter-spacing:.07em;}
.solucion-card h3 {color:#fff;font-size:1.45rem;letter-spacing:-.02em;margin-bottom:12px;}
.solucion-card p {max-width:310px;color:#a9c6dc;font-size:.96rem;line-height:1.65;margin:0 0 24px;}
.solucion-ir {margin-top:auto;color:#77d2ff;font-size:.85rem;font-weight:800;}
.solucion-ir i {transition:transform .25s ease;margin-left:7px;}
.solucion-card:hover .solucion-ir i {transform:translateX(6px);}
/* Proceso visual ordenado: pasos conservados. */
.seccion-proceso {background-attachment:scroll;padding:100px 0 110px;}
.overlay-proceso {background:linear-gradient(180deg,rgba(237,247,255,.85),rgba(226,241,253,.76));}
.etiqueta-blanca {text-align:center;}
.titulo-proceso {color:#073962;font-size:clamp(2.25rem,3.6vw,3.25rem);letter-spacing:-.03em;margin:0 0 65px;}
.grid-pasos {gap:14px;}
.paso-card {padding:38px 13px 24px;border-radius:16px;border:1px solid #8dc0eb;box-shadow:0 13px 36px rgba(13,71,119,.14);}
.paso-card h3 {color:#063867;}
.paso-card p {line-height:1.6;}
.paso-card:hover {transform:translateY(-7px);box-shadow:0 22px 40px rgba(4,80,138,.18);}
/* Nosotros y filosofía: mejores ritmos y espacios. */
.seccion-nosotros {padding:112px 0;}
.titulo-nosotros {letter-spacing:-.035em;line-height:1.13;}
.img-nosotros {border-radius:20px;}
.seccion-mvv {padding-top:90px;padding-bottom:100px;}
.tarjeta-filosofia {border-radius:20px;}
/* Interior de catálogo, servicios y nosotros: coherencia visual. */
.banner-catalogo,.banner-servicios,.banner-nosotros {background:radial-gradient(circle at 85% 15%,rgba(41,157,244,.33),transparent 38%),linear-gradient(120deg,#051e3b,#0765ad);padding:95px 22px 90px;position:relative;isolation:isolate;}
.banner-catalogo h1,.banner-servicios h1,.banner-nosotros h1 {font-size:clamp(2.5rem,4.8vw,4.2rem);letter-spacing:-.038em;line-height:1.13;margin:0 0 18px;}
.banner-catalogo p,.banner-servicios p,.banner-nosotros p {max-width:730px;margin:0 auto;color:#d6eafe;font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.65;}
/* Placeholder honesto para fichas que esperan galería detallada. */
.modal-fotos-pendientes {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;padding:24px;margin:20px 0;border:1px dashed #98c5e9;border-radius:16px;background:#f2f9ff;text-align:center;color:#41647e;}
.modal-fotos-pendientes i {font-size:2.2rem;color:#0875c7;}
.modal-fotos-pendientes strong {font-size:1.05rem;color:#063d71;}
.modal-fotos-pendientes p {max-width:420px;line-height:1.6;font-size:.9rem;}
.tarjeta-producto .btn-ver-detalles {cursor:pointer;}
/* Apariciones discretas controladas por IntersectionObserver. */
[data-reveal] {transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);}
[data-reveal].reveal-preparado {opacity:0;transform:translateY(28px);}
[data-reveal].reveal-visible {opacity:1;transform:translateY(0);}
/* Botón flotante más sobrio. */
.btn-whatsapp-flotante {right:23px;bottom:25px;width:58px;height:58px;box-shadow:0 10px 32px rgba(17,111,67,.24);animation:latido-whatsapp 3.7s infinite;}
/* Responsive */
@media (max-width:1120px) {
  .contenedorCabecera {padding-inline:26px;}
  .cuadricula-lineas {grid-template-columns:repeat(3,minmax(0,1fr));}
  .grid-pasos {grid-template-columns:repeat(3,1fr);row-gap:35px;}
  .contenidoBienvenida {max-width:580px;}
  .bienvenida {background-position:center,57% center;}
}
@media (max-width:860px) {
  .contenedorCabecera,header.menu-scroll .contenedorCabecera {padding:11px 22px;min-height:72px;flex-direction:row;gap:10px;}
  .imagenLogo img,header.menu-scroll .imagenLogo img {width:145px;height:49px;}
  .menu-movil-toggle {display:flex;flex-shrink:0;}
  .menunavegacion {display:none;position:absolute;top:calc(100% + 1px);left:16px;right:16px;z-index:2;flex-direction:column;align-items:stretch;justify-content:initial;flex-wrap:nowrap;gap:3px;padding:14px;background:#fff;border:1px solid #d9e8f5;border-radius:0 0 20px 20px;box-shadow:0 24px 44px rgba(9,42,75,.16);}
  .menunavegacion.menu-abierto {display:flex;}
  .menunavegacion a,.menunavegacion a:last-child {width:100%;display:flex;padding:15px 18px;justify-content:flex-start;border-radius:10px;font-size:1rem;}
  .menunavegacion a:not(:last-child)::after {display:none;}
  .menunavegacion a:not(:last-child):hover,.menunavegacion a[aria-current="page"] {background:#edf7ff;}
  .menunavegacion a:last-child {justify-content:center;margin-top:6px;}
  .bienvenida {min-height:695px;padding:90px 0 110px;background-position:center,60% center;background-image:linear-gradient(90deg,rgba(3,22,51,.98) 0%,rgba(3,27,61,.93) 45%,rgba(3,28,67,.58) 100%),url('Imagenes/banner-mafared-optimizado.webp');}
  .contenidoBienvenida {max-width:560px;}
  .grid-caracteristicas {grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .tarjeta-caracteristica {flex-direction:column;align-items:flex-start;padding:18px;gap:10px;}
  .presentacion-productos {gap:22px;}
  .soluciones-grid {gap:12px;}
  .solucion-card {padding:22px;}
}
@media (max-width:640px) {
  .contenedorBienvenida {padding:0 23px;}
  .bienvenida {min-height:calc(100svh - 25px);min-height:max(665px,calc(100svh - 25px));background-position:center,61% center;background-image:linear-gradient(90deg,rgba(3,21,48,.98),rgba(3,24,57,.89) 69%,rgba(3,24,57,.55)),url('Imagenes/banner-mafared-optimizado.webp');padding:72px 0 116px;}
  .hero-eyebrow {font-size:.62rem;letter-spacing:.12em;margin-bottom:20px;padding:10px 12px;}
  .contenidoBienvenida {max-width:100%;}
  .contenidoBienvenida h1 {font-size:clamp(2.65rem,11vw,4.2rem);line-height:1.09;letter-spacing:-.05em;max-width:440px;}
  .contenidoBienvenida p {font-size:1rem;max-width:460px;line-height:1.62;margin-bottom:27px;}
  .botonesBienvenida {flex-direction:column;align-items:stretch;gap:11px;}
  .botonesBienvenida .btn-blanco,.botonesBienvenida .btn-whatsapp {width:100%;}
  .hero-trustline {font-size:.74rem;line-height:1.7;}
  .hero-scroll-indicator {bottom:62px;left:24px;}
  .caracteristicas-destacadas {margin-top:-38px;padding:0 16px;}
  .grid-caracteristicas {grid-template-columns:1fr;gap:10px;}
  .tarjeta-caracteristica {flex-direction:row;align-items:center;min-height:0;padding:15px 16px;gap:13px;border-radius:15px;}
  .icono-caract {width:46px;height:46px;flex-basis:46px;border-radius:12px;font-size:1.25rem;}
  .texto-caract h4 {font-size:.96rem;}
  .texto-caract p {font-size:.8rem;}
  .seccion-productos {padding:83px 0 78px;}
  .presentacion-productos {flex-direction:column;text-align:left;align-items:stretch;gap:22px;padding:24px;border-radius:21px;margin-bottom:25px;}
  .texto-presentacion h2 {font-size:2.25rem;}
  .texto-presentacion p {font-size:.98rem;}
  .img-presentacion img {height:220px;object-fit:contain;border-radius:15px;}
  .cuadricula-lineas {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .contenedor-flip {height:275px;}
  .tarjeta-frente {padding:11px 10px 50px;}
  .tarjeta-frente img {height:155px;max-width:100%;margin-bottom:10px;}
  .tarjeta-frente h3 {font-size:.8rem;}
  .tarjeta-atras {height:42px;}
  .seccion-soluciones {padding:74px 20px 85px;}
  .soluciones-encabezado {flex-direction:column;align-items:flex-start;gap:18px;}
  .soluciones-encabezado h2 {font-size:2.3rem;}
  .soluciones-grid {grid-template-columns:1fr;gap:12px;}
  .solucion-card {min-height:225px;padding:25px;}
  .solucion-icono {margin-bottom:16px;}
  .seccion-proceso {padding:82px 0;}
  .grid-pasos {grid-template-columns:repeat(2,1fr);gap:36px 12px;}
  .paso-card {padding:32px 9px 19px;}
  .titulo-proceso {margin-bottom:60px;}
  .seccion-nosotros {padding:76px 0;}
  .seccion-mvv {padding-top:75px;}
  .banner-catalogo,.banner-servicios,.banner-nosotros {padding:76px 24px;}
  .btn-whatsapp-flotante {width:53px;height:53px;right:16px;bottom:17px;}
  .btn-whatsapp-flotante i {font-size:2.15rem!important;}
}
@media (max-width:390px) {
  .contenidoBienvenida h1 {font-size:2.5rem;}
  .cuadricula-lineas {grid-template-columns:repeat(2,minmax(0,1fr));}
  .tarjeta-frente img {height:124px;}
  .contenedor-flip {height:245px;}
  .grid-pasos {grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce) {
  :root {scroll-behavior:auto;}
  *,*::before,*::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  [data-reveal].reveal-preparado {opacity:1;transform:none;}
}
