/* ==========================================================================
   Calera San Justo — hoja de estilos del sitio
   1. Fuentes y base
   2. Estilos de cada sección (clases con prefijo: gen-, hdr-, ftr-, ini-, nos-,
      mat-, blg-, nta-, cal-, cto-, leg-). Para cambiar algo, buscá en el .html
      la clase del elemento (por ejemplo "ini-12") y editala acá.
   3. Hover y focus
   4. Diseño responsive (lo que cambia según el ancho de pantalla)
   5. Animaciones
   Si cambiás este archivo, subí el número ?v= en los <link> de los .html.
   ========================================================================== */

/* ---------- Fuentes ---------- */
@font-face{font-family:'Oswald';font-weight:500;src:url(/assets/fonts/oswald-500.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Oswald';font-weight:600;src:url(/assets/fonts/oswald-600.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Oswald';font-weight:700;src:url(/assets/fonts/oswald-700.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Inter';font-weight:400;src:url(/assets/fonts/inter-400.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Inter';font-weight:500;src:url(/assets/fonts/inter-500.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Inter';font-weight:600;src:url(/assets/fonts/inter-600.woff2) format('woff2');font-display:swap}

/* ---------- Base ---------- */
html,body{margin:0;padding:0;background:#f9f8f4}
*{box-sizing:border-box}
a{color:#e66b2a;text-decoration:none}
:where(a):hover{color:#ea580c}
button{font-family:inherit}
input,textarea,select{font-family:inherit}
::selection{background:#e66b2a;color:#fff}
[hidden]{display:none!important}

/* ---------- General (contenedor, barra de progreso, botón de WhatsApp) ---------- */
.gen-1{font-family:Inter, sans-serif;color:rgb(22, 22, 22);background:rgb(249, 248, 244);min-height:100vh;position:relative;overflow-x:clip}
.gen-2{position:fixed;top:0px;left:0px;right:0px;height:3px;background:rgb(230, 107, 42);transform-origin:left center;transform:scaleX(0);z-index:60}
.gen-3{position:fixed;right:24px;bottom:24px;z-index:55;width:60px;height:60px;border-radius:50%;background:rgb(37, 211, 102);color:rgb(255, 255, 255);display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:rgba(37, 211, 102, 0.4) 0px 10px 30px;transition:transform 0.3s}
.gen-4{position:absolute;inset:0px;border-radius:50%;border:2px solid rgb(37, 211, 102)}

/* ---------- Header y menú ---------- */
.hdr-1{position:fixed;top:0px;left:0px;right:0px;z-index:50}
.hdr-2{max-width:1320px;margin:0px auto;background:rgba(249, 248, 244, 0.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:6px;padding:10px 14px 10px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative}
.hdr-3{display:flex;align-items:center}
.hdr-4{height:44px;width:auto;display:block}
.hdr-5{display:flex;align-items:center;gap:28px}
.hdr-6{display:flex;align-items:center;gap:22px}
.hdr-7{padding:6px 0px;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:rgb(230, 107, 42);position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px}
.hdr-8{height:2px;background:rgb(230, 107, 42);transform-origin:left center;transform:scaleX(1);transition:transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1)}
.hdr-9{padding:6px 0px;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:rgb(22, 22, 22);position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px}
.hdr-10{height:2px;background:rgb(230, 107, 42);transform-origin:left center;transform:scaleX(0);transition:transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1)}
.hdr-11{background:rgb(230, 107, 42);color:rgb(255, 255, 255);font-size:13px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:13px 22px;border-radius:3px;display:flex;align-items:center;gap:10px;transition:background 0.25s}
.hdr-12{font-size:16px}
.hdr-13{background:rgb(22, 22, 22);color:rgb(255, 255, 255);border:0px;width:44px;height:44px;border-radius:3px;font-size:18px;cursor:pointer}
.hdr-14{position:absolute;top:calc(100% + 8px);left:0px;right:0px;background:rgb(15, 15, 15);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:4px;box-shadow:rgba(0, 0, 0, 0.3) 0px 20px 40px}
.hdr-15{display:block;border-bottom:1px solid rgb(31, 41, 55);text-align:left;padding:14px 0px;font-family:Oswald, sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;color:rgb(230, 107, 42);cursor:pointer}
.hdr-16{display:block;border-bottom:1px solid rgb(31, 41, 55);text-align:left;padding:14px 0px;font-family:Oswald, sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;color:rgb(255, 255, 255);cursor:pointer}
.hdr-17{background:rgb(230, 107, 42);color:rgb(255, 255, 255);text-align:center;padding:15px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;border-radius:3px;margin-top:12px;font-size:14px}

/* ---------- Footer ---------- */
.ftr-1{background:rgb(15, 15, 15);color:rgb(255, 255, 255);border-top:1px solid rgb(31, 41, 55);overflow:hidden}
.ftr-2{max-width:1320px;margin:0px auto;padding:clamp(56px, 6vw, 88px) clamp(20px, 4vw, 48px) 32px}
.ftr-3{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:40px;margin-bottom:56px}
.ftr-4{grid-column:span 1}
.ftr-5{font-family:Oswald, sans-serif;font-weight:700;font-size:28px;color:rgb(230, 107, 42);margin-bottom:14px}
.ftr-6{color:rgb(156, 163, 175);font-size:14px;line-height:1.7;margin:0px 0px 24px;max-width:320px}
.ftr-7{display:flex;gap:12px}
.ftr-8{width:44px;height:44px;border-radius:50%;background:rgba(255, 255, 255, 0.06);color:rgb(255, 255, 255);display:flex;align-items:center;justify-content:center;transition:background 0.25s}
.ftr-9{font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;margin:0px 0px 18px}
.ftr-10{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ftr-11{color:rgb(156, 163, 175);font-size:14px}
.ftr-12{display:flex;flex-direction:column;gap:14px;color:rgb(156, 163, 175);font-size:14px}
.ftr-13{color:rgb(230, 107, 42);margin-top:3px}
.ftr-14{color:inherit}
.ftr-15{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(56px, 13vw, 200px);line-height:0.85;color:transparent;-webkit-text-stroke:1px rgb(42, 42, 42);text-transform:uppercase;white-space:nowrap;margin-bottom:32px;overflow:hidden}
.ftr-16{border-top:1px solid rgb(31, 41, 55);padding-top:26px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:rgb(156, 163, 175)}
.ftr-17{margin:0px}
.ftr-18{display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.ftr-19{color:rgb(156, 163, 175);font-size:12px}

/* ---------- Inicio ---------- */
.ini-1{position:relative;min-height:min(69vh, 656px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:rgb(15, 15, 15);color:rgb(255, 255, 255)}
.ini-2{position:absolute;inset:-6% 0px 0px;z-index:0;will-change:transform}
.ini-3{width:100%;height:100%;object-fit:cover;display:block}
.ini-4{position:absolute;inset:0px;z-index:1;background:linear-gradient(90deg, rgba(15, 15, 15, 0.95) 0%, rgba(15, 15, 15, 0.7) 45%, rgba(15, 15, 15, 0.15) 100%)}
.ini-5{position:absolute;inset:0px;z-index:1;background:linear-gradient(0deg, rgba(15, 15, 15, 0.9) 0%, rgba(15, 15, 15, 0) 40%)}
.ini-6{position:relative;z-index:2;width:100%;max-width:1320px;margin:0px auto;padding:120px clamp(20px, 4vw, 48px) 36px}
.ini-7{display:flex;align-items:center;gap:14px;color:rgb(230, 107, 42);font-size:13px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;margin-bottom:20px}
.ini-8{width:40px;height:2px;background:rgb(230, 107, 42);display:block}
.ini-9{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(40px, 6.2vw, 92px);line-height:0.95;letter-spacing:-0.01em;margin:0px 0px 24px;text-transform:uppercase}
.ini-10{display:block;overflow:hidden;padding-bottom:4px}
.ini-11{display:block}
.ini-12{display:block;color:rgb(230, 107, 42)}
.ini-13{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}
.ini-14{color:rgb(209, 213, 219);font-size:clamp(16px, 1.4vw, 19px);line-height:1.6;max-width:560px;margin:0px;text-wrap:pretty}
.ini-15{display:flex;flex-wrap:wrap;gap:12px}
.ini-16{background:rgb(230, 107, 42);color:rgb(255, 255, 255);border:0px;padding:18px 28px;font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;border-radius:3px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background 0.25s}
.ini-17{background:transparent;color:rgb(255, 255, 255);border:1px solid rgba(255, 255, 255, 0.35);padding:18px 28px;font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;border-radius:3px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:0.25s}
.ini-18{position:relative;z-index:2;border-top:1px solid rgba(255, 255, 255, 0.12);background:rgba(15, 15, 15, 0.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ini-19{max-width:1320px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px);display:grid}
.ini-20{padding:20px 20px 20px 0px;border-right:1px solid rgba(255, 255, 255, 0.1)}
.ini-21{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(36px, 4vw, 52px);line-height:1;color:rgb(230, 107, 42)}
.ini-22{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgb(156, 163, 175);font-weight:600;margin-top:10px}
.ini-23{padding:20px;border-right:1px solid rgba(255, 255, 255, 0.1)}
.ini-24{padding:20px}
.ini-25{background:rgb(230, 107, 42);color:rgb(255, 255, 255);overflow:hidden;padding:14px 0px;white-space:nowrap}
.ini-26{display:inline-flex;gap:0px;will-change:transform}
.ini-27{display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-family:Oswald, sans-serif;font-weight:600;font-size:22px;letter-spacing:0.06em;text-transform:uppercase}
.ini-28{width:8px;height:8px;background:rgb(22, 22, 22);transform:rotate(45deg);display:inline-block}
.ini-29{background:rgb(249, 248, 244);padding:clamp(56px, 7vw, 100px) 0px}
.ini-30{max-width:1320px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px)}
.ini-31{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px}
.ini-32{max-width:640px}
.ini-33{display:flex;align-items:center;gap:12px;color:rgb(230, 107, 42);font-size:12px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;margin-bottom:14px}
.ini-34{width:28px;height:2px;background:rgb(230, 107, 42);display:block}
.ini-35{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(36px, 5vw, 64px);line-height:1;margin:0px;text-transform:uppercase;overflow:hidden}
.ini-36{color:rgb(75, 85, 99);font-size:14px;line-height:1.7;max-width:380px;margin:0px;text-wrap:pretty}
.ini-37{display:flex;gap:14px}
.ini-38{min-width:0px;position:relative;overflow:hidden;border-radius:4px;cursor:pointer;background:rgb(22, 22, 22);display:block;color:inherit}
.ini-39{position:absolute;inset:0px;width:100%;height:100%;object-fit:cover}
.ini-40{position:absolute;inset:0px;background:linear-gradient(0deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.35) 55%, rgba(0, 0, 0, 0.1) 100%)}
.ini-41{position:absolute;top:22px;left:24px;font-family:Oswald, sans-serif;font-size:14px;font-weight:600;letter-spacing:0.2em;color:rgb(230, 107, 42)}
.ini-42{position:absolute;left:0px;right:0px;bottom:0px;padding:28px 24px;color:rgb(255, 255, 255)}
.ini-43{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(24px, 2.4vw, 34px);margin:0px 0px 10px;line-height:1;white-space:nowrap}
.ini-44{overflow:hidden}
.ini-45{margin:0px;font-size:13px;line-height:1.6;color:rgb(209, 213, 219);letter-spacing:0.04em;max-width:340px}
.ini-46{margin-top:18px;height:2px;background:rgb(230, 107, 42);transform-origin:left center}
.ini-47{background:rgb(15, 15, 15);color:rgb(255, 255, 255);overflow:hidden}
.ini-48{max-width:1320px;margin:0px auto;display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 460px), 1fr))}
.ini-49{position:relative;min-height:336px}
.ini-50{padding:clamp(38px, 5vw, 76px) clamp(20px, 4vw, 72px);display:flex;flex-direction:column;justify-content:center}
.ini-51{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(34px, 4.4vw, 56px);line-height:1.02;margin:0px 0px 22px;text-transform:uppercase}
.ini-52{display:block;overflow:hidden}
.ini-53{color:rgb(156, 163, 175);font-size:17px;line-height:1.65;max-width:480px;margin:0px 0px 34px}
.ini-54{background:rgb(230, 107, 42);color:rgb(255, 255, 255);border:0px;padding:18px 28px;font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;gap:12px}
.ini-55{background:rgb(255, 255, 255);padding:clamp(56px, 6.4vw, 90px) 0px;border-top:1px solid rgb(229, 231, 235)}
.ini-56{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}
.ini-57{display:flex;align-items:center;gap:10px;color:rgb(230, 107, 42);font-size:12px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;margin-bottom:12px}
.ini-58{font-size:11px}
.ini-59{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(32px, 4vw, 52px);line-height:1;margin:0px;text-transform:uppercase;overflow:hidden}
.ini-60{background:none;border:0px;color:rgb(230, 107, 42);font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:10px;padding:8px 0px}
.ini-61{font-size:12px}
.ini-62{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:24px}
.ini-63{border:1px solid rgb(229, 231, 235);border-radius:4px;overflow:hidden;background:rgb(255, 255, 255)}
.ini-64{height:152px;background:rgb(243, 244, 246)}
.ini-65{padding:22px;display:flex;flex-direction:column;gap:10px}
.ini-66{height:9px;width:30%;background:rgb(243, 244, 246)}
.ini-67{height:18px;width:80%;background:rgb(243, 244, 246)}
.ini-68{height:11px;width:100%;background:rgb(243, 244, 246)}
.ini-69{background:rgb(249, 248, 244);padding:clamp(50px, 5.6vw, 76px) 0px clamp(38px, 4vw, 58px);border-top:1px solid rgb(229, 231, 235);overflow:hidden}
.ini-70{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.ini-71{font-size:13px}
.ini-72{display:flex;gap:10px}
.ini-73{width:52px;height:52px;border-radius:50%;background:rgb(255, 255, 255);border:1px solid rgb(229, 231, 235);cursor:pointer;font-size:14px;color:rgb(22, 22, 22);transition:0.25s}
.ini-74{text-align:center;padding:40px;color:rgb(107, 114, 128);font-size:13px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase}
.ini-75{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 20px;scrollbar-width:none;align-items:flex-start}
.ini-76{position:relative;background:rgb(22, 22, 22);color:rgb(255, 255, 255);padding:clamp(44px, 5vw, 76px) 0px;overflow:hidden}
.ini-77{position:absolute;right:-2vw;bottom:-3vw;font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(96px, 16vw, 240px);line-height:0.8;color:transparent;-webkit-text-stroke:1px rgba(255, 255, 255, 0.06);pointer-events:none;white-space:nowrap}
.ini-78{position:relative;max-width:1320px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px);display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 440px), 1fr));gap:clamp(32px, 5vw, 76px);align-items:center}
.ini-79{display:flex;align-items:center;gap:12px;color:rgb(230, 107, 42);font-size:12px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;margin-bottom:12px}
.ini-80{width:32px;height:2px;background:rgb(230, 107, 42);display:block}
.ini-81{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(32px, 4vw, 52px);line-height:1;margin:0px 0px 20px;text-transform:uppercase}
.ini-82{color:rgb(156, 163, 175);font-size:17px;line-height:1.6;max-width:480px;margin:0px}
.ini-83{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:12px}
.ini-84{border:1px solid rgb(31, 41, 55);background:rgba(0, 0, 0, 0.25);padding:20px 22px;border-radius:6px;height:100%;transition:border-color 0.3s, transform 0.4s}
.ini-85{color:rgb(230, 107, 42);font-size:22px;margin-bottom:10px;display:block}
.ini-86{font-family:Oswald, sans-serif;font-weight:700;font-size:20px;margin:0px 0px 6px}
.ini-87{color:rgb(156, 163, 175);font-size:14px;line-height:1.6;margin:0px}

/* ---------- Nosotros ---------- */
.nos-1{position:relative;background:rgb(15, 15, 15);color:rgb(255, 255, 255);overflow:hidden;padding:130px 0px 52px}
.nos-2{position:absolute;inset:0px;width:100%;height:100%;object-fit:cover;opacity:0.28}
.nos-3{position:absolute;inset:0px;background:linear-gradient(0deg, rgb(15, 15, 15) 0%, rgba(15, 15, 15, 0.2) 70%)}
.nos-4{position:relative;max-width:1320px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px)}
.nos-5{font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:rgb(156, 163, 175);font-weight:600;margin-bottom:16px}
.nos-6{color:rgb(230, 107, 42);margin:0px 8px}
.nos-7{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(38px, 5.2vw, 76px);line-height:0.95;margin:0px;text-transform:uppercase}
.nos-8{padding:clamp(72px, 8vw, 120px) 0px;background:rgb(249, 248, 244)}
.nos-9{max-width:1200px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px);display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 420px), 1fr));gap:clamp(48px, 7vw, 110px);align-items:start}
.nos-10{display:flex;flex-direction:column;gap:24px;color:rgb(55, 65, 81);font-size:18px;line-height:1.75}
.nos-11{margin:0px;font-size:clamp(22px, 2.2vw, 28px);line-height:1.45;color:rgb(22, 22, 22);text-wrap:pretty}
.nos-12{margin:0px;text-wrap:pretty}
.nos-13{color:rgb(230, 107, 42);font-weight:500}
.nos-14{position:relative;padding-left:44px}
.nos-15{position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:rgb(229, 231, 235)}
.nos-16{position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:rgb(230, 107, 42)}
.nos-17{display:flex;flex-direction:column;gap:44px}
.nos-18{position:relative}
.nos-19{position:absolute;left:-44px;top:10px;width:16px;height:16px;border-radius:50%;background:rgb(249, 248, 244);border:4px solid rgb(230, 107, 42)}
.nos-20{font-family:Oswald, sans-serif;font-weight:700;font-size:44px;line-height:1;color:rgb(230, 107, 42);margin-bottom:8px}
.nos-21{margin:0px;color:rgb(75, 85, 99);font-size:16px}
.nos-22{position:absolute;left:-44px;top:10px;width:16px;height:16px;border-radius:50%;background:rgb(230, 107, 42);border:4px solid rgb(230, 107, 42)}
.nos-23{font-family:Oswald, sans-serif;font-weight:700;font-size:44px;line-height:1;color:rgb(22, 22, 22);margin-bottom:8px}

