:root {
  /* Paleta semántica (sitio siempre en modo claro). */
  --color-brand-blue: #00577A;
  --color-brand-green: #50A339;
  --color-brand-gold: #B89A6A;
  --color-brand-blue-dark: #003D56;
  --color-brand-green-light: #6BC04A;
  --color-granos-accent: #C67C3B;
  --color-bg: #FFFFFF;
  --color-bg-alt: #F4F7F6;
  --color-bg-dark: #00577A;
  --color-bg-dark-deep: #003D56;
  --color-text: #1A1A1A;
  --color-text-muted: #5C6670;
  --color-text-on-dark: #FFFFFF;
  --color-border: #E2E8E6;
  --container-max: 1280px;
  --gutter: 1.5rem;
  --section-y: 5rem;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --shadow-card: 0 4px 24px rgba(0, 87, 122, 0.08);
  --shadow-hover: 0 8px 32px rgba(0, 87, 122, 0.14);
  --header-h: 72px;
  --z-header: 1000;
  --z-float: 1100;
  --header-glass-light: #fff;
  --header-glass-dark: #000;
  --header-glass-blur: blur(24px) saturate(1.75);
  --header-submenu-bg: #fff;
  --header-submenu-bg-dark: #000;
  --dash-bg: linear-gradient(165deg, #eef5f2 0%, #f7f9fb 45%, #edf3f8 100%);
  --dash-glow-a:
    radial-gradient(ellipse 55% 50% at 12% 8%, rgba(80, 163, 57, 0.16) 0%, transparent 58%),
    radial-gradient(ellipse 50% 45% at 88% 92%, rgba(0, 87, 122, 0.14) 0%, transparent 55%);
  --dash-glow-b:
    radial-gradient(ellipse 45% 40% at 72% 18%, rgba(0, 87, 122, 0.1) 0%, transparent 52%),
    radial-gradient(ellipse 40% 38% at 28% 78%, rgba(80, 163, 57, 0.12) 0%, transparent 50%);
  --surface-card: #fff;
  --surface-glass: rgba(255, 255, 255, 0.48);
  --surface-glass-strong: rgba(255, 255, 255, 0.55);
  --surface-glass-soft: rgba(255, 255, 255, 0.52);
  --surface-glass-card: rgba(255, 255, 255, 0.65);
  --surface-glass-border: rgba(255, 255, 255, 0.72);
  --surface-glass-border-strong: rgba(255, 255, 255, 0.75);
  --surface-glass-inset: rgba(255, 255, 255, 0.85);
  --surface-glass-shadow: rgba(0, 61, 86, 0.07);
  --surface-icon-bg: rgba(255, 255, 255, 0.55);
  --surface-icon-border: rgba(255, 255, 255, 0.8);
  --surface-subtle: rgba(255, 255, 255, 0.45);
  --surface-subtle-border: rgba(255, 255, 255, 0.65);
  --surface-cta-bg: rgba(255, 255, 255, 0.35);
  --dash-card-weather: linear-gradient(145deg, rgba(255, 255, 255, 0.62) 0%, rgba(0, 87, 122, 0.1) 100%);
  --dash-card-rain: linear-gradient(145deg, rgba(255, 255, 255, 0.55) 0%, rgba(0, 119, 160, 0.12) 100%);
  --dash-card-events: linear-gradient(145deg, rgba(255, 255, 255, 0.52) 0%, rgba(80, 163, 57, 0.1) 100%);
  --dash-heading: var(--color-brand-blue-dark);
  --dash-value: var(--color-brand-blue-dark);
  --newsletter-bg: var(--color-brand-green);
  --newsletter-input-bg: #fff;
  --newsletter-input-color: var(--color-text);
  --newsletter-input-placeholder: var(--color-text-muted);
  --color-heading: var(--color-brand-blue-dark);
  --color-primary: var(--color-brand-blue);
  --color-accent: var(--color-brand-green);
  /* Bandas invertidas (texto blanco): azul profundo en claro, negro en oscuro */
  --surface-inverse: var(--color-bg-dark-deep);
}

*, *::before, *::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  color-scheme: light;
}
[id] { scroll-margin-top: calc(var(--header-h) + 1rem); }
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] {
  /* Superficies en escala de grises (manual de marca), no azul. */
  --dash-bg: linear-gradient(165deg, #000000 0%, #0a0a0a 45%, #121212 100%);
  --dash-glow-a:
    radial-gradient(ellipse 55% 50% at 12% 8%, rgba(80, 163, 57, 0.1) 0%, transparent 58%),
    radial-gradient(ellipse 50% 45% at 88% 92%, rgba(255, 255, 255, 0.04) 0%, transparent 55%);
  --dash-glow-b:
    radial-gradient(ellipse 45% 40% at 72% 18%, rgba(255, 255, 255, 0.03) 0%, transparent 52%),
    radial-gradient(ellipse 40% 38% at 28% 78%, rgba(107, 192, 74, 0.08) 0%, transparent 50%);
  --surface-card: #1a1a1a;
  --surface-glass: rgba(18, 18, 18, 0.88);
  --surface-glass-strong: rgba(18, 18, 18, 0.92);
  --surface-glass-soft: rgba(18, 18, 18, 0.9);
  --surface-glass-card: rgba(26, 26, 26, 0.94);
  --surface-glass-border: rgba(255, 255, 255, 0.1);
  --surface-glass-border-strong: rgba(255, 255, 255, 0.14);
  --surface-glass-inset: rgba(255, 255, 255, 0.06);
  --surface-glass-shadow: rgba(0, 0, 0, 0.45);
  --surface-icon-bg: rgba(255, 255, 255, 0.08);
  --surface-icon-border: rgba(255, 255, 255, 0.12);
  --surface-subtle: rgba(255, 255, 255, 0.05);
  --surface-subtle-border: rgba(255, 255, 255, 0.1);
  --surface-cta-bg: rgba(255, 255, 255, 0.06);
  --dash-card-weather: linear-gradient(145deg, rgba(26, 26, 26, 0.96) 0%, rgba(255, 255, 255, 0.04) 100%);
  --dash-card-rain: linear-gradient(145deg, rgba(26, 26, 26, 0.96) 0%, rgba(255, 255, 255, 0.03) 100%);
  --dash-card-events: linear-gradient(145deg, rgba(26, 26, 26, 0.96) 0%, rgba(107, 192, 74, 0.1) 100%);
  --dash-heading: var(--color-text);
  --dash-value: var(--color-text);
  --newsletter-bg: #1f3d1a;
  --newsletter-input-bg: rgba(0, 0, 0, 0.55);
  --newsletter-input-color: #fff;
  --newsletter-input-placeholder: rgba(255, 255, 255, 0.65);
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.45);
  --shadow-hover: 0 8px 32px rgba(0, 0, 0, 0.55);
  --color-heading: var(--color-text);
  --color-primary: var(--color-brand-blue);
  --color-accent: var(--color-brand-green);
  --color-brand-blue-dark: #FFFFFF;
  --color-text-muted: #FFFFFF;
  --header-glass-dark: #000;
  --header-submenu-bg: #000;
  --header-submenu-bg-dark: #000;
  --surface-inverse: #000000;
  --color-bg-dark: #000000;
  --color-bg-dark-deep: #000000;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) {
    --dash-bg: linear-gradient(165deg, #000000 0%, #0a0a0a 45%, #121212 100%);
    --dash-glow-a:
      radial-gradient(ellipse 55% 50% at 12% 8%, rgba(80, 163, 57, 0.1) 0%, transparent 58%),
      radial-gradient(ellipse 50% 45% at 88% 92%, rgba(255, 255, 255, 0.04) 0%, transparent 55%);
    --dash-glow-b:
      radial-gradient(ellipse 45% 40% at 72% 18%, rgba(255, 255, 255, 0.03) 0%, transparent 52%),
      radial-gradient(ellipse 40% 38% at 28% 78%, rgba(107, 192, 74, 0.08) 0%, transparent 50%);
    --surface-card: #1a1a1a;
    --surface-glass: rgba(18, 18, 18, 0.88);
    --surface-glass-strong: rgba(18, 18, 18, 0.92);
    --surface-glass-soft: rgba(18, 18, 18, 0.9);
    --surface-glass-card: rgba(26, 26, 26, 0.94);
    --surface-glass-border: rgba(255, 255, 255, 0.1);
    --surface-glass-border-strong: rgba(255, 255, 255, 0.14);
    --surface-glass-inset: rgba(255, 255, 255, 0.06);
    --surface-glass-shadow: rgba(0, 0, 0, 0.45);
    --surface-icon-bg: rgba(255, 255, 255, 0.08);
    --surface-icon-border: rgba(255, 255, 255, 0.12);
    --surface-subtle: rgba(255, 255, 255, 0.05);
    --surface-subtle-border: rgba(255, 255, 255, 0.1);
    --surface-cta-bg: rgba(255, 255, 255, 0.06);
    --dash-card-weather: linear-gradient(145deg, rgba(26, 26, 26, 0.96) 0%, rgba(255, 255, 255, 0.04) 100%);
    --dash-card-rain: linear-gradient(145deg, rgba(26, 26, 26, 0.96) 0%, rgba(255, 255, 255, 0.03) 100%);
    --dash-card-events: linear-gradient(145deg, rgba(26, 26, 26, 0.96) 0%, rgba(107, 192, 74, 0.1) 100%);
    --dash-heading: var(--color-text);
    --dash-value: var(--color-text);
    --newsletter-bg: #1f3d1a;
    --newsletter-input-bg: rgba(0, 0, 0, 0.55);
    --newsletter-input-color: #fff;
    --newsletter-input-placeholder: rgba(255, 255, 255, 0.65);
    --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.45);
    --shadow-hover: 0 8px 32px rgba(0, 0, 0, 0.55);
    --color-heading: var(--color-text);
    --color-primary: var(--color-brand-blue);
    --color-accent: var(--color-brand-green);
    --color-brand-blue-dark: #FFFFFF;
    --color-text-muted: #FFFFFF;
    --header-glass-dark: #000;
    --header-submenu-bg: #000;
    --header-submenu-bg-dark: #000;
    --surface-inverse: #000000;
    --color-bg-dark: #000000;
    --color-bg-dark-deep: #000000;
  }
}
body {
  margin: 0;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-brand-blue); text-decoration: none; }
a:hover { color: var(--color-heading); }

/* Modo oscuro: evitar texto oscuro ilegible sobre fondo negro (Hotel sigue en claro) */
html[data-theme="dark"] main > :not(.svc-hotel) :is(h1, h2, h3, h4, h5, h6, p, li, label, td, th, figcaption, blockquote, dt, dd),
html[data-theme="dark"] main > :not(.svc-hotel):is(h1, h2, h3, h4, h5, h6, p, li, label, td, th, figcaption, blockquote, dt, dd) {
  color: #fff;
}
html[data-theme="dark"] main > :not(.svc-hotel) a:not(.btn):not(.main-nav__portal):not(.main-nav__cta) {
  color: #fff;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) main > :not(.svc-hotel) :is(h1, h2, h3, h4, h5, h6, p, li, label, td, th, figcaption, blockquote, dt, dd),
  html:not([data-theme="light"]):not([data-theme="dark"]) main > :not(.svc-hotel):is(h1, h2, h3, h4, h5, h6, p, li, label, td, th, figcaption, blockquote, dt, dd) {
    color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) main > :not(.svc-hotel) a:not(.btn):not(.main-nav__portal):not(.main-nav__cta) {
    color: #fff;
  }
}

.container {
  width: min(var(--container-max), calc(100% - var(--gutter) * 2));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background: var(--header-glass-light);
  backdrop-filter: var(--header-glass-blur);
  -webkit-backdrop-filter: var(--header-glass-blur);
  border-bottom: 1px solid rgba(255, 255, 255, 0.52);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.72) inset,
    0 8px 32px rgba(0, 61, 86, 0.06);
  min-height: var(--header-h);
}
/* Modo claro: header y submenús opacos al 100% */
html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header--brand,
html[data-theme="light"] .site-header--unit,
html[data-theme="light"] .site-header--on-dark,
html[data-theme="light"] .site-header--menu-open,
html[data-theme="light"] .site-header--menu-open.site-header--on-dark,
html[data-theme="light"] .site-header--menu-open.site-header--unit,
html[data-theme="light"] .site-header--menu-open.site-header--brand {
  background: var(--header-glass-light);
}
html:not([data-theme="dark"]) .site-header--brand,
html:not([data-theme="dark"]) .site-header--unit {
  background: var(--header-glass-light);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header {
    background: #fff;
  }
  .site-header--on-dark {
    background: #000;
  }
  html[data-theme="light"] .site-header--on-dark {
    background: #fff;
  }
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  min-height: var(--header-h);
  gap: clamp(0.5rem, 1.5vw, 1rem);
}
.site-header__logo {
  flex: 0 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
}
.site-header__logo img {
  width: auto;
  max-width: min(210px, 42vw);
}
.site-header__logo-img--light {
  height: clamp(32px, 4vw, 44px);
}
.site-header__logo-img--dark {
  height: 34px;
  max-width: min(210px, 42vw);
}
.site-header__logo-img--dark { display: none; }
.site-header__logo-img--light { display: block; }
.site-header--on-dark .site-header__logo-img--light { display: none; }
.site-header--on-dark .site-header__logo-img--dark { display: block; }
.site-header--on-dark {
  background: var(--header-glass-dark);
  border-bottom-color: rgba(255, 255, 255, 0.16);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.14) inset,
    0 8px 32px rgba(0, 0, 0, 0.16);
}
/* En claro, on-dark también usa vidrio blanco 90% (logo/nav oscuros del brand) */
html[data-theme="light"] .site-header--on-dark {
  background: var(--header-glass-light);
  border-bottom-color: var(--color-border);
  box-shadow: 0 1px 0 rgba(0, 61, 86, 0.04);
}
html[data-theme="light"] .site-header--on-dark .site-header__logo-img--light { display: block; }
html[data-theme="light"] .site-header--on-dark .site-header__logo-img--dark { display: none; }
html[data-theme="light"] .site-header--on-dark .main-nav a,
html[data-theme="light"] .site-header--on-dark .weather-widget,
html[data-theme="light"] .site-header--on-dark .nav-toggle {
  color: var(--color-heading);
}
html[data-theme="light"] .site-header--on-dark .main-nav a:hover {
  color: var(--color-brand-green);
}
.site-header--on-dark .main-nav a { color: #fff; }
.site-header--on-dark .main-nav .main-nav__dropdown-item {
  color: var(--color-heading);
}
.site-header--on-dark .main-nav .main-nav__dropdown-item:hover,
.site-header--on-dark .main-nav .main-nav__dropdown-item.is-active {
  color: var(--color-brand-green);
}
.site-header--on-dark .main-nav__dropdown-menu,
.site-header--brand.site-header--on-dark .main-nav__dropdown-menu {
  background: var(--header-submenu-bg);
}
html[data-theme="dark"] .site-header--on-dark .main-nav .main-nav__dropdown-item,
html[data-theme="dark"] .site-header--brand.site-header--on-dark .main-nav .main-nav__dropdown-item {
  color: #fff;
}
html[data-theme="dark"] .site-header--on-dark .main-nav .main-nav__dropdown-item:hover,
html[data-theme="dark"] .site-header--on-dark .main-nav .main-nav__dropdown-item.is-active,
html[data-theme="dark"] .site-header--brand.site-header--on-dark .main-nav .main-nav__dropdown-item:hover,
html[data-theme="dark"] .site-header--brand.site-header--on-dark .main-nav .main-nav__dropdown-item.is-active {
  color: var(--color-brand-green-light);
}
html[data-theme="dark"] .site-header--on-dark .main-nav__dropdown-menu,
html[data-theme="dark"] .site-header--brand.site-header--on-dark .main-nav__dropdown-menu {
  background: var(--header-submenu-bg-dark);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--on-dark .main-nav .main-nav__dropdown-item,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand.site-header--on-dark .main-nav .main-nav__dropdown-item {
    color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--on-dark .main-nav .main-nav__dropdown-item:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--on-dark .main-nav .main-nav__dropdown-item.is-active,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand.site-header--on-dark .main-nav .main-nav__dropdown-item:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand.site-header--on-dark .main-nav .main-nav__dropdown-item.is-active {
    color: var(--color-brand-green-light);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--on-dark .main-nav__dropdown-menu,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand.site-header--on-dark .main-nav__dropdown-menu {
    background: var(--header-submenu-bg-dark);
  }
}
.site-header--on-dark .main-nav a:hover { color: var(--color-brand-green-light); }
.site-header--on-dark .weather-widget { color: #fff; }
.site-header--on-dark .nav-toggle { color: #fff; }
html[data-theme="dark"] .site-header:not(.site-header--on-dark) {
  background: var(--header-glass-dark);
  border-bottom-color: rgba(255, 255, 255, 0.1);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 8px 32px rgba(0, 0, 0, 0.28);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) {
    background: var(--header-glass-dark);
    border-bottom-color: rgba(255, 255, 255, 0.1);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.06) inset,
      0 8px 32px rgba(0, 0, 0, 0.28);
  }
}
html[data-theme="dark"] .site-header:not(.site-header--on-dark) .site-header__logo-img--light { display: none; }
html[data-theme="dark"] .site-header:not(.site-header--on-dark) .site-header__logo-img--dark { display: block; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) .site-header__logo-img--light { display: none; }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) .site-header__logo-img--dark { display: block; }
}
html[data-theme="dark"] .site-header:not(.site-header--on-dark) .main-nav a,
html[data-theme="dark"] .site-header:not(.site-header--on-dark) .weather-widget,
html[data-theme="dark"] .site-header:not(.site-header--on-dark) .nav-toggle {
  color: var(--color-text);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) .main-nav a,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) .weather-widget,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) .nav-toggle {
    color: var(--color-text);
  }
}
html[data-theme="dark"] .site-header:not(.site-header--on-dark) .main-nav a:hover {
  color: var(--color-brand-green-light);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) .main-nav a:hover {
    color: var(--color-brand-green-light);
  }
}
html[data-theme="dark"] .site-header:not(.site-header--on-dark) .weather-widget:hover,
html[data-theme="dark"] .site-header:not(.site-header--on-dark) .weather-widget-wrap.is-open .weather-widget {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) .weather-widget:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) .weather-widget-wrap.is-open .weather-widget {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
  }
}
html[data-theme="dark"] .site-header:not(.site-header--on-dark) .weather-widget__icon i {
  color: var(--color-brand-green-light);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header:not(.site-header--on-dark) .weather-widget__icon i {
    color: var(--color-brand-green-light);
  }
}
.main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  min-width: 0;
  gap: clamp(0.45rem, 1.1vw, 1.1rem);
}
.main-nav > .main-nav__link,
.main-nav > .main-nav__dropdown,
.main-nav > .main-nav__portal {
  display: inline-flex;
  align-items: center;
  align-self: center;
  height: 2.35rem;
}
.main-nav a {
  font-weight: 600;
  font-size: clamp(0.78rem, 0.95vw, 0.9rem);
  color: var(--color-text);
  white-space: nowrap;
}
.main-nav a:hover { color: var(--color-brand-green); }
.main-nav__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  background: var(--color-brand-green);
  color: #fff !important;
  font-weight: 700;
  line-height: 1.2;
  transition: background 0.2s ease, transform 0.2s ease;
}
.main-nav__cta:hover {
  background: #449830;
  color: #fff !important;
  transform: translateY(-1px);
}
.site-header--on-dark .main-nav__cta:hover { color: #fff !important; }

/* Ã¢â‚¬â€Ã¢â‚¬â€ Header marca (diseÃƒÂ±o 2026) Ã¢â‚¬â€Ã¢â‚¬â€ */
.site-header__logo-img--unit,
.site-footer__logo-img--unit {
  width: auto;
  max-width: 210px;
  height: 46px;
  object-fit: contain;
  object-position: left center;
}
.site-header--unit .site-header__logo-img--unit {
  filter: none;
}
.site-header--unit .site-header__logo-img--unit-dark {
  display: none;
}
html[data-theme="dark"] .site-header--unit .site-header__logo-img--unit-light {
  display: none;
}
html[data-theme="dark"] .site-header--unit .site-header__logo-img--unit-dark {
  display: block;
}
html[data-theme="dark"] .site-header--unit:not(:has(.site-header__logo-img--unit-dark)) .site-header__logo-img--unit-light {
  display: block;
  filter: brightness(0) invert(1);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .site-header__logo-img--unit-light {
    display: none;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .site-header__logo-img--unit-dark {
    display: block;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit:not(:has(.site-header__logo-img--unit-dark)) .site-header__logo-img--unit-light {
    display: block;
    filter: brightness(0) invert(1);
  }
}
.landing-unit-logo {
  object-fit: contain !important;
  object-position: center;
  background: rgba(255, 255, 255, 0.92);
  padding: 0.75rem 1rem;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Header por unidad de negocio: blanco + acento de secciÃƒÂ³n Ã¢â‚¬â€Ã¢â‚¬â€ */
.site-header--unit {
  --header-unit-primary: var(--unit-primary, #00577A);
  --header-unit-accent: var(--unit-accent, #50A339);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: var(--header-glass-light);
  backdrop-filter: var(--header-glass-blur);
  -webkit-backdrop-filter: var(--header-glass-blur);
  border-bottom: 1px solid var(--color-border);
  box-shadow: 0 1px 0 rgba(0, 61, 86, 0.04);
}
.site-header--unit .main-nav__link,
.site-header--unit .main-nav__dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 0;
  height: 100%;
  min-height: 2.35rem;
  padding: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-weight: 700;
  font-size: clamp(0.68rem, 0.85vw, 0.78rem);
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  box-sizing: border-box;
  color: var(--header-unit-primary);
}
.site-header--unit .main-nav__link:hover,
.site-header--unit .main-nav__dropdown-toggle:hover,
.site-header--unit .main-nav__dropdown.is-open .main-nav__dropdown-toggle {
  color: var(--header-unit-accent);
}
.site-header--unit .main-nav__link.is-active::after,
.site-header--unit .main-nav__dropdown.is-active > .main-nav__dropdown-toggle::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.15rem;
  height: 3px;
  background: var(--header-unit-accent);
  border-radius: 2px;
}
.site-header--unit .main-nav__chevron {
  font-size: 0.62rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s ease;
}
.site-header--unit .main-nav__dropdown.is-open .main-nav__chevron {
  transform: rotate(180deg);
}
.site-header--unit .main-nav__dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 2.35rem;
}
.site-header--unit .main-nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 0.85rem);
  left: 50%;
  transform: translateX(-50%);
  min-width: 12.5rem;
  padding: 0.45rem 0;
  background: var(--header-submenu-bg);
  backdrop-filter: var(--header-glass-blur);
  -webkit-backdrop-filter: var(--header-glass-blur);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-hover);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease;
  z-index: 130;
}
.site-header--unit .main-nav__dropdown.is-open .main-nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.site-header--unit .main-nav__dropdown-item {
  display: block;
  padding: 0.55rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--header-unit-primary);
  text-decoration: none;
}
.site-header--unit .main-nav__dropdown-item:hover,
.site-header--unit .main-nav__dropdown-item.is-active {
  background: color-mix(in srgb, var(--header-unit-accent) 14%, transparent);
  color: var(--header-unit-accent);
}
.site-header--unit .main-nav__portal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  height: 2.35rem;
  min-height: 2.35rem;
  padding: 0 0.95rem;
  border: 2px solid var(--header-unit-accent);
  border-radius: 999px;
  font-size: clamp(0.68rem, 0.85vw, 0.76rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  box-sizing: border-box;
  color: var(--header-unit-accent) !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.site-header--unit .main-nav__portal:hover {
  background: var(--header-unit-accent);
  border-color: var(--header-unit-accent);
  color: #fff !important;
}
.site-header--unit .main-nav__portal-icon {
  display: inline-flex;
  align-items: center;
  font-size: 0.85em;
  line-height: 1;
}
.site-header--unit .nav-toggle {
  color: var(--header-unit-primary);
}
.site-header--unit .weather-widget {
  color: var(--header-unit-primary);
}
.site-header--unit .weather-widget__icon i {
  color: var(--header-unit-accent);
}
html[data-theme="dark"] .site-header--unit {
  background: var(--header-glass-dark);
  border-bottom-color: var(--color-border);
  box-shadow: 0 1px 0 rgba(0, 61, 86, 0.04);
}
html[data-theme="dark"] .site-header--unit .main-nav__link,
html[data-theme="dark"] .site-header--unit .main-nav__dropdown-toggle,
html[data-theme="dark"] .site-header--unit .main-nav__chevron,
html[data-theme="dark"] .site-header--unit .main-nav__dropdown-item,
html[data-theme="dark"] .site-header--unit .nav-toggle,
html[data-theme="dark"] .site-header--unit .weather-widget,
html[data-theme="dark"] .site-header--unit .weather-widget__icon i {
  color: #fff !important;
}
html[data-theme="dark"] .site-header--unit .main-nav__link:hover,
html[data-theme="dark"] .site-header--unit .main-nav__dropdown-toggle:hover,
html[data-theme="dark"] .site-header--unit .main-nav__dropdown.is-open .main-nav__dropdown-toggle,
html[data-theme="dark"] .site-header--unit .main-nav__link.is-active,
html[data-theme="dark"] .site-header--unit .main-nav__dropdown.is-active > .main-nav__dropdown-toggle,
html[data-theme="dark"] .site-header--unit .main-nav__dropdown-item:hover,
html[data-theme="dark"] .site-header--unit .main-nav__dropdown-item.is-active {
  color: #fff !important;
}
html[data-theme="dark"] .site-header--unit .main-nav__dropdown-item:hover,
html[data-theme="dark"] .site-header--unit .main-nav__dropdown-item.is-active {
  background: rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .site-header--unit .main-nav__dropdown-menu {
  background: var(--header-submenu-bg-dark);
  border-color: var(--color-border);
}
html[data-theme="dark"] .site-header--unit .main-nav__portal {
  color: #fff !important;
  border-color: #fff;
}
html[data-theme="dark"] .site-header--unit .main-nav__portal:hover {
  background: #fff;
  border-color: #fff;
  color: #000 !important;
}
html[data-theme="dark"] .site-header--unit .main-nav__link.is-active::after,
html[data-theme="dark"] .site-header--unit .main-nav__dropdown.is-active > .main-nav__dropdown-toggle::after {
  background: #fff;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit {
    background: var(--header-glass-dark);
    border-bottom-color: var(--color-border);
    box-shadow: 0 1px 0 rgba(0, 61, 86, 0.04);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__link,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-toggle,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__chevron,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-item,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .nav-toggle,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .weather-widget,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .weather-widget__icon i {
    color: #fff !important;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__link:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-toggle:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown.is-open .main-nav__dropdown-toggle,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__link.is-active,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown.is-active > .main-nav__dropdown-toggle,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-item:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-item.is-active {
    color: #fff !important;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-item:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-item.is-active {
    background: rgba(255, 255, 255, 0.08);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-menu {
    background: var(--header-submenu-bg-dark);
    border-color: var(--color-border);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__portal {
    color: #fff !important;
    border-color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__portal:hover {
    background: #fff;
    border-color: #fff;
    color: #000 !important;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__link.is-active::after,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown.is-active > .main-nav__dropdown-toggle::after {
    background: #fff;
  }
}

/* Landings de unidades */
body:has(main > .granos-landing:first-child),
body:has(main > .agro-landing:first-child) {
  background: #F5F9F4;
}
html[data-theme="dark"] body:has(main > .agro-landing:first-child),
html[data-theme="dark"] body:has(main > .granos-landing:first-child) {
  background: var(--color-bg);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) body:has(main > .agro-landing:first-child),
  html:not([data-theme="light"]):not([data-theme="dark"]) body:has(main > .granos-landing:first-child) {
    background: var(--color-bg);
  }
}
body:has(main > .energia-landing:first-child) {
  background: var(--color-bg);
}
html[data-theme="dark"] body:has(main > .energia-landing:first-child) {
  background: var(--color-bg);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) body:has(main > .energia-landing:first-child) {
    background: var(--color-bg);
  }
}
body:has(main > .nutricion-landing:first-child) {
  background: #F9F7F2;
}
html[data-theme="dark"] body:has(main > .nutricion-landing:first-child) {
  background: var(--color-bg);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) body:has(main > .nutricion-landing:first-child) {
    background: var(--color-bg);
  }
}

.granos-hero__media,
.nutricion-hero__media,
.energia-hero__media,
.agro-hero__media {
  top: -1px;
  height: calc(100% + 1px);
}

.site-header--brand {
  background: var(--header-glass-light);
  backdrop-filter: var(--header-glass-blur);
  -webkit-backdrop-filter: var(--header-glass-blur);
  border-bottom: 1px solid var(--color-border);
  box-shadow: 0 1px 0 rgba(0, 61, 86, 0.04);
}
.site-header--brand .site-header__logo-img--light { display: block; }
.site-header--brand .site-header__logo-img--dark { display: none; }
.site-header--brand .main-nav__link,
.site-header--brand .main-nav__dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 0;
  height: 100%;
  min-height: 2.35rem;
  padding: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-weight: 700;
  font-size: clamp(0.68rem, 0.85vw, 0.78rem);
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-heading);
  text-decoration: none;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  box-sizing: border-box;
}
.site-header--brand .main-nav__link:hover,
.site-header--brand .main-nav__dropdown-toggle:hover,
.site-header--brand .main-nav__dropdown.is-open .main-nav__dropdown-toggle {
  color: var(--color-brand-green);
}
.site-header--brand .main-nav__link.is-active::after,
.site-header--brand .main-nav__dropdown.is-active > .main-nav__dropdown-toggle::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.15rem;
  height: 3px;
  background: var(--color-brand-green);
  border-radius: 2px;
}
.site-header--brand .main-nav__chevron {
  font-size: 0.62rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s ease;
}
.site-header--brand .main-nav__dropdown.is-open .main-nav__chevron {
  transform: rotate(180deg);
}
.site-header--brand .main-nav__dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 2.35rem;
}
.site-header--brand .main-nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 0.85rem);
  left: 50%;
  transform: translateX(-50%);
  min-width: 12.5rem;
  padding: 0.45rem 0;
  background: var(--header-submenu-bg);
  backdrop-filter: var(--header-glass-blur);
  -webkit-backdrop-filter: var(--header-glass-blur);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-hover);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease;
  z-index: 130;
}
.site-header--brand .main-nav__dropdown.is-open .main-nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.site-header--brand .main-nav__dropdown-item {
  display: block;
  padding: 0.55rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--color-heading);
  text-decoration: none;
}
.site-header--brand .main-nav__dropdown-item:hover,
.site-header--brand .main-nav__dropdown-item.is-active {
  background: color-mix(in srgb, var(--color-brand-green) 12%, transparent);
  color: var(--color-brand-green);
}
/* Tema oscuro: header brand oscuro + logo claro. */
html[data-theme="dark"] .site-header--brand {
  background: var(--header-glass-dark);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
html[data-theme="dark"] .site-header--brand .site-header__logo-img--light { display: none; }
html[data-theme="dark"] .site-header--brand .site-header__logo-img--dark { display: block; }
html[data-theme="dark"] .site-header--brand .main-nav__link,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-toggle,
html[data-theme="dark"] .site-header--brand .main-nav__chevron,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-item,
html[data-theme="dark"] .site-header--brand .weather-widget,
html[data-theme="dark"] .site-header--brand .nav-toggle {
  color: #fff !important;
}
html[data-theme="dark"] .site-header--brand .main-nav__link:hover,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-toggle:hover,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown.is-open .main-nav__dropdown-toggle,
html[data-theme="dark"] .site-header--brand .main-nav__link.is-active,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown.is-active > .main-nav__dropdown-toggle,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-item:hover,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-item.is-active {
  color: #fff !important;
}
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-item:hover,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-item.is-active {
  background: rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-toggle {
  color: #fff !important;
}
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-toggle:hover,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown.is-open .main-nav__dropdown-toggle {
  color: #fff !important;
}
html[data-theme="dark"] .site-header--brand .main-nav__portal {
  color: #fff !important;
  border-color: #fff;
}
html[data-theme="dark"] .site-header--brand .main-nav__portal:hover {
  background: #fff;
  border-color: #fff;
  color: #000 !important;
}
html[data-theme="dark"] .site-header--brand .main-nav__link.is-active::after,
html[data-theme="dark"] .site-header--brand .main-nav__dropdown.is-active > .main-nav__dropdown-toggle::after {
  background: #fff;
}
html[data-theme="dark"] .site-header--brand .main-nav__dropdown-menu {
  background: var(--header-submenu-bg-dark);
  border-color: var(--color-border);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand {
    background: var(--header-glass-dark);
    border-bottom-color: rgba(255, 255, 255, 0.1);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .site-header__logo-img--light { display: none; }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .site-header__logo-img--dark { display: block; }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__link,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-toggle,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__chevron,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-item,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .weather-widget,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .nav-toggle {
    color: #fff !important;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__link:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-toggle:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown.is-open .main-nav__dropdown-toggle,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__link.is-active,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown.is-active > .main-nav__dropdown-toggle,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-item:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-item.is-active {
    color: #fff !important;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-item:hover,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-item.is-active {
    background: rgba(255, 255, 255, 0.08);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-menu {
    background: var(--header-submenu-bg-dark);
    border-color: var(--color-border);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__portal {
    color: #fff !important;
    border-color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__portal:hover {
    background: #fff;
    border-color: #fff;
    color: #000 !important;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__link.is-active::after,
  html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown.is-active > .main-nav__dropdown-toggle::after {
    background: #fff;
  }
}
.site-header--brand .main-nav__portal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  height: 2.35rem;
  min-height: 2.35rem;
  padding: 0 0.95rem;
  border: 2px solid var(--color-brand-green);
  border-radius: 999px;
  font-size: clamp(0.68rem, 0.85vw, 0.76rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-brand-green) !important;
  text-decoration: none;
  box-sizing: border-box;
  transition: background 0.2s ease, color 0.2s ease;
}
.site-header--brand .main-nav__portal:hover {
  background: var(--color-brand-green);
  color: #fff !important;
}
.site-header--brand .main-nav__portal-icon {
  display: inline-flex;
  align-items: center;
  font-size: 0.85em;
  line-height: 1;
}

.weather-widget-wrap {
  position: relative;
  flex: 0 0 auto;
  z-index: 120;
}
.weather-widget {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  padding: 0.35rem 0.55rem;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-brand-blue);
  white-space: nowrap;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.weather-widget:hover,
.weather-widget-wrap.is-open .weather-widget {
  background: rgba(0, 87, 122, 0.06);
  border-color: rgba(0, 87, 122, 0.12);
}
.site-header--on-dark .weather-widget:hover,
.site-header--on-dark .weather-widget-wrap.is-open .weather-widget {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
.weather-widget__icon {
  font-size: 1rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}
.weather-widget__icon i {
  color: var(--color-brand-blue);
}
.site-header--on-dark .weather-widget__icon i {
  color: #fff;
}
.weather-widget__temp {
  font-variant-numeric: tabular-nums;
}
.weather-widget__chev {
  display: inline-flex;
  font-size: 0.62rem;
  opacity: 0.65;
  transition: transform 0.2s ease;
}
.weather-widget-wrap.is-open .weather-widget__chev {
  transform: rotate(180deg);
}

.weather-panel {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  width: min(22rem, calc(100vw - var(--gutter) * 2));
  padding: 0;
  background: var(--surface-card);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: 0 16px 48px rgba(0, 61, 86, 0.16);
  overflow: hidden;
  transform-origin: top right;
  animation: weather-panel-in 0.22s ease-out;
}
@keyframes weather-panel-in {
  from { opacity: 0; transform: translateY(-6px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .weather-panel { animation: none; }
}
.weather-panel__head {
  padding: 0.65rem 1rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-brand-blue);
  background: var(--color-bg-alt);
  border-bottom: 1px solid var(--color-border);
}
.weather-panel__head .fa-solid { margin-right: 0.35rem; }
.weather-panel__list {
  list-style: none;
  margin: 0;
  padding: 0.35rem 0;
}
.weather-panel__item {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid var(--color-border);
}
.weather-panel__item:last-child { border-bottom: none; }
.weather-panel__item--primary {
  background: rgba(0, 87, 122, 0.04);
}
.weather-panel__main {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}
.weather-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  font-size: 1rem;
  color: var(--color-brand-blue);
  background: rgba(0, 87, 122, 0.08);
  border-radius: 8px;
}
.weather-panel__body {
  flex: 1;
  min-width: 0;
}
.weather-panel__place {
  display: block;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--color-heading);
}
.weather-panel__desc {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--color-text-muted);
  text-transform: capitalize;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.weather-panel__temp {
  font-size: 1.35rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--color-heading);
  line-height: 1;
}
.weather-panel__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  list-style: none;
  margin: 0.45rem 0 0 2.65rem;
  padding: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-text-muted);
}
.weather-panel__meta .fa-solid {
  margin-right: 0.25rem;
  color: var(--color-brand-blue);
  opacity: 0.75;
}
.nav-toggle {
  display: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: none;
  border: none;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  color: var(--color-brand-blue);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.875rem 1.75rem;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-family: inherit;
  font-size: 0.95rem;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform 0.2s, background 0.2s;
}
.btn--primary {
  background: var(--color-brand-green);
  color: #fff;
}
.btn--primary:hover { background: #449830; color: #fff; transform: translateY(-1px); }
.btn--secondary {
  background: transparent;
  border-color: var(--color-brand-blue);
  color: var(--color-brand-blue);
}
.btn--ghost {
  background: transparent;
  color: var(--color-brand-blue);
  padding: 0.75rem 1.5rem;
}
.form-honeypot,
.personas-form__honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(135deg, var(--color-bg-dark-deep) 0%, var(--color-brand-blue) 60%, #007a5e 100%);
  color: var(--color-text-on-dark);
  overflow: hidden;
  padding: 2rem 0;
}
.hero__grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 2rem;
  align-items: center;
  position: relative;
  z-index: 1;
}
.hero__media { margin: 0; }
.hero__photo,
.hero__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.25);
}
.home-banner { margin: 0 0 0.5rem; }
.home-banner__img,
.zones-grid__img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  display: block;
}
.zones-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
}
.zone-card {
  background: var(--surface-card);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--shadow-card);
  margin-bottom: 1rem;
  border: 1px solid var(--color-border);
}
.branch-card {
  background: var(--color-bg);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.35rem;
  box-shadow: var(--shadow-card);
  margin-bottom: 1rem;
  border: 1px solid var(--color-border);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.branch-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}
