@charset "utf-8";
/* Starter: base global reutilizable. Personaliza primero las variables. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,600&display=swap');
@import url('https://cdn-uicons.flaticon.com/3.0.0/uicons-regular-straight/css/uicons-regular-straight.css');
@import url('https://cdn-uicons.flaticon.com/3.0.0/uicons-brands/css/uicons-brands.css');

:root {
  /* Marca y tema */
  --primary-color: #4ab05f;
  --primary-hover: #e94924;
  --secondary-color: #173f36;
  --secondary-hover: #0f2f28;
  --tertiary-color: #c9ff56;
  --bg-color: #f5f1e8;
  --bg-navbar: rgb(245 241 232 / 92%);
  --surface-color: #fffdf8;
  --surface-hover: #f0eadf;
  --text-color: #18201e;
  --heading-color: #fff;
  --text-muted: #6f746f;
  --border-color: rgb(24 32 30 / 16%);
  --hero-h1-color: #4b8b58;
  --hero-text-color: #4d5753;
  --hero-overlay: linear-gradient(135deg, rgb(245 241 232 / 20%), rgb(245 241 232 / 80%));

  /* Contexto claro / estado normal */
  --light-bg: #ffffff;
  --light-surface: #f5f1e8;
  --light-heading: #12201d;
  --light-text: #18201e;
  --light-muted: #6f746f;
  --light-border: rgb(24 32 30 / 16%);
  --light-link: #c93d1c;
  --light-accent: #c93d1c;

  /* Contexto oscuro / alto contraste */
  --dark-bg: #0d1f1b;
  --dark-surface: #173f36;
  --dark-heading: #ffffff;
  --dark-text: #e6ede9;
  --dark-muted: #b7c5c0;
  --dark-border: rgb(255 255 255 / 22%);
  --dark-link: #c9ff56;
  --dark-accent: #c9ff56;

  /* Tipografía */
  --font-sans: 'DM Sans', system-ui, -apple-system, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-size-xs: .75rem;
  --font-size-sm: .875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.25rem;
  --font-size-xl: 1.5rem;
  --font-size-xxl: clamp(2rem, 4vw, 3.5rem);
  --font-size-3xl: clamp(3.25rem, 7vw, 6.8rem);
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.02;
  --line-height-normal: 1.55;
  --line-height-relaxed: 1.75;

  /* Espaciado y forma */
  --space-xs: .25rem;
  --space-small: .5rem;
  --space-medium: 1rem;
  --space-large: 2rem;
  --space-xl: 4rem;
  --space-xxl: 7rem;
  --radius-sm: .35rem;
  --radius-md: .75rem;
  --radius-lg: 1.25rem;
  --radius-xl: 2rem;
  --radius-full: 9999px;
  --shadow-sm: 0 2px 10px rgb(18 32 29 / 6%);
  --shadow-md: 0 16px 38px rgb(18 32 29 / 10%);
  --shadow-lg: 0 24px 70px rgb(18 32 29 / 18%);
  --transition-fast: 150ms ease;
  --transition-normal: 300ms ease;
  --transition-slow: 600ms cubic-bezier(.2,.8,.2,1);

  /* Estructura global */
  --container-max-width: 77.5rem;
  --container-padding: clamp(1.25rem, 4vw, 3rem);
  --column-gap: clamp(1rem, 2.5vw, 2rem);
  --section-padding: clamp(5rem, 10vw, 9rem);
  --navbar-height: 5.5rem;
  --navbar-logo-height: 2.75rem;
  --navbar-max-width: var(--container-max-width);
  --navbar-menu-width: 20rem;
  --navbar-z-index: 1000;
  --navbar-toggle-z-index: 1100;
  --nav-alignment: flex-end;
  --footer-bg-color: #0d1f1b;
  --footer-text-color: #f7f3ea;
  --footer-min-height: 8rem;
  --button-text-color: #fff;
  --button-padding-y: .9rem;
  --button-padding-x: 1.4rem;
  --button-gap: .55rem;
  --button-min-height: 3rem;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 100%; scroll-behavior: smooth; scroll-padding-top: var(--navbar-height); }
body { min-height: 100vh; overflow-x: hidden; color: var(--text-color); background: var(--bg-color); font-family: var(--font-sans); font-size: var(--font-size-base); line-height: var(--line-height-normal); }
main { width: 100%; padding-top: var(--navbar-height); }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea { font: inherit; }
a { color: inherit; text-decoration: none; transition: color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid var(--tertiary-color); outline-offset: 3px; }
h1, h4, h5, h6 { color: var(--heading-color); line-height: var(--line-height-tight); letter-spacing: -.04em; }
h1 { font-size: var(--font-size-3xl); }
h2 { font-size: var(--font-size-xxl); }
h3 { font-size: var(--font-size-xl); color:var(--secondary-color);}
h4 { font-size: 1.125rem; }
h5 { font-size: 1rem; }
h6 { font-size: var(--font-size-sm); letter-spacing: .08em; text-transform: uppercase; }
p + p { margin-top: var(--space-medium); }
em { color: var(--primary-color); font-family: var(--font-serif); font-weight: 600; }
.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 2000; padding: .75rem 1rem; background: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