/* ---------- Materiales ---------- */
.mat-1{background:rgb(15, 15, 15);color:rgb(255, 255, 255);padding:130px 0px 52px;overflow:hidden}
.mat-2{max-width:1320px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.mat-3{color:rgb(156, 163, 175);font-size:17px;line-height:1.65;max-width:440px;margin:0px}
.mat-4{max-width:1320px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px);display:flex;flex-direction:column;gap:clamp(72px, 9vw, 130px)}
.mat-5{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 440px), 1fr));gap:clamp(32px, 5vw, 80px);align-items:center}
.mat-6{height:clamp(280px, 32vw, 460px);border-radius:4px;overflow:hidden}
.mat-7{font-family:Oswald, sans-serif;font-size:15px;font-weight:600;letter-spacing:0.2em;color:rgb(230, 107, 42);margin-bottom:14px}
.mat-8{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(34px, 4vw, 52px);line-height:1;margin:0px 0px 18px;text-transform:uppercase;overflow:hidden}
.mat-9{color:rgb(75, 85, 99);font-size:17px;line-height:1.65;margin:0px 0px 28px}
.mat-10{list-style:none;margin:0px;padding:0px;display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));border-top:1px solid rgb(229, 231, 235)}
.mat-11{display:flex;gap:12px;align-items:center;padding:14px 0px;border-bottom:1px solid rgb(229, 231, 235);font-size:14px;font-weight:600;color:rgb(55, 65, 81)}
.mat-12{color:rgb(230, 107, 42)}