.branch-card__zone,
.zone-card__label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--color-brand-green);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.branch-card__name,
.branch-card h3,
.zone-card h3 {
  margin: 0.35rem 0 0.65rem;
  color: var(--color-heading);
  font-size: 1.05rem;
  font-weight: 800;
}
.branch-card__row {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0 0 0.45rem;
  color: var(--color-text-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}
.branch-card__row--muted {
  padding-left: 1.35rem;
  margin-top: -0.15rem;
}
.branch-card__icon {
  flex-shrink: 0;
  width: 1rem;
  margin-top: 0.15rem;
  color: var(--color-brand-green);
  font-size: 0.85rem;
  text-align: center;
}
.branch-card p,
.zone-card p { margin: 0 0 0.35rem; color: var(--color-text-muted); font-size: 0.92rem; }
.branch-card a { color: var(--color-brand-blue); font-weight: 600; text-decoration: none; }
.branch-card a:hover { color: var(--color-heading); }
.social-links { margin-top: 1.5rem; }
.social-links__title { font-weight: 700; margin: 0 0 0.75rem; color: inherit; }
.site-footer .social-links__title { color: #fff; }
.social-links__list { display: flex; gap: 0.75rem 1.25rem; flex-wrap: wrap; }
.social-links__list a {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--color-brand-green);
}
.site-footer .social-links__list a { color: var(--color-brand-green-light); }
.site-footer .social-links__list a:hover { color: #fff; }
.card__img img,
.card__img picture { width: 100%; height: 100%; display: block; }
.card__img img { object-fit: cover; aspect-ratio: 16/9; }
.card__img--placeholder {
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, #00577A, #50A339);
}
.page-hero--image {
  position: relative;
  padding: 0;
  min-height: 280px;
  overflow: hidden;
}
.page-hero__img,
.page-hero--image img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}
.page-hero__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding-bottom: 2rem;
  background: linear-gradient(transparent 30%, rgba(0, 61, 86, 0.85));
}
.page-hero__overlay h1 { color: #fff; margin: 0; }
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../brand/hero-pattern.svg') center/cover;
  opacity: 0.08;
}
.hero__content { position: relative; padding: 4rem 0; max-width: 640px; }
.hero__tagline {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-brand-green-light);
  margin-bottom: 1rem;
}
.hero h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 1.5rem;
}
.hero h1 em { font-style: italic; font-weight: 900; color: var(--color-brand-green-light); }

main > .hero-slider:first-child,
main > .home-hero:first-child,
main > .page-hero:first-child,
main > .hero:first-child {
  margin-top: calc(-1 * var(--header-h));
  padding-top: var(--header-h);
}
main > .page-hero:first-child {
  padding-top: calc(var(--header-h) + clamp(2.75rem, 4vw, 3.5rem));
  padding-bottom: clamp(2.5rem, 4vw, 3.25rem);
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Hero inicio (diseÃƒÂ±o 2026) Ã¢â‚¬â€Ã¢â‚¬â€ */
.home-hero {
  position: relative;
  min-height: clamp(520px, 82vh, 760px);
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--color-bg-dark-deep);
}
.home-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.home-hero__media picture,
.home-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 56%;
  display: block;
}
@media (prefers-reduced-motion: no-preference) {
  html.anim-enabled:not(.anim-no-decorative) .home-hero__media picture img,
  html.anim-enabled:not(.anim-no-decorative) .home-hero__media > .home-hero__img {
    animation: page-split-drone 14s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    transform-origin: 58% 42%;
    will-change: transform;
  }
}
.home-hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      rgba(0, 35, 50, 0.94) 0%,
      rgba(0, 35, 50, 0.78) 32%,
      rgba(0, 35, 50, 0.34) 58%,
      rgba(0, 35, 50, 0.08) 82%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 35, 50, 0.05) 40%, rgba(0, 35, 50, 0.42) 100%);
}
.home-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 4.5rem) var(--gutter);
}
.home-hero__copy {
  max-width: 36rem;
  margin-right: auto;
  text-align: left;
}
.home-hero__title {
  margin: 0 0 1.25rem;
  font-size: clamp(2.2rem, 5.4vw, 4.15rem);
  font-weight: 800;
  line-height: 1.08;
  text-wrap: balance;
  text-align: left;
}
.home-hero__title-accent {
  color: var(--hero-accent, var(--color-brand-green-light));
}
.home-hero__text {
  margin: 0 0 0.85rem;
  font-size: clamp(0.95rem, 1.8vw, 1.08rem);
  line-height: 1.65;
  max-width: 48ch;
  text-wrap: pretty;
  opacity: 0.96;
}
.home-hero__text--secondary {
  margin-bottom: 1.5rem;
  font-weight: 500;
  max-width: 52ch;
}
.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
}
.home-hero__cta {
  min-height: 46px;
  padding-inline: 1.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.home-hero__photo-note {
  position: absolute;
  right: clamp(1.25rem, 5vw, 5rem);
  bottom: 1.5rem;
  z-index: 2;
  margin: 0;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(0, 35, 50, 0.58);
  font-size: 0.72rem;
  font-weight: 600;
}
@media (max-width: 760px) {
  .home-hero__media picture,
  .home-hero__img {
    object-position: 58% center;
  }
  .home-hero__shade {
    background: linear-gradient(180deg, rgba(0, 35, 50, 0.22) 5%, rgba(0, 35, 50, 0.94) 72%);
  }
  .home-hero__photo-note {
    display: none;
  }
}
.btn--ghost-light {
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.88);
  color: #fff;
  min-height: 46px;
  padding-inline: 1.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.btn--ghost-light:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Inicio: informaciÃƒÂ³n en tiempo real Ã¢â‚¬â€Ã¢â‚¬â€ */
.home-rt {
  background: var(--color-bg-alt);
  padding: clamp(2.5rem, 5vw, 3.75rem) 0;
}
.home-rt,
.home-rt * {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.home-rt__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}
.home-rt__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 0.5rem;
}
.home-rt__title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-heading);
}
.home-rt__subtitle {
  margin: 0;
  font-size: clamp(0.92rem, 1.4vw, 1.02rem);
  line-height: 1.55;
  color: var(--color-text-muted);
  max-width: 22ch;
}
.home-rt-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: var(--surface-card);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0, 35, 50, 0.05);
  padding: 1.15rem 1.2rem 1rem;
  transition: none;
  animation: none;
}
.home-rt-card__head {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}
.home-rt-card__icon {
  font-size: 1.05rem;
  width: 1.25rem;
  text-align: center;
}
.home-rt-card__icon--weather { color: #f5b942; }
.home-rt-card__icon--dollar,
.home-rt-card__icon--grain,
.home-rt-card__icon--portal { color: var(--color-brand-green); }
.home-rt-card__label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-brand-blue);
}
.home-rt-card__body {
  flex: 1 1 auto;
}
.home-rt-card__place {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  color: var(--color-text-muted);
}
.home-rt-card__pin {
  color: var(--color-brand-blue);
  font-size: 0.75rem;
}
.home-rt-card__value {
  margin: 0 0 0.25rem;
  font-size: clamp(1.85rem, 3vw, 2.25rem);
  font-weight: 800;
  line-height: 1;
  color: var(--color-heading);
}
.home-rt-card__meta {
  margin: 0 0 0.2rem;
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--color-text-muted);
}
.home-rt-card__meta--strong {
  color: var(--color-brand-blue);
  font-weight: 700;
  margin-bottom: 0.55rem;
}
.home-rt-card__meta--rain {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
  color: var(--color-brand-blue);
}
.home-rt-card__rain-icon {
  color: var(--color-brand-blue);
  font-size: 0.78rem;
}
.home-rt-card__source {
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-brand-blue);
}
.home-rt-card__text {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--color-text-muted);
}
.home-rt-card__foot {
  margin-top: 0.85rem;
  padding-top: 0.65rem;
}
.home-rt-card__foot--muted {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  color: #7a8490;
}
.home-rt-card__clock {
  font-size: 0.75rem;
  opacity: 0.85;
}
.home-rt-card__link {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--color-brand-green);
}
.home-rt-card__link:hover {
  color: var(--color-heading);
}
.home-rt-card__btn {
  width: 100%;
  justify-content: center;
  min-height: 42px;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.home-rt-dollar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
.home-rt-dollar-stack {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.home-rt-dollar-block + .home-rt-dollar-block {
  padding-top: 0.85rem;
  border-top: 1px solid rgba(15, 45, 80, 0.1);
}
.home-rt-dollar-block .home-rt-card__meta {
  margin-bottom: 0.45rem;
}
.home-rt-card--dollar-dual .home-rt-dollar__val {
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}
.home-rt-dollar__key {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-brand-blue);
}
.home-rt-dollar__val {
  display: block;
  font-size: clamp(1.35rem, 2.2vw, 1.65rem);
  font-weight: 800;
  line-height: 1;
  color: var(--color-brand-blue);
}
.home-rt-grain {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  min-width: 0;
}
.home-rt-grain__row {
  display: grid;
  grid-template-columns: 0.9rem minmax(0, 1fr) max-content;
  column-gap: 0.45rem;
  row-gap: 0.08rem;
  align-items: center;
  width: 100%;
  min-width: 0;
}
.home-rt-grain__icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  color: var(--color-brand-green);
  font-size: 0.75rem;
  width: 0.9rem;
  line-height: 1;
  text-align: center;
  align-self: center;
}
.home-rt-grain__crop {
  grid-column: 2;
  grid-row: 1;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--color-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-rt-grain__price {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: baseline;
  gap: 0.22rem;
  min-width: 0;
}
.home-rt-grain__currency {
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--color-brand-blue);
  white-space: nowrap;
}
.home-rt-grain__amount {
  font-size: 0.78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--color-heading);
  white-space: nowrap;
}
.home-rt-grain__var {
  grid-column: 3;
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.12rem;
  font-size: 0.7rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  line-height: 1;
  align-self: center;
}
.home-rt-grain__var--empty {
  visibility: hidden;
  min-width: 2.6rem;
}
.home-rt-grain__var--up { color: var(--color-brand-green); }
.home-rt-grain__var--down { color: #c0392b; }
.home-rt-grain__arrow {
  font-size: 0.62rem;
  width: 0.62rem;
  text-align: center;
}
.home-rt-card--grain {
  min-width: 0;
  padding: 1.15rem 1.45rem 1rem 1.1rem;
}
.home-rt-card--grain .home-rt-card__body,
.home-rt-card--grain .home-rt-grain {
  min-width: 0;
}

@media (max-width: 1200px) {
  .home-rt__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-rt__intro {
    grid-column: 1 / -1;
    padding-right: 0;
    margin-bottom: 0.25rem;
  }
  .home-rt__subtitle {
    max-width: 42ch;
  }
}
@media (max-width: 640px) {
  .home-rt__layout {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Inicio: construyendo confianza Ã¢â‚¬â€Ã¢â‚¬â€ */
.home-trust {
  background: var(--color-bg);
  padding: clamp(2.75rem, 5vw, 4.25rem) 0;
}
.home-trust,
.home-trust * {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.home-trust__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: center;
}
.home-trust__layout--with-gallery {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(1.75rem, 3.5vw, 3rem);
  align-items: stretch;
}
.home-trust__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(1.5rem, 2.5vw, 2.25rem);
  min-width: 0;
  align-self: start;
}
.home-trust__kicker {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-brand-green);
}
.home-trust__title {
  margin: 0 0 1rem;
  font-size: clamp(1.65rem, 2.8vw, 2.35rem);
  font-weight: 800;
  line-height: 1.12;
  color: var(--color-heading);
  text-wrap: balance;
}
.home-trust__body {
  margin: 0;
  font-size: clamp(0.92rem, 1.35vw, 1rem);
  line-height: 1.65;
  color: var(--color-text-muted);
  max-width: 48ch;
  display: grid;
  gap: 0.85rem;
}
.home-trust__body p {
  margin: 0;
  text-wrap: pretty;
}
.home-trust__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr));
  gap: 0;
  align-items: stretch;
  max-width: 36rem;
}
.home-trust-stat {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  padding: 0.35rem clamp(0.45rem, 1vw, 0.85rem);
  min-height: 100%;
}
.home-trust-stat:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 0.35rem;
  right: 0;
  width: 1px;
  height: calc(100% - 0.7rem);
  background: rgba(0, 61, 86, 0.12);
}
.home-trust-stat__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  margin-bottom: 0.7rem;
}
.home-trust-stat__icon {
  font-size: clamp(2.25rem, 3.4vw, 2.75rem);
  line-height: 1;
  color: var(--color-brand-green);
}
.home-trust-stat__icon.brand-icon {
  width: clamp(2.5rem, 3.6vw, 3rem);
  height: clamp(2.5rem, 3.6vw, 3rem);
  font-size: inherit;
  color: inherit;
}
.home-trust-stat__visual--image {
  min-height: 3.5rem;
  width: 100%;
}
.home-trust-stat__img {
  display: block;
  max-width: 120px;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.home-trust-stat__img--ypf {
  width: 72px;
  max-width: 72px;
  height: auto;
  max-height: 40px;
}
/* Variantes claro/oscuro: solo una visible (mismo patrón que el logo del header) */
.home-trust-stat__img--ypf-light { display: block; }
.home-trust-stat__img--ypf-dark { display: none; }
html[data-theme="dark"] .home-trust-stat__img--ypf-light { display: none; }
html[data-theme="dark"] .home-trust-stat__img--ypf-dark { display: block; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .home-trust-stat__img--ypf-light { display: none; }
  html:not([data-theme="light"]):not([data-theme="dark"]) .home-trust-stat__img--ypf-dark { display: block; }
}
.home-trust-stat__value {
  margin: 0 0 0.35rem;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--color-heading);
}
.home-trust-stat__label {
  margin: 0;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-brand-blue);
  max-width: 12ch;
}
.home-trust-stat:not(:has(.home-trust-stat__value)) .home-trust-stat__label {
  max-width: 14ch;
  margin-top: 0.15rem;
}

/* Galería = misma altura que el texto+stats; cada foto es un corte panorámico centrado */
.home-trust__gallery {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  min-width: 0;
  /* No aporta altura propia: copia la del texto/íconos */
  height: 0;
  min-height: 100%;
  align-self: stretch;
}
.home-trust-gallery__item {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: var(--color-bg-alt);
  min-height: 0;
}
.home-trust-gallery__img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 118%;
  height: 118%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: translate(-50%, -50%);
  transform-origin: center center;
}

@media (prefers-reduced-motion: no-preference) {
  html.anim-enabled:not(.anim-no-decorative) .home-trust-gallery__item.is-in .home-trust-gallery__img {
    animation: home-trust-pan-a 20s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    will-change: transform;
  }
  html.anim-enabled:not(.anim-no-decorative) .home-trust-gallery__item:nth-child(2).is-in .home-trust-gallery__img {
    animation-name: home-trust-pan-b;
    animation-duration: 24s;
    animation-delay: -3s;
  }
  html.anim-enabled:not(.anim-no-decorative) .home-trust-gallery__item:nth-child(3).is-in .home-trust-gallery__img {
    animation-name: home-trust-pan-c;
    animation-duration: 22s;
    animation-delay: -7s;
  }
}

@keyframes home-trust-pan-a {
  from { transform: translate(-52%, -48%) scale(1); }
  to   { transform: translate(-47%, -53%) scale(1.05); }
}
@keyframes home-trust-pan-b {
  from { transform: translate(-47%, -52%) scale(1.02); }
  to   { transform: translate(-53%, -47%) scale(1.07); }
}
@keyframes home-trust-pan-c {
  from { transform: translate(-50%, -54%) scale(1); }
  to   { transform: translate(-49%, -46%) scale(1.06); }
}

@media (max-width: 1100px) {
  .home-trust__layout--with-gallery {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .home-trust__body {
    max-width: none;
  }
  .home-trust__stats {
    max-width: none;
  }
  .home-trust__gallery {
    height: auto;
    min-height: 0;
    grid-template-rows: none;
    gap: 0.4rem;
  }
  .home-trust-gallery__item {
    position: relative;
    aspect-ratio: 3.2 / 1;
  }
}
@media (max-width: 720px) {
  .home-trust__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 1.25rem;
  }
  .home-trust-stat::after {
    display: none !important;
  }
  .home-trust-gallery__item {
    aspect-ratio: 2.8 / 1;
    border-radius: 10px;
  }
}
@media (max-width: 420px) {
  .home-trust__stats {
    grid-template-columns: 1fr;
  }
  .home-trust-gallery__item {
    aspect-ratio: 2.4 / 1;
  }
}
/* Ã¢â‚¬â€Ã¢â‚¬â€ Inicio: unidades de negocio Ã¢â‚¬â€Ã¢â‚¬â€ */
.home-units {
  background: var(--color-bg);
  padding: clamp(3rem, 6vw, 4.75rem) 0;
}
.home-units__head {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
}
.home-units__kicker {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-brand-green);
}
.home-units__title {
  margin: 0;
  font-size: clamp(1.65rem, 2.8vw, 2.35rem);
  font-weight: 800;
  line-height: 1.12;
  color: var(--color-heading);
  text-wrap: balance;
}
.home-units__intro {
  margin: 0;
  margin-left: auto;
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  line-height: 1.65;
  color: var(--color-text-muted);
  max-width: 48ch;
  display: grid;
  gap: 0.75rem;
}
.home-units__intro p {
  margin: 0;
  text-wrap: pretty;
}
.home-units__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
.home-units-card {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 35, 50, 0.08);
  background: var(--unit-color, var(--color-brand-blue-dark));
}
.home-units-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--unit-color, var(--color-brand-blue-dark));
}
.home-units-card__media:not(.home-units-card__media--placeholder)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 48%;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    color-mix(in srgb, var(--unit-color, #50A339) 28%, transparent) 38%,
    color-mix(in srgb, var(--unit-color, #50A339) 62%, transparent) 62%,
    color-mix(in srgb, var(--unit-color, #50A339) 88%, transparent) 82%,
    var(--unit-color, #50A339) 100%
  );
}
.home-units-card__media--placeholder {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--unit-color, #50A339) 72%, #fff 28%) 0%,
    var(--unit-color, #50A339) 100%
  );
}
.home-units-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-units-card__panel {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1.2rem 1.15rem 1.15rem;
  color: #fff;
  background: var(--unit-color, var(--color-brand-blue-dark));
}
.home-units-card__icon {
  font-size: 1.15rem;
  line-height: 1;
  margin-bottom: 0.55rem;
  opacity: 0.95;
}
.home-units-card__icon.brand-icon {
  width: 2.35rem;
  height: 2.35rem;
  font-size: inherit;
}
.home-units-card__name {
  margin: 0 0 0.35rem;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.2;
}
.home-units-card__tagline {
  margin: 0 0 0.55rem;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.35;
}
.home-units-card__body {
  margin: 0;
  flex: 1 1 auto;
  font-size: 0.82rem;
  line-height: 1.55;
  opacity: 0.94;
}
.home-units-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
  padding: 0.55rem 0.85rem;
  border: 1.5px solid rgba(255, 255, 255, 0.88);
  border-radius: 6px;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  transition: background 0.2s ease, color 0.2s ease;
}
.home-units-card__cta:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.home-units-card__link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.home-units-card__link:hover .home-units-card__cta {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.home-units--page {
  background: var(--color-bg-alt);
  padding: clamp(2.5rem, 5vw, 3.5rem) 0 clamp(3rem, 6vw, 4rem);
}

@media (max-width: 1100px) {
  .home-units__head {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .home-units__intro {
    margin-left: 0;
    max-width: none;
  }
  .home-units__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .home-units__grid {
    grid-template-columns: 1fr;
  }
}

/* Inicio: tarjeta Estaciones de servicio */
.home-estaciones-banner {
  padding: clamp(3rem, 6vw, 5rem) 0;
  --estaciones-blue: #00577a;
  --estaciones-blue-dark: #003d56;
  background: color-mix(in srgb, var(--estaciones-blue) 5%, #fff);
}
.home-estaciones-banner__shell {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.8fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}
.home-estaciones-banner__media {
  position: relative;
  min-height: clamp(320px, 40vw, 520px);
  overflow: hidden;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.home-estaciones-banner__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
}
.home-estaciones-banner__marker {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  color: #fff;
  background: var(--estaciones-blue-dark);
  border: 4px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(0, 61, 86, 0.24);
}
.home-estaciones-banner__content {
  max-width: 31rem;
}
.home-estaciones-banner__eyebrow {
  margin: 0 0 0.75rem;
  color: var(--estaciones-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.home-estaciones-banner__title {
  margin: 0 0 0.65rem;
  color: var(--color-text);
  font-size: clamp(1.8rem, 3.2vw, 2.65rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.home-estaciones-banner__lead {
  margin: 0 0 1rem;
  color: var(--estaciones-blue);
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  font-weight: 800;
}
.home-estaciones-banner__body {
  margin: 0 0 1.5rem;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.7;
  display: grid;
  gap: 0.75rem;
}
.home-estaciones-banner__body p {
  margin: 0;
  text-wrap: pretty;
}
.home-estaciones-banner__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--estaciones-blue);
  background: transparent;
  border: 1px solid var(--estaciones-blue);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 0.85rem 1.15rem;
  text-transform: uppercase;
}
.home-estaciones-banner__cta:hover {
  color: #fff;
  background: var(--estaciones-blue);
}
.home-estaciones-banner__cta-icon {
  font-size: 0.85em;
}
.home-estaciones-banner__media-placeholder {
  width: 100%;
  height: 100%;
  min-height: inherit;
  background:
    linear-gradient(135deg, rgba(0, 87, 122, 0.12), rgba(0, 61, 86, 0.22)),
    var(--color-bg);
}
@media (max-width: 900px) {
  .home-estaciones-banner__shell {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .home-estaciones-banner__media {
    min-height: clamp(260px, 58vw, 400px);
  }
  .home-estaciones-banner__content {
    max-width: 42rem;
  }
}

/* Inicio: banner Avanzar Energía */
.home-energia-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.35fr) minmax(0, 0.8fr);
  min-height: clamp(280px, 32vw, 380px);
  --energia-banner-bg: #003d56;
  background: var(--energia-banner-bg);
  overflow: hidden;
}
.home-energia-banner__panel {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--energia-banner-bg);
}
.home-energia-banner__panel--content {
  padding: clamp(1.75rem, 3.5vw, 2.75rem) clamp(1.25rem, 3vw, 2.5rem);
}
.home-energia-banner__content {
  max-width: 30rem;
}
.home-energia-banner__title {
  margin: 0 0 1rem;
  color: #fff;
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.home-energia-banner__body {
  margin: 0 0 1rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.92rem;
  line-height: 1.65;
  display: grid;
  gap: 0.75rem;
}
.home-energia-banner__body p {
  margin: 0;
  text-wrap: pretty;
}
.home-energia-banner__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  text-transform: uppercase;
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  padding: 0.8rem 1.2rem;
}
.home-energia-banner__cta-icon {
  font-size: 0.85em;
}
.home-energia-banner__media {
  position: relative;
  min-height: clamp(220px, 32vw, 380px);
  background: var(--energia-banner-bg);
  overflow: hidden;
}
.home-energia-banner__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.home-energia-banner__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      to right,
      var(--energia-banner-bg) 0%,
      color-mix(in srgb, var(--energia-banner-bg) 88%, transparent) 7%,
      color-mix(in srgb, var(--energia-banner-bg) 52%, transparent) 15%,
      color-mix(in srgb, var(--energia-banner-bg) 18%, transparent) 24%,
      transparent 40%
    ),
    linear-gradient(
      to left,
      var(--energia-banner-bg) 0%,
      color-mix(in srgb, var(--energia-banner-bg) 88%, transparent) 7%,
      color-mix(in srgb, var(--energia-banner-bg) 52%, transparent) 15%,
      color-mix(in srgb, var(--energia-banner-bg) 18%, transparent) 24%,
      transparent 40%
    ),
    linear-gradient(
      to bottom,
      var(--energia-banner-bg) 0%,
      color-mix(in srgb, var(--energia-banner-bg) 72%, transparent) 9%,
      color-mix(in srgb, var(--energia-banner-bg) 28%, transparent) 18%,
      transparent 32%
    ),
    linear-gradient(
      to top,
      var(--energia-banner-bg) 0%,
      color-mix(in srgb, var(--energia-banner-bg) 55%, transparent) 8%,
      transparent 20%
    );
}
.home-energia-banner__media-placeholder {
  width: 100%;
  height: 100%;
  min-height: inherit;
  background:
    linear-gradient(135deg, rgba(0, 61, 86, 0.15) 0%, rgba(0, 61, 86, 0.45) 100%),
    linear-gradient(160deg, #2d5f78 0%, #1a4a62 45%, #0f3347 100%);
}
.home-energia-banner__panel--badge {
  padding: clamp(1.25rem, 2.5vw, 2rem);
}
.home-energia-banner__badge-img {
  display: block;
  width: min(100%, 210px);
  height: auto;
  margin: 0 auto;
}
.home-energia-badge {
  width: min(100%, 210px);
}
.home-energia-badge__frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.15rem;
  padding: 1.25rem 1rem;
  border: 1.5px solid rgba(255, 255, 255, 0.82);
  border-radius: 14px;
  text-align: center;
}
.home-energia-badge__brand-logo {
  display: block;
  width: auto;
  height: 2.5rem;
  margin: 0 auto;
}
.home-energia-badge__seal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
}
.home-energia-badge__seal-icon {
  font-size: 2.5rem;
  color: #d4a843;
  line-height: 1;
}
.home-energia-badge__seal-icon.brand-icon {
  width: 2.75rem;
  height: 2.75rem;
  font-size: inherit;
  color: inherit;
}
.home-energia-badge__seal-text {
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
  max-width: 11rem;
}

@media (max-width: 960px) {
  .home-energia-banner {
    grid-template-columns: 1fr;
  }
  .home-energia-banner__media {
    order: 2;
    min-height: clamp(200px, 42vw, 280px);
  }
  .home-energia-banner__media::after {
    background:
      linear-gradient(
        to bottom,
        var(--energia-banner-bg) 0%,
        color-mix(in srgb, var(--energia-banner-bg) 72%, transparent) 9%,
        color-mix(in srgb, var(--energia-banner-bg) 28%, transparent) 18%,
        transparent 32%
      ),
      linear-gradient(
        to top,
        var(--energia-banner-bg) 0%,
        color-mix(in srgb, var(--energia-banner-bg) 72%, transparent) 9%,
        color-mix(in srgb, var(--energia-banner-bg) 28%, transparent) 18%,
        transparent 32%
      );
  }
  .home-energia-banner__panel--content {
    order: 1;
  }
  .home-energia-banner__panel--badge {
    order: 3;
  }
  .home-energia-banner__content {
    max-width: none;
  }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Inicio: ecosistema Ã¢â‚¬â€Ã¢â‚¬â€ */
.home-ecosystem {
  background: var(--color-bg);
  padding: clamp(2.5rem, 5vw, 4rem) 0;
  border-top: 1px solid var(--color-border);
}
.home-ecosystem,
.home-ecosystem * {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.home-ecosystem__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
.home-ecosystem__kicker {
  margin: 0 0 0.65rem;
  color: var(--brand-green, #50A339);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.home-ecosystem__title {
  margin: 0 0 1rem;
  color: var(--color-heading);
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.home-ecosystem__body {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.98rem;
  line-height: 1.65;
  max-width: 34ch;
}
.home-ecosystem__gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.5vw, 1rem);
}
.home-ecosystem-card {
  min-width: 0;
}
.home-ecosystem-card__media {
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  overflow: hidden;
  background: var(--color-bg-alt);
}
.home-ecosystem-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-ecosystem-card__placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #e8edf2 0%, #d8e0e8 100%);
}
.home-ecosystem-card__label {
  margin: 0.65rem 0 0;
  color: var(--color-heading);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Inicio: presencia Ã¢â‚¬â€Ã¢â‚¬â€ */
.home-presence {
  background: var(--color-bg-alt);
  padding: clamp(2.5rem, 5vw, 4rem) 0;
  border-top: 1px solid var(--color-border);
}
.home-presence,
.home-presence * {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.home-presence__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3vw, 2.25rem);
  align-items: start;
}
.home-presence__layout--with-map {
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.35fr);
}
.home-presence__layout--with-map .home-presence__bases {
  grid-column: 1 / -1;
}
.home-presence__intro {
  min-width: 0;
}
.home-presence__kicker {
  margin: 0 0 0.65rem;
  color: var(--brand-green, #50A339);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.home-presence__title {
  margin: 0 0 1rem;
  color: var(--color-heading);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.home-presence__body {
  margin: 0 0 1.35rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  max-width: 42ch;
  text-wrap: pretty;
}
.home-presence__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  text-transform: uppercase;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}
.home-presence__cta-icon {
  font-size: 0.85em;
}
.home-presence__map-wrap,
.nutricion-production__map-wrap {
  position: relative;
  z-index: 0;
  isolation: isolate;
}
.home-presence__map-wrap {
  min-height: clamp(280px, 38vw, 420px);
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: #e8efe6;
  align-self: stretch;
}
.home-presence__map {
  width: 100%;
  height: 100%;
  min-height: clamp(280px, 38vw, 420px);
  z-index: 1;
}
.home-presence__map-wrap--branded .leaflet-container {
  background: #e8efe6;
  font-family: inherit;
}
.home-presence__map-wrap--branded .leaflet-tile-pane img {
  /* Sin filter: en tiles cross-origin el navegador los deja en blanco */
  opacity: 1;
}
.home-presence__map-wrap--branded .leaflet-control-zoom,
.home-presence__map-wrap--branded .leaflet-control-attribution {
  display: none;
}
.home-presence-list--offices {
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
  padding-top: 1.25rem;
  border-top: 1px solid var(--color-border);
}
.home-presence-list__title {
  margin: 0 0 0.75rem;
  color: var(--brand-green, #50A339);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.home-presence-list__items {
  margin: 0;
  padding: 0;
  list-style: none;
}
.home-presence-list__items li {
  position: relative;
  padding-left: 0.85rem;
  margin-bottom: 0.45rem;
  color: var(--color-heading);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.home-presence-list__items li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--brand-green, #50A339);
}
.home-presence-list__items--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
}
.home-presence-list__items--inline li {
  margin-bottom: 0;
}
.home-presence__bases {
  min-width: 0;
}
.home-presence-list__cards {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 2vw, 1.25rem);
}
.home-presence-base {
  margin: 0;
  min-width: 0;
}
.home-presence-base__media {
  aspect-ratio: 16 / 10;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-bg);
}
.home-presence-base__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-presence-base__name {
  margin: 0.45rem 0 0;
  color: var(--color-heading);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Inicio: valores Ã¢â‚¬â€Ã¢â‚¬â€ */
.home-values {
  background: var(--color-bg);
  padding: clamp(2.5rem, 5vw, 3.75rem) 0 clamp(3rem, 6vw, 4.5rem);
  border-top: 1px solid var(--color-border);
}
.home-values,
.home-values * {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.home-values__title {
  margin: 0 0 1.75rem;
  color: var(--color-heading);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.home-values__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
}
.home-values-item {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.home-values-item__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.home-values-item__icon {
  font-size: clamp(2.25rem, 3.5vw, 2.85rem);
  color: var(--brand-green, #50A339);
  line-height: 1;
}
.home-values-item__icon.brand-icon {
  width: clamp(2.5rem, 3.8vw, 3.1rem);
  height: clamp(2.5rem, 3.8vw, 3.1rem);
  font-size: inherit;
  color: inherit;
}
.brand-icon {
  display: block;
  width: 1em;
  height: 1em;
  object-fit: contain;
}
.home-values-item__title {
  margin: 0 0 0.35rem;
  color: var(--color-heading);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.home-values-item__body {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Inicio: novedades Ã¢â‚¬â€Ã¢â‚¬â€ */
.home-news {
  background: var(--color-bg);
  padding: clamp(2.5rem, 5vw, 4rem) 0;
  border-top: 1px solid var(--color-border);
}
.home-news,
.home-news * {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.home-news__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.45fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
.home-news__title {
  margin: 0 0 0.85rem;
  color: var(--color-heading);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 16ch;
  text-wrap: balance;
}
.home-news__lead {
  margin: 0 0 1.35rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  max-width: 36ch;
  text-wrap: pretty;
}
.home-news__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  text-transform: uppercase;
  font-size: 0.76rem;
  letter-spacing: 0.06em;
}
.home-news__cta-icon {
  font-size: 0.85em;
}
.home-news__articles {
  min-width: 0;
}
.home-news__grid-label {
  margin: 0 0 0.85rem;
  color: var(--brand-green, #50A339);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.home-news__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.35rem);
}
.home-news-card {
  min-width: 0;
}
.home-news-card__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
  border-radius: 14px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.home-news-card__link:hover {
  transform: translateY(-2px);
}
.home-news-card__link:hover .home-news-card__title {
  color: var(--color-brand-green, #50a339);
}
.home-news-card__media {
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--color-bg-alt);
}
.home-news-card__img,
.home-news-card__media img,
.home-news-card__media picture {
  display: block;
  width: 100%;
  height: 100%;
}
.home-news-card__media img {
  object-fit: cover;
}
.home-news-card__img.card__img--placeholder,
.home-news-card__media .card__img--placeholder {
  width: 100%;
  height: 100%;
  min-height: 100%;
  background: linear-gradient(145deg, #e8edf2 0%, #d8e0e8 100%);
}
.home-news-card__body {
  padding: 0.85rem 0.15rem 0;
}
.home-news-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}
.home-news-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: rgba(80, 163, 57, 0.12);
  color: var(--color-brand-green, #50a339);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.home-news-card__date {
  color: var(--color-text-muted);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.home-news-card__title {
  margin: 0;
  color: var(--color-heading);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.35;
  transition: color 0.2s ease;
}

@media (min-width: 1200px) {
  .home-ecosystem__gallery {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}
@media (max-width: 1100px) {
  .home-ecosystem__layout {
    grid-template-columns: 1fr;
  }
  .home-presence__layout--with-map {
    grid-template-columns: 1fr;
  }
  .home-presence__layout--with-map .home-presence__bases {
    grid-column: auto;
  }
  .home-presence__map-wrap,
  .home-presence__map {
    min-height: clamp(260px, 52vw, 360px);
  }
  .home-presence__body {
    max-width: none;
  }
  .home-values__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .home-news__layout {
    grid-template-columns: 1fr;
  }
  .home-news__title {
    max-width: none;
  }
  .home-news__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .home-presence-list__cards {
    grid-template-columns: 1fr;
  }
  .home-ecosystem__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-values__grid {
    grid-template-columns: 1fr;
  }
  .home-values-item {
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
  }
  .home-values-item__icon-wrap {
    flex-shrink: 0;
  }
  .home-news__grid {
    grid-template-columns: 1fr;
  }
}

/* ——— Inicio: seguimos avanzando (historia) ——— */
.home-ba {
  position: relative;
  min-height: clamp(420px, 58vw, 640px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  overflow: clip;
  background: var(--color-brand-green);
}
.home-ba__media {
  position: absolute;
  inset: 0;
}
.home-ba__img,
.home-ba__fallback {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-ba__fallback {
  background:
    linear-gradient(135deg, #3f8a2f 0%, #50A339 45%, #00577a 100%);
}
.home-ba__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(40, 110, 40, 0.45) 0%,
      rgba(12, 40, 20, 0.35) 40%,
      rgba(8, 28, 14, 0.78) 100%
    );
  pointer-events: none;
}
.home-ba__glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 70%, rgba(80, 163, 57, 0.35), transparent 70%);
  pointer-events: none;
  mix-blend-mode: soft-light;
}
.home-ba__inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 1rem;
  max-width: 44rem;
  text-align: center;
  padding: clamp(3rem, 7vw, 5rem) 0;
}
.home-ba__title {
  margin: 0;
  font-size: clamp(2.25rem, 5vw, 3.45rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}
.home-ba__body {
  margin: 0;
  max-width: 50ch;
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  line-height: 1.65;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.95);
  text-wrap: pretty;
  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.4);
}
@media (max-width: 720px) {
  .home-ba {
    min-height: clamp(360px, 88vw, 480px);
  }
  .home-ba__inner {
    padding: 2.5rem 0;
  }
}

/* ——— Inicio: cierre emocional ——— */
.home-closing {
  position: relative;
  min-height: clamp(380px, 48vw, 520px);
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
  background: #003d56;
}
.home-closing__media {
  position: absolute;
  inset: 0;
}
.home-closing__img,
.home-closing__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-closing__placeholder {
  background:
    linear-gradient(135deg, #003d56 0%, #00577a 45%, #50A339 100%);
}
.home-closing__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(0, 61, 86, 0.92) 0%, rgba(0, 61, 86, 0.72) 42%, rgba(0, 61, 86, 0.35) 100%);
}
.home-closing__content {
  position: relative;
  z-index: 1;
  max-width: 40rem;
  padding: clamp(3rem, 7vw, 5rem) 0;
}
.home-closing__title {
  margin: 0 0 1.1rem;
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.home-closing__body {
  display: grid;
  gap: 0.85rem;
  margin: 0 0 1.1rem;
  font-size: clamp(0.95rem, 1.5vw, 1.08rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  max-width: 48ch;
}
.home-closing__body p {
  margin: 0;
  text-wrap: pretty;
}
.home-closing__emphasis {
  margin: 0 0 1.75rem;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
}
.home-closing__brand-name {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
}
.home-closing__brand-tagline {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.82);
}

.hero-slider {
  position: relative;
  min-height: clamp(420px, 78vh, 820px);
  overflow: hidden;
  background: var(--color-bg-dark-deep);
}
.hero-slider__track {
  position: relative;
  min-height: inherit;
}
.hero-slider__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.7s ease, visibility 0.7s;
  pointer-events: none;
}
.hero-slider__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.hero-slider__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.hero-slider__media .hero-slider__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform-origin: 42% 78%;
  will-change: transform;
}
.hero-slider__bg--poster {
  transition: opacity 0.6s ease;
}
.hero-slider__slide > .hero-slider__bg--poster {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-slider__slide--video.is-playing .hero-slider__bg--poster {
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  html.anim-enabled:not(.anim-no-decorative) .hero-slider__slide.is-active .hero-slider__media .hero-slider__bg {
    animation: hero-slider-drone 24s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }
}
@keyframes hero-slider-drone {
  0% {
    transform: scale(1) translate3d(0, 0, 0);
  }
  100% {
    transform: scale(1.12) translate3d(-1.2%, -2%, 0);
  }
}
.hero-slider__video {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
  background: var(--color-bg-dark-deep);
}
.hero-slider__yt {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.77777778vh;
  min-width: 100%;
  min-height: 100%;
  height: 56.25vw;
  transform: translate(-50%, -50%) scale(1.35);
  border: 0;
  pointer-events: none;
}
.hero-slider__video-shield {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: auto;
  background: transparent;
  cursor: default;
}
.hero-slider__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(0, 61, 86, 0.15) 0%,
    rgba(0, 61, 86, 0.05) 40%,
    rgba(0, 61, 86, 0.55) 100%
  );
  pointer-events: none;
}
.hero-slider__content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6.5rem;
  z-index: 2;
  color: #fff;
  max-width: 640px;
}
.hero-slider__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.75rem, 4.5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.08;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}
.hero-slider__subtitle {
  margin: 0 0 1.25rem;
  font-size: clamp(1rem, 2vw, 1.2rem);
  opacity: 0.95;
  max-width: 520px;
}
.hero-slider__cta { box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); }
.hero-slider__badge {
  position: absolute;
  right: clamp(1rem, 3vw, 2.5rem);
  bottom: clamp(1.25rem, 3vw, 2.5rem);
  z-index: 3;
  max-width: min(420px, calc(100% - 2rem));
  padding: 0.85rem 1.5rem;
  border-radius: 999px;
  background: rgba(26, 92, 58, 0.92);
  color: #fff;
  font-size: clamp(0.95rem, 2vw, 1.15rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.22);
}
.hero-slider__controls {
  position: absolute;
  right: clamp(1rem, 3vw, 2.5rem);
  bottom: calc(clamp(1.25rem, 3vw, 2.5rem) + 3.75rem);
  z-index: 4;
  display: flex;
  gap: 0.5rem;
}
.hero-slider__btn {
  width: 2.75rem;
  height: 2.75rem;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.28);
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.hero-slider__btn:hover {
  background: rgba(255, 255, 255, 0.42);
  transform: scale(1.03);
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Inicio estilo clÃƒÂ¡sico (avanzarsa.com.ar) Ã¢â‚¬â€Ã¢â‚¬â€ */
.hero-slider--classic {
  min-height: clamp(480px, 88vh, 920px);
}
.hero-slider--classic .hero-slider__shade {
  background: linear-gradient(
    180deg,
    rgba(0, 61, 86, 0.28) 0%,
    rgba(0, 61, 86, 0.08) 45%,
    rgba(0, 61, 86, 0.18) 100%
  );
}
.hero-slider--classic .hero-slider__controls {
  bottom: clamp(1.25rem, 3vw, 2.5rem);
}

.home-tagline {
  background: var(--color-brand-green);
  color: #fff;
  padding: clamp(0.85rem, 2vw, 1.15rem) 0;
  text-align: center;
}
.home-tagline__text {
  margin: 0;
  font-size: clamp(0.95rem, 2.2vw, 1.35rem);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  line-height: 1.25;
}

.home-section-badge {
  display: inline-block;
  margin: 0 auto 1.5rem;
  padding: 0.45rem 1.75rem;
  background: var(--color-brand-green);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%);
}
.home-section-badge--on-green {
  background: var(--color-brand-blue-dark);
}

.home-nosotros {
  background: var(--color-brand-blue-dark);
  color: #fff;
  padding: clamp(3rem, 7vw, 5rem) 0 clamp(3.5rem, 8vw, 5.5rem);
  text-align: center;
}
.home-nosotros__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.75rem, 4vw, 2.75rem);
}
.home-nosotros__lead {
  margin: 0 0 1rem;
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  line-height: 1.55;
  max-width: 42ch;
}
.home-nosotros__headline {
  margin: 0;
  font-size: clamp(1.35rem, 3.5vw, 2.35rem);
  font-weight: 700;
  line-height: 1.25;
  max-width: 20ch;
}
.home-nosotros__headline-accent {
  display: block;
  color: var(--color-brand-green-light);
  font-weight: 800;
}
.home-nosotros__photo {
  margin: 0;
  width: min(100%, 920px);
}
.home-photo-frame {
  position: relative;
  margin: 0 auto;
  max-width: 780px;
  transform: skewX(-6deg);
  border: 2px solid rgba(255, 255, 255, 0.85);
  box-shadow: 12px 16px 40px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}
.home-photo-frame::before {
  content: '';
  position: absolute;
  inset: -20% -30% auto auto;
  width: 45%;
  height: 120%;
  background: var(--color-brand-green);
  transform: skewX(12deg);
  z-index: -1;
  opacity: 0.9;
}
.home-photo-frame picture,
.home-photo-frame img,
.home-photo-frame__img {
  display: block;
  width: 100%;
  height: auto;
  transform: skewX(6deg) scale(1.08);
  object-fit: cover;
}
.home-nosotros__body {
  max-width: 52rem;
}
.home-nosotros__line {
  margin: 0 0 1rem;
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  font-weight: 600;
  line-height: 1.5;
}
.home-nosotros__products {
  margin: 0 0 1rem;
  font-size: clamp(0.78rem, 1.6vw, 0.92rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.6;
  opacity: 0.95;
}
.home-nosotros__note {
  margin: 0 0 1.5rem;
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  font-style: italic;
  font-weight: 600;
  color: var(--color-brand-green-light);
}
.home-nosotros__cta {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.home-units-classic {
  background: var(--color-bg);
  padding: clamp(3rem, 6vw, 4.5rem) 0;
}
.home-units-classic__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 42%);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.home-units-classic__title {
  margin: 0 0 1.25rem;
  font-size: clamp(1.35rem, 2.8vw, 1.75rem);
  font-weight: 700;
  color: var(--color-brand-green);
}
.home-units-classic__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}
.home-units-classic__list a {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-size: clamp(0.95rem, 1.8vw, 1.05rem);
  font-weight: 600;
  color: var(--color-heading);
  text-decoration: none;
  transition: color 0.2s;
}
.home-units-classic__list a:hover {
  color: var(--color-brand-green);
}
.home-units-classic__bullet {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
}
.home-units-classic__media {
  margin: 0;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0, 61, 86, 0.14);
}
.home-units-classic__img {
  display: block;
  width: 100%;
  height: auto;
}