/* Contenedores y sistema de columnas conservado */
.col { width: min(100% - (var(--container-padding) * 2), var(--container-max-width)); margin-inline: auto; }
.grid-stretch { display: flex; gap: var(--column-gap); align-items: stretch; }
.two-column, .hero-layout, .contact-layout { display: flex; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.col-20 { width: 20%; }.col-25 { width: 25%; }.col-30 { width: 30%; }.col-33 { width: 33.333%; }.col-40 { width: 40%; }.col-50 { width: 50%; }.col-60 { width: 60%; }.col-70 { width: 70%; }.col-75 { width: 75%; }.col-80 { width: 80%; }.col-100 { width: 100%; }
.izquierda { text-align: left; }.centrado { text-align: center; }.derecha { text-align: right; }
.section { padding-block: var(--section-padding); }
.section-alt { background: var(--surface-color); }
.section-dark { color: #d7ded9; background: var(--secondary-color); }
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4, .section-dark h5, .section-dark h6 { color: #fff; }
.theme-light, .theme-dark { color: var(--theme-text); background: var(--theme-bg); }
.theme-light { --theme-bg: var(--light-bg); --theme-surface: var(--light-surface); --theme-heading: var(--light-heading); --theme-text: var(--light-text); --theme-muted: var(--light-muted); --theme-border: var(--light-border); --theme-link: var(--light-link); --theme-accent: var(--light-accent); --theme-button-text: #fff; }
.theme-dark { --theme-bg: var(--dark-bg); --theme-surface: var(--dark-surface); --theme-heading: var(--dark-heading); --theme-text: var(--dark-text); --theme-muted: var(--dark-muted); --theme-border: var(--dark-border); --theme-link: var(--dark-link); --theme-accent: var(--dark-accent); --theme-button-text: var(--dark-bg); color-scheme: dark; }
.theme-light h1, .theme-light h2, .theme-light h3, .theme-light h4, .theme-light h5, .theme-light h6, .theme-dark h1, .theme-dark h2, .theme-dark h3, .theme-dark h4, .theme-dark h5, .theme-dark h6 { color: var(--theme-heading); }
.theme-light .lead, .theme-light .text-muted, .theme-dark .lead, .theme-dark .text-muted { color: var(--theme-muted); }
.theme-light .inline-link, .theme-dark .inline-link { color: var(--theme-link); }
.theme-light .theme-surface, .theme-dark .theme-surface { border-color: var(--theme-border); background: var(--theme-surface); }
.theme-light .btn-secondary, .theme-dark .btn-secondary { border-color: var(--theme-border); color: var(--theme-text); background: transparent; }
.theme-light .btn-secondary:hover, .theme-dark .btn-secondary:hover { color: var(--theme-bg); background: var(--theme-text); }
.theme-light .btn-primary, .theme-dark .btn-primary { color: var(--theme-button-text); background: var(--theme-accent); }
.theme-dark .text-link { color: var(--theme-link); }
.eyebrow, .kicker { margin-bottom: 1.5rem; color: var(--primary-color); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: .18em; text-transform: uppercase; }
.section-heading { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: var(--column-gap); align-items: end; margin-bottom: clamp(3rem, 6vw, 5rem); }
.section-heading p:last-child { color: #acbbb5; }
.lead { margin-block: 1.5rem 2rem; color: var(--text-muted); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.7; }

/* Botones */
.button-row { display: flex; flex-wrap: wrap; gap: var(--button-gap); margin-top: 2rem; }
.btn, .btn-contact { display: inline-flex; min-height: var(--button-min-height); align-items: center; justify-content: center; gap: .6rem; padding: var(--button-padding-y) var(--button-padding-x); border: 1px solid transparent; border-radius: var(--radius-full); font-weight: var(--font-weight-semibold); cursor: pointer; }
.btn-primary { color: var(--button-text-color); background: var(--primary-color); }
.btn-primary:hover { color: #fff; background: var(--primary-hover); transform: translateY(-2px); }
.btn-secondary { border-color: var(--border-color); background: rgb(255 255 255 / 55%); }
.btn-secondary:hover { background: #fff; }
.text-link { display: inline-flex; gap: .65rem; align-items: center; padding-bottom: .35rem; border-bottom: 1px solid currentColor; font-weight: 600; }
.text-link:hover { color: var(--primary-color); }

/* Navegación compartida */
.navbar { position: fixed; inset: 0 0 auto; z-index: var(--navbar-z-index); height: var(--navbar-height); border-bottom: 1px solid var(--border-color); background: var(--bg-navbar); backdrop-filter: blur(14px); }
.nav-container { display: flex; width: min(100% - (var(--container-padding) * 2), var(--navbar-max-width)); height: 100%; margin-inline: auto; align-items: center; }
.nav-logo, .footer-brand { display: inline-flex; align-items: center; gap: .65rem; font-size: 1.25rem; font-weight: 700; letter-spacing: -.04em; }
.logo-mark { display: inline-grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; color: #fff; background: var(--primary-color); font-size: .9rem; }
.nav-menu-wrapper { display: flex; flex: 1; align-items: center; justify-content: var(--nav-alignment); gap: 2.5rem; }
.nav-menu { display: flex; gap: 2rem; align-items: center; list-style: none; }
.nav-link { position: relative; padding-block: 1rem; font-size: var(--font-size-sm); font-weight: 500; }
.nav-link::after { position: absolute; right: 0; bottom: .7rem; left: 0; height: 2px; content: ''; background: var(--primary-color); transform: scaleX(0); transition: transform var(--transition-normal); }
.nav-link:hover::after, .nav-link[aria-current="page"]::after { transform: scaleX(1); }
.nav-link[aria-current="page"] { color: var(--primary-color); }
.btn-contact { color: #fff; background: var(--secondary-color); font-size: var(--font-size-sm); }
.btn-contact:hover { color: #fff; background: var(--primary-color); }
.menu-toggle { display: none; margin-left: auto; padding: .8rem; border: 0; background: transparent; cursor: pointer; }
.hamburger, .hamburger::before, .hamburger::after { display: block; width: 1.5rem; height: 2px; content: ''; background: currentColor; transition: var(--transition-normal); }
.hamburger::before { transform: translateY(-.45rem); }.hamburger::after { transform: translateY(.35rem); }

/* Hero */
.hero { position: relative; display: flex; min-height: calc(100svh - var(--navbar-height)); flex-direction: column; justify-content: center; overflow: hidden; padding-top: clamp(4rem, 8vw, 7rem); background: var(--bg-color); }
.hero::before { position: absolute; inset: 0; pointer-events: none; content: ''; background-image: linear-gradient(rgb(24 32 30 / 5%) 1px, transparent 1px), linear-gradient(90deg, rgb(24 32 30 / 5%) 1px, transparent 1px); background-size: 4rem 4rem; mask-image: linear-gradient(to bottom, #000, transparent 85%); }
.hero-layout { position: relative; flex: 1; padding-bottom: 5rem; }
.hero h1 { max-width: 12ch; color: var(--hero-h1-color); }
.hero-intro { max-width: 41rem; margin-top: 1.75rem; color: var(--hero-text-color); font-size: clamp(1.05rem, 1.8vw, 1.3rem); }
.hero-visual { position: relative; min-height: 28rem; }
.orb { position: absolute; border-radius: 50%; filter: saturate(1.1); }
.orb-one { top: 2%; right: 0; width: min(27vw, 22rem); aspect-ratio: 1; background: var(--tertiary-color); }
.orb-two { right: 35%; bottom: 0; width: min(20vw, 15rem); aspect-ratio: 1; background: #b4c9ff; }
.hero-card { position: absolute; right: 2rem; bottom: 1rem; display: flex; width: min(24rem, 90%); min-height: 18rem; flex-direction: column; justify-content: space-between; padding: 2rem; border-radius: var(--radius-xl); color: #fff; background: var(--primary-color); box-shadow: var(--shadow-lg); transform: rotate(-5deg); }
.hero-card span { font-size: .7rem; letter-spacing: .2em; }.hero-card strong { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.05em; }.hero-card i { align-self: flex-end; font-size: 2rem; }
.hero-marquee { position: relative; display: flex; width: 100%; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; justify-content: center; padding: 1.25rem var(--container-padding); color: #fff; background: var(--secondary-color); font-size: var(--font-size-sm); font-weight: 700; letter-spacing: .15em; white-space: nowrap; }
.hero-marquee i { color: var(--tertiary-color); font-style: normal; }

/* Tarjetas y secciones demo */
.intro-section h2 { max-width: 17ch; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.card { position: relative; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgb(255 255 255 / 18%); border-radius: var(--radius-lg); background: rgb(255 255 255 / 5%); }
.service-card { display: flex; min-height: 25rem; flex-direction: column; }
.service-card.featured { color: var(--text-color); background: var(--tertiary-color); transform: translateY(-1.5rem); }
.service-card.featured h3 { color: var(--heading-color); }.service-card.featured p { color: #3f4a3f; }
.card-number { align-self: flex-end; font-size: var(--font-size-xs); opacity: .65; }
.service-icon { margin-block: auto 1.5rem; font-size: 2.5rem; }
.service-card p { margin-top: 1rem; color: #acbbb5; }
.card-link { display: grid; width: 2.8rem; aspect-ratio: 1; margin-top: 1.5rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.card-link:hover { color: var(--secondary-color); background: #fff; transform: rotate(45deg); }
.process-section { background: var(--surface-color); }
.process-section .section-heading { grid-template-columns: 1fr 3fr; }
.process-list { border-top: 1px solid var(--border-color); }
.process-item { display: grid; grid-template-columns: .5fr 1.3fr 2fr auto; gap: var(--column-gap); align-items: center; padding: 2rem 0; border-bottom: 1px solid var(--border-color); transition: padding var(--transition-normal), background var(--transition-normal); }
.process-item:hover { padding-inline: 1.25rem; background: var(--bg-color); }
.process-item span { color: var(--primary-color); font-size: var(--font-size-sm); }.process-item p { color: var(--text-muted); }.process-item > i { font-size: 1.5rem; }
.stats-section { padding-block: 4rem; color: #fff; background: var(--primary-color); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { display: flex; flex-direction: column; padding-left: 2rem; border-left: 1px solid rgb(255 255 255 / 35%); }
.stat strong { font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; letter-spacing: -.06em; }.stat span { margin-top: .75rem; font-size: var(--font-size-sm); }
.contact-section { color: #d7ded9; background: var(--secondary-color); }
.contact-section h2 { color: #fff; }.contact-section > .col { align-items: flex-start; }
.contact-section .col-50 > p:not(.eyebrow) { max-width: 32rem; margin-top: 1.5rem; color: #acbbb5; }
.contact-email { margin-top: 2rem; color: var(--tertiary-color); font-size: clamp(1.2rem, 2vw, 1.6rem); border-bottom: 1px solid; }
.contact-form { display: flex; flex-direction: column; gap: 1.5rem; padding: 2rem; border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); }
.field { display: flex; flex-direction: column; gap: .55rem; }.field label { color: var(--heading-color); font-size: var(--font-size-sm); font-weight: 600; }
.field input, .field textarea { width: 100%; padding: .9rem 0; border: 0; border-bottom: 1px solid var(--border-color); border-radius: 0; color: var(--text-color); background: transparent; resize: vertical; }
.contact-form .btn { align-self: flex-start; border: 0; }

/* Pie compartido */
footer { min-height: var(--footer-min-height); padding: 5rem 0 2rem; color: var(--footer-text-color); background: var(--footer-bg-color); }
.footer-main { display: flex; padding-bottom: 4rem; }.footer-main .col-40 { padding-right: 7%; }.footer-main p { max-width: 30rem; margin-top: 1.25rem; color: #9eaaa6; }
.footer-main h4 { margin-bottom: 1.25rem; color: #fff; font-size: .8rem; letter-spacing: .15em; text-transform: uppercase; }
.footer-main .col-20 a { display: block; margin-bottom: .65rem; color: #b9c3bf; }.footer-main a:hover { color: var(--tertiary-color); }
.social-links { display: flex; flex-direction: column; gap: .65rem; }
.social-links a { display: flex !important; align-items: center; gap: .65rem; margin: 0 !important; }
.social-links i { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border: 1px solid rgb(255 255 255 / 18%); border-radius: 50%; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 2rem; border-top: 1px solid rgb(255 255 255 / 14%); color: #7f8d88; font-size: var(--font-size-xs); }

/* Volver arriba */
#arriba { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 900; display: grid; width: 3rem; aspect-ratio: 1; place-items: center; border: 0; border-radius: 50%; color: #fff; background: var(--primary-color); box-shadow: var(--shadow-md); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(.75rem); transition: var(--transition-normal); }
#arriba.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.whatsapp-float { position: fixed; right: 1.25rem; bottom: 5rem; z-index: 900; display: flex; min-height: 3rem; align-items: center; gap: .55rem; padding: .75rem 1rem; border: 0; border-radius: var(--radius-full); color: #fff; background: #25d366; box-shadow: var(--shadow-md); cursor: pointer; font: inherit; font-size: var(--font-size-sm); font-weight: 700; transition: var(--transition-normal); }
.whatsapp-float i { display: inline-flex; font-size: 1.35rem; }
.whatsapp-float:hover { color: #fff; background: #1eaf55; transform: translateY(-2px); }
.whatsapp-float:focus-visible { outline: 3px solid rgb(37 211 102 / 35%); outline-offset: 3px; }
.whatsapp-modal { width: min(calc(100% - 2rem), 32rem); max-height: calc(100dvh - 2rem); margin: auto 1.25rem auto auto; overflow-y: auto; padding: clamp(1.5rem, 4vw, 2.4rem); border: 1px solid rgb(9 11 10 / 10%); border-radius: 1.25rem; color: var(--text-color); background: var(--surface-color); box-shadow: var(--shadow-lg); }
.whatsapp-modal[open] { animation: whatsappModalIn .28s cubic-bezier(.22, 1, .36, 1) both; }
.whatsapp-modal::backdrop { background: rgb(4 13 8 / 72%); backdrop-filter: blur(6px); }
.whatsapp-modal-close { position: absolute; top: 1rem; right: 1rem; display: grid; width: 2.5rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--border-color); border-radius: 50%; color: var(--text-color); background: transparent; cursor: pointer; font-size: 1.5rem; line-height: 1; }
.whatsapp-modal-heading { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: center; padding-right: 2.5rem; }
.whatsapp-modal-icon { display: grid; width: 3.5rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: #25d366; font-size: 1.6rem; }
.whatsapp-modal-heading p { margin: 0 0 .25rem; color: var(--primary-color); font: 700 .68rem/1.2 Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; }
.whatsapp-modal-heading h2 { margin: 0; font-size: clamp(1.65rem, 5vw, 2.25rem); line-height: 1; letter-spacing: -.045em; }
.whatsapp-modal-intro { margin: 1.35rem 0 1.5rem; color: var(--text-muted); line-height: 1.55; }
.whatsapp-modal-form { display: grid; gap: 1.15rem; }
.whatsapp-modal-form label { display: grid; gap: .45rem; }
.whatsapp-modal-form label > span { color: var(--text-muted); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.whatsapp-modal-form input { width: 100%; min-height: 3.25rem; padding: .75rem .9rem; border: 1px solid var(--border-color); border-radius: .5rem; color: var(--text-color); background: #fff; font: inherit; }
.whatsapp-modal-form input:focus { border-color: #25d366; outline: 3px solid rgb(37 211 102 / 13%); }
.whatsapp-modal-submit { width: 100%; gap: .65rem; margin-top: .35rem; border: 0; color: #fff; background: #1eaf55; cursor: pointer; }
.whatsapp-modal-submit:hover { color: #fff; background: #178b44; }
.whatsapp-modal-form small { color: var(--text-muted); font-size: .68rem; line-height: 1.45; text-align: center; }
@keyframes whatsappModalIn { from { opacity: 0; transform: translateX(2rem); } to { opacity: 1; transform: translateX(0); } }
@media (max-width: 40rem) { .whatsapp-modal { margin: auto; } }
@media (prefers-reduced-motion: reduce) { .whatsapp-modal[open] { animation: none; } }

/* Páginas interiores de demostración */
.page-hero { position: relative; overflow: hidden; padding-block: clamp(6rem, 12vw, 10rem); background: var(--surface-color); }
.page-hero::after { position: absolute; top: -8rem; right: -6rem; width: min(40vw, 32rem); aspect-ratio: 1; border-radius: 50%; content: ''; background: var(--tertiary-color); opacity: .7; }
.page-hero .col { position: relative; z-index: 1; }
.page-hero h1 { max-width: 14ch; }
.page-intro { max-width: 42rem; margin-top: 2rem; color: var(--text-muted); font-size: clamp(1.1rem, 2vw, 1.35rem); }
.page-hero-dark { color: #d7ded9; background: var(--secondary-color); }.page-hero-dark h1 { color: #fff; }.page-hero-dark::after { background: #b4c9ff; }
.page-hero-contact::after { background: var(--primary-color); opacity: .85; }
.abstract-panel { display: flex; min-height: 30rem; flex-direction: column; justify-content: flex-end; padding: 2rem; border-radius: var(--radius-xl); color: #fff; background: var(--primary-color); transform: rotate(-2deg); }
.abstract-panel span { font-size: clamp(5rem, 10vw, 9rem); font-weight: 700; line-height: .8; letter-spacing: -.08em; }.abstract-panel p { margin-top: 1.5rem; font-weight: 600; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.value-card { min-height: 18rem; padding: 2rem; border: 1px solid var(--border-color); border-radius: var(--radius-lg); background: var(--bg-color); }
.value-card span { color: var(--primary-color); font-size: var(--font-size-sm); }.value-card h3 { margin-top: 5rem; }.value-card p { margin-top: 1rem; color: var(--text-muted); }
.mini-cta { color: #fff; background: var(--secondary-color); }.mini-cta h2 { margin-bottom: 2rem; color: #fff; }.mini-cta .eyebrow { color: var(--tertiary-color); }
.detail-list { border-top: 1px solid var(--border-color); }
.detail-row { display: grid; grid-template-columns: .35fr .5fr 3fr; gap: var(--column-gap); padding-block: 3.5rem; border-bottom: 1px solid var(--border-color); }
.detail-row > span { color: var(--primary-color); }.detail-row > i { font-size: 2.25rem; }.detail-row h2 { margin-bottom: 1rem; }.detail-row p { max-width: 43rem; color: var(--text-muted); }
.detail-row ul { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; list-style: none; }.detail-row li { padding: .55rem .9rem; border: 1px solid var(--border-color); border-radius: var(--radius-full); font-size: var(--font-size-sm); }
.process-page { background: var(--surface-color); }.timeline-item { display: grid; grid-template-columns: .7fr 2.5fr .5fr; gap: var(--column-gap); align-items: center; padding-block: 4rem; border-bottom: 1px solid var(--border-color); }
.timeline-number { color: var(--primary-color); font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 700; letter-spacing: -.07em; }.timeline-item > i { color: var(--secondary-color); font-size: 3rem; }.timeline-item .lead { max-width: 42rem; margin-bottom: 0; }
.contact-page { background: var(--bg-color); }.contact-data { display: flex; flex-direction: column; gap: 2rem; margin-top: 3rem; }.contact-data > div { display: grid; grid-template-columns: auto 1fr; gap: .2rem 1rem; }.contact-data i { grid-row: 1 / 3; color: var(--primary-color); font-size: 1.5rem; }.contact-data span { color: var(--text-muted); font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: .1em; }.contact-data a, .contact-data p { font-weight: 600; }
.field select { width: 100%; padding: .9rem 0; border: 0; border-bottom: 1px solid var(--border-color); color: var(--text-color); background: transparent; }

/* Biblioteca de componentes frecuentes */
.breadcrumbs { margin-bottom: 3rem; }.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .6rem; color: var(--text-muted); font-size: var(--font-size-sm); list-style: none; }.breadcrumbs li + li::before { margin-right: .6rem; content: '/'; opacity: .5; }.breadcrumbs a:hover { color: var(--primary-color); }
.component-section { border-bottom: 1px solid var(--border-color); }.component-heading { display: grid; grid-template-columns: 5rem 1fr; gap: var(--column-gap); margin-bottom: 3rem; }.component-heading > span { color: var(--primary-color); font-size: var(--font-size-sm); }.component-heading .eyebrow { margin-bottom: .75rem; }.component-stage { padding: clamp(1.5rem, 4vw, 3rem); border: 1px dashed var(--border-color); border-radius: var(--radius-lg); background: var(--surface-color); }
.foundation-block { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--border-color); border-radius: var(--radius-lg); background: var(--surface-color); }.foundation-title { margin-bottom: 2rem; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; }.foundation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--column-gap); margin-top: var(--column-gap); }.type-scale { border-top: 1px solid var(--border-color); }.type-sample { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; align-items: baseline; padding-block: 1.5rem; border-bottom: 1px solid var(--border-color); }.type-sample > span { color: var(--text-muted); font-size: var(--font-size-xs); font-weight: 700; letter-spacing: .12em; }.type-sample h1 { font-size: clamp(2.5rem, 5vw, 5rem); }.type-sample h2 { font-size: clamp(2rem, 4vw, 3.5rem); }.text-samples { display: grid; gap: 1.5rem; }.text-samples .lead { margin: 0; }.text-small { font-size: var(--font-size-sm); }.text-muted { color: var(--text-muted); }.inline-link { color: var(--primary-color); text-decoration: underline; text-underline-offset: .2em; }.text-samples .eyebrow { margin: 0; }.color-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }.color-swatch { display: grid; grid-template-columns: 3.5rem 1fr; grid-template-rows: repeat(3, auto); column-gap: .8rem; align-items: center; }.color-swatch > span { grid-row: 1 / 4; width: 3.5rem; aspect-ratio: 1; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--swatch); }.color-swatch small, .color-swatch code { color: var(--text-muted); font-size: .7rem; }.color-swatch code { font-family: ui-monospace, monospace; }
.contrast-foundation { margin-top: var(--column-gap); }.contrast-intro { max-width: 48rem; margin: -1rem 0 2rem; }.contrast-intro code { padding: .15rem .35rem; border-radius: var(--radius-sm); background: var(--surface-hover); font-family: ui-monospace, monospace; font-size: .85em; }.contrast-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--column-gap); }.theme-preview { overflow: hidden; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--theme-border); border-radius: var(--radius-lg); }.theme-label { display: block; margin-bottom: 1rem; color: var(--theme-muted); font-size: var(--font-size-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.theme-palette { display: flex; gap: .45rem; margin-bottom: 2rem; }.theme-palette i { width: 2.25rem; aspect-ratio: 1; border: 1px solid var(--theme-border); border-radius: 50%; background: var(--swatch); }.theme-preview .theme-surface { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid; border-radius: var(--radius-md); }.theme-preview .eyebrow { margin-bottom: 1rem; color: var(--theme-accent); }.theme-preview h3 { margin-bottom: 1rem; }.theme-preview p + p { margin-top: 1rem; }.theme-preview .button-row { margin-top: 1.5rem; }
.button-showcase { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }.btn-dark { color: #fff; background: var(--secondary-color); }.btn-dark:hover { color: #fff; background: var(--secondary-hover); }.btn:disabled { cursor: not-allowed; opacity: .45; transform: none; }
.alert-stack { display: grid; gap: 1rem; }.alert { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: start; padding: 1.2rem; border: 1px solid; border-radius: var(--radius-md); }.alert > i { margin-top: .15rem; font-size: 1.25rem; }.alert p { margin-top: .2rem; font-size: var(--font-size-sm); }.alert-info { color: #164e63; border-color: #a5e5ef; background: #ecfeff; }.alert-success { color: #14532d; border-color: #a7e4bc; background: #f0fdf4; }.alert-warning { color: #713f12; border-color: #f5d48b; background: #fffbeb; }.alert-close { border: 0; color: currentColor; background: transparent; font-size: 1.5rem; cursor: pointer; }
.general-card-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: var(--column-gap); }.general-card { overflow: hidden; border: 1px solid var(--border-color); border-radius: var(--radius-lg); background: var(--surface-color); box-shadow: var(--shadow-sm); }.card-placeholder { display: grid; min-height: 13rem; place-items: center; color: var(--secondary-color); background: linear-gradient(135deg, var(--tertiary-color), #b4c9ff); font-size: 2rem; }.general-card-body { padding: 1.5rem; }.general-card-body h3 { margin-block: 1rem .75rem; }.general-card-body p { margin-bottom: 1.5rem; color: var(--text-muted); }.tag { display: inline-flex; padding: .35rem .7rem; border-radius: var(--radius-full); color: var(--secondary-color); background: rgb(201 255 86 / 45%); font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }.horizontal-card { display: grid; grid-template-columns: 1fr 1.2fr; }.horizontal-card .card-placeholder { min-height: 100%; }
.testimonial { max-width: 60rem; margin-inline: auto; }.testimonial blockquote { color: #fff; font-size: clamp(1.8rem, 4vw, 3.5rem); line-height: 1.25; letter-spacing: -.04em; }.testimonial figcaption { display: flex; gap: 1rem; align-items: center; margin-top: 2.5rem; }.testimonial figcaption div { display: flex; flex-direction: column; }.testimonial small { color: #acbbb5; }.avatar { display: grid; width: 3.25rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: var(--secondary-color); background: var(--tertiary-color); font-weight: 700; }
.accordion { border-top: 1px solid var(--border-color); }.accordion-item { border-bottom: 1px solid var(--border-color); }.accordion-trigger { display: flex; width: 100%; align-items: center; justify-content: space-between; padding-block: 1.5rem; border: 0; color: var(--heading-color); background: transparent; font-size: var(--font-size-lg); font-weight: 600; text-align: left; cursor: pointer; }.accordion-trigger i { transition: transform var(--transition-normal); }.accordion-trigger[aria-expanded="true"] i { transform: rotate(45deg); }.accordion-panel { max-width: 50rem; padding: 0 3rem 1.5rem 0; color: var(--text-muted); }
.modal { width: min(90%, 35rem); padding: clamp(1.5rem, 4vw, 3rem); border: 0; border-radius: var(--radius-lg); color: var(--text-color); background: var(--surface-color); box-shadow: var(--shadow-lg); }.modal::backdrop { background: rgb(13 31 27 / 72%); backdrop-filter: blur(5px); }.modal h2 { margin-bottom: 1.25rem; }.modal-close { position: absolute; top: 1rem; right: 1rem; display: grid; width: 2.5rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--border-color); border-radius: 50%; background: transparent; font-size: 1.4rem; cursor: pointer; }
.cookie-banner { position: fixed; right: 1.25rem; bottom: 1.25rem; left: 1.25rem; z-index: 1200; display: flex; width: min(calc(100% - 2.5rem), 70rem); margin-inline: auto; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.25rem; border: 1px solid var(--border-color); border-radius: var(--radius-lg); background: var(--surface-color); box-shadow: var(--shadow-lg); }.cookie-banner[hidden] { display: none; }.cookie-banner p { margin-top: .3rem; color: var(--text-muted); font-size: var(--font-size-sm); }.cookie-actions { display: flex; flex-shrink: 0; gap: .5rem; }

/* Páginas legales y estados estructurales */
.legal-hero { padding-block: clamp(4rem, 8vw, 7rem); background: var(--surface-color); }.legal-hero-inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }.legal-hero h1 { max-width: 15ch; }.legal-hero-inner > i { color: var(--primary-color); font-size: clamp(4rem, 10vw, 8rem); opacity: .9; }.legal-section { background: var(--bg-color); }.legal-layout { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(0, 3fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }.legal-nav { position: sticky; top: calc(var(--navbar-height) + 2rem); display: flex; flex-direction: column; gap: .8rem; padding: 1.25rem; border-left: 2px solid var(--primary-color); }.legal-nav strong { margin-bottom: .5rem; }.legal-nav a { color: var(--text-muted); font-size: var(--font-size-sm); }.legal-nav a:hover { color: var(--primary-color); }.legal-content { max-width: 52rem; }.legal-content > section { padding-block: 2.5rem; border-bottom: 1px solid var(--border-color); scroll-margin-top: calc(var(--navbar-height) + 2rem); }.legal-content h2 { margin-bottom: 1.25rem; font-size: clamp(1.65rem, 3vw, 2.3rem); }.legal-content p, .legal-content li { color: #4f5955; line-height: var(--line-height-relaxed); }.legal-content ul { display: grid; gap: .5rem; margin: 1.25rem 0 0 1.25rem; }.legal-content a { color: var(--primary-color); text-decoration: underline; text-underline-offset: .2em; }.legal-note { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.25rem; border: 1px solid #f5d48b; border-radius: var(--radius-md); color: #713f12; background: #fffbeb; }.legal-note i { font-size: 1.25rem; }.legal-note p { color: inherit; }.cookie-types { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.5rem; }.cookie-types article { padding: 1.25rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--surface-color); }.cookie-types p { margin-top: .5rem; font-size: var(--font-size-sm); }.table-wrapper { overflow-x: auto; margin-top: 1.5rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); }.legal-content table { width: 100%; border-collapse: collapse; min-width: 38rem; }.legal-content th, .legal-content td { padding: 1rem; border-bottom: 1px solid var(--border-color); text-align: left; }.legal-content th { background: var(--surface-hover); font-size: var(--font-size-sm); }.legal-content td { color: #4f5955; font-size: var(--font-size-sm); }
.status-page { position: relative; display: grid; min-height: calc(100svh - var(--navbar-height)); place-items: center; overflow: hidden; padding-block: clamp(5rem, 10vw, 8rem); background: var(--surface-color); }.status-content { position: relative; z-index: 1; text-align: center; }.status-content h1 { max-width: 14ch; margin-inline: auto; }.status-content .page-intro { margin-inline: auto; }.status-content .button-row { justify-content: center; }.status-code { color: var(--primary-color); font-size: clamp(6rem, 18vw, 14rem); font-weight: 700; line-height: .72; letter-spacing: -.1em; opacity: .14; }.status-orb { position: absolute; top: 10%; right: -8rem; width: min(40vw, 30rem); aspect-ratio: 1; border-radius: 50%; background: var(--tertiary-color); }.success-page .status-orb { right: auto; left: -8rem; background: #b4c9ff; }.success-icon { display: grid; width: 5rem; aspect-ratio: 1; margin: 0 auto 2rem; place-items: center; border-radius: 50%; color: #fff; background: var(--primary-color); font-size: 2rem; box-shadow: var(--shadow-md); }.next-steps { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 52rem; margin: 3rem auto; text-align: left; }.next-steps > div { padding: 1.25rem; border-left: 1px solid var(--border-color); }.next-steps span { color: var(--primary-color); font-size: var(--font-size-sm); font-weight: 700; }.next-steps p { margin-top: .5rem; color: var(--text-muted); }

/* Documentación web */
.docs-hero { padding-block: clamp(6rem, 11vw, 9rem); }.docs-hero h1 { max-width: 15ch; }.docs-hero .page-intro { color: var(--dark-muted); }.docs-hero .breadcrumbs { color: var(--dark-muted); }.docs-meta { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 3rem; color: var(--dark-muted); font-size: var(--font-size-sm); }.docs-meta span { display: flex; align-items: center; gap: .55rem; }.docs-meta i { color: var(--dark-link); }
.docs-section { background: var(--bg-color); }.docs-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }.docs-nav { position: sticky; top: calc(var(--navbar-height) + 1.5rem); display: flex; max-height: calc(100svh - var(--navbar-height) - 3rem); flex-direction: column; gap: .35rem; overflow-y: auto; padding: 1.25rem; border: 1px solid var(--border-color); border-radius: var(--radius-lg); background: var(--surface-color); }.docs-nav strong { margin-bottom: .75rem; }.docs-nav a { padding: .45rem .65rem; border-radius: var(--radius-sm); color: var(--text-muted); font-size: var(--font-size-sm); }.docs-nav a:hover { color: var(--primary-color); background: var(--surface-hover); }
.docs-content { min-width: 0; max-width: 57rem; }.docs-content > section { padding-block: 1rem 5rem; scroll-margin-top: calc(var(--navbar-height) + 2rem); }.docs-content > section + section { padding-top: 5rem; border-top: 1px solid var(--border-color); }.docs-content h2 { margin-bottom: 1.5rem; }.docs-content h3 { margin-block: 2rem 1rem; }.docs-content p { max-width: 48rem; }.docs-content code { padding: .15rem .35rem; border-radius: .25rem; color: #b52f13; background: #f2eae0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .88em; }.docs-overline { margin-bottom: .75rem; color: var(--primary-color); font-size: var(--font-size-xs); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.docs-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; }.docs-principles article { padding: 1.5rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--surface-color); }.docs-principles span { color: var(--primary-color); font-size: var(--font-size-sm); font-weight: 700; }.docs-principles h3 { margin: 2.5rem 0 .75rem; }.docs-principles p { color: var(--text-muted); font-size: var(--font-size-sm); }
.docs-callout { display: grid; grid-template-columns: auto 1fr; gap: 1rem; margin-top: 2rem; padding: 1.25rem; border-left: 3px solid var(--tertiary-color); border-radius: 0 var(--radius-md) var(--radius-md) 0; background: var(--secondary-color); color: #e6ede9; }.docs-callout i { color: var(--tertiary-color); font-size: 1.4rem; }.docs-callout-dark { border-color: var(--primary-color); background: var(--footer-bg-color); }.docs-callout-dark i { color: var(--primary-color); }
.docs-steps { display: grid; gap: 0; margin-top: 2rem; list-style: none; }.docs-steps li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--border-color); }.docs-steps li > span { display: grid; width: 2.25rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: var(--secondary-color); background: var(--tertiary-color); font-weight: 700; }.docs-steps p { margin-top: .3rem; color: var(--text-muted); }
.docs-config-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-block: 2rem 3rem; }.docs-config-grid article { display: flex; flex-direction: column; padding: 1.25rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--surface-color); }.docs-config-grid i { margin-bottom: 1rem; color: var(--primary-color); font-size: 1.5rem; }.docs-config-grid h3 { margin: 0 0 .75rem; }.docs-config-grid code { align-self: flex-start; margin-top: .35rem; }
.docs-code { overflow: hidden; margin-block: 1.5rem; border: 1px solid rgb(255 255 255 / 12%); border-radius: var(--radius-md); background: #10231f; box-shadow: var(--shadow-sm); }.docs-code-head { display: flex; justify-content: space-between; padding: .75rem 1rem; border-bottom: 1px solid rgb(255 255 255 / 12%); color: #aebdb8; font-size: var(--font-size-xs); }.docs-code pre { overflow-x: auto; padding: 1.25rem; }.docs-code code { padding: 0; color: #dce8e3; background: transparent; font-size: var(--font-size-sm); line-height: 1.65; white-space: pre; }
.docs-table-wrap { overflow-x: auto; margin-block: 2rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); }.docs-table { width: 100%; min-width: 40rem; border-collapse: collapse; background: var(--surface-color); }.docs-table th, .docs-table td { padding: 1rem; border-bottom: 1px solid var(--border-color); text-align: left; vertical-align: top; }.docs-table th { background: var(--surface-hover); font-size: var(--font-size-sm); }.docs-table td { color: var(--text-muted); }
.docs-tree { display: flex; flex-direction: column; margin-block: 2rem; padding: 1.5rem; border-radius: var(--radius-md); color: #dce8e3; background: #10231f; }.docs-tree code { padding: .12rem 0; color: inherit; background: transparent; }.docs-file-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.docs-file-list article { padding: 1.25rem; border-left: 2px solid var(--primary-color); background: var(--surface-color); }.docs-file-list p { margin-top: .4rem; color: var(--text-muted); font-size: var(--font-size-sm); }
.docs-numbered { display: grid; gap: .8rem; margin: 1.5rem 0 2rem 1.25rem; }.docs-numbered li { padding-left: .5rem; }.docs-tags { display: flex; flex-wrap: wrap; gap: .6rem; margin-block: 2rem; }.docs-tags span { padding: .55rem .9rem; border: 1px solid var(--border-color); border-radius: var(--radius-full); background: var(--surface-color); font-size: var(--font-size-sm); }
.docs-check-list { display: grid; gap: .75rem; list-style: none; }.docs-check-list li { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: start; padding-bottom: .75rem; border-bottom: 1px solid var(--border-color); }.docs-check-list i { color: var(--primary-color); }
.docs-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.docs-check-grid article { display: flex; flex-direction: column; gap: .75rem; padding: 1.25rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--surface-color); }.docs-check-grid h3 { margin: 0 0 .5rem; }.docs-check-grid label { display: flex; gap: .6rem; align-items: flex-start; color: var(--text-muted); font-size: var(--font-size-sm); }.docs-check-grid input { width: 1rem; height: 1rem; margin-top: .15rem; accent-color: var(--primary-color); }
.docs-flow { display: flex; align-items: center; gap: .75rem; margin-block: 2rem; }.docs-flow span { padding: .8rem 1rem; border: 1px solid var(--border-color); border-radius: var(--radius-full); background: var(--surface-color); font-size: var(--font-size-sm); text-align: center; }.docs-flow i { color: var(--primary-color); }.docs-ending { margin-top: 3rem; font-size: var(--font-size-xl); }

@media (max-width: 64rem) {
  .menu-toggle { display: block; }
  .nav-menu-wrapper { position: fixed; top: var(--navbar-height); right: 0; display: flex; width: min(100%, var(--navbar-menu-width)); height: calc(100dvh - var(--navbar-height)); flex-direction: column; align-items: stretch; justify-content: flex-start; padding: 2rem; background: var(--surface-color); box-shadow: var(--shadow-lg); transform: translateX(105%); transition: transform var(--transition-normal); }
  .nav-menu-wrapper.active { transform: translateX(0); }.nav-menu { flex-direction: column; align-items: stretch; gap: .5rem; }.nav-link { width: 100%; font-size: 1.2rem; }
  .menu-toggle[aria-expanded="true"] .hamburger { background: transparent; }.menu-toggle[aria-expanded="true"] .hamburger::before { transform: translateY(0) rotate(45deg); }.menu-toggle[aria-expanded="true"] .hamburger::after { transform: translateY(-2px) rotate(-45deg); }
  .hero-copy { width: 62%; }.hero-visual { width: 38%; }.hero-card { right: 0; }.orb-one { width: 20rem; }
  .section-heading { grid-template-columns: 1fr 2fr; }.section-heading p:last-child { grid-column: 2; }
  .docs-layout { grid-template-columns: 12rem minmax(0, 1fr); gap: 2.5rem; }.docs-principles { grid-template-columns: 1fr; }.docs-flow { align-items: stretch; flex-direction: column; }.docs-flow i { align-self: center; transform: rotate(90deg); }
}

@media (max-width: 40rem) {
  :root { --navbar-height: 4.75rem; --section-padding: 5rem; }
  .two-column, .hero-layout, .contact-layout, .grid-stretch, .footer-main { flex-direction: column; }
  .col-20, .col-25, .col-30, .col-33, .col-40, .col-50, .col-60, .col-70, .col-75, .col-80 { width: 100%; }
  .hero { min-height: auto; padding-top: 4rem; }.hero-layout { display: block; }.hero h1 { font-size: clamp(3.2rem, 15vw, 5rem); }.hero-visual { min-height: 22rem; margin-top: 3rem; }.orb-one { width: 17rem; }.orb-two { width: 11rem; }.hero-card { right: 1rem; width: 16rem; min-height: 14rem; }.hero-marquee { justify-content: flex-start; overflow: hidden; }
  .section-heading, .process-section .section-heading { display: block; }.section-heading h2 { margin-bottom: 1rem; }
  .service-grid { grid-template-columns: 1fr; }.service-card { min-height: 21rem; }.service-card.featured { transform: none; }
  .process-item { grid-template-columns: auto 1fr auto; }.process-item p { grid-column: 2 / -1; }.process-item > i { grid-row: 1; grid-column: 3; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem 1rem; }.stat { padding-left: 1rem; }
  .contact-form { padding: 1.5rem; }.footer-main { gap: 2.5rem; }.footer-main .col-40 { padding-right: 0; }.footer-bottom { gap: 1rem; flex-direction: column; }
  .whatsapp-float { width: 3rem; padding: 0; justify-content: center; }.whatsapp-float span { display: none; }
  .page-hero::after { top: auto; right: -5rem; bottom: -7rem; width: 18rem; }.page-hero h1 { font-size: clamp(3.1rem, 14vw, 5rem); }
  .values-grid { grid-template-columns: 1fr; }.value-card { min-height: 14rem; }.value-card h3 { margin-top: 3rem; }
  .detail-row { grid-template-columns: auto 1fr; }.detail-row > i { grid-row: 1; grid-column: 2; }.detail-row > div { grid-column: 1 / -1; }
  .timeline-item { grid-template-columns: 1fr auto; }.timeline-item > div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }.timeline-item > i { grid-row: 1; grid-column: 2; }
  .component-heading { grid-template-columns: 2.5rem 1fr; }.general-card-grid { grid-template-columns: 1fr; }.horizontal-card { grid-template-columns: 1fr; }.horizontal-card .card-placeholder { min-height: 13rem; }.cookie-banner { flex-direction: column; align-items: stretch; }.cookie-actions { flex-direction: column; }.cookie-actions .btn { width: 100%; }
  .foundation-grid { grid-template-columns: 1fr; }.type-sample { grid-template-columns: 2.5rem 1fr; }.color-grid { grid-template-columns: 1fr; }
  .contrast-grid { grid-template-columns: 1fr; }
  .legal-hero-inner { align-items: flex-start; }.legal-hero-inner > i { font-size: 3.5rem; }.legal-layout { grid-template-columns: 1fr; }.legal-nav { position: static; display: none; }.cookie-types { grid-template-columns: 1fr; }.next-steps { grid-template-columns: 1fr; }.status-orb { width: 18rem; }
  .docs-layout { grid-template-columns: 1fr; }.docs-nav { position: static; display: none; }.docs-content > section { padding-bottom: 4rem; }.docs-content > section + section { padding-top: 4rem; }.docs-config-grid, .docs-file-list, .docs-check-grid { grid-template-columns: 1fr; }.docs-principles { grid-template-columns: 1fr; }.docs-meta { flex-direction: column; gap: .75rem; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Inicio Nexgrid: adaptación del contenido de referencia al sistema Starter. */
.home-page {
  --primary-color: #4b8b58; --primary-hover: #5da269; --secondary-color: #102f1d;
  --tertiary-color: #9cd7a7; --bg-color: #f2f1ed; --surface-color: #f7f6f2;
  --surface-hover: #e8ebe6; --text-color: #090b0a; --heading-color: #090b0a;
  --text-muted: #5a5f5b; --border-color: rgb(9 11 10 / 16%); --dark-bg: #080a09;
  --dark-surface: #151815; --dark-heading: #fff; --dark-text: #fff; --dark-muted: rgb(255 255 255 / 68%);
  --footer-bg-color: #f7f6f2; --footer-text-color: #090b0a; --container-max-width: 86rem;
  --navbar-height: 5.75rem; --font-sans: Arial, Helvetica, sans-serif; --font-serif: Arial, Helvetica, sans-serif;
}
.home-page main { padding-top: 0; }
.home-page em { color: var(--tertiary-color); font-style: normal; font-weight: 300; }
.home-page .eyebrow { padding-top: .9rem; border-top: 1px solid currentColor; color: var(--primary-color); font-family: Consolas, monospace; }
.home-page .navbar { position: absolute; color: #fff; border-color: rgb(255 255 255 / 14%); background: rgb(5 6 5 / 88%); backdrop-filter: blur(12px); }
.home-page .brand-logo { width: 11.5rem; height: auto; }.home-page .brand-logo-dark { display: none; }
.home-page .nav-link::after { background: var(--tertiary-color); }.home-page .nav-link[aria-current="page"] { color: #fff; }
.home-page .btn-contact { background: var(--primary-color); }.home-page .btn-contact:hover { background: var(--primary-hover); }
.home-page .hamburger, .home-page .hamburger::before, .home-page .hamburger::after { background: #fff; }
.home-hero { position: relative; min-height: clamp(47rem, 100svh, 61rem); overflow: hidden; color: #fff; background: linear-gradient(90deg, rgb(5 7 6 / 97%) 0%, rgb(5 7 6 / 84%) 34%, rgb(5 7 6 / 45%) 62%, rgb(5 7 6 / 12%) 100%), url('../assets/images/home-hero-robot-factory.jpg') 56% 50% / cover; }
.home-grid { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgb(255 255 255 / 27%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 27%) 1px, transparent 1px); background-size: 5.6rem 5.6rem; mask-image: linear-gradient(90deg, #000, transparent 80%); }
.home-hero-layout { position: relative; min-height: inherit; }.home-hero-copy { position: absolute; top: 48%; left: 0; width: min(58rem, 72%); transform: translateY(-50%); }
.home-hero h1 { margin-block: 1.75rem 1.5rem; color: #fff; font-size: clamp(4rem, 7.5vw, 7.4rem); line-height: .88; letter-spacing: -.07em; }
.home-hero .hero-intro { max-width: 37rem; color: rgb(255 255 255 / 74%); font-size: 1.18rem; }.home-hero .btn-secondary { color: #fff; border-color: rgb(255 255 255 / 40%); background: transparent; }.home-hero .btn-secondary:hover { background: rgb(255 255 255 / 12%); }
.home-hero-stats { position: absolute; right: 0; bottom: 2.25rem; display: flex; }.home-hero-stats div { width: 10rem; padding: 1.15rem 1.35rem; border-top: 2px solid var(--primary-color); background: rgb(9 11 10 / 86%); }.home-hero-stats strong, .home-hero-stats span { display: block; }.home-hero-stats strong { font-size: 1.4rem; }.home-hero-stats span { margin-top: .4rem; color: rgb(255 255 255 / 54%); font-size: .63rem; letter-spacing: .06em; text-transform: uppercase; }
@media (min-width: 40.001rem) {
  .home-hero-layout { display: flex; align-items: center; padding-block: calc(var(--navbar-height) + 2rem) 7.5rem; }
  .home-hero-copy { position: relative; top: auto; left: auto; transform: none; }
}
@media (min-width: 40.001rem) and (max-height: 50rem) {
  .home-hero { min-height: 100svh; }
  .home-hero-layout { padding-block: calc(var(--navbar-height) + 1.25rem) 5.75rem; }
  .home-hero h1 { margin-block: 1rem; font-size: clamp(3.6rem, 6vw, 5.6rem); }
  .home-hero .hero-intro { font-size: 1rem; line-height: 1.5; }
  .home-hero .button-row { margin-top: 1.25rem; }
}
.home-intro { background: #080a09; }.home-intro-layout { display: grid; grid-template-columns: 1.4fr minmax(19rem, .6fr); gap: clamp(3rem, 6vw, 6rem); align-items: center; }.home-intro h2 { color: #fff; font-size: clamp(3rem, 5.4vw, 5.6rem); }.home-intro-text { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; margin-top: 3rem; color: rgb(255 255 255 / 72%); line-height: 1.72; }.home-intro-visual { aspect-ratio: 83 / 110; height: auto; overflow: hidden; border: 3px solid #171b18; border-radius: 1.8rem; box-shadow: 0 28px 70px rgb(0 0 0 / 55%); }.home-intro-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); }.home-intro-visual:hover img { transform: scale(1.025); }
.home-solutions { color: #fff; background: var(--secondary-color); }.home-solutions .eyebrow { color: #fff; }.home-section-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 8vw; align-items: end; margin-block: 3.5rem 5rem; }.home-section-heading h2 { color: #fff; font-size: clamp(3rem, 5.4vw, 5.6rem); }.home-section-heading p { color: #d8e7dc; }.home-service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; }.home-service-card { position: relative; display: grid; min-height: 20rem; grid-template-columns: 1fr auto; align-content: space-between; padding: 2.2rem; border: 1px solid rgb(255 255 255 / 14%); background: linear-gradient(145deg, rgb(255 255 255 / 5%), rgb(255 255 255 / 1%)); transition: transform var(--transition-normal), background var(--transition-normal); }.home-service-card:hover { z-index: 1; background: rgb(255 255 255 / 9%); transform: translateY(-.4rem); }.home-service-card strong { color: var(--tertiary-color); font-size: clamp(2.8rem, 5vw, 4.8rem); letter-spacing: -.07em; }.home-service-card > i { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgb(255 255 255 / 25%); border-radius: 50%; }.home-service-card h3 { grid-column: 1 / -1; align-self: end; color: #fff; font-size: clamp(1.8rem, 2.5vw, 2.5rem); }.home-service-card p { max-width: 32rem; color: #d9e7dc; }
.home-products { background: #080a09; }.home-products-heading { display: grid; grid-template-columns: .5fr 1.7fr .8fr; gap: 3rem; align-items: end; margin-bottom: 4.5rem; }.home-products-heading h2 { color: #fff; font-size: clamp(3rem, 5.4vw, 5.6rem); }.home-products-heading > p:last-child { color: rgb(255 255 255 / 54%); }.home-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }.home-product-card { position: relative; display: flex; min-height: 39rem; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 1.5rem; background: #000 center / contain no-repeat; }.home-product-card:nth-child(1), .home-product-card:nth-child(3) { background-image: linear-gradient(180deg, rgb(5 8 6 / 18%), transparent 48%, rgb(5 8 6 / 98%) 83%), url('../assets/images/mgc-product.png'); }.home-product-card:nth-child(2), .home-product-card:nth-child(4) { background-image: linear-gradient(180deg, rgb(5 8 6 / 18%), transparent 48%, rgb(5 8 6 / 98%) 83%), url('../assets/images/mgx-product.png'); }.home-product-card:nth-child(5) { background-image: linear-gradient(180deg, rgb(5 8 6 / 18%), transparent 48%, rgb(5 8 6 / 98%) 83%), url('../assets/images/mxgn-product.png'); }.home-product-featured { grid-column: span 2; }.home-product-meta, .home-product-specs { display: flex; justify-content: space-between; gap: 1rem; font: .7rem Consolas, monospace; text-transform: uppercase; }.home-product-meta span { padding: .4rem .5rem; background: rgb(9 11 13 / 80%); }.home-product-card > div { position: relative; z-index: 1; }.home-product-card p { color: rgb(255 255 255 / 65%); font-size: .82rem; }.home-product-card h3 { margin-block: .4rem 1.4rem; color: #fff; font-size: clamp(2.4rem, 4vw, 3.9rem); }.home-product-specs { justify-content: flex-start; padding-top: 1rem; border-top: 1px solid rgb(255 255 255 / 22%); color: var(--tertiary-color); }
.home-engineering-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: end; margin-top: 3.5rem; }.home-engineering-layout h2 { font-size: clamp(3rem, 5.4vw, 5.6rem); }.home-engineering-layout p { margin-top: 1.5rem; color: var(--text-muted); }.home-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--border-color); }.home-metrics div { padding: 2rem 1.1rem; border-right: 1px solid var(--border-color); }.home-metrics strong, .home-metrics span { display: block; }.home-metrics strong { color: var(--primary-color); font-size: 1.7rem; }.home-metrics span { margin-top: .5rem; color: var(--text-muted); font-size: .65rem; line-height: 1.45; text-transform: uppercase; }
.home-contact { min-height: 41rem; display: flex; align-items: center; color: #fff; background: linear-gradient(90deg, rgb(5 7 6 / 98%) 0%, rgb(5 7 6 / 90%) 42%, rgb(5 7 6 / 20%) 78%), url('../assets/images/cta.webp') 62% center / cover; }.home-contact h2 { margin-block: 2.5rem 1.6rem; color: #fff; font-size: clamp(3rem, 5.4vw, 5.6rem); }.home-contact p:not(.eyebrow) { max-width: 37rem; margin-bottom: 2rem; color: rgb(255 255 255 / 67%); line-height: 1.65; }
.home-page footer { color: var(--text-color); background: var(--surface-color); }.home-page .footer-logo { width: 11rem; }.home-page .footer-brand { margin-bottom: 1.2rem; }.home-page .footer-main p, .home-page .footer-bottom { color: var(--text-muted); }

@media (max-width: 64rem) {
  .home-page .nav-menu-wrapper { color: var(--text-color); background: var(--surface-color); }.home-page .hamburger, .home-page .hamburger::before, .home-page .hamburger::after { background: #fff; }
  .home-intro-layout, .home-section-heading, .home-engineering-layout { grid-template-columns: 1fr; }.home-intro-visual { width: 100%; max-width: 35.5rem; justify-self: center; }.home-products-heading { grid-template-columns: 1fr 2fr; }.home-products-heading > p:last-child { grid-column: 2; }.home-product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 40rem) {
  .home-page { --navbar-height: 4.75rem; }.home-page .brand-logo { width: 9rem; }.home-hero { min-height: 100svh; }.home-hero-layout { display: flex; flex-direction: column; align-items: stretch; gap: 2rem; padding-block: calc(var(--navbar-height) + 1.5rem) 1.4rem; }.home-hero-copy { position: relative; top: auto; left: auto; width: 100%; transform: none; }.home-hero h1 { font-size: clamp(3.5rem, 17vw, 5rem); }.home-hero .hero-intro { font-size: 1rem; }.home-hero .button-row { flex-direction: column; align-items: stretch; }.home-hero-stats { position: relative; right: auto; left: auto; bottom: auto; margin-top: auto; flex-shrink: 0; }.home-hero-stats div { width: 33.333%; padding: .85rem .6rem; }.home-hero-stats strong { font-size: 1.05rem; }.home-hero-stats span { font-size: .55rem; }
  .home-intro-text, .home-service-grid, .home-products-heading, .home-product-grid, .home-metrics { grid-template-columns: 1fr; }.home-intro-visual { max-width: 100%; }.home-products-heading > p:last-child { grid-column: auto; }.home-service-card { min-height: 17.5rem; padding: 1.75rem 1.5rem; }.home-product-featured { grid-column: auto; }.home-product-card { min-height: 37rem; }.home-metrics div { border-right: 0; border-bottom: 1px solid var(--border-color); }.home-contact .col-70 { width: 100%; }.home-contact { background-position: 64% center; }.home-page .footer-main { gap: 2.5rem; }
}


/* Nexgrid: estilos de páginas interiores migradas */
:root{--green:#4b8b58;--bright:#69b978;--ink:#090b0a;--paper:#f2f1ed;--line:rgba(9,11,10,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}
header{position:absolute;z-index:10;top:0;left:0;right:0;height:92px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24;background:#050605;color:#fff;box-shadow:0 8px 24px #0000002e}header img{width:190px;height:auto}nav{display:flex;gap:32px;align-items:center;font-size:13px;font-weight:700}nav a:last-child{padding-left:32px;border-left:1px solid #ffffff44}
    .hero{height:100vh;min-height:760px;max-height:980px;position:relative;overflow:hidden;background:#090b0a;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,6,.97) 0%,rgba(5,7,6,.84) 34%,rgba(5,7,6,.5) 60%,rgba(5,7,6,.12) 100%),url('../assets/images/home-hero-robot-factory.jpg') 56% 50%/cover;filter:saturate(.78) contrast(1.04)}.grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#fff4 1px,transparent 1px),linear-gradient(90deg,#fff4 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.hero-content{position:absolute;left:8.5vw;top:49%;transform:translateY(-50%);z-index:2;max-width:920px}.eyebrow,.kicker{text-transform:uppercase;font-family:Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.16em}.eyebrow{color:#ffffffaa}.eyebrow:before{content:"";display:inline-block;width:34px;height:2px;margin:0 14px 4px 0;background:var(--bright)}h1{margin:28px 0 25px;font-size:clamp(64px,7.5vw,118px);line-height:.88;letter-spacing:-.07em}h1 span,h2 span{color:var(--bright);font-weight:300}.hero-copy{max-width:590px;color:#ffffffbd;font-size:19px;line-height:1.55}.actions{display:flex;gap:14px;margin-top:36px}.btn{min-height:56px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.primary{background:var(--green);color:#fff}.ghost{border:1px solid #ffffff66}.stats{position:absolute;z-index:2;right:4.5vw;bottom:35px;display:flex}.stats div{min-width:155px;padding:18px 22px;background:#090b0ad9;border-top:2px solid var(--green)}.stats strong{display:block;font-size:22px}.stats small{display:block;margin-top:6px;color:#ffffff88;text-transform:uppercase;line-height:1.4;letter-spacing:.06em}
section{scroll-margin-top:30px}.section{padding:125px 8.5vw}.kicker{padding-top:14px;border-top:1px solid var(--line);color:var(--green)}h2{margin:0;font-size:clamp(48px,6vw,90px);line-height:.96;letter-spacing:-.06em}.intro{display:grid;grid-template-columns:190px 1fr;gap:6vw}.intro-text{display:grid;grid-template-columns:1fr 1fr;gap:5vw;max-width:940px;margin-top:55px}.intro p,.head p,.engineering p{font-size:17px;line-height:1.72;color:#5a5f5b}
.manifesto{display:grid;grid-template-columns:56% 44%;min-height:650px;background:#0b0d0c;color:#fff}.manifesto-img{background:url('../assets/images/manufacturing.png') center/cover;filter:saturate(.65)}.manifesto-text{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#0c0f0d,#18231b)}.manifesto-text small{color:var(--bright);text-transform:uppercase;letter-spacing:.15em}.manifesto blockquote{margin:60px 0;font-size:clamp(34px,4vw,60px);line-height:1.08;letter-spacing:-.04em}.qualities{display:flex;justify-content:space-between;gap:15px;padding-top:20px;border-top:1px solid #ffffff2b;color:#ffffff88;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.head{display:grid;grid-template-columns:1fr 340px;gap:8vw;align-items:end;margin:55px 0 75px}.service{display:grid;grid-template-columns:80px 1fr 1fr 30px;gap:25px;align-items:center;min-height:125px;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service b{color:var(--green);font-family:Consolas,monospace;font-size:12px}.service h3{font-size:27px;margin:0}.service p{font-size:14px;line-height:1.55;color:#626662}.arrow{color:var(--green);font-size:22px}
.products{padding:125px 4.5vw;background:#080a09;color:#fff}.products .kicker{border-color:#ffffff35;color:var(--bright)}.products .head{grid-template-columns:170px 1fr 330px}.products .head p{color:#ffffff88}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.card{position:relative;min-height:500px;padding:24px;overflow:hidden;background:#151815;display:flex;flex-direction:column;justify-content:space-between}.card:first-child{grid-column:span 2}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(#050806b8,transparent 48%,#050806f5)}.photo{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;filter:grayscale(1) brightness(.5);opacity:.72;transition:.4s}.card:hover .photo{transform:scale(1.04);filter:grayscale(.25) brightness(.68)}.card-top,.card-info{position:relative;z-index:2}.card-top{display:flex;justify-content:space-between;color:#ffffff99;font:11px Consolas,monospace}.card-info p{font-size:13px;color:#ffffffa8}.card h3{margin:7px 0 22px;font-size:clamp(38px,4vw,62px);letter-spacing:-.05em}.specs{display:flex;gap:25px;padding-top:15px;border-top:1px solid #ffffff35;color:var(--bright);font:11px Consolas,monospace;text-transform:uppercase}
.engineering-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:55px;align-items:end}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics div{padding:32px 18px;border-right:1px solid var(--line)}.metrics strong{display:block;color:var(--green);font-size:27px}.metrics small{display:block;margin-top:8px;color:#676b68;text-transform:uppercase;line-height:1.45}
.contact{position:relative;min-height:650px;padding:100px 8.5vw;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,#050706f2,#05070688),url('../assets/images/factory-cover.png') center bottom/cover}.contact>div{position:relative;max-width:1050px}.contact .kicker{border-color:#ffffff35;color:var(--bright)}.contact h2{margin:42px 0 27px}.contact p{max-width:590px;color:#ffffffaa;line-height:1.65;margin-bottom:35px}
footer{padding:65px 4.5vw 28px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;background:#f7f6f2}footer img{width:180px}footer p{margin:0;color:#5c615d;line-height:1.55}.links{display:flex;justify-content:flex-end;gap:25px;font-size:13px}.legal{grid-column:1/-1;margin-top:25px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#777b78;text-transform:uppercase;font-size:10px;letter-spacing:.07em}
@media(max-width:950px){nav a:not(:last-child){display:none}.intro{grid-template-columns:1fr}.manifesto{grid-template-columns:1fr}.manifesto-img{min-height:500px}.head,.products .head,.engineering-layout{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.card:first-child{grid-column:span 2}}
@media(max-width:650px){header{height:76px;padding:0 20px}header img{width:145px}nav a:last-child{padding:11px 14px;border:0;background:var(--green)}.hero{height:850px;min-height:0}.hero-content{left:24px;right:24px;top:38%}.hero-copy{font-size:16px}.actions{flex-direction:column}.stats{left:24px;right:24px;bottom:22px}.stats div{min-width:0;flex:1;padding:13px 9px}.stats strong{font-size:17px}.stats small{font-size:9px}.section{padding:85px 24px}.intro-text{grid-template-columns:1fr;gap:15px}.manifesto-img{min-height:420px}.manifesto-text{padding:70px 24px}.qualities{flex-direction:column}.service{grid-template-columns:38px 1fr 24px;padding:20px 0}.service p{grid-column:2/4}.products{padding:85px 14px}.cards{grid-template-columns:1fr}.card:first-child{grid-column:span 1}.card{min-height:440px}.metrics{grid-template-columns:1fr}.metrics div{border-right:0;border-bottom:1px solid var(--line)}.contact{padding:90px 24px}footer{grid-template-columns:1fr}.links{justify-content:flex-start}.legal{flex-direction:column;gap:10px}}

/* Página Empresa */
.company-page nav .active,.home-page nav .active{color:var(--bright)}
.company-hero{height:88vh;min-height:700px;position:relative;overflow:hidden;background:#090b0a;color:#fff}
.company-hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,6,1) 0%,rgba(5,7,6,.94) 34%,rgba(5,7,6,.62) 59%,rgba(5,7,6,.16) 100%),url('../assets/images/company-engineer-switchgear.jpg') 58% 46%/cover;filter:saturate(.82) contrast(1.04)}
.company-hero-grid{position:absolute;inset:0;opacity:.11;background-image:linear-gradient(#fff4 1px,transparent 1px),linear-gradient(90deg,#fff4 1px,transparent 1px);background-size:90px 90px}
.company-hero-content{position:absolute;z-index:2;left:8.5vw;bottom:12%;max-width:980px;padding:30px 38px 34px 0;background:linear-gradient(90deg,rgba(5,7,6,.68),rgba(5,7,6,0));text-shadow:0 2px 20px rgba(0,0,0,.72)}.company-hero-content h1{font-size:clamp(58px,7vw,108px)}.company-hero-content p{max-width:650px;color:#ffffffe0;font-size:18px;line-height:1.65}
.company-hero-mark{position:absolute;right:-2vw;bottom:-9vw;color:#ffffff09;font-size:35vw;font-weight:900;line-height:.7;letter-spacing:-.12em}
.company-statement{display:grid;grid-template-columns:1fr;gap:50px;background:#070908;color:#fff}.company-statement>.kicker{width:190px;border-color:#ffffff30;color:var(--bright)}.company-statement-copy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;gap:38px 6vw;align-items:start}.company-statement-copy>h2{grid-column:1;grid-row:1}.company-story-image{grid-column:2;grid-row:1/3;height:100%;min-height:620px;margin:0;border:3px solid #000;border-radius:34px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.48)}.company-story-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 47%;transition:transform .8s cubic-bezier(.22,1,.36,1),filter .4s ease}.company-story-image:hover img{transform:scale(1.025);filter:contrast(1.04) saturate(1.06)}.company-story{grid-column:1;grid-row:2;display:block;margin:0}.company-story p{color:#ffffffb0;line-height:1.75}.company-story .lead{margin-top:0;color:#fff;font-size:24px;line-height:1.5;letter-spacing:-.02em}.company-story>div p:last-child{margin-bottom:0}
.company-numbers{display:grid;grid-template-columns:repeat(4,1fr);background:#0b0d0c;color:#fff;padding:0 4.5vw}.company-numbers div{padding:55px 30px;border-right:1px solid #ffffff22}.company-numbers div:last-child{border:0}.company-numbers strong{display:block;color:var(--bright);font-size:clamp(32px,4vw,60px);letter-spacing:-.05em}.company-numbers span{display:block;margin-top:12px;color:#ffffff88;font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em}
.company-approach{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:32px;min-height:820px;padding:32px;background:#e7e8e2}.approach-photo{background:url('../assets/images/company-approach-engineers.webp') 50% 48%/cover no-repeat;border:3px solid var(--green);border-radius:34px;box-shadow:0 18px 45px rgba(30,66,38,.22);filter:saturate(.86) contrast(1.04);overflow:hidden}.approach-copy{padding:78px 7vw;background:#e7e8e2}.approach-copy h2{margin:45px 0 30px}.approach-copy>p{color:#565c57;line-height:1.7;max-width:650px}.approach-list{list-style:none;margin:45px 0 0;padding:0}.approach-list li{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:21px 0;border-top:1px solid var(--line)}.approach-list li>span{color:var(--green);font:12px Consolas,monospace}.approach-list strong{display:block;font-size:20px}.approach-list small{display:block;margin-top:6px;color:#646965;line-height:1.5}
.values-head{display:grid;grid-template-columns:1fr 340px;gap:8vw;align-items:end;margin:55px 0 70px}.values-head p{color:#5c615d;line-height:1.7}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.value-grid article{min-height:300px;padding:30px;border-right:1px solid var(--line)}.value-grid article:last-child{border:0}.value-grid article>span{color:var(--green);font:12px Consolas,monospace}.value-grid h3{margin:80px 0 18px;font-size:23px;letter-spacing:-.03em}.value-grid p{color:#636864;font-size:14px;line-height:1.6}
.company-capabilities{display:grid;grid-template-columns:45% 55%;gap:32px;padding:32px;background:#0b0d0c;color:#fff}.capabilities-copy{padding:78px 5vw 78px 6.5vw}.capabilities-copy .kicker{border-color:#ffffff33;color:var(--bright)}.capabilities-copy h2{margin:45px 0 30px}.capabilities-copy p{color:#ffffff91;line-height:1.7;margin-bottom:35px}.capabilities-visual{position:relative;overflow:hidden;min-height:650px;border:3px solid #000;border-radius:34px;box-shadow:0 18px 45px rgba(0,0,0,.42)}.capabilities-visual img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.88) contrast(1.03)}.visual-caption{position:absolute;left:0;right:0;bottom:0;padding:22px 30px;display:flex;justify-content:space-between;background:#090b0ade;color:#ffffff99;font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.company-cta{padding:130px 8.5vw;background:linear-gradient(90deg,#0b0d0cf5,#0b0d0c99),url('../assets/images/factory-cover.png') center bottom/cover;color:#fff}.company-cta .kicker{border-color:#ffffff33;color:var(--bright)}.company-cta h2{margin:45px 0 28px}.company-cta p{max-width:580px;color:#ffffff9b;line-height:1.65;margin-bottom:35px}
@media(max-width:950px){.company-statement{grid-template-columns:1fr}.company-statement-copy{grid-template-columns:1fr;grid-template-rows:auto auto auto}.company-statement-copy>h2{grid-column:1;grid-row:1}.company-story-image{grid-column:1;grid-row:2;min-height:520px}.company-story{grid-column:1;grid-row:3}.company-numbers{grid-template-columns:repeat(2,1fr)}.company-approach,.company-capabilities{grid-template-columns:1fr}.company-approach{padding:24px;gap:0}.company-capabilities{padding:24px;gap:0}.approach-photo{min-height:520px}.values-head{grid-template-columns:1fr}.value-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.company-hero{height:780px;min-height:0}.company-hero-content{left:24px;right:24px;bottom:12%}.company-hero-content p{font-size:16px}.company-statement{padding-top:90px;gap:38px}.company-story-image{height:360px;min-height:360px;border-radius:26px}.company-story{margin-top:0}.company-story .lead{font-size:20px}.company-numbers{grid-template-columns:1fr;padding:0 24px}.company-numbers div{padding:32px 0;border-right:0;border-bottom:1px solid #ffffff22}.approach-photo{min-height:420px}.approach-copy{padding:85px 24px}.value-grid{grid-template-columns:1fr}.value-grid article{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.value-grid h3{margin-top:45px}.capabilities-copy{padding:85px 24px}.capabilities-visual{min-height:430px}.visual-caption{gap:10px;padding:18px 14px}.company-cta{padding:90px 24px}}

/* Página Soluciones */
.solutions-page nav .active{color:var(--bright)}
.solutions-hero{height:92vh;min-height:730px;position:relative;overflow:hidden;background:#090b0a;color:#fff}.solutions-hero-image{position:absolute;inset:0;background:linear-gradient(90deg,#050706fa 0%,#050706bd 55%,#05070633),url('../assets/images/solutions-hero-power-plant.png') center/cover;filter:saturate(.72)}.solutions-grid{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(#fff4 1px,transparent 1px),linear-gradient(90deg,#fff4 1px,transparent 1px);background-size:90px 90px}.solutions-hero-content{position:absolute;z-index:2;left:8.5vw;top:50%;transform:translateY(-45%);max-width:1000px}.solutions-hero-content h1{font-size:clamp(60px,7vw,110px)}.solutions-hero-content p{max-width:680px;color:#ffffffb3;font-size:18px;line-height:1.65}.solutions-hero-content .btn{margin-top:22px}.solutions-scope{position:absolute;z-index:2;right:4.5vw;bottom:35px;display:flex}.solutions-scope span{padding:15px 22px;background:#090b0ad9;border-top:2px solid var(--green);color:#ffffff9b;font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.solutions-intro{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:6vw}.solutions-intro-side{display:flex;flex-direction:column;gap:28px}.solutions-intro-image{width:100%;aspect-ratio:1;margin:0;overflow:hidden;border:3px solid #173d25;border-radius:30px}.solutions-intro-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 58%;transition:transform .8s cubic-bezier(.22,1,.36,1)}.solutions-intro-image:hover img{transform:scale(1.035)}.solutions-intro-text{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:58px}.solutions-intro-text p{color:#5a5f5b;line-height:1.75}.solutions-intro-text .lead{margin-top:0;color:#181b19;font-size:24px;line-height:1.5;letter-spacing:-.02em}
.solution-process{padding:125px 4.5vw;background:#0a0c0b;color:#fff}.process-heading{display:grid;grid-template-columns:190px 1fr;gap:6vw;margin-bottom:70px}.process-heading .kicker{border-color:#ffffff33;color:var(--bright)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.process-grid article{min-height:550px;padding:30px;background:#121512;display:flex;flex-direction:column}.process-number{color:var(--bright);font:12px Consolas,monospace}.process-icon{width:58px;height:58px;margin:70px 0 35px;display:grid;place-items:center;border:1px solid #ffffff33;color:var(--bright);font-size:27px}.process-grid h3{font-size:27px;letter-spacing:-.03em}.process-grid p{color:#ffffff93;line-height:1.6;font-size:14px}.process-grid ul{margin:auto 0 0;padding:22px 0 0;list-style:none;border-top:1px solid #ffffff25}.process-grid li{padding:6px 0;color:#ffffff82;font-size:12px;line-height:1.4}.process-grid li:before{content:"—";margin-right:8px;color:var(--green)}
.solution-detail{display:grid;grid-template-columns:48% 52%;min-height:830px;background:#050706;color:#fff}.solution-detail .detail-image{background:url('../assets/images/soluciones-nexgrid-2.webp') center 58%/cover;filter:none}.solution-detail .detail-content{padding:110px 7vw;background:#050706}.solution-detail .detail-content .kicker{border-color:#ffffff33;color:var(--bright)}.solution-detail .detail-content h2{margin:45px 0 30px;color:#fff}.solution-detail .detail-content>p{max-width:650px;color:#ffffffa8;line-height:1.7}.solution-detail .detail-list{margin-top:45px}.solution-detail .detail-list>div{display:grid;grid-template-columns:45px 1fr;gap:4px 15px;padding:20px 0;border-top:1px solid #ffffff2e}.solution-detail .detail-list span{grid-row:1/3;color:var(--bright);font:12px Consolas,monospace}.solution-detail .detail-list strong{color:#fff;font-size:18px}.solution-detail .detail-list small{color:#ffffff8f;line-height:1.45}
.applications-head{display:grid;grid-template-columns:1fr 340px;gap:8vw;align-items:end;margin:55px 0 70px}.applications-head p{color:#5c615d;line-height:1.7}.application-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.application-grid article{min-height:300px;padding:30px;border-right:1px solid var(--line)}.application-grid article:last-child{border:0}.application-grid span{color:var(--green);font:12px Consolas,monospace}.application-grid h3{margin:80px 0 18px;font-size:23px}.application-grid p{color:#636864;font-size:14px;line-height:1.6}
.solution-platforms{display:grid;grid-template-columns:48% 52%;min-height:700px;background:#0b0d0c;color:#fff}.platforms-copy{padding:110px 5vw 110px 8.5vw}.platforms-copy .kicker{border-color:#ffffff33;color:var(--bright)}.platforms-copy h2{margin:45px 0 28px}.platforms-copy p{color:#ffffff91;line-height:1.7}.platform-tags{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.platform-tags span{padding:10px 13px;border:1px solid #ffffff31;color:var(--bright);font:11px Consolas,monospace}.platforms-image{overflow:hidden}.platforms-image img{width:100%;height:100%;object-fit:cover;object-position:75% center;filter:saturate(.65)}
.solution-outcomes{display:grid;grid-template-columns:190px 1fr;gap:6vw}.outcomes-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.outcomes-grid div{padding:35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.outcomes-grid strong{font-size:26px}.outcomes-grid p{color:#606561;line-height:1.6}
.solutions-cta{padding:130px 8.5vw;background:linear-gradient(90deg,#070908f7,#07090899),url('../assets/images/factory-cover.png') center bottom/cover;color:#fff}.solutions-cta .kicker{border-color:#ffffff33;color:var(--bright)}.solutions-cta h2{margin:45px 0 28px}.solutions-cta p{max-width:610px;color:#ffffff9b;line-height:1.65;margin-bottom:35px}
@media(max-width:950px){.solutions-intro,.process-heading,.solution-outcomes{grid-template-columns:1fr}.solutions-intro-text{grid-template-columns:1fr}.process-grid{grid-template-columns:repeat(2,1fr)}.solution-detail,.solution-platforms{grid-template-columns:1fr}.detail-image,.platforms-image{min-height:520px}.applications-head{grid-template-columns:1fr}.application-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.solutions-hero{height:820px;min-height:0}.solutions-hero-content{left:24px;right:24px;top:44%}.solutions-hero-content p{font-size:16px}.solutions-scope{left:24px;right:24px;bottom:22px;display:grid;grid-template-columns:1fr 1fr}.solutions-scope span{text-align:center;padding:12px 5px}.solutions-intro-text{margin-top:40px}.solutions-intro-text .lead{font-size:20px}.solution-process{padding:85px 14px}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:490px}.process-icon{margin:45px 0 25px}.detail-image,.platforms-image{min-height:420px}.detail-content,.platforms-copy{padding:85px 24px}.application-grid{grid-template-columns:1fr}.application-grid article{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.application-grid h3{margin-top:45px}.outcomes-grid{grid-template-columns:1fr}.outcomes-grid div{padding:28px 0;border-right:0}.solutions-cta{padding:90px 24px}}

/* Botón para volver al inicio */
.back-to-top{position:fixed;z-index:50;right:28px;bottom:28px;width:54px;height:54px;padding:0;display:grid;place-items:center;border:1px solid #ffffff42;border-radius:50%;background:var(--green);color:#fff;font:400 25px Arial,sans-serif;cursor:pointer;box-shadow:0 12px 35px #00000038;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease,background .2s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:#5da269}.back-to-top:focus-visible{outline:3px solid #fff;outline-offset:3px}.back-to-top span{display:block;line-height:1;transform:translateY(-1px)}
@media(max-width:650px){.back-to-top{right:18px;bottom:18px;width:48px;height:48px;font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.back-to-top{transition:none}}

/* Página Productos */
.product-page nav .active{color:var(--bright)}
.product-hero{height:92vh;min-height:730px;position:relative;overflow:hidden;background:#080a09;color:#fff}.product-hero-image{position:absolute;inset:0;background:linear-gradient(90deg,#050706fa,#050706b8 55%,#05070638),url('../assets/images/productos.webp') 74% center/cover;filter:saturate(.55)}.product-hero-grid{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(#fff4 1px,transparent 1px),linear-gradient(90deg,#fff4 1px,transparent 1px);background-size:90px 90px}.product-hero-content{position:absolute;z-index:2;left:8.5vw;top:49%;transform:translateY(-45%);max-width:1020px}.product-hero-content h1{font-size:clamp(60px,7vw,110px)}.product-hero-content p{max-width:680px;color:#ffffffb0;font-size:18px;line-height:1.65}.product-hero-content .btn{margin-top:22px}.product-range{position:absolute;z-index:2;right:4.5vw;bottom:35px;display:flex;background:#090b0ade;border-top:2px solid var(--green)}.product-range div{padding:17px 23px;border-right:1px solid #ffffff25}.product-range div:last-child{border:0}.product-range strong{display:block;font-size:18px}.product-range span{display:block;margin-top:3px;color:#ffffff82;font-size:10px;text-transform:uppercase}
.product-intro{display:grid;grid-template-columns:190px 1fr;gap:6vw}.product-intro-text{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:58px}.product-intro-text p{color:#5a5f5b;line-height:1.75}.product-intro-text .lead{margin-top:0;color:#181b19;font-size:24px;line-height:1.5;letter-spacing:-.02em}
.family{display:grid;grid-template-columns:52% 48%;min-height:760px}.family-light{background:#e7e8e2;color:#0b0d0c}.family-dark{background:#0a0c0b;color:#fff}.family-content{padding:90px 7vw}.family-number{font:12px Consolas,monospace;color:var(--green)}.family-type{margin-top:55px;color:var(--green);font:11px Consolas,monospace;text-transform:uppercase;letter-spacing:.12em}.family h2{margin:10px 0 25px}.family-content>p{max-width:650px;line-height:1.7}.family-dark .family-content>p{color:#ffffff98}.family-light .family-content>p{color:#5b605c}.family-image{min-height:600px;overflow:hidden}.family-image img{width:100%;height:100%;object-fit:cover;object-position:75% center;filter:saturate(.65)}.family-specs{display:grid;grid-template-columns:1fr 1fr;margin:42px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.family-specs div{padding:20px 10px 20px 0}.family-specs strong{display:block;color:var(--green);font-size:16px}.family-specs span{display:block;margin-top:5px;opacity:.55;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.family-content ul{padding:0;list-style:none}.family-content li{padding:8px 0;font-size:13px;opacity:.7}.family-content li:before{content:"—";margin-right:9px;color:var(--green)}
.selection-head{display:grid;grid-template-columns:1fr 340px;gap:8vw;align-items:end;margin:55px 0 70px}.selection-head p{color:#5c615d;line-height:1.7}.selection-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.selection-grid>div{min-height:280px;padding:30px;border-right:1px solid var(--line)}.selection-grid>div:last-child{border:0}.selection-grid span{color:var(--green);font:12px Consolas,monospace}.selection-grid strong{display:block;margin:75px 0 15px;font-size:21px}.selection-grid p{color:#626763;font-size:14px;line-height:1.6}
.comparison{padding:125px 4.5vw;background:#0a0c0b;color:#fff}.comparison-heading{display:grid;grid-template-columns:190px 1fr;gap:6vw;margin-bottom:65px}.comparison-heading .kicker{border-color:#ffffff2d;color:var(--bright)}.table-wrap{overflow-x:auto}table{width:100%;min-width:850px;border-collapse:collapse}th,td{padding:22px 18px;text-align:left;border-bottom:1px solid #ffffff22}th{color:#ffffff6d;font:10px Consolas,monospace;text-transform:uppercase;letter-spacing:.1em}td{color:#ffffffa8;font-size:13px}td:first-child{color:var(--bright);font-weight:700;font-size:15px}.comparison td:first-child a{color:var(--bright);transition:color .2s ease}.comparison td:first-child a:hover,.comparison td:first-child a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:5px}.table-note{color:#ffffff50;font-size:11px;margin-top:18px}
.products-cta{padding:130px 8.5vw;background:linear-gradient(90deg,#070908f8,#0709089c),url('../assets/images/factory-cover.png') center bottom/cover;color:#fff}.products-cta .kicker{border-color:#ffffff33;color:var(--bright)}.products-cta h2{margin:45px 0 28px}.products-cta p{max-width:610px;color:#ffffff9b;line-height:1.65;margin-bottom:35px}
@media(max-width:950px){.product-intro{grid-template-columns:1fr}.product-intro-text{grid-template-columns:1fr}.family{grid-template-columns:1fr}.family-light .family-image{order:2}.selection-head,.comparison-heading{grid-template-columns:1fr}.selection-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.product-hero{height:820px;min-height:0}.product-hero-content{left:24px;right:24px;top:43%}.product-hero-content p{font-size:16px}.product-range{left:24px;right:24px;bottom:22px}.product-range div{flex:1;padding:13px 8px}.product-range strong{font-size:14px}.product-intro-text{margin-top:40px}.product-intro-text .lead{font-size:20px}.family-content{padding:75px 24px}.family-image{min-height:420px}.family-type{margin-top:40px}.family-specs{grid-template-columns:1fr}.selection-grid{grid-template-columns:1fr}.selection-grid>div{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.selection-grid strong{margin-top:45px}.comparison{padding:85px 14px}.products-cta{padding:90px 24px}}

/* Catálogo de productos: tarjetas comparables en una retícula de tres columnas. */
.product-page .family-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:clamp(4rem,7vw,7rem) 4.5vw;background:#fff}
.product-page .family{display:flex;min-width:0;min-height:0;flex-direction:column;background:#f3f4ef;color:#0b0d0c;transition:transform .3s ease,box-shadow .3s ease}
.product-page .family:hover{z-index:1;transform:translateY(-6px);box-shadow:0 22px 45px rgb(0 0 0 / 18%)}
.product-page .family-image{order:-1;min-height:0;aspect-ratio:4/3;background:#111411}
.product-page .family-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.62) contrast(1.02)}
.product-page .family-content{display:flex;flex:1;flex-direction:column;padding:clamp(1.6rem,2.4vw,2.5rem)}
.product-page .family-number{font-size:.7rem}
.product-page .family-type{margin-top:1.6rem;font-size:.65rem}
.product-page .family h2{margin:.55rem 0 1rem;font-size:clamp(2rem,3vw,3rem)}
.product-page .family-content>p{min-height:5.2em;color:#555b57;line-height:1.65}
.product-page .family-specs{grid-template-columns:1fr 1fr;margin:1.8rem 0;border-color:#c8ccc6}
.product-page .family-specs div{padding:1rem .5rem 1rem 0}
.product-page .family-specs strong{font-size:.9rem}
.product-page .family-content ul{margin-top:auto;padding-top:.25rem;border-top:1px solid #d5d8d2}
.product-page .family-content li{color:#4f5551;font-size:.76rem;line-height:1.45}
.product-page .family-image-link span{right:1rem;bottom:1rem}
@media(max-width:70rem){.product-page .family-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:44rem){.product-page .family-list{grid-template-columns:1fr;gap:6px;padding:4rem 1rem}.product-page .family-content>p{min-height:0}.product-page .family:hover{transform:none}.product-page .family-specs{grid-template-columns:1fr 1fr}}

/* Enlaces visuales al detalle de producto */
.card-image-link{position:absolute;inset:0;z-index:1;display:block}.card-image-link .photo{z-index:0}.card-image-link:focus-visible{outline:3px solid var(--bright);outline-offset:-3px}.image-link-cue{position:absolute;z-index:3;right:20px;top:50%;padding:9px 12px;background:var(--green);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:0;transform:translateY(8px);transition:.25s}.card:hover .image-link-cue,.card-image-link:focus-visible .image-link-cue{opacity:1;transform:translateY(0)}.family-image-link{position:relative;display:block}.family-image-link span{position:absolute;right:25px;bottom:25px;padding:12px 16px;background:var(--green);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.08em;transition:.25s}.family-image-link:hover span{background:#5da269;transform:translateY(-3px)}.family-image-link:focus-visible{outline:4px solid var(--bright);outline-offset:-4px}

/* Detalle KYN28A */
.detail-hero{min-height:850px;display:grid;grid-template-columns:55% 45%;background:#090b0a;color:#fff}.detail-hero-copy{padding:150px 5vw 80px 8.5vw;display:flex;flex-direction:column;justify-content:center}.detail-back{width:max-content;margin-bottom:70px;color:#ffffff80;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.detail-back:hover{color:var(--bright)}.detail-hero h1{margin:20px 0 24px;font-size:clamp(90px,12vw,190px);color:var(--bright)}.detail-hero-copy>p{max-width:660px;color:#ffffffa3;font-size:18px;line-height:1.65}.detail-hero-specs{display:flex;margin-top:45px;border-top:1px solid #ffffff2a}.detail-hero-specs div{padding:23px 35px 0 0;margin-right:35px}.detail-hero-specs strong{display:block;font-size:20px}.detail-hero-specs span{display:block;margin-top:4px;color:#ffffff72;font-size:10px;text-transform:uppercase}.detail-hero-visual{position:relative;overflow:hidden;background:#f0f1ed}.detail-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:76% center}.detail-series{position:absolute;left:25px;bottom:25px;padding:12px 15px;background:#090b0ddd;color:#fff;font:10px Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}
.detail-overview{display:grid;grid-template-columns:190px 1fr;gap:6vw}.detail-overview-text{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:58px}.detail-overview-text p{color:#5b605c;line-height:1.75}.detail-overview-text .lead{margin-top:0;color:#181b19;font-size:24px;line-height:1.5}
.detail-features{display:grid;grid-template-columns:47% 53%;min-height:900px;background:#e7e8e2}.features-visual{overflow:hidden}.features-visual img{width:100%;height:100%;object-fit:cover;object-position:76% center;filter:grayscale(.75)}.features-copy{padding:100px 7vw}.features-copy h2{margin:42px 0}.feature-stack article{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}.feature-stack article>span{color:var(--green);font:12px Consolas,monospace}.feature-stack h3{margin:0 0 8px;font-size:20px}.feature-stack p{margin:0;color:#606561;font-size:13px;line-height:1.6}
.technical-heading{display:grid;grid-template-columns:1fr 340px;gap:8vw;align-items:end;margin:55px 0 65px}.technical-heading p{color:#5c615d;line-height:1.7}.technical-table-wrap{overflow-x:auto}.technical-table{min-width:800px}.technical-table th{color:#626763;border-color:var(--line)}.technical-table td{color:#555a56;border-color:var(--line)}.technical-table td:first-child{color:#111411}.technical-table td:not(:first-child){font-family:Consolas,monospace}.technical-table tbody tr:hover{background:#4b8b580b}
.dimensions{display:grid;grid-template-columns:55% 45%;min-height:720px;background:#0a0c0b;color:#fff}.dimensions-copy{padding:100px 5vw 100px 8.5vw}.dimensions-copy .kicker{border-color:#ffffff2e;color:var(--bright)}.dimensions-copy h2{margin:42px 0 25px}.dimensions-copy>p{color:#ffffff8f;line-height:1.65}.dimension-cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid #ffffff2b}.dimension-cards div{padding:24px 15px 0 0}.dimension-cards strong{display:block;color:var(--bright);font-size:18px}.dimension-cards span{display:block;margin-top:9px;color:#ffffff76;font-size:11px;line-height:1.7}.dimensions-visual{display:grid;place-items:center;background:#18231b}.cabinet-diagram{position:relative;width:240px;height:410px;border:2px solid var(--bright);background:linear-gradient(90deg,transparent 70%,#ffffff09 70%)}.cabinet-door{position:absolute;inset:20px;border:1px solid #ffffff55;display:grid;grid-template-rows:1fr 1.2fr .8fr}.cabinet-door i{border-bottom:1px solid #ffffff35}.dim{position:absolute;color:var(--bright);font:12px Consolas,monospace}.dim-h{right:-35px;top:50%}.dim-w{bottom:-30px;left:50%}.dim-d{top:-30px;right:5px}.cabinet-diagram:before,.cabinet-diagram:after{content:"";position:absolute;background:var(--bright)}.cabinet-diagram:before{right:-18px;top:0;width:1px;height:100%}.cabinet-diagram:after{left:0;bottom:-18px;width:100%;height:1px}
.service-conditions .kicker{margin-bottom:55px}.conditions-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.conditions-grid article{padding:30px 20px;border-right:1px solid var(--line)}.conditions-grid article:last-child{border:0}.conditions-grid strong{display:block;color:var(--green);font-size:23px}.conditions-grid span{display:block;margin-top:9px;color:#646965;font-size:10px;text-transform:uppercase;line-height:1.5}.conditions-note{margin-top:20px;color:#777b78;font-size:11px}
.detail-cta{padding:130px 8.5vw;background:linear-gradient(90deg,#070908f8,#07090897),url('../assets/images/cta.webp') center bottom/cover;color:#fff}.detail-cta .kicker{border-color:#ffffff33;color:var(--bright)}.detail-cta h2{margin:45px 0 28px}.detail-cta p{max-width:620px;color:#ffffff9a;line-height:1.65;margin-bottom:35px}
@media(max-width:950px){.detail-hero{grid-template-columns:1fr}.detail-hero-copy{min-height:720px}.detail-hero-visual{min-height:600px}.detail-overview{grid-template-columns:1fr}.detail-overview-text{grid-template-columns:1fr}.detail-features,.dimensions{grid-template-columns:1fr}.features-visual{min-height:560px}.technical-heading{grid-template-columns:1fr}.dimensions-visual{min-height:600px}.conditions-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.image-link-cue{opacity:1;top:auto;bottom:110px;transform:none}.detail-hero-copy{min-height:700px;padding:125px 24px 70px}.detail-back{margin-bottom:45px}.detail-hero h1{font-size:78px}.detail-hero-copy>p{font-size:16px}.detail-hero-specs div{padding-right:8px;margin-right:12px}.detail-hero-specs strong{font-size:14px}.detail-hero-visual{min-height:480px}.detail-overview-text{margin-top:40px}.detail-overview-text .lead{font-size:20px}.features-visual{min-height:420px}.features-copy{padding:80px 24px}.technical-heading{margin-bottom:40px}.dimensions-copy{padding:85px 24px}.dimension-cards{grid-template-columns:1fr}.dimensions-visual{min-height:530px}.conditions-grid{grid-template-columns:1fr 1fr}.conditions-grid article{border-bottom:1px solid var(--line)}.detail-cta{padding:90px 24px}}

/* Ajustes del detalle KYN61 (C) */
.kyn61-detail .detail-hero h1{font-size:clamp(72px,9vw,145px);white-space:nowrap}.kyn61-detail .detail-hero h1 small{font-size:.38em;font-weight:400;color:#fff;letter-spacing:-.03em}.kyn61-detail .detail-hero-visual img{object-position:78% center}.dimension-cards.two{grid-template-columns:1fr 1fr}.cabinet-diagram.tall{height:450px;width:225px}
@media(max-width:650px){.kyn61-detail .detail-hero h1{font-size:61px}.dimension-cards.two{grid-template-columns:1fr}}

/* Ajustes del detalle MGC 24/36 */
.mgc-detail .detail-hero h1{font-size:clamp(76px,10vw,155px);white-space:nowrap}.mgc-detail .detail-hero h1 small{display:block;margin-top:10px;color:#fff;font-size:.32em;font-weight:400;letter-spacing:.04em}.mgc-detail .detail-hero-visual img{object-position:78% center}.mgc-modules{padding:125px 4.5vw;background:#0a0c0b;color:#fff}.modules-heading{display:grid;grid-template-columns:190px 1fr 340px;gap:5vw;align-items:end;margin-bottom:65px}.modules-heading .kicker{border-color:#ffffff2d;color:var(--bright)}.modules-heading p{color:#ffffff86;line-height:1.65}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.module-grid article{min-height:300px;padding:30px;background:#121512}.module-grid article>span{display:grid;place-items:center;width:55px;height:55px;border:1px solid #ffffff32;color:var(--bright);font:13px Consolas,monospace}.module-grid h3{color:var(--bright);margin:75px 0 15px;font-size:23px}.module-grid p{color:#ffffff82;font-size:13px;line-height:1.6}
.mgc-configuration{display:grid;grid-template-columns:55% 45%;min-height:720px;background:#e7e8e2}.configuration-copy{padding:100px 5vw 100px 8.5vw}.configuration-copy h2{margin:42px 0 25px}.configuration-copy>p{color:#5c615d;line-height:1.7}.configuration-visual{overflow:hidden}.configuration-visual img{width:100%;height:100%;object-fit:cover;object-position:76% center}.tank-scale{display:flex;align-items:flex-end;gap:5px;height:150px;margin:45px 0 18px}.tank-scale div{flex:var(--units);height:calc(35px + var(--units) * 15px);display:grid;place-items:center;background:var(--green);color:#fff;font:12px Consolas,monospace}.configuration-copy>small{color:#6b706c}.conditions-grid.four{grid-template-columns:repeat(4,1fr)}
.mgc-detail .mgc-configuration{grid-template-columns:minmax(0,1fr)}
.mgc-detail .mgc-configuration .configuration-copy{width:100%}
.mgc-detail .mgc-configuration .configuration-visual{display:none}
@media(max-width:950px){.modules-heading{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr)}.mgc-configuration{grid-template-columns:1fr}.configuration-visual{min-height:520px}}
@media(max-width:650px){.mgc-detail .detail-hero h1{font-size:72px}.module-grid{grid-template-columns:1fr}.mgc-modules{padding:85px 14px}.module-grid article{min-height:260px}.module-grid h3{margin-top:50px}.configuration-copy{padding:85px 24px}.configuration-visual{min-height:430px}.conditions-grid.four{grid-template-columns:1fr 1fr}}

/* Ajustes del detalle MGA-12 */
.mga-detail .detail-hero h1{font-size:clamp(78px,10vw,158px);white-space:nowrap}.mga-detail .detail-hero h1 small{color:#fff;font-size:.38em;font-weight:400}.mga-detail .detail-hero-visual img{object-position:center}.mga-detail .mga-components .features-visual{display:grid;place-items:center;background:#050605}.mga-detail .mga-components .features-visual img{object-fit:contain;object-position:center;filter:none}.mga-configuration{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(20rem,.6fr);min-height:700px;background:#e7e8e2}.mga-configuration .configuration-copy{padding:100px 5vw 100px 8.5vw}.mga-tank-scale{max-width:760px}.mga-dimensions{display:grid;align-content:center;padding:clamp(3rem,6vw,6rem);color:#fff;background:#18231b}.mga-dimensions div{padding:1.6rem 0;border-top:1px solid #ffffff2b}.mga-dimensions div:last-child{border-bottom:1px solid #ffffff2b}.mga-dimensions strong{display:block;color:var(--bright);font-size:clamp(1.4rem,2.2vw,2rem)}.mga-dimensions span{display:block;margin-top:.45rem;color:#ffffff83;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}
@media(max-width:950px){.mga-configuration{grid-template-columns:1fr}.mga-dimensions{grid-template-columns:1fr 1fr;gap:0 2rem}}
@media(max-width:650px){.mga-detail .detail-hero h1{font-size:72px}.mga-configuration .configuration-copy{padding:85px 24px}.mga-dimensions{grid-template-columns:1fr;padding:3rem 24px}}

/* Detalle MAX-12 Series */
.max12-detail .detail-hero h1{display:flex;align-items:flex-end;gap:22px;white-space:nowrap}
.max12-detail .detail-hero h1 small{display:inline-flex;align-items:center;margin:0 0 .18em;padding:.22em .5em;border:1px solid #ffffff55;border-radius:999px;background:#ffffff0d;color:#fff;font:500 .25em/1 Consolas,monospace;letter-spacing:.02em}
.max12-detail .detail-hero-visual img{object-position:center}
.max12-infographic{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(26rem,.85fr);min-height:900px;background:#e7e8e2}
.max12-info-visual{display:grid;place-items:center;padding:clamp(2rem,5vw,5rem);overflow:hidden;background:#f7f8f4}
.max12-info-visual img{display:block;width:100%;height:100%;max-height:850px;object-fit:contain}
.max12-info-copy{padding:100px 7vw}.max12-info-copy h2{margin:42px 0}
.max12-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.max12-parts li{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:70px;padding:14px 12px 14px 0;border-bottom:1px solid var(--line)}
.max12-parts li:nth-child(odd){margin-right:20px}.max12-parts span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font:11px Consolas,monospace}.max12-parts strong{font-size:14px;line-height:1.35}
.max12-core .module-grid{grid-template-columns:repeat(3,1fr)}
.max12-config-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:42px 0 22px;background:#c8ccc6}.max12-config-list span{padding:20px;background:#f0f1ec;color:#303532;font-size:13px}
.detail-cta-actions{display:flex;flex-wrap:wrap;gap:12px}.detail-cta .btn.brochure{border:1px solid #ffffff55;background:transparent;color:#fff}.detail-cta .btn.brochure:hover{border-color:var(--bright);background:#ffffff0d;color:var(--bright)}
@media(max-width:950px){.max12-infographic{grid-template-columns:1fr}.max12-info-visual{min-height:700px}.max12-info-copy{padding:85px 7vw}}
@media(max-width:650px){.max12-detail .detail-hero h1{align-items:flex-start;flex-direction:column;gap:12px;white-space:normal}.max12-detail .detail-hero h1 small{margin:0;font-size:.3em}.max12-info-visual{min-height:480px;padding:24px}.max12-info-copy{padding:80px 24px}.max12-parts{grid-template-columns:1fr}.max12-parts li:nth-child(odd){margin-right:0}.max12-core .module-grid{grid-template-columns:1fr}.max12-config-list{grid-template-columns:1fr}.detail-cta-actions{align-items:stretch;flex-direction:column}.detail-cta-actions .btn{width:100%}}

/* Menú destacado de productos */
@media(min-width:1025px){
  .navbar .nav-products:not(.nav-services) .product-feature-menu{position:fixed;top:calc(var(--navbar-height, 6rem) - 1px);right:4vw;left:4vw;display:grid;width:auto;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:8px;background:#fff;border:0;border-top:2px solid var(--green);box-shadow:0 28px 60px #0009;transform:translateY(12px)}
  .navbar .nav-products:not(.nav-services)[open] .product-feature-menu,.navbar .nav-products:not(.nav-services):hover .product-feature-menu,.navbar .nav-products:not(.nav-services):focus-within .product-feature-menu{transform:translateY(0)}
  .navbar .product-feature-menu::before{top:-18px;height:18px}
  .navbar .product-feature-menu a{position:relative;isolation:isolate;min-height:190px;justify-content:flex-end;overflow:hidden;padding:22px 18px;border:0;background:#090b0a;transition:background .25s ease,transform .25s ease}
  .navbar .product-feature-menu a:not(.product-menu-all)::before{position:absolute;z-index:-2;inset:0;content:'';background-image:var(--menu-product-image);background-position:center;background-size:cover;background-repeat:no-repeat;opacity:.8;transition:transform .45s ease,opacity .25s ease}
  .navbar .product-feature-menu a:not(.product-menu-all)::after{position:absolute;z-index:-1;inset:0;content:'';background:linear-gradient(180deg,rgb(5 8 6 / 34%) 0%,rgb(5 8 6 / 54%) 42%,rgb(5 8 6 / 96%) 100%)}
  .navbar .product-feature-menu a:hover,.navbar .product-feature-menu a:focus-visible{z-index:1;background:#101713;transform:translateY(-4px)}
  .navbar .product-feature-menu a:not(.product-menu-all):hover::before,.navbar .product-feature-menu a:not(.product-menu-all):focus-visible::before{opacity:.9;transform:scale(1.045)}
  .navbar .product-feature-menu a>span{position:absolute;top:18px;left:18px;color:var(--bright);font:9px Consolas,monospace;text-transform:uppercase;letter-spacing:.1em}
  .navbar .product-feature-menu strong{font-size:clamp(17px,1.45vw,23px);line-height:1.05;letter-spacing:-.035em}
  .navbar .product-feature-menu small{min-height:2.4em;margin-top:7px;color:#ffffff78;font-size:9px;line-height:1.35}
  .navbar .product-feature-menu b{margin-top:18px;padding-top:12px;border-top:1px solid #ffffff20;color:#ffffff9c;font:9px Consolas,monospace;text-transform:uppercase;letter-spacing:.035em}
  .navbar .product-feature-menu .product-menu-all{background:linear-gradient(145deg,#315d3a,#203c27)}
  .navbar .product-feature-menu .product-menu-all:hover,.navbar .product-feature-menu .product-menu-all:focus-visible{background:linear-gradient(145deg,#4b8b58,#2c5635)}
  .navbar .product-feature-menu .product-menu-all b{color:var(--bright)}
}
@media(max-width:1024px){
  .navbar .product-feature-menu{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;background:#fff}
  .navbar .product-feature-menu a{min-width:0;padding:14px;background:#f1f2ee;border:0}
  .navbar .product-feature-menu a>span{color:var(--green);font:9px Consolas,monospace;text-transform:uppercase}
  .navbar .product-feature-menu strong{color:#171a18;font-size:13px}.navbar .product-feature-menu small{color:#686d69}.navbar .product-feature-menu b{display:none}
  .navbar .product-feature-menu .product-menu-all{background:#dfe9e0}
}
@media(max-width:520px){.navbar .product-feature-menu{grid-template-columns:1fr}.navbar .product-feature-menu a{padding:12px 14px}}

/* Ajustes del detalle MGX-36 */
.mgx-detail .detail-hero h1{font-size:clamp(78px,10vw,160px);white-space:nowrap}.mgx-detail .detail-hero h1 small{color:#fff;font-size:.38em;font-weight:400}.mgx-detail .detail-hero-visual img{object-position:78% center}.mgx-configurations{padding:125px 4.5vw;background:#0a0c0b;color:#fff}.configurations-heading{display:grid;grid-template-columns:190px 1fr;gap:6vw;margin-bottom:65px}.configurations-heading .kicker{border-color:#ffffff2d;color:var(--bright)}.mgx-config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.mgx-config-grid article{min-height:280px;padding:30px;background:#121512}.mgx-config-grid span{color:var(--bright);font:12px Consolas,monospace}.mgx-config-grid h3{color:var(--bright);margin:80px 0 15px;font-size:23px}.mgx-config-grid p{color:#ffffff82;font-size:13px;line-height:1.6}
.mgx-installation{display:grid;grid-template-columns:55% 45%;min-height:700px;background:#e7e8e2}.installation-copy{padding:100px 5vw 100px 8.5vw}.installation-copy h2{margin:42px 0 25px}.installation-copy>p{color:#5c615d;line-height:1.7}.installation-points{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line)}.installation-points div{padding:24px 15px 0 0}.installation-points strong{display:block;color:var(--green);font-size:20px}.installation-points span{display:block;margin-top:8px;color:#666b67;font-size:10px;line-height:1.5;text-transform:uppercase}.installation-visual{display:grid;place-items:center;background:#18231b}.foundation{position:relative;width:330px;height:400px}.gis-cabinet{position:absolute;left:45px;top:20px;width:240px;height:325px;border:2px solid var(--bright);display:grid;grid-template-columns:repeat(3,1fr)}.gis-cabinet i{border-right:1px solid #ffffff44;background:linear-gradient(180deg,#ffffff0e,#ffffff02)}.base-line{position:absolute;left:0;right:0;bottom:45px;height:8px;background:var(--bright)}.foundation b{position:absolute;bottom:15px;width:100%;text-align:center;color:#ffffff85;font:10px Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:950px){.mgx-config-grid{grid-template-columns:repeat(2,1fr)}.mgx-installation{grid-template-columns:1fr}.installation-visual{min-height:520px}}
@media(max-width:650px){.mgx-detail .detail-hero h1{font-size:72px}.mgx-configurations{padding:85px 14px}.mgx-config-grid{grid-template-columns:1fr}.mgx-config-grid article{min-height:240px}.mgx-config-grid h3{margin-top:50px}.installation-copy{padding:85px 24px}.installation-points{grid-template-columns:1fr}.installation-visual{min-height:480px}.foundation{transform:scale(.85)}}

/* Ajustes del detalle MXGN-24/36 */
.mxgn-detail .detail-hero h1{font-size:clamp(70px,9vw,145px);white-space:nowrap}.mxgn-detail .detail-hero h1 small{display:block;margin-top:8px;color:#fff;font-size:.32em;font-weight:400}.mxgn-detail .detail-hero-visual img{object-position:76% center}.mxgn-structure{display:grid;grid-template-columns:47% 53%;min-height:850px;background:#e7e8e2}.structure-visual{display:grid;place-items:center;background:#18231b}.structure-cabinet{width:300px;height:560px;border:2px solid var(--bright);display:grid;grid-template-rows:1fr 1.6fr .9fr}.structure-cabinet>div{position:relative;padding:25px;border-bottom:1px solid #ffffff3c;display:flex;flex-direction:column;justify-content:flex-end}.structure-cabinet>div:last-child{border:0}.structure-cabinet span{position:absolute;top:20px;right:20px;color:var(--bright);font:11px Consolas,monospace}.structure-cabinet strong{color:#fff;font-size:35px}.structure-cabinet small{margin-top:5px;color:#ffffff76}.structure-copy{padding:100px 7vw}.structure-copy h2{margin:42px 0 25px}.structure-copy>p{color:#5c615d;line-height:1.7}
.mxgn-modules{padding:125px 4.5vw;background:#0a0c0b;color:#fff}.mxgn-modules .modules-heading .kicker{border-color:#ffffff2d;color:var(--bright)}.mxgn-module-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.mxgn-module-grid article{min-height:300px;padding:25px;background:#121512}.mxgn-module-grid article>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffff32;color:var(--bright);font:13px Consolas,monospace}.mxgn-module-grid h3{color:var(--bright);margin:70px 0 14px;font-size:20px}.mxgn-module-grid p{color:#ffffff80;font-size:12px;line-height:1.55}
.mxgn-benefits{display:grid;grid-template-columns:55% 45%;min-height:720px;background:#0a0c0b;color:#fff}.benefits-copy{padding:100px 5vw 100px 8.5vw}.benefits-copy .kicker{border-color:#ffffff2e;color:var(--bright)}.benefits-copy h2{margin:42px 0 25px}.benefits-copy>p{color:#ffffff8c;line-height:1.7}.benefit-list{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;border-top:1px solid #ffffff2a}.benefit-list div{padding:22px 18px 22px 0;border-bottom:1px solid #ffffff20}.benefit-list strong{display:block;color:var(--bright)}.benefit-list span{display:block;margin-top:7px;color:#ffffff75;font-size:11px;line-height:1.5}.benefits-image{overflow:hidden}.benefits-image img{width:100%;height:100%;object-fit:cover;object-position:76% center}.mxgn-detail .conditions-grid.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1150px){.mxgn-module-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.mxgn-structure,.mxgn-benefits{grid-template-columns:1fr}.structure-visual{min-height:700px}.benefits-image{min-height:520px}.mxgn-module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.mxgn-detail .detail-hero h1{font-size:61px}.structure-visual{min-height:650px}.structure-cabinet{transform:scale(.85)}.structure-copy{padding:85px 24px}.mxgn-modules{padding:85px 14px}.mxgn-module-grid{grid-template-columns:1fr}.mxgn-module-grid article{min-height:245px}.mxgn-module-grid h3{margin-top:50px}.benefits-copy{padding:85px 24px}.benefit-list{grid-template-columns:1fr}.benefits-image{min-height:430px}.mxgn-detail .conditions-grid.four{grid-template-columns:1fr 1fr}}

/* Portafolio de Inicio: páginas de catálogo completas y legibles */
.products .card{min-height:640px;background:#000}
.products .card .photo{background-size:contain;background-position:center!important;background-color:#000;filter:saturate(.9) brightness(.98) contrast(1.04);opacity:1}
.products .card:after{background:linear-gradient(180deg,rgba(5,8,6,.18) 0%,transparent 48%,rgba(5,8,6,.96) 82%,rgba(5,8,6,.99) 100%)}
.products .card:hover .photo{transform:scale(1.012);filter:saturate(1) brightness(1) contrast(1.04)}
.products .card-top span{padding:6px 8px;background:#090b0dcc;color:#fff}
.products .card-info{padding:16px;background:#090b0dd9;backdrop-filter:blur(4px);margin:-16px}
.products .image-link-cue{top:42%;right:18px}
@media(max-width:650px){.products .card{min-height:600px}.products .image-link-cue{top:auto;bottom:138px}}

/* Proporción equilibrada de bloques del portafolio */
@media(min-width:951px){
  .products .cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
  .products .card,.products .card:first-child{grid-column:span 2;min-height:610px}
  .products .card:nth-child(4){grid-column:2/span 2}
  .products .card:nth-child(5){grid-column:4/span 2}
}
@media(min-width:651px) and (max-width:950px){
  .products .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .products .card,.products .card:first-child{grid-column:span 1;min-height:600px}
  .products .card:last-child{grid-column:1/-1;width:50%;justify-self:center}
}
@media(max-width:650px){
  .products .cards{grid-template-columns:1fr;gap:4px}
  .products .card,.products .card:first-child{grid-column:1;min-height:570px}
}

/* Submenú de productos */
.nav-products{position:relative;color:#fff}.nav-products summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;opacity:.82;transition:.2s}.nav-products summary::-webkit-details-marker{display:none}.nav-products summary span{color:var(--bright);font-size:10px;transition:transform .2s}.nav-products[open] summary span{transform:rotate(180deg)}.nav-products.active summary,.nav-products summary:hover{opacity:1;color:var(--bright)}.product-submenu{position:absolute;z-index:100;top:calc(100% + 22px);left:50%;width:280px;padding:9px;background:#0a0c0bf5;border-top:2px solid var(--green);box-shadow:0 22px 48px #00000066;opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .2s,transform .2s,visibility .2s}.nav-products[open] .product-submenu,.nav-products:hover .product-submenu,.nav-products:focus-within .product-submenu{opacity:1;visibility:visible;transform:translate(-50%,0)}.product-submenu:before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}.product-submenu a{display:flex!important;flex-direction:column;gap:3px;padding:11px 13px;border-bottom:1px solid #ffffff17;opacity:1}.product-submenu a:last-child{border-bottom:0}.product-submenu a:hover,.product-submenu a:focus-visible{background:#4b8b582a}.product-submenu strong{font-size:12px;color:#fff}.product-submenu small{font:9px Consolas,monospace;color:#ffffff72;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:650px){nav{gap:12px}.nav-products summary{font-size:12px}.product-submenu{left:auto;right:-68px;top:calc(100% + 18px);width:255px;transform:translateY(10px)}.nav-products[open] .product-submenu,.nav-products:hover .product-submenu,.nav-products:focus-within .product-submenu{transform:translateY(0)}.product-submenu a{display:flex!important}.nav-products summary{display:flex!important}}
@media(max-width:650px){nav>.nav-home{display:block!important;font-size:12px}}

/* Animaciones de la página Empresa */
@keyframes companyHeroIn{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
@keyframes companyImageIn{from{opacity:.45;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}
@keyframes companyMarkIn{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}
.company-page .company-hero-image{animation:companyImageIn 1.25s cubic-bezier(.22,1,.36,1) both}
.company-page .company-hero-content .eyebrow{animation:companyHeroIn .7s .15s cubic-bezier(.22,1,.36,1) both}
.company-page .company-hero-content h1{animation:companyHeroIn .85s .27s cubic-bezier(.22,1,.36,1) both}
.company-page .company-hero-content p{animation:companyHeroIn .85s .41s cubic-bezier(.22,1,.36,1) both}
.company-page .company-hero-mark{animation:companyMarkIn 1.1s .25s cubic-bezier(.22,1,.36,1) both}
.company-page.motion-ready .company-reveal{opacity:0;transform:translateY(34px);transition:opacity .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.company-page.motion-ready .company-reveal.is-revealed{opacity:1;transform:translateY(0)}
.company-page.motion-ready .approach-photo.company-reveal,.company-page.motion-ready .capabilities-visual.company-reveal{transform:translateY(28px) scale(.975)}
.company-page.motion-ready .approach-photo.company-reveal.is-revealed,.company-page.motion-ready .capabilities-visual.company-reveal.is-revealed{transform:translateY(0) scale(1)}
.company-page .approach-photo{transition:background-size .7s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.company-page .approach-photo:hover{background-size:auto 104%;box-shadow:0 24px 58px rgba(30,66,38,.3)}
.company-page .capabilities-visual img{transition:transform .8s cubic-bezier(.22,1,.36,1),filter .4s ease}.company-page .capabilities-visual:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}
.company-page .value-grid article{transition:background .3s ease,transform .3s ease}.company-page .value-grid article:hover{background:rgba(75,139,88,.08);transform:translateY(-5px)}
.company-page .company-numbers>div{transition:background .3s ease}.company-page .company-numbers>div:hover{background:rgba(75,139,88,.12)}
@media(prefers-reduced-motion:reduce){.company-page .company-hero-image,.company-page .company-hero-content .eyebrow,.company-page .company-hero-content h1,.company-page .company-hero-content p,.company-page .company-hero-mark{animation:none}.company-page .approach-photo,.company-page .capabilities-visual img,.company-page .value-grid article,.company-page .company-numbers>div{transition:none}}

/* Animaciones de la página de Inicio */
@keyframes homeHeroIn{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}
@keyframes homeBackdropIn{from{opacity:.35;transform:scale(1.06)}to{opacity:1;transform:scale(1.015)}}
.home-page .hero:before{animation:homeBackdropIn 1.3s cubic-bezier(.22,1,.36,1) both}
.home-page .hero-content .eyebrow{animation:homeHeroIn .65s .12s cubic-bezier(.22,1,.36,1) both}
.home-page .hero-content h1{animation:homeHeroIn .82s .23s cubic-bezier(.22,1,.36,1) both}
.home-page .hero-copy{animation:homeHeroIn .78s .37s cubic-bezier(.22,1,.36,1) both}
.home-page .hero-actions{animation:homeHeroIn .72s .49s cubic-bezier(.22,1,.36,1) both}
.home-page .stats>div{animation:homeHeroIn .68s cubic-bezier(.22,1,.36,1) both}.home-page .stats>div:nth-child(1){animation-delay:.52s}.home-page .stats>div:nth-child(2){animation-delay:.61s}.home-page .stats>div:nth-child(3){animation-delay:.7s}
.home-page.motion-ready .home-reveal{opacity:0;transform:translateY(34px);transition:opacity .72s cubic-bezier(.22,1,.36,1) var(--home-delay,0ms),transform .72s cubic-bezier(.22,1,.36,1) var(--home-delay,0ms)}
.home-page.motion-ready .home-reveal.is-revealed{opacity:1;transform:translateY(0)}
.home-page.motion-ready .manifesto-img.home-reveal{transform:translateX(-28px);filter:saturate(.35)}.home-page.motion-ready .manifesto-img.home-reveal.is-revealed{transform:translateX(0);filter:saturate(.65)}
.home-page .service{transition:background .3s ease,transform .3s ease,padding .3s ease}.home-page .products .card{transition:transform .35s ease,box-shadow .35s ease}.home-page .products .card:hover{transform:translateY(-7px);box-shadow:0 20px 42px #00000066}.home-page .metrics>div{transition:background .3s ease}.home-page .metrics>div:hover{background:rgba(75,139,88,.08)}
@media(prefers-reduced-motion:reduce){.home-page .hero:before,.home-page .hero-content .eyebrow,.home-page .hero-content h1,.home-page .hero-copy,.home-page .hero-actions,.home-page .stats>div{animation:none}.home-page .service,.home-page .products .card,.home-page .metrics>div{transition:none}}

/* Animaciones para Soluciones, Productos y fichas técnicas */
@keyframes siteHeroCopyIn{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}
@keyframes siteHeroVisualIn{from{opacity:.35;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}
.solutions-page .solutions-hero-image,.product-page .product-hero-image{animation:siteHeroVisualIn 1.2s cubic-bezier(.22,1,.36,1) both}
.solutions-page .solutions-hero-content .eyebrow,.product-page .product-hero-content .eyebrow,.product-detail-page .detail-hero-copy .eyebrow{animation:siteHeroCopyIn .65s .12s cubic-bezier(.22,1,.36,1) both}
.solutions-page .solutions-hero-content h1,.product-page .product-hero-content h1,.product-detail-page .detail-hero-copy h1{animation:siteHeroCopyIn .82s .24s cubic-bezier(.22,1,.36,1) both}
.solutions-page .solutions-hero-content p,.product-page .product-hero-content p,.product-detail-page .detail-hero-copy>p{animation:siteHeroCopyIn .78s .38s cubic-bezier(.22,1,.36,1) both}
.solutions-page .solutions-hero-content .btn,.product-page .product-hero-content .btn,.product-detail-page .detail-hero-specs{animation:siteHeroCopyIn .72s .5s cubic-bezier(.22,1,.36,1) both}
.product-detail-page .detail-hero-visual{animation:siteHeroVisualIn 1.15s .08s cubic-bezier(.22,1,.36,1) both;transform-origin:center}
.motion-ready .site-reveal{opacity:0;transform:translateY(38px);transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1)}
.motion-ready .site-reveal.is-revealed{opacity:1;transform:translateY(0)}
.motion-ready .site-reveal-item{opacity:0;transform:translateY(24px);transition:opacity .62s cubic-bezier(.22,1,.36,1) var(--site-delay,0ms),transform .62s cubic-bezier(.22,1,.36,1) var(--site-delay,0ms),background .3s ease,box-shadow .3s ease}
.motion-ready .site-reveal-item.is-revealed{opacity:1;transform:translateY(0)}
/* The mobile catalog is too tall for a section-wide reveal threshold. */
@media(max-width:44rem){
  .product-page.motion-ready .family-list.site-reveal,
  .product-page.motion-ready .family-list .site-reveal-item{
    opacity:1;
    transform:none;
    transition:none;
  }
}
.solutions-page .process-grid article:hover,.solutions-page .application-grid article:hover,.product-page .selection-grid>div:hover,.product-detail-page .module-grid article:hover,.product-detail-page .mgx-config-grid article:hover,.product-detail-page .mxgn-module-grid article:hover{background:rgba(75,139,88,.12);box-shadow:inset 0 0 0 1px rgba(105,185,120,.28)}
.product-page .family-image img,.product-detail-page .features-visual img,.product-detail-page .benefits-image img,.product-detail-page .configuration-visual img,.product-detail-page .platforms-image img{transition:transform .85s cubic-bezier(.22,1,.36,1),filter .4s ease}.product-page .family:hover .family-image img,.product-detail-page .features-visual:hover img,.product-detail-page .benefits-image:hover img,.product-detail-page .configuration-visual:hover img,.product-detail-page .platforms-image:hover img{transform:scale(1.025);filter:saturate(.85) contrast(1.05)}
@media(prefers-reduced-motion:reduce){.solutions-page .solutions-hero-image,.product-page .product-hero-image,.solutions-page .solutions-hero-content>*,.product-page .product-hero-content>*,.product-detail-page .detail-hero-copy>*,.product-detail-page .detail-hero-visual{animation:none}.product-page .family-image img,.product-detail-page .features-visual img,.product-detail-page .benefits-image img,.product-detail-page .configuration-visual img{transition:none}}

/* Inicio · 01 / Nexgrid */
.home-page .intro{grid-template-columns:minmax(0,1fr) minmax(300px,38%);grid-template-rows:auto 1fr;column-gap:5vw;row-gap:34px;align-items:start;background:#080a09;color:#fff}
.home-page .intro .kicker{grid-column:1;grid-row:1;align-self:start;width:100%;border-color:#ffffff35;color:var(--bright)}
.home-page .intro-copy{grid-column:1;grid-row:2;align-self:center}
.home-page .intro-copy h2{font-size:clamp(46px,5.2vw,78px)}
.home-page .intro-text{grid-template-columns:repeat(2,minmax(0,1fr));gap:3vw;max-width:none;margin-top:48px}
.home-page .intro p{margin:0;color:#ffffffbd}
.home-page .intro-visual{grid-column:2;grid-row:1 / 3;height:660px;margin:0;overflow:hidden;border:3px solid #171b18;border-radius:30px;background:#101310;box-shadow:0 28px 70px #0008}
.home-page .intro-visual img{width:100%;height:100%;object-fit:cover;object-position:center 51%;transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s ease}
.home-page .intro-visual:hover img{transform:scale(1.025);filter:saturate(1.08)}
@media(max-width:950px){.home-page .intro{grid-template-columns:1fr;grid-template-rows:auto;row-gap:34px}.home-page .intro .kicker,.home-page .intro-copy,.home-page .intro-visual{grid-column:1;grid-row:auto}.home-page .intro-visual{height:min(760px,100vw);margin-top:15px}}
@media(max-width:650px){.home-page .intro-text{grid-template-columns:1fr;gap:18px}.home-page .intro-visual{height:560px;border-width:2px;border-radius:22px}}
@media(prefers-reduced-motion:reduce){.home-page .intro-visual img{transition:none}}

/* Inicio · 02 / Capacidades */
.home-page #soluciones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:125px 4.5vw;background:#102f1d;color:#fff}
.home-page #soluciones>.col{grid-column:1/-1;width:100%;max-width:none}
.home-page #soluciones .home-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-page #soluciones .home-service-card{min-width:0;padding:clamp(24px,2.2vw,36px)}
.home-page #soluciones .home-service-card h3{font-size:clamp(25px,2.2vw,36px)}
.home-page #soluciones>.kicker,.home-page #soluciones>.head{grid-column:1/-1}
.home-page #soluciones>.kicker{width:100%;padding-left:4vw;padding-right:4vw;border-color:#ffffff55;color:#fff}
.home-page #soluciones .head{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);margin:58px 4vw 78px;gap:8vw}
.home-page #soluciones h2{max-width:900px}
.home-page #soluciones h2 span{color:#9cd7a7}
.home-page #soluciones .head p{align-self:end;margin:0;color:#d8e7dc;font-size:16px}
.home-page #soluciones .service{position:relative;min-height:330px;padding:34px 36px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:22px;border:1px solid #ffffff22;background:linear-gradient(145deg,#ffffff0c,#ffffff03);overflow:hidden;transition:transform .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease}
.home-page #soluciones .service:before{content:"";position:absolute;right:-75px;top:-75px;width:190px;height:190px;border:1px solid #ffffff12;border-radius:50%;transition:transform .45s ease,border-color .35s ease}
.home-page #soluciones .service:hover{z-index:1;transform:translateY(-7px);border-color:#9cd7a766;background:linear-gradient(145deg,#ffffff16,#ffffff08);box-shadow:0 24px 55px #06180d66}
.home-page #soluciones .service:hover:before{transform:scale(1.18);border-color:#9cd7a73d}
.home-page #soluciones .service b{grid-column:1;color:#9cd7a7;font:700 clamp(40px,5vw,76px)/.9 Arial,sans-serif;letter-spacing:-.07em}
.home-page #soluciones .service h3{grid-column:1/-1;align-self:end;max-width:520px;margin:15px 0 0;font-size:clamp(27px,2.5vw,40px);line-height:1.05;letter-spacing:-.045em}
.home-page #soluciones .service p{grid-column:1;max-width:520px;margin:0;color:#d9e7dc;font-size:14px;line-height:1.65}
.home-page #soluciones .arrow{grid-column:2;grid-row:1;position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffff42;border-radius:50%;color:#fff;font-size:22px;transition:background .3s ease,color .3s ease,transform .3s ease}
.home-page #soluciones .service:hover .arrow{background:#fff;color:#173d25;transform:rotate(45deg)}
@media(max-width:1100px){.home-page #soluciones .home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.home-page #soluciones{grid-template-columns:1fr}.home-page #soluciones>.kicker,.home-page #soluciones>.head{grid-column:1}.home-page #soluciones .head{grid-template-columns:1fr;margin-bottom:55px}.home-page #soluciones .service{min-height:300px}}
@media(max-width:650px){.home-page #soluciones{padding:85px 14px}.home-page #soluciones>.kicker{padding-left:10px;padding-right:10px}.home-page #soluciones .head{margin:42px 10px 48px}.home-page #soluciones .home-service-grid{grid-template-columns:1fr}.home-page #soluciones .service{min-height:280px;padding:28px 24px}.home-page #soluciones .service b{font-size:48px}.home-page #soluciones .service h3{font-size:29px}}

/* Imagen unificada para los bloques finales de contacto */
.contact,.company-cta,.solutions-cta,.products-cta,.detail-cta{background-image:linear-gradient(90deg,rgba(5,7,6,.98) 0%,rgba(5,7,6,.91) 42%,rgba(5,7,6,.2) 78%),url('../assets/images/cta.webp');background-position:center;background-size:cover;background-repeat:no-repeat}
.contact-promo-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:34px}
.contact-promo-actions>.btn{margin:0}
.contact-call-btn{border:1px solid #ffffff9c;background:#ffffff0d;color:#fff;backdrop-filter:blur(5px);transition:background .25s ease,border-color .25s ease,transform .25s ease}
.contact-call-btn:hover{border-color:#fff;background:#ffffff22;transform:translateY(-3px)}
.contact-whatsapp-btn{gap:.55rem;border:1px solid #25d366;background:#1eaf55;color:#fff;transition:background .25s ease,transform .25s ease}
.contact-whatsapp-btn:hover{border-color:#25d366;background:#25d366;color:#fff;transform:translateY(-3px)}
.detail-cta .btn.brochure-download-btn{border:1px solid #ffffff9c;background:#ffffff0d;color:#fff;backdrop-filter:blur(5px)}
.detail-cta .btn.brochure-download-btn:hover{border-color:#fff;background:#ffffff22;color:#fff;transform:translateY(-3px)}
@media(max-width:650px){.contact,.company-cta,.solutions-cta,.products-cta,.detail-cta{background-position:62% center}.contact-promo-actions{align-items:stretch;flex-direction:column}.contact-promo-actions>.btn{width:100%}}

/* Contacto directo */
.contact-direct{display:grid;grid-template-columns:190px minmax(0,1fr);gap:6vw;background:#f2f3ee}
.contact-direct h2{margin-bottom:55px}
.contact-direct-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}
.contact-direct-grid a{display:flex;min-height:230px;flex-direction:column;justify-content:space-between;padding:28px;background:#fff;transition:background .25s ease,transform .25s ease}
.contact-direct-grid a:hover,.contact-direct-grid a:focus-visible{z-index:1;background:#e6eee7;outline:0;transform:translateY(-4px)}
.contact-direct-grid span{color:var(--green);font:10px Consolas,monospace;text-transform:uppercase;letter-spacing:.12em}
.contact-direct-grid strong{overflow-wrap:anywhere;color:#161a17;font-size:clamp(1.15rem,1.7vw,1.65rem)}
.contact-direct-grid small{padding-top:15px;border-top:1px solid var(--line);color:#676c68;font-size:11px;text-transform:uppercase}
@media(max-width:950px){.contact-direct{grid-template-columns:1fr}.contact-direct-grid{grid-template-columns:1fr}}
@media(max-width:650px){.contact-direct-grid a{min-height:180px;padding:24px}}

/* Imagen de la introducción de Soluciones */
@media(max-width:950px){.solutions-intro-side{width:min(100%,420px);max-width:none}}
@media(max-width:650px){.solutions-intro-side{width:100%}.solutions-intro-image{width:100%}}
@media(prefers-reduced-motion:reduce){.solutions-intro-image img{transition:none}}

/* Presentación del título MXGN-24/36 */
.mgx-detail .detail-hero h1{display:flex;align-items:flex-end;gap:22px}
.mgx-detail .detail-hero h1 small{display:inline-flex;align-items:center;margin:0 0 .18em;padding:.22em .5em;border:1px solid #ffffff55;border-radius:999px;background:#ffffff0d;color:#fff;font:500 .27em/1 Consolas,monospace;letter-spacing:.02em}
.mgx-detail .detail-hero-visual img,.mgx-detail .features-visual img{object-position:center center}
.mgc-detail .detail-hero h1{display:flex;align-items:flex-end;gap:22px}
.mgc-detail .detail-hero h1 small{display:inline-flex;align-items:center;margin:0 0 .18em;padding:.22em .38em;border:1px solid #ffffff55;border-radius:999px;background:#ffffff0d;color:#fff;font:500 .27em/1 Consolas,monospace;letter-spacing:.02em}
.mgc-detail .detail-hero-visual img,.mgc-detail .features-visual img{object-position:center center}
.product-detail-page:not(.kyn61-detail):not(.mgc-detail):not(.mgx-detail):not(.mxgn-detail) .detail-hero-visual img{object-position:center center}
.kyn61-detail .detail-hero-visual img,.kyn61-detail .features-visual img{object-position:center center}
.mxgn-detail .detail-hero h1{display:flex;align-items:flex-end;gap:22px}
.mxgn-detail .detail-hero h1 small{display:inline-flex;align-items:center;margin:0 0 .18em;padding:.22em .38em;border:1px solid #ffffff55;border-radius:999px;background:#ffffff0d;color:#fff;font:500 .27em/1 Consolas,monospace;letter-spacing:.02em}
.mxgn-detail .detail-hero-visual img{object-position:center center}
@media(max-width:650px){.mxgn-detail .detail-hero h1{align-items:flex-start;flex-direction:column;gap:12px}.mxgn-detail .detail-hero h1 small{margin:0;font-size:.34em}}
@media(max-width:650px){.mgc-detail .detail-hero h1{align-items:flex-start;flex-direction:column;gap:12px}.mgc-detail .detail-hero h1 small{margin:0;font-size:.34em}}
@media(max-width:650px){.mgx-detail .detail-hero h1{align-items:flex-start;flex-direction:column;gap:12px}.mgx-detail .detail-hero h1 small{margin:0;font-size:.34em}}

/* La imagen de Plataformas cubre toda la altura sin zonas vacías */
.solutions-page .solution-platforms{display:block;min-height:0;padding:100px 8.5vw}
.solutions-page .platforms-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 64px;max-width:1440px;margin:auto;padding:0}
.solutions-page .platforms-copy>.kicker{grid-column:1/-1;justify-self:start}
.solutions-page .platforms-heading h2{margin:0}
.solutions-page .platforms-description p{margin:0 0 18px}
.solutions-page .platforms-description p:last-child{margin-bottom:0}
.solutions-page .platform-capabilities{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:8px 0 0;border-top:1px solid #ffffff2b}
.solutions-page .platform-capabilities>div{padding:28px 0;border-bottom:1px solid #ffffff22}
.solutions-page .platform-capability-icon{display:block;width:36px;height:36px;margin-bottom:20px;color:var(--bright)}
.solutions-page .platform-capabilities strong{display:block;color:#fff;font-size:18px}
.solutions-page .platform-capabilities span{display:block;margin-top:10px;color:#ffffff82;font-size:14px;line-height:1.65}
.solutions-page .platform-tags{margin:0;align-self:center}
.solutions-page .platforms-copy>.btn{justify-self:end;align-self:center}
@media(max-width:950px){.solutions-page .platforms-copy{gap:32px}.solutions-page .platforms-heading,.solutions-page .platforms-description{grid-column:1/-1}}
@media(max-width:650px){.solutions-page .solution-platforms{padding:85px 24px}.solutions-page .platforms-copy{grid-template-columns:minmax(0,1fr);gap:28px}.solutions-page .platform-capabilities{grid-template-columns:1fr;gap:0}.solutions-page .platform-capabilities>div{padding:24px 0}.solutions-page .platforms-copy>.btn{justify-self:start}}


/* Página Contacto */
.contact-page nav .active{color:var(--bright)}
.talk-hero{position:relative;height:92vh;min-height:760px;overflow:hidden;background:radial-gradient(circle at 76% 48%,#254d30 0,#102519 25%,#070a08 58%);color:#fff}.talk-grid{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(#fff4 1px,transparent 1px),linear-gradient(90deg,#fff4 1px,transparent 1px);background-size:90px 90px}.talk-hero-copy{position:absolute;z-index:2;left:8.5vw;top:51%;max-width:920px;transform:translateY(-45%)}.talk-hero-copy h1{font-size:clamp(66px,8vw,125px)}.talk-hero-copy p{max-width:650px;color:#ffffffad;font-size:18px;line-height:1.65}.talk-hero-copy .btn{margin-top:22px}.talk-orbit{position:absolute;right:5vw;top:18%;width:min(42vw,610px);aspect-ratio:1;border:1px solid #69b97845;border-radius:50%;animation:talkSpin 24s linear infinite}.talk-orbit:before,.talk-orbit:after{content:"";position:absolute;border:1px solid #69b97832;border-radius:50%}.talk-orbit:before{inset:14%}.talk-orbit:after{inset:31%;background:#69b9780d;box-shadow:0 0 90px #69b97820}.talk-orbit i{position:absolute;width:13px;height:13px;border-radius:50%;background:var(--bright);box-shadow:0 0 22px var(--bright)}.talk-orbit i:nth-child(1){left:8%;top:28%}.talk-orbit i:nth-child(2){right:13%;top:19%}.talk-orbit i:nth-child(3){right:3%;bottom:31%}.talk-status{position:absolute;z-index:2;right:4.5vw;bottom:35px;display:flex;align-items:center;gap:11px;padding:17px 22px;border-top:2px solid var(--green);background:#090b0adb;color:#ffffff9c;font:10px Consolas,monospace;text-transform:uppercase;letter-spacing:.1em}.talk-status i{width:8px;height:8px;border-radius:50%;background:var(--bright);box-shadow:0 0 0 0 #69b97880;animation:talkPulse 2s infinite}.talk-intro{display:grid;grid-template-columns:190px 1fr;gap:6vw}.talk-intro p{max-width:760px;margin-top:42px;color:#5a5f5b;font-size:18px;line-height:1.75}.talk-path{display:grid;grid-template-columns:repeat(3,1fr);padding:0 4.5vw 125px;background:var(--paper)}.talk-path article{min-height:310px;padding:35px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.talk-path article:last-child{border-right:0}.talk-path span{color:var(--green);font:12px Consolas,monospace}.talk-path h3{margin:90px 0 18px;font-size:27px;letter-spacing:-.04em}.talk-path p{color:#636864;line-height:1.65}.talk-form-section{display:grid;grid-template-columns:42% 58%;background:#090b0a;color:#fff}.talk-form-copy{padding:110px 5vw 110px 8.5vw;background:#132419}.talk-form-copy .kicker{border-color:#ffffff38;color:var(--bright)}.talk-form-copy h2{margin:45px 0 28px;font-size:clamp(45px,5vw,76px)}.talk-form-copy p{color:#ffffff91;line-height:1.7}.talk-notes{display:grid;gap:0;margin-top:48px;border-top:1px solid #ffffff2c}.talk-notes span{padding:17px 0;border-bottom:1px solid #ffffff22;color:#ffffffb0;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.talk-form{padding:110px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}.talk-form label{display:flex;flex-direction:column;gap:10px}.talk-form label>span{color:#ffffff86;font:10px Consolas,monospace;text-transform:uppercase;letter-spacing:.1em}.talk-form input,.talk-form select,.talk-form textarea{width:100%;padding:15px 0;border:0;border-bottom:1px solid #ffffff3b;border-radius:0;outline:none;background:transparent;color:#fff;font:15px Arial,sans-serif}.talk-form select{background:#090b0a}.talk-form textarea{resize:vertical}.talk-form input:focus,.talk-form select:focus,.talk-form textarea:focus{border-color:var(--bright)}.talk-form input::placeholder,.talk-form textarea::placeholder{color:#ffffff45}.talk-form .wide{grid-column:1/-1}.talk-form button{border:0;cursor:pointer;width:max-content}.form-note{margin:0;color:#ffffff59;font-size:11px;line-height:1.5}.talk-closing{position:relative;background:var(--green);color:#fff}.talk-closing .kicker{border-color:#ffffff70;color:#fff}.talk-closing h2{margin-top:55px}.talk-closing h2 span{color:#d9f4df}.talk-arrow{position:absolute;right:8.5vw;bottom:125px;width:72px;height:72px;display:grid;place-items:center;border:1px solid #ffffff75;border-radius:50%;font-size:28px;transition:.3s}.talk-arrow:hover{background:#fff;color:var(--green);transform:translateY(-6px)}
@keyframes talkSpin{to{transform:rotate(360deg)}}@keyframes talkPulse{50%{box-shadow:0 0 0 9px #69b97800}}
.contact-page .talk-hero-copy .eyebrow{animation:siteHeroCopyIn .65s .12s cubic-bezier(.22,1,.36,1) both}.contact-page .talk-hero-copy h1{animation:siteHeroCopyIn .82s .24s cubic-bezier(.22,1,.36,1) both}.contact-page .talk-hero-copy p{animation:siteHeroCopyIn .78s .38s cubic-bezier(.22,1,.36,1) both}.contact-page .talk-hero-copy .btn{animation:siteHeroCopyIn .72s .5s cubic-bezier(.22,1,.36,1) both}
@media(max-width:950px){.talk-intro,.talk-form-section{grid-template-columns:1fr}.talk-path{grid-template-columns:1fr}.talk-path article{min-height:auto;border-right:0}.talk-path h3{margin-top:45px}.talk-form-copy,.talk-form{padding:90px 8.5vw}.talk-orbit{right:-16vw;width:65vw;opacity:.65}}
@media(max-width:650px){.talk-hero{height:820px;min-height:0}.talk-hero-copy{left:24px;right:24px;top:45%}.talk-hero-copy p{font-size:16px}.talk-status{left:24px;right:24px;bottom:22px;justify-content:center}.talk-orbit{top:22%;right:-40vw;width:105vw}.talk-path{padding:0 24px 85px}.talk-path article{padding:30px 0}.talk-form-copy,.talk-form{padding:80px 24px}.talk-form{grid-template-columns:1fr}.talk-form label,.talk-form .wide{grid-column:1}.talk-arrow{position:static;margin-top:45px}}
@media(prefers-reduced-motion:reduce){.talk-orbit,.talk-status i{animation:none}.talk-arrow{transition:none}}

/* Armazón Starter para las páginas interiores Nexgrid. */
.nexgrid-content-page { --navbar-height: 5.75rem; --container-max-width: 86rem; }
.nexgrid-content-page main { padding-top: 0; }
.nexgrid-content-page > header { position: static; width: auto; height: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.nexgrid-content-page .navbar { position: absolute; inset: 0 0 auto; display: block; height: var(--navbar-height); padding: 0; color: #fff; border-bottom: 1px solid rgb(255 255 255 / 14%); background: rgb(5 6 5 / 88%); box-shadow: 0 8px 24px rgb(0 0 0 / 18%); backdrop-filter: blur(12px); }
.nexgrid-content-page .navbar .nav-container { padding: 0; }
.nexgrid-content-page .navbar a { display: inline-flex; padding-left: 0; border-left: 0; }
.nexgrid-content-page .brand-logo { width: 11.5rem; height: auto; }.nexgrid-content-page .brand-logo-dark { display: none; }
.nexgrid-content-page .navbar .nav-menu { display: flex; gap: 2rem; align-items: center; }.nexgrid-content-page .navbar .nav-link { padding-block: 1rem; font-size: var(--font-size-sm); }
.nexgrid-content-page .navbar .btn-contact { padding: var(--button-padding-y) var(--button-padding-x); border: 0; color: #fff; background: var(--green); }
.nexgrid-content-page .navbar .btn-contact:hover { background: #5da269; }
.nexgrid-content-page .navbar .nav-products { color: #fff; font-size: var(--font-size-sm); }.nexgrid-content-page .navbar .nav-products summary { padding-block: 1rem; }
.nexgrid-content-page footer { display: block; min-height: var(--footer-min-height); padding: 5rem 0 2rem; color: var(--text-color); background: #f7f6f2; }
.nexgrid-content-page footer .footer-main { display: flex; }.nexgrid-content-page footer .footer-logo { width: 11rem; }.nexgrid-content-page footer .footer-brand { margin-bottom: 1.2rem; }.nexgrid-content-page footer .footer-main p, .nexgrid-content-page footer .footer-bottom { color: #5c615d; }
.nexgrid-content-page footer .footer-bottom { display: flex; }
.nexgrid-content-page #arriba { border: 0; }

@media (max-width: 64rem) {
  .nexgrid-content-page .navbar .menu-toggle { display: block; }
  .nexgrid-content-page .navbar .nav-menu-wrapper { position: fixed; top: var(--navbar-height); right: 0; display: flex; width: min(100%, var(--navbar-menu-width)); height: calc(100dvh - var(--navbar-height)); flex-direction: column; align-items: stretch; padding: 2rem; color: var(--text-color); background: var(--surface-color); transform: translateX(105%); }
  .nexgrid-content-page .navbar .nav-menu-wrapper.active { transform: translateX(0); }
  .nexgrid-content-page .navbar .nav-menu { flex-direction: column; align-items: stretch; gap: .5rem; }
  .nexgrid-content-page .navbar .nav-link, .nexgrid-content-page .navbar .nav-products summary { width: 100%; color: var(--text-color); font-size: 1.2rem; }
  .nexgrid-content-page .navbar .product-submenu { position: static; width: 100%; margin-top: .25rem; opacity: 1; visibility: visible; transform: none; box-shadow: none; }
  .nexgrid-content-page .navbar .product-submenu::before { display: none; }
}
@media (max-width: 40rem) {
  .nexgrid-content-page { --navbar-height: 4.75rem; }.nexgrid-content-page .brand-logo { width: 9rem; }
  .nexgrid-content-page footer .footer-main { flex-direction: column; }.nexgrid-content-page footer .footer-bottom { flex-direction: column; }
}

/* Inicio · Portafolio escalable */
.home-page .home-products-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem); gap: clamp(2.5rem, 7vw, 7rem); align-items: end; margin-bottom: 4.5rem; }
.home-page .home-products-heading h2 { margin-top: 1.5rem; }
.home-page .home-products-intro { display: flex; flex-direction: column; align-items: flex-start; gap: 1.75rem; }
.home-page .home-products-intro p { color: rgb(255 255 255 / 58%); line-height: 1.7; }
.home-page .home-products-intro .text-link { color: var(--tertiary-color); }
.home-page .home-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid rgb(255 255 255 / 14%); background: rgb(255 255 255 / 14%); }
.home-page .home-product-card { position: relative; isolation: isolate; display: flex; min-width: 0; min-height: 34rem; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 1.4rem; color: #fff; background-color: #050706; background-image: linear-gradient(180deg, rgb(5 8 6 / 24%) 0%, rgb(5 8 6 / 8%) 42%, rgb(5 8 6 / 88%) 73%, #050706 100%), var(--product-image) !important; background-position: center; background-size: cover; background-repeat: no-repeat; transition: transform var(--transition-normal), box-shadow var(--transition-normal); }
.home-page .home-product-card::after { position: absolute; z-index: -1; inset: 0; content: ''; border: 1px solid transparent; transition: border-color var(--transition-normal), background var(--transition-normal); }
.home-page .home-product-card:hover, .home-page .home-product-card:focus-visible { z-index: 2; outline: 0; box-shadow: 0 22px 48px rgb(0 0 0 / 45%); transform: translateY(-.45rem); }
.home-page .home-product-card:hover::after, .home-page .home-product-card:focus-visible::after { border-color: var(--tertiary-color); background: rgb(105 185 120 / 5%); }
.home-page .home-product-media { display: flex; justify-content: space-between; gap: 1rem; font: .68rem Consolas, monospace; letter-spacing: .04em; text-transform: uppercase; }
.home-page .home-product-media span { padding: .42rem .52rem; background: rgb(9 11 13 / 82%); backdrop-filter: blur(4px); }
.home-page .home-product-info { position: relative; z-index: 1; }
.home-page .home-product-info > p { color: rgb(255 255 255 / 65%); font-size: .82rem; }
.home-page .home-product-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.home-page .home-product-title h3 { margin-block: .35rem 1.2rem; color: #fff; font-size: clamp(2.5rem, 4vw, 3.8rem); }
.home-page .home-product-title i { display: grid; width: 2.75rem; flex: 0 0 2.75rem; aspect-ratio: 1; place-items: center; border: 1px solid rgb(255 255 255 / 35%); border-radius: 50%; transition: color var(--transition-normal), background var(--transition-normal), transform var(--transition-normal); }
.home-page .home-product-card:hover .home-product-title i, .home-page .home-product-card:focus-visible .home-product-title i { color: #102f1d; background: var(--tertiary-color); transform: rotate(45deg); }
.home-page .home-product-specs { display: flex; justify-content: flex-start; gap: 1.5rem; padding-top: 1rem; border-top: 1px solid rgb(255 255 255 / 22%); color: var(--tertiary-color); font: .68rem Consolas, monospace; text-transform: uppercase; }
.home-page .home-product-all { background-color: #24472c; background-image: linear-gradient(145deg, rgb(75 139 88 / 92%), rgb(22 49 29 / 98%)) !important; }
.home-page .home-product-all::before { position: absolute; inset: 1.4rem; content: ''; border: 1px solid rgb(255 255 255 / 18%); pointer-events: none; }
.home-page .home-product-all::after { background: linear-gradient(145deg, transparent, rgb(7 17 10 / 30%)); }
.home-page .home-product-all .home-product-info { max-width: 24rem; }
.home-page .home-product-all h3 { max-width: 8ch; font-size: clamp(2.6rem, 4.2vw, 4.3rem); line-height: .92; }
.home-page .home-product-all:hover, .home-page .home-product-all:focus-visible { background-image: linear-gradient(145deg, #5da269, #244d2e) !important; }

@media (max-width: 64rem) {
  .home-page .home-products-heading { grid-template-columns: 1fr 20rem; }
  .home-page .home-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .home-page .home-products-heading, .home-page .home-product-grid { grid-template-columns: 1fr; }
  .home-page .home-product-card { min-height: 33rem; }
  .home-page .home-product-all { justify-content: flex-start; gap: 3rem; }
}

/* Centro de Servicio y Descargas */
.service-center-page, .downloads-page { --primary-color: #4b8b58; --secondary-color: #102f1d; --tertiary-color: #9cd7a7; --text-color: #090b0a; --text-muted: #5a5f5b; --surface-color: #f7f6f2; --border-color: rgb(9 11 10 / 16%); }
.service-center-page em, .downloads-page em { font-family: var(--font-sans); font-style: normal; font-weight: 300; }
.service-center-hero { position: relative; min-height: 48rem; display: flex; align-items: center; overflow: hidden; color: #fff; background: #080a09; }
.service-center-hero-image { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(5 7 6 / 98%) 0%, rgb(5 7 6 / 86%) 43%, rgb(5 7 6 / 24%) 78%), url('../assets/images/company-engineer-switchgear.jpg') 66% center / cover; }
.service-center-hero-copy { position: relative; z-index: 1; padding-top: var(--navbar-height); }
.service-center-hero-copy h1 { max-width: 12ch; margin-block: 1.75rem; color: #fff; font-size: clamp(4rem, 7.4vw, 7.2rem); }
.service-center-hero-copy > p:not(.eyebrow) { max-width: 39rem; color: rgb(255 255 255 / 72%); font-size: 1.1rem; line-height: 1.65; }
.service-center-hero-copy .btn { margin-top: 2rem; }
.service-options { background: #f2f1ed; }
.service-options-heading { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: clamp(2rem, 7vw, 7rem); margin-bottom: 4.5rem; }
.service-options-heading h2 { font-size: clamp(3.2rem, 5.5vw, 5.6rem); }
.service-options-heading > div > p { max-width: 42rem; margin-top: 1.6rem; color: var(--text-muted); line-height: 1.7; }
.service-options-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--border-color); background: var(--border-color); gap: 1px; }
.service-options-grid article { min-height: 25rem; display: grid; grid-template-columns: 1fr auto; align-content: space-between; padding: clamp(1.7rem, 3vw, 2.6rem); background: #f7f6f2; transition: background var(--transition-normal), transform var(--transition-normal); }
.service-options-grid article:hover { z-index: 1; background: #fff; transform: translateY(-.35rem); }
.service-options-grid article > span { color: var(--primary-color); font: 700 .75rem Consolas, monospace; }
.service-options-grid article > i { color: var(--primary-color); font-size: 1.7rem; }
.service-options-grid h3 { grid-column: 1 / -1; align-self: end; margin: 5rem 0 1rem; font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: -.045em; }
.service-options-grid article > p { grid-column: 1 / -1; max-width: 38rem; color: var(--text-muted); line-height: 1.65; }
.service-direct-contact { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.25rem; }
.service-direct-contact a { color: var(--primary-color); font-size: .82rem; font-weight: 700; }
.service-support { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); background: #080a09; color: #fff; }
.service-support-copy { padding: clamp(5rem, 9vw, 8rem) clamp(2rem, 6vw, 6.5rem) clamp(5rem, 9vw, 8rem) max(8.5vw, calc((100vw - 86rem) / 2)); background: #102f1d; }
.service-support-copy .eyebrow { color: var(--tertiary-color); }
.service-support-copy h2 { margin-block: 2.5rem 1.6rem; color: #fff; font-size: clamp(3.2rem, 5vw, 5rem); }
.service-support-copy > p:not(.eyebrow) { max-width: 36rem; color: rgb(255 255 255 / 65%); line-height: 1.7; }
.service-support-data { display: grid; gap: 1rem; margin-top: 3rem; }
.service-support-data a { display: grid; grid-template-columns: 2.75rem 1fr; gap: 1rem; align-items: center; color: #fff; }
.service-support-data > a > i { display: grid; width: 2.75rem; aspect-ratio: 1; place-items: center; border: 1px solid rgb(255 255 255 / 25%); border-radius: 50%; color: var(--tertiary-color); }
.service-support-data span, .service-support-data small, .service-support-data strong { display: block; }
.service-support-data small { margin-bottom: .25rem; color: rgb(255 255 255 / 48%); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.service-support-form { display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; justify-content: center; padding: clamp(4rem, 8vw, 7rem); border-radius: 0; background: #080a09; box-shadow: none; }
.service-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.service-support-form .field label { color: rgb(255 255 255 / 58%); }
.service-support-form .field input, .service-support-form .field textarea, .service-support-form .field select { color: #fff; border-color: rgb(255 255 255 / 28%); background: transparent; }
.service-support-form .field select { min-height: 3.25rem; }
.service-support-form .field select option { color: #fff; background: #080a09; }
.service-support-form .field input:focus, .service-support-form .field textarea:focus, .service-support-form .field select:focus { border-color: var(--tertiary-color); outline: 0; }
.service-form-wide { grid-column: 1 / -1; }
.service-support-form .btn { align-self: flex-start; border: 0; margin-top: .5rem; }
.service-form-note { color: rgb(255 255 255 / 42%); font-size: .7rem; line-height: 1.5; }
.downloads-hero { min-height: 38rem; display: flex; align-items: center; padding-top: var(--navbar-height); color: #fff; background: radial-gradient(circle at 85% 35%, #315d3b 0, #102f1d 30%, #080a09 72%); }
.downloads-hero h1 { margin-block: 1.75rem; color: #fff; font-size: clamp(4rem, 7vw, 7rem); }
.downloads-hero p:not(.eyebrow) { max-width: 40rem; color: rgb(255 255 255 / 66%); font-size: 1.1rem; line-height: 1.65; }
.downloads-section { background: #f2f1ed; }
.downloads-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--border-color); background: var(--border-color); gap: 1px; }
.downloads-grid article { min-height: 25rem; display: flex; flex-direction: column; padding: 2rem; background: #f7f6f2; }
.downloads-grid article > span { color: var(--primary-color); font: 700 .75rem Consolas, monospace; }
.downloads-grid article > i { margin: 3.5rem 0 auto; color: var(--primary-color); font-size: 2rem; }
.downloads-grid h2 { margin-bottom: 1rem; font-size: 2rem; }
.downloads-grid p { color: var(--text-muted); line-height: 1.65; }
.downloads-grid small { margin-top: 1.5rem; color: var(--primary-color); font-weight: 700; text-transform: uppercase; }
.downloads-help { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-top: 6rem; padding-top: 3rem; border-top: 1px solid var(--border-color); }
.downloads-help h2 { font-size: clamp(2.5rem, 4vw, 4.5rem); }
@media (max-width: 64rem) { .service-options-heading, .service-support { grid-template-columns: 1fr; }.service-options-heading { gap: 2rem; }.service-support-copy { padding-inline: 8.5vw; }.downloads-grid { grid-template-columns: 1fr 1fr; }.nexgrid-content-page .navbar .nav-menu { gap: .5rem; } }
@media (max-width: 40rem) { .service-center-hero { min-height: 44rem; }.service-center-hero-image { background-position: 72% center; }.service-center-hero-copy h1, .downloads-hero h1 { font-size: clamp(3.5rem, 16vw, 5rem); }.service-options-grid, .service-form-grid, .downloads-grid { grid-template-columns: 1fr; }.service-options-grid article { min-height: 22rem; }.service-support-form { padding: 5rem 1.5rem; }.service-form-wide { grid-column: auto; }.downloads-help { align-items: flex-start; flex-direction: column; } }

/* Biblioteca de descargas */
.downloads-page .downloads-hero { position: relative; min-height: 43rem; overflow: hidden; background: radial-gradient(circle at 80% 15%, #315d3b 0, #102f1d 30%, #080a09 72%); }
.downloads-grid-pattern { position: absolute; inset: 0; opacity: .1; background-image: linear-gradient(rgb(255 255 255 / 30%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 30%) 1px, transparent 1px); background-size: 5.5rem 5.5rem; mask-image: linear-gradient(90deg, #000, transparent 90%); }
.downloads-hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(20rem, .6fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.downloads-page .downloads-hero h1 { max-width: none; }
.downloads-hero-intro > p { color: rgb(255 255 255 / 68%); line-height: 1.7; }
.downloads-hero-intro > div { display: flex; align-items: center; gap: 1rem; margin-top: 2.25rem; padding-top: 1.25rem; border-top: 1px solid rgb(255 255 255 / 22%); }
.downloads-hero-intro strong { color: var(--tertiary-color); font-size: 2.6rem; line-height: 1; }
.downloads-hero-intro span { max-width: 8rem; color: rgb(255 255 255 / 55%); font: .68rem/1.4 Consolas, monospace; letter-spacing: .08em; text-transform: uppercase; }
.download-library { background: #f2f1ed; }
.download-library-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 25rem); gap: clamp(3rem, 8vw, 8rem); align-items: end; margin-bottom: 4.5rem; }
.download-library-heading h2 { font-size: clamp(3.2rem, 5.5vw, 5.6rem); }
.download-library-heading > p { color: var(--text-muted); line-height: 1.7; }
.download-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--border-color); background: var(--border-color); }
.download-card { min-width: 0; overflow: hidden; background: #f7f6f2; }
.download-card-featured { grid-column: span 2; display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr); }
.download-cover { position: relative; display: block; height: 27rem; overflow: hidden; background: #080a09; }
.download-card-featured .download-cover { height: 100%; min-height: 36rem; }
.download-cover::after { position: absolute; inset: 0; content: ''; border: 1px solid transparent; transition: border-color var(--transition-normal), background var(--transition-normal); }
.download-cover:hover::after, .download-cover:focus-visible::after { border-color: var(--tertiary-color); background: rgb(105 185 120 / 7%); }
.download-cover img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top center; transition: transform .65s cubic-bezier(.22, 1, .36, 1); }
.download-cover:hover img, .download-cover:focus-visible img { transform: scale(1.025); }
.download-card-body { display: flex; min-height: 22rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.25rem); }
.download-card-featured .download-card-body { min-height: 36rem; justify-content: center; }
.download-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; color: var(--primary-color); font: .65rem/1.4 Consolas, monospace; letter-spacing: .06em; text-transform: uppercase; }
.download-card-meta span:last-child { color: var(--text-muted); }
.download-card h3 { margin: auto 0 1rem; font-size: clamp(2rem, 3.3vw, 3.4rem); letter-spacing: -.055em; }
.download-card-featured h3 { margin-top: 5rem; }
.download-card-body > p { color: var(--text-muted); line-height: 1.65; }
.download-action { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1.15rem; border-top: 1px solid var(--border-color); color: var(--primary-color); font-size: .82rem; font-weight: 700; }
.download-action i { display: grid; width: 2.6rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--border-color); border-radius: 50%; transition: color var(--transition-normal), background var(--transition-normal), transform var(--transition-normal); }
.download-action:hover i, .download-action:focus-visible i { color: #fff; background: var(--primary-color); transform: translateY(.2rem); }
.download-assistance { padding: 7rem 8.5vw; color: #fff; background: #102f1d; }
.download-assistance-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.download-assistance .eyebrow { color: var(--tertiary-color); }
.download-assistance h2 { color: #fff; font-size: clamp(3rem, 5vw, 5.3rem); }
.download-assistance-layout > div:last-child > p { color: rgb(255 255 255 / 62%); line-height: 1.7; }
.download-assistance .btn { margin-top: 2rem; }
@media (max-width: 64rem) { .downloads-hero-layout, .download-library-heading, .download-assistance-layout { grid-template-columns: 1fr; }.downloads-hero-layout { align-items: center; padding-block: 9rem 5rem; }.download-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.download-card-featured { grid-column: 1 / -1; } }
@media (max-width: 40rem) { .downloads-page .downloads-hero { min-height: 44rem; }.download-catalog-grid, .download-card-featured { grid-template-columns: 1fr; }.download-card-featured { display: block; }.download-card-featured .download-cover, .download-cover { height: 29rem; min-height: 0; }.download-card-featured .download-card-body { min-height: 25rem; }.download-card-featured h3 { margin-top: auto; }.download-assistance { padding: 5rem 1.5rem; } }

/* Sistema visual compartido de las páginas públicas Nexgrid */
.home-page, .nexgrid-content-page {
  --ng-display-size: clamp(3.75rem, 7vw, 6.75rem);
  --ng-detail-display-size: clamp(4.75rem, 9vw, 8.75rem);
  --ng-section-title-size: clamp(2.9rem, 5vw, 5.15rem);
  --ng-card-title-size: clamp(1.45rem, 2vw, 2.15rem);
  --ng-body-size: 1rem;
  --ng-lead-size: clamp(1.05rem, 1.35vw, 1.16rem);
  --ng-display-weight: 600;
  --ng-accent-weight: 300;
  --ng-heading-tracking: -.055em;
  --ng-body-leading: 1.68;
  font-family: var(--font-sans, Arial, Helvetica, sans-serif);
}
.home-page main h1, .nexgrid-content-page main h1,
.home-page main h2, .nexgrid-content-page main h2,
.home-page main h3, .nexgrid-content-page main h3 {
  font-family: var(--font-sans, Arial, Helvetica, sans-serif);
  font-style: normal;
}
.home-page main h2, .nexgrid-content-page main h2 {
  font-size: var(--ng-section-title-size);
  font-weight: var(--ng-display-weight);
  line-height: .98;
  letter-spacing: var(--ng-heading-tracking);
}
.home-page main h3, .nexgrid-content-page main h3 {
  font-size: var(--ng-card-title-size);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.home-page main p, .nexgrid-content-page main p { line-height: var(--ng-body-leading); }
.home-page main h1 em, .home-page main h2 em,
.nexgrid-content-page main h1 em, .nexgrid-content-page main h2 em,
.nexgrid-content-page main h1 span, .nexgrid-content-page main h2 span {
  font-family: inherit;
  font-style: normal;
  font-weight: var(--ng-accent-weight);
}
.home-hero h1, .company-hero-content h1, .solutions-hero-content h1,
.product-hero-content h1, .talk-hero-copy h1, .service-center-hero-copy h1,
.downloads-page .downloads-hero h1 {
  margin-block: 1.5rem 1.35rem;
  font-size: var(--ng-display-size);
  font-weight: var(--ng-display-weight);
  line-height: .92;
  letter-spacing: var(--ng-heading-tracking);
}
.product-detail-page .detail-hero h1 {
  margin-block: 1.25rem 1.5rem;
  color: #fff;
  font-size: var(--ng-detail-display-size);
  font-weight: var(--ng-display-weight);
  line-height: .92;
  letter-spacing: var(--ng-heading-tracking);
}
.product-detail-page.kyn61-detail .detail-hero h1,
.product-detail-page.mgc-detail .detail-hero h1,
.product-detail-page.mgx-detail .detail-hero h1,
.product-detail-page.mxgn-detail .detail-hero h1 {
  font-size: var(--ng-detail-display-size);
}
.company-hero, .solutions-hero, .product-hero, .talk-hero,
.service-center-hero, .downloads-page .downloads-hero {
  height: auto;
  min-height: clamp(44rem, 88svh, 54rem);
  max-height: none;
}
.company-hero-content > p, .solutions-hero-content > p,
.product-hero-content > p, .talk-hero-copy > p,
.service-center-hero-copy > p:not(.eyebrow), .downloads-hero-intro > p,
.home-hero .hero-intro, .product-detail-page .detail-hero-copy > p {
  max-width: 42rem;
  font-size: var(--ng-lead-size);
  line-height: 1.65;
}
.home-page main .eyebrow, .nexgrid-content-page main .eyebrow,
.nexgrid-content-page main .kicker {
  font-family: Consolas, ui-monospace, monospace;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.home-page .btn, .nexgrid-content-page .btn,
.home-page .btn-contact, .nexgrid-content-page .btn-contact {
  min-height: 3.5rem;
  padding-inline: 1.55rem;
  font-family: var(--font-sans, Arial, Helvetica, sans-serif);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: 0;
}
@media (max-width: 40rem) {
  .home-page, .nexgrid-content-page {
    --ng-display-size: clamp(3.35rem, 15vw, 4.85rem);
    --ng-detail-display-size: clamp(3.8rem, 16vw, 5.4rem);
    --ng-section-title-size: clamp(2.65rem, 12vw, 4rem);
    --ng-card-title-size: clamp(1.35rem, 7vw, 1.9rem);
    --ng-lead-size: 1rem;
  }
  .company-hero, .solutions-hero, .product-hero, .talk-hero,
  .service-center-hero, .downloads-page .downloads-hero { min-height: 46rem; }
}

/* Navegación principal unificada */
.home-page .navbar, .nexgrid-content-page .navbar {
  position: absolute;
  inset: 0 0 auto;
  display: block;
  height: var(--navbar-height);
  padding: 0;
  color: #fff;
  border-bottom: 1px solid rgb(255 255 255 / 14%);
  background: rgb(5 6 5 / 88%);
  box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
  backdrop-filter: blur(12px);
}
.home-page .navbar .nav-container, .nexgrid-content-page .navbar .nav-container { padding: 0; }
.home-page .navbar a, .nexgrid-content-page .navbar a { display: inline-flex; padding-left: 0; border-left: 0; }
.home-page .navbar .brand-logo, .nexgrid-content-page .navbar .brand-logo { width: 11.5rem; height: auto; }
.home-page .navbar .brand-logo-dark, .nexgrid-content-page .navbar .brand-logo-dark { display: none; }
.home-page .navbar .nav-menu, .nexgrid-content-page .navbar .nav-menu { display: flex; gap: 2rem; align-items: center; }
.home-page .navbar .nav-link, .nexgrid-content-page .navbar .nav-link,
.home-page .navbar .nav-products, .nexgrid-content-page .navbar .nav-products { color: #fff; font-size: var(--font-size-sm); }
.home-page .navbar .nav-link, .nexgrid-content-page .navbar .nav-link,
.home-page .navbar .nav-products summary, .nexgrid-content-page .navbar .nav-products summary { padding-block: 1rem; }
.home-page .navbar .nav-link::after, .nexgrid-content-page .navbar .nav-link::after { background: #9cd7a7; }
.home-page .navbar .nav-link[aria-current="page"], .nexgrid-content-page .navbar .nav-link[aria-current="page"],
.home-page .navbar .nav-products.active summary, .nexgrid-content-page .navbar .nav-products.active summary { color: #9cd7a7; }
.home-page .navbar .btn-contact, .nexgrid-content-page .navbar .btn-contact { border: 0; color: #fff; background: var(--green, #4b8b58); }
.home-page .navbar .btn-contact:hover, .nexgrid-content-page .navbar .btn-contact:hover { color: #fff; background: #5da269; }
@media (max-width: 64rem) {
  .home-page .navbar .menu-toggle, .nexgrid-content-page .navbar .menu-toggle { display: block; color: #fff; }
  .home-page .navbar .nav-menu-wrapper, .nexgrid-content-page .navbar .nav-menu-wrapper {
    position: fixed;
    top: var(--navbar-height);
    right: 0;
    display: flex;
    width: min(100%, var(--navbar-menu-width));
    height: calc(100dvh - var(--navbar-height));
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 2rem;
    color: var(--text-color);
    background: var(--surface-color);
    box-shadow: var(--shadow-lg);
    transform: translateX(105%);
  }
  .home-page .navbar .nav-menu-wrapper.active, .nexgrid-content-page .navbar .nav-menu-wrapper.active { transform: translateX(0); }
  .home-page .navbar .nav-menu, .nexgrid-content-page .navbar .nav-menu { flex-direction: column; align-items: stretch; gap: .5rem; }
  .home-page .navbar .nav-link, .nexgrid-content-page .navbar .nav-link,
  .home-page .navbar .nav-products summary, .nexgrid-content-page .navbar .nav-products summary { width: 100%; color: var(--text-color); font-size: 1.2rem; }
  .home-page .navbar .product-submenu, .nexgrid-content-page .navbar .product-submenu { position: static; width: 100%; margin-top: .25rem; opacity: 1; visibility: visible; transform: none; box-shadow: none; }
  .home-page .navbar .product-submenu::before, .nexgrid-content-page .navbar .product-submenu::before { display: none; }
}
@media (max-width: 40rem) {
  .home-page .navbar .brand-logo, .nexgrid-content-page .navbar .brand-logo { width: 9rem; }
}

/* Selector de idioma: nombres accesibles, sin banderas y con estado actual. */
.navbar .language-switcher { display: flex; flex: 0 0 auto; align-items: center; gap: .15rem; padding: .15rem; border: 1px solid currentColor; border-radius: var(--radius-full); }
.navbar .language-switcher a { display: inline-flex; min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; padding: .5rem .65rem; border-radius: var(--radius-full); color: inherit; background: transparent; font-size: .75rem; font-weight: 700; line-height: 1; text-decoration: none; }
.navbar .language-switcher a[aria-current="true"] { color: #080a09; background: #9cd7a7; }
.navbar .language-switcher a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.navbar .language-switcher a:hover { text-decoration: underline; text-underline-offset: .2em; }
@media (min-width: 64.001rem) {
  .navbar .nav-menu-wrapper { gap: clamp(.75rem, 1.6vw, 1.5rem); }
}
@media (max-width: 64rem) {
  .navbar .language-switcher { align-self: flex-start; margin-top: .75rem; }
  .navbar .nav-menu-wrapper { overflow-y: auto; }
  .navbar .nav-menu-wrapper:not(.active) { visibility: hidden; pointer-events: none; transform: none; }
  .navbar .nav-menu .nav-link { background: transparent; }
  .navbar .nav-menu .nav-link[aria-current="page"] { color: #245b32; }
}

/* Footer global Nexgrid */
footer.site-footer {
  display: block;
  min-height: 0;
  padding: 0;
  color: #fff;
  background: #070908;
}
footer.site-footer .footer-shell { width: 100%; }
footer.site-footer .footer-cta {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 3rem;
  padding-block: clamp(4.5rem, 8vw, 7rem);
  border-bottom: 1px solid rgb(255 255 255 / 15%);
}
footer.site-footer .footer-overline {
  margin: 0 0 1.5rem;
  color: #9cd7a7;
  font: 700 .7rem/1.4 Consolas, ui-monospace, monospace;
  letter-spacing: .15em;
  text-transform: uppercase;
}
footer.site-footer .footer-cta h2 {
  margin: 0;
  color: #fff;
  font-family: var(--font-sans, Arial, Helvetica, sans-serif);
  font-size: clamp(2.8rem, 5vw, 5.1rem);
  font-weight: 600;
  line-height: .96;
  letter-spacing: -.055em;
}
footer.site-footer .footer-cta h2 span { color: #9cd7a7; font-weight: 300; }
footer.site-footer .footer-cta-button {
  display: inline-flex;
  min-height: 3.75rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .9rem 1.5rem;
  border: 1px solid #9cd7a7;
  border-radius: 999px;
  color: #fff;
  background: rgb(156 215 167 / 7%);
  font-size: .8rem;
  font-weight: 700;
}
footer.site-footer .footer-cta-button:hover { color: #102f1d; background: #9cd7a7; transform: translateY(-2px); }
footer.site-footer .footer-directory {
  display: grid;
  grid-template-columns: minmax(16rem, 1.6fr) repeat(2, minmax(9rem, .75fr)) minmax(15rem, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}
footer.site-footer .footer-identity { padding-right: clamp(1rem, 4vw, 4rem); }
footer.site-footer .footer-brand { display: inline-flex; margin: 0 0 1.5rem; }
footer.site-footer .footer-logo { width: min(12rem, 100%); height: auto; }
footer.site-footer .footer-identity > p { max-width: 21rem; margin: 0; color: rgb(255 255 255 / 58%); line-height: 1.65; }
footer.site-footer .footer-location { display: flex; align-items: center; gap: .65rem; margin-top: 2rem; color: rgb(255 255 255 / 45%); font-size: .76rem; }
footer.site-footer .footer-location > i { color: #9cd7a7; }
footer.site-footer .footer-column, footer.site-footer .footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
footer.site-footer .footer-column h3, footer.site-footer .footer-contact h3 {
  margin: 0 0 .85rem;
  color: #9cd7a7;
  font-family: Consolas, ui-monospace, monospace;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .14em;
  text-transform: uppercase;
}
footer.site-footer .footer-column a { display: inline-flex; padding: 0; border: 0; color: rgb(255 255 255 / 64%); font-size: .85rem; line-height: 1.5; }
footer.site-footer .footer-column a:hover { color: #fff; transform: translateX(.2rem); }
footer.site-footer .footer-contact-method {
  display: grid;
  width: 100%;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
  padding: .8rem;
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: .55rem;
  color: #fff;
  background: rgb(255 255 255 / 4%);
}
footer.site-footer .footer-contact-method > i { display: grid; width: 2.35rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #102f1d; background: #9cd7a7; font-size: 1rem; }
footer.site-footer .footer-contact-method > span { min-width: 0; overflow-wrap: anywhere; }
footer.site-footer .footer-contact-method small, footer.site-footer .footer-contact-method strong { display: block; }
footer.site-footer .footer-contact-method small { margin-bottom: .16rem; color: rgb(255 255 255 / 43%); font-size: .58rem; letter-spacing: .09em; text-transform: uppercase; }
footer.site-footer .footer-contact-method strong { color: #fff; font-size: .8rem; line-height: 1.35; }
footer.site-footer .footer-contact-method:hover { border-color: #9cd7a7; background: rgb(156 215 167 / 9%); transform: translateY(-2px); }
footer.site-footer .footer-whatsapp > i { color: #fff; background: #25d366; }
footer.site-footer .footer-linkedin {
  display: inline-grid;
  width: auto;
  grid-template-columns: auto 1fr auto;
  gap: .5rem;
  align-items: center;
  margin-top: .5rem;
  padding: .35rem 0;
  border: 0;
  color: rgb(255 255 255 / 48%);
  background: transparent;
  font-size: .72rem;
  font-weight: 600;
}
footer.site-footer .footer-linkedin > i:first-child { color: rgb(255 255 255 / 58%); font-size: .95rem; }
footer.site-footer .footer-linkedin:hover { color: #fff; background: transparent; transform: none; }
footer.site-footer .footer-legal-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 2rem;
  align-items: center;
  padding-block: 1.6rem;
  border-top: 1px solid rgb(255 255 255 / 13%);
  color: rgb(255 255 255 / 38%);
  font-size: .66rem;
}
footer.site-footer .footer-legal-row > p { margin: 0; color: inherit; }
footer.site-footer .footer-legal-row nav { display: flex; gap: 1.5rem; }
footer.site-footer .footer-legal-row nav a, footer.site-footer .footer-top-link { padding: 0; border: 0; color: inherit; }
footer.site-footer .footer-legal-row nav a:hover, footer.site-footer .footer-top-link:hover { color: #fff; }
footer.site-footer .footer-top-link { display: inline-flex; align-items: center; gap: .5rem; }
@media (max-width: 64rem) {
  footer.site-footer .footer-cta { align-items: flex-start; flex-direction: column; }
  footer.site-footer .footer-directory { grid-template-columns: 1.5fr repeat(2, 1fr); }
  footer.site-footer .footer-contact { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
  footer.site-footer .footer-contact h3 { grid-column: 1 / -1; }
  footer.site-footer .footer-linkedin { grid-column: 1 / -1; margin-top: 0; }
  footer.site-footer .footer-legal-row { grid-template-columns: 1fr auto; }
  footer.site-footer .footer-legal-row nav { grid-column: 1 / -1; grid-row: 1; }
}
@media (max-width: 40rem) {
  footer.site-footer .footer-cta, footer.site-footer .footer-directory, footer.site-footer .footer-legal-row { width: calc(100% - 3rem); }
  footer.site-footer .footer-cta-button { width: 100%; }
  footer.site-footer .footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 1.5rem; }
  footer.site-footer .footer-identity, footer.site-footer .footer-contact { grid-column: 1 / -1; }
  footer.site-footer .footer-contact { display: flex; align-items: stretch; }
  footer.site-footer .footer-legal-row { display: flex; align-items: flex-start; flex-direction: column; gap: 1.25rem; }
  footer.site-footer .footer-legal-row nav { flex-direction: column; gap: .75rem; }
}


/* Seven featured products plus the complete catalog. */
@media(min-width:1025px){.navbar .nav-products:not(.nav-services) .product-feature-menu{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* International contact details. */
.site-offices{display:grid;gap:20px;margin:24px 0}.site-offices address{font-style:normal;line-height:1.7;font-size:14px}.site-offices address strong,.site-offices address span{display:block}.site-offices address strong{margin-bottom:6px}.footer-identity .site-offices{color:#ffffffb3}.contact-offices .site-offices{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.contact-offices h2{margin-top:30px}.footer-contact-method strong{overflow-wrap:anywhere}@media(max-width:650px){.contact-offices .site-offices{grid-template-columns:1fr}}

.site-offices address a{color:inherit;text-decoration:underline;text-underline-offset:3px}.site-offices address a:hover{color:var(--green)}

/* Dark, high-contrast headers for legal pages. */
.legal-page .navbar{background:#090b0a;backdrop-filter:none}
.legal-page .legal-hero{background:#101813;color:#fff;padding-top:calc(var(--navbar-height) + clamp(3rem,6vw,6rem));padding-bottom:clamp(3rem,6vw,6rem)}
.legal-page .legal-hero h1{color:#fff;font-size:clamp(2.5rem,6vw,5.5rem);line-height:1.08}
.legal-page .legal-hero .page-intro,.legal-page .legal-hero .breadcrumbs ol,.legal-page .legal-hero .breadcrumbs a{color:#d7e0d9}
.legal-page .legal-hero .kicker,.legal-page .legal-hero-inner>i{color:#9cd7a7;opacity:1}
.legal-page .legal-hero .breadcrumbs a:hover{color:#fff}
.legal-page .legal-hero a:focus-visible{outline:2px solid #9cd7a7;outline-offset:5px}
@media(max-width:650px){.legal-page .legal-hero-inner{gap:1rem}.legal-page .legal-hero-inner>div{min-width:0}.legal-page .legal-hero-inner>i{font-size:2rem}}

/* Uniform download cards: three desktop columns, two tablet, one mobile. */
.downloads-page .download-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}
.downloads-page .download-card{display:flex;flex-direction:column}
.downloads-page .download-cover{height:auto;aspect-ratio:3 / 4;flex-shrink:0}
.downloads-page .download-cover img{object-fit:contain;object-position:center}
.downloads-page .download-card-body{flex:1;min-height:22rem}
.downloads-page .download-card h3{margin:24px 0 16px;font-size:clamp(1.7rem,2.4vw,2.5rem)}
.downloads-page .download-action{margin-top:auto;padding-top:24px}
@media(max-width:64rem){.downloads-page .download-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:40rem){.downloads-page .download-catalog-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}}

/* Product photography in the Contact hero. */
.contact-page .talk-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.contact-page .talk-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,8,.92) 0%,rgba(7,10,8,.75) 42%,rgba(7,10,8,.2) 100%);pointer-events:none}
.contact-page .talk-grid{display:none}
.contact-page .talk-hero-copy>p{color:#e0e5e1}
@media(max-width:650px){.contact-page .talk-hero::after{background:rgba(7,10,8,.75)}}

/* German compound words must fit narrow cards and headings. */
html[lang="de-DE"] body { overflow-wrap: anywhere; hyphens: auto; }

/* Temporary visibility switch, also present in generated HTML without JavaScript. */
html[data-whatsapp="false"] :is([data-config-whatsapp], .whatsapp-float, .whatsapp-modal, .contact-whatsapp-btn, .footer-whatsapp, a[href*="wa.me/"], a[href*="api.whatsapp.com"], a[href^="whatsapp:"]) { display: none !important; }
html[data-whatsapp="false"] .contact-direct-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 950px) { html[data-whatsapp="false"] .contact-direct-grid { grid-template-columns: 1fr; } }
/* Confirmación de consulta: misma identidad que Contacto. */
.thanks-page .thanks-hero { height: auto; min-height: 0; padding: calc(var(--navbar-height) + clamp(4rem, 8vw, 8rem)) 8.5vw clamp(4rem, 8vw, 7rem); }
.thanks-page .thanks-hero .talk-hero-copy { position: relative; inset: auto; transform: none; max-width: 64rem; }
.thanks-page .thanks-hero h1 { font-size: clamp(2.5rem, 5.8vw, 5.5rem); overflow-wrap: break-word; }
.thanks-page .thanks-hero .button-row { flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; }
.thanks-page .thanks-hero .btn { margin-top: 0; }
.thanks-followup { background: var(--paper, #f5f1e8); }
.thanks-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 3rem; }
.thanks-steps article { border-top: 1px solid var(--line, #cfd5d0); padding-top: 1.5rem; }
.thanks-steps article > span { color: var(--green, #4b8b58); font: .875rem Consolas, monospace; }
.thanks-steps h2 { margin: 1.5rem 0 1rem; font-size: clamp(1.4rem, 2vw, 2rem); color: #18201e; }
.thanks-steps p { color: #5a5f5b; line-height: 1.7; }
@media (max-width: 700px) { .thanks-page .thanks-hero { padding-inline: 24px; } .thanks-steps { grid-template-columns: 1fr; } }
/* La confirmación permanece visible también con movimiento reducido. */
.thanks-page .talk-hero-copy .eyebrow,
.thanks-page .talk-hero-copy h1,
.thanks-page .talk-hero-copy p,
.thanks-page .talk-hero-copy .btn { animation: none; opacity: 1; }

/* Espaciado del texto independiente de la antigua clase lead. */
.solutions-intro-text,
.product-intro-text,
.detail-overview-text {
  align-items: start;
  row-gap: 1.5rem;
}
.solutions-intro-text > p,
.product-intro-text > p,
.detail-overview-text > p {
  min-width: 0;
  margin: 0;
  overflow-wrap: break-word;
}
.detail-overview-text > p:nth-child(n + 3) { grid-column: 1 / -1; }
.company-story > p { margin: 0 0 1.5rem; }
.features-copy > h2 + p,
.timeline-item h2 + p,
.two-column h2 + p,
.docs-content h2 + p {
  margin-top: 1.5rem;
}
.features-copy > h2 + p { margin-bottom: 2rem; }
.timeline-item h2 + p { max-width: 42rem; }
.text-samples > p { margin: 0; }

/* Context icons for solution applications and operational value. */
.solutions-page .solution-context-icon{display:block;width:36px;height:36px;color:var(--green);margin-bottom:20px}
.solutions-page .application-grid .solution-context-icon{margin-top:32px}
.solutions-page .application-grid h3{margin-top:0}

/* Legal navigation and documents on small screens. */
footer.site-footer .footer-legal-row nav { flex-wrap: wrap; }
footer.site-footer .footer-legal-row nav a { display: inline-flex; align-items: center; background: transparent; }
.legal-page .legal-content { min-width: 0; width: 100%; overflow-wrap: anywhere; }
.legal-page .legal-hero-inner > div { min-width: 0; }
.legal-page .legal-hero h1 { overflow-wrap: anywhere; hyphens: auto; }
.legal-page .breadcrumbs a { display: inline; padding: 0; border: 0; background: transparent; }
.legal-page .legal-note > p, .legal-page .cookie-types > article { min-width: 0; }
.legal-page .table-wrapper { max-width: 100%; }
@media(max-width:64rem){
  .legal-page .legal-layout { grid-template-columns: minmax(0,1fr); }
  .legal-page .legal-nav { position: static; display: flex; }
}
@media(max-width:40rem){
  footer.site-footer .footer-legal-row nav { align-items: flex-start; gap: .25rem; }
  footer.site-footer .footer-legal-row nav a { min-height: 44px; color: #c8cfca; }
  .legal-page .legal-section { padding: 2.5rem 0; }
  .legal-page .legal-hero-inner { flex-direction: column; }
  .legal-page .legal-hero h1 { font-size: clamp(2rem,9vw,3rem); }
  .legal-page .legal-hero .breadcrumbs { margin-bottom: 1.5rem; }
  .legal-page .legal-note { grid-template-columns: minmax(0,1fr); }
  .legal-page .cookie-types { grid-template-columns: minmax(0,1fr); }
  .legal-page .legal-content > section { padding-block: 1.75rem; }
}