/* ---------- Blog ---------- */
.blg-1{background:rgb(249, 248, 244);padding:clamp(64px, 7vw, 100px) 0px}
.blg-2{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:28px}
.blg-3{height:220px;background:rgb(243, 244, 246)}
.blg-4{padding:24px;display:flex;flex-direction:column;gap:10px}

/* ---------- Nota del blog ---------- */
.nta-1{background:rgb(15, 15, 15);color:rgb(255, 255, 255);padding:130px 0px 52px}
.nta-2{max-width:860px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px);text-align:center}
.nta-3{background:none;border:0px;color:rgb(156, 163, 175);font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:10px;margin-bottom:28px}
.nta-4{color:rgb(230, 107, 42);font-size:12px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;margin-bottom:18px}
.nta-5{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(34px, 5vw, 60px);line-height:1.08;margin:0px;text-wrap:balance}
.nta-6{background:rgb(249, 248, 244);padding:64px 0px 96px}
.nta-7{max-width:860px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px)}
.nta-8{margin-top:56px;padding-top:28px;border-top:1px solid rgb(229, 231, 235)}
.nta-9{background:none;border:0px;color:rgb(230, 107, 42);font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:0px}

/* ---------- Calculadora ---------- */
.cal-1{background:rgb(249, 248, 244);padding:0px 0px clamp(64px, 7vw, 100px)}
.cal-2{background:rgb(255, 255, 255);border-bottom:1px solid rgb(229, 231, 235);position:sticky;top:76px;z-index:5}
.cal-3{max-width:1320px;margin:0px auto;padding:0px clamp(16px, 4vw, 48px);display:grid;grid-template-columns:repeat(4, minmax(0px, 1fr))}
.cal-4{padding:22px 12px 0px 0px;display:flex;flex-direction:column;gap:16px;min-width:0px}
.cal-5{display:flex;align-items:center;gap:12px;min-width:0px}
.cal-6{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Oswald, sans-serif;font-weight:600;font-size:14px;background:rgb(230, 107, 42);color:rgb(255, 255, 255);border:2px solid rgb(230, 107, 42);transition:0.4s}
.cal-7{font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgb(22, 22, 22);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color 0.4s}
.cal-8{height:3px;background:rgb(243, 244, 246);overflow:hidden}
.cal-9{height:100%;background:rgb(230, 107, 42);transform-origin:left center;transform:scaleX(1);transition:transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1)}
.cal-10{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Oswald, sans-serif;font-weight:600;font-size:14px;background:rgb(22, 22, 22);color:rgb(255, 255, 255);border:2px solid rgb(22, 22, 22);transition:0.4s}
.cal-11{height:100%;background:rgb(230, 107, 42);transform-origin:left center;transform:scaleX(0.35);transition:transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1)}
.cal-12{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Oswald, sans-serif;font-weight:600;font-size:14px;background:rgb(255, 255, 255);color:rgb(156, 163, 175);border:2px solid rgb(229, 231, 235);transition:0.4s}
.cal-13{font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgb(156, 163, 175);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color 0.4s}
.cal-14{height:100%;background:rgb(230, 107, 42);transform-origin:left center;transform:scaleX(0);transition:transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1)}
.cal-15{max-width:1320px;margin:0px auto;padding:clamp(32px, 4vw, 56px) clamp(16px, 4vw, 48px) 0px}
.cal-16{display:grid;gap:28px;align-items:start}
.cal-17{display:flex;flex-direction:column;gap:20px;min-width:0px}
.cal-18{background:rgb(255, 255, 255);border:1px solid rgb(236, 236, 236);border-radius:6px;padding:clamp(20px, 3vw, 32px)}
.cal-19{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
.cal-20{font-family:Oswald, sans-serif;font-weight:600;font-size:15px;letter-spacing:0.2em;color:rgb(230, 107, 42)}
.cal-21{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(22px, 2.2vw, 28px);margin:0px;text-transform:uppercase}
.cal-22{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:10px}
.cal-23{position:relative;text-align:left;cursor:pointer;padding:20px 18px;border-radius:4px;border:1px solid rgb(22, 22, 22);background:rgb(22, 22, 22);color:rgb(255, 255, 255);display:flex;flex-direction:column;gap:22px;min-height:132px;overflow:hidden;transition:background 0.35s, border-color 0.35s, color 0.35s}
.cal-24{font-size:24px;color:rgb(230, 107, 42);transition:color 0.35s}
.cal-25{display:flex;flex-direction:column;gap:4px}
.cal-26{font-family:Oswald, sans-serif;font-weight:600;font-size:19px;text-transform:uppercase;line-height:1.1}
.cal-27{font-size:12px;font-weight:500;color:rgb(156, 163, 175)}
.cal-28{position:relative;text-align:left;cursor:pointer;padding:20px 18px;border-radius:4px;border:1px solid rgb(229, 231, 235);background:rgb(255, 255, 255);color:rgb(22, 22, 22);display:flex;flex-direction:column;gap:22px;min-height:132px;overflow:hidden;transition:background 0.35s, border-color 0.35s, color 0.35s}
.cal-29{font-size:24px;color:rgb(156, 163, 175);transition:color 0.35s}
.cal-30{font-size:12px;font-weight:500;color:rgb(107, 114, 128)}
.cal-31{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 14px;margin-bottom:18px}
.cal-32{display:flex;align-items:baseline;gap:14px}
.cal-33{font-size:12px;font-weight:600;color:rgb(107, 114, 128);letter-spacing:0.08em;text-transform:uppercase}
.cal-34{display:flex;flex-direction:column;gap:8px}
.cal-35{display:grid;align-items:center;gap:16px;width:100%;text-align:left;cursor:pointer;padding:10px 16px 10px 10px;border-radius:4px;border:1px solid rgb(236, 236, 236);background:rgb(255, 255, 255);box-shadow:none;transition:0.3s}
.cal-36{height:68px;border-radius:3px;overflow:hidden;background:rgb(243, 244, 246);display:block}
.cal-37{display:flex;flex-direction:column;gap:4px;min-width:0px}
.cal-38{font-weight:700;font-size:15px;color:rgb(22, 22, 22);line-height:1.25}
.cal-39{font-size:13px;color:rgb(75, 85, 99);line-height:1.4}
.cal-40{display:flex;align-items:center;gap:14px}
.cal-41{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgb(107, 114, 128);background:rgb(243, 244, 246);padding:6px 10px;border-radius:999px;white-space:nowrap}
.cal-42{width:22px;height:22px;border-radius:50%;border:2px solid rgb(209, 213, 219);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color 0.3s}
.cal-43{width:10px;height:10px;border-radius:50%;background:rgb(230, 107, 42);transform:scale(0);transition:transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1)}
.cal-44{background:rgb(255, 255, 255);border:1px solid rgb(236, 236, 236);border-radius:6px;padding:clamp(20px, 3vw, 32px);opacity:0.55;transition:opacity 0.4s}
.cal-45{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr));gap:24px;align-items:stretch}
.cal-46{display:flex;flex-direction:column;gap:14px}
.cal-47{display:grid;grid-template-columns:1fr 130px;align-items:center;gap:12px;border-bottom:1px solid rgb(229, 231, 235);padding-bottom:14px}
.cal-48{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgb(75, 85, 99)}
.cal-49{width:100%;background:rgb(249, 248, 244);border:1px solid rgb(209, 213, 219);padding:12px 14px;border-radius:3px;font-size:22px;font-family:Oswald, sans-serif;font-weight:500;text-align:right;outline:none}
.cal-50{display:grid;grid-template-columns:repeat(3, minmax(0px, 1fr));gap:6px}
.cal-51{padding:11px 6px;border-radius:3px;font-size:12px;font-weight:700;cursor:pointer;border:1px solid rgb(22, 22, 22);background:rgb(22, 22, 22);color:rgb(255, 255, 255);transition:0.25s}
.cal-52{padding:11px 6px;border-radius:3px;font-size:12px;font-weight:700;cursor:pointer;border:1px solid rgb(209, 213, 219);background:rgb(255, 255, 255);color:rgb(55, 65, 81);transition:0.25s}
.cal-53{background:rgb(249, 248, 244);border:1px solid rgb(236, 236, 236);border-radius:4px;min-height:250px;display:flex;align-items:center;justify-content:center;padding:40px 40px 30px 56px;position:relative}
.cal-54{position:absolute;top:12px;left:14px;font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:rgb(156, 163, 175)}
.cal-55{position:relative;width:220px;height:140px;max-width:100%;border:2px dashed rgb(209, 213, 219);background:transparent;display:flex;align-items:center;justify-content:center;transition:width 0.6s cubic-bezier(0.2, 0.7, 0.2, 1), height 0.6s cubic-bezier(0.2, 0.7, 0.2, 1), border-color 0.4s, background 0.4s}
.cal-56{position:absolute;top:-26px;left:0px;right:0px;text-align:center;font-family:Oswald, sans-serif;font-size:14px;font-weight:600;color:rgb(22, 22, 22)}
.cal-57{position:absolute;left:-14px;top:50%;transform:translate(-100%, -50%);font-family:Oswald, sans-serif;font-size:14px;font-weight:600;color:rgb(22, 22, 22);white-space:nowrap}
.cal-58{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:6px}
.cal-59{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(20px, 2vw, 28px);color:rgb(209, 213, 219);line-height:1}
.cal-60{font-size:11px;font-weight:600;color:rgb(107, 114, 128);letter-spacing:0.06em}
.cal-61{display:flex;gap:12px;align-items:flex-start;padding:4px 4px 0px;color:rgb(107, 114, 128);font-size:12px;line-height:1.6}
.cal-62{color:rgb(55, 65, 81)}
.cal-63{top:180px;background:rgb(15, 15, 15);color:rgb(255, 255, 255);border-radius:6px;overflow:hidden;box-shadow:rgba(0, 0, 0, 0.5) 0px 30px 60px -30px}
.cal-64{padding:24px 24px 20px;border-bottom:1px dashed rgb(42, 42, 42)}
.cal-65{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.cal-66{font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgb(230, 107, 42)}
.cal-67{font-family:Oswald, sans-serif;font-weight:700;font-size:24px;margin:0px;line-height:1.15;text-transform:uppercase}
.cal-68{padding:20px 24px 24px}
.cal-69{text-align:center;padding:26px 0px;color:rgb(107, 114, 128);font-size:14px}
.cal-70{font-size:28px;display:block;margin-bottom:10px;opacity:0.3}
.cal-71{display:flex;flex-direction:column;margin-bottom:20px}
.cal-72{width:100%;background:rgb(37, 211, 102);color:rgb(255, 255, 255);border:0px;font-weight:700;font-size:15px;padding:17px;border-radius:3px;cursor:not-allowed;opacity:0.5;display:flex;justify-content:center;align-items:center;gap:10px;letter-spacing:0.04em;transition:background 0.25s, opacity 0.3s}
.cal-73{font-size:19px}

/* ---------- Contacto ---------- */
.cto-1{background:rgb(249, 248, 244);padding:clamp(40px, 5vw, 72px) 0px 0px}
.cto-2{max-width:1320px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px);display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr));gap:16px}
.cto-3{background:rgb(230, 107, 42);color:rgb(255, 255, 255);border-radius:6px;padding:28px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;text-decoration:none;transition:transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s}
.cto-4{display:flex;justify-content:space-between;align-items:flex-start}
.cto-5{font-size:30px}
.cto-6{width:44px;height:44px;border-radius:50%;background:rgb(255, 255, 255);color:rgb(230, 107, 42);display:flex;align-items:center;justify-content:center}
.cto-7{transform:rotate(-45deg)}
.cto-8{display:flex;flex-direction:column;gap:6px}
.cto-9{font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase}
.cto-10{font-family:Oswald, sans-serif;font-weight:700;font-size:32px;line-height:1;text-transform:uppercase}
.cto-11{background:rgb(255, 255, 255);color:rgb(22, 22, 22);border:1px solid rgb(231, 227, 217);border-radius:6px;padding:28px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;text-decoration:none;transition:transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), border-color 0.35s}
.cto-12{font-size:24px;color:rgb(230, 107, 42)}
.cto-13{width:44px;height:44px;border-radius:50%;background:rgb(22, 22, 22);color:rgb(255, 255, 255);display:flex;align-items:center;justify-content:center}
.cto-14{font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:rgb(107, 114, 128)}
.cto-15{font-size:16px;color:rgb(75, 85, 99)}
.cto-16{background:rgb(22, 22, 22);color:rgb(255, 255, 255);border-radius:6px;padding:28px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;text-decoration:none;transition:transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1)}
.cto-17{width:44px;height:44px;border-radius:50%;background:rgb(230, 107, 42);color:rgb(255, 255, 255);display:flex;align-items:center;justify-content:center}
.cto-18{font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:rgb(156, 163, 175)}
.cto-19{font-size:16px;color:rgb(209, 213, 219)}
.cto-20{background:rgb(249, 248, 244);padding:clamp(56px, 7vw, 110px) 0px}
.cto-21{max-width:1320px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px);display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 460px), 1fr));gap:clamp(40px, 6vw, 96px);align-items:start}
.cto-22{display:flex;flex-direction:column;gap:36px}
.cto-23{display:flex;flex-direction:column;gap:12px}
.cto-24{font-size:12px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:rgb(230, 107, 42)}
.cto-25{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(34px, 3.6vw, 52px);line-height:1;margin:0px;text-transform:uppercase}
.cto-26{font-size:11px;font-weight:700;color:rgb(107, 114, 128);letter-spacing:0.14em;text-transform:uppercase}
.cto-27{display:flex;flex-wrap:wrap;gap:8px}
.cto-28{background:rgb(22, 22, 22);color:rgb(255, 255, 255);border:1px solid rgb(22, 22, 22);padding:10px 18px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:0.2s}
.cto-29{background:transparent;color:rgb(55, 65, 81);border:1px solid rgb(212, 208, 198);padding:10px 18px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:0.2s}
.cto-30{width:100%;background:transparent;border-width:0px 0px 1.5px;border-style:none none solid;border-color:currentcolor currentcolor rgb(212, 208, 198);border-image:none;padding:10px 0px 14px;font-size:20px;font-family:inherit;color:rgb(22, 22, 22);outline:none;border-radius:0px;transition:border-color 0.25s}
.cto-31{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:36px 32px}
.cto-32{width:100%;background:transparent;border-width:0px 0px 1.5px;border-style:none none solid;border-color:currentcolor currentcolor rgb(212, 208, 198);border-image:none;padding:10px 0px 14px;font-size:20px;font-family:inherit;color:rgb(22, 22, 22);outline:none;border-radius:0px;transition:border-color 0.25s;resize:none;line-height:1.5}
.cto-33{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.cto-34{background:rgb(22, 22, 22);color:rgb(255, 255, 255);border:0px;font-weight:700;font-size:14px;letter-spacing:0.12em;text-transform:uppercase;padding:18px 28px;border-radius:999px;cursor:pointer;display:flex;align-items:center;gap:14px;font-family:inherit;transition:background 0.25s}
.cto-35{font-size:14px;color:rgb(107, 114, 128)}
.cto-36{top:110px;background:rgb(255, 255, 255);border:1px solid rgb(231, 227, 217);border-radius:6px;overflow:hidden}
.cto-37{height:280px;background:rgb(229, 231, 235)}
.cto-38{border:0px;display:block;filter:grayscale(0.85) contrast(1.05)}
.cto-39{padding:28px;display:flex;flex-direction:column;gap:24px}
.cto-40{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.cto-41{width:10px;height:10px;border-radius:50%;background:rgb(22, 163, 74);box-shadow:rgba(22, 163, 74, 0.18) 0px 0px 0px 4px}
.cto-42{color:rgb(22, 22, 22)}
.cto-43{color:rgb(107, 114, 128);font-weight:400}
.cto-44{font-size:17px;line-height:1.5;color:rgb(22, 22, 22)}
.cto-45{display:flex;flex-direction:column;gap:2px}
.cto-46{font-size:11px;font-weight:700;color:rgb(107, 114, 128);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:8px}
.cto-47{display:flex;justify-content:space-between;gap:16px;padding:10px 0px;border-top:1px solid rgb(240, 237, 230);font-size:15px;color:rgb(22, 22, 22);font-weight:600}
.cto-48{display:flex;justify-content:space-between;gap:16px;padding:10px 0px;border-top:1px solid rgb(240, 237, 230);font-size:15px;color:rgb(107, 114, 128);font-weight:400}

/* ---------- Legales ---------- */
.leg-1{font-family:Oswald, sans-serif;font-weight:700;font-size:clamp(36px, 4.6vw, 64px);line-height:0.95;margin:0px 0px 18px;text-transform:uppercase}
.leg-2{color:rgb(156, 163, 175);font-size:16px;margin:0px}
.leg-3{padding:clamp(56px, 7vw, 96px) 0px;background:rgb(249, 248, 244)}
.leg-4{max-width:900px;margin:0px auto;padding:0px clamp(20px, 4vw, 48px)}
.leg-5{background:rgb(255, 255, 255);padding:clamp(28px, 5vw, 56px);border-radius:6px;border:1px solid rgb(243, 244, 246);box-shadow:rgba(0, 0, 0, 0.3) 0px 30px 60px -40px;color:rgb(55, 65, 81);font-size:16px;line-height:1.75;display:flex;flex-direction:column;gap:36px}
.leg-6{font-family:Oswald, sans-serif;font-weight:700;font-size:24px;color:rgb(22, 22, 22);margin:0px 0px 14px;border-left:4px solid rgb(230, 107, 42);padding-left:14px}
.leg-7{margin:0px 0px 12px}
.leg-8{margin:0px 0px 12px;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.leg-9{padding-top:28px;border-top:1px solid rgb(229, 231, 235);text-align:center;font-size:12px;color:rgb(107, 114, 128)}

/* ---------- Hover y focus ---------- */
.hv-orange:hover{color:#e66b2a!important}
.hv-dark:hover{color:#161616!important}
.hv-btn-dark:hover{background:#161616!important;color:#fff!important}
.hv-btn-light:hover{background:#fff!important;color:#161616!important;border-color:#fff!important}
.hv-bg-orange:hover{background:#e66b2a!important}
.hv-bg-orange2:hover{background:#ea580c!important}
.hv-bg-orange-white:hover{background:#e66b2a!important;color:#fff!important}
.hv-bg-wa:hover{background:#1ebd5a!important}
.hv-border-orange:hover{border-color:#e66b2a!important}
.hv-lift-border:hover{border-color:#e66b2a!important;transform:translateY(-4px)!important}
.hv-circle-orange:hover{background:#e66b2a!important;color:#fff!important;border-color:#e66b2a!important}
.hv-post-card:hover{transform:translateY(-6px)!important;box-shadow:0 24px 40px -20px rgba(0,0,0,.25)!important;border-color:#e66b2a!important}
.hv-card-wa:hover{transform:translateY(-6px)!important;box-shadow:0 30px 50px -30px rgba(230,107,42,.8)!important;color:#fff!important}
.hv-card-light:hover{transform:translateY(-6px)!important;border-color:#161616!important;color:#161616!important}
.hv-card-dark:hover{transform:translateY(-6px)!important;color:#fff!important}
.hv-wa-float:hover{transform:scale(1.08)!important;color:#fff!important}
.fx-input:focus{border-color:#e66b2a!important;box-shadow:0 0 0 3px rgba(230,107,42,.2)!important}
.fx-underline:focus{border-bottom-color:#e66b2a!important}

/* ---------- Header ---------- */
.site-header{padding:16px clamp(12px,2vw,24px);transition:padding .4s ease}
.site-header.is-scrolled{padding:8px clamp(12px,2vw,24px)}
.header-bar{box-shadow:0 4px 20px -10px rgba(0,0,0,.2);transition:box-shadow .4s ease}
.is-scrolled .header-bar{box-shadow:0 12px 40px -12px rgba(0,0,0,.35)}
@media (max-width:1023.98px){.nav-desktop{display:none!important}}
@media (min-width:1024px){.nav-toggle,.nav-mobile{display:none!important}}

/* ---------- Inicio ---------- */
.hero-stats{grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.hero-stats{grid-template-columns:repeat(4,1fr)}}

.div-cards{flex-direction:column}
.div-card{flex:0 0 auto;height:240px;transition:flex .7s cubic-bezier(.2,.7,.2,1)}
.div-card-img{transform:scale(1.12);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.div-card-desc{opacity:1;transform:translateY(0);transition:opacity .5s ease .1s,transform .6s cubic-bezier(.2,.7,.2,1) .1s}
.div-card-bar{transform:scaleX(1);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
@media (min-width:1024px){
  .div-cards{flex-direction:row}
  .div-card{flex:1 1 0%;height:432px}
  .div-card.is-active{flex:2.6 1 0%}
  .div-card .div-card-desc{opacity:0;transform:translateY(20px)}
  .div-card.is-active .div-card-desc{opacity:1;transform:translateY(0)}
  .div-card .div-card-bar{transform:scaleX(0)}
  .div-card.is-active .div-card-bar{transform:scaleX(1)}
  .div-card.is-active .div-card-img{transform:scale(1.04)}
}

/* ---------- Materiales ---------- */
.mat-text-alt{order:1}
@media (min-width:900px){.mat-text-alt{order:0}}

/* ---------- Calculadora ---------- */
.calc-grid{grid-template-columns:minmax(0,1fr)}
.calc-ticket{position:relative}
.calc-opt{grid-template-columns:72px minmax(0,1fr) auto}
@media (max-width:1023.98px){.calc-unit{display:none!important}}
@media (min-width:1024px){
  .calc-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}
  .calc-ticket{position:sticky}
  .calc-opt{grid-template-columns:96px minmax(0,1fr) auto}
}

/* ---------- Contacto ---------- */
.c-aside{position:relative}
@media (min-width:1024px){.c-aside{position:sticky}}

/* ---------- Animaciones ----------
   La clase "anim" la pone early.js en <html> (solo si el visitante no pidió
   reducir el movimiento). Sin JavaScript todo se ve completo y quieto. */
.anim [data-reveal]:not(.rv-in){transition:none!important}
.anim [data-reveal="fade"]:not(.rv-in){opacity:0!important}
.anim [data-reveal="up"]:not(.rv-in){opacity:0!important;transform:translateY(40px)!important}
.anim [data-reveal="right"]:not(.rv-in){opacity:0!important;transform:translateX(-30px)!important}
.anim [data-reveal="line"]:not(.rv-in){transform:translateY(110%)!important}
.anim [data-reveal="clip"]:not(.rv-in){clip-path:inset(0 100% 0 0)!important}
.anim [data-reveal="draw"]:not(.rv-in){transform:scaleY(0)!important;transform-origin:top!important}
.anim [data-reveal="grow"]:not(.rv-in){transform:scaleX(0)!important;transform-origin:left!important}
[data-reveal="draw"]{transform-origin:top}
[data-reveal="grow"]{transform-origin:left}

@keyframes hero-zoom{from{transform:scale(1.18);filter:brightness(.6)}to{transform:scale(1);filter:brightness(1)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes wa-pulse{from{transform:scale(1);opacity:.7}to{transform:scale(1.6);opacity:0}}
.anim .hero-img{animation:hero-zoom 2.8s cubic-bezier(.2,.7,.2,1) both}
.anim .marquee-track{animation:marquee 45s linear infinite}
.anim .wa-pulse{animation:wa-pulse 2s ease-out infinite}