.home-zones-classic {
  background: var(--color-brand-green);
  color: #fff;
  padding: clamp(3rem, 7vw, 5rem) 0;
  text-align: center;
}
.home-zones-classic__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 2.25rem);
}
.home-zones-classic__intro {
  margin: 0;
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  line-height: 1.65;
  max-width: 52ch;
}
.home-zones-classic__intro strong {
  font-weight: 800;
}
.home-zones-classic__map {
  margin: 0;
  width: min(100%, 720px);
  border: 3px solid rgba(255, 255, 255, 0.85);
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}
.home-zones-classic__map-img {
  display: block;
  width: 100%;
  height: auto;
}
.home-zones-classic__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
  width: 100%;
  max-width: 960px;
  text-align: left;
}
.home-zones-classic__zone {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.home-zones-classic__branch {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
}
.home-zones-classic__phone {
  margin: 0.5rem 0 0;
  font-size: 0.92rem;
}
.home-zones-classic__phone a {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.home-zones-classic__foot {
  margin: 0.5rem 0 0;
  font-size: clamp(0.92rem, 1.8vw, 1.05rem);
  line-height: 1.65;
  max-width: 58ch;
}
.home-zones-classic__cta {
  background: var(--color-bg);
  border-color: #fff;
  color: var(--color-heading);
}
.home-zones-classic__cta:hover {
  background: var(--color-brand-blue-dark);
  border-color: var(--color-heading);
  color: #fff;
}

.home-dashboard--classic {
  background: var(--color-bg-alt);
  animation: none;
}
.home-dashboard--classic::before,
.home-dashboard--classic::after {
  display: none;
}

@media (max-width: 768px) {
  .home-units-classic__grid {
    grid-template-columns: 1fr;
  }
  .home-units-classic__media {
    order: -1;
    clip-path: none;
    border-radius: var(--radius-md);
  }
  .home-zones-classic__cards {
    grid-template-columns: 1fr;
    max-width: 28rem;
  }
  .home-photo-frame {
    transform: none;
    border-radius: var(--radius-md);
  }
  .home-photo-frame picture,
  .home-photo-frame img,
  .home-photo-frame__img {
    transform: none;
  }
  .home-photo-frame::before {
    display: none;
  }
}

.hero-slider__grain {
  position: relative;
  z-index: 5;
  margin-top: -3.5rem;
  margin-bottom: 1.5rem;
}
.hero-slider__grain .hero__quotes {
  margin-top: 0;
}

.hero__quotes {
  position: relative;
  z-index: 1;
  margin-top: 2.5rem;
}
.quotes-card {
  background: var(--surface-card);
  color: var(--color-text);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
}
.quotes-card__head {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color-border);
}
.quotes-card__label {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--color-brand-blue);
}
.quotes-card__time {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}
.quotes-card__link {
  margin-left: auto;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-brand-green);
}
.quotes-card__link:hover { color: var(--color-brand-blue); }
.quotes-card__track-wrap {
  position: relative;
  overflow: hidden;
}
.quotes-card__grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.25rem;
}
.quote-item {
  flex: 0 0 auto;
  min-width: 92px;
}
.quotes-card--fit .quotes-card__track {
  justify-content: space-between;
}
.quotes-card--carousel .quotes-card__track-wrap {
  padding: 0 2rem;
}
.quotes-card--carousel .quotes-card__track {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 0.15rem;
}
.quotes-card--carousel .quotes-card__track::-webkit-scrollbar {
  display: none;
}
.quotes-card--carousel .quote-item {
  scroll-snap-align: start;
}
.quotes-carousel__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--color-bg-alt);
  color: var(--color-brand-blue);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.quotes-carousel__btn:hover {
  background: var(--color-brand-blue);
  color: #fff;
}
.quotes-carousel__btn--prev { left: 0; }
.quotes-carousel__btn--next { right: 0; }
.quotes-carousel__btn[disabled] {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}
.quote-item__crop {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-text-muted);
}
.quote-item__price {
  font-size: 1.125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--dash-value);
}
.quote-item__var { font-size: 0.8rem; font-weight: 600; }
.quote-item__var--up { color: var(--color-brand-green); }
.quote-item__var--down { color: #c0392b; }

.quotes-wrap { margin: -1.5rem auto 2rem; }

.section { padding: var(--section-y) 0; }
.section--compact { padding: clamp(2.5rem, 5vw, 3.5rem) 0; }
.section--alt { background: var(--color-bg-alt); }
.section--secondary { background: var(--color-bg); padding: clamp(2.5rem, 5vw, 3.5rem) 0; }
.section--quiet {
  background: var(--color-bg-alt);
  padding: clamp(2.5rem, 5vw, 3.75rem) 0;
  border-top: 1px solid var(--color-border);
}
.section--dark {
  background: var(--color-bg-dark-deep);
  color: var(--color-text-on-dark);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.home-ops {
  background: var(--color-bg-alt);
  border-bottom: 1px solid var(--color-border);
  padding: 1rem 0;
}
.home-ops__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  flex-wrap: wrap;
}
.home-ops__weather {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}
.home-ops__icon {
  font-size: 1.75rem;
  line-height: 1;
}
.home-ops__weather-body { min-width: 0; }
.home-ops__temp-line {
  margin: 0;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--color-heading);
}
.home-ops__temp { font-variant-numeric: tabular-nums; }
.home-ops__loc {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-text-muted);
}
.home-ops__desc {
  margin: 0.2rem 0 0;
  font-size: 0.875rem;
  color: var(--color-text-muted);
}
.home-ops__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
}
.home-ops__nav a {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--color-brand-blue);
}
.home-ops__nav a:hover { color: var(--color-brand-green); }

/* Panel operativo inicio (clima + lluvias + calendario | pizarra + novedades) */
.home-dashboard {
  position: relative;
  padding: 2.25rem 0 2.75rem;
  overflow: hidden;
  background: var(--dash-bg);
  background-size: 200% 200%;
  animation: home-dashboard-base 28s ease-in-out infinite;
}
.home-dashboard::before,
.home-dashboard::after {
  content: '';
  position: absolute;
  inset: -25%;
  pointer-events: none;
  will-change: transform;
}
.home-dashboard::before {
  background: var(--dash-glow-a);
  animation: home-dashboard-glow-a 22s ease-in-out infinite alternate;
}
.home-dashboard::after {
  background: var(--dash-glow-b);
  animation: home-dashboard-glow-b 26s ease-in-out infinite alternate;
}
@keyframes home-dashboard-base {
  0%, 100% { background-position: 0% 40%; }
  50% { background-position: 100% 60%; }
}
@keyframes home-dashboard-glow-a {
  0% { transform: translate(0, 0) scale(1); opacity: 0.88; }
  50% { transform: translate(2.5%, 1.5%) scale(1.06); opacity: 1; }
  100% { transform: translate(-1.5%, 3%) scale(1.03); opacity: 0.92; }
}
@keyframes home-dashboard-glow-b {
  0% { transform: translate(0, 0) scale(1.02); opacity: 0.82; }
  50% { transform: translate(-2%, -2%) scale(1.08); opacity: 0.95; }
  100% { transform: translate(2%, -1%) scale(1); opacity: 0.88; }
}
@media (prefers-reduced-motion: reduce) {
  .home-dashboard,
  .home-dashboard::before,
  .home-dashboard::after {
    animation: none;
  }
}
.home-dashboard__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.home-dashboard__sidebar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.home-dashboard__main {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-width: 0;
}
.home-dash-card {
  position: relative;
  color: var(--color-text);
  border-radius: calc(var(--radius-lg) + 4px);
  padding: 1.35rem 1.4rem;
  background: var(--surface-glass);
  backdrop-filter: blur(20px) saturate(1.6);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
  border: 1px solid var(--surface-glass-border);
  box-shadow:
    0 8px 32px var(--surface-glass-shadow),
    0 1px 0 var(--surface-glass-inset) inset,
    0 -1px 0 rgba(0, 87, 122, 0.04) inset;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.home-dash-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 14px 40px var(--surface-glass-shadow),
    0 1px 0 var(--surface-glass-inset) inset;
}
.home-dash-card--weather {
  background: var(--dash-card-weather);
}
.home-dash-card--rain {
  background: var(--dash-card-rain);
}
.home-dash-card--events {
  background: var(--dash-card-events);
}
.home-dash-card__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.home-dash-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  font-size: 1.25rem;
  line-height: 1;
  border-radius: 12px;
  background: var(--surface-icon-bg);
  border: 1px solid var(--surface-icon-border);
  box-shadow: 0 2px 8px var(--surface-glass-shadow);
  flex-shrink: 0;
}
.home-dash-card__icon i {
  color: var(--color-brand-blue);
}
.home-dash-card__label {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-brand-blue);
  opacity: 0.85;
}
.home-dash-card__place {
  margin: 0.15rem 0 0;
  font-weight: 700;
  font-size: 1rem;
  color: var(--dash-heading);
}
.home-dash-card__hero-value {
  margin: 0;
  font-size: 2.75rem;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--dash-value);
  letter-spacing: -0.02em;
}
.home-dash-card__meta {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: var(--color-text-muted);
}
.home-rain-stats {
  display: grid;
  gap: 0.65rem;
  margin-bottom: 1rem;
}
.home-rain-stat {
  background: var(--surface-subtle);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--surface-subtle-border);
  border-radius: var(--radius-md);
  padding: 0.85rem 1rem;
  box-shadow: 0 2px 12px var(--surface-glass-shadow);
}
.home-rain-stat--accent {
  background: rgba(0, 87, 122, 0.08);
  border-color: rgba(0, 87, 122, 0.12);
}
.home-rain-stat__label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-text-muted);
  margin-bottom: 0.25rem;
}
.home-rain-stat__value {
  display: block;
  font-size: 1.65rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  color: var(--dash-value);
}
.home-dash-card__cta {
  display: inline-flex;
  align-items: center;
  margin-top: 0.25rem;
  padding: 0.55rem 0.95rem;
  border: 1px solid rgba(0, 87, 122, 0.22);
  border-radius: 999px;
  background: var(--surface-cta-bg);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--color-brand-blue);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.home-dash-card__cta:hover {
  background: rgba(0, 87, 122, 0.1);
  border-color: rgba(0, 87, 122, 0.35);
  color: var(--color-heading);
}
.home-cal__week,
.home-cal__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
  text-align: center;
}
.home-cal__week {
  margin-bottom: 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--color-text-muted);
}
.home-cal__day {
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.35rem 0;
  border-radius: 999px;
  line-height: 1;
  color: var(--dash-value);
}
.home-cal__day--empty { visibility: hidden; }
.home-cal__day.is-today {
  background: rgba(0, 87, 122, 0.14);
  color: var(--color-brand-blue);
  font-weight: 800;
}
.home-cal__day.has-event {
  box-shadow: inset 0 0 0 2px var(--color-brand-green);
  background: rgba(80, 163, 57, 0.1);
}
.home-cal-events {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  border-top: 1px solid rgba(0, 87, 122, 0.1);
}
.home-cal-events li {
  display: grid;
  grid-template-columns: 3.2rem 1fr;
  gap: 0.5rem;
  padding: 0.55rem 0;
  font-size: 0.82rem;
  color: var(--color-text);
  border-bottom: 1px solid rgba(0, 87, 122, 0.08);
}
.home-cal-events li:last-child { border-bottom: none; }
.home-cal-events time {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--color-brand-blue);
}
.home-dashboard__pizarra .quotes-card--dashboard {
  margin: 0;
  background: var(--surface-glass-strong);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid var(--surface-glass-border-strong);
  box-shadow:
    0 8px 32px var(--surface-glass-shadow),
    0 1px 0 var(--surface-glass-inset) inset;
}
.home-dashboard__news {
  background: var(--surface-glass-soft);
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  border: 1px solid var(--surface-glass-border);
  border-radius: calc(var(--radius-lg) + 4px);
  padding: 1.5rem 1.5rem 1.75rem;
  box-shadow:
    0 8px 32px var(--surface-glass-shadow),
    0 1px 0 var(--surface-glass-inset) inset;
}
.home-dashboard__news-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.home-dashboard__news-head h2 {
  margin: 0;
  font-size: clamp(1.25rem, 2.5vw, 1.65rem);
  color: var(--dash-heading);
}
.home-news-grid .card {
  background: var(--surface-glass-card);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 4px 16px var(--surface-glass-shadow);
  border: 1px solid var(--surface-glass-border);
}
.home-news-grid .card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px var(--surface-glass-shadow);
  border-color: rgba(0, 87, 122, 0.15);
}
.btn--outline {
  background: transparent;
  border: 2px solid var(--color-brand-blue);
  color: var(--color-brand-blue);
  min-height: 40px;
  padding: 0.5rem 1.1rem;
  font-size: 0.85rem;
}
.btn--outline:hover {
  background: var(--color-brand-blue);
  color: #fff;
}

.home-panel {
  padding: 1.5rem 0;
  border-top: 1px solid var(--color-border);
}
.home-secondary-grid .home-panel:first-child { border-top: none; padding-top: 0; }
@media (min-width: 769px) {
  .home-secondary-grid .home-panel {
    border-top: none;
    padding-top: 0;
    border-left: 1px solid var(--color-border);
    padding-left: 2rem;
  }
  .home-secondary-grid .home-panel:first-child {
    border-left: none;
    padding-left: 0;
    padding-right: 2rem;
  }
}
.home-panel__kicker {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-muted);
}
.home-panel__title {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-heading);
}
.home-panel__text {
  margin: 0 0 1rem;
  font-size: 0.925rem;
  color: var(--color-text-muted);
  line-height: 1.55;
  max-width: 42ch;
}
.home-panel__action { margin-top: 0.75rem; }

.home-event-list {
  list-style: none;
  padding: 0;
  margin: 0 0 0.5rem;
}
.home-event-list__item {
  display: flex;
  gap: 0.65rem;
  align-items: baseline;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--color-border);
  font-size: 0.925rem;
}
.home-event-list__item:last-child { border-bottom: none; }
.home-event-list__date {
  flex: 0 0 auto;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--color-brand-blue);
}
.home-event-list__title { color: var(--color-text); }

.home-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.home-split .home-panel {
  border-top: none;
  padding: 0;
}
.home-split__media {
  margin: 0;
}
.home-split__media picture {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-md);
  overflow: hidden;
}
.home-split__img,
.home-split__placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-md);
  overflow: hidden;
}
.home-split__media img.home-split__img {
  height: 100%;
  object-fit: cover;
  display: block;
}
.home-split__placeholder {
  background: linear-gradient(135deg, var(--spot-accent, #00577A) 0%, color-mix(in srgb, var(--spot-accent, #00577A) 55%, #50A339) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-split__placeholder i {
  font-size: clamp(2rem, 5vw, 3rem);
  color: rgba(255, 255, 255, 0.45);
}
@media (min-width: 769px) {
  .home-split--reverse .home-split__media { order: -1; }
}

.home-spot__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--spot-accent, var(--color-text-muted));
}
.home-spot__kicker-icon,
.home-spot__title-icon {
  color: var(--spot-accent, var(--color-brand-blue));
}
.home-spot__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.home-spot__title-icon { font-size: 0.85em; }
.home-spot__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  align-items: center;
}
.home-spot__pdf--unavail {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
  border-color: var(--color-border);
  color: var(--color-text-muted);
}
.home-spot .btn--secondary {
  border-color: var(--spot-accent, var(--color-brand-blue-dark));
  color: var(--spot-accent, var(--color-brand-blue-dark));
}
.home-spot .btn--outline {
  border-color: var(--spot-accent, var(--color-brand-blue));
  color: var(--spot-accent, var(--color-brand-blue));
}
.home-spot .btn--ghost {
  color: var(--spot-accent, var(--color-brand-blue));
}

.home-brand-note { max-width: none; }
.home-brand-note__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 700;
  color: var(--color-heading);
}
.home-brand-note__text {
  margin: 0 0 1rem;
  font-size: 0.95rem;
  color: var(--color-text-muted);
  line-height: 1.6;
  max-width: 55ch;
}

.section--news .card__chip {
  text-transform: none;
  letter-spacing: normal;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--color-text-muted);
}
.section__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 2rem;
  gap: 1rem;
  flex-wrap: wrap;
}
.section h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  margin: 0;
  color: inherit;
}


.grid { display: grid; gap: 1.5rem; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }

.card {
  background: var(--surface-card);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform 0.2s, box-shadow 0.2s;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.card__img {
  aspect-ratio: 16/9;
  background: var(--color-bg-alt);
  object-fit: cover;
  width: 100%;
}
.card__body { padding: 1.25rem; }
.card__chip {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-brand-green);
  margin-bottom: 0.5rem;
}
.card h3 { margin: 0 0 0.5rem; font-size: 1.1rem; font-weight: 700; }
.card p { margin: 0; color: var(--color-text-muted); font-size: 0.9rem; }

/* Ã¢â‚¬â€Ã¢â‚¬â€ Equipo (pÃƒÂºblico) Ã¢â‚¬â€Ã¢â‚¬â€ */
.team-public-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.75rem;
  margin-top: 2rem;
}
.team-public-card {
  background: var(--surface-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 2rem 1.5rem 1.5rem;
  text-align: center;
  box-shadow: var(--shadow-card);
  transition: transform 0.2s, box-shadow 0.2s;
}
.team-public-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}
.team-public-card__photo {
  width: 120px;
  height: 120px;
  margin: 0 auto 1.1rem;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid color-mix(in srgb, var(--color-brand-blue) 18%, transparent);
  background: var(--color-bg-alt);
}
.team-public-card__photo picture,
.team-public-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.team-public-card__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2.5rem;
  color: var(--color-text-muted);
}
.team-public-card__name {
  margin: 0 0 0.25rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--color-heading);
}
.team-public-card__title {
  margin: 0 0 0.15rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-text-muted);
}
.team-public-card__role {
  margin: 0 0 0.75rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--color-accent);
}
.team-public-card__desc {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  color: var(--color-text-muted);
  line-height: 1.55;
}
.team-public-card__social {
  display: flex;
  justify-content: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}
.team-public-card__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-brand-blue) 14%, transparent);
  color: var(--color-primary);
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, transform 0.2s;
}
.team-public-card__social a:hover {
  background: var(--color-primary);
  color: var(--color-text-on-dark);
  transform: translateY(-2px);
}

.unit-card {
  padding: 2rem 1.5rem;
  text-align: center;
  border-top: 4px solid var(--unit-accent, var(--color-brand-green));
}
.unit-card__logo { height: 48px; margin: 0 auto 1rem; object-fit: contain; }
.unit-card h3 { margin: 0 0 0.5rem; color: var(--unit-primary, var(--color-brand-blue)); }
.unit-card p { font-size: 0.85rem; color: var(--color-text-muted); margin: 0; }

.section--units {
  padding-top: 3rem;
  padding-bottom: 3.5rem;
  background: var(--color-bg-alt);
}
.units-grid { gap: clamp(1.25rem, 3vw, 2.5rem); }
.unit-card--home {
  padding: 1.75rem 1rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: auto;
  text-align: center;
  text-decoration: none;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  transition: transform 0.25s ease;
}
.unit-card--home:hover {
  transform: translateY(-3px);
  box-shadow: none;
}
.unit-card--home .unit-card__logo-wrap {
  width: 100%;
  max-width: 220px;
  height: clamp(120px, 11vw, 168px);
  margin: 0 auto 1.25rem;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--surface-card);
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.unit-card--home:hover .unit-card__logo-wrap {
  transform: scale(1.03);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.unit-card--home .unit-card__logo {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center;
}
.unit-card--home .unit-card__tagline {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  margin: 0;
  line-height: 1.5;
  max-width: 28ch;
  transition: color 0.2s ease;
}
.unit-card--home:hover .unit-card__tagline {
  color: var(--unit-primary, var(--color-brand-blue));
}

.stats-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  text-align: center;
}
.stats-bar--quiet {
  gap: 1.25rem 1.5rem;
  text-align: left;
  padding: 0.5rem 0;
}
.stat-item__value {
  font-size: 2rem;
  font-weight: 800;
  color: var(--color-brand-blue);
  font-variant-numeric: tabular-nums;
}
.stats-bar--quiet .stat-item__value {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-heading);
}
.stat-item__label { font-size: 0.85rem; color: var(--color-text-muted); }
.stats-bar--quiet .stat-item__label { font-size: 0.875rem; }

.newsletter-bar {
  background: var(--newsletter-bg);
  color: #fff;
  padding: 2.5rem 0;
  overflow: hidden;
}
.newsletter-bar__inner {
  overflow: visible;
}
.newsletter-bar__title {
  margin: 0 0 1rem;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 700;
  line-height: 1.2;
}
.newsletter-bar__form {
  display: flex;
  gap: 0.75rem;
  max-width: 480px;
  flex-wrap: wrap;
}
.newsletter-bar__form input {
  flex: 1;
  min-width: 200px;
  padding: 0.875rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--radius-sm);
  font-family: inherit;
  background: var(--newsletter-input-bg);
  color: var(--newsletter-input-color);
}
.newsletter-bar__form input::placeholder {
  color: var(--newsletter-input-placeholder);
}
.newsletter-bar__form .btn { background: var(--color-brand-blue-dark); color: #fff; }

.site-footer {
  background: var(--color-bg-dark-deep, #003d56);
  color: rgba(255, 255, 255, 0.88);
  padding: clamp(2.5rem, 5vw, 3.5rem) 0;
}
.site-footer a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.site-footer a:hover {
  color: var(--color-brand-green-light, #6bc04a);
}
.site-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}
.site-footer__col {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 0 clamp(1rem, 2.5vw, 2rem);
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}
.site-footer__col--brand {
  border-left: 0;
  padding-left: 0;
  padding-right: clamp(1.25rem, 3vw, 2.5rem);
  align-items: center;
  text-align: center;
}
.site-footer__logo {
  display: inline-flex;
  margin-bottom: 1rem;
  line-height: 0;
}
.site-footer__logo img {
  display: block;
  width: min(280px, 100%);
  height: auto;
}
.site-footer__tagline {
  margin: 0 0 1.35rem;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.45;
  max-width: 18rem;
}
.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
  margin-top: 0.35rem;
}
.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.85rem;
  height: 2.85rem;
  border: 1.5px solid rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
}
.site-footer__social-link:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.site-footer__heading {
  margin: 0 0 1rem;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.site-footer__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer__list li + li {
  margin-top: 0.55rem;
}
.site-footer__list a {
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.4;
}
.site-footer__fiscal {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
.site-footer__fiscal img {
  display: block;
  width: 44px;
  height: auto;
}
.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.35rem 1.25rem;
  margin-top: clamp(1.75rem, 3.5vw, 2.5rem);
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  text-align: center;
}
.site-footer__copyright {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.68rem;
  line-height: 1.5;
}
.site-footer__legal {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.68rem;
  line-height: 1.5;
  max-width: 28rem;
}
.site-footer__legal a {
  color: rgba(255, 255, 255, 0.72);
}
.site-footer__legal a:hover {
  color: #fff;
}
.site-footer__legal-sep {
  margin: 0 0.45rem;
  color: rgba(255, 255, 255, 0.35);
}
.site-footer__credit {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.site-footer__credit .acuciante-credit {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  opacity: 0.85;
  transition: opacity 0.2s ease;
}
.site-footer__credit .acuciante-credit:hover {
  opacity: 1;
  color: #fff;
}
.site-footer__credit .acuciante-credit img {
  display: block;
  height: clamp(18px, 2.4vw, 22px);
  width: auto;
}

.flash {
  padding: 1rem;
  border-radius: var(--radius-sm);
  margin-bottom: 1rem;
}
.flash--success { background: #e8f5e9; color: #2e7d32; }
.flash--error { background: #ffebee; color: #c62828; }

.table-wrap { overflow-x: auto; }
table.data-table {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}
table.data-table th, table.data-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
}
table.data-table th { background: var(--color-bg-alt); font-weight: 600; }

.page-hero {
  background: var(--color-bg-dark);
  color: #fff;
  padding: 3rem 0;
}
.page-hero h1 { margin: 0; font-size: 2.5rem; font-weight: 800; }

/* Pizarra de cereales Ã¢â‚¬â€ pÃƒÂ¡gina dedicada */
.pizarra-cards {
  position: relative;
  z-index: 2;
  padding: 2rem 0 0.5rem;
}
.pizarra-cards__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  margin-bottom: 1.25rem;
}
.pizarra-cards__meta .pizarra-updated {
  color: var(--color-text-muted);
  background: var(--color-bg-alt);
  border-color: var(--color-border);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.pizarra-cards__meta .pizarra-updated--count {
  color: var(--color-text-muted);
  background: var(--surface-card);
  border-color: var(--color-border);
}
.pizarra-updated {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.pizarra-updated--count {
  font-size: 0.75rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.72);
  background: rgba(0, 0, 0, 0.15);
  border-color: rgba(255, 255, 255, 0.1);
}

.pizarra-cards__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.5vw, 1.15rem);
}
.pizarra-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  padding: 1.35rem 1.25rem 1.15rem;
  background: var(--surface-card);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-card);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
  overflow: hidden;
}
.pizarra-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--crop-accent, var(--color-brand-green));
}
.pizarra-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
}
.pizarra-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-bottom: 0.35rem;
  font-size: 1rem;
  color: var(--crop-accent, var(--color-brand-blue));
  background: color-mix(in srgb, var(--crop-accent, var(--color-brand-blue)) 12%, transparent);
  border-radius: 10px;
}
.pizarra-card__crop {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.pizarra-card__price {
  margin: 0.15rem 0 0;
  font-size: clamp(1.35rem, 2.2vw, 1.65rem);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  color: var(--color-heading);
  line-height: 1.15;
}
.pizarra-card__unit {
  margin: 0.2rem 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--color-text-muted);
}
.pizarra-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  border-radius: 999px;
  line-height: 1.2;
}
.pizarra-badge--up {
  color: #2d6a1e;
  background: rgba(80, 163, 57, 0.14);
}
.pizarra-badge--down {
  color: #9b2c2c;
  background: rgba(192, 57, 43, 0.12);
}
.pizarra-badge--na {
  color: var(--color-text-muted);
  background: var(--color-bg-alt);
  font-weight: 600;
}
.pizarra-badge--sm {
  font-size: 0.75rem;
  padding: 0.18rem 0.5rem;
}

