/* JD: reset mínimo para clases utilitarias estáticas de Instalación. */
 *,*::before,*::after {box-sizing:border-box}
 html { -webkit-text-size-adjust:100%;scroll-behavior:smooth }
 body { margin:0;min-height:100vh;min-width:0;max-width:100%;background:#f8fafc;font:500 16px/1.6 Montserrat,Arial,sans-serif;color:#1f2937 }
 body>main {flex:1;min-width:0;width:100%}
 h1,h2,h3,h4,p,ul {margin:0}
 ul{list-style:none;padding:0}
 img,video,svg{max-width:100%}
 img{display:block}
 a{color:inherit;text-decoration:none}
 button,input,select{font:inherit}
 button{cursor:pointer;border:0}
 :focus-visible{outline:3px solid #157bcb;outline-offset:3px}
 .jd-skip-link {position:fixed;top:-100px;left:12px;z-index:1000;background:white;color:#080096;padding:12px 18px;border-radius:8px;border:2px solid #157bcb;font-weight:800}
 .jd-skip-link:focus{top:12px}
 /*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
:root, :host {
  --color-red-500: oklch(63.7% 0.237 25.331);
  --color-green-500: oklch(72.3% 0.219 149.579);
  --color-blue-50: oklch(97% 0.014 254.604);
  --color-blue-100: oklch(93.2% 0.032 255.585);
  --color-gray-50: oklch(98.5% 0.002 247.839);
  --color-gray-100: oklch(96.7% 0.003 264.542);
  --color-gray-200: oklch(92.8% 0.006 264.531);
  --color-gray-400: oklch(70.7% 0.022 261.325);
  --color-gray-500: oklch(55.1% 0.027 264.364);
  --color-gray-600: oklch(44.6% 0.03 256.802);
  --color-gray-700: oklch(37.3% 0.034 259.733);
  --color-gray-800: oklch(27.8% 0.033 256.848);
  --color-gray-900: oklch(21% 0.034 264.665);
  --color-black: #000;
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-xl: 36rem;
  --container-2xl: 42rem;
  --container-3xl: 48rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --text-2xl: 1.5rem;
  --text-2xl--line-height: calc(2 / 1.5);
  --text-3xl: 1.875rem;
  --text-3xl--line-height: calc(2.25 / 1.875);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --text-5xl: 3rem;
  --text-5xl--line-height: 1;
  --text-6xl: 3.75rem;
  --text-6xl--line-height: 1;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-widest: 0.1em;
  --leading-tight: 1.25;
  --leading-relaxed: 1.625;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
  --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
  --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  --blur-md: 12px;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --color-primary: #080096;
  --color-secondary: #157bcb;
  --color-accent: #06b6d4;
  --container-1500: 1500px;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.inset-0 {
  inset: calc(var(--spacing) * 0);
}
.top-4 {
  top: calc(var(--spacing) * 4);
}
.top-12 {
  top: calc(var(--spacing) * 12);
}
.-right-6 {
  right: calc(var(--spacing) * -6);
}
.right-4 {
  right: calc(var(--spacing) * 4);
}
.right-\[10\%\] {
  right: 10%;
}
.-bottom-6 {
  bottom: calc(var(--spacing) * -6);
}
.bottom-6 {
  bottom: calc(var(--spacing) * 6);
}
.left-6 {
  left: calc(var(--spacing) * 6);
}
.left-\[10\%\] {
  left: 10%;
}
.-z-10 {
  z-index: calc(10 * -1);
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.mx-2 {
  margin-inline: calc(var(--spacing) * 2);
}
.mx-auto {
  margin-inline: auto;
}
.mt-1 {
  margin-top: calc(var(--spacing) * 1);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mr-2 {
  margin-right: calc(var(--spacing) * 2);
}
.mb-1 {
  margin-bottom: calc(var(--spacing) * 1);
}
.mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}
.mb-4 {
  margin-bottom: calc(var(--spacing) * 4);
}
.mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}
.mb-8 {
  margin-bottom: calc(var(--spacing) * 8);
}
.mb-16 {
  margin-bottom: calc(var(--spacing) * 16);
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.inline-block {
  display: inline-block;
}
.inline-flex {
  display: inline-flex;
}
.h-1 {
  height: calc(var(--spacing) * 1);
}
.h-14 {
  height: calc(var(--spacing) * 14);
}
.h-24 {
  height: calc(var(--spacing) * 24);
}
.h-32 {
  height: calc(var(--spacing) * 32);
}
.h-48 {
  height: calc(var(--spacing) * 48);
}
.min-h-screen {
  min-height: 100vh;
}
.w-14 {
  width: calc(var(--spacing) * 14);
}
.w-24 {
  width: calc(var(--spacing) * 24);
}
.w-32 {
  width: calc(var(--spacing) * 32);
}
.w-full {
  width: 100%;
}
.max-w-2xl {
  max-width: var(--container-2xl);
}
.max-w-3xl {
  max-width: var(--container-3xl);
}
.max-w-1500 {
  max-width: var(--container-1500);
}
.max-w-xl {
  max-width: var(--container-xl);
}
.shrink-0 {
  flex-shrink: 0;
}
.-translate-x-4 {
  --tw-translate-x: calc(var(--spacing) * -4);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.-translate-y-4 {
  --tw-translate-y: calc(var(--spacing) * -4);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.transform {
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
}
.animate-pulse {
  animation: var(--animate-pulse);
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-5 {
  gap: calc(var(--spacing) * 5);
}
.gap-8 {
  gap: calc(var(--spacing) * 8);
}
.gap-10 {
  gap: calc(var(--spacing) * 10);
}
.gap-12 {
  gap: calc(var(--spacing) * 12);
}
.gap-16 {
  gap: calc(var(--spacing) * 16);
}
.space-y-3 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-8 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.overflow-hidden {
  overflow: hidden;
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.rounded-\[2\.5rem\] {
  border-radius: 2.5rem;
}
.rounded-\[3rem\] {
  border-radius: 3rem;
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-2 {
  border-style: var(--tw-border-style);
  border-width: 2px;
}
.border-4 {
  border-style: var(--tw-border-style);
  border-width: 4px;
}
.border-y-2 {
  border-block-style: var(--tw-border-style);
  border-block-width: 2px;
}
.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-b-4 {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 4px;
}
.border-b-8 {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 8px;
}
.border-accent {
  border-color: var(--color-accent);
}
.border-blue-100 {
  border-color: var(--color-blue-100);
}
.border-gray-50 {
  border-color: var(--color-gray-50);
}
.border-gray-100 {
  border-color: var(--color-gray-100);
}
.border-gray-200 {
  border-color: var(--color-gray-200);
}
.border-red-500 {
  border-color: var(--color-red-500);
}
.border-secondary {
  border-color: var(--color-secondary);
}
.border-white {
  border-color: var(--color-white);
}
.border-white\/20 {
  border-color: color-mix(in srgb, #fff 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
  }
}
.bg-accent {
  background-color: var(--color-accent);
}
.bg-black\/60 {
  background-color: color-mix(in srgb, #000 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
  }
}
.bg-blue-50 {
  background-color: var(--color-blue-50);
}
.bg-blue-100 {
  background-color: var(--color-blue-100);
}
.bg-gray-100 {
  background-color: var(--color-gray-100);
}
.bg-gray-200 {
  background-color: var(--color-gray-200);
}
.bg-gray-900 {
  background-color: var(--color-gray-900);
}
.bg-secondary {
  background-color: var(--color-secondary);
}
.bg-white {
  background-color: var(--color-white);
}
.bg-white\/10 {
  background-color: color-mix(in srgb, #fff 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
  }
}
.bg-gradient-to-r {
  --tw-gradient-position: to right in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  --tw-gradient-position: to top in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.from-gray-900\/90 {
  --tw-gradient-from: color-mix(in srgb, oklch(21% 0.034 264.665) 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-gradient-from: color-mix(in oklab, var(--color-gray-900) 90%, transparent);
  }
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-primary {
  --tw-gradient-from: var(--color-primary);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-primary\/90 {
  --tw-gradient-from: color-mix(in srgb, #080096 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-gradient-from: color-mix(in oklab, var(--color-primary) 90%, transparent);
  }
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-secondary\/90 {
  --tw-gradient-from: color-mix(in srgb, #157bcb 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-gradient-from: color-mix(in oklab, var(--color-secondary) 90%, transparent);
  }
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-transparent {
  --tw-gradient-to: transparent;
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.object-cover {
  object-fit: cover;
}
.p-4 {
  padding: calc(var(--spacing) * 4);
}
.p-8 {
  padding: calc(var(--spacing) * 8);
}
.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-6 {
  padding-inline: calc(var(--spacing) * 6);
}
.px-8 {
  padding-inline: calc(var(--spacing) * 8);
}
.px-12 {
  padding-inline: calc(var(--spacing) * 12);
}
.py-1 {
  padding-block: calc(var(--spacing) * 1);
}
.py-1\.5 {
  padding-block: calc(var(--spacing) * 1.5);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.py-4 {
  padding-block: calc(var(--spacing) * 4);
}
.py-6 {
  padding-block: calc(var(--spacing) * 6);
}
.py-16 {
  padding-block: calc(var(--spacing) * 16);
}
.py-24 {
  padding-block: calc(var(--spacing) * 24);
}
.py-32 {
  padding-block: calc(var(--spacing) * 32);
}
.text-center {
  text-align: center;
}
.text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.text-3xl {
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.text-4xl {
  font-size: var(--text-4xl);
  line-height: var(--tw-leading, var(--text-4xl--line-height));
}
.text-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xl {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.text-\[9px\] {
  font-size: 9px;
}
.text-\[10px\] {
  font-size: 10px;
}
.leading-relaxed {
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
}
.leading-tight {
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
}
.font-black {
  --tw-font-weight: var(--font-weight-black);
  font-weight: var(--font-weight-black);
}
.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.font-medium {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
}
.tracking-tight {
  --tw-tracking: var(--tracking-tight);
  letter-spacing: var(--tracking-tight);
}
.tracking-tighter {
  --tw-tracking: var(--tracking-tighter);
  letter-spacing: var(--tracking-tighter);
}
.tracking-widest {
  --tw-tracking: var(--tracking-widest);
  letter-spacing: var(--tracking-widest);
}
.text-accent {
  color: var(--color-accent);
}
.text-blue-100 {
  color: var(--color-blue-100);
}
.text-gray-400 {
  color: var(--color-gray-400);
}
.text-gray-500 {
  color: var(--color-gray-500);
}
.text-gray-600 {
  color: var(--color-gray-600);
}
.text-gray-700 {
  color: var(--color-gray-700);
}
.text-gray-800 {
  color: var(--color-gray-800);
}
.text-green-500 {
  color: var(--color-green-500);
}
.text-primary {
  color: var(--color-primary);
}
.text-red-500 {
  color: var(--color-red-500);
}
.text-secondary {
  color: var(--color-secondary);
}
.text-white {
  color: var(--color-white);
}
.uppercase {
  text-transform: uppercase;
}
.opacity-30 {
  opacity: 30%;
}
.opacity-90 {
  opacity: 90%;
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(6\,182\,212\,0\.8\)\] {
  --tw-shadow: 0 0 40px var(--tw-shadow-color, rgba(6,182,212,0.8));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_10px_20px_rgba\(21\,123\,203\,0\.4\)\] {
  --tw-shadow: 0 10px 20px var(--tw-shadow-color, rgba(21,123,203,0.4));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.drop-shadow-2xl {
  --tw-drop-shadow-size: drop-shadow(0 25px 25px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));
  --tw-drop-shadow: drop-shadow(var(--drop-shadow-2xl));
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.drop-shadow-lg {
  --tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));
  --tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.drop-shadow-md {
  --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.12)));
  --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(var(--blur-md));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.transition-all {
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-transform {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.duration-300 {
  --tw-duration: 300ms;
  transition-duration: 300ms;
}
.group-hover\:scale-110 {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
.group-hover\:border-secondary {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      border-color: var(--color-secondary);
    }
  }
}
.group-hover\:bg-blue-50 {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      background-color: var(--color-blue-50);
    }
  }
}
.group-hover\:bg-secondary {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      background-color: var(--color-secondary);
    }
  }
}
.group-hover\:text-secondary {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      color: var(--color-secondary);
    }
  }
}
.group-hover\:text-white {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      color: var(--color-white);
    }
  }
}
.hover\:-translate-y-2 {
  &:hover {
    @media (hover: hover) {
      --tw-translate-y: calc(var(--spacing) * -2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
}
.hover\:scale-105 {
  &:hover {
    @media (hover: hover) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
.hover\:bg-primary {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-primary);
    }
  }
}
.hover\:bg-secondary {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-secondary);
    }
  }
}
.hover\:bg-white {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-white);
    }
  }
}
.hover\:text-primary {
  &:hover {
    @media (hover: hover) {
      color: var(--color-primary);
    }
  }
}
.hover\:text-secondary {
  &:hover {
    @media (hover: hover) {
      color: var(--color-secondary);
    }
  }
}
.hover\:text-white {
  &:hover {
    @media (hover: hover) {
      color: var(--color-white);
    }
  }
}
.hover\:shadow-2xl {
  &:hover {
    @media (hover: hover) {
      --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
}
.md\:mt-0 {
  @media (width >= 48rem) {
    margin-top: calc(var(--spacing) * 0);
  }
}
.md\:w-3\/5 {
  @media (width >= 48rem) {
    width: calc(3/5 * 100%);
  }
}
.md\:w-auto {
  @media (width >= 48rem) {
    width: auto;
  }
}
.md\:grid-cols-2 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.md\:grid-cols-3 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.md\:flex-row {
  @media (width >= 48rem) {
    flex-direction: row;
  }
}
.md\:justify-end {
  @media (width >= 48rem) {
    justify-content: flex-end;
  }
}
.md\:justify-start {
  @media (width >= 48rem) {
    justify-content: flex-start;
  }
}
.md\:py-24 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 24);
  }
}
.md\:py-48 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 48);
  }
}
.md\:text-left {
  @media (width >= 48rem) {
    text-align: left;
  }
}
.md\:text-2xl {
  @media (width >= 48rem) {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
}
.md\:text-5xl {
  @media (width >= 48rem) {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
}
.md\:text-6xl {
  @media (width >= 48rem) {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
}
.md\:text-xl {
  @media (width >= 48rem) {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
}
.lg\:order-1 {
  @media (width >= 64rem) {
    order: 1;
  }
}
.lg\:order-2 {
  @media (width >= 64rem) {
    order: 2;
  }
}
.lg\:block {
  @media (width >= 64rem) {
    display: block;
  }
}
.lg\:w-1\/2 {
  @media (width >= 64rem) {
    width: calc(1/2 * 100%);
  }
}
.lg\:grid-cols-4 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.lg\:flex-row {
  @media (width >= 64rem) {
    flex-direction: row;
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}


 /* Estilos específicos de Instalación; NO modifican el menú compartido */
 .install-main{max-width:100%;overflow:clip}
 .install-hero{isolation:isolate}
 .install-hero h1{max-width:990px;font-size:clamp(32px,5.1vw,65px);line-height:1.12;overflow-wrap:break-word;text-wrap:balance}
 .install-hero p{line-height:1.6}
 .install-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#e7edf7}
 .install-guarantee{width:128px;height:128px}
 .install-card-art{display:block;position:absolute;inset:0}
 .install-card-art-home{background:linear-gradient(135deg,#172b5e 0%,#3a5d9a 65%,#859dbe 100%)}
 .install-card-art-business{background:linear-gradient(135deg,#08476a 0%,#157bcb 60%,#88c8f5 100%)}
 .install-card-art-industrial{background:linear-gradient(135deg,#1c293a 0%,#374151 65%,#6b7280 100%)}
 #cta-dinamico {background:linear-gradient(135deg,#080096 0%,#157bcb 50%,#080096 100%);background-size:200% 200%;animation:jdInstallGradient 10s ease infinite}
 @keyframes jdInstallGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
 .install-main section,.install-main nav{min-width:0}
 .install-main p,.install-main h1,.install-main h2,.install-main h3{overflow-wrap:break-word}
 .install-main a,.install-main button{min-height:44px}
 .install-main nav a{min-height:unset}
 @media(max-width:1023.98px){
   .install-main .install-guarantee{width:106px;height:106px;right:0;bottom:-24px}
 }
 @media(max-width:767.98px){
   .install-hero{padding-top:52px;padding-bottom:52px}
   .install-hero h1{font-size:clamp(30px,8vw,43px);letter-spacing:-.02em;line-height:1.14}
   .install-hero p{font-size:15px}
   .install-main section:not(.install-hero){scroll-margin-top:80px}
   .install-main section[class*="py-24"]{padding-top:58px;padding-bottom:58px}
   .install-main section[class*="py-16"]{padding-top:45px;padding-bottom:55px}
   .install-main section>div{max-width:100%}
   .install-main h2{font-size:clamp(24px,7vw,36px);line-height:1.2}
   .install-main h3{font-size:20px;line-height:1.35}
   .install-main .install-guarantee{right:0;bottom:-18px;width:92px;height:92px;padding:8px}
   .install-main .install-guarantee i{font-size:27px;margin:0}
   .install-main .install-guarantee span{font-size:8px}
   .install-main .install-photo{border-radius:26px}
   .install-main [class*="rounded-[3rem]"]{border-radius:26px}
   .install-main [class*="rounded-[2.5rem]"]{border-radius:25px}
   .install-main .install-main-cta{font-size:15px}
 }
 @media(max-width:374.98px){
   .install-hero{padding-top:42px;padding-bottom:44px}
   .install-main section>div{min-width:0}
   .install-main a{max-width:100%;overflow-wrap:anywhere;white-space:normal}
 }
 @media(prefers-reduced-motion:reduce){
   html{scroll-behavior:auto}
   #cta-dinamico{animation:none}
   .install-main *{transition-duration:0.01ms!important;animation-duration:0.01ms!important}
 }
 