.pizarra-detail__intro {
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
  color: var(--color-text-muted);
}
.pizarra-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-card);
  background: var(--surface-card);
}
.pizarra-table {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}
.pizarra-table th,
.pizarra-table td {
  padding: 0.9rem 1.15rem;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}
.pizarra-table th {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-brand-blue);
  background: var(--color-bg-alt);
}
.pizarra-table tbody tr:last-child td { border-bottom: none; }
.pizarra-table tbody tr {
  transition: background 0.15s ease;
}
.pizarra-table tbody tr:hover {
  background: rgba(0, 87, 122, 0.03);
}
.pizarra-table__crop {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-weight: 600;
  color: var(--color-text);
}
.pizarra-table__crop-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  font-size: 0.82rem;
  color: var(--crop-accent, var(--color-brand-blue));
  background: color-mix(in srgb, var(--crop-accent, var(--color-brand-blue)) 12%, transparent);
  border-radius: 8px;
  flex-shrink: 0;
}
.pizarra-table__num {
  font-weight: 600;
  color: var(--color-text);
}
.pizarra-table__num--highlight {
  font-weight: 700;
  color: var(--color-heading);
}
.pizarra-table__date {
  font-size: 0.88rem;
  color: var(--color-text-muted);
  white-space: nowrap;
}
.pizarra-source {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: var(--radius-sm);
}
.pizarra-source--mercado {
  color: var(--color-brand-blue);
  background: rgba(0, 87, 122, 0.1);
}
.pizarra-source--avanzar {
  color: #3d6b1f;
  background: rgba(80, 163, 57, 0.14);
}
.pizarra-footnote {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 1.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--color-text-muted);
}
.pizarra-footnote .fa-solid {
  margin-top: 0.15rem;
  color: var(--color-brand-blue);
  flex-shrink: 0;
}
.pizarra-empty {
  text-align: center;
  padding: clamp(3rem, 8vw, 5rem) 1.5rem;
  border-radius: var(--radius-lg);
  background: var(--color-bg-alt);
  border: 1px dashed var(--color-border);
}
.pizarra-empty__icon {
  font-size: 2.5rem;
  color: var(--color-brand-blue);
  opacity: 0.45;
  margin-bottom: 1rem;
}
.pizarra-empty h2 {
  margin: 0 0 0.5rem;
  font-size: 1.35rem;
  color: var(--color-heading);
}
.pizarra-empty p {
  margin: 0;
  color: var(--color-text-muted);
}
.lluvias-intro {
  margin: 0 0 1rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
}
.lluvias-filters {
  margin-bottom: 1.5rem;
}
.lluvias-table tfoot th {
  background: var(--color-bg-alt);
  font-weight: 700;
}

.prose { max-width: 720px; }
.prose h2 { color: var(--color-brand-blue); margin-top: 2rem; }

.post-gallery {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--color-border);
}
.post-gallery__title {
  margin: 0 0 1.25rem;
  font-size: 1.25rem;
  color: var(--color-brand-blue);
}
.post-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
}
.post-gallery__item {
  margin: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.post-gallery__img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }

/* ——— Contacto ——— */
.contact-page {
  background: var(--color-bg-alt);
  border-top: 1px solid var(--color-border);
  color: var(--color-text);
}
.contact-page__flash { margin-bottom: 1.5rem; }
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
}
.contact-panel,
.contact-aside {
  background: var(--surface-card);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-card);
  color: var(--color-text);
}
.contact-panel { padding: clamp(1.35rem, 3vw, 2rem); }
.contact-aside { padding: clamp(1.25rem, 2.5vw, 1.75rem); }
.contact-panel__kicker,
.contact-aside__kicker,
.contact-map-block__kicker {
  margin: 0 0 0.55rem;
  color: var(--color-brand-green);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.contact-page .contact-panel__title,
.contact-page .contact-aside__title,
.contact-page .contact-map-block__title {
  margin: 0 0 0.65rem;
  color: var(--color-heading);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.contact-panel__intro,
.contact-aside__intro {
  margin: 0 0 1.35rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
}
.contact-form__submit {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.35rem;
  text-transform: uppercase;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}
.contact-page .form-group label {
  color: var(--color-text);
}
.contact-page .form-group input,
.contact-page .form-group select,
.contact-page .form-group textarea {
  background: var(--color-bg);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.contact-page .form-group input::placeholder,
.contact-page .form-group textarea::placeholder {
  color: var(--color-text-muted);
  opacity: 1;
}
.contact-page .form-group input:focus,
.contact-page .form-group select:focus,
.contact-page .form-group textarea:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--color-brand-green) 55%, var(--color-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-green) 20%, transparent);
}
.contact-page .form-group option {
  background: var(--color-bg);
  color: var(--color-text);
}
.contact-branches { margin-bottom: 0.5rem; }
.contact-aside .social-links {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--color-border);
  color: var(--color-text);
}
.contact-map-block {
  margin-top: clamp(2rem, 4vw, 3rem);
}
.contact-map-block__head { margin-bottom: 1.25rem; }
.contact-map-wrap {
  min-height: clamp(280px, 38vw, 420px);
  border-radius: 14px;
}
.contact-map {
  min-height: clamp(280px, 38vw, 420px);
}

.form-group { margin-bottom: 1rem; }
.form-group label { display: block; font-weight: 600; margin-bottom: 0.35rem; font-size: 0.9rem; color: var(--color-text); }
.form-group input, .form-group select, .form-group textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: 1rem;
  background: var(--color-bg);
  color: var(--color-text);
}
.form-group textarea { min-height: 120px; resize: vertical; }

#map { height: 400px; border-radius: var(--radius-md); }

.timeline { position: relative; padding-left: 2rem; border-left: 3px solid var(--color-brand-green); }
.timeline__item { margin-bottom: 2rem; position: relative; }
.timeline__item::before {
  content: '';
  position: absolute;
  left: -2.45rem;
  top: 0.35rem;
  width: 12px;
  height: 12px;
  background: var(--color-brand-green);
  border-radius: 50%;
}
.timeline__year { font-weight: 800; color: var(--color-brand-blue); font-size: 1.25rem; }

@media (max-width: 1320px) {
  .weather-widget__loc {
    max-width: 7.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (max-width: 1140px) {
  :root {
    --header-h: 64px;
  }
  .site-header__inner {
    flex-wrap: wrap;
    align-content: center;
    padding-block: 0.35rem;
    gap: 0.35rem 0.65rem;
  }
  .site-header__logo {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
  }
  .site-header__logo img {
    max-width: min(180px, 46vw);
  }
  .site-header__logo-img--light {
    height: 34px;
  }
  .weather-widget {
    order: 2;
    margin-left: auto;
    font-size: 0.8rem;
  }
  .weather-widget-wrap {
    order: 2;
    margin-left: auto;
  }
  .weather-widget__loc {
    display: none;
  }
  .nav-toggle {
    display: inline-flex;
    order: 3;
    margin-left: 0.1rem;
  }
  .main-nav {
    display: none;
    flex: 1 1 100%;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    order: 4;
    padding: 0.25rem 0 0.75rem;
  }
  .main-nav.is-open {
    display: flex;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    margin-top: 0.15rem;
    padding-top: 0.35rem;
  }
  .site-header:not(.site-header--on-dark) .main-nav.is-open {
    border-top-color: var(--color-border);
  }
  .main-nav a {
    font-size: 0.95rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--color-border);
  }
  .main-nav a:last-child:not(.main-nav__portal) {
    border-bottom: none;
  }
  .main-nav > .main-nav__link:has(+ .main-nav__portal) {
    border-bottom: none;
  }
  .main-nav__cta {
    margin-top: 0.65rem;
    align-self: flex-start;
    width: 100%;
    justify-content: center;
    padding-block: 0.65rem;
  }
  .site-header--on-dark .main-nav a {
    border-bottom-color: rgba(255, 255, 255, 0.14);
  }
  .site-header--menu-open {
    --header-glass-blur: blur(28px) saturate(1.65);
  }
  .site-header--menu-open.site-header--on-dark {
    background: var(--header-glass-dark);
  }
  .site-header--menu-open:not(.site-header--on-dark) {
    background: var(--header-glass-light);
  }
  html[data-theme="dark"] .site-header--menu-open:not(.site-header--on-dark),
  html[data-theme="dark"] .site-header--menu-open.site-header--brand {
    background: var(--header-glass-dark);
  }
  @media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--menu-open:not(.site-header--on-dark),
    html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--menu-open.site-header--brand {
      background: var(--header-glass-dark);
    }
  }
  body.nav-open {
    overflow: hidden;
  }
  .site-header--brand .nav-toggle {
    order: 2;
    margin-left: auto;
    color: var(--color-heading);
  }
  .site-header--brand .main-nav > .main-nav__link,
  .site-header--brand .main-nav > .main-nav__dropdown,
  .site-header--brand .main-nav > .main-nav__portal {
    height: auto;
  }
  .site-header--brand .main-nav__link,
  .site-header--brand .main-nav__dropdown-toggle {
    width: 100%;
    height: auto;
    min-height: 0;
    justify-content: space-between;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--color-border);
    letter-spacing: 0.06em;
    text-align: left;
  }
  .site-header--brand .main-nav > .main-nav__link:has(+ .main-nav__portal) {
    border-bottom: none;
  }
  .site-header--brand .main-nav__link.is-active::after,
  .site-header--brand .main-nav__dropdown.is-active > .main-nav__dropdown-toggle::after {
    display: none;
  }
  .site-header--brand .main-nav__dropdown {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    height: auto;
  }
  .site-header--brand .main-nav__portal {
    width: 100%;
    height: auto;
    min-height: 2.75rem;
    justify-content: center;
    margin-top: 1rem;
    padding: 0.75rem 0.95rem;
    border: 2px solid var(--color-brand-green);
    border-bottom-color: var(--color-brand-green);
    overflow: visible;
    flex-shrink: 0;
  }
  .site-header--brand .main-nav__dropdown-menu {
    position: static;
    left: auto;
    top: auto;
    right: auto;
    transform: none;
    width: 100%;
    min-width: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: none;
    flex-direction: column;
    align-items: stretch;
    box-shadow: none;
    border: none;
    border-radius: 0;
    margin: 0;
    padding: 0;
    background: transparent;
  }
  .site-header--brand .main-nav__dropdown.is-open .main-nav__dropdown-menu {
    display: flex;
  }
  .site-header--brand .main-nav__dropdown-item {
    width: 100%;
    padding: 0.65rem 0 0.65rem 0.85rem;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-heading);
    background: transparent;
  }
  .site-header--brand .main-nav__dropdown-item:hover,
  .site-header--brand .main-nav__dropdown-item.is-active {
    background: color-mix(in srgb, var(--color-brand-green) 12%, transparent);
  }
  html[data-theme="dark"] .site-header--brand .main-nav__dropdown-item:hover,
  html[data-theme="dark"] .site-header--brand .main-nav__dropdown-item.is-active {
    background: rgba(255, 255, 255, 0.08);
    color: #fff !important;
  }
  .site-header--unit .nav-toggle {
    order: 2;
    margin-left: auto;
  }
  .site-header--unit .main-nav > .main-nav__link,
  .site-header--unit .main-nav > .main-nav__dropdown,
  .site-header--unit .main-nav > .main-nav__portal {
    height: auto;
  }
  .site-header--unit .main-nav__link,
  .site-header--unit .main-nav__dropdown-toggle {
    width: 100%;
    height: auto;
    min-height: 0;
    justify-content: space-between;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--color-border);
    letter-spacing: 0.06em;
    text-align: left;
  }
  .site-header--unit .main-nav > .main-nav__link:has(+ .main-nav__portal) {
    border-bottom: none;
  }
  .site-header--unit .main-nav__link.is-active::after,
  .site-header--unit .main-nav__dropdown.is-active > .main-nav__dropdown-toggle::after {
    display: none;
  }
  .site-header--unit .main-nav__dropdown {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    height: auto;
  }
  .site-header--unit .main-nav__portal {
    width: 100%;
    height: auto;
    min-height: 2.75rem;
    justify-content: center;
    margin-top: 1rem;
    padding: 0.75rem 0.95rem;
    border: 2px solid var(--header-unit-accent);
    border-bottom-color: var(--header-unit-accent);
    overflow: visible;
    flex-shrink: 0;
  }
  .site-header--unit .main-nav__dropdown-menu {
    position: static;
    left: auto;
    top: auto;
    right: auto;
    transform: none;
    width: 100%;
    min-width: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: none;
    flex-direction: column;
    align-items: stretch;
    box-shadow: none;
    border: none;
    border-radius: 0;
    margin: 0;
    padding: 0;
    background: transparent;
  }
  .site-header--unit .main-nav__dropdown.is-open .main-nav__dropdown-menu {
    display: flex;
  }
  .site-header--unit .main-nav__dropdown-item {
    width: 100%;
    padding: 0.65rem 0 0.65rem 0.85rem;
    border-bottom: 1px solid var(--color-border);
    color: var(--header-unit-primary);
    background: transparent;
  }
  .site-header--unit .main-nav__dropdown-item:hover,
  .site-header--unit .main-nav__dropdown-item.is-active {
    background: color-mix(in srgb, var(--header-unit-accent) 14%, transparent);
    color: var(--header-unit-accent);
  }
  html[data-theme="dark"] .site-header--unit .main-nav__dropdown-item {
    color: var(--color-text);
  }
  html[data-theme="dark"] .site-header--unit .main-nav__dropdown-item:hover,
  html[data-theme="dark"] .site-header--unit .main-nav__dropdown-item.is-active {
    background: rgba(255, 255, 255, 0.08);
    color: #fff !important;
  }
  .site-header--menu-open.site-header--unit {
    background: var(--header-glass-light);
  }
  html[data-theme="dark"] .site-header--menu-open.site-header--unit {
    background: var(--header-glass-dark);
  }
  @media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-item:hover,
    html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--brand .main-nav__dropdown-item.is-active {
      background: rgba(255, 255, 255, 0.08);
      color: #fff !important;
    }
    html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-item {
      color: #fff !important;
    }
    html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-item:hover,
    html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--unit .main-nav__dropdown-item.is-active {
      background: rgba(255, 255, 255, 0.08);
      color: #fff !important;
    }
    html:not([data-theme="light"]):not([data-theme="dark"]) .site-header--menu-open.site-header--unit {
      background: var(--header-glass-dark);
    }
  }
  .home-hero {
    min-height: clamp(460px, 72vh, 680px);
  }
  .home-hero__content {
    padding-inline: max(var(--gutter), 1.25rem);
  }
  .home-hero__copy {
    max-width: none;
  }
}

@media (max-width: 1024px) {
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .stats-bar { grid-template-columns: repeat(2, 1fr); }
  .site-footer__inner {
    grid-template-columns: 1fr 1fr;
  }
  .site-footer__col--brand {
    grid-column: 1 / -1;
    border-left: 0;
    padding-right: 0;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }
  .site-footer__col:nth-child(2) {
    border-left: 0;
  }
  .unit-card--home .unit-card__logo-wrap { height: clamp(110px, 16vw, 150px); }
  .home-dashboard__sidebar {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
  .pizarra-cards__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .site-footer__inner {
    grid-template-columns: 1fr;
  }
  .site-footer__col {
    border-left: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
  }
  .site-footer__col--brand {
    padding-top: 0;
    border-top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    padding-bottom: 1.5rem;
  }
  .hero { min-height: 60vh; }
  .hero__grid { grid-template-columns: 1fr; }
  .hero__media { order: -1; max-width: 520px; margin: 0 auto; }
  .hero-slider { min-height: 62vh; }
  .hero-slider__content { bottom: 5rem; padding-bottom: 0.5rem; }
  .hero-slider__title { font-size: clamp(1.55rem, 7vw, 2rem); }
  .hero-slider__subtitle { font-size: 0.95rem; }
  main > .page-hero:first-child {
    padding-top: calc(var(--header-h) + 1.75rem);
    padding-bottom: 1.75rem;
  }
  .page-hero h1 { font-size: 1.85rem; }
  .page-hero--accent::after {
    background-position: right -12% center;
    background-size: clamp(260px, 88vw, 520px) auto;
    opacity: 0.3;
  }
  .pizarra-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pizarra-card__price { font-size: 1.25rem; }
  .hero-slider__controls {
    bottom: calc(clamp(1rem, 3vw, 2rem) + 3.25rem);
  }
  .hero-slider__grain { margin-top: -2.5rem; }
  .home-dashboard__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    align-items: stretch;
  }
  .home-dashboard__sidebar,
  .home-dashboard__main {
    display: contents;
  }
  .home-dashboard__pizarra { order: 1; grid-column: 1 / -1; }
  .home-dash-card--events { order: 2; }
  .home-dash-card--weather { order: 3; }
  .home-dash-card--rain { order: 4; grid-column: 1 / -1; }
  .home-dashboard__news { order: 5; grid-column: 1 / -1; }
  .home-dashboard__grid:not(:has(.home-dash-card--weather)) .home-dash-card--events {
    grid-column: 1 / -1;
  }
  .home-dash-card--events,
  .home-dash-card--weather {
    padding: 1rem 0.85rem;
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .home-dash-card--events .home-dash-card__head,
  .home-dash-card--weather .home-dash-card__head {
    margin-bottom: 0.65rem;
    gap: 0.5rem;
  }
  .home-dash-card--events .home-dash-card__icon,
  .home-dash-card--weather .home-dash-card__icon {
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
  }
  .home-dash-card--events .home-dash-card__place,
  .home-dash-card--weather .home-dash-card__place {
    font-size: 0.88rem;
  }
  .home-dash-card--weather .home-dash-card__hero-value {
    font-size: 2rem;
  }
  .home-dash-card--events .home-cal {
    display: none;
  }
  .home-dash-card--events .home-cal-events {
    margin-top: 0;
    border-top: none;
  }
  .home-dash-card--events .home-cal-events li {
    grid-template-columns: 2.6rem 1fr;
    gap: 0.35rem;
    padding: 0.4rem 0;
    font-size: 0.75rem;
  }
  .home-dash-card--events .home-dash-card__cta,
  .home-dash-card--weather .home-dash-card__cta {
    font-size: 0.65rem;
    padding: 0.45rem 0.7rem;
    margin-top: auto;
  }
  .home-dashboard__pizarra .quotes-card--dashboard .quotes-card__track-wrap {
    padding: 0;
    overflow: visible;
  }
  .home-dashboard__pizarra .quotes-card--dashboard .quotes-card__track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
    overflow: visible;
    scroll-snap-type: none;
    flex-wrap: unset;
    justify-content: stretch;
  }
  .home-dashboard__pizarra .quotes-card--dashboard .quote-item {
    min-width: 0;
    flex: unset;
    padding: 0.65rem 0.75rem;
    border-radius: var(--radius-sm);
    background: var(--surface-glass-strong);
    border: 1px solid var(--surface-glass-border);
  }
  .home-dashboard__pizarra .quotes-card--dashboard .quotes-carousel__btn {
    display: none;
  }
  .home-dashboard__news-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .unit-card--home .unit-card__logo-wrap { height: clamp(100px, 28vw, 130px); }
  .zones-grid { grid-template-columns: 1fr; }
  .home-ops__inner { flex-direction: column; align-items: stretch; }
  .home-ops__nav { gap: 0.65rem 1rem; }
  .home-secondary-grid .home-panel {
    border-left: none;
    padding-left: 0;
    padding-right: 0;
  }
  .home-split { grid-template-columns: 1fr; }
  .home-split--reverse .home-split__media { order: -1; }
  .stats-bar--quiet { grid-template-columns: repeat(2, 1fr); }
  .team-public-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
  .team-public-card {
    padding: 1.25rem 0.75rem 1rem;
  }
  .team-public-card__photo {
    width: 72px;
    height: 72px;
    margin-bottom: 0.75rem;
    border-width: 3px;
  }
  .team-public-card__photo-placeholder {
    font-size: 1.75rem;
  }
  .team-public-card__name {
    font-size: 0.95rem;
  }
  .team-public-card__title {
    font-size: 0.72rem;
  }
  .team-public-card__role {
    font-size: 0.8rem;
  }
  .team-public-card__desc {
    font-size: 0.8rem;
  }
}
/* Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ Motion: entrada suave (estilo Apple) Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
:root {
  --motion-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-duration: 0.88s;
  --motion-stagger: 55ms;
}

@media (prefers-reduced-motion: no-preference) {
  html.js.motion-armed .motion-reveal:not(.is-in) {
    opacity: 0.94;
    transform: translate3d(0, var(--motion-y, 18px), 0) scale(var(--motion-scale, 0.985));
  }

  html.js.motion-armed .motion-reveal {
    transition:
      opacity var(--motion-duration) var(--motion-ease-out),
      transform var(--motion-duration) var(--motion-ease-out);
    transition-delay: calc(var(--motion-i, 0) * var(--motion-stagger));
    will-change: transform, opacity;
  }

  html.js.motion-armed .motion-reveal.is-in {
    opacity: 1;
    transform: none;
  }

  html.js.motion-armed .motion-reveal--hero:not(.is-in) {
    --motion-y: 26px;
    --motion-scale: 0.975;
    --motion-duration: 1.05s;
  }

  html.js.motion-armed .motion-reveal--left:not(.is-in) {
    transform: translate3d(-22px, 10px, 0) scale(0.985);
  }

  html.js.motion-armed .motion-reveal--right:not(.is-in) {
    transform: translate3d(22px, 10px, 0) scale(0.985);
  }

  html.js.motion-armed .motion-reveal--left.is-in,
  html.js.motion-armed .motion-reveal--right.is-in {
    transform: none;
  }

  /* Entrada de cortes de bases: clip + fade escalonado */
  html.js.motion-armed .home-trust-gallery__item.motion-reveal:not(.is-in) {
    opacity: 0;
    transform: translate3d(28px, 0, 0) scale(0.985);
    clip-path: inset(0 12% 0 0 round 12px);
  }
  html.js.motion-armed .home-trust-gallery__item.motion-reveal {
    transition:
      opacity 0.95s var(--motion-ease-out),
      transform 0.95s var(--motion-ease-out),
      clip-path 1.05s var(--motion-ease-out);
    transition-delay: calc(var(--motion-i, 0) * 90ms);
  }
  html.js.motion-armed .home-trust-gallery__item.motion-reveal.is-in {
    opacity: 1;
    transform: none;
    clip-path: inset(0 0 0 0 round 12px);
  }

  /* Aparición fotográfica coherente con las landings de servicios */
  html.js.motion-armed :is(
    .home-estaciones-banner__media
  ).motion-reveal:not(.is-in) {
    opacity: 0;
    clip-path: inset(0 9% 0 0 round 16px);
  }
  html.js.motion-armed :is(
    .home-estaciones-banner__media
  ).motion-reveal {
    transition:
      opacity 0.9s var(--motion-ease-out),
      transform 1s var(--motion-ease-out),
      clip-path 1.05s var(--motion-ease-out);
    transition-delay: calc(var(--motion-i, 0) * 70ms);
  }
  html.js.motion-armed :is(
    .home-estaciones-banner__media
  ).motion-reveal.is-in {
    opacity: 1;
    clip-path: inset(0 0 0 0 round 16px);
  }

  html.js.motion-armed .motion-count.is-counting {
    font-variant-numeric: tabular-nums;
  }

  /* Overrides segÃƒÂºn admin Ã¢â€ â€™ Animaciones */
  html.anim-disabled .motion-reveal,
  html.anim-disabled .motion-reveal:not(.is-in) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  html.anim-disabled .home-trust-gallery__item.motion-reveal,
  html.anim-disabled .home-trust-gallery__item.motion-reveal:not(.is-in),
  html.anim-disabled :is(
    .home-estaciones-banner__media
  ).motion-reveal {
    clip-path: none !important;
  }

  html.anim-enabled.anim-no-move .motion-reveal:not(.is-in),
  html.anim-enabled.anim-no-move .motion-reveal--left:not(.is-in),
  html.anim-enabled.anim-no-move .motion-reveal--right:not(.is-in) {
    transform: none !important;
  }

  html.anim-enabled.anim-no-scale .page-split__media picture,
  html.anim-enabled.anim-no-scale .page-split__media .page-split__frame,
  html.anim-enabled.anim-no-scale .page-split__media .home-split__placeholder,
  html.anim-enabled.anim-no-scale .page-split__video,
  html.anim-enabled.anim-no-scale .pub-card:hover .pub-card__img {
    transform: none !important;
    transition: none !important;
  }

  html.anim-enabled.anim-no-hover .card:hover,
  html.anim-enabled.anim-no-hover .pub-card:hover,
  html.anim-enabled.anim-no-hover .unit-card--page:hover,
  html.anim-enabled.anim-no-hover .svc-asfalto-gallery__item:hover .svc-asfalto-gallery__frame {
    transform: none !important;
    box-shadow: inherit;
  }

  html.anim-enabled.anim-no-decorative .novedades-loading__spinner,
  html.anim-enabled.anim-no-decorative .hero-slider__media .hero-slider__bg,
  html.anim-enabled.anim-no-decorative .home-hero__media picture img,
  html.anim-enabled.anim-no-decorative .home-hero__media > .home-hero__img,
  html.anim-enabled.anim-no-decorative .page-split__media--drone .page-split__frame--drone img,
  html.anim-enabled.anim-no-decorative .page-split__media--drone .page-split__frame--drone picture img,
  html.anim-enabled.anim-no-decorative .home-trust-gallery__img,
  html.anim-enabled.anim-no-decorative .nutricion-support__img,
  html.anim-enabled.anim-no-decorative .nutricion-support__media-item img,
  html.anim-enabled.anim-no-decorative .svc-asfalto-hero__img,
  html.anim-enabled.anim-no-decorative .svc-asfalto-hero__media img,
  html.anim-enabled.anim-no-decorative .svc-asfalto-gallery__img,
  html.anim-enabled.anim-no-decorative .svc-asfalto-gallery__item img,
  html.anim-enabled.anim-no-decorative .svc-asfalto-cta__img,
  html.anim-enabled.anim-no-decorative .svc-asfalto-cta__media img,
  html.anim-enabled.anim-no-decorative .svc-asfalto-why__img,
  html.anim-enabled.anim-no-decorative .svc-asfalto-why__ground img {
    animation: none !important;
  }

  html.anim-enabled.anim-no-loading .novedades-grid--loading .card {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  html.anim-enabled.anim-no-loading .novedades-grid--loading .card__img--placeholder {
    animation: none !important;
  }
  html.anim-enabled.anim-no-loading .novedades-loading {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.js.motion-armed .motion-reveal:not(.is-in) {
    opacity: 1;
    transform: none;
  }
  html.js.motion-armed .home-trust-gallery__item.motion-reveal:not(.is-in),
  html.js.motion-armed .home-trust-gallery__item.motion-reveal,
  html.js.motion-armed :is(
    .home-estaciones-banner__media,
    .svc-pulv-photo
  ).motion-reveal {
    clip-path: none !important;
    transition: none !important;
  }
  .hero-slider__media .hero-slider__bg {
    animation: none !important;
    transform: none !important;
  }
  .home-hero__media picture img,
  .home-hero__media > .home-hero__img {
    animation: none !important;
    transform: none !important;
  }
  .page-split__media--drone .page-split__frame--drone img,
  .page-split__media--drone .page-split__frame--drone picture img {
    animation: none !important;
    transform: none !important;
  }
  .home-trust-gallery__img,
  .nutricion-support__img,
  .nutricion-support__media-item img,
  .svc-asfalto-hero__img,
  .svc-asfalto-hero__media img,
  .svc-asfalto-gallery__img,
  .svc-asfalto-gallery__item img,
  .svc-asfalto-cta__img,
  .svc-asfalto-cta__media img,
  .svc-asfalto-why__img,
  .svc-asfalto-why__ground img,
  .svc-pulv-hero__img,
  .svc-pulv-hero__media img,
  .svc-pulv-why__img,
  .svc-pulv-why__ground img,
  .svc-pulv-strip__img,
  .svc-pulv-strip__bg img {
    animation: none !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
  }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Page heroes mejorados Ã¢â€â‚¬Ã¢â€â‚¬ */
.page-hero--accent {
  position: relative;
  overflow: hidden;
  padding: clamp(2.5rem, 5vw, 3.75rem) 0;
  background: linear-gradient(135deg, var(--page-accent, var(--color-brand-blue-dark)) 0%, var(--color-brand-blue) 100%);
}
.page-hero--accent::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.12;
  background:
    radial-gradient(circle at 15% 85%, rgba(80, 163, 57, 0.6) 0%, transparent 50%),
    radial-gradient(circle at 90% 10%, rgba(255, 255, 255, 0.3) 0%, transparent 45%);
  pointer-events: none;
}
.page-hero--accent::after {
  content: '';
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: right -6% center;
  background-size: clamp(360px, 72vw, 860px) auto;
  opacity: 0.42;
  pointer-events: none;
}

/* Oscuro: misma escala que Nosotros (negro / grises), no azul claro */
html[data-theme="dark"] .page-hero {
  background: var(--surface-inverse);
}
html[data-theme="dark"] .page-hero--accent {
  background:
    linear-gradient(135deg, #000000 0%, #121212 55%, #1a1a1a 100%);
}
html[data-theme="dark"] .page-hero--accent::before {
  opacity: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 100%),
    radial-gradient(circle at 15% 85%, rgba(80, 163, 57, 0.18) 0%, transparent 50%);
}
html[data-theme="dark"] .page-hero--accent::after {
  filter: brightness(0.28) contrast(1.05) grayscale(0.15);
  opacity: 0.28;
}
html[data-theme="dark"] .page-hero--bg-contacto::after,
html[data-theme="dark"] .page-hero--accent.page-hero--bg-contacto::after {
  filter: brightness(0.22) contrast(1.08);
  opacity: 0.22;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .page-hero {
    background: var(--surface-inverse);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .page-hero--accent {
    background:
      linear-gradient(135deg, #000000 0%, #121212 55%, #1a1a1a 100%);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .page-hero--accent::before {
    opacity: 1;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 100%),
      radial-gradient(circle at 15% 85%, rgba(80, 163, 57, 0.18) 0%, transparent 50%);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .page-hero--accent::after {
    filter: brightness(0.28) contrast(1.05) grayscale(0.15);
    opacity: 0.28;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .page-hero--bg-contacto::after,
  html:not([data-theme="light"]):not([data-theme="dark"]) .page-hero--accent.page-hero--bg-contacto::after {
    filter: brightness(0.22) contrast(1.08);
    opacity: 0.22;
  }
}
.page-hero--bg-cotizaciones::after {
  background-image: url('../brand/page-heroes/cotizaciones.svg');
}
.page-hero--bg-lluvias::after {
  background-image: url('../brand/page-heroes/lluvias.svg');
}
.page-hero--bg-eventos::after {
  background-image: url('../brand/page-heroes/eventos.svg');
}
.page-hero--bg-publicaciones::after {
  background-image: url('../brand/page-heroes/publicaciones.svg');
}
.page-hero--bg-sostenibilidad::after {
  background-image: url('../brand/page-heroes/sostenibilidad.svg');
}
.page-hero--bg-contacto::after {
  background-image: url('../brand/page-heroes/contacto.svg');
}
.page-hero__content { position: relative; z-index: 1; }
.page-breadcrumb {
  margin: 0 0 1.1rem;
}
.page-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.page-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.page-breadcrumb__item:not(:last-child)::after {
  content: '/';
  color: rgba(255, 255, 255, 0.45);
  font-weight: 600;
  pointer-events: none;
}
.page-breadcrumb__link {
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  transition: color 0.2s ease;
}
.page-breadcrumb__link:hover {
  color: #fff;
}
.page-breadcrumb__current {
  color: var(--color-brand-green-light);
}
.page-hero__lead {
  margin: 0.65rem 0 0;
  font-size: 1.1rem;
  font-weight: 500;
  opacity: 0.9;
  max-width: 36rem;
}
.page-hero__sub {
  margin: 0.5rem 0 0;
  font-size: 1rem;
  opacity: 0.85;
  max-width: 40rem;
}
.page-hero__icon {
  margin-right: 0.45rem;
  font-size: 0.85em;
  color: var(--color-brand-green-light);
}
.page-hero__logo {
  height: 56px;
  margin-bottom: 1rem;
  display: block;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Split imagen/video + texto Ã¢â€â‚¬Ã¢â€â‚¬ */
.page-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.page-split--reverse .page-split__media { order: -1; }
.page-split__media {
  margin: 0;
}
.page-split__media picture,
.page-split__frame,
.page-split__video {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 61, 86, 0.12);
}
.page-split__frame img,
.page-split__frame picture,
.page-split__frame picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.page-split__frame .home-split__img {
  aspect-ratio: auto;
  border-radius: 0;
  min-height: 100%;
}
.page-split__video {
  position: relative;
  background: var(--page-accent, #003D56);
}
.page-split__yt {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.page-split__video-badge {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--page-accent, #00577A);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.page-split__content.prose { max-width: none; }

/* Ã¢â€â‚¬Ã¢â€â‚¬ Institucional / Nosotros Ã¢â€â‚¬Ã¢â€â‚¬ */
.inst-hero .page-hero__content {
  max-width: 48rem;
}
.inst-hero__kicker {
  margin: 0 0 0.65rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-brand-green-light);
}
.inst-hero h1 {
  font-size: clamp(1.65rem, 3.6vw, 2.65rem);
  line-height: 1.15;
  text-wrap: balance;
  max-width: 22ch;
}

.inst-section-head {
  margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
  max-width: 46rem;
}
.inst-section-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.inst-section-head--on-dark .inst-section-head__kicker {
  color: var(--color-brand-green-light);
}
.inst-section-head--on-dark .inst-section-head__title {
  color: #fff;
}
.inst-section-head__kicker {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-brand-green);
}
.inst-section-head__title {
  margin: 0;
  font-size: clamp(1.55rem, 2.8vw, 2.25rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-heading);
  text-wrap: balance;
}
.inst-section-head__body {
  margin: 1rem 0 0;
  font-size: clamp(1rem, 1.4vw, 1.1rem);
  line-height: 1.7;
  color: var(--color-text-muted);
  max-width: 58ch;
  text-wrap: pretty;
}

.inst-intro-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
}
.inst-intro-block__copy {
  display: grid;
  gap: 1rem;
  max-width: 52ch;
}
.inst-intro-block__copy p {
  margin: 0;
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.75;
  color: var(--color-text);
  text-wrap: pretty;
}
.inst-intro-block__copy p:first-child {
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  font-weight: 600;
  color: var(--color-heading);
}
.inst-intro-block__media {
  margin: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0, 61, 86, 0.14);
  background: var(--surface-inverse);
}
.inst-intro-block__frame,
.inst-intro-block__video {
  aspect-ratio: 4 / 3;
  min-height: 280px;
}
.inst-intro-block__frame img,
.inst-intro-block__frame picture,
.inst-intro-block__frame picture img,
.inst-intro-block__img,
.inst-intro-block__yt {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}
.inst-intro-block__yt {
  min-height: 280px;
}

@media (prefers-reduced-motion: no-preference) {
  html.anim-enabled:not(.anim-no-decorative) .inst-intro-block__media--drone.is-in .inst-intro-block__frame img,
  html.anim-enabled:not(.anim-no-decorative) .inst-intro-block__media--drone.is-in .inst-intro-block__frame picture img {
    animation: page-split-drone 14s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    transform-origin: 52% 38%;
    will-change: transform;
  }
}

.inst-prose__body {
  display: grid;
  gap: 1rem;
  max-width: 68ch;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
.inst-prose__body p {
  margin: 0;
  font-size: clamp(1rem, 1.35vw, 1.1rem);
  line-height: 1.75;
  color: var(--color-text);
  text-wrap: pretty;
}
.inst-timeline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem 1.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--color-border);
}
.inst-timeline__item {
  padding-top: 1.25rem;
}
.inst-timeline__year {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--color-brand-green);
  margin-bottom: 0.35rem;
  font-variant-numeric: tabular-nums;
}
.inst-timeline__title {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-heading);
}
.inst-timeline__desc {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--color-text-muted);
}

.inst-numbers {
  background:
    radial-gradient(ellipse 70% 55% at 10% 0%, rgba(80, 163, 57, 0.18) 0%, transparent 55%),
    radial-gradient(ellipse 55% 50% at 90% 100%, rgba(255, 255, 255, 0.06) 0%, transparent 50%),
    var(--surface-inverse);
  color: #fff;
  padding: clamp(3.25rem, 6vw, 5rem) 0;
}
.inst-numbers__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}
.inst-number {
  position: relative;
  text-align: center;
  padding: 1.35rem 1rem 1.5rem;
}
.inst-number:not(.inst-number--featured):not(:nth-child(4n))::after {
  content: '';
  position: absolute;
  top: 18%;
  right: 0;
  width: 1px;
  height: 64%;
  background: rgba(255, 255, 255, 0.14);
}
.inst-number--featured {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.85rem 1.35rem;
  text-align: center;
  margin-top: 1.25rem;
  padding: 1.5rem 1.25rem 0.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.inst-number--featured .inst-number__visual {
  margin-bottom: 0;
  min-height: auto;
}
.inst-number--featured .inst-number__value {
  margin: 0;
}
.inst-number__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  margin-bottom: 0.85rem;
}
.inst-number__icon {
  font-size: 1.75rem;
  color: var(--color-brand-green-light);
}
.inst-number__icon.brand-icon {
  width: 2.75rem;
  height: 2.75rem;
}
.inst-number__ypf {
  display: block;
  height: 2.15rem;
  width: auto;
}
.inst-number__value {
  margin: 0 0 0.45rem;
  font-size: clamp(1.85rem, 3.2vw, 2.65rem);
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.inst-number__value.is-counting {
  letter-spacing: -0.03em;
}
.inst-number__label {
  margin: 0 auto;
  font-size: 0.84rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.82);
  max-width: 20ch;
}
.inst-number--featured .inst-number__label {
  max-width: 42ch;
  font-size: 1rem;
  text-align: left;
}

.inst-awards__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
}
.inst-awards__copy {
  display: grid;
  gap: 1.75rem;
}
.inst-awards__lead {
  display: grid;
  gap: 0;
}
.inst-awards__lead .inst-section-head {
  margin-bottom: 1rem;
}
.inst-awards__intro {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--color-text-muted);
  max-width: 48ch;
  text-wrap: pretty;
}
.inst-awards__highlights {
  display: grid;
  gap: 0.85rem;
}
.inst-awards__list-title {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-brand-green);
}
.inst-awards__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}
.inst-awards__list li {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-heading);
  font-weight: 600;
}
.inst-awards__mark {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-brand-gold);
  font-size: 1rem;
  margin-top: 0.1rem;
}
.inst-awards__photo {
  margin: 0;
}
.inst-awards__photo img,
.inst-awards__photo picture,
.inst-awards__photo picture img,
.inst-awards__img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  box-shadow: 0 18px 48px rgba(0, 61, 86, 0.14);
}
.inst-awards__caption {
  margin-top: 0.75rem;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.inst-presence__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.55fr);
  gap: clamp(1.75rem, 3.5vw, 3rem);
  align-items: start;
}
.inst-presence__intro .inst-section-head__body {
  max-width: 38ch;
}
.inst-presence__lists {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 3vw, 2.25rem);
  max-width: none;
  min-width: 0;
}
.inst-presence-list__title {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-brand-green);
}
.inst-presence-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.inst-presence-list__items li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-heading);
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--color-border);
}
.inst-presence-list__items li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.inst-presence-list--offices .inst-presence-list__items {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--color-border);
}
.inst-presence-list--offices .inst-presence-list__items li {
  border-bottom: 0;
  border-right: 1px solid var(--color-border);
  padding: 0.85rem 1rem 0.85rem 0;
  min-width: 0;
}
.inst-presence-list--offices .inst-presence-list__items li:last-child {
  border-right: 0;
  padding-right: 0;
}
.inst-presence-list--offices .inst-presence-list__items li:first-child {
  padding-left: 0;
}
.inst-presence-list__pin {
  flex-shrink: 0;
  color: var(--color-brand-green);
  font-size: 0.85rem;
}
.inst-presence-list__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem 1rem;
}
.inst-presence-base {
  margin: 0;
  min-width: 0;
}
.inst-presence-base__media {
  aspect-ratio: 16 / 10;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-bg-alt);
}
.inst-presence-base__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.inst-presence-base__name {
  margin: 0.55rem 0 0;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--color-heading);
}

.inst-essence {
  color: #fff;
  background: var(--surface-inverse);
}
.inst-essence__inner {
  max-width: 42rem;
  margin: 0 auto;
  text-align: center;
}
.inst-essence__body {
  display: grid;
  gap: 0.9rem;
  margin-bottom: 1.5rem;
}
.inst-essence__body p {
  margin: 0;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
  text-wrap: pretty;
}
.inst-essence__vision {
  margin: 0;
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-brand-green-light);
  text-wrap: balance;
}

.inst-values__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.25rem 1rem;
}
.inst-value {
  text-align: center;
  padding: 0.5rem 0.35rem;
}
.inst-value__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  margin-bottom: 0.85rem;
}
.inst-value__icon {
  font-size: 2rem;
  color: var(--color-brand-green);
}
.inst-value__icon.brand-icon {
  width: 2.75rem;
  height: 2.75rem;
}
.inst-value__title {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--color-heading);
}
.inst-value__body {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--color-text-muted);
  max-width: 22ch;
  margin-inline: auto;
}

@media (max-width: 1100px) {
  .inst-numbers__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .inst-number:not(.inst-number--featured):not(:nth-child(4n))::after {
    display: none;
  }
  .inst-number:not(.inst-number--featured):not(:nth-child(3n))::after {
    display: block;
    content: '';
    position: absolute;
    top: 18%;
    right: 0;
    width: 1px;
    height: 64%;
    background: rgba(255, 255, 255, 0.14);
  }
  .inst-values__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 1.75rem;
  }
}
@media (max-width: 900px) {
  .inst-intro-block,
  .inst-awards__layout {
    grid-template-columns: 1fr;
  }
  .inst-intro-block__copy {
    max-width: none;
  }
  .inst-hero h1 {
    max-width: none;
  }
  .inst-presence__layout {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .inst-presence__intro .inst-section-head__body {
    max-width: 58ch;
  }
  .inst-presence__lists {
    max-width: none;
  }
  .inst-number--featured .inst-number__label {
    text-align: center;
  }
}
@media (max-width: 720px) {
  .inst-presence-list__cards {
    grid-template-columns: 1fr;
    max-width: 28rem;
  }
  .inst-presence-list--offices .inst-presence-list__items {
    grid-template-columns: 1fr;
    border-top: 0;
  }
  .inst-presence-list--offices .inst-presence-list__items li {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
    padding: 0.45rem 0;
  }
  .inst-presence-list--offices .inst-presence-list__items li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }
  .inst-numbers__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .inst-number:not(.inst-number--featured)::after {
    display: none;
  }
  .inst-values__grid {
    grid-template-columns: 1fr;
  }
  .inst-value {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 0.85rem;
    text-align: left;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--color-border);
  }
  .inst-value__icon-wrap {
    grid-row: 1 / span 2;
    margin-bottom: 0;
    min-height: auto;
  }
  .inst-value__body {
    margin-inline: 0;
    max-width: none;
  }
}

/* --- Nosotros 2026: fotografÃ­a real, escala y trayectoria --- */
.inst-hero {
  position: relative;
  min-height: min(84vh, 780px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
  background: var(--surface-inverse);
}
.inst-hero__media {
  position: absolute;
  inset: 0;
}
.inst-hero__media picture,
.inst-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
}
.inst-hero__media img {
  object-fit: cover;
  object-position: center 52%;
  transform: scale(1.01);
}
.inst-hero__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 39, 55, 0.94) 0%, rgba(0, 50, 70, 0.7) 44%, rgba(0, 50, 70, 0.12) 78%),
    linear-gradient(180deg, rgba(0, 28, 40, 0.08) 20%, rgba(0, 35, 48, 0.62) 100%);
}
.inst-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 5vw, 5rem);
  box-sizing: border-box;
  padding-top: clamp(7rem, 16vh, 11rem);
  /* Extra bottom room so .inst-hero__scroll clears the intro overlap (translateY -3.5rem). */
  padding-bottom: clamp(7.5rem, 14vh, 10rem);
}
.inst-hero__identity {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin: 0 0 1.1rem;
  padding: 0.25rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
}
.inst-hero h1 {
  max-width: 14ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.65rem, 6.2vw, 5.35rem);
  line-height: 0.98;
  letter-spacing: -0.038em;
}
.inst-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.25rem;
  margin-top: 1.5rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.92rem;
  font-weight: 600;
}
.inst-hero__meta span + span {
  position: relative;
  padding-left: 1.25rem;
}
.inst-hero__meta span + span::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--color-brand-green-light);
  transform: translateY(-50%);
}
.inst-hero__scroll {
  position: absolute;
  right: var(--gutter);
  /* Sit above .inst-intro-block's -3.5rem pull-up so the link is not covered by the image. */
  bottom: 5.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 44px;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}
.inst-hero__scroll:hover {
  color: var(--color-brand-green-light);
}

.inst-intro-section {
  position: relative;
  z-index: 2;
  padding: 0 0 clamp(4rem, 8vw, 7rem);
  background: var(--color-bg);
}
.inst-intro-block {
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: 0;
  align-items: stretch;
  transform: translateY(-3.5rem);
  margin-bottom: -3.5rem;
}
.inst-intro-block__copy {
  position: relative;
  z-index: 2;
  max-width: none;
  padding: clamp(2rem, 4.5vw, 4rem);
  background: var(--color-bg);
  box-shadow: 0 20px 55px var(--surface-glass-shadow);
}
.inst-intro-block__copy p {
  color: var(--color-text);
}
.inst-intro-block__copy .inst-intro-block__label {
  margin-bottom: 0.35rem;
  color: var(--color-brand-green);
  font-size: 0.82rem;
  font-weight: 800;
}
.inst-intro-block__copy p:nth-of-type(2) {
  color: var(--color-heading);
  font-size: clamp(1.08rem, 1.5vw, 1.25rem);
  font-weight: 700;
}
.inst-intro-block__copy .inst-intro-block__pullquote {
  margin-top: 0.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(0, 87, 122, 0.18);
  color: var(--color-brand-blue);
  font-size: clamp(1.2rem, 2.2vw, 1.65rem);
  font-weight: 800;
  line-height: 1.3;
}
.inst-intro-block__media {
  min-height: 560px;
  border-radius: 0;
  box-shadow: none;
}
.inst-intro-block__frame,
.inst-intro-block__video {
  height: 100%;
  min-height: 560px;
  aspect-ratio: auto;
}

.inst-history {
  padding-top: clamp(4rem, 8vw, 7rem);
}
.inst-history .inst-prose {
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 6vw, 6rem);
}
.inst-history .inst-section-head {
  position: static;
  align-self: start;
  margin-bottom: 0;
}
.inst-history .inst-prose__body {
  max-width: 65ch;
  margin-bottom: 0;
}
.inst-timeline {
  position: relative;
  grid-column: 1 / -1;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(180px, 1fr);
  gap: 0;
  margin-top: clamp(2rem, 5vw, 4rem);
  padding-top: 2rem;
  border-top: 1px solid rgba(0, 87, 122, 0.2);
}
.inst-timeline__item {
  position: relative;
  padding: 1.25rem 1.2rem 0 0;
}
.inst-timeline__item::before {
  content: '';
  position: absolute;
  top: -2.4rem;
  left: 0;
  width: 13px;
  height: 13px;
  border: 3px solid var(--color-bg-alt);
  border-radius: 50%;
  background: var(--color-brand-green);
  box-shadow: 0 0 0 1px var(--color-brand-green);
}
.inst-timeline__year {
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  letter-spacing: -0.025em;
}
.inst-timeline__title {
  font-size: 1rem;
}

.inst-numbers {
  background:
    radial-gradient(ellipse 65% 70% at 0% 20%, rgba(80, 163, 57, 0.2), transparent 55%),
    var(--surface-inverse);
}
.inst-number {
  min-height: 175px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.inst-number__value {
  font-size: clamp(2.15rem, 4vw, 3.35rem);
}

.inst-awards__layout--text-only {
  grid-template-columns: minmax(0, 1fr);
  max-width: 62rem;
}
.inst-awards__layout--text-only .inst-awards__copy {
  grid-template-columns: minmax(0, 0.95fr) minmax(260px, 1fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.inst-awards__layout--text-only .inst-awards__highlights {
  padding: 1.35rem 1.5rem;
  border: 1px solid rgba(0, 87, 122, 0.14);
  background: rgba(0, 87, 122, 0.035);
}

.inst-essence {
  color: #fff;
  background: var(--surface-inverse);
}
.inst-essence .inst-section-head__kicker {
  color: var(--color-brand-green-light);
}
.inst-essence .inst-section-head__title,
.inst-essence__body p {
  color: #fff;
}
.inst-essence__inner {
  max-width: 56rem;
}
.inst-essence__vision {
  color: var(--color-brand-green-light);
  font-size: clamp(1.55rem, 3.4vw, 2.7rem);
  line-height: 1.15;
}
.inst-values__grid {
  border-top: 1px solid rgba(0, 87, 122, 0.15);
}
.inst-value {
  padding: 1.5rem 0.75rem;
}

@media (max-width: 900px) {
  .inst-hero {
    min-height: 700px;
  }
  .inst-hero__media img {
    object-position: 58% center;
  }
  .inst-hero__shade {
    background: linear-gradient(180deg, rgba(0, 42, 58, 0.16) 15%, rgba(0, 46, 63, 0.94) 76%);
  }
  .inst-hero__content {
    padding-bottom: 6.5rem;
  }
  .inst-hero__scroll {
    right: auto;
    left: clamp(1.25rem, 5vw, 5rem);
    bottom: 1.35rem;
  }
  .inst-intro-block {
    grid-template-columns: 1fr;
    transform: none;
    margin-bottom: 0;
  }
  .inst-intro-section {
    padding-top: 0;
  }
  .inst-intro-block__copy {
    box-shadow: none;
    padding-inline: 0;
  }
  .inst-intro-block__media,
  .inst-intro-block__frame,
  .inst-intro-block__video {
    min-height: 420px;
  }
  .inst-history .inst-prose {
    grid-template-columns: 1fr;
  }
  .inst-history .inst-section-head {
    position: static;
  }
  .inst-timeline {
    grid-auto-columns: minmax(230px, 72vw);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-color: rgba(0, 87, 122, 0.35) transparent;
  }
  .inst-timeline__item {
    scroll-snap-align: start;
  }
  .inst-awards__layout--text-only .inst-awards__copy {
    grid-template-columns: 1fr;
  }
  .inst-awards__layout--text-only .inst-awards__highlights {
    padding: 1.15rem 0 0;
    border: 0;
    border-top: 1px solid rgba(0, 87, 122, 0.14);
    background: transparent;
  }
}

@media (max-width: 560px) {
  .inst-hero h1 {
    font-size: clamp(2.55rem, 12vw, 4rem);
  }
  .inst-hero__meta {
    display: grid;
    gap: 0.35rem;
  }
  .inst-hero__meta span + span {
    padding-left: 0;
  }
  .inst-hero__meta span + span::before {
    display: none;
  }
  .inst-intro-block__media,
  .inst-intro-block__frame,
  .inst-intro-block__video {
    min-height: 320px;
  }
}

/* Motion mÃƒÂ¡s visible en bloques split */
@media (prefers-reduced-motion: no-preference) {
  html.js.motion-armed .page-split .motion-reveal:not(.is-in) {
    opacity: 0;
    --motion-y: 28px;
    --motion-duration: 1s;
  }
  html.js.motion-armed .page-split .motion-reveal--left:not(.is-in) {
    transform: translate3d(-36px, 22px, 0) scale(0.96);
  }
  html.js.motion-armed .page-split .motion-reveal--right:not(.is-in) {
    transform: translate3d(36px, 22px, 0) scale(0.96);
  }
  html.js.motion-armed .page-split__media picture,
  html.js.motion-armed .page-split__media .page-split__frame,
  html.js.motion-armed .page-split__media .home-split__placeholder,
  html.js.motion-armed .page-split__video {
    transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  html.js.motion-armed .page-split__media.is-in picture,
  html.js.motion-armed .page-split__media.is-in .page-split__frame,
  html.js.motion-armed .page-split__media.is-in .home-split__placeholder,
  html.js.motion-armed .page-split__media.is-in .page-split__video {
    transform: scale(1);
  }
  html.js.motion-armed .page-split__media:not(.is-in) picture,
  html.js.motion-armed .page-split__media:not(.is-in) .page-split__frame,
  html.js.motion-armed .page-split__media:not(.is-in) .home-split__placeholder,
  html.js.motion-armed .page-split__media:not(.is-in) .page-split__video {
    transform: scale(1.06);
  }

  html.anim-enabled:not(.anim-no-decorative) .page-split__media--drone.is-in .page-split__frame--drone img,
  html.anim-enabled:not(.anim-no-decorative) .page-split__media--drone.is-in .page-split__frame--drone picture img {
    animation: page-split-drone 14s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    transform-origin: 52% 38%;
    will-change: transform;
  }
}

@keyframes page-split-drone {
  0% {
    transform: scale(1) translate3d(0, 0, 0);
  }
  100% {
    transform: scale(1.18) translate3d(-2.2%, -3.2%, 0);
  }
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Unidades de negocio (pÃƒÂ¡gina) Ã¢â€â‚¬Ã¢â€â‚¬ */
.units-page-grid .unit-card--page {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.75rem;
  text-decoration: none;
  color: inherit;
  border-top: 4px solid var(--unit-accent, var(--color-brand-green));
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.units-page-grid .unit-card--page:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 61, 86, 0.12);
}
.unit-card__cta {
  margin-top: auto;
  padding-top: 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--unit-primary, var(--color-brand-blue));
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.unit-card--page:hover .unit-card__cta { color: var(--unit-accent); }

/* Ã¢â€â‚¬Ã¢â€â‚¬ Filtros pills (novedades) Ã¢â€â‚¬Ã¢â€â‚¬ */
.filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.filter-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.15rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--color-text);
  background: var(--color-bg-alt);
  border: 2px solid transparent;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}
.filter-pill:hover {
  background: var(--surface-card);
  border-color: var(--color-brand-blue);
  color: var(--color-brand-blue);
}
.filter-pill--active {
  background: var(--color-brand-blue);
  color: #fff;
  border-color: var(--color-brand-blue);
  box-shadow: 0 4px 14px rgba(0, 87, 122, 0.25);
}
.filter-pill--active:hover {
  background: var(--color-brand-blue-dark);
  color: #fff;
  border-color: var(--color-heading);
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Novedades loading Ã¢â€â‚¬Ã¢â€â‚¬ */
.novedades-loading {
  display: none;
  justify-content: center;
  padding: 2rem 0;
}
.novedades-loading.is-visible { display: flex; }
.novedades-loading__spinner {
  width: 2.5rem;
  height: 2.5rem;
  border: 3px solid var(--color-bg-alt);
  border-top-color: var(--color-brand-green);
  border-radius: 50%;
  animation: novedades-spin 0.7s linear infinite;
}
@keyframes novedades-spin {
  to { transform: rotate(360deg); }
}
.novedades-grid--loading .card {
  opacity: 0.45;
  pointer-events: none;
}
.novedades-grid--loading .card__img--placeholder {
  animation: shimmer 1.2s ease-in-out infinite;
  background: linear-gradient(90deg, #e8eef2 25%, #f4f7f9 50%, #e8eef2 75%);
  background-size: 200% 100%;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.novedades-empty {
  text-align: center;
  color: var(--color-text-muted);
  padding: 2rem 0;
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ PaginaciÃƒÂ³n Ã¢â€â‚¬Ã¢â€â‚¬ */
.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 2.5rem;
  justify-content: center;
}
.pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.6rem;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  color: var(--color-text);
  background: var(--color-bg-alt);
  transition: background 0.2s, color 0.2s;
}
.pagination__link:hover {
  background: var(--color-brand-blue);
  color: #fff;
}
.pagination__link--active {
  background: var(--color-brand-blue);
  color: #fff;
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Publicaciones Ã¢â€â‚¬Ã¢â€â‚¬ */
.pub-serial { margin-bottom: 3.5rem; }
.pub-serial:last-child { margin-bottom: 0; }
.pub-serial__head { margin-bottom: 1.75rem; max-width: 42rem; }
.pub-serial__title {
  margin: 0 0 0.5rem;
  font-size: 1.65rem;
  color: var(--color-brand-blue);
}
.pub-serial__desc {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1.05rem;
  line-height: 1.6;
}
.pub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}
.pub-card {
  display: flex;
  flex-direction: column;
  background: var(--surface-card);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 61, 86, 0.08);
  border: 1px solid var(--color-border);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.pub-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 48px rgba(0, 61, 86, 0.14);
}
.pub-card__cover-link { display: block; text-decoration: none; }
.pub-card__cover {
  margin: 0;
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.pub-card__cover picture,
.pub-card__cover .home-split__placeholder,
.pub-card__cover .pub-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: unset;
  border-radius: 0;
}
.pub-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.pub-card:hover .pub-card__img { transform: scale(1.04); }
.pub-card__cover .home-split__placeholder {
  height: 100%;
  background: linear-gradient(135deg, #00577A 0%, #50A339 100%);
}
.pub-card__placeholder {
  width: 100%;
  height: 100%;
  background:
    url('../brand/pub-cover-logo.svg') center / min(72%, 220px) no-repeat,
    linear-gradient(135deg, #00577A 0%, #50A339 100%);
}
.pub-card__cover-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 50%, rgba(0, 61, 86, 0.35));
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.pub-card:hover .pub-card__cover-shade { opacity: 1; }
.pub-card__body {
  padding: 1.25rem 1.35rem 1.35rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.35rem;
}
.pub-card__date {
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-brand-green);
}
.pub-card__title {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.35;
}
.pub-card__title a {
  color: var(--color-text);
  text-decoration: none;
}
.pub-card__title a:hover { color: var(--color-brand-blue); }
.pub-card__summary {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  line-height: 1.5;
  flex: 1;
}
.pub-card__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-bg-alt);
}
.btn--sm {
  min-height: auto;
  padding: 0.4rem 0.75rem;
  font-size: 0.85rem;
}
.pub-card__read { margin-right: auto; }
.pub-card__download {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  background: var(--color-brand-green);
  transition: background 0.2s, transform 0.2s;
}
.pub-card__download:hover {
  background: #3d8a2c;
  transform: scale(1.05);
  color: #fff;
}
.pub-card__download--unavail {
  background: var(--color-bg-alt);
  color: var(--color-text-muted);
  cursor: not-allowed;
  opacity: 0.7;
}

@media (max-width: 768px) {
  .page-split { grid-template-columns: 1fr; }
  .page-split--reverse .page-split__media { order: -1; }
  .inst-intro__split.page-split { grid-template-columns: 1fr; }
  .inst-intro__media .page-split__frame,
  .inst-intro__media .page-split__video {
    min-height: clamp(260px, 62vw, 420px);
  }
  .filter-pills { gap: 0.4rem; }
  .filter-pill { font-size: 0.8rem; padding: 0.4rem 0.9rem; }
}

/* Acciones flotantes (WhatsApp) */
.page-float-stack {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: var(--z-float);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.65rem;
}

/* WhatsApp flotante */
.whatsapp-float {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
}
.whatsapp-float__btn {
  width: 3.5rem;
  height: 3.5rem;
  border: none;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.whatsapp-float__btn:hover,
.whatsapp-float__btn:focus-visible {
  background: #1ebe57;
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
  outline: none;
}
.whatsapp-float.is-open .whatsapp-float__btn {
  background: #128c7e;
}
.whatsapp-float__panel {
  width: min(18rem, calc(100vw - 2.5rem));
  background: #fff;
  border-radius: 0.85rem;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  transform-origin: bottom right;
  animation: whatsapp-panel-in 0.22s ease;
}
.whatsapp-float__panel[hidden] {
  display: none;
}
@keyframes whatsapp-panel-in {
  from { opacity: 0; transform: translateY(8px) scale(0.96); }
  to { opacity: 1; transform: none; }
}
.whatsapp-float__head {
  padding: 0.85rem 1rem;
  background: #075e54;
  color: #fff;
}
.whatsapp-float__head strong {
  display: block;
  font-size: 0.95rem;
}
.whatsapp-float__head p {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  opacity: 0.88;
}
.whatsapp-float__list {
  list-style: none;
  margin: 0;
  padding: 0.35rem 0;
}
.whatsapp-float__branch {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.65rem 1rem;
  color: var(--color-text, #1a1a1a);
  text-decoration: none;
  border-bottom: 1px solid var(--color-border, #e8e8e8);
  transition: background 0.15s ease;
}
.whatsapp-float__list li:last-child .whatsapp-float__branch {
  border-bottom: none;
}
.whatsapp-float__branch:hover,
.whatsapp-float__branch:focus-visible {
  background: #f0faf4;
  outline: none;
}
.whatsapp-float__branch-name {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--color-brand-blue, #00577a);
}
.whatsapp-float__branch-phone {
  font-size: 0.82rem;
  color: #555;
}
@media (max-width: 480px) {
  .page-float-stack {
    right: 0.85rem;
    bottom: 0.85rem;
  }
  .whatsapp-float__btn {
    width: 3.15rem;
    height: 3.15rem;
    font-size: 1.55rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .whatsapp-float__panel { animation: none; }
  .whatsapp-float__btn { transition: none; }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Avanzar EnergÃƒÂ­a landing Ã¢â‚¬â€Ã¢â‚¬â€ */
.site-header--unit-agro .site-header__logo-img--unit {
  height: 50px;
}

.energia-landing {
  --energia-dark: var(--unit-primary, #00577A);
  --energia-accent: var(--unit-accent, #50A339);
  --energia-highlight: #5EB8E8;
  --energia-navy: #003D56;
  --energia-surface: var(--color-bg);
  --energia-card: var(--surface-card, #fff);
  background: var(--energia-surface);
  color: var(--color-text);
}
.energia-landing .section,
.energia-landing .section--alt,
.energia-landing .energia-ypf,
.energia-landing .energia-leadership,
.energia-landing .energia-sectors {
  background: var(--energia-surface);
}
html[data-theme="dark"] .energia-landing {
  --energia-surface: var(--color-bg, #000);
  --energia-card: var(--surface-card, #1a1a1a);
  --energia-dark: #fff;
  background: var(--energia-surface);
  color: #fff;
}
html[data-theme="dark"] .energia-landing .section,
html[data-theme="dark"] .energia-landing .section--alt,
html[data-theme="dark"] .energia-landing .energia-ypf,
html[data-theme="dark"] .energia-landing .energia-leadership,
html[data-theme="dark"] .energia-landing .energia-sectors {
  background: var(--energia-surface);
}
html[data-theme="dark"] .energia-landing .energia-section__header h2,
html[data-theme="dark"] .energia-landing .energia-leadership__title,
html[data-theme="dark"] .energia-landing .energia-ypf__solutions-title,
html[data-theme="dark"] .energia-landing .energia-ypf__lead,
html[data-theme="dark"] .energia-landing .energia-leadership__body,
html[data-theme="dark"] .energia-landing .energia-solution__title,
html[data-theme="dark"] .energia-landing .energia-solution__text,
html[data-theme="dark"] .energia-landing .energia-solution__tag,
html[data-theme="dark"] .energia-landing .energia-solution__icon {
  color: #fff;
}
html[data-theme="dark"] .energia-landing .energia-solution__icon {
  background: rgba(255, 255, 255, 0.1);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing {
    --energia-surface: var(--color-bg, #000);
    --energia-card: var(--surface-card, #1a1a1a);
    --energia-dark: #fff;
    background: var(--energia-surface);
    color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .section,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .section--alt,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-ypf,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-leadership,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-sectors {
    background: var(--energia-surface);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-section__header h2,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-leadership__title,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-ypf__solutions-title,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-ypf__lead,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-leadership__body,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-solution__title,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-solution__text,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-solution__tag,
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-solution__icon {
    color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .energia-landing .energia-solution__icon {
    background: rgba(255, 255, 255, 0.1);
  }
}
.energia-ecosystem {
  background: var(--color-bg-alt);
}
.energia-landing .btn--primary {
  background: var(--energia-accent);
  border-color: var(--energia-accent);
}
.energia-landing .btn--primary:hover {
  background: color-mix(in srgb, var(--energia-accent) 85%, black);
  border-color: color-mix(in srgb, var(--energia-accent) 85%, black);
}
.energia-landing .energia-section__header h2 {
  color: var(--energia-dark);
}
.energia-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  background: linear-gradient(135deg, rgba(0, 87, 122, 0.18), rgba(80, 163, 57, 0.14));
  color: var(--color-heading);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.energia-placeholder i {
  font-size: 2rem;
  opacity: 0.55;
}

.energia-hero {
  position: relative;
  min-height: clamp(520px, 82vh, 760px);
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
  padding-top: var(--header-h);
}
.energia-hero__media {
  position: absolute;
  inset: 0;
  top: 0;
  height: 100%;
}
.energia-hero__img,
.energia-hero__media img,
.energia-hero__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.energia-hero__media img { object-fit: cover; }
.energia-hero__media .energia-placeholder { width: 100%; height: 100%; min-height: inherit; }
.energia-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 45, 64, 0.88) 0%, rgba(0, 45, 64, 0.55) 48%, rgba(0, 45, 64, 0.25) 100%);
}
.energia-hero__content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  padding: 4rem 0 5rem;
}
.energia-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.9rem;
  margin-bottom: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.08);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.energia-hero__title {
  margin: 0 0 1.25rem;
  font-size: clamp(2.2rem, 5vw, 3.75rem);
  font-weight: 800;
  line-height: 1.05;
}
.energia-hero__title-accent {
  display: block;
  color: var(--energia-highlight);
  font-weight: 800;
}
.energia-hero__subtitle {
  margin: 0 0 2rem;
  max-width: 620px;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}
.energia-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}
.energia-btn {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.82rem;
  font-weight: 700;
}
.energia-btn--outline {
  border-color: rgba(255, 255, 255, 0.65);
  color: #fff;
}
.energia-btn--outline:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.energia-leadership__layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}
.energia-leadership__title {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 1.25rem;
  color: var(--energia-navy, #003d56);
}
.energia-leadership__body {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--color-text, #2a2a2a);
  margin: 0 0 1rem;
  max-width: 38rem;
}
.energia-leadership__body:last-child { margin-bottom: 0; }
.energia-leadership__media {
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 280px;
  box-shadow: var(--shadow-card);
}
.energia-leadership__media picture,
.energia-leadership__media img,
.energia-leadership__media .energia-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

.energia-ypf__lead {
  max-width: 46rem;
  font-size: 1.05rem;
  line-height: 1.65;
  margin: 0.75rem 0 0;
  color: var(--color-text-muted, #4a5560);
}
.energia-ypf__solutions-title {
  margin: 2rem 0 1rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.energia-recognition {
  position: relative;
  background: linear-gradient(120deg, #003d56 0%, #00577a 55%, #003d56 100%);
  color: #fff;
  padding: clamp(2.5rem, 6vw, 4rem) 0;
  overflow: hidden;
  text-align: center;
}
.energia-recognition__media {
  position: absolute;
  inset: 0;
}
.energia-recognition__img,
.energia-recognition__media img,
.energia-recognition__media picture {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.energia-recognition__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(0, 61, 86, 0.92) 0%, rgba(0, 87, 122, 0.88) 100%);
}
.energia-recognition__content {
  position: relative;
  z-index: 1;
}
.energia-recognition__badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  max-width: 40rem;
  padding: 1.5rem 2rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(4px);
}
.energia-recognition__logo {
  display: block;
  height: 2.5rem;
  width: auto;
}
.energia-recognition__text {
  margin: 0;
  font-size: clamp(1.15rem, 2.4vw, 1.65rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .energia-leadership__layout { grid-template-columns: 1fr; }
  .energia-leadership__media { order: -1; }
}

.energia-stats {
  background: var(--energia-navy);
  color: #fff;
  padding: 2.5rem 0;
}
.energia-stats__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
}
.energia-stat {
  text-align: center;
  padding: 0.5rem;
}
.energia-stat__icon {
  font-size: 1.35rem;
  margin-bottom: 0.65rem;
  opacity: 0.9;
}
.energia-stat__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 0.65rem;
}
.energia-stat__logo-img {
  display: block;
  width: auto;
  height: 2rem;
  opacity: 0.95;
}
.energia-stat__value {
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 0.35rem;
  font-variant-numeric: tabular-nums;
}
.energia-stat__value.is-counting {
  letter-spacing: -0.02em;
}
.energia-stat__label {
  font-size: 0.82rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.82);
}

.energia-section__header h2 {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  max-width: 720px;
}
.energia-solutions__list {
  display: grid;
  gap: 0;
}
.energia-solution {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 360px;
}
.energia-solution--reverse .energia-solution__media { order: 2; }
.energia-solution--reverse .energia-solution__body { order: 1; }
.energia-solution__media,
.energia-solution__body {
  min-height: 360px;
}
.energia-solution__media {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  display: flex;
  align-items: stretch;
}
.energia-solution__media picture,
.energia-solution__media > .energia-solution__img,
.energia-solution__media > img:not(.energia-img),
.energia-solution__media .energia-placeholder {
  flex: 1 1 auto;
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  position: relative;
  isolation: isolate;
}
.energia-solution__media picture,
.energia-solution__media > img.energia-img {
  display: block;
}
.energia-solution__media picture img,
.energia-solution__media > img.energia-img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  display: block;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
.energia-solution__media:hover picture img,
.energia-solution__media:hover > img.energia-img {
  transform: scale(1.06);
}
.energia-solution__media img,
.energia-solution__media picture,
.energia-solution__img {
  width: 100%;
  height: 100%;
  display: block;
}
.energia-solution__media .energia-placeholder { min-height: 360px; }
@media (prefers-reduced-motion: reduce) {
  .energia-solution__media picture img,
  .energia-solution__media > img.energia-img {
    transition: none;
  }
  .energia-solution__media:hover picture img,
  .energia-solution__media:hover > img.energia-img {
    transform: none;
  }
}
html.js.motion-armed .energia-solution__media picture img,
html.js.motion-armed .energia-solution__media > img.energia-img {
  transform: scale(1.08);
}
html.js.motion-armed .energia-solution.is-in .energia-solution__media picture img,
html.js.motion-armed .energia-solution.is-in .energia-solution__media > img.energia-img {
  transform: scale(1);
}
html.js.motion-armed .energia-solution.is-in .energia-solution__media:hover picture img,
html.js.motion-armed .energia-solution.is-in .energia-solution__media:hover > img.energia-img {
  transform: scale(1.06);
}
.energia-solution__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 3.5rem);
  background: var(--energia-card, var(--surface-card, #fff));
}
.energia-solution--dark .energia-solution__body {
  background: var(--energia-navy);
  color: #fff;
}
.energia-solution__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: var(--radius-sm);
  background: rgba(0, 87, 122, 0.08);
  color: var(--energia-dark);
  font-size: 1.15rem;
}
.energia-solution--dark .energia-solution__icon {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.energia-solution__kicker {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--energia-accent);
}
.energia-solution--dark .energia-solution__kicker { color: var(--energia-highlight); }
.energia-solution__title {
  margin: 0 0 1rem;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--energia-dark);
}
.energia-solution--dark .energia-solution__title {
  color: #fff;
}
.energia-solution__text {
  margin: 0;
  line-height: 1.65;
  color: var(--color-text-muted);
}
.energia-solution--dark .energia-solution__text { color: rgba(255, 255, 255, 0.86); }
.energia-solution__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}
.energia-solution__tag {
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(0, 87, 122, 0.08);
  color: var(--energia-dark);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.energia-sectors__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.energia-sector-card {
  position: relative;
  min-height: 320px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--energia-navy);
  box-shadow: var(--shadow-card);
}
.energia-sector-card__media,
.energia-sector-card__img,
.energia-sector-card__media img,
.energia-sector-card__media picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.energia-sector-card__media img { object-fit: cover; }
.energia-sector-card__media .energia-placeholder { min-height: 320px; }
.energia-sector-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 35%, rgba(0, 45, 64, 0.92));
}
.energia-sector-card__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 1.25rem;
  color: #fff;
}
.energia-sector-card__icon {
  font-size: 1.2rem;
  margin-bottom: 0.55rem;
  color: var(--energia-accent);
}
.energia-sector-card__body h3 {
  margin: 0 0 0.45rem;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.energia-sector-card__body p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.88);
}

.energia-landing .energia-img {
  opacity: 0;
  transition: opacity 0.65s ease;
}
.energia-landing .energia-img.is-loaded {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .energia-landing .energia-img {
    opacity: 1;
    transition: none;
  }
}

.energia-ecosystem__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.energia-eco-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--energia-card, var(--surface-card, #fff));
  box-shadow: var(--shadow-sm);
}
.energia-eco-card__top {
  padding: 1.75rem 1.5rem 1.5rem;
}
.energia-eco-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--eco-accent) 14%, white);
  color: var(--eco-accent);
  font-size: 1.15rem;
}
.energia-eco-card__top h3 {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--eco-accent);
  letter-spacing: 0.04em;
}
.energia-eco-card__top p {
  margin: 0 0 1rem;
  line-height: 1.6;
  color: var(--color-text-muted);
}
.energia-eco-card__link {
  font-weight: 700;
  color: var(--eco-accent);
}
.energia-eco-card__media {
  margin-top: auto;
  min-height: 180px;
}
.energia-eco-card__img,
.energia-eco-card__media img,
.energia-eco-card__media picture {
  width: 100%;
  height: 180px;
  display: block;
}
.energia-eco-card__media img { object-fit: cover; }
.energia-eco-card__media .energia-placeholder { min-height: 180px; }

.energia-cta {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
}
.energia-cta__media {
  position: absolute;
  inset: 0;
}
.energia-cta__img,
.energia-cta__media img,
.energia-cta__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.energia-cta__media img { object-fit: cover; }
.energia-cta__media .energia-placeholder { min-height: 360px; }
.energia-cta__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 45, 64, 0.92) 0%, rgba(0, 45, 64, 0.5) 48%, rgba(0, 45, 64, 0.25) 100%);
}
.energia-cta__content {
  position: relative;
  z-index: 1;
  max-width: 640px;
  padding: 4rem 0;
}
.energia-cta__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
}
.energia-cta__subtitle {
  margin: 0 0 1.75rem;
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 1024px) {
  .energia-stats__grid { grid-template-columns: repeat(3, 1fr); }
  .energia-sectors__grid { grid-template-columns: repeat(2, 1fr); }
  .energia-ecosystem__grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .energia-hero__content { padding: 3rem 0 4rem; }
  .energia-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .energia-solution,
  .energia-solution--reverse {
    grid-template-columns: 1fr;
  }
  .energia-solution--reverse .energia-solution__media,
  .energia-solution--reverse .energia-solution__body { order: unset; }
  .energia-solution__media { min-height: 240px; }
  .energia-solution__media picture img,
  .energia-solution__media > img.energia-img,
  .energia-solution__media .energia-placeholder { min-height: 240px; }
  .energia-solution__body { min-height: auto; }
  .energia-sectors__grid { grid-template-columns: 1fr; }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Landing NutriciÃƒÂ³n Ã¢â‚¬â€Ã¢â‚¬â€ */
.site-header--unit-nutricion {
  --unit-primary: #2C2416;
  --unit-accent: #B89A6A;
  --header-unit-primary: #2C2416;
  --header-unit-accent: #B89A6A;
}
.nutricion-landing {
  --nutricion-dark: #2C2416;
  --nutricion-accent: #B89A6A;
  --nutricion-cream: #F9F7F2;
  --nutricion-text: #3D3428;
  --nutricion-muted: #6B5E4F;
  --nutricion-card: #fff;
  background: var(--nutricion-cream);
  color: var(--nutricion-text);
}
.nutricion-landing .section--alt {
  background: var(--nutricion-card);
}
html[data-theme="dark"] .nutricion-landing {
  --nutricion-cream: var(--color-bg);
  --nutricion-card: var(--surface-card);
  --nutricion-text: var(--color-text);
  --nutricion-muted: var(--color-text-muted);
  --nutricion-dark: var(--color-text);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .nutricion-landing {
    --nutricion-cream: var(--color-bg);
    --nutricion-card: var(--surface-card);
    --nutricion-text: var(--color-text);
    --nutricion-muted: var(--color-text-muted);
    --nutricion-dark: var(--color-text);
  }
}
.nutricion-products.section--alt {
  background: var(--nutricion-cream);
}
.nutricion-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  background: linear-gradient(135deg, rgba(184, 154, 106, 0.22), rgba(44, 36, 22, 0.08));
  color: var(--nutricion-muted);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.nutricion-placeholder i {
  font-size: 2rem;
  opacity: 0.55;
}

.nutricion-hero {
  position: relative;
  min-height: clamp(520px, 82vh, 760px);
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
  padding-top: var(--header-h);
}
.nutricion-hero__media {
  position: absolute;
  inset: 0;
}
.nutricion-hero__img,
.nutricion-hero__media img,
.nutricion-hero__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.nutricion-hero__media img { object-fit: cover; }
.nutricion-hero__media .nutricion-placeholder { width: 100%; height: 100%; min-height: inherit; }
.nutricion-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(44, 36, 22, 0.82) 0%, rgba(44, 36, 22, 0.45) 48%, rgba(184, 154, 106, 0.18) 100%);
}
.nutricion-hero__layout {
  position: relative;
  z-index: 1;
  display: block;
  padding: 4rem 0 5rem;
}
.nutricion-hero__content { max-width: 640px; }
.nutricion-hero__title {
  margin: 0 0 1.25rem;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.08;
}
.nutricion-accent-word {
  color: var(--nutricion-accent);
}
.nutricion-hero__subtitle {
  margin: 0 0 2rem;
  max-width: 580px;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}
.nutricion-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}
.nutricion-hero__seal {
  width: clamp(140px, 16vw, 190px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 3px solid var(--nutricion-accent);
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.25rem;
  color: var(--nutricion-accent);
}
.nutricion-hero__seal-icon {
  font-size: 1.75rem;
  margin-bottom: 0.65rem;
}
.nutricion-hero__seal-text {
  margin: 0;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.35;
}
.nutricion-btn {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.82rem;
  font-weight: 700;
}
.nutricion-landing .btn--primary {
  background: var(--nutricion-accent);
  border-color: var(--nutricion-accent);
}
.nutricion-landing .btn--primary:hover {
  background: color-mix(in srgb, var(--nutricion-accent) 85%, black);
  border-color: color-mix(in srgb, var(--nutricion-accent) 85%, black);
}
.nutricion-btn--outline {
  border-color: rgba(255, 255, 255, 0.65);
  color: #fff;
}
.nutricion-btn--outline:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.nutricion-section__title {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--nutricion-dark);
}
.nutricion-section__header h2 {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  color: var(--nutricion-dark);
}
.nutricion-section__header--center { text-align: center; }
.nutricion-section__header--center h2 { margin-inline: auto; }

.nutricion-production__intro {
  max-width: 720px;
  margin-bottom: 2rem;
}
.nutricion-production {
  background: var(--nutricion-cream);
}
.nutricion-production__body {
  margin: 0;
  max-width: 68ch;
  line-height: 1.65;
  color: var(--nutricion-muted);
  text-wrap: pretty;
}
.nutricion-production__body + .nutricion-production__body {
  margin-top: 1rem;
}
.nutricion-production__map-area {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 1.5rem;
  align-items: stretch;
}
.nutricion-production__map-wrap {
  border-radius: var(--radius-md);
  overflow: hidden;
  min-height: 280px;
  height: 100%;
  background: #f4f0ea;
}
.nutricion-production__map {
  width: 100%;
  height: 100%;
  min-height: 280px;
}
.nutricion-production__plants {
  display: grid;
  gap: 1rem;
}
.nutricion-plant-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--nutricion-card);
  box-shadow: var(--shadow-sm);
}
.nutricion-plant-card__media {
  width: 100%;
  aspect-ratio: 16 / 10;
  min-height: 168px;
  border-radius: 0;
  overflow: hidden;
}
.nutricion-plant-card__img,
.nutricion-plant-card__media img,
.nutricion-plant-card__media picture {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.nutricion-plant-card--maria .nutricion-plant-card__media img {
  object-position: 50% 42%;
}
.nutricion-plant-card--canada .nutricion-plant-card__media img {
  object-position: 50% 50%;
}
.nutricion-plant-card__media .nutricion-placeholder { min-height: 168px; font-size: 0.65rem; }
.nutricion-plant-card__body {
  padding: 0.95rem 1.15rem 1.1rem;
}
.nutricion-plant-card__body h3 {
  margin: 0 0 0.3rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.nutricion-plant-card__body p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--color-text-muted);
}

.nutricion-stats {
  background: var(--nutricion-cream);
  color: var(--nutricion-text);
  padding: 3.5rem 0;
  border-top: 1px solid rgba(184, 154, 106, 0.22);
  border-bottom: 1px solid rgba(184, 154, 106, 0.22);
}
.nutricion-stats__header {
  max-width: 40rem;
  margin: 0 auto 2.25rem;
  text-align: center;
}
.nutricion-stats__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--nutricion-dark);
  text-wrap: balance;
}
.nutricion-stats__subtitle {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.5;
  color: var(--nutricion-muted);
}
.nutricion-stats__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
}
.nutricion-stat {
  text-align: center;
  padding: 0.5rem;
}
.nutricion-stat__icon {
  font-size: 1.35rem;
  margin-bottom: 0.65rem;
  color: var(--nutricion-accent);
}
.nutricion-stat__value {
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 0.35rem;
  color: var(--nutricion-dark);
  text-wrap: balance;
}
.nutricion-stat__label {
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--nutricion-muted);
}

.nutricion-products__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.nutricion-product-card {
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--nutricion-card);
  box-shadow: var(--shadow-sm);
}
.nutricion-product-card__media,
.nutricion-product-card__img,
.nutricion-product-card__media img,
.nutricion-product-card__media picture {
  width: 100%;
  height: 200px;
  display: block;
}
.nutricion-product-card__media img { object-fit: cover; }
.nutricion-product-card__media .nutricion-placeholder { min-height: 200px; }
.nutricion-product-card__body { padding: 1.5rem; }
.nutricion-product-card__title {
  margin: 0 0 1.25rem;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--nutricion-dark);
  text-wrap: balance;
}
.nutricion-product-card__block + .nutricion-product-card__block { margin-top: 1rem; }
.nutricion-product-card__kicker {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nutricion-accent);
}
.nutricion-product-card__block ul {
  margin: 0;
  padding-left: 1.1rem;
  line-height: 1.55;
  font-size: 0.9rem;
  color: var(--nutricion-muted);
}
.nutricion-product-card__block ul li::marker {
  color: var(--nutricion-accent);
}

.nutricion-systems__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.15rem;
}
.nutricion-system-card {
  position: relative;
  min-height: clamp(380px, 48vw, 520px);
  border-radius: 14px;
  overflow: hidden;
  isolation: isolate;
}
.nutricion-system-card__media,
.nutricion-system-card__img,
.nutricion-system-card__media img,
.nutricion-system-card__media picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.nutricion-system-card__media img {
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.nutricion-system-card:hover .nutricion-system-card__media img {
  transform: scale(1.07);
}
.nutricion-system-card__media .nutricion-placeholder { min-height: 380px; }
.nutricion-system-card__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(20, 16, 10, 0.18) 0%, rgba(20, 16, 10, 0.08) 38%, rgba(20, 16, 10, 0.82) 100%);
}
.nutricion-system-card__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 1.75rem 1.5rem 1.85rem;
  color: #fff;
  text-align: center;
}
.nutricion-system-card__icon {
  width: 3.75rem;
  height: 3.75rem;
  margin: 0 auto 1rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  color: #fff;
  background: var(--nutricion-accent);
  box-shadow: 0 10px 28px rgba(44, 36, 22, 0.28);
}
.nutricion-system-card__body h3 {
  margin: 0 0 0.55rem;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-wrap: balance;
}
.nutricion-system-card__body p {
  margin: 0 auto;
  max-width: 28ch;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.9);
  text-wrap: pretty;
}

.nutricion-support__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
}
.nutricion-systems {
  background: var(--nutricion-card);
  padding-block: clamp(3.5rem, 6vw, 5rem);
}
.nutricion-support {
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}
.nutricion-support__body {
  margin: 0;
  max-width: 52ch;
  line-height: 1.65;
  color: var(--nutricion-muted);
  text-wrap: pretty;
}
.nutricion-support__body + .nutricion-support__body {
  margin-top: 1rem;
}
.nutricion-support__media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  align-self: stretch;
}
.nutricion-support__media-item {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--shadow-card);
  background: var(--color-bg-alt);
}
.nutricion-support__media-item picture {
  position: absolute;
  inset: 0;
  display: block;
}
.nutricion-support__img,
.nutricion-support__media-item img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 118%;
  height: 118%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: translate(-50%, -50%);
  transform-origin: center center;
}
@media (prefers-reduced-motion: no-preference) {
  html.anim-enabled:not(.anim-no-decorative) .nutricion-support__media-item.is-in .nutricion-support__img,
  html.anim-enabled:not(.anim-no-decorative) .nutricion-support__media-item.is-in img:not(.landing-unit-logo) {
    animation: home-trust-pan-a 20s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    will-change: transform;
  }
  html.anim-enabled:not(.anim-no-decorative) .nutricion-support__media-item:nth-child(2).is-in .nutricion-support__img,
  html.anim-enabled:not(.anim-no-decorative) .nutricion-support__media-item:nth-child(2).is-in img:not(.landing-unit-logo) {
    animation-name: home-trust-pan-b;
    animation-duration: 24s;
    animation-delay: -3s;
  }
  html.anim-enabled:not(.anim-no-decorative) .nutricion-support__media-item:nth-child(3).is-in .nutricion-support__img,
  html.anim-enabled:not(.anim-no-decorative) .nutricion-support__media-item:nth-child(3).is-in img:not(.landing-unit-logo) {
    animation-name: home-trust-pan-c;
    animation-duration: 22s;
    animation-delay: -7s;
  }
  html.anim-enabled:not(.anim-no-decorative) .nutricion-support__media-item:nth-child(4).is-in .nutricion-support__img,
  html.anim-enabled:not(.anim-no-decorative) .nutricion-support__media-item:nth-child(4).is-in img:not(.landing-unit-logo) {
    animation-name: home-trust-pan-b;
    animation-duration: 26s;
    animation-delay: -11s;
  }
}
.nutricion-support__media-item .nutricion-placeholder {
  position: absolute;
  inset: 0;
  min-height: 0;
  display: grid;
  place-content: center;
}

.nutricion-ecosystem__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.nutricion-eco-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--nutricion-card);
  box-shadow: var(--shadow-sm);
}
.nutricion-eco-card__top { padding: 1.75rem 1.5rem 1.5rem; }
.nutricion-eco-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--eco-accent) 14%, white);
  color: var(--eco-accent);
  font-size: 1.15rem;
}
.nutricion-eco-card__top h3 {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--eco-accent);
  letter-spacing: 0.04em;
}
.nutricion-eco-card__top p {
  margin: 0 0 1rem;
  line-height: 1.6;
  color: var(--color-text-muted);
}
.nutricion-eco-card__link {
  font-weight: 700;
  color: var(--eco-accent);
}
.nutricion-eco-card__media {
  margin-top: auto;
  min-height: 180px;
}
.nutricion-eco-card__img,
.nutricion-eco-card__media img,
.nutricion-eco-card__media picture {
  width: 100%;
  height: 180px;
  display: block;
}
.nutricion-eco-card__media img { object-fit: cover; }
.nutricion-eco-card__media .nutricion-placeholder { min-height: 180px; }

.nutricion-cta {
  position: relative;
  min-height: clamp(420px, 48vw, 560px);
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
}
.nutricion-cta__media {
  position: absolute;
  inset: 0;
}
.nutricion-cta__img,
.nutricion-cta__media img,
.nutricion-cta__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.nutricion-cta__media img {
  object-fit: cover;
  object-position: center right;
}
.nutricion-cta__media .nutricion-placeholder { min-height: 420px; }
.nutricion-cta__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(20, 16, 10, 0.92) 0%,
    rgba(20, 16, 10, 0.72) 42%,
    rgba(20, 16, 10, 0.28) 78%,
    rgba(20, 16, 10, 0.12) 100%
  );
}
.nutricion-cta__content {
  position: relative;
  z-index: 1;
  max-width: 640px;
  padding: clamp(3.5rem, 7vw, 5.5rem) 0;
}
.nutricion-cta__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
  text-wrap: balance;
}
.nutricion-cta__title .nutricion-accent-word {
  color: var(--nutricion-accent);
}
.nutricion-cta__subtitle {
  margin: 0 0 1.75rem;
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  text-wrap: pretty;
}

@media (max-width: 1024px) {
  .nutricion-stats__grid { grid-template-columns: repeat(3, 1fr); }
  .nutricion-products__grid { grid-template-columns: 1fr; }
  .nutricion-systems__grid { grid-template-columns: 1fr; }
  .nutricion-system-card { min-height: 360px; }
  .nutricion-ecosystem__grid { grid-template-columns: 1fr; }
  .nutricion-production__map-area { grid-template-columns: 1fr; }
  .nutricion-production__map {
    min-height: 260px;
    height: 260px;
  }
  .nutricion-support__layout { grid-template-columns: 1fr; }
  .nutricion-support__media {
    max-width: 640px;
  }
}
@media (max-width: 768px) {
  .nutricion-hero__layout {
    padding: 3rem 0 4rem;
  }
  .nutricion-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .nutricion-plant-card__media {
    min-height: 148px;
  }
  .nutricion-plant-card__media .nutricion-placeholder { min-height: 148px; }
  .nutricion-plant-card__body {
    padding: 0.85rem 1rem 1rem;
  }
  .nutricion-system-card { min-height: 340px; }
  .nutricion-support__media {
    gap: 0.55rem;
  }
  .nutricion-support__media-item {
    border-radius: 10px;
  }
  .nutricion-cta {
    min-height: 380px;
  }
  .nutricion-cta__overlay {
    background: linear-gradient(
      180deg,
      rgba(20, 16, 10, 0.88) 0%,
      rgba(20, 16, 10, 0.7) 55%,
      rgba(20, 16, 10, 0.45) 100%
    );
  }
  .nutricion-cta__media img {
    object-position: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nutricion-system-card__media img {
    transition: none;
  }
  .nutricion-system-card:hover .nutricion-system-card__media img {
    transform: none;
  }
  .nutricion-support__img,
  .nutricion-support__media-item img {
    animation: none !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
  }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Landing Granos Ã¢â‚¬â€Ã¢â‚¬â€ */
.granos-landing {
  --granos-dark: #1A1A1A;
  --granos-accent: var(--unit-accent, #C67C3B);
  --granos-heading: var(--unit-accent, #C67C3B);
  --granos-text: #3D3428;
  --granos-muted: #6B5E4F;
  --granos-surface: #fff;
  --granos-card: #fff;
  background: var(--granos-surface);
  color: var(--granos-text);
}
.granos-landing .section--alt {
  background: var(--color-bg-alt);
}
.granos-trust,
.granos-infra,
.granos-commercial {
  background: var(--granos-surface);
}
html[data-theme="dark"] .granos-landing {
  --granos-surface: var(--color-bg);
  --granos-card: var(--surface-card);
  --granos-text: var(--color-text);
  --granos-muted: var(--color-text-muted);
  --granos-dark: var(--color-text);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .granos-landing {
    --granos-surface: var(--color-bg);
    --granos-card: var(--surface-card);
    --granos-text: var(--color-text);
    --granos-muted: var(--color-text-muted);
    --granos-dark: var(--color-text);
  }
}
.granos-landing .granos-section__title,
.granos-landing .granos-section__header h2 {
  color: var(--granos-heading);
}
.granos-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  background: linear-gradient(135deg, rgba(212, 132, 42, 0.16), rgba(74, 44, 18, 0.1));
  color: var(--color-heading);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.granos-placeholder i {
  font-size: 2rem;
  opacity: 0.55;
}

.granos-hero {
  position: relative;
  min-height: clamp(520px, 82vh, 760px);
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
  padding-top: var(--header-h);
}
.granos-hero__media { position: absolute; inset: 0; }
.granos-hero__img,
.granos-hero__media img,
.granos-hero__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.granos-hero__media img { object-fit: cover; }
.granos-hero__media .granos-placeholder { width: 100%; height: 100%; min-height: inherit; }
.granos-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(20, 20, 20, 0.88) 0%, rgba(20, 20, 20, 0.45) 55%, rgba(20, 20, 20, 0.2) 100%);
}
.granos-hero__content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  padding: 4rem 0 5rem;
}
.granos-hero__brand {
  margin: 0 0 1rem;
  font-size: clamp(0.95rem, 1.6vw, 1.15rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--granos-accent);
  text-wrap: balance;
}
.granos-hero__title {
  margin: 0 0 1.25rem;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.08;
  text-wrap: balance;
}
.granos-hero__title-accent {
  display: block;
  color: var(--granos-accent);
}
.granos-hero__subtitle {
  margin: 0 0 2rem;
  max-width: 620px;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  text-wrap: pretty;
}
.granos-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}
.granos-btn {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.82rem;
  font-weight: 700;
}
.granos-landing .btn--primary {
  background: var(--granos-accent);
  border-color: var(--granos-accent);
}
.granos-landing .btn--primary:hover {
  background: color-mix(in srgb, var(--granos-accent) 85%, black);
  border-color: color-mix(in srgb, var(--granos-accent) 85%, black);
}
.granos-landing .home-presence .btn--primary {
  background: var(--color-brand-green);
  border-color: var(--color-brand-green);
}
.granos-landing .home-presence .btn--primary:hover {
  background: #449830;
  border-color: #449830;
}
.granos-btn--outline {
  border-color: rgba(255, 255, 255, 0.65);
  color: #fff;
}
.granos-btn--outline:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.granos-section__title {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1.15;
}
.granos-section__header h2 {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
}
.granos-section__header--center { text-align: center; }
.granos-section__header--center h2 { margin-inline: auto; }

.granos-trust__layout {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 2.5rem;
  align-items: start;
}
.granos-trust__body,
.granos-prose {
  color: var(--granos-muted);
}
.granos-trust__body p,
.granos-prose p {
  margin: 0 0 1rem;
  line-height: 1.65;
  max-width: 65ch;
  text-wrap: pretty;
}
.granos-trust__body p:last-child,
.granos-prose p:last-child {
  margin-bottom: 0;
}
.granos-trust__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.granos-trust-stat {
  padding: 1.25rem;
  border-radius: var(--radius-md);
  background: var(--granos-card);
  box-shadow: var(--shadow-sm);
}
.granos-trust-stat__icon {
  font-size: 1.35rem;
  margin-bottom: 0.65rem;
  color: var(--granos-accent);
}
.granos-trust-stat__value {
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 0.35rem;
  color: var(--granos-text);
}
.granos-trust-stat__label {
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--granos-muted);
}

.granos-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: 360px;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.granos-split--reverse .granos-split__media { order: 2; }
.granos-split--reverse .granos-split__body { order: 1; }
.granos-split__media,
.granos-split__img,
.granos-split__media img,
.granos-split__media picture {
  width: 100%;
  height: 100%;
  min-height: 360px;
  display: block;
}
.granos-split__media img { object-fit: cover; }
.granos-split__media .granos-placeholder { min-height: 360px; }
.granos-split__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 3.5rem);
  background: var(--granos-card);
}
.granos-split__body p {
  margin: 0;
  line-height: 1.65;
  color: var(--granos-muted);
}

.granos-tech {
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 4rem 0;
}
.granos-tech__media { position: absolute; inset: 0; }
.granos-tech__img,
.granos-tech__media img,
.granos-tech__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.granos-tech__media img { object-fit: cover; }
.granos-tech__media .granos-placeholder { min-height: 100%; }
.granos-tech__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(15, 15, 15, 0.92) 0%, rgba(15, 15, 15, 0.75) 100%);
}
.granos-tech__content {
  position: relative;
  z-index: 1;
  max-width: 960px;
}
.granos-tech__title {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  color: var(--granos-accent);
}
.granos-tech__body {
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 0.88);
}
.granos-tech__body p {
  margin: 0 0 1rem;
  line-height: 1.65;
  max-width: 65ch;
  text-wrap: pretty;
}
.granos-tech__body p:last-child {
  margin-bottom: 0;
}
.granos-tech__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.granos-tech-feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 0.5rem;
  padding: 1.15rem 1rem;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.08);
}
.granos-tech-feature__icon {
  font-size: 1.35rem;
  color: var(--granos-accent);
}
.granos-tech-feature__label {
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}
.granos-tech-feature__desc {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.78);
}

.granos-services__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.granos-service-card {
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--granos-card);
  box-shadow: var(--shadow-sm);
}
.granos-service-card__media,
.granos-service-card__img,
.granos-service-card__media img,
.granos-service-card__media picture {
  width: 100%;
  height: 180px;
  display: block;
}
.granos-service-card__media img { object-fit: cover; }
.granos-service-card__media .granos-placeholder { min-height: 180px; }
.granos-service-card__body { padding: 1.25rem; }
.granos-service-card__icon {
  font-size: 1.2rem;
  margin-bottom: 0.65rem;
  color: var(--granos-accent);
}
.granos-service-card__body h3 {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--granos-accent);
}
.granos-service-card__body p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--color-text-muted);
}

.granos-commercial-list {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}
.granos-commercial-list li {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  font-weight: 600;
  color: var(--color-text);
}
.granos-commercial-list__icon {
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: var(--radius-sm);
  background: rgba(212, 132, 42, 0.12);
  color: var(--granos-accent);
  flex-shrink: 0;
}

.granos-integration__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.granos-integration-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--granos-card);
  box-shadow: var(--shadow-sm);
}
.granos-integration-card__top { padding: 1.75rem 1.5rem 1.25rem; }
.granos-integration-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  margin-bottom: 0.75rem;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--int-accent) 14%, white);
  color: var(--int-accent);
  font-size: 1.15rem;
}
.granos-integration-card__unit {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--int-accent);
}
.granos-integration-card__top h3 {
  margin: 0 0 0.85rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.3;
}
.granos-integration-card__top ul {
  margin: 0 0 1rem;
  padding-left: 1.1rem;
  line-height: 1.55;
  color: var(--color-text-muted);
  font-size: 0.9rem;
}
.granos-integration-card__link {
  font-weight: 700;
  color: var(--int-accent);
}
.granos-integration-card__media { margin-top: auto; min-height: 180px; }
.granos-integration-card__img,
.granos-integration-card__media img,
.granos-integration-card__media picture {
  width: 100%;
  height: 180px;
  display: block;
}
.granos-integration-card__media img { object-fit: cover; }
.granos-integration-card__media .granos-placeholder { min-height: 180px; }

.granos-ecosystem__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.granos-eco-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--granos-card);
  box-shadow: var(--shadow-sm);
}
.granos-eco-card__top { padding: 1.75rem 1.5rem 1.5rem; }
.granos-eco-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--eco-accent) 14%, white);
  color: var(--eco-accent);
  font-size: 1.15rem;
}
.granos-eco-card__top h3 {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--eco-accent);
  letter-spacing: 0.04em;
}
.granos-eco-card__top p {
  margin: 0 0 1rem;
  line-height: 1.6;
  color: var(--color-text-muted);
}
.granos-eco-card__link {
  font-weight: 700;
  color: var(--eco-accent);
}
.granos-eco-card__media { margin-top: auto; min-height: 180px; }
.granos-eco-card__img,
.granos-eco-card__media img,
.granos-eco-card__media picture {
  width: 100%;
  height: 180px;
  display: block;
}
.granos-eco-card__media img { object-fit: cover; }
.granos-eco-card__media .granos-placeholder { min-height: 180px; }

.granos-cta {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
}
.granos-cta__media { position: absolute; inset: 0; }
.granos-cta__img,
.granos-cta__media img,
.granos-cta__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.granos-cta__media img { object-fit: cover; }
.granos-cta__media .granos-placeholder { min-height: 360px; }
.granos-cta__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(20, 20, 20, 0.9) 0%, rgba(20, 20, 20, 0.45) 100%);
}
.granos-cta__content {
  position: relative;
  z-index: 1;
  max-width: 640px;
  padding: 4rem 0;
}
.granos-cta__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
  text-wrap: balance;
}
.granos-cta__title-accent {
  display: block;
  color: var(--granos-accent);
}
.granos-cta__subtitle {
  margin: 0 0 1.75rem;
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  text-wrap: pretty;
}

@media (max-width: 1024px) {
  .granos-trust__layout { grid-template-columns: 1fr; }
  .granos-trust__stats { grid-template-columns: repeat(2, 1fr); }
  .granos-tech__grid { grid-template-columns: repeat(2, 1fr); }
  .granos-services__grid { grid-template-columns: repeat(2, 1fr); }
  .granos-integration__grid { grid-template-columns: 1fr; }
  .granos-ecosystem__grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .granos-hero__content { padding: 3rem 0 4rem; }
  .granos-trust__stats { grid-template-columns: 1fr; }
  .granos-split,
  .granos-split--reverse {
    grid-template-columns: 1fr;
  }
  .granos-split--reverse .granos-split__media,
  .granos-split--reverse .granos-split__body { order: unset; }
  .granos-split__media { min-height: 240px; }
  .granos-split__media .granos-placeholder { min-height: 240px; }
  .granos-split__body { min-height: auto; }
  .granos-services__grid { grid-template-columns: 1fr; }
  .granos-tech__grid { grid-template-columns: 1fr 1fr; }
}

/* Ã¢â‚¬â€Ã¢â‚¬â€ Landing Agro Ã¢â‚¬â€Ã¢â‚¬â€ */
.agro-landing {
  --agro-dark: var(--unit-primary, #50A339);
  --agro-accent: var(--unit-accent, #00577A);
  --agro-surface: #F5F9F4;
  --agro-card: #fff;
  background: var(--agro-surface);
  color: var(--color-text);
}
html[data-theme="dark"] .agro-landing {
  --agro-surface: var(--color-bg);
  --agro-card: var(--surface-card);
  --agro-accent: #fff;
  color: #fff;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .agro-landing {
    --agro-surface: var(--color-bg);
    --agro-card: var(--surface-card);
    --agro-accent: #fff;
    color: #fff;
  }
}
.agro-landing .section--alt {
  background: var(--agro-surface);
}
.agro-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  background: linear-gradient(135deg, rgba(80, 163, 57, 0.16), rgba(0, 87, 122, 0.1));
  color: var(--color-heading);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.agro-placeholder i {
  font-size: 2rem;
  opacity: 0.55;
}

.agro-hero {
  position: relative;
  min-height: clamp(520px, 82vh, 760px);
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
  padding-top: var(--header-h);
}
.agro-hero__media { position: absolute; inset: 0; }
.agro-hero__img,
.agro-hero__media img,
.agro-hero__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.agro-hero__media img { object-fit: cover; }
.agro-hero__media .agro-placeholder { width: 100%; height: 100%; min-height: inherit; }
.agro-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(20, 45, 20, 0.88) 0%, rgba(20, 45, 20, 0.45) 55%, rgba(20, 45, 20, 0.15) 100%);
}
.agro-hero__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: end;
  padding: 4rem 0 5rem;
}
.agro-hero__content { max-width: 640px; }
.agro-hero__kicker {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a8e06d;
}
.agro-hero__title {
  margin: 0 0 1.25rem;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.08;
  color: #fff;
}
.agro-hero__title-accent {
  display: block;
  color: #a8e06d;
}
.agro-hero__subtitle,
.agro-hero__body {
  margin: 0 0 1rem;
  max-width: 580px;
  font-size: 1.02rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}
.agro-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.75rem;
}
.agro-hero__partner {
  align-self: flex-end;
  margin-bottom: 0.5rem;
}
.agro-hero__partner-img {
  max-width: 140px;
  height: auto;
  display: block;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.25));
}
.agro-hero__partner-placeholder {
  padding: 1rem 1.25rem;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.92);
  color: var(--agro-dark);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.agro-btn {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.82rem;
  font-weight: 700;
}
.agro-landing .btn--primary {
  background: var(--agro-dark);
  border-color: var(--agro-dark);
}
.agro-landing .btn--primary:hover {
  background: color-mix(in srgb, var(--agro-dark) 85%, black);
  border-color: color-mix(in srgb, var(--agro-dark) 85%, black);
}
.agro-btn--outline {
  border-color: rgba(255, 255, 255, 0.65);
  color: #fff;
}
.agro-btn--outline:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.agro-section__title {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1.15;
}
.agro-section__header h2 {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
}
.agro-section__header--center { text-align: center; }
.agro-section__header--center h2 { margin-inline: auto; }
.agro-section__lead {
  margin: 0.75rem auto 0;
  max-width: 42rem;
  line-height: 1.65;
  color: var(--color-text-muted);
  text-wrap: pretty;
}

.agro-services {
  background: var(--agro-surface);
  color: var(--color-text);
}
.agro-services .agro-section__title,
.agro-services .agro-section__header h2 {
  color: var(--agro-dark);
}
.agro-services__intro {
  max-width: 720px;
  margin: 0 auto 2.5rem;
  text-align: center;
}
.agro-services__body {
  margin: 0;
  line-height: 1.65;
  color: var(--color-text-muted);
}
.agro-ecosystem {
  background: var(--agro-surface);
  color: var(--color-text);
}
.agro-ecosystem .agro-section__header h2 {
  color: var(--agro-dark);
}
.agro-process .agro-section__header h2 {
  color: var(--agro-dark);
}
.agro-presence .agro-section__title {
  color: var(--agro-dark);
}
.agro-services__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.agro-service-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--agro-dark);
  box-shadow: var(--shadow-sm);
}
.agro-service-card__media,
.agro-service-card__img,
.agro-service-card__media img,
.agro-service-card__media picture {
  width: 100%;
  height: 180px;
  display: block;
  flex-shrink: 0;
}
.agro-service-card__media img { object-fit: cover; }
.agro-service-card__media .agro-placeholder { min-height: 180px; }
.agro-service-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  background: var(--agro-dark);
}
.agro-service-card__body h3 {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: #fff;
}
.agro-service-card__body p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.88);
}

.agro-process__track {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem 0.25rem;
}
.agro-process-step {
  flex: 1 1 120px;
  max-width: 160px;
  text-align: center;
  padding: 0.5rem;
}
.agro-process-step__icon {
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto 0.85rem;
  border-radius: 50%;
  border: 2px solid var(--agro-dark);
  display: grid;
  place-items: center;
  font-size: 1.15rem;
  color: var(--agro-dark);
  background: color-mix(in srgb, var(--agro-dark) 12%, transparent);
}
.agro-process-step h3 {
  margin: 0 0 0.35rem;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--agro-dark);
}
.agro-process-step p {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--color-text-muted);
}
.agro-process-step__arrow {
  flex: 0 0 auto;
  align-self: center;
  padding: 0 0.15rem;
  color: var(--agro-dark);
  opacity: 0.45;
  font-size: 0.85rem;
}

.agro-stats {
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 4rem 0;
}
.agro-stats__media { position: absolute; inset: 0; }
.agro-stats__img,
.agro-stats__media img,
.agro-stats__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.agro-stats__media img { object-fit: cover; }
.agro-stats__media .agro-placeholder { min-height: 100%; }
.agro-stats__overlay {
  position: absolute;
  inset: 0;
  background: rgba(20, 45, 20, 0.82);
}
.agro-stats__content {
  position: relative;
  z-index: 1;
}
.agro-stats__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  text-align: center;
}
.agro-stats__lead {
  margin: 0 auto 2rem;
  max-width: 36rem;
  text-align: center;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
}
.agro-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.agro-stat {
  text-align: center;
  padding: 1rem 1.25rem;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.agro-stat:last-child { border-right: none; }
.agro-stat__value {
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 0.45rem;
}
.agro-stat__label {
  font-size: 0.85rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.85);
}
.agro-stat__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 0.65rem;
}
.agro-stat__logo-img {
  display: block;
  width: auto;
  height: 2rem;
  opacity: 0.95;
}

.agro-ecosystem__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.agro-eco-card {
  position: relative;
  min-height: 320px;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.agro-eco-card__media,
.agro-eco-card__img,
.agro-eco-card__media img,
.agro-eco-card__media picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.agro-eco-card__media img { object-fit: cover; }
.agro-eco-card__media .agro-placeholder { min-height: 320px; }
.agro-eco-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 25%, rgba(0, 0, 0, 0.75));
}
.agro-eco-card__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 1.5rem;
  color: #fff;
}
.agro-eco-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--eco-accent) 85%, white);
  color: #fff;
  font-size: 1rem;
}
.agro-eco-card__body h3 {
  margin: 0 0 0.45rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.agro-eco-card__body p {
  margin: 0 0 0.75rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.88);
}
.agro-eco-card__link {
  font-weight: 700;
  color: #fff;
  font-size: 0.88rem;
}

.agro-presence__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
}
.agro-presence__media {
  border-radius: var(--radius-md);
  overflow: hidden;
  min-height: 280px;
  box-shadow: var(--shadow-sm);
}
.agro-presence__img,
.agro-presence__media img,
.agro-presence__media picture {
  width: 100%;
  height: 100%;
  min-height: 280px;
  display: block;
}
.agro-presence__media img { object-fit: cover; }
.agro-presence__media .agro-placeholder { min-height: 280px; }
.agro-presence__subtitle {
  margin: 0 0 1rem;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--agro-accent);
  text-wrap: balance;
}
.agro-presence__body {
  margin: 0 0 1.75rem;
  max-width: 38rem;
  line-height: 1.7;
  color: var(--color-text-muted);
  text-wrap: pretty;
}

.agro-testimonial {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 400px;
}
.agro-testimonial__media,
.agro-testimonial__img,
.agro-testimonial__media img,
.agro-testimonial__media picture {
  width: 100%;
  height: 100%;
  min-height: 400px;
  display: block;
}
.agro-testimonial__media img { object-fit: cover; }
.agro-testimonial__media .agro-placeholder { min-height: 400px; }
.agro-testimonial__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 4rem);
  background: var(--agro-dark);
  color: #fff;
}
.agro-testimonial__quote-mark {
  font-size: 2rem;
  color: #a8e06d;
  margin-bottom: 1rem;
}
.agro-testimonial__quote {
  margin: 0 0 1.25rem;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 800;
  line-height: 1.35;
  border: none;
  padding: 0;
}
.agro-testimonial__text {
  margin: 0 0 1.5rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
}
.agro-testimonial__author {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a8e06d;
}

.agro-cta {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  overflow: hidden;
}
.agro-cta__media { position: absolute; inset: 0; }
.agro-cta__img,
.agro-cta__media img,
.agro-cta__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.agro-cta__media img { object-fit: cover; }
.agro-cta__media .agro-placeholder { min-height: 360px; }
.agro-cta__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 45, 20, 0.55) 0%, rgba(20, 45, 20, 0.82) 100%);
}
.agro-cta__content {
  position: relative;
  z-index: 1;
  max-width: 640px;
  padding: 4rem 0;
}
.agro-cta__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
  text-wrap: balance;
}
.agro-cta__subtitle {
  margin: 0 0 1.5rem;
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  text-wrap: pretty;
}
.agro-cta__brand {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a8e06d;
}
.agro-cta__tagline {
  margin: 0 0 1.75rem;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
  color: #fff;
}

@media (max-width: 1024px) {
  .agro-services__grid { grid-template-columns: repeat(2, 1fr); }
  .agro-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .agro-stat:nth-child(2) { border-right: none; }
  .agro-stat:nth-child(1),
  .agro-stat:nth-child(2) { border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
  .agro-ecosystem__grid { grid-template-columns: 1fr; }
  .agro-process-step__arrow { display: none; }
  .agro-presence__layout { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .agro-hero__layout {
    grid-template-columns: 1fr;
    padding: 3rem 0 4rem;
  }
  .agro-hero__partner { justify-self: start; }
  .agro-services__grid { grid-template-columns: 1fr; }
  .agro-stats__grid { grid-template-columns: 1fr; }
  .agro-stat { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
  .agro-stat:last-child { border-bottom: none; }
  .agro-testimonial { grid-template-columns: 1fr; }
  .agro-testimonial__media { min-height: 280px; }
  .agro-testimonial__media .agro-placeholder { min-height: 280px; }
}


/* ==========================================================================
   Servicios: YPF Avanzar / Hotel Pampas / Personas
   ========================================================================== */

/* Hotel mantiene superficie clara; YPF / Personas siguen el tema. */
body:has(main > .svc-hotel:first-child) {
  background: #fff;
  color: #1a1a1a;
}
html[data-theme="dark"] body:has(main > .svc-hotel:first-child) {
  background: #fff;
  color: #1a1a1a;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) body:has(main > .svc-hotel:first-child) {
    background: #fff;
    color: #1a1a1a;
  }
}

body:has(main > .svc-ypf:first-child) {
  background: var(--color-bg);
  color: var(--color-text);
}
html[data-theme="dark"] body:has(main > .svc-ypf:first-child) {
  background: var(--color-bg);
  color: var(--color-text);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) body:has(main > .svc-ypf:first-child) {
    background: var(--color-bg);
    color: var(--color-text);
  }
}

.svc-ypf-hero__media,
.svc-hotel-hero__media,
.personas-hero__media,
.svc-ypf-cta__media,
.svc-hotel-cta__media {
  top: -1px;
  height: calc(100% + 1px);
}

.svc-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 220px;
  background: linear-gradient(145deg, #0a3d56, #00577A);
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
}
.svc-hotel .svc-placeholder {
  background: linear-gradient(145deg, #003820, #004d26);
}
.svc-pulv .svc-placeholder {
  min-height: 100%;
  background: linear-gradient(145deg, #101910, #1d3d16);
}
.svc-placeholder i { font-size: 1.75rem; opacity: 0.65; }

/* --- YPF Avanzar --- */
.svc-ypf {
  --svc-primary: #00577A;
  --svc-accent: #F2C94C;
  --svc-ink: #0b2430;
  --svc-muted: #3a5160;
  --svc-surface: var(--color-bg);
  background: var(--svc-surface);
  color: var(--color-text);
}
html[data-theme="dark"] .svc-ypf {
  --svc-ink: #fff;
  --svc-muted: #fff;
  --svc-primary: #fff;
  --svc-surface: var(--color-bg);
  color: #fff;
}
html[data-theme="dark"] .svc-ypf .svc-ypf-service__icon,
html[data-theme="dark"] .svc-ypf .svc-ypf-location__pillar-icon {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
html[data-theme="dark"] .svc-ypf .section--alt {
  background: var(--color-bg-alt);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .svc-ypf {
    --svc-ink: #fff;
    --svc-muted: #fff;
    --svc-primary: #fff;
    --svc-surface: var(--color-bg);
    color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .svc-ypf .svc-ypf-service__icon,
  html:not([data-theme="light"]):not([data-theme="dark"]) .svc-ypf .svc-ypf-location__pillar-icon {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .svc-ypf .section--alt {
    background: var(--color-bg-alt);
  }
}

.svc-ypf-hero,
.svc-ypf-cta {
  position: relative;
  min-height: min(88vh, 720px);
  display: flex;
  align-items: flex-end;
  color: #fff;
  overflow: hidden;
}
.svc-ypf-hero__media,
.svc-ypf-cta__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.svc-ypf-hero__img,
.svc-ypf-hero__media img,
.svc-ypf-hero__media picture,
.svc-ypf-cta__img,
.svc-ypf-cta__media img,
.svc-ypf-cta__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.svc-ypf-hero__media img,
.svc-ypf-cta__media img { object-fit: cover; }
.svc-ypf-hero__overlay,
.svc-ypf-cta__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 28, 40, 0.18) 0%, rgba(4, 28, 40, 0.58) 70%, rgba(4, 28, 40, 0.78) 100%);
}
.svc-ypf-hero__content,
.svc-ypf-cta__content {
  position: relative;
  z-index: 1;
  padding: 7rem 0 4.5rem;
  max-width: 42rem;
}
.svc-ypf-hero__kicker {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
}
.svc-ypf-hero__title,
.svc-ypf-cta__content h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: #fff;
}
.svc-ypf-hero__subtitle {
  margin: 0 0 1rem;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 600;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.95);
}
.svc-ypf-hero__body,
.svc-ypf-cta__content p {
  margin: 0 0 1.75rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
  max-width: 38rem;
}
.svc-ypf-hero__actions,
.svc-ypf-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.svc-ypf-btn.btn--primary {
  background: var(--svc-primary);
  border-color: var(--svc-primary);
  color: #fff;
}
.svc-ypf-btn.btn--primary:hover {
  background: #004660;
  border-color: #004660;
  color: #fff;
}
.svc-ypf-btn--outline {
  border-color: rgba(255, 255, 255, 0.65);
  color: #fff;
}
.svc-ypf-btn--outline:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
}

.svc-ypf-section-head h2,
h2.svc-ypf-intro__title,
.svc-ypf-full__copy h2,
.svc-ypf-location__intro h2 {
  color: var(--svc-ink);
  text-wrap: balance;
}

.svc-ypf-intro__inner {
  max-width: 46rem;
}
.svc-ypf-intro__title {
  margin: 0 0 1.25rem;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.svc-ypf-intro__body p {
  margin: 0 0 1rem;
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--svc-muted);
  max-width: 65ch;
}
.svc-ypf-intro__body p:last-child { margin-bottom: 0; }

.svc-ypf-intro__layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
}
.svc-ypf-intro__media {
  border-radius: 14px;
  overflow: hidden;
  min-height: 280px;
  background: #0a3d56;
}
.svc-ypf-intro__img,
.svc-ypf-intro__media img,
.svc-ypf-intro__media picture {
  width: 100%;
  height: 100%;
  min-height: 280px;
  display: block;
}
.svc-ypf-intro__media img { object-fit: cover; }

.svc-ypf-services__grid {
  --svc-services-gap: clamp(1.25rem, 2.4vw, 1.75rem);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--svc-services-gap);
}
.svc-ypf-service {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-column: span 2;
  min-width: 0;
  background: transparent;
  border: none;
}
/* 5 tarjetas: 3 + 2 centradas, mismo ancho. Evita el hueco del 4+1. */
.svc-ypf-services__grid:has(> :nth-child(5):last-child) > .svc-ypf-service:nth-child(4) {
  grid-column: 2 / span 2;
}
.svc-ypf-services__grid:has(> :nth-child(5):last-child) > .svc-ypf-service:nth-child(5) {
  grid-column: 4 / span 2;
}
.svc-ypf-service__icon {
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--svc-primary) 12%, transparent);
  color: var(--svc-primary);
  font-size: 1.2rem;
}
.svc-ypf-service h3 {
  margin: 0 0 0.45rem;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--svc-ink);
}
.svc-ypf-service > p {
  margin: 0 0 1.1rem;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--svc-muted);
  flex: 1;
}
.svc-ypf-service__media {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 14px;
  background: #0a3d56;
}
.svc-ypf-service__img,
.svc-ypf-service__media img,
.svc-ypf-service__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.svc-ypf-service__media img {
  object-fit: cover;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}
.svc-ypf-service--comedor .svc-ypf-service__media img {
  object-position: center 68%;
}
.svc-ypf-service:hover .svc-ypf-service__media img {
  transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
  .svc-ypf-service__media img { transition: none; }
  .svc-ypf-service:hover .svc-ypf-service__media img { transform: none; }
}

.svc-ypf-full__layout {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 0;
  align-items: stretch;
  border-radius: 18px;
  overflow: hidden;
}
.svc-ypf-full__panel {
  background: linear-gradient(160deg, #00577A 0%, #0a3d56 100%);
  color: #fff;
  padding: clamp(1.75rem, 4vw, 2.75rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.svc-ypf-full__panel h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
}
.svc-ypf-full__panel > p {
  margin: 0 0 1.5rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
  max-width: 42ch;
}
.svc-ypf-full__media {
  min-height: 360px;
  overflow: hidden;
  background: #0a3d56;
}
.svc-ypf-full__img,
.svc-ypf-full__media img,
.svc-ypf-full__media picture {
  width: 100%;
  height: 100%;
  min-height: 360px;
  display: block;
}
.svc-ypf-full__media img { object-fit: cover; }
.svc-ypf-full__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}
.svc-ypf-full__list li {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  font-weight: 600;
  color: #fff;
}
.svc-ypf-full__feature-icon {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  flex-shrink: 0;
}

.svc-ypf-location__intro {
  max-width: 46rem;
  margin-bottom: 2rem;
}
.svc-ypf-location__intro h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}
.svc-ypf-location__intro p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--svc-muted);
}
.svc-ypf-location__pillars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
}
.svc-ypf-location__pillar {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.65rem;
  padding: 0.5rem;
  background: transparent;
  border: none;
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--svc-ink);
}
.svc-ypf-location__pillar-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--svc-primary) 12%, transparent);
  color: var(--svc-primary);
  font-size: 1.3rem;
}

.svc-ypf-gallery__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
}
.svc-ypf-gallery__item {
  margin: 0;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 12px;
  background: #0a3d56;
}
.svc-ypf-gallery__img,
.svc-ypf-gallery__item img,
.svc-ypf-gallery__item picture {
  width: 100%;
  height: 100%;
  display: block;
}
.svc-ypf-gallery__item img { object-fit: cover; }
.svc-ypf-gallery__item figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.75rem 0.9rem 0.75rem;
  background: linear-gradient(transparent, rgba(4, 28, 40, 0.85));
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
}

.svc-ypf-cta { min-height: min(70vh, 560px); align-items: center; }
.svc-ypf-cta__content { padding: 4.5rem 0; }

@media (max-width: 1100px) {
  .svc-ypf-gallery__grid { grid-template-columns: repeat(3, 1fr); }
  .svc-ypf-location__pillars { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .svc-ypf-intro__layout,
  .svc-ypf-full__layout { grid-template-columns: 1fr; }
  .svc-ypf-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .svc-ypf-services__grid > .svc-ypf-service,
  .svc-ypf-services__grid:has(> :nth-child(5):last-child) > .svc-ypf-service:nth-child(4),
  .svc-ypf-services__grid:has(> :nth-child(5):last-child) > .svc-ypf-service:nth-child(5) {
    grid-column: auto;
  }
  .svc-ypf-services__grid:has(> :nth-child(5):last-child) > .svc-ypf-service:last-child {
    grid-column: 1 / -1;
    width: calc((100% - var(--svc-services-gap)) / 2);
    justify-self: center;
  }
}
@media (max-width: 600px) {
  .svc-ypf-gallery__grid,
  .svc-ypf-location__pillars { grid-template-columns: 1fr 1fr; }
  .svc-ypf-hero__content { padding-top: 5.5rem; }
}
@media (max-width: 520px) {
  .svc-ypf-services__grid {
    grid-template-columns: 1fr;
  }
  .svc-ypf-services__grid:has(> :nth-child(5):last-child) > .svc-ypf-service:last-child {
    grid-column: auto;
    width: auto;
  }
}

/* --- Hotel Pampas (verde + mostaza de hotelpampas.com; sin azules YPF) --- */
.svc-hotel {
  --hotel-primary: #004d26;
  --hotel-accent: #e8b135;
  --hotel-accent-ink: #3d2a06;
  --hotel-ink: #1a2e22;
  --hotel-muted: #3d5646;
}

.svc-hotel-hero,
.svc-hotel-cta {
  position: relative;
  min-height: min(88vh, 720px);
  display: flex;
  align-items: flex-end;
  color: #fff;
  overflow: hidden;
}
.svc-hotel-hero__media,
.svc-hotel-cta__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.svc-hotel-hero__img,
.svc-hotel-hero__media img,
.svc-hotel-hero__media picture,
.svc-hotel-cta__img,
.svc-hotel-cta__media img,
.svc-hotel-cta__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.svc-hotel-hero__media img,
.svc-hotel-cta__media img { object-fit: cover; }
.svc-hotel-hero__overlay,
.svc-hotel-cta__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 77, 38, 0.18) 0%, rgba(0, 77, 38, 0.62) 65%, rgba(0, 52, 26, 0.88) 100%);
}
.svc-hotel-hero__content,
.svc-hotel-cta__content {
  position: relative;
  z-index: 1;
  padding: 7rem 0 4.5rem;
  max-width: 42rem;
}
.svc-hotel-hero__logo {
  width: min(220px, 62vw);
  height: auto;
  margin: 0 0 1.35rem;
  mix-blend-mode: screen;
}
.svc-hotel-hero__brand {
  margin: 0 0 1rem;
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hotel-accent);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}
.svc-hotel-hero__kicker,
.svc-hotel-restaurant__kicker {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hotel-accent);
}
.svc-hotel-hero__title,
.svc-hotel-cta__content h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: #fff;
}
.svc-hotel-hero__subtitle {
  margin: 0 0 1rem;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
}
.svc-hotel-hero__body,
.svc-hotel-cta__content p {
  margin: 0 0 1.75rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
  max-width: 38rem;
}
.svc-hotel-hero__actions,
.svc-hotel-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.svc-hotel-btn.btn--primary {
  background: var(--hotel-accent);
  border-color: var(--hotel-accent);
  color: var(--hotel-accent-ink);
}
.svc-hotel-btn.btn--primary:hover {
  background: #d4a02a;
  border-color: #d4a02a;
  color: var(--hotel-accent-ink);
}
.svc-hotel-btn--outline {
  border-color: rgba(255, 255, 255, 0.65);
  color: #fff;
}
.svc-hotel-btn--outline:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
}
.svc-hotel-cta .svc-hotel-btn.btn--primary {
  background: var(--hotel-accent);
  border-color: var(--hotel-accent);
  color: var(--hotel-accent-ink);
}
.svc-hotel-cta .svc-hotel-btn.btn--primary:hover {
  background: #d4a02a;
  border-color: #d4a02a;
  color: var(--hotel-accent-ink);
}

.svc-hotel-moments {
  position: relative;
  margin: 0;
  padding: 0;
  background: var(--hotel-primary);
}
.svc-hotel-moments__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.svc-hotel-moment {
  position: relative;
  min-height: min(68vh, 560px);
  overflow: hidden;
  isolation: isolate;
}
.svc-hotel-moment__media,
.svc-hotel-moment__shade {
  position: absolute;
  inset: 0;
}
.svc-hotel-moment__media {
  z-index: 0;
}
.svc-hotel-moment__img,
.svc-hotel-moment__media img,
.svc-hotel-moment__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.svc-hotel-moment__media img {
  object-fit: cover;
  transform: scale(1.01);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.svc-hotel-moment:hover .svc-hotel-moment__media img {
  transform: scale(1.06);
}
.svc-hotel-moment__shade {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 40, 22, 0.08) 0%, rgba(0, 40, 22, 0.15) 40%, rgba(0, 52, 26, 0.88) 100%);
  pointer-events: none;
}
.svc-hotel-moment__copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 2.25rem 1.35rem 2rem;
  color: #fff;
  text-align: center;
}
.svc-hotel-moment__copy h2 {
  margin: 0 0 0.55rem;
  font-size: clamp(1rem, 1.7vw, 1.2rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.25;
  color: var(--hotel-accent);
  text-wrap: balance;
}
.svc-hotel-moment__copy p {
  margin: 0 auto;
  max-width: 28ch;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
}
.svc-hotel-moments__bar {
  height: 0.55rem;
  background: var(--hotel-accent);
}

/* legado pillars (por si queda markup viejo en caché) */
.svc-hotel-pillars,
.svc-hotel-pillar__kicker,
.svc-hotel-pillar__icon {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .svc-hotel-moment__media img {
    transition: none;
  }
  .svc-hotel-moment:hover .svc-hotel-moment__media img {
    transform: scale(1.01);
  }
}

.svc-hotel-amenities__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.25rem;
}
.svc-hotel-amenity {
  padding: 1.5rem 1.35rem;
  background: #fff;
  border: 1px solid rgba(0, 77, 38, 0.16);
}
.svc-hotel-amenity__icon {
  margin-bottom: 0.85rem;
  color: var(--hotel-primary);
  font-size: 1.25rem;
}
.svc-hotel-amenity h3 {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--hotel-ink);
}
.svc-hotel-amenity p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--hotel-muted);
}

.svc-hotel-restaurant__layout {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
}
.svc-hotel-restaurant__media {
  min-height: 380px;
  overflow: hidden;
  background: #2a3236;
}
.svc-hotel-restaurant__img,
.svc-hotel-restaurant__media img,
.svc-hotel-restaurant__media picture {
  width: 100%;
  height: 100%;
  min-height: 380px;
  display: block;
}
.svc-hotel-restaurant__media img { object-fit: cover; }
.svc-hotel-restaurant__copy h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--hotel-ink);
  text-wrap: balance;
}
.svc-hotel-restaurant__logo {
  width: min(270px, 72vw);
  height: auto;
  margin: 0 0 1.25rem;
  display: block;
}
.svc-hotel-restaurant__copy > p {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--hotel-muted);
  max-width: 48ch;
}
.svc-hotel-restaurant__tags {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.svc-hotel-restaurant__tags li {
  padding: 0.4rem 0.75rem;
  background: rgba(232, 177, 53, 0.22);
  color: var(--hotel-primary);
  font-size: 0.85rem;
  font-weight: 700;
}

.svc-hotel-cta { min-height: min(70vh, 560px); align-items: center; }
.svc-hotel-cta__content { padding: 4.5rem 0; }

@media (max-width: 900px) {
  .svc-hotel-moments__grid { grid-template-columns: 1fr; }
  .svc-hotel-moment { min-height: min(52vh, 420px); }
  .svc-hotel-restaurant__layout { grid-template-columns: 1fr; }
}

/* --- Personas --- */
.personas-page {
  --personas-primary: var(--color-brand-blue);
  --personas-accent: var(--color-brand-green);
  --personas-ink: var(--color-heading);
}

.personas-hero {
  position: relative;
  min-height: min(78vh, 640px);
  display: flex;
  align-items: flex-end;
  color: #fff;
  overflow: hidden;
}
.personas-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.personas-hero__img,
.personas-hero__media img,
.personas-hero__media picture {
  width: 100%;
  height: 100%;
  display: block;
}
.personas-hero__media img { object-fit: cover; }
.personas-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 61, 86, 0.35) 0%, rgba(0, 61, 86, 0.82) 100%);
}
.personas-hero__content {
  position: relative;
  z-index: 1;
  padding: 7rem 0 4rem;
  max-width: 42rem;
}
.personas-hero__kicker {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9fd48a;
}
.personas-hero__title {
  margin: 0 0 1rem;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: #fff;
}
.personas-hero__subtitle {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  max-width: 40rem;
}

.personas-intro__inner {
  max-width: 46rem;
}
.personas-intro__body {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.7;
  color: var(--color-text-muted);
  font-weight: 500;
}

.personas-section-head h2 {
  color: var(--personas-ink);
  text-wrap: balance;
}

.personas-pillars__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
}
.personas-pillar {
  padding: 1.5rem 1.25rem;
  background: var(--surface-card);
  border: 1px solid var(--color-border);
}
.personas-pillar__icon {
  margin-bottom: 0.85rem;
  color: var(--personas-accent);
  font-size: 1.35rem;
}
.personas-pillar h3 {
  margin: 0 0 0.5rem;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--personas-ink);
}
.personas-pillar p {
  margin: 0;
  line-height: 1.6;
  color: var(--color-text-muted);
}

.personas-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.personas-quote {
  margin: 0;
  padding: 1.75rem 1.5rem;
  background: linear-gradient(160deg, #00577A 0%, #0a3d56 100%);
  color: #fff;
}
.personas-quote p {
  margin: 0 0 1.25rem;
  font-size: 1.1rem;
  line-height: 1.55;
  font-weight: 600;
  text-wrap: pretty;
}
.personas-quote footer {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
}

.personas-commitment__inner {
  max-width: 46rem;
}
.personas-commitment__inner h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 800;
  color: var(--personas-ink);
}
.personas-commitment__inner p {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--color-text-muted);
}

.personas-join__panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: clamp(1.75rem, 4vw, 2.75rem);
  background: #0a3d56;
  color: #fff;
}
.personas-join__copy {
  flex: 1 1 20rem;
  max-width: 40rem;
}
.personas-join__copy h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 800;
  color: #fff;
}
.personas-join__copy p {
  margin: 0 0 0.75rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
}
.personas-join__note {
  font-size: 0.95rem !important;
  color: #9fd48a !important;
}
.personas-join__cta.btn--primary {
  background: var(--personas-accent);
  border-color: var(--personas-accent);
  color: #fff;
  white-space: nowrap;
}
.personas-join__cta.btn--primary:hover {
  background: #459032;
  border-color: #459032;
}

.personas-rse__kicker {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--personas-accent);
}
.personas-rse__intro > h2 {
  margin: 0 0 1.75rem;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--personas-ink);
  text-wrap: balance;
  max-width: 20ch;
}
.personas-rse__layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  margin-bottom: 2.5rem;
}
.personas-rse__copy p {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--color-text-muted);
  max-width: 55ch;
}
.personas-rse__media {
  min-height: 280px;
  overflow: hidden;
  background: #0a3d56;
}
.personas-rse__img,
.personas-rse__media img,
.personas-rse__media picture {
  width: 100%;
  height: 100%;
  min-height: 280px;
  display: block;
}
.personas-rse__media img { object-fit: cover; }
.personas-rse__pillars-title {
  margin: 0 0 1.25rem;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--personas-ink);
}
.personas-rse__pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.personas-rse-pillar {
  padding: 1.25rem;
  background: var(--surface-card);
  border: 1px solid var(--color-border);
}
.personas-rse-pillar__icon {
  margin-bottom: 0.65rem;
  color: var(--personas-accent);
}
.personas-rse-pillar h4 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--personas-ink);
}
.personas-rse-pillar p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--color-text-muted);
}
.personas-rse__closing {
  max-width: 48rem;
}
.personas-rse__closing p {
  margin: 0 0 0.85rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--color-text-muted);
}
.personas-rse__closing p:last-of-type {
  font-weight: 700;
  color: var(--personas-ink);
  margin-bottom: 1.25rem;
}

@media (max-width: 900px) {
  .personas-testimonials__grid,
  .personas-rse__layout { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .svc-ypf-service:hover .svc-ypf-service__media img,
  .svc-asfalto-gallery__item:hover .svc-asfalto-gallery__frame {
    transform: none;
  }
}

/* --- Personas 2026: narrativa humana --- */
.personas-page {
  --personas-primary: var(--color-brand-blue);
  --personas-deep: var(--surface-inverse);
  --personas-accent: var(--color-brand-green);
  --personas-soft: var(--color-bg-alt);
  --personas-ink: var(--color-heading);
  overflow: clip;
}

.personas-hero {
  min-height: min(88vh, 760px);
  align-items: center;
}
.personas-hero__media img {
  object-position: center;
}
.personas-hero__overlay {
  background:
    linear-gradient(90deg, rgba(0, 35, 50, 0.9) 0%, rgba(0, 48, 68, 0.65) 45%, rgba(0, 61, 86, 0.1) 78%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 28, 38, 0.45) 100%);
}
.personas-hero__content {
  padding: clamp(8rem, 14vh, 11rem) 0 clamp(5rem, 10vh, 8rem);
  max-width: 46rem;
}
.personas-hero__kicker,
.personas-application__label {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0.3rem 0.75rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  letter-spacing: 0;
  text-transform: none;
}
.personas-hero__kicker {
  color: #b8e2a9;
  border-color: rgba(184, 226, 169, 0.58);
}
.personas-hero__title {
  max-width: 13ch;
  font-size: clamp(2.65rem, 6.5vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.038em;
}
.personas-hero__subtitle {
  max-width: 58ch;
  font-size: clamp(1.02rem, 1.7vw, 1.2rem);
}
.personas-hero__cta {
  margin-top: 1.75rem;
}

.personas-manifesto {
  background:
    radial-gradient(circle at 82% 42%, color-mix(in srgb, var(--color-brand-green) 12%, transparent), transparent 33%),
    var(--color-bg-alt);
}
.personas-manifesto__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(430px, 1.2fr);
  align-items: center;
  gap: clamp(2.5rem, 7vw, 7rem);
  min-height: 640px;
}
.personas-manifesto__copy {
  max-width: 35rem;
}
.personas-manifesto__copy h2,
.personas-values__head h2,
.personas-stories__head h2,
.personas-application__intro h2,
.personas-rse__copy h2 {
  margin: 0 0 1.25rem;
  color: var(--personas-ink);
  font-size: clamp(2rem, 4.3vw, 3.65rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.personas-manifesto__copy p,
.personas-application__intro > p,
.personas-rse__copy > p {
  margin: 0 0 1.25rem;
  color: var(--color-text-muted);
  font-size: 1.08rem;
  line-height: 1.75;
  text-wrap: pretty;
}
.personas-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 44px;
  color: var(--personas-primary);
  font-weight: 700;
  text-decoration: none;
}

.personas-orbit {
  position: relative;
  width: min(100%, 650px);
  aspect-ratio: 1.18;
  margin-inline: auto;
}
.personas-orbit__ring {
  position: absolute;
  border: 1px solid rgba(0, 87, 122, 0.17);
  border-radius: 50%;
  pointer-events: none;
}
.personas-orbit__ring--outer {
  inset: 7% 2%;
}
.personas-orbit__ring--inner {
  inset: 24% 20%;
  border-style: dashed;
}
.personas-orbit__center {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 148px;
  aspect-ratio: 1;
  padding: 1rem;
  border-radius: 50%;
  color: #fff;
  background: var(--personas-primary);
  text-align: center;
  transform: translate(-50%, -50%);
  box-shadow: 0 18px 45px rgba(0, 87, 122, 0.2);
}
.personas-orbit__center span {
  align-self: end;
  font-size: 1.25rem;
  font-weight: 800;
}
.personas-orbit__center small {
  align-self: start;
  font-size: 0.73rem;
}
.personas-orbit__item {
  position: absolute;
  z-index: 3;
  width: clamp(82px, 13vw, 132px);
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  border: 5px solid #fff;
  border-radius: 50%;
  background: #dfe9e3;
  box-shadow: 0 15px 38px rgba(0, 61, 86, 0.16);
  animation: personas-float 7s ease-in-out infinite;
}
.personas-orbit__item picture,
.personas-orbit__item img {
  display: block;
  width: 100%;
  height: 100%;
}
.personas-orbit__item img {
  object-fit: cover;
  transform: scale(1.55);
}
.personas-orbit__item--1 { top: 3%; left: 15%; animation-delay: -1s; }
.personas-orbit__item--2 { top: 5%; right: 10%; animation-delay: -3s; }
.personas-orbit__item--3 { top: 38%; right: 0; animation-delay: -5s; }
.personas-orbit__item--4 { right: 17%; bottom: 1%; animation-delay: -2s; }
.personas-orbit__item--5 { bottom: 3%; left: 12%; animation-delay: -4s; }
.personas-orbit__item--6 { top: 37%; left: 0; animation-delay: -6s; }
.personas-orbit__item--1 img { object-position: 2% 20%; }
.personas-orbit__item--2 img { object-position: 31% 20%; }
.personas-orbit__item--3 img { object-position: 66% 16%; }
.personas-orbit__item--4 img { object-position: 96% 75%; }
.personas-orbit__item--5 img { object-position: 58% 78%; }
.personas-orbit__item--6 img { object-position: 5% 78%; }
@keyframes personas-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.personas-values {
  background: var(--surface-card);
}
.personas-values__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.5rem;
}
.personas-values__head h2 {
  max-width: 15ch;
  margin-bottom: 0;
}
.personas-values__head p {
  max-width: 40ch;
  margin: 0;
  color: var(--color-text-muted);
  line-height: 1.65;
}
.personas-values__list {
  border-top: 1px solid var(--color-border);
}
.personas-value {
  display: grid;
  grid-template-columns: 72px 58px minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 3vw, 2.5rem);
  min-height: 170px;
  padding: 1.5rem clamp(0rem, 3vw, 2rem);
  border-bottom: 1px solid var(--color-border);
}
.personas-value--even {
  margin-left: clamp(0rem, 8vw, 7rem);
}
.personas-value__number {
  color: color-mix(in srgb, var(--personas-primary) 45%, transparent);
  font-size: 0.85rem;
  font-weight: 700;
}
.personas-value__icon {
  display: grid;
  place-items: center;
  width: 56px;
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fff;
  background: var(--personas-accent);
  font-size: 1.25rem;
}
.personas-value__copy {
  display: grid;
  grid-template-columns: minmax(160px, 0.45fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 4vw, 4rem);
}
.personas-value h3 {
  margin: 0;
  color: var(--personas-ink);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
}
.personas-value p {
  max-width: 62ch;
  margin: 0;
  color: var(--color-text-muted);
  line-height: 1.7;
}

.personas-stories {
  color: #fff;
  background: var(--personas-deep);
}
.personas-stories__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}
.personas-stories__head h2 {
  max-width: 17ch;
  margin: 0;
  color: #fff;
}
.personas-stories__controls {
  display: flex;
  gap: 0.6rem;
}
.personas-stories__button {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 50%;
  color: #fff;
  background: transparent;
  cursor: pointer;
}
.personas-stories__button:hover,
.personas-stories__button:focus-visible {
  color: var(--personas-deep);
  background: var(--surface-card);
}
.personas-stories__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(330px, 46%);
  gap: 1.25rem;
  overflow-x: auto;
  padding: 0.5rem 0 1.25rem;
  scroll-snap-type: x mandatory;
  scrollbar-color: rgba(255, 255, 255, 0.5) transparent;
}
.personas-story {
  position: relative;
  min-height: 330px;
  margin: 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.07);
  scroll-snap-align: start;
}
.personas-story__portrait {
  width: 84px;
  aspect-ratio: 1;
  margin-bottom: 1.4rem;
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, 0.82);
  border-radius: 50%;
}
.personas-story__portrait picture,
.personas-story__portrait img {
  display: block;
  width: 100%;
  height: 100%;
}
.personas-story__portrait img {
  object-fit: cover;
}
.personas-story__quote-mark {
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  color: rgba(184, 226, 169, 0.28);
  font-size: 5rem;
  line-height: 1;
}
.personas-story > p {
  margin: 0 0 1.5rem;
  font-size: clamp(1.08rem, 1.6vw, 1.25rem);
  line-height: 1.65;
  text-wrap: pretty;
}
.personas-story footer {
  display: grid;
  gap: 0.25rem;
  margin-top: auto;
}
.personas-story footer strong {
  color: #b8e2a9;
}
.personas-story footer span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.88rem;
}

.personas-commitment {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
  min-height: 560px;
  background: var(--personas-soft);
}
.personas-commitment__media,
.personas-commitment__copy {
  min-height: 560px;
}
.personas-commitment__media {
  overflow: hidden;
}
.personas-commitment__media picture,
.personas-commitment__media img {
  display: block;
  width: 100%;
  height: 100%;
}
.personas-commitment__media img {
  object-fit: cover;
}
.personas-commitment__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.5rem, 7vw, 7rem);
}
.personas-commitment__copy h2 {
  margin: 0 0 1.25rem;
  color: var(--personas-primary);
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
.personas-commitment__copy p {
  max-width: 52ch;
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1.08rem;
  line-height: 1.75;
}

.personas-join {
  position: relative;
  min-height: 580px;
  display: flex;
  align-items: center;
  color: #fff;
}
.personas-join__media {
  position: absolute;
  inset: 0;
}
.personas-join__media picture,
.personas-join__media img {
  display: block;
  width: 100%;
  height: 100%;
}
.personas-join__media img {
  object-fit: cover;
  object-position: center;
}
.personas-join__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 48, 68, 0.94), rgba(0, 61, 86, 0.68) 55%, rgba(0, 61, 86, 0.1));
}
.personas-join__content {
  position: relative;
  z-index: 1;
  max-width: 47rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.personas-join__content h2 {
  margin: 0 0 1.25rem;
  color: #fff;
  font-size: clamp(2.3rem, 5vw, 4.7rem);
  line-height: 1;
  letter-spacing: -0.035em;
}
.personas-join__content p {
  max-width: 58ch;
  margin: 0 0 0.85rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.07rem;
  line-height: 1.7;
}
.personas-join__content .btn {
  margin-top: 1rem;
}

.personas-application {
  background: var(--surface-card);
}
.personas-application__flash {
  margin-bottom: 2rem;
}
.personas-application__layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}
.personas-application__intro {
  position: sticky;
  top: calc(var(--header-height, 72px) + 2rem);
}
.personas-application__label {
  margin: 0 0 1.25rem;
  color: var(--personas-accent);
  font-size: 0.85rem;
  font-weight: 700;
}
.personas-application__note {
  font-size: 0.92rem !important;
  font-weight: 700;
  color: var(--personas-primary) !important;
}
.personas-form {
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: 22px;
  background: var(--personas-soft);
  box-shadow: 0 18px 50px rgba(0, 61, 86, 0.09);
}
.personas-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.25rem;
}
.personas-form label {
  color: var(--personas-ink);
  font-weight: 700;
}
.personas-form input,
.personas-form textarea {
  width: 100%;
  min-height: 48px;
  border-color: var(--color-border);
  background: var(--color-bg);
  color: var(--color-text);
}
.personas-form textarea {
  min-height: 120px;
  resize: vertical;
}
.personas-form__file {
  padding: 1rem;
  border: 1px dashed var(--color-border);
  border-radius: 12px;
  background: var(--surface-subtle);
}
.personas-form__file input {
  min-height: auto;
  padding: 0.75rem 0;
  border: 0;
  background: transparent;
}
.personas-form__file p {
  margin: 0;
  color: #526a61;
  font-size: 0.83rem;
}
.personas-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin: 1rem 0 1.5rem;
  font-size: 0.88rem;
  line-height: 1.5;
}
.personas-form__consent input {
  flex: 0 0 auto;
  width: 18px;
  min-height: 18px;
  margin-top: 0.12rem;
}
.personas-form__submit {
  width: 100%;
}
.personas-form__honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}

.personas-rse {
  background: var(--personas-soft);
}
.personas-rse__layout {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  margin-bottom: 3.5rem;
}
.personas-rse__media {
  min-height: 470px;
  border-radius: 22px;
}
.personas-rse__media img {
  min-height: 470px;
}
.personas-rse__copy h2 {
  max-width: 15ch;
}
.personas-rse__kicker {
  display: inline-flex;
  margin-bottom: 1rem;
}
.personas-rse__pillars-head h3 {
  margin: 0 0 1.4rem;
  color: var(--personas-ink);
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
}
.personas-rse__pillars {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 3rem;
}
.personas-rse-pillar {
  min-height: 230px;
  padding: 1.5rem;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 9px 28px rgba(0, 61, 86, 0.07);
}
.personas-rse-pillar__icon {
  display: grid;
  place-items: center;
  width: 46px;
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fff;
  background: var(--personas-primary);
}
.personas-rse__closing {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  max-width: none;
  padding-top: 2rem;
  border-top: 1px solid #cddbd4;
}
.personas-rse__closing > div {
  max-width: 52rem;
}

@media (max-width: 1050px) {
  .personas-manifesto__layout {
    grid-template-columns: 1fr;
  }
  .personas-orbit {
    max-width: 660px;
  }
  .personas-rse__pillars {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 800px) {
  .personas-hero {
    min-height: 680px;
    align-items: flex-end;
  }
  .personas-hero__media img {
    object-position: 65% center;
  }
  .personas-hero__overlay {
    background: linear-gradient(180deg, rgba(0, 35, 50, 0.15) 15%, rgba(0, 48, 68, 0.92) 72%);
  }
  .personas-hero__content {
    padding: 8rem 0 3.5rem;
  }
  .personas-manifesto__layout {
    min-height: 0;
  }
  .personas-orbit {
    aspect-ratio: 1;
  }
  .personas-orbit__center {
    width: 112px;
  }
  .personas-values__head,
  .personas-stories__head,
  .personas-rse__closing {
    align-items: flex-start;
    flex-direction: column;
  }
  .personas-value,
  .personas-value__copy {
    grid-template-columns: 1fr;
  }
  .personas-value {
    grid-template-columns: 44px 52px 1fr;
    min-height: 0;
    padding: 1.5rem 0;
  }
  .personas-value--even {
    margin-left: 0;
  }
  .personas-value__copy {
    grid-column: 1 / -1;
    gap: 0.65rem;
    padding-left: 96px;
  }
  .personas-stories__track {
    grid-auto-columns: minmax(290px, 84%);
  }
  .personas-commitment,
  .personas-application__layout,
  .personas-rse__layout {
    grid-template-columns: 1fr;
  }
  .personas-commitment__media,
  .personas-commitment__copy {
    min-height: 390px;
  }
  .personas-commitment__copy {
    padding: 2.5rem 1.5rem 3.5rem;
  }
  .personas-application__intro {
    position: static;
  }
}

@media (max-width: 560px) {
  .personas-hero__title {
    font-size: clamp(2.55rem, 13vw, 4rem);
  }
  .personas-orbit {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.85rem;
    aspect-ratio: auto;
  }
  .personas-orbit__ring,
  .personas-orbit__center {
    display: none;
  }
  .personas-orbit__item {
    position: static;
    width: 100%;
    border-width: 3px;
    animation: none;
  }
  .personas-form__grid,
  .personas-rse__pillars {
    grid-template-columns: 1fr;
  }
  .personas-form {
    padding: 1.25rem;
    border-radius: 14px;
  }
  .personas-value__copy {
    padding-left: 0;
  }
  .personas-join {
    min-height: 640px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .personas-orbit__item {
    animation: none;
  }
  .personas-stories__track {
    scroll-behavior: auto;
  }
}

/* Personas: textos legibles en modo oscuro (blanco, sin grises/azules oscuros) */
html[data-theme="dark"] .personas-page {
  --personas-ink: #fff;
  --personas-primary: #fff;
  color: #fff;
}
html[data-theme="dark"] .personas-page :is(
  h1, h2, h3, h4, h5, h6,
  p, li, label, span, small, strong,
  .personas-value__number,
  .personas-values__head p,
  .personas-value p,
  .personas-manifesto__copy p,
  .personas-application__intro > p,
  .personas-rse__copy > p,
  .personas-commitment__copy h2,
  .personas-commitment__copy p,
  .personas-text-link,
  .personas-application__label,
  .personas-application__note,
  .personas-form label,
  .personas-form__file p,
  .personas-rse__kicker,
  .personas-rse__pillars-head h3,
  .personas-rse-pillar h4,
  .personas-rse-pillar p,
  .personas-rse__closing p
) {
  color: #fff;
}
html[data-theme="dark"] .personas-page .personas-value__number {
  color: rgba(255, 255, 255, 0.72);
}
html[data-theme="dark"] .personas-page .personas-application__note {
  color: #fff !important;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]):not([data-theme="dark"]) .personas-page {
    --personas-ink: #fff;
    --personas-primary: #fff;
    color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .personas-page :is(
    h1, h2, h3, h4, h5, h6,
    p, li, label, span, small, strong,
    .personas-value__number,
    .personas-values__head p,
    .personas-value p,
    .personas-manifesto__copy p,
    .personas-application__intro > p,
    .personas-rse__copy > p,
    .personas-commitment__copy h2,
    .personas-commitment__copy p,
    .personas-text-link,
    .personas-application__label,
    .personas-application__note,
    .personas-form label,
    .personas-form__file p,
    .personas-rse__kicker,
    .personas-rse__pillars-head h3,
    .personas-rse-pillar h4,
    .personas-rse-pillar p,
    .personas-rse__closing p
  ) {
    color: #fff;
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .personas-page .personas-value__number {
    color: rgba(255, 255, 255, 0.72);
  }
  html:not([data-theme="light"]):not([data-theme="dark"]) .personas-page .personas-application__note {
    color: #fff !important;
  }
}


.svc-hotel-restaurant__media {
  border-radius: 16px;
}

/* Servicios: Asfalto / Pulverización */
.svc-asfalto,
.svc-pulv {
  --svc-ink: var(--color-text);
  --svc-muted: var(--color-text-muted);
  --svc-accent: var(--color-brand-blue);
}
.svc-asfalto {
  --asf-accent: #3eb4d8;
  --asf-ink: #001e2a;
  --asf-muted: #4a5d68;
  --asf-dark: #001e2a;
}
.svc-pulv {
  --svc-accent: var(--color-brand-green);
  --pulv-accent: #5FB03F;
  --pulv-ink: #101910;
  --pulv-muted: #4a554c;
  --pulv-dark: #101910;
  --pulv-dark-2: #0c140e;
}
.svc-asfalto-hero,
.svc-pulv-hero {
  position: relative;
  min-height: clamp(420px, 62vw, 620px);
  display: flex;
  align-items: flex-end;
  color: #fff;
}
.svc-asfalto-hero__media,
.svc-pulv-hero__media {
  position: absolute;
  inset: 0;
}
.svc-asfalto-hero__img,
.svc-pulv-hero__img,
.svc-asfalto-hero__media img,
.svc-pulv-hero__media img,
.svc-asfalto-hero__media picture,
.svc-pulv-hero__media picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.svc-asfalto-hero__overlay,
.svc-pulv-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 30, 42, 0.15) 0%, rgba(0, 30, 42, 0.72) 72%, rgba(0, 30, 42, 0.88) 100%);
}
.svc-asfalto-hero__layout,
.svc-pulv-hero__layout {
  position: relative;
  z-index: 1;
  padding: 6.5rem 0 3.25rem;
}
.svc-asfalto-hero__content,
.svc-pulv-hero__content {
  max-width: 42rem;
}
.svc-asfalto-hero__kicker,
.svc-pulv-hero__kicker {
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}
.svc-asfalto-hero__title,
.svc-pulv-hero__title {
  margin: 0 0 0.85rem;
  font-size: clamp(2rem, 4.4vw, 3.25rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
.svc-asfalto-hero__title em {
  font-style: normal;
  color: var(--asf-accent);
}
.svc-asfalto-hero__subtitle,
.svc-pulv-hero__subtitle {
  margin: 0 0 0.85rem;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 600;
}
.svc-asfalto-hero__body,
.svc-pulv-hero__body {
  margin: 0;
  max-width: 38rem;
  font-size: 1.02rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  text-wrap: pretty;
}
.svc-asfalto-intro__layout {
  max-width: 46rem;
}
.svc-asfalto-intro h2,
.svc-asfalto-cta h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.55rem, 2.6vw, 2.1rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  text-wrap: balance;
  color: var(--svc-ink);
}
.svc-asfalto-intro p {
  margin: 0 0 0.9rem;
  font-size: 1.02rem;
  line-height: 1.7;
  color: var(--svc-muted);
  text-wrap: pretty;
}

.svc-asfalto-ico {
  display: inline-flex;
  width: 3.25rem;
  height: 3.25rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--color-brand-blue);
  border-radius: 50%;
  color: var(--color-brand-blue);
  background: transparent;
}
.svc-asfalto-ico i {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1;
}
.svc-asfalto-ico i::before {
  display: block;
  line-height: 1;
}
.svc-asfalto-ico--sm {
  width: 2.5rem;
  height: 2.5rem;
}
.svc-asfalto-ico--sm i {
  font-size: 0.88rem;
}

.svc-asfalto-offer {
  padding: clamp(2.75rem, 6vw, 4.75rem) 0;
  background: var(--color-bg);
}
.svc-asfalto-offer__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(15.5rem, 0.72fr);
  gap: clamp(2rem, 5.5vw, 4.75rem);
  align-items: start;
}
.svc-asfalto-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.05rem 1.25rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--color-border);
}
.svc-asfalto-item:first-child {
  padding-top: 0;
}
.svc-asfalto-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.svc-asfalto-item h2 {
  margin: 0 0 0.45rem;
  color: var(--color-brand-blue);
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.3;
  text-transform: uppercase;
  text-wrap: balance;
}
.svc-asfalto-item p {
  margin: 0 0 0.7rem;
  max-width: 62ch;
  color: var(--color-text-muted);
  font-size: 0.97rem;
  line-height: 1.65;
  text-wrap: pretty;
}
.svc-asfalto-item p:last-child {
  margin-bottom: 0;
}

.svc-asfalto-benefits h2 {
  margin: 0 0 1.2rem;
  color: var(--color-brand-blue);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.svc-asfalto-benefits__list {
  display: flex;
  flex-direction: column;
  gap: 1.05rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.svc-asfalto-benefit {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
}
.svc-asfalto-benefit p {
  margin: 0;
  color: var(--color-text);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  line-height: 1.35;
  text-transform: uppercase;
}
.svc-asfalto-benefit--stat p {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.45rem;
}
.svc-asfalto-benefit__value {
  color: var(--color-brand-blue);
  font-size: clamp(1.9rem, 2.8vw, 2.55rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 0.9;
}

.svc-asfalto-why {
  position: relative;
  padding: clamp(3.1rem, 6.5vw, 5.25rem) 0 clamp(3.75rem, 8vw, 6.25rem);
  overflow: hidden;
  background: var(--asf-dark);
  color: #fff;
}
.svc-asfalto-why__ground {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 46%;
  overflow: hidden;
  pointer-events: none;
}
.svc-asfalto-why__ground picture {
  position: absolute;
  inset: 0;
  display: block;
}
.svc-asfalto-why__img,
.svc-asfalto-why__ground img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 118%;
  height: 118%;
  max-width: none;
  object-fit: cover;
  object-position: center 70%;
  transform: translate(-50%, -50%);
}
.svc-asfalto-why__ground::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--asf-dark) 0%, rgba(0, 30, 42, 0.42) 42%, rgba(0, 30, 42, 0.82) 100%);
}
.svc-asfalto-why__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.18fr);
  gap: clamp(1.75rem, 4.5vw, 3.75rem);
  align-items: start;
}
.svc-asfalto-why__intro h2 {
  margin: 0 0 1.05rem;
  color: #fff;
  font-size: clamp(1.5rem, 2.8vw, 2.15rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.15;
  text-wrap: balance;
}
.svc-asfalto-why__intro h2 em {
  font-style: normal;
  color: var(--asf-accent);
}
.svc-asfalto-why__intro p {
  margin: 0 0 0.85rem;
  max-width: 46ch;
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.98rem;
  line-height: 1.7;
  text-wrap: pretty;
}
.svc-asfalto-why__intro p:last-child {
  margin-bottom: 0;
}
.svc-asfalto-why__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.45rem 1.2rem;
}
.svc-asfalto-pillar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
}
.svc-asfalto-why .svc-asfalto-ico {
  border-color: var(--asf-accent);
  color: var(--asf-accent);
}
.svc-asfalto-pillar h3 {
  margin: 0 0 0.3rem;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}
.svc-asfalto-pillar p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.9rem;
  line-height: 1.55;
}

.svc-asfalto-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.svc-asfalto-gallery__item {
  margin: 0;
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #0a3d56;
}
.svc-asfalto-gallery__frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}
.svc-asfalto-gallery__frame picture {
  position: absolute;
  inset: 0;
  display: block;
}
.svc-asfalto-gallery__img,
.svc-asfalto-gallery__item img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 118%;
  height: 118%;
  max-width: none;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  transform: translate(-50%, -50%);
  transform-origin: center center;
}
.svc-asfalto-cta {
  position: relative;
  padding: clamp(3.5rem, 7vw, 5.5rem) 0;
  background: var(--color-brand-blue-dark);
  color: #fff;
  overflow: hidden;
}
.svc-asfalto-cta__media {
  position: absolute;
  inset: 0;
  opacity: 0.28;
}
.svc-asfalto-cta__img,
.svc-asfalto-cta__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.svc-asfalto-cta__content {
  position: relative;
  z-index: 1;
  max-width: 40rem;
}
.svc-asfalto-cta h2 {
  color: #fff;
}
.svc-asfalto-cta p {
  margin: 0 0 1.25rem;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
}

.svc-asfalto-hero,
.svc-asfalto-hero__media,
.svc-asfalto-cta__media,
.svc-pulv-hero,
.svc-pulv-hero__media {
  overflow: hidden;
}
.svc-asfalto-hero__media picture,
.svc-asfalto-cta__media picture,
.svc-pulv-hero__media picture {
  position: absolute;
  inset: 0;
  display: block;
}
.svc-asfalto-hero__img,
.svc-asfalto-hero__media img,
.svc-asfalto-cta__img,
.svc-asfalto-cta__media img,
.svc-pulv-hero__img,
.svc-pulv-hero__media img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 118%;
  height: 118%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: translate(-50%, -50%);
  transform-origin: center center;
}

@media (prefers-reduced-motion: no-preference) {
  html.anim-enabled:not(.anim-no-hover) .svc-asfalto-gallery__item:hover .svc-asfalto-gallery__frame {
    transform: scale(1.04);
  }

  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-hero__img,
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-hero__media img,
  html.anim-enabled:not(.anim-no-decorative) .svc-pulv-hero__img,
  html.anim-enabled:not(.anim-no-decorative) .svc-pulv-hero__media img {
    animation: home-trust-pan-a 22s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    will-change: transform;
  }

  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-gallery__item.is-in .svc-asfalto-gallery__img,
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-gallery__item.is-in img {
    animation: home-trust-pan-a 20s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    will-change: transform;
  }
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-gallery__item:nth-child(2).is-in .svc-asfalto-gallery__img,
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-gallery__item:nth-child(2).is-in img {
    animation-name: home-trust-pan-b;
    animation-duration: 24s;
    animation-delay: -3s;
  }
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-gallery__item:nth-child(3).is-in .svc-asfalto-gallery__img,
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-gallery__item:nth-child(3).is-in img {
    animation-name: home-trust-pan-c;
    animation-duration: 22s;
    animation-delay: -7s;
  }
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-gallery__item:nth-child(4).is-in .svc-asfalto-gallery__img,
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-gallery__item:nth-child(4).is-in img {
    animation-name: home-trust-pan-b;
    animation-duration: 26s;
    animation-delay: -11s;
  }

  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-cta__media.is-in .svc-asfalto-cta__img,
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-cta__media.is-in img,
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-why__ground.is-in .svc-asfalto-why__img,
  html.anim-enabled:not(.anim-no-decorative) .svc-asfalto-why__ground.is-in img {
    animation: home-trust-pan-c 24s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    will-change: transform;
  }
}

@media (max-width: 860px) {
  .svc-asfalto-gallery__grid {
    grid-template-columns: 1fr;
  }
  .svc-asfalto-hero__layout {
    padding-top: 5.5rem;
  }
  .svc-asfalto-offer__layout,
  .svc-asfalto-why__layout {
    grid-template-columns: 1fr;
  }
  .svc-asfalto-why__grid {
    grid-template-columns: 1fr;
  }
}

/* Pulverización — landing alineada al mock */
.svc-pulv-hero {
  min-height: clamp(340px, 36vw, 400px);
  align-items: center;
  border-radius: 0;
}
.svc-pulv-photo {
  overflow: hidden;
}
.svc-pulv-hero__overlay {
  background:
    linear-gradient(90deg, rgba(10, 18, 12, 0.86) 0%, rgba(10, 18, 12, 0.58) 36%, rgba(10, 18, 12, 0.18) 66%, rgba(10, 18, 12, 0.06) 100%),
    linear-gradient(180deg, rgba(10, 18, 12, 0.22) 0%, transparent 38%, rgba(10, 18, 12, 0.28) 100%);
}
  .svc-pulv-hero__layout {
  padding: clamp(2.2rem, 4.5vw, 3.4rem) 0;
}
.svc-pulv-hero__content {
  max-width: 38rem;
}
.svc-pulv-hero__kicker {
  color: var(--pulv-accent);
  font-weight: 800;
  letter-spacing: 0.14em;
}
.svc-pulv-hero__title {
  margin: 0 0 0.9rem;
  max-width: 18ch;
  font-size: clamp(1.85rem, 3.8vw, 3rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
.svc-pulv-hero__title em {
  font-style: normal;
  color: var(--pulv-accent);
}
.svc-pulv-hero__subtitle {
  color: rgba(255, 255, 255, 0.92);
}
.svc-pulv-hero__body {
  max-width: 42ch;
  font-size: 0.98rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}

.svc-pulv-ico {
  display: inline-flex;
  width: 3.25rem;
  height: 3.25rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--pulv-accent);
  border-radius: 50%;
  color: var(--pulv-accent);
  background: transparent;
}
.svc-pulv-ico i {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1;
}
.svc-pulv-ico i::before {
  display: block;
  line-height: 1;
}
.svc-pulv-ico--sm {
  width: 2.5rem;
  height: 2.5rem;
}
.svc-pulv-ico--sm i {
  font-size: 0.88rem;
}
.svc-pulv-ico .fa-tractor {
  transform: translate(0.05em, 0.02em);
}

.svc-pulv-offer {
  padding: clamp(2.75rem, 6vw, 4.75rem) 0;
  background: var(--color-bg);
}
.svc-pulv-offer__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(15.5rem, 0.72fr);
  gap: clamp(2rem, 5.5vw, 4.75rem);
  align-items: start;
}
.svc-pulv-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.05rem 1.25rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--color-border);
}
.svc-pulv-item:first-child {
  padding-top: 0;
}
.svc-pulv-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.svc-pulv-item h2 {
  margin: 0 0 0.45rem;
  color: var(--pulv-accent);
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.3;
  text-transform: uppercase;
  text-wrap: balance;
}
.svc-pulv-item p {
  margin: 0 0 0.7rem;
  max-width: 62ch;
  color: var(--color-text-muted);
  font-size: 0.97rem;
  line-height: 1.65;
  text-wrap: pretty;
}
.svc-pulv-item p:last-child {
  margin-bottom: 0;
}

.svc-pulv-benefits h2 {
  margin: 0 0 1.2rem;
  color: var(--pulv-accent);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.svc-pulv-benefits__list {
  display: flex;
  flex-direction: column;
  gap: 1.05rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.svc-pulv-benefit {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  min-height: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  text-align: left;
}
.svc-pulv-benefit p {
  margin: 0;
  color: var(--color-text);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  line-height: 1.35;
  text-transform: uppercase;
}
.svc-pulv-benefit--stat p {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.45rem;
}
.svc-pulv-benefit__value {
  color: var(--pulv-accent);
  font-size: clamp(1.9rem, 2.8vw, 2.55rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 0.9;
}

.svc-pulv-why {
  position: relative;
  padding: clamp(3.1rem, 6.5vw, 5.25rem) 0 clamp(3.75rem, 8vw, 6.25rem);
  overflow: hidden;
  background: var(--pulv-dark);
  color: #fff;
}
.svc-pulv-why__ground {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 46%;
  overflow: hidden;
  pointer-events: none;
}
.svc-pulv-why__ground picture {
  position: absolute;
  inset: 0;
  display: block;
}
.svc-pulv-why__img,
.svc-pulv-why__ground img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 118%;
  height: 118%;
  max-width: none;
  object-fit: cover;
  object-position: center 70%;
  transform: translate(-50%, -50%);
}
.svc-pulv-why__ground::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--pulv-dark) 0%, rgba(16, 25, 16, 0.42) 42%, rgba(16, 25, 16, 0.78) 100%);
}
.svc-pulv-why__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.18fr);
  gap: clamp(1.75rem, 4.5vw, 3.75rem);
  align-items: start;
}
.svc-pulv-why__intro h2 {
  margin: 0 0 1.05rem;
  color: #fff;
  font-size: clamp(1.5rem, 2.8vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.15;
  text-wrap: balance;
}
.svc-pulv-why__intro h2 em {
  font-style: normal;
  color: var(--pulv-accent);
}
.svc-pulv-why__intro p {
  margin: 0 0 0.85rem;
  max-width: 46ch;
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.98rem;
  line-height: 1.7;
  text-wrap: pretty;
}
.svc-pulv-why__intro p:last-child {
  margin-bottom: 0;
}
.svc-pulv-why__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.45rem 1.2rem;
}
.svc-pulv-pillar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}
.svc-pulv-pillar h3 {
  margin: 0 0 0.3rem;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}
.svc-pulv-pillar p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.9rem;
  line-height: 1.55;
}

.svc-pulv-cta {
  padding: clamp(1.35rem, 2.8vw, 1.85rem) 0;
  background: #f4f4f4;
  color: var(--color-text);
  overflow: visible;
}
.svc-pulv-cta__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.15rem 2.25rem;
}
.svc-pulv-cta__copy {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.95rem 1.15rem;
  align-items: center;
}
.svc-pulv-cta .svc-pulv-ico--leaf {
  width: 3.5rem;
  height: 3.5rem;
  border-color: #3f8a2c;
  color: #3f8a2c;
}
.svc-pulv-cta .svc-pulv-ico--leaf i {
  font-size: 1.35rem;
}
.svc-pulv-cta__title {
  margin: 0;
  max-width: 46ch;
  color: #2a332c;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.4;
  text-wrap: pretty;
}
.svc-pulv-cta__body {
  margin: 0.35rem 0 0;
  color: var(--color-text-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}
.svc-pulv-cta__btn {
  flex-shrink: 0;
  gap: 0.6rem;
  min-height: 52px;
  padding: 0.9rem 1.7rem;
  border-radius: 999px;
  background: var(--pulv-accent);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(63, 138, 44, 0.18);
}
.svc-pulv-cta__btn:hover,
.svc-pulv-cta__btn:focus-visible {
  background: #4ea032;
  color: #fff;
}
.svc-pulv-cta__btn:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--pulv-accent) 45%, #fff);
  outline-offset: 3px;
}
.svc-pulv-cta__btn .fa-whatsapp {
  font-size: 1.28rem;
}

.svc-pulv-strip {
  position: relative;
  padding: 0;
  overflow: hidden;
  background: #07140d;
  color: #fff;
}
.svc-pulv-strip__inner {
  position: relative;
}
.svc-pulv-strip__bg {
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: min(15.5rem, 58%);
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 46%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 46%, transparent 100%);
}
.svc-pulv-strip__bg picture,
.svc-pulv-strip__img,
.svc-pulv-strip__bg img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 68% 42%;
}
.svc-pulv-strip__row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr) minmax(0, 1.15fr);
  align-items: stretch;
  min-height: 6.5rem;
  gap: 0;
}
.svc-pulv-strip__row--no-stat {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}
.svc-pulv-strip__cell {
  display: flex;
  align-items: center;
  gap: 0.9rem 1rem;
  padding: 1.05rem 1.2rem;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}
.svc-pulv-strip__cell:last-child {
  border-right: 0;
}
.svc-pulv-strip__cell--lead {
  position: relative;
  isolation: isolate;
  gap: 0;
  overflow: hidden;
  padding-left: 0;
}
.svc-pulv-strip__row--has-photo .svc-pulv-strip__cell--lead .svc-pulv-strip__point {
  position: relative;
  z-index: 1;
  margin-left: min(11.25rem, 48%);
  padding-right: 0.4rem;
}
.svc-pulv-strip__point {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-transform: uppercase;
}
.svc-pulv-strip__cell--lead .svc-pulv-strip__point span {
  display: flex;
  flex-direction: column;
  max-width: 24ch;
}
.svc-pulv-strip__cell--lead .svc-pulv-strip__point em {
  display: block;
}
.svc-pulv-strip__point em {
  font-style: normal;
  color: var(--pulv-accent);
}
.svc-pulv-strip__stat {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 0.7rem;
  row-gap: 0.05rem;
  align-items: center;
  margin: 0;
}
.svc-pulv-strip__lead {
  grid-column: 1;
  grid-row: 1;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.svc-pulv-strip__value {
  grid-column: 1;
  grid-row: 2;
  color: var(--pulv-accent);
  font-size: clamp(2.35rem, 4vw, 3.35rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.82;
}
.svc-pulv-strip__rest {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 14ch;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

html[data-theme="dark"] .svc-pulv-cta {
  background: color-mix(in srgb, var(--color-bg-alt) 88%, #000);
}

@media (max-width: 980px) {
  .svc-pulv-offer__layout,
  .svc-pulv-why__layout,
  .svc-pulv-strip__row {
    grid-template-columns: 1fr;
  }
  .svc-pulv-hero__title {
    max-width: 18ch;
  }
  .svc-pulv-cta__row {
    flex-direction: column;
    align-items: flex-start;
  }
  .svc-pulv-strip__row {
    min-height: 0;
  }
  .svc-pulv-strip__cell {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }
  .svc-pulv-strip__cell:last-child {
    border-bottom: 0;
  }
  .svc-pulv-strip__stat {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .svc-pulv-why__grid {
    grid-template-columns: 1fr;
  }
  .svc-pulv-hero__content,
  .svc-pulv-hero__body {
    max-width: none;
  }
  .svc-pulv-cta__btn {
    width: 100%;
  }
  .svc-pulv-strip__bg {
    inset: 0 0 auto 0;
    width: 100%;
    height: 7.25rem;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 100%);
  }
  .svc-pulv-strip__row--has-photo .svc-pulv-strip__cell--lead {
    padding-top: 6.35rem;
  }
  .svc-pulv-strip__row--has-photo .svc-pulv-strip__cell--lead .svc-pulv-strip__point {
    margin-left: 0;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.anim-enabled:not(.anim-no-hover) .svc-pulv-cta__btn:hover {
    transform: translateY(-1px);
  }

  html.js.motion-armed .svc-pulv-photo.motion-reveal:not(.is-in) {
    opacity: 1;
    clip-path: inset(0 82% 0 0);
    transform: none;
  }
  html.js.motion-armed .svc-pulv-photo.motion-reveal {
    transition:
      clip-path 1.15s var(--motion-ease-out),
      opacity 0.9s var(--motion-ease-out);
    transition-delay: calc(var(--motion-i, 0) * 70ms);
  }
  html.js.motion-armed .svc-pulv-photo.motion-reveal.is-in {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: none;
  }

  html.anim-enabled:not(.anim-no-decorative) .svc-pulv-photo.is-in .svc-pulv-why__img,
  html.anim-enabled:not(.anim-no-decorative) .svc-pulv-photo.is-in img {
    animation: home-trust-pan-a 22s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    will-change: transform;
  }
}
