.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Raleway: la sirve el tema hijo biolid (assets/css/raleway.css, woff2 en assets/fonts/) ===== */

/* ===== Neutralizar Elementor / Hello (cimientos) ===== */
/* Los widgets heredan tipografía y color del envoltorio, que lleva las clases originales */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor, .elementor-widget-text-editor p,
.elementor-widget-button .elementor-button { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; }
.elementor-widget-button .elementor-button { background: transparent; padding: 0; border-radius: 0; }
.elementor-widget-image img { display: block; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
/* Contenedores de Elementor sin aire por defecto: el layout lo pone el CSS original */
.e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px 0px; --row-gap: 0px; --column-gap: 0px; }
/* Envoltorio de Hello (plantilla por defecto): sin márgenes ni ancho máximo */
.site-main, .site-main > .page-content { margin: 0; padding: 0; max-width: none; width: auto; }

/* ################ PÁGINAS INTERIORES (orden de Base.astro: site, familia, mobile) ################ */

/* ===== site.css ===== */
body:where(:not(.home):not(:has(.hm-tela))), :where(body:is(:not(.home):not(:has(.hm-tela)))) * { margin: 0; padding: 0; box-sizing: border-box; }
@view-transition { navigation: auto; }
body:where(:not(.home):not(:has(.hm-tela))) { background: #ffffff; color: #f0f0f0; font-family: "Raleway", sans-serif; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(252, 250, 247, 0.85);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  padding: 1rem 3rem;
  pointer-events: auto;
  height: 84px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.3s;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar.scrolled {
  background: rgba(252, 250, 247, 0.95);
  border-bottom-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-logo { display: flex; align-items: center; justify-content: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-logo img { display: block; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-links { display: flex; justify-content: space-between; gap: 1.5rem; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-links a { text-decoration: none; color: #2b4ba3; font-size: 1rem; font-weight: 500; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 6px; flex-direction: column; gap: 5px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-toggle span { display: block; width: 22px; height: 2px; background: #2b4ba3; transition: all 0.3s; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse { display: contents; }
@media (max-width: 950px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar { padding: 0.8rem 1rem; flex-wrap: wrap; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-toggle { display: flex; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse { display: none; flex-direction: column; width: 100%; gap: 0; order: 3; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse.open { display: flex; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse .nav-links { width: 100%; padding: 0.6rem 0; border-bottom: 1px solid #e5e7eb; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse .nav-links a { font-size: 0.8rem; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-logo img, :where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-logo-svg { width: 60px !important; height: auto !important; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transform: scaleX(0);   
  transform-origin: left;
  height: 3px;
  background: linear-gradient(90deg, #2b4ba3, #4d8eff);
  z-index: 9999;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .section-tag {
  font-family: "Raleway", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #2b4ba3;
  margin-bottom: 12px;
  display: block;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .about-section {
  background: #ffffff;
  min-height: 100vh;
  position: relative;
  padding: 120px 24px 60px;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-item {
  display: flex;
  align-items: flex-start;   
  gap: 16px;
  padding: 12px 16px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  transition: all 0.3s;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-item:hover {
  border-color: #2b4ba3;
  background: #f8f9ff;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-item.featured {
  background: #2b4ba3;
  border-color: #2b4ba3;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-year {
  font-family: "Arial Black", sans-serif;
  font-size: 1rem;
  color: #2b4ba3;
  font-weight: 900;
  min-width: 78px;   
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-item.featured .timeline-year {
  color: #fff;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-text {
  font-family: "Raleway", sans-serif;
  font-size: 0.8rem;
  color: #4a5568;
  line-height: 1.5;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-item.featured .timeline-text {
  color: #fff;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-content > .timeline-text + .timeline-text { margin-top: 6px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-hito { color: #1d2433; font-weight: 700; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-item.featured .timeline-hito { color: #fff; }
@media (max-width: 900px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .carta-grid { grid-template-columns: 1fr !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .planta-grid { grid-template-columns: 1fr !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .lineas-grid { grid-template-columns: 1fr 1fr !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .certs-grid { grid-template-columns: 1fr 1fr !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .docs-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 540px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .lineas-grid { grid-template-columns: 1fr !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .certs-grid { grid-template-columns: 1fr !important; }
}
::selection { background: #2b4ba3; color: #fff; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #f1f2f5; }
::-webkit-scrollbar-thumb {
  background-color: #c7cede;
  background-image: url('https://biolid.eu/wp-content/uploads/2026/10/logo-min-blanco-svg.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 6px auto;
}
::-webkit-scrollbar-thumb:hover { background-color: #2b4ba3; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) h1, :where(body:is(:not(.home):not(:has(.hm-tela)))) h2, :where(body:is(:not(.home):not(:has(.hm-tela)))) h3 { text-wrap: balance; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) p { text-wrap: pretty; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse .nav-links a { position: relative; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse .nav-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -4px; height: 2px; background: #2b4ba3; transition: right 0.3s; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse .nav-links a:hover::after { right: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; transition: border-color .3s, box-shadow .3s, transform .3s; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-card:hover { border-color: #2b4ba3; box-shadow: 0 14px 32px rgba(20,25,36,.10); transform: translateY(-4px); }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-thumb { position: relative; aspect-ratio: 1 / 1.3; background: #f3f4f6 url('https://biolid.eu/wp-content/uploads/2026/10/cert-loader-svg.svg') center / 52px no-repeat; border-bottom: 1px solid #eef0f3; overflow: hidden; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-meta { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-code { font-family: "Raleway", sans-serif; font-size: 1rem; font-weight: 700; color: #2b4ba3; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-name { font-size: .8rem; color: #6b7280; line-height: 1.4; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-code--logo { display: flex; align-items: center; gap: .4em; white-space: nowrap; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-code__sep { flex: none; font-weight: 300; color: #9ca3af; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-logo { flex: 0 1 5.4em; min-width: 0; width: 5.4em; height: auto; display: block; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-open { margin-top: 4px; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6b7280; transition: color .3s; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-card:hover .cert-open { color: #2b4ba3; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-hit { position: absolute; inset: 0; z-index: 2; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer { position: relative; overflow: hidden; background: #2b4ba3; color: rgba(255,255,255,0.78); padding: 64px 24px 32px; font-family: "Raleway", sans-serif; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer a { color: rgba(255,255,255,0.82); text-decoration: none; transition: color 0.3s; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer a:hover { color: #fff; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer :focus-visible { outline-color: #fff; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer a:focus-visible { color: #fff; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 40px; text-align: left; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-col { display: flex; flex-direction: column; font-size: 0.88rem; line-height: 1.6; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-col h5, :where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-col h2 { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255,255,255,0.82); margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-col nav { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 900px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-grid { grid-template-columns: 1fr; }
}
html:where(:has(> body:is(:not(.home):not(:has(.hm-tela))))) { scroll-behavior: smooth; scrollbar-gutter: stable; }
@media (prefers-reduced-motion: reduce)  {
html:where(:has(> body:is(:not(.home):not(:has(.hm-tela))))) { scroll-behavior: auto; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) :focus-visible { outline: 2px solid #2b4ba3; outline-offset: 3px; border-radius: 2px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .rvl { opacity: 0; transform: translateY(22px); transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1); }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .rvl-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .rvl { opacity: 1; transform: none; transition: none; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) #splash {
  position: fixed; inset: 0; z-index: 90;
  display: flex; align-items: center; justify-content: center;
  background: #fcfaf7;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) #splash.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) #splash svg { width: 92px; height: auto; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) #splash .loader-path {
  fill: none;
  stroke: #2b4ba3;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 50;
  stroke-dashoffset: 100;
  filter: drop-shadow(0 0 10px #2b4ba3);
  animation: neonBrandLoop 1.5s linear infinite;
}
@keyframes neonBrandLoop {
  0% { stroke-dashoffset: 100; }
  100% { stroke-dashoffset: 0; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .con-pincel { overflow-x: clip; isolation: isolate; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .pincel-marco { position: relative; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .pincel-marco::before { content: ""; position: absolute; top: 50%; left: 50%; width: 112vw; transform: translate(-50%, -50%); aspect-ratio: 2400 / 1453; background: url('https://biolid.eu/wp-content/uploads/2026/10/pincel.webp') center / 140% 100% no-repeat; pointer-events: none; z-index: -1; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .pincel-marco > * { position: relative; z-index: 1; }
@media (max-width: 950px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .pincel-marco::before { background-image: url('https://biolid.eu/wp-content/uploads/2026/10/pincel-960.webp'); width: 150vw; }
}
html:where(:has(> body:is(:not(.home):not(:has(.hm-tela))))):has(body.is-loading) { overflow: hidden; }
body:where(:not(.home):not(:has(.hm-tela))).is-loading { overflow: clip; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .skip-link { position: absolute; left: 8px; top: -100px; z-index: 10000; padding: 10px 16px; background: #2b4ba3; color: #fff; font-family: "Raleway", sans-serif; font-weight: 700; border-radius: 6px; text-decoration: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .skip-link:focus { top: 8px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap { max-width: 1200px; margin: 0 auto; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap--head { margin-bottom: 40px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap--sep { margin-top: 60px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap--sep-sm { margin-top: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap--mid { max-width: 1100px; margin: 0 auto; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .h-sec { font-family: "Raleway", sans-serif; font-size: clamp(2.2rem, 4.5vw, 3.2rem); font-weight: 700; color: #141924; line-height: 1.15; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .h-blq { font-family: "Raleway", sans-serif; font-size: 1.8rem; font-weight: 700; color: #141924; line-height: 1.2; margin-bottom: 8px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .h-blq--sep { margin-bottom: 28px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .entradilla { font-size: 1rem; color: #6b7280; line-height: 1.7; margin-bottom: 28px; max-width: 70ch; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .acento { font-style: italic; color: #2b4ba3; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .azul { color: #2b4ba3; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .enlace-plano { color: inherit; text-decoration: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .rotulo { font-family: "Raleway", sans-serif; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #2b4ba3; margin-bottom: 10px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .franja { background: #f8f9fa; padding: 72px 24px; border-top: 1px solid #e5e7eb; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .franja--sm { padding: 64px 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .img-cover { width: 100%; height: 100%; object-fit: cover; display: block; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .img-cover--top { object-position: top center; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .enlaces-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .enlace-caja {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  text-decoration: none; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px;
  padding: 20px 22px; color: #141924; font-family: "Raleway", sans-serif; font-weight: 600;
  transition: border-color .3s, transform .3s;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .enlace-caja:hover { border-color: #2b4ba3; transform: translateY(-3px); }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-slider, :where(body:is(:not(.home):not(:has(.hm-tela)))) .tech-slider {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 60px;
  height: 70vh;
  min-height: 500px;
  overflow: hidden;
  border-radius: 20px;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  
  visibility: hidden;
  transition: opacity 0.8s ease, visibility 0s linear 0.8s;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
  transition: opacity 0.8s ease, visibility 0s;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide.saliente {
  opacity: 1;
  visibility: visible;
  z-index: 0;
  transition: none;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide.saliente > :not(.slide-bg) {
  opacity: 0;
  transition: opacity 0.3s ease;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-enlace { position: absolute; inset: 0; z-index: 1; cursor: pointer; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-content { pointer-events: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-content a, :where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-content button { pointer-events: auto; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-num {
  position: absolute;
  right: 3%;
  bottom: 0;
  z-index: 0;
  font-family: "Raleway", sans-serif;
  font-size: clamp(8rem, 20vw, 15rem);
  font-weight: 800;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 2px rgba(43, 75, 163, 0.16);
  pointer-events: none;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-nav {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  z-index: 10;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-dot {
  border: 0;
  padding: 0;
  position: relative;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(20, 25, 36, 0.2);
  cursor: pointer;
  transition: all 0.3s;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-dot::after { content: ""; position: absolute; inset: -8px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-dot.active {
  background: #2b4ba3;
  transform: scale(1.2);
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrows {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  z-index: 10;
  pointer-events: none;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #141924;
  transition: all 0.3s;
  pointer-events: auto;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrow:hover {
  background: #ffffff;
  transform: scale(1.1);
}
@media (max-width: 768px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-slider, :where(body:is(:not(.home):not(:has(.hm-tela)))) .tech-slider {
    height: 60vh;
    min-height: 400px;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrows {
    padding: 0 10px;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrow {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) img.img-cargando { background: #f4f6fb url('https://biolid.eu/wp-content/uploads/2026/10/news-loader-svg.svg') center / clamp(28px, 30%, 48px) no-repeat; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer .footer-canal {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 11px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 999px;
  color: #fff; font-weight: 600; text-decoration: none;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer .footer-canal span { font-size: 0.82em; opacity: 0.8; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer .footer-canal:hover, :where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer .footer-canal:focus-visible { background: #fff; border-color: #fff; color: #14224f; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer .footer-canal:hover span { opacity: 1; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer .footer-col nav .footer-canal { align-self: flex-start; margin-top: 6px; }

/* ===== empresa.css ===== */
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .emp-intro { font-family: "Raleway", sans-serif; font-size: 18px; line-height: 1.6; color: #4a5568; max-width: 60ch; margin-bottom: 60px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .emp-intro-fila { position: relative; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .emp-wax { position: absolute; right: -15%; top: 55%; width: clamp(140px, 16vw, 220px); height: auto; pointer-events: none; z-index: 0; transform: translateY(-50%) rotate(-18deg); }
@media (max-width: 950px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .emp-wax { display: none; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .emp-h1 { font-family: "Raleway", sans-serif; font-size: clamp(2.2rem, 4.5vw, 3.2rem); font-weight: 700; color: #141924; line-height: 1.15; margin-bottom: 16px; letter-spacing: -0.01em; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .planta-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 60px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .planta-foto { aspect-ratio: 16/10; border-radius: 14px; overflow: hidden; background: #f4f6fb; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin: 0 -48px 48px; padding: 32px 48px; background: #fff; }
@media (max-width: 950px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta-grid { margin: 0 0 48px; padding: 0; background: transparent; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .about-section .pincel-marco::before { top: 22%; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta { background: #f8f9fa; padding: 40px; border-radius: 12px; border: 1px solid #e5e7eb; position: relative; overflow: hidden; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta__foto { width: 200px; height: 200px; object-fit: cover; border-radius: 50%; border: 5px solid #fff; box-shadow: 0 8px 30px rgba(0,0,0,0.15); display: block; margin: 0 auto 32px auto; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta__p { font-family: "Raleway", sans-serif; font-size: 1rem; line-height: 1.8; color: #4a5568; margin-bottom: 20px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta__firma { margin-top: 30px; padding-top: 20px; border-top: 1px solid #e5e7eb; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta__firma-n { font-family: "Raleway", sans-serif; font-size: 1.1rem; color: #2b4ba3; font-weight: 600; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta__firma-c { font-size: 0.85rem; color: #6b7280; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta__firma-f { font-size: 0.75rem; color: #6b7280; margin-top: 8px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .certs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .docs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc { display: flex; flex-wrap: wrap; gap: 24px; padding: 28px; background: #f8f9fa; border: 1px solid #e5e7eb; border-radius: 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__miniatura { flex-shrink: 0; width: 96px; aspect-ratio: 3/4; border: 1px solid #d1d5db; border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); overflow: hidden; background: #f3f4f6 url('https://biolid.eu/wp-content/uploads/2026/10/cert-loader-svg.svg') center / 40px no-repeat; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__ph { flex-shrink: 0; width: 96px; aspect-ratio: 3/4; background: repeating-linear-gradient(45deg, #fff 0 10px, #f3f4f6 10px 20px); border: 1px dashed #9ca3af; border-radius: 4px; display: flex; align-items: center; justify-content: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__ph span { font-family: monospace; font-size: 0.6rem; color: #2b4ba3; text-align: center; line-height: 1.6; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__cuerpo { display: flex; flex-direction: column; gap: 8px; flex: 1 1 9rem; min-width: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__t, :where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__d { overflow-wrap: anywhere; hyphens: auto; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__t { font-family: "Raleway", sans-serif; font-size: 1.15rem; font-weight: 700; color: #141924; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__d { font-size: 0.88rem; line-height: 1.7; color: #6b7280; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__pend { font-family: monospace; font-size: 0.68rem; color: #2b4ba3; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__enlace { font-family: "Raleway", sans-serif; font-size: 0.78rem; font-weight: 700; color: #2b4ba3; text-decoration: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .linea-enlace { text-decoration: none; display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: #f8f9fa; border: 1px solid #e5e7eb; border-radius: 10px; transition: all 0.3s; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .linea-enlace:hover { border-color: #2b4ba3; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .linea-enlace__n { font-size: 0.72rem; color: #6b7280; font-weight: 600; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .linea-enlace__t { font-family: "Raleway", sans-serif; font-size: 0.95rem; font-weight: 600; color: #141924; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .sep-48 { margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .sep-24 { margin-bottom: 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .mini-gris { font-size: .72rem; color: #6b7280; }

/* ===== tecnologias.css ===== */
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .tech-section {
  background: #fff;
  min-height: 100vh;
  position: relative;
  padding: 120px 24px 60px;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide--digital {
  background-color: rgb(238,241,248);
  background-image:
    linear-gradient(180deg,
      rgba(238,241,248,0.52) 0%,
      rgba(238,241,248,0.94) 26%,
      rgba(238,241,248,0.94) 72%,
      rgba(238,241,248,0.52) 100%),
    url('https://biolid.eu/wp-content/uploads/2026/10/digital.webp');
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide--offset {
  background-color: rgb(243,239,231);
  background-image:
    linear-gradient(180deg,
      rgba(243,239,231,0.52) 0%,
      rgba(243,239,231,0.94) 26%,
      rgba(243,239,231,0.94) 72%,
      rgba(243,239,231,0.52) 100%),
    url('https://biolid.eu/wp-content/uploads/2026/10/offset.webp');
  background-size: cover, cover;
  background-position: center, center 28%;
  background-repeat: no-repeat, no-repeat;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide--flexo {
  background-color: rgb(239,231,220);
  background-image:
    linear-gradient(180deg,
      rgba(239,231,220,0.52) 0%,
      rgba(239,231,220,0.94) 26%,
      rgba(239,231,220,0.94) 72%,
      rgba(239,231,220,0.52) 100%),
    url('https://biolid.eu/wp-content/uploads/2026/10/flexografia.webp');
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide--seri {
  background-color: rgb(248,241,226);
  background-image:
    linear-gradient(180deg,
      rgba(248,241,226,0.52) 0%,
      rgba(248,241,226,0.94) 26%,
      rgba(248,241,226,0.94) 72%,
      rgba(248,241,226,0.52) 100%),
    url('https://biolid.eu/wp-content/uploads/2026/10/serigrafia.webp');
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 40px;
  color: #141924;
  z-index: 2;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-tag {
  font-family: "Raleway", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 16px;
  color: #2b4ba3;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-title {
  font-family: "Raleway", sans-serif;
  font-size: clamp(3.2rem, 8.5vw, 6.5rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
  color: #141924;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-desc {
  font-size: 1.15rem;
  max-width: 520px;
  line-height: 1.7;
  color: #4a5568;
  margin-bottom: 24px;
  font-weight: 600;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-detail {
  font-size: 0.95rem;
  color: #6b7280;
  max-width: 440px;
  line-height: 1.7;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .acabados-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .acabado { padding: 20px 22px; background: #f8f9fa; border: 1px solid #e5e7eb; border-radius: 10px; display: flex; flex-direction: column; gap: 4px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .acabado__n { font-size: 0.7rem; color: #6b7280; font-weight: 600; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .acabado__t { font-family: "Raleway", sans-serif; font-size: 1.05rem; font-weight: 700; color: #141924; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .acabado__d { font-size: 0.82rem; color: #6b7280; font-style: italic; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .galeria-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; margin-top: 28px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .galeria-item { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .galeria-item img { width: 100%; height: auto; aspect-ratio: 1/1; object-fit: cover; display: block; background: #f4f6fb; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .galeria-item span { padding: 11px 12px; font-family: "Raleway", sans-serif; font-size: 0.82rem; font-weight: 600; color: #141924; text-align: center; line-height: 1.3; }

/* ===== sectores.css ===== */
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .sectores-section {
  background: #f8f9fa;
  min-height: 100vh;
  position: relative;
  padding: 120px 24px 60px;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 6s ease;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-product {
  position: absolute;
  left: 50%;
  top: 54%;
  transform: translate(-50%, -50%);
  height: 72%;
  max-height: 540px;
  max-width: 80%;
  width: auto;
  object-fit: contain;
  z-index: 1;
  filter: drop-shadow(0 30px 60px rgba(20, 25, 36, 0.3));
  opacity: 0;
  transition: opacity 0.8s ease 0.2s;
  pointer-events: none;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide.active .slide-product {
  opacity: 1;
  animation: slideFloat 5s ease-in-out infinite;
}
@keyframes slideFloat {
  0%, 100% { transform: translate(-50%, -50%) translateY(0); }
  50% { transform: translate(-50%, -50%) translateY(-14px); }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide.active .slide-bg {
  transform: scale(1.05);
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 40px;
  color: #ffffff;
  mix-blend-mode: difference;
  z-index: 2;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-tag {
  font-family: "Raleway", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 16px;
  opacity: 0.9;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-title {
  font-family: "Raleway", sans-serif;
  font-size: clamp(3.2rem, 8.5vw, 6.5rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.02em;
  margin-bottom: 24px;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-desc {
  font-size: 1.1rem;
  max-width: 600px;
  line-height: 1.7;
  opacity: 0.9;
}
@media (max-width: 768px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 1100px) and (min-width: 769px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-link { display:block; text-decoration:none; color:inherit; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-link figure { transition: border-color .3s, transform .3s, box-shadow .3s; cursor:pointer; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-link:hover figure { border-color:#2b4ba3; transform:translateY(-4px); box-shadow:0 14px 32px rgba(20,25,36,.10); }
@media (min-width: 769px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .sector-slider .slide-product {
    left: auto;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
    width: 40%;
    max-width: 40%;
    height: 82%;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .sector-slider .slide.active .slide-product {
    animation-name: slideFloatSide;
  }
@keyframes slideFloatSide {
    0%, 100% { transform: translateY(-50%); }
    50% { transform: translateY(calc(-50% - 14px)); }
  }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .sector-slider .slide-content {
    align-items: flex-start;
    text-align: left;
    padding: 40px 48% 40px 6%;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .sector-slider .slide-desc { margin-left: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) #alimentacion .slide-product { height: 70%; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-product--foto {
  border-radius: 18px;
  height: auto;
  max-height: 68%;
  object-fit: cover;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-chip {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 96px;
  height: 96px;
  padding: 13px;
  box-sizing: border-box;
  object-fit: contain;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(20, 25, 36, 0.18);
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-chip--ancha { padding: 4px; }
@media (max-width: 480px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-chip { width: 82px; height: 82px; padding: 11px; top: 10px; right: 10px; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide--vinos { background: #f3efe7; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide--alimentacion { background: #f8f1e2; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide--cosmetica { background: #eef1f8; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide--higiene { background: #e9f0f4; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide--industria { background: #eceef2; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide--automocion { background: #f1ece4; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide--jardineria { background: #eef4ea; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx { background: #ffffff; padding: 100px 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx__head { max-width: 760px; margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx__h { font-family: "Raleway", sans-serif; font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 700; color: #141924; line-height: 1.15; margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx__lead { font-size: 1.05rem; line-height: 1.8; color: #6b7280; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card { margin: 0; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__media { aspect-ratio: 4/3; overflow: hidden; position: relative; background: #f3f4f6; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__media--tramada { background: repeating-linear-gradient(45deg, #f4f6fb 0 14px, #eceff7 14px 28px); display: flex; align-items: center; justify-content: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__foto { width: 100%; height: 100%; object-fit: cover; display: block; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__foto--zoom { transform: scale(1.3); }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__foto--zoom-sm { transform: scale(1.2); }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__pie { padding: 18px 20px; display: flex; flex-direction: column; gap: 4px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__cat { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #2b4ba3; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__t { font-family: "Raleway", sans-serif; font-size: 1rem; font-weight: 600; color: #141924; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__d { font-size: 0.85rem; color: #6b7280; line-height: 1.5; }
@media (prefers-reduced-motion: reduce)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide.active .slide-product { animation: none !important; }
}

/* ===== sostenibilidad.css ===== */
body:where(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section)) { background: #f8f9fa; color: #f0f0f0; font-family: "Raleway", sans-serif; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: linear-gradient(90deg, #43790f, #76bf31);
  z-index: 9999;
  transition: width 0.1s;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .section-tag {
  font-family: "Raleway", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #43790f;
  margin-bottom: 12px;
  display: block;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .sostenibilidad-section {
  background: #f8f9fa;
  min-height: 100vh;
  position: relative;
  padding: 120px 24px 60px;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stat {
  text-align: center;
  padding: 24px;
  background: #f8f9fa;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stat .num {
  font-size: 2.5rem;
  font-weight: 200;
  color: #43790f;
  line-height: 1;
  margin-bottom: 8px;
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stat .lbl {
  font-size: 0.75rem;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
@media (max-width: 900px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero { flex-direction: column !important; align-items: flex-start !important; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash svg { width: 110px; height: auto; overflow: visible; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .loader-path {
  fill: none;
  stroke: url(#stemGrad);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  filter: drop-shadow(0 0 6px rgba(75,135,17,.55));
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .sprout { transform-box: fill-box; transform-origin: 0% 50%; transform: scale(0); }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .sprout.t1 { fill: #3f6e26; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .sprout.t2 { fill: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .sprout.t3 { fill: #6fa348; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .sprout.t4 { fill: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .sprout.t5 { fill: #8cbf66; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .blade { stroke: rgba(20,40,10,.18); stroke-width: .35; paint-order: stroke; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .vein { fill: none; stroke: rgba(255,255,255,.55); stroke-width: .55; stroke-linecap: round; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash .vein--mid { stroke-width: .7; }
::selection { background: #43790f; color: #fff; }
::-webkit-scrollbar-thumb:hover { background-color: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .nav-collapse .nav-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -4px; height: 2px; background: #43790f; transition: right 0.3s; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-card:hover { border-color: #43790f; box-shadow: 0 14px 32px rgba(20,25,36,.10); transform: translateY(-4px); }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-thumb { position: relative; aspect-ratio: 1 / 1.3; background: #f3f4f6 url('https://biolid.eu/wp-content/uploads/2026/10/cert-loader-eco-svg.svg') center / 52px no-repeat; border-bottom: 1px solid #eef0f3; overflow: hidden; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-code { font-family: "Raleway", sans-serif; font-size: 1rem; font-weight: 700; color: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-name { font-size: .82rem; color: #141924; font-weight: 600; line-height: 1.4; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-card:hover .cert-open { color: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 16px; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
@media (max-width: 1000px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 620px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-grid { grid-template-columns: repeat(2, 1fr); }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .soporte-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 8px; }
@media (max-width: 1000px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .soporte-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 620px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .soporte-grid { grid-template-columns: repeat(2, 1fr); }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .site-footer { position: relative; overflow: hidden; background: #3a6b16; color: rgba(255,255,255,0.78); padding: 64px 24px 32px; font-family: "Raleway", sans-serif; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero { position: relative; border-radius: 20px; overflow: hidden; padding: 48px; min-height: 320px; margin-bottom: 48px; display: flex; align-items: center; gap: 48px; background: linear-gradient(rgba(13,24,43,0.58), rgba(13,24,43,0.72)), url('https://biolid.eu/wp-content/uploads/2026/10/placas.webp') center center / cover no-repeat; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__h { font-family: "Raleway", sans-serif; font-size: clamp(2.2rem, 4.5vw, 3.2rem); font-weight: 700; color: #ffffff; line-height: 1.15; margin-bottom: 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__h--aire { line-height: 1.3; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__p { font-family: "Raleway", sans-serif; font-size: 1.1rem; line-height: 1.8; color: rgba(255,255,255,0.88); max-width: 700px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__doc { flex-shrink: 0; background: #fff; border-radius: 12px; padding: 20px; display: flex; gap: 16px; align-items: center; text-decoration: none; box-shadow: 0 16px 40px rgba(0,0,0,0.35); max-width: 320px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__doc-min { flex-shrink: 0; width: 64px; aspect-ratio: 3/4; border: 1px solid #d1d5db; border-radius: 3px; overflow: hidden; background: #f3f4f6 url('https://biolid.eu/wp-content/uploads/2026/10/cert-loader-eco-svg.svg') center / 30px no-repeat; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__doc-t { font-family: "Raleway", sans-serif; font-size: 0.92rem; font-weight: 700; color: #141924; line-height: 1.3; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .chip-blanco { display: inline-block; background: #fff; color: #4a7c2f; padding: 7px 16px; border-radius: 999px; box-shadow: 0 6px 18px rgba(0,0,0,0.22); }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .acento-verde { font-style: italic; color: #4a7c2f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .acento-verde--chip { background: #fff; padding: 2px 12px; border-radius: 8px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .verde-vivo { color: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .acento-vivo { font-style: italic; color: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel { background: linear-gradient(90deg, rgba(12,28,14,0.78) 0%, rgba(12,28,14,0.62) 55%, rgba(12,28,14,0.18) 100%), linear-gradient(135deg, rgba(75,135,17,0.26) 0%, rgba(61,107,79,0.32) 100%), url('https://biolid.eu/wp-content/uploads/2026/10/placa-green.webp') center center / cover no-repeat; color: #fff; border-radius: 20px; padding: 48px; min-height: 320px; position: relative; overflow: hidden; display: flex; align-items: center; gap: 32px; margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__trama { position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,0.1) 1px, transparent 1px); background-size: 20px 20px; pointer-events: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__txt { position: relative; z-index: 1; flex: 1; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__txt--sombra { text-shadow: 0 1px 3px rgba(0,0,0,0.55); }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__rot { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 16px; opacity: 0.9; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__h { font-family: "Raleway", sans-serif; font-size: 2rem; font-weight: 700; margin-bottom: 16px; line-height: 1.2; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__p { font-size: 1.1rem; line-height: 1.7; opacity: 0.95; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__medalla { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__disco { width: 160px; height: 160px; background: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 32px rgba(0,0,0,0.15), inset 0 2px 4px rgba(255,255,255,0.9), inset 0 -2px 4px rgba(0,0,0,0.1); }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__disco img { width: 100px; height: auto; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stats { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stats__globo { display: flex; align-items: center; justify-content: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stats__globo img { width: 100%; max-width: 280px; height: auto; opacity: 0.9; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .num small { font-size: 1.5rem; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .papel { background: #f4f7f0; border: 1px solid #dfe8d6; border-radius: 16px; padding: 32px 36px; margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .papel__rot { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.15em; color: #43790f; font-weight: 700; margin-bottom: 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .papel__h { font-family: "Raleway", sans-serif; font-size: 1.5rem; font-weight: 700; color: #141924; line-height: 1.25; margin-bottom: 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .papel__p { font-size: 1.02rem; line-height: 1.75; color: #4a5568; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod { max-width: 1200px; margin: 0 auto; padding: 8px 24px 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod__h { font-family: "Raleway", sans-serif; font-size: clamp(1.9rem, 4vw, 2.7rem); font-weight: 800; color: #141924; line-height: 1.15; margin-bottom: 18px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod__p { font-family: "Raleway", sans-serif; font-size: 1.12rem; line-height: 1.8; color: #4a5568; max-width: 760px; margin-bottom: 14px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod-card { background: #f8f9fa; border: 1px solid #e5e7eb; border-radius: 14px; padding: 22px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod-card--eco { background: #f4f8f0; border-color: #d9e6cd; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod-card__t { font-family: "Raleway", sans-serif; font-size: 1.08rem; font-weight: 700; color: #141924; margin-bottom: 6px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod-card__t--eco { color: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod-card__d { font-size: 0.95rem; color: #4a5568; line-height: 1.6; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .certs-eco__h { font-family: "Raleway", sans-serif; font-size: 1.2rem; font-weight: 700; color: #141924; margin-bottom: 24px; text-align: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cierre { max-width: 1000px; margin: 0 auto; text-align: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cierre__h { font-family: "Raleway", sans-serif; font-size: 1.8rem; font-weight: 800; color: #141924; margin-bottom: 20px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cierre__rot { font-family: "Raleway", sans-serif; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #4a7c2f; margin-bottom: 10px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cierre__rot--vivo { color: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .btn-verde { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; background: #5a8f3a; color: #fff; font-family: "Raleway", sans-serif; font-weight: 700; border-radius: 10px; padding: 16px 28px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .btn-verde--vivo { background: #43790f; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .col-16 { display: flex; flex-direction: column; gap: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .col-4 { display: flex; flex-direction: column; gap: 4px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .flex-1 { flex: 1; min-width: 0; max-width: 100%; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .sep-60 { margin-top: 60px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .mini-verde { font-size: 0.72rem; color: #4a7c2f; font-weight: 600; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .mini-verde--vivo { color: #43790f; }

/* ===== mobile.css ===== */
@supports (overflow-x: clip)  {
html:where(:has(> body:is(:not(.home):not(:has(.hm-tela))))), body:where(:not(.home):not(:has(.hm-tela))) { overflow-x: clip; }
}
@media (max-width: 768px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) h1, :where(body:is(:not(.home):not(:has(.hm-tela)))) h2, :where(body:is(:not(.home):not(:has(.hm-tela)))) h3, :where(body:is(:not(.home):not(:has(.hm-tela)))) .sr-word, :where(body:is(:not(.home):not(:has(.hm-tela)))) .sr-inner { hyphens: auto; overflow-wrap: anywhere; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sr-word, :where(body:is(:not(.home):not(:has(.hm-tela)))) .sr-inner { max-width: 100%; }
}
@media (max-width: 950px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar {
    height: auto;
    min-height: 64px;
    padding: 10px 16px;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-logo { order: 0; margin-right: auto; height: 44px; align-items: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav__lang { order: 1; align-self: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-toggle {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 -10px 0 4px;
    padding: 0;
    gap: 5px;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-toggle span { transition: transform .3s, opacity .2s; transform-origin: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar:has(.nav-collapse.open) .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar:has(.nav-collapse.open) .nav-toggle span:nth-child(2) { opacity: 0; transform: scaleX(0); }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar:has(.nav-collapse.open) .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse {
    order: 3;
    display: none;
    flex-direction: column;
    width: 100%;
    gap: 0;
    margin-top: 10px;
    padding: 2px 0 6px;
    border-top: 1px solid rgba(20, 25, 36, .08);
    max-height: calc(100vh - 90px);
    max-height: calc(100dvh - 90px);
    overflow-x: hidden;   
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse.open { display: flex; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar:has(.nav-collapse.open) { background: #fcfaf7 !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-links {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 0;
    border-bottom: 1px solid rgba(20, 25, 36, .06);
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-links:last-child { border-bottom: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-links > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 46px;
    padding: 12px 2px;
    font-size: 1rem;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-links a::after { display: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__menu, :where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__grid { max-width: 100%; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-logo-svg path { fill: #2b4ba3; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__top { display: flex !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__caret {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: -6px 0 -6px auto;
    font-size: .8em;
    opacity: .75;
    transform: none;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd.open .nav-dd__caret { transform: rotate(180deg); }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__menu {
    position: static;
    display: none;
    width: 100%;
    margin: 0;
    padding: 0 0 10px 12px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd.open .nav-dd__menu { display: block; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd:hover:not(.open) .nav-dd__menu { display: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__menu::before { display: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__grid, :where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd--narrow .nav-dd__grid { grid-template-columns: 1fr; min-width: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__menu a { padding: 10px 8px; font-size: .92rem; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__all { margin-top: 4px; border-top: 1px solid #eef0f4; padding-top: 12px !important; }
}
@media (max-width: 480px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar { padding: 8px 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-logo img, :where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-logo-svg { width: 52px !important; height: auto !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav__lang a { padding: 4px 9px !important; font-size: .78rem !important; }
}
@media (max-width: 768px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .about-section, :where(body:is(:not(.home):not(:has(.hm-tela)))) .sectores-section, :where(body:is(:not(.home):not(:has(.hm-tela)))) .tech-section, :where(body:is(:not(.home):not(:has(.hm-tela)))) .sostenibilidad-section, :where(body:is(:not(.home):not(:has(.hm-tela)))) .news-section { padding: 100px 20px 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .lp-main, :where(body:is(:not(.home):not(:has(.hm-tela)))) .legal, :where(body:is(:not(.home):not(:has(.hm-tela)))) .article-section { padding-top: 110px; padding-left: 20px; padding-right: 20px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .blog-main, :where(body:is(:not(.home):not(:has(.hm-tela)))) .blog-index { padding-top: 104px; padding-left: 20px; padding-right: 20px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .e404 { padding-top: 130px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .legal table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .legal th, :where(body:is(:not(.home):not(:has(.hm-tela)))) .legal td { min-width: 120px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .carta-grid > div:first-child { padding: 28px 22px !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .carta-grid img[alt="Guillermo Buces"] { width: 150px !important; height: 150px !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .certs-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .lineas-grid { grid-template-columns: 1fr !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .solar-panel { flex-direction: column !important; align-items: flex-start !important; gap: 24px !important; padding: 32px 24px !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .solar-panel__h { font-size: 1.55rem !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .solar-panel p { font-size: 1rem !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .solar-panel > div:last-child { align-self: flex-end; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .solar-panel > div:last-child > div { width: 104px !important; height: 104px !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .solar-panel > div:last-child img { width: 64px !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .eco-stats { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)) !important; gap: 14px !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .eco-stats > :nth-child(2) { grid-column: 1 / -1; order: -1; justify-self: center; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .eco-stats > :nth-child(2) img { max-width: 190px !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .eco-stats > div { gap: 14px !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .eco-stat { padding: 20px 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .eco-stat .num { font-size: min(2.1rem, 9.5vw); }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .eco-stat .num small { font-size: 1.1rem !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-slider, :where(body:is(:not(.home):not(:has(.hm-tela)))) .tech-slider { height: min(72vh, 600px); min-height: 460px; border-radius: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-content { justify-content: flex-start; padding: 34px 22px 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-tag { font-size: .68rem; margin-bottom: 10px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-title { font-size: clamp(2rem, 8.4vw, 3rem); margin-bottom: 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-desc { font-size: .95rem; line-height: 1.55; max-width: 34ch; margin-bottom: 10px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-detail { font-size: .85rem; line-height: 1.5; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-product { top: auto; bottom: 15%; height: 40%; max-width: 72%; transform: translate(-50%, 0); }
@media (max-height: 700px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-product { bottom: 6%; height: 38%; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-product--foto { height: auto; max-height: 36%; }
@keyframes slideFloatMobile {
    0%, 100% { transform: translate(-50%, 0); }
    50% { transform: translate(-50%, -10px); }
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide.active .slide-product { animation-name: slideFloatMobile; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-num { font-size: clamp(6rem, 30vw, 9rem); right: 2%; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .tech-slider { height: min(58vh, 500px); min-height: 400px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .tech-slider .slide-content { justify-content: center; padding: 24px 22px 40px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrows { top: auto; bottom: 10px; transform: none; padding: 0 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrow { width: 40px; height: 40px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-nav { bottom: 22px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .news__head { margin-bottom: 40px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .news-item :is(h2, h4) { font-size: 1.15rem; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .site-footer { padding: 52px 20px 28px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-grid { gap: 30px; }
}
@media (max-width: 480px)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .soporte-grid { grid-template-columns: 1fr !important; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-grid { gap: 12px; padding: 0 20px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-meta { padding: 12px 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-grid { grid-template-columns: 1fr; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-title { font-size: clamp(1.9rem, 9vw, 2.6rem); }
}
@media (hover: none)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-card .hover-img.hover-img {
    position: static;
    display: block;
    width: auto;
    height: 132px;
    max-width: 60%;
    object-fit: contain;
    object-position: bottom center;
    margin: 16px auto 0;
    opacity: 1;
    transform: rotate(-6deg);
    animation: none;                    
    transition: opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1);
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-card .hover-img.hover-img.img-vino { height: 168px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-card .hover-img.hover-img.img-miel { height: 112px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-card .hover-img.hover-img.img-miel, :where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-card .hover-img.hover-img.s3, :where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-card .hover-img.hover-img.lower-1 { margin-top: 40px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .con-aparicion .sector-card .hover-img.hover-img {
    opacity: 0;
    transform: translateY(14px) rotate(-6deg);
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .con-aparicion .sector-card.is-vista .hover-img.hover-img {
    opacity: 1;
    transform: translateY(0) rotate(-6deg);
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .line-card-media.line-card-media {
    position: static;
    display: block;
    width: 100%;
    height: 132px;
    margin: 0 0 18px;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(20,25,36,0.14);
    opacity: 1;
    transform: none;
    transform-origin: center;
    transition: opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1);
  }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .con-aparicion .line-card-media.line-card-media { opacity: 0; transform: translateY(16px); }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .con-aparicion .line-card.is-vista .line-card-media.line-card-media, :where(body:is(:not(.home):not(:has(.hm-tela)))) .con-aparicion .line-card-featured.is-vista .line-card-media.line-card-media {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (hover: none) and (prefers-reduced-motion: reduce)  {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-card .hover-img.hover-img, :where(body:is(:not(.home):not(:has(.hm-tela)))) .line-card-media.line-card-media { transition: none; }
}

/* ################ PORTADA (orden de Home.astro) ################ */

/* ===== portada-intro.css ===== */
body:where(.home, :has(.hm-tela)), :where(body:is(.home, :has(.hm-tela))) * { margin: 0; padding: 0; box-sizing: border-box; }
html:where(:has(> body:is(.home, :has(.hm-tela)))) { overflow-x: hidden; }
body:where(.home, :has(.hm-tela)) { background: #0d0d0d; color: #f0f0f0; font-family: "Raleway", sans-serif; }
:where(body:is(.home, :has(.hm-tela))) .page-backdrop, :where(body:is(.home, :has(.hm-tela))) .page-img { position: fixed; top: 0; right: 0; left: 0; height: 100vh; height: 100lvh; pointer-events: none; }
:where(body:is(.home, :has(.hm-tela))) #splash {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: #fcfaf7;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
:where(body:is(.home, :has(.hm-tela))) #splash.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
:where(body:is(.home, :has(.hm-tela))) #splash svg { width: 92px; height: auto; }
:where(body:is(.home, :has(.hm-tela))) #splash .loader-path {
  fill: none;
  stroke: #2b4ba3;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 50;
  stroke-dashoffset: 100;
  filter: drop-shadow(0 0 10px #2b4ba3);
  animation: neonBrandLoop 1.5s linear infinite;
}
@keyframes neonBrandLoop {
  0% { stroke-dashoffset: 100; }
  100% { stroke-dashoffset: 0; }
}
html:where(:has(> body:is(.home, :has(.hm-tela)))):has(body.is-loading) { overflow: hidden; }
body:where(.home, :has(.hm-tela)).is-loading { overflow: clip; }
@media (prefers-reduced-motion: reduce)  {
html:where(:has(> body:is(.home, :has(.hm-tela)))) { scroll-behavior: auto; }
:where(body:is(.home, :has(.hm-tela))) .body-container, :where(body:is(.home, :has(.hm-tela))) .page-content:where(:not(.site-main > *)), :where(body:is(.home, :has(.hm-tela))) #main-video, :where(body:is(.home, :has(.hm-tela))) #main-text-container, :where(body:is(.home, :has(.hm-tela))) .navbar { transition: none !important; }
}
:where(body:is(.home, :has(.hm-tela))) .body-container, :where(body:is(.home, :has(.hm-tela))) .page-content:where(:not(.site-main > *)) {
  
  position: fixed; top: 50%; left: 50%; transform: translate(calc(-50% + var(--tarjeta-dx, 0px)), calc(-50% + var(--tarjeta-dy, 0px)));
  
  width: min(62vw, calc(72vh * 16 / 9)); min-width: 0; aspect-ratio: 16/9;
  
  will-change: transform;
}
:where(body:is(.home, :has(.hm-tela))) .body-container { background: transparent; z-index: 0; }
:where(body:is(.home, :has(.hm-tela))) .page-content:where(:not(.site-main > *)) { display: flex; justify-content: space-between; z-index: 10; pointer-events: none; }
@media (max-width: 950px)  {
:where(body:is(.home, :has(.hm-tela))) .body-container, :where(body:is(.home, :has(.hm-tela))) .page-content:where(:not(.site-main > *)) { top: 50vh; top: 50lvh; }
}
:where(body:is(.home, :has(.hm-tela))) .navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  
  background: transparent;
  padding: 1rem 3rem;
  pointer-events: auto;
  height: 84px;
  
  transition: background-color 0.3s, box-shadow 0.3s;
}
:where(body:is(.home, :has(.hm-tela))) .navbar::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background-color: #fcfaf7;
  background-image: var(--paper-layers);
  background-size: 100% var(--card-h, 100vh);
  background-repeat: no-repeat;
  background-position: 0 0;
  border-radius: 6px 6px 0 0;
  border-bottom: 1px solid transparent;
  box-shadow: none;
  transition: border-bottom-color 0.3s, box-shadow 0.3s;
}
:where(body:is(.home, :has(.hm-tela))) .navbar.scrolled::before {
  border-bottom-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}
:where(body:is(.home, :has(.hm-tela))) .nav-logo { display: flex; align-items: center; justify-content: center; }
:where(body:is(.home, :has(.hm-tela))) .navbar__groove {
  position: absolute; left: clamp(12px, 1.3vw, 18px); right: clamp(12px, 1.3vw, 18px);
  top: clamp(12px, 1.3vw, 18px); bottom: -6px; border-radius: 2px 2px 0 0;
  pointer-events: none; z-index: 0;
  box-shadow:
    inset 1px 1px 1px rgba(40,34,22,.30),
    inset -1px -1px 1px rgba(255,255,255,.95),
    1px 1px 1px rgba(255,255,255,.9),
    -1px -1px 1px rgba(40,34,22,.16);
  clip-path: inset(-2px -2px 6px -2px);
}
:where(body:is(.home, :has(.hm-tela))) .navbar__groove::after {
  content: ""; position: absolute; top: 2px; left: 2px; right: 2px; bottom: -6px; border-radius: 1px;
  box-shadow: inset -1px -1px 1px rgba(40,34,22,.14), inset 1px 1px 1px rgba(255,255,255,.85);
}
:where(body:is(.home, :has(.hm-tela))) .navbar > *:not(.navbar__groove):not(img):not(.hm-top-hotspot) { position: relative; z-index: 1; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-links { position: relative; z-index: 1; }
@media (max-width: 1350px)  {
:where(body:is(.home, :has(.hm-tela))) .navbar::before { border-radius: 0; background-image: none; }
}
@media (max-width: 1350px)  {
:where(body:is(.home, :has(.hm-tela))) .navbar__groove { display: none; }
}
@media (max-width: 950px) and (max-height: 640px)  {
:where(body:is(.home, :has(.hm-tela))) #scroll-hint { display: none !important; }
}
:where(body:is(.home, :has(.hm-tela))) #scroll-hint.is-off .hm-scroll-flecha, :where(body:is(.home, :has(.hm-tela))) .prod-marquee.is-off .prod-track, :where(body:is(.home, :has(.hm-tela))) .ticker.is-off .ticker__track { animation-play-state: paused !important; }
:where(body:is(.home, :has(.hm-tela))) .nav-logo svg { display: block; }
:where(body:is(.home, :has(.hm-tela))) .nav-logo img { display: block; }
:where(body:is(.home, :has(.hm-tela))) .nav-logo-svg { }
:where(body:is(.home, :has(.hm-tela))) .nav-links { display: flex; justify-content: space-between; gap: 1.5rem; }
:where(body:is(.home, :has(.hm-tela))) .nav-links a { text-decoration: none; color: #2b4ba3; font-size: 1rem; font-weight: 500; }
:where(body:is(.home, :has(.hm-tela))) .nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 6px; flex-direction: column; gap: 5px; }
:where(body:is(.home, :has(.hm-tela))) .nav-toggle span { display: block; width: 22px; height: 2px; background: #2b4ba3; transition: all 0.3s; }
:where(body:is(.home, :has(.hm-tela))) .nav-collapse { display: contents; }
:where(body:is(.home, :has(.hm-tela))) section { position: relative; display: flex; justify-content: center; align-items: center; text-align: center; }
:where(body:is(.home, :has(.hm-tela))) .body-container section { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
:root:where(:has(> body:is(.home, :has(.hm-tela)))) {
  --paper-layers:
    radial-gradient(120% 90% at 16% 8%, rgba(252,250,247,1) 0%, rgba(252,250,247,0) 55%),
    radial-gradient(90% 80% at 88% 96%, rgba(64,52,30,.10) 0%, rgba(64,52,30,0) 55%),
    linear-gradient(180deg, #fcfaf7 0%, #fcfaf7 24%, rgba(252,250,247,0) 52%),
    repeating-linear-gradient(0deg, rgba(43,75,163,0) 0 7px, rgba(43,75,163,.045) 7px 8px),
    
    linear-gradient(180deg, #fcfaf7 0%, #fcfaf7 24%, #f9f7f2 36%, #f8f5f0 46%, #f3efe8 58%, #f2eee7 68%, #ece7df 82%, #eae5dc 91%, #e6e0d6 100%);
}
:where(body:is(.home, :has(.hm-tela))) .body-container section.main-initial {
  --tarjeta-marco-inset: clamp(12px, 1.3vw, 18px);
  --paper: #fcfaf7;
  --paper-lo: #efece6;
  --paper-hi: #ffffff;
  --hl: rgba(255,255,255,.95);
  --sh: rgba(64,52,30,.22);
  --ink: #2b4ba3;
  background-color: var(--paper);
  background-image: var(--paper-layers);
  border-radius: var(--tarjeta-radio, 6px);
  overflow: hidden;
  z-index: 1;
}
:where(body:is(.home, :has(.hm-tela))) .body-container {
  --tarjeta-radio: 6px;
  border-radius: var(--tarjeta-radio);
  box-shadow:
    0 1px 2px rgba(40,34,22,.10),
    0 8px 18px -6px rgba(40,34,22,.20),
    0 30px 60px -18px rgba(40,34,22,.40);
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__edge {
  position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: var(--tarjeta-radio, 6px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__grain, :where(body:is(.home, :has(.hm-tela))) .main-initial__frame { position: absolute; pointer-events: none; transition: opacity 1s ease; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__frame {
  inset: var(--tarjeta-marco-inset); z-index: 1; border-radius: 2px;
  border: 0;
  box-shadow:
    inset 1px 1px 1px rgba(40,34,22,.30),
    inset -1px -1px 1px rgba(255,255,255,.95),
    1px 1px 1px rgba(255,255,255,.9),
    -1px -1px 1px rgba(40,34,22,.16);
  outline: 2px solid transparent; outline-offset: -3px;
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__frame::after {
  content: ""; position: absolute; inset: 2px; border-radius: 1px;
  box-shadow: inset -1px -1px 1px rgba(40,34,22,.14), inset 1px 1px 1px rgba(255,255,255,.85);
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__grain {
  inset: 0; z-index: 0; opacity: .6; mix-blend-mode: multiply;
  
  -webkit-mask: linear-gradient(180deg, transparent 0%, transparent 24%, #000 52%);
  mask: linear-gradient(180deg, transparent 0%, transparent 24%, #000 52%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .38 0 0 0 0 .32 0 0 0 0 .2 0 0 0 .4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
:where(body:is(.home, :has(.hm-tela))) .main-initial.is-revealed .main-initial__grain, :where(body:is(.home, :has(.hm-tela))) .main-initial.is-revealed .main-initial__stamp, :where(body:is(.home, :has(.hm-tela))) .main-initial.is-revealed .main-initial__marca { opacity: 0; }
:where(body:is(.home, :has(.hm-tela))) .main-initial { --b-w: 46%; --b-cx: 17%; --b-bottom: 8%; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__marca { display: none; position: absolute; left: calc(var(--b-cx) - 0.28 * var(--b-w)); top: calc(100% - var(--b-bottom) - 1.086 * var(--b-w)); width: calc(0.42 * var(--b-w)); aspect-ratio: 175.37 / 111.6; background: #fff; -webkit-mask: url('https://biolid.eu/wp-content/uploads/2026/10/logo-svg.svg') center / contain no-repeat; mask: url('https://biolid.eu/wp-content/uploads/2026/10/logo-svg.svg') center / contain no-repeat; z-index: 1; pointer-events: none; transition: opacity 1s ease; filter: drop-shadow(-0.6px -0.6px 0.2px rgba(43,75,163,.85)) drop-shadow(0.5px 0.6px 0.2px rgba(255,255,255,.5)); }
:where(body:is(.home, :has(.hm-tela))) .main-initial.is-revealed .label-meta span { color: #2b4ba3; text-shadow: 0 0 6px rgba(255,255,255,.9); }
:where(body:is(.home, :has(.hm-tela))) #main-text-container {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  height: 100%; padding: clamp(72px, 15%, 96px) 3rem 3.5rem;
  transition: transform 0.1s ease, opacity 1s ease;
}
:where(body:is(.home, :has(.hm-tela))) #main-title { font-family: "Raleway", sans-serif; line-height: 1; text-align: center; margin-bottom: .9rem; transition: opacity 1s ease; display: flex; flex-direction: column; align-items: center; gap: .55em; font-size: clamp(2.1rem, 2.7vw, 3.4rem); }
:where(body:is(.home, :has(.hm-tela))) .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
:where(body:is(.home, :has(.hm-tela))) .emb-ink { display: inline-grid; font-weight: 800; letter-spacing: .02em; line-height: 1; padding: .06em .08em; }
:where(body:is(.home, :has(.hm-tela))) .emb-ink > span { grid-area: 1 / 1; }
:where(body:is(.home, :has(.hm-tela))) .emb-ink__base { color: transparent; }
:where(body:is(.home, :has(.hm-tela))) .emb-ink__face { color: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .emb-ink__grain {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E") 0 0 / 160px 160px repeat;
  -webkit-background-clip: text; background-clip: text; color: transparent; opacity: .28; mix-blend-mode: soft-light; pointer-events: none;
}
:where(body:is(.home, :has(.hm-tela))) .emb-ink__shine {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 -.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E") 0 0 / 180px 180px repeat;
  -webkit-background-clip: text; background-clip: text; color: transparent; pointer-events: none; opacity: .85;
  -webkit-mask: linear-gradient(calc(115deg + var(--sa, 0) * 25deg), transparent 0%, transparent calc(var(--sx, 50%) - 32%), rgba(255,255,255,.9) calc(var(--sx, 50%) - 6%), rgba(255,255,255,.9) calc(var(--sx, 50%) + 6%), transparent calc(var(--sx, 50%) + 32%), transparent 100%);
  mask: linear-gradient(calc(115deg + var(--sa, 0) * 25deg), transparent 0%, transparent calc(var(--sx, 50%) - 32%), rgba(255,255,255,.9) calc(var(--sx, 50%) - 6%), rgba(255,255,255,.9) calc(var(--sx, 50%) + 6%), transparent calc(var(--sx, 50%) + 32%), transparent 100%);
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__logo-corner::after, :where(body:is(.home, :has(.hm-tela))) .main-initial__stamp .seal-mark::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at var(--sx, 50%) var(--sy, 30%), rgba(255,255,255,.5) 0%, rgba(255,255,255,.14) 22%, rgba(255,255,255,0) 50%);
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__logo-corner::after {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 -.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E") 0 0 / 180px 180px repeat;
  -webkit-mask: linear-gradient(calc(115deg + var(--sa, 0) * 25deg), transparent 0%, transparent calc(var(--sx, 50%) - 32%), rgba(255,255,255,.9) calc(var(--sx, 50%) - 6%), rgba(255,255,255,.9) calc(var(--sx, 50%) + 6%), transparent calc(var(--sx, 50%) + 32%), transparent 100%);
  mask: linear-gradient(calc(115deg + var(--sa, 0) * 25deg), transparent 0%, transparent calc(var(--sx, 50%) - 32%), rgba(255,255,255,.9) calc(var(--sx, 50%) - 6%), rgba(255,255,255,.9) calc(var(--sx, 50%) + 6%), transparent calc(var(--sx, 50%) + 32%), transparent 100%);
  opacity: .85;
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__logo-corner::before {
  
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .28; mix-blend-mode: soft-light;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E") 0 0 / 160px 160px repeat;
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp .seal-mark { position: relative; }
:where(body:is(.home, :has(.hm-tela))) .main-title__sub { font-size: .3em; font-weight: 700; letter-spacing: .34em; text-indent: .34em; white-space: nowrap; }
:where(body:is(.home, :has(.hm-tela))) .deb-dark { color: #2b4ba3; text-shadow: 0 1px 0 rgba(255,255,255,.9), 0 -1px 0 rgba(43,75,163,.22); }
:where(body:is(.home, :has(.hm-tela))) .deb-ink { color: var(--ink); text-shadow: 0 1px 0 rgba(255,255,255,.9), 0 -1px 0 rgba(43,75,163,.28); }
:where(body:is(.home, :has(.hm-tela))) .deb-blind {
  color: #15140f;
  text-shadow: 1px 1px 0 var(--hl), -1px -1px 0 rgba(64,52,30,.32), 0 0 1px rgba(64,52,30,.25);
}
:where(body:is(.home, :has(.hm-tela))) .main-initial[data-finish="emboss"] .fx, :where(body:is(.home, :has(.hm-tela))) .main-initial[data-finish="emboss"] .emb-ink__face {
  text-shadow: -1px -1px 0 var(--hl), 1px 1px 0 rgba(64,52,30,.30), 2px 3px 4px rgba(64,52,30,.16);
}
:where(body:is(.home, :has(.hm-tela))) .main-initial[data-finish="emboss"] .emb-ink__face { text-shadow: -1px -1px 0 var(--hl), 1px 1px 0 rgba(64,52,30,.30), 2px 3px 4px rgba(64,52,30,.16); }
:where(body:is(.home, :has(.hm-tela))) .main-initial .fx.main-title__sub, :where(body:is(.home, :has(.hm-tela))) .main-initial .fx#main-subtitle, :where(body:is(.home, :has(.hm-tela))) .main-initial .fx.tagline { color: #15140f; }
:where(body:is(.home, :has(.hm-tela))) .emb-blind {
  color: #f7f4ed;
  text-shadow: -1px -1px 0 var(--hl), 1px 1px 0 rgba(64,52,30,.24), 2px 3px 4px rgba(64,52,30,.14);
}
:where(body:is(.home, :has(.hm-tela))) #main-subtitle { font-family: "Raleway", sans-serif; font-size: clamp(.7rem, .8vw, .95rem); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 1.1rem; text-align: center; }
:where(body:is(.home, :has(.hm-tela))) #main-content p { font-size: clamp(.88rem, .95vw, 1.1rem); line-height: 1.6; color: #2b4ba3; max-width: 46ch; margin: 0 auto; text-wrap: pretty; text-shadow: 0 1px 0 rgba(255,255,255,.85), 0 -1px 0 rgba(43,75,163,.16); }
:where(body:is(.home, :has(.hm-tela))) #main-content .tagline { display: block; margin-top: .75em; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 400; font-size: clamp(1.1rem, 1.25vw, 1.5rem); letter-spacing: .01em; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp {
  position: absolute; z-index: 2; right: clamp(1.4rem, 3.4%, 3rem); bottom: 3.3rem;
  width: clamp(96px, 9.4vw, 136px); aspect-ratio: 1; border-radius: 50%;
  display: grid; place-items: center;
  background: radial-gradient(circle at 38% 32%, var(--paper-hi) 0%, var(--paper) 55%, var(--paper-lo) 100%);
  box-shadow:
    inset 2px 3px 4px rgba(255,255,255,.95),
    inset -2px -3px 5px rgba(64,52,30,.20),
    -1px -1px 0 rgba(255,255,255,.85),
    1px 2px 3px rgba(64,52,30,.22),
    3px 6px 10px -4px rgba(64,52,30,.18);
  transition: opacity 1s ease;
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp > * { grid-area: 1 / 1; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp svg { width: 100%; height: 100%; filter: drop-shadow(1px 1px 0 rgba(255,255,255,.95)) drop-shadow(-1px -1px 0 rgba(64,52,30,.16)); }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp .seal-text { filter: drop-shadow(-0.6px -0.6px 0 rgba(43,75,163,.9)) drop-shadow(0.5px 0.5px 0 rgba(255,255,255,.35)); }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp .seal-ring { fill: none; stroke: rgba(64,52,30,.22); stroke-width: 1.2; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp .seal-text { font-family: "Raleway", sans-serif; font-weight: 800; font-size: 12px; letter-spacing: .1em; fill: #fcfaf7; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp .seal-band { fill: none; stroke: #2b4ba3; stroke-width: 29; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp .seal-mark {
  width: 30%; aspect-ratio: 69.675788 / 111.60657;
  background: #2b4ba3;
  -webkit-mask: url('https://biolid.eu/wp-content/uploads/2026/10/logo-min-svg.svg') center / contain no-repeat;
  mask: url('https://biolid.eu/wp-content/uploads/2026/10/logo-min-svg.svg') center / contain no-repeat;
  filter: drop-shadow(-1px -1px 0 rgba(255,255,255,.6)) drop-shadow(1px 2px 2px rgba(43,75,163,.35));
}
:where(body:is(.home, :has(.hm-tela))) .label-content { font-family: "Raleway", sans-serif; text-align: center; transition: opacity 1s ease; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__logo-corner {
  position: absolute;
  
  aspect-ratio: 69.675788 / 111.60657;
  background: #2b4ba3;
  -webkit-mask: url('https://biolid.eu/wp-content/uploads/2026/10/logo-min-svg.svg') center / contain no-repeat;
  mask: url('https://biolid.eu/wp-content/uploads/2026/10/logo-min-svg.svg') center / contain no-repeat;
  
  filter: drop-shadow(-1px -1px 0 rgba(255,255,255,.7)) drop-shadow(2px 3px 5px rgba(43,75,163,.55));
  
  left: 15%;
  bottom: 7.6%;
  width: 34.3%;
  height: auto;
  opacity: 1;
  pointer-events: none;
  user-select: none;
  
  transform: translate(-50%, 50%);
  transform-origin: center center;
  transition: opacity 1s ease;
  will-change: transform, opacity;
  
  z-index: 0;
}
:where(body:is(.home, :has(.hm-tela))) .body-container section.main-footer {
  background: #ffffff;
  background-image:
    radial-gradient(ellipse at 50% 35%, rgba(43,75,163,.08) 0%, transparent 60%),
    repeating-linear-gradient(0deg, transparent 0 4px, rgba(0,0,0,.025) 4px 5px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  border: 1px solid rgba(0,0,0,0.05);
  color: #2b4ba3;
  z-index: 2;
}
:where(body:is(.home, :has(.hm-tela))) .body-container section.main h1 { color: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .body-container section.main-footer h1 { color: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .content-sections { position: relative; z-index: 1; margin-top: 200vh; }
:where(body:is(.home, :has(.hm-tela))) h1 {
  text-transform: none;
  font-size: clamp(3rem, 5vw, 7rem);
  font-weight: 300;
  line-height: 0.8;
  width: 50%;
  font-family: "Raleway", sans-serif;
}
:where(body:is(.home, :has(.hm-tela))) .label-meta {
  position: absolute; z-index: 3;
  bottom: 22px;
  left: 28px;
  right: 28px;
  display: flex;
  justify-content: space-between;
  font-family: "Raleway", sans-serif;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ddd7c9;
  font-weight: 600;
  
  text-shadow: 1px 1px 0 var(--hl), -1px -1px 0 rgba(64,52,30,.30), -1px -2px 3px rgba(64,52,30,.14);
}
:where(body:is(.home, :has(.hm-tela))) .label-meta--lead {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}
:where(body:is(.home, :has(.hm-tela))) .label-meta--lead span:nth-child(1) { text-align: left; }
:where(body:is(.home, :has(.hm-tela))) .label-meta--lead span:nth-child(2) { text-align: center; }
:where(body:is(.home, :has(.hm-tela))) .label-meta--lead span:nth-child(3) { text-align: right; }
:where(body:is(.home, :has(.hm-tela))) .label-meta span { transition: color 1s ease, text-shadow 1s ease; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
@keyframes scrollBob { 0%,100%{transform:translateY(0); opacity:1} 50%{transform:translateY(6px); opacity:.5} }
@media (max-width: 1650px)  {
:where(body:is(.home, :has(.hm-tela))) .body-container, :where(body:is(.home, :has(.hm-tela))) .page-content:where(:not(.site-main > *)) { width: min(76vw, calc(72vh * 16 / 9)); min-width: 0; transform-origin: center center; }
:where(body:is(.home, :has(.hm-tela))) .navbar { padding: 0.8rem 1.5rem; }
:where(body:is(.home, :has(.hm-tela))) .nav-links { gap: 0.6rem; }
:where(body:is(.home, :has(.hm-tela))) .nav-links a { font-size: 1rem; }
}
@media (min-width: 769px)  {
body:where(.home, :has(.hm-tela)).hm-bodegon .body-container { width: min(46vw, calc(72vh * 16 / 9)); }
body:where(.home, :has(.hm-tela)).hm-bodegon .body-container section.main-initial {
    --paper: #ece7dd; --paper-lo: #d9d3c8; --paper-hi: #f7f4ee; --hl: rgba(255,255,255,.6); --sh: rgba(40,34,22,.24);
    
    background-color: var(--paper);
    background-image: none;
  }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__papel { display: block; position: absolute; left: 0; top: 0; width: var(--tarjeta-w0, 662px); height: var(--tarjeta-h0, 372px); background: url('https://biolid.eu/wp-content/uploads/2026/10/papel-tarjeta.webp') center / cover no-repeat; transform: scale(var(--tarjeta-kx, 1), var(--tarjeta-ky, 1)); transform-origin: 0 0; will-change: transform; pointer-events: none; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__grain { display: none; }
body:where(.home, :has(.hm-tela)).hm-bodegon .body-container { transform-style: preserve-3d; backface-visibility: hidden; }
body:where(.home, :has(.hm-tela)).hm-bodegon .hm-tarjeta-sombra { display: block; position: absolute; left: 0; top: 0; width: var(--tarjeta-w0, 662px); height: var(--tarjeta-h0, 372px); box-shadow: 0 26px 44px -22px rgba(40,34,22,.28); transform: scale(var(--tarjeta-kx, 1), var(--tarjeta-ky, 1)); transform-origin: 0 0; will-change: transform; pointer-events: none; z-index: -1; }
body:where(.home, :has(.hm-tela)).hm-bodegon .body-container section.main-initial { border-radius: calc(var(--tarjeta-radio) + 2px); clip-path: inset(2px round var(--tarjeta-radio)); backface-visibility: hidden; inset: -2px; width: auto; height: auto; border: 2px solid transparent; background-clip: padding-box; box-sizing: border-box; }
body:where(.home, :has(.hm-tela)).hm-bodegon .body-container::before, body:where(.home, :has(.hm-tela)).hm-bodegon .body-container::after, body:where(.home, :has(.hm-tela)).hm-bodegon .hm-tarjeta-canto { border: 1px solid transparent; background-clip: padding-box; box-sizing: border-box; }
body:where(.home, :has(.hm-tela)).hm-bodegon .body-container::before, body:where(.home, :has(.hm-tela)).hm-bodegon .body-container::after { content: ""; position: absolute; backface-visibility: hidden; }
body:where(.home, :has(.hm-tela)).hm-bodegon .body-container::before { top: 0; bottom: 0; left: calc(var(--tarjeta-w, 662px) * -0.03); width: calc(var(--tarjeta-w, 662px) * 0.03); background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.07)), var(--canto-izq, linear-gradient(180deg, #ddd7cc, #c9c3b8)); background-size: 100% 100%; transform-origin: right center; transform: rotateY(-90deg); }
body:where(.home, :has(.hm-tela)).hm-bodegon .body-container::after { left: 0; right: 0; bottom: calc(var(--tarjeta-w, 662px) * -0.03); height: calc(var(--tarjeta-w, 662px) * 0.03); background: linear-gradient(90deg, rgba(0,0,0,.12), rgba(0,0,0,.09)), var(--canto-inf, #b3ada2); background-size: 100% 100%; transform-origin: center top; transform: rotateX(-90deg); }
body:where(.home, :has(.hm-tela)).hm-bodegon .hm-tarjeta-canto { display: block; position: absolute; top: 0; bottom: 0; right: calc(var(--tarjeta-w, 662px) * -0.03); width: calc(var(--tarjeta-w, 662px) * 0.03); backface-visibility: hidden; background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.07)), var(--canto-der, linear-gradient(180deg, #ddd7cc, #c9c3b8)); background-size: 100% 100%; transform-origin: left center; transform: rotateY(90deg); pointer-events: none; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__logo-corner { filter: none !important; background: #3652a9; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__logo-corner::before { background-size: calc(var(--tarjeta-w0, 662px) * 0.2417); }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__logo-corner::after { background-size: calc(var(--tarjeta-w0, 662px) * 0.2719); }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__marca { filter: none; width: calc(var(--tarjeta-w0, 662px) * 0.2352); transform: scale(var(--tarjeta-k, 1)); transform-origin: 0 0; }
body:where(.home, :has(.hm-tela)).hm-bodegon #main-text-container { position: absolute; left: 0; top: 0; width: var(--tarjeta-w0, 662px); height: var(--tarjeta-h0, 372px); box-sizing: border-box; padding: calc(var(--tarjeta-w0, 662px) * 0.058) calc(var(--tarjeta-w0, 662px) * 0.05) calc(var(--tarjeta-w0, 662px) * 0.072) calc(var(--tarjeta-w0, 662px) * 0.47); align-items: flex-start; transform: scale(var(--tarjeta-k, 1)) !important; transform-origin: 0 0; transition: opacity 1s ease; }
body:where(.home, :has(.hm-tela)).hm-bodegon #main-title { align-items: flex-start; text-align: left; margin-bottom: .5rem; font-size: calc(var(--tarjeta-w0, 662px) * 0.04); gap: .4em; }
body:where(.home, :has(.hm-tela)).hm-bodegon #main-subtitle { font-size: calc(var(--tarjeta-w0, 662px) * 0.0155); margin-bottom: .7rem; }
body:where(.home, :has(.hm-tela)).hm-bodegon #main-content p { font-size: calc(var(--tarjeta-w0, 662px) * 0.0195); line-height: 1.5; max-width: 40ch; }
body:where(.home, :has(.hm-tela)).hm-bodegon #main-content .tagline { font-size: calc(var(--tarjeta-w0, 662px) * 0.0235); margin-top: .5em; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial .label-meta { font-size: calc(var(--tarjeta-w0, 662px) * 0.0151); bottom: 0; left: 0; right: auto; width: calc(var(--tarjeta-w0, 662px) * 0.916); transform: scale(var(--tarjeta-k, 1)) translate(calc(var(--tarjeta-w0, 662px) * 0.042), calc(var(--tarjeta-w0, 662px) * -0.033)); transform-origin: 0 100%; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-title__sub { text-indent: 0; }
body:where(.home, :has(.hm-tela)).hm-bodegon #main-subtitle, body:where(.home, :has(.hm-tela)).hm-bodegon .label-content, body:where(.home, :has(.hm-tela)).hm-bodegon #main-content p { text-align: left; margin-left: 0; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial .fx, body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial[data-finish="emboss"] .fx, body:where(.home, :has(.hm-tela)).hm-bodegon .emb-ink__face, body:where(.home, :has(.hm-tela)).hm-bodegon #main-content p { color: #1b1a17 !important; text-shadow: none !important; }
body:where(.home, :has(.hm-tela)).hm-bodegon .emb-ink__base, body:where(.home, :has(.hm-tela)).hm-bodegon .emb-ink__grain, body:where(.home, :has(.hm-tela)).hm-bodegon .emb-ink__shine { opacity: 0 !important; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial .label-meta { transition: opacity .6s ease; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial.is-revealed .label-meta { opacity: 0; }
}
:where(body:is(.home, :has(.hm-tela))) .hm-tarjeta-sombra, :where(body:is(.home, :has(.hm-tela))) .hm-tarjeta-canto, :where(body:is(.home, :has(.hm-tela))) .main-initial__papel { display: none; }
body:where(.home, :has(.hm-tela)) .main-initial__stamp { display: none; }
@media (max-width: 768px)  {
body:where(.home, :has(.hm-tela)) .body-container section.main-initial { --paper: #ece7dd; --paper-lo: #d9d3c8; --paper-hi: #f7f4ee; --hl: rgba(255,255,255,.6); --sh: rgba(40,34,22,.24); background-color: var(--paper); background-image: none; }
body:where(.home, :has(.hm-tela)) .main-initial__papel { display: block; position: absolute; left: 0; top: 0; width: var(--tarjeta-w0, 100%); height: var(--tarjeta-h0, 100%); background: url('https://biolid.eu/wp-content/uploads/2026/10/papel-tarjeta.webp') center / cover no-repeat; transform: scale(var(--tarjeta-kx, 1), var(--tarjeta-ky, 1)); transform-origin: 0 0; will-change: transform; pointer-events: none; }
body:where(.home, :has(.hm-tela)) .main-initial__grain { display: none; }
}
:where(body:is(.home, :has(.hm-tela))) .hm-tarjeta-movil { display: none; }
:where(body:is(.home, :has(.hm-tela))) .hm-logo-eco { display: block; position: fixed; right: 2.6vw; bottom: 3vh; width: clamp(56px, 6.5vw, 120px); height: auto; pointer-events: none; }
@media (max-width: 768px)  {
:where(body:is(.home, :has(.hm-tela))) .hm-logo-eco { right: 4vw; bottom: 2.5vh; width: clamp(52px, 16vw, 80px); }
}
body:where(.home, :has(.hm-tela)) #scroll-hint.hm-scroll-hint { padding: 16px 34px 30px; gap: 6px; white-space: nowrap; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-20 -10 240 160'%3E%3Cfilter id='s' x='-20%25' y='-20%25' width='140%25' height='160%25'%3E%3CfeDropShadow dx='0' dy='6' stdDeviation='7' flood-color='%23141928' flood-opacity='.14'/%3E%3C/filter%3E%3Cpolygon points='26,22 174,22 100,102' fill='%23fff' stroke='%23fff' stroke-width='26' stroke-linejoin='round' filter='url(%23s)'/%3E%3C/svg%3E") center / 120% 133% no-repeat; }
body:where(.home, :has(.hm-tela)) { background: #f6f3ee; }
:where(body:is(.home, :has(.hm-tela))) .hm-tela { position: fixed; top: 0; left: 0; right: 0; height: 100vh; height: 100lvh; pointer-events: none; background: #f6f3ee url('https://biolid.eu/wp-content/uploads/2026/10/fondo-intro-back.webp') center / cover no-repeat; }
body:where(.home, :has(.hm-tela)) .hm-fondo3d__foto { display: none; }
body:where(.home, :has(.hm-tela)) .hm-fondo3d { background: transparent; }
:where(body:is(.home, :has(.hm-tela))) .hm-pintura { display: block; position: fixed; top: -4vh; top: -4lvh; left: -7%; right: -7%; height: 108vh; height: 108lvh; pointer-events: none; will-change: transform; background: url('https://biolid.eu/wp-content/uploads/2026/10/pincel.webp') center / cover no-repeat; }
@media (min-width: 769px)  {
body:where(.home, :has(.hm-tela)).hm-bodegon .page-content:where(:not(.site-main > *)) {
    top: 0 !important; left: 0 !important; right: 0; bottom: 0;
    width: auto !important; height: auto !important; min-width: 0;
    aspect-ratio: auto; transform: none !important;
  }
body:where(.home, :has(.hm-tela)).hm-bodegon .navbar::before { border-radius: 0; background-image: none; }
body:where(.home, :has(.hm-tela)).hm-bodegon .navbar::before { border-bottom-color: rgba(0, 0, 0, 0.08); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08); }
body:where(.home, :has(.hm-tela)).hm-bodegon .navbar__groove { display: none; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial { --b-w: 56%; --b-cx: 24%; --b-bottom: 10%; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__logo-corner { width: calc(var(--tarjeta-w0, 662px) * 0.56); left: var(--b-cx); bottom: var(--b-bottom); }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__marca { display: block; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__stamp { width: 84px; right: 1.4rem; top: 1.4rem; bottom: auto; display: none; }
body:where(.home, :has(.hm-tela)).hm-bodegon .main-initial__stamp .seal-text { font-size: 13px; }
body:where(.home, :has(.hm-tela)).hm-bodegon .label-meta--lead { grid-template-columns: 1fr; }
body:where(.home, :has(.hm-tela)).hm-bodegon #label-year, body:where(.home, :has(.hm-tela)).hm-bodegon #label-phone { display: none; }
body:where(.home, :has(.hm-tela)).hm-bodegon .page-backdrop { z-index: 5; }
body:where(.home, :has(.hm-tela)).hm-bodegon.is-scroll .page-backdrop { z-index: auto; }
}
@media (min-width: 951px) and (max-width: 1280px)  {
:where(body:is(.home, :has(.hm-tela))) #main-title { font-size: 1.9rem; }
:where(body:is(.home, :has(.hm-tela))) #main-content p { font-size: .86rem; max-width: 42ch; }
:where(body:is(.home, :has(.hm-tela))) #main-content .tagline { font-size: 1.05rem; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp { width: 92px; bottom: 3rem; }
}
@media (max-width: 950px)  {
:where(body:is(.home, :has(.hm-tela))) .body-container, :where(body:is(.home, :has(.hm-tela))) .page-content:where(:not(.site-main > *)) { width: 90vw; min-width: 0; aspect-ratio: 16/9; }
:where(body:is(.home, :has(.hm-tela))) .navbar .hm-cordon { display: none !important; }
:where(body:is(.home, :has(.hm-tela))) .navbar > .hm-top-hotspot { display: none !important; }
:where(body:is(.home, :has(.hm-tela))) .navbar { padding: 0.8rem 1rem; flex-wrap: wrap; }
:where(body:is(.home, :has(.hm-tela))) .nav-toggle { display: flex; }
:where(body:is(.home, :has(.hm-tela))) .nav-collapse { display: none; flex-direction: column; width: 100%; gap: 0; order: 3; }
:where(body:is(.home, :has(.hm-tela))) .nav-collapse.open { display: flex; }
:where(body:is(.home, :has(.hm-tela))) .nav-collapse .nav-links { width: 100%; padding: 0.6rem 0; border-bottom: 1px solid rgba(43,75,163,.15); }
:where(body:is(.home, :has(.hm-tela))) .nav-collapse .nav-links a { font-size: 0.8rem; }
:where(body:is(.home, :has(.hm-tela))) .nav-logo img, :where(body:is(.home, :has(.hm-tela))) .nav-logo-svg { width: 60px !important; height: auto !important; }
:where(body:is(.home, :has(.hm-tela))) .label-meta { font-size: 8px; }
}
@media (max-width: 480px)  {
:where(body:is(.home, :has(.hm-tela))) .body-container, :where(body:is(.home, :has(.hm-tela))) .page-content:where(:not(.site-main > *)) { width: 96vw; min-width: 0; }
:where(body:is(.home, :has(.hm-tela))) .navbar { padding: 0.5rem 0.8rem; }
:where(body:is(.home, :has(.hm-tela))) .nav-logo img, :where(body:is(.home, :has(.hm-tela))) .nav-logo-svg { width: 50px !important; height: auto !important; }
:where(body:is(.home, :has(.hm-tela))) .nav-collapse .nav-links a { font-size: 0.7rem; }
:where(body:is(.home, :has(.hm-tela))) .label-meta { font-size: 7px; left: 8px; right: 8px; bottom: 8px; }
}
@media (max-width: 768px)  {
:where(body:is(.home, :has(.hm-tela))) .nav-logo img {
    content: url('https://biolid.eu/wp-content/uploads/2026/10/logo-min-svg.svg');
  }
}
:where(body:is(.home, :has(.hm-tela))) .skip-link { position: absolute; left: 8px; top: -100px; z-index: 10000; padding: 10px 16px; background: #2b4ba3; color: #fff; font-family: "Raleway", sans-serif; font-weight: 700; border-radius: 6px; text-decoration: none; }
:where(body:is(.home, :has(.hm-tela))) .skip-link:focus { top: 8px; }
:where(body:is(.home, :has(.hm-tela))) p { text-wrap: pretty; }
:where(body:is(.home, :has(.hm-tela))) .nav-collapse .nav-links a { position: relative; }
:where(body:is(.home, :has(.hm-tela))) .nav-collapse .nav-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -4px; height: 2px; background: #2b4ba3; transition: right 0.3s; }
:where(body:is(.home, :has(.hm-tela))) .nav-collapse .nav-links a:hover::after { right: 0; }
:where(body:is(.home, :has(.hm-tela))) :focus-visible { outline: 2px solid #2b4ba3; outline-offset: 3px; border-radius: 2px; }
:where(body:is(.home, :has(.hm-tela))) .main-footer input:focus, :where(body:is(.home, :has(.hm-tela))) .main-footer textarea:focus { border-color: #2b4ba3 !important; box-shadow: 0 0 0 3px rgba(43, 75, 163, 0.12); }
:where(body:is(.home, :has(.hm-tela))) .scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transform: scaleX(0);   
  transform-origin: left;
  height: 3px;
  background: #2b4ba3;
  z-index: 9999;
}
:where(body:is(.home, :has(.hm-tela))) .corner-label {
  position: absolute;
  top: 16px;
  left: -32px;
  background: #f5f0e6;
  color: #2b4ba3;
  padding: 4px 40px;
  font-family: "Raleway", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transform: rotate(-45deg);
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  z-index: 2;
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 2px,
    rgba(43,75,163,0.03) 2px,
    rgba(43,75,163,0.03) 4px
  );
}
:where(body:is(.home, :has(.hm-tela))) .hm-flotantes { display: contents; }
:where(body:is(.home, :has(.hm-tela))) .content-sections section > div { width: 100%; min-width: 0; }
body:where(.home, :has(.hm-tela)) .body-container section.main-initial.is-revealed { background-color: #fff; }
body:where(.home, :has(.hm-tela)) .main-initial.is-revealed .main-initial__papel { opacity: 0; }
body:where(.home, :has(.hm-tela)) .main-initial__papel { transition: opacity 1s ease; }

/* ===== portada-secciones.css ===== */
:where(body:is(.home, :has(.hm-tela))) .hero__grid {
  position: absolute;
  inset: -30px;
  pointer-events: none;
  opacity: 0.5;
  z-index: 0;
  will-change: transform, opacity;
  background-image:
    linear-gradient(to right, rgba(43, 75, 163, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(43, 75, 163, 0.08) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at center, black 35%, transparent 85%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 35%, transparent 85%);
}
:where(body:is(.home, :has(.hm-tela))) .news-slider-prev:hover, :where(body:is(.home, :has(.hm-tela))) .news-slider-next:hover {
  background: #2b4ba3 !important;
  border-color: #2b4ba3 !important;
  color: #fff !important;
  transform: translateY(-50%) scale(1.1) !important;
  box-shadow: 0 8px 32px rgba(43, 75, 163, 0.3) !important;
}
:where(body:is(.home, :has(.hm-tela))) .news-card:hover div {
  transform: translateY(-6px);
  box-shadow: 0 16px 50px rgba(0,0,0,0.1) !important;
  border-color: rgba(43,75,163,0.2) !important;
}
:where(body:is(.home, :has(.hm-tela))) .news-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: "Raleway", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: #2b4ba3;
  background: transparent;
  border: 2px solid #e5e7eb;
  border-radius: 3px;
  padding: 13px 28px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s;
}
:where(body:is(.home, :has(.hm-tela))) .news-cta .arr { transition: transform 0.3s; }
:where(body:is(.home, :has(.hm-tela))) .news-cta:hover {
  background: #2b4ba3;
  border-color: #2b4ba3;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(43, 75, 163, 0.25);
}
:where(body:is(.home, :has(.hm-tela))) .news-cta:hover .arr { transform: translateX(4px); }
:where(body:is(.home, :has(.hm-tela))) .hero a[href="#contacto"]:hover {
  background: #1e3578 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(43, 75, 163, 0.3);
}
:where(body:is(.home, :has(.hm-tela))) .hero a[href="#lineas"]:hover {
  border-color: #2b4ba3 !important;
  color: #2b4ba3 !important;
  transform: translateY(-2px);
}
:where(body:is(.home, :has(.hm-tela))) .news-dot { position: relative; }
:where(body:is(.home, :has(.hm-tela))) .news-dot::after { content: ""; position: absolute; inset: -8px; }
:where(body:is(.home, :has(.hm-tela))) .news-dot {
  width: 12px !important;
  height: 12px !important;
  border: none;
  padding: 0;
  border-radius: 50% !important;
  background: rgba(43, 75, 163, 0.25) !important;
  cursor: pointer;
  transition: all 0.3s ease;
}
:where(body:is(.home, :has(.hm-tela))) .news-dot:hover {
  background: rgba(43, 75, 163, 0.6) !important;
  transform: scale(1.3);
}
:where(body:is(.home, :has(.hm-tela))) .news-dot.active {
  background: #2b4ba3 !important;
  width: 40px !important;
  border-radius: 6px !important;
}
:where(body:is(.home, :has(.hm-tela))) .news-slider { position: relative; }
:where(body:is(.home, :has(.hm-tela))) .news-track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 8px 2px 4px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
:where(body:is(.home, :has(.hm-tela))) .news-track::-webkit-scrollbar { display: none; }
:where(body:is(.home, :has(.hm-tela))) .news-card {
  scroll-snap-align: start;
  flex: 0 0 320px;
  max-width: 80vw;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 28px;
  text-decoration: none;
  min-height: 230px;
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
:where(body:is(.home, :has(.hm-tela))) .news-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 50px rgba(0,0,0,0.1);
  border-color: rgba(43,75,163,0.2);
}
:where(body:is(.home, :has(.hm-tela))) .media-load { position: relative; background: #f4f6fb url('https://biolid.eu/wp-content/uploads/2026/10/news-loader-svg.svg') center / 48px no-repeat; }
:where(body:is(.home, :has(.hm-tela))) .media-load > img { opacity: 0; transition: opacity 0.5s ease; }
:where(body:is(.home, :has(.hm-tela))) .media-load.is-loaded { background-image: none; }
:where(body:is(.home, :has(.hm-tela))) .media-load.is-loaded > img { opacity: 1; }
:where(body:is(.home, :has(.hm-tela))) .news-card__media {
  width: calc(100% + 56px);
  margin: -28px -28px 4px;
  aspect-ratio: 16/9;
  display: block;
  overflow: hidden;
}
:where(body:is(.home, :has(.hm-tela))) .news-card__media > img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (prefers-reduced-motion: reduce)  {
:where(body:is(.home, :has(.hm-tela))) .media-load > img { transition: none; }
}
:where(body:is(.home, :has(.hm-tela))) .news-card__date { font-family: "Raleway", sans-serif; font-size: 0.75rem; color: #6b7280; letter-spacing: 0.05em; font-weight: 600; }
:where(body:is(.home, :has(.hm-tela))) .news-card__cat { align-self: flex-start; font-family: "Raleway", sans-serif; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 14px; border-radius: 999px; }
:where(body:is(.home, :has(.hm-tela))) .news-card__cat.blue { color: #2b4ba3; background: rgba(43,75,163,0.1); }
:where(body:is(.home, :has(.hm-tela))) .news-card__cat.green { color: #46762c; background: rgba(90,143,58,0.1); }
:where(body:is(.home, :has(.hm-tela))) .news-card__title { font-family: "Raleway", sans-serif; font-size: 1.15rem; font-weight: 600; color: #141924; line-height: 1.35; flex: 1; }
:where(body:is(.home, :has(.hm-tela))) .news-card__arrow { color: #6b7280; font-size: 1.2rem; transition: transform 0.3s, color 0.3s; }
:where(body:is(.home, :has(.hm-tela))) .news-card:hover .news-card__arrow { transform: translateX(6px); color: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .news-slider-prev, :where(body:is(.home, :has(.hm-tela))) .news-slider-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 5; width: 48px; height: 48px; border-radius: 50%;
  background: #fff; border: 1px solid #e5e7eb; color: #2b4ba3;
  font-size: 1.6rem; line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08); transition: all 0.3s;
}
:where(body:is(.home, :has(.hm-tela))) .news-slider-prev { left: -16px; }
:where(body:is(.home, :has(.hm-tela))) .news-slider-next { right: -16px; }
:where(body:is(.home, :has(.hm-tela))) .news-slider-prev[disabled], :where(body:is(.home, :has(.hm-tela))) .news-slider-next[disabled] { opacity: 0; pointer-events: none; }
:where(body:is(.home, :has(.hm-tela))) .news-dots { display: flex; gap: 8px; justify-content: center; margin-top: 24px; }
@media (max-width: 768px)  {
:where(body:is(.home, :has(.hm-tela))) .news-slider-prev, :where(body:is(.home, :has(.hm-tela))) .news-slider-next { display: none; }
}
@keyframes prodFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
::selection { background: #2b4ba3; color: #fff; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #f1f2f5; }
::-webkit-scrollbar-thumb {
  background-color: #c7cede;
  background-image: url('https://biolid.eu/wp-content/uploads/2026/10/logo-min-blanco-svg.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 6px auto;
}
::-webkit-scrollbar-thumb:hover { background-color: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) h2, :where(body:is(.home, :has(.hm-tela))) h3 { text-wrap: balance; }
:where(body:is(.home, :has(.hm-tela))) .sector-card:hover { transform: translateY(-5px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); border-color: rgba(43,75,163,0.35); }
:where(body:is(.home, :has(.hm-tela))) .ticker {
  background: #2b4ba3;
  color: #fff;
  padding: 12px 0;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}
:where(body:is(.home, :has(.hm-tela))) .ticker__track {
  display: inline-block;
  animation: ticker 20s linear infinite;
}
@keyframes ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
:where(body:is(.home, :has(.hm-tela))) .ticker i {
  color: rgba(255,255,255,0.4);
  margin: 0 8px;
}
:where(body:is(.home, :has(.hm-tela))) .ticker:hover .ticker__track {
  animation-play-state: paused;
}
:where(body:is(.home, :has(.hm-tela))) .ticker a {
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  transition: opacity 0.3s;
}
:where(body:is(.home, :has(.hm-tela))) .ticker a:hover {
  opacity: 1;
  text-decoration: underline;
}
:where(body:is(.home, :has(.hm-tela))) .section-tag {
  font-family: "Raleway", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #2b4ba3;
  margin-bottom: 12px;
  display: block;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 32px;
  transition: all 0.3s;
  position: relative;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.06;
  pointer-events: none;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card.sp-1::before {
  background-image: linear-gradient(#2b4ba3 1px, transparent 1px), linear-gradient(90deg, #2b4ba3 1px, transparent 1px);
  background-size: 20px 20px;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card.sp-2::before {
  background-image: radial-gradient(circle, #2b4ba3 1px, transparent 1px);
  background-size: 12px 12px;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card.sp-3::before {
  background-image: linear-gradient(45deg, #2b4ba3 25%, transparent 25%), linear-gradient(-45deg, #2b4ba3 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #2b4ba3 75%), linear-gradient(-45deg, transparent 75%, #2b4ba3 75%);
  background-size: 16px 16px;
  background-position: 0 0, 0 8px, 8px -8px, -8px 0px;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card.sp-4::before {
  background-image: repeating-linear-gradient(60deg, #2b4ba3, #2b4ba3 1px, transparent 1px, transparent 8px);
  background-size: 100% 100%;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img {
  position: absolute;
  top: -230px;
  left: -34px;
  transform: rotate(-10deg);
  width: 120px;
  height: auto;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s ease;
  filter: drop-shadow(0 8px 16px rgba(0,0,0,0.2));
  z-index: 10;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.img-vino {
  top: -310px;
  opacity: 1;   
  animation: floatCard 2s ease-in-out infinite;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.img-cafe {
  top: -180px;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.img-miel { top: -84px; width: 140px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.img-textil {
  top: 0;
  left: 0;
}
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.lower-1 { top: -160px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.lower-2 { top: -80px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.hover-img--foto { top: -70px; left: -46px; width: 200px; border-radius: 14px; object-fit: cover; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.lower-3 { top: 10px; left: -40px; width: 210px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.lower-2b { top: -90px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.s3 { top: -130px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.s7 { top: -8px; left: 0px; width: 132px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.s8 { top: -42px; left: -15px; width: 144px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card:hover .hover-img {
  opacity: 1;
  animation: floatCard 2s ease-in-out infinite;
}
@keyframes floatCard {
  0%, 100% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-8px); }
}
:where(body:is(.home, :has(.hm-tela))) .product-card {
  text-align: center;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
:where(body:is(.home, :has(.hm-tela))) .product-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
}
:where(body:is(.home, :has(.hm-tela))) .product-card.pattern-1::before {
  background-image: linear-gradient(#2b4ba3 1px, transparent 1px), linear-gradient(90deg, #2b4ba3 1px, transparent 1px);
  background-size: 20px 20px;
}
:where(body:is(.home, :has(.hm-tela))) .product-card.pattern-2::before {
  background-image: radial-gradient(circle, #2b4ba3 1px, transparent 1px);
  background-size: 12px 12px;
}
:where(body:is(.home, :has(.hm-tela))) .product-card.pattern-3::before {
  background-image: linear-gradient(45deg, #2b4ba3 25%, transparent 25%), linear-gradient(-45deg, #2b4ba3 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #2b4ba3 75%), linear-gradient(-45deg, transparent 75%, #2b4ba3 75%);
  background-size: 16px 16px;
  background-position: 0 0, 0 8px, 8px -8px, -8px 0px;
}
:where(body:is(.home, :has(.hm-tela))) .product-card.pattern-4::before {
  background-image: repeating-linear-gradient(60deg, #2b4ba3, #2b4ba3 1px, transparent 1px, transparent 8px);
  background-size: 100% 100%;
}
:where(body:is(.home, :has(.hm-tela))) .cookies {
  position: fixed;
  bottom: 24px;
  left: 24px;
  right: 24px;
  max-width: 520px;
  z-index: 150;
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: 24px 26px;
  border-radius: 4px;
  box-shadow: 0 30px 80px -20px rgba(0,0,0,0.25);
  display: flex;
  flex-direction: column;
  gap: 18px;
  transform: translateY(20px);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.5s cubic-bezier(0.7,0,0.2,1), opacity 0.5s;
}
:where(body:is(.home, :has(.hm-tela))) .cookies.show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
:where(body:is(.home, :has(.hm-tela))) .cookies__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
:where(body:is(.home, :has(.hm-tela))) .cookies__head h2 {
  font-family: "Raleway", sans-serif;
  font-size: 22px;
  font-weight: 400;
  color: #141924;
}
:where(body:is(.home, :has(.hm-tela))) .cookies__head .badge {
  font-family: "Raleway", sans-serif;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #2b4ba3;
  padding: 4px 8px;
  background: rgba(43,75,163,0.12);
  border-radius: 2px;
}
:where(body:is(.home, :has(.hm-tela))) .cookies p {
  font-size: 13.5px;
  line-height: 1.5;
  color: #6b7280;
}
:where(body:is(.home, :has(.hm-tela))) .cookies__opts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  font-family: "Raleway", sans-serif;
  font-size: 11px;
  letter-spacing: 0.05em;
  color: #6b7280;
}
:where(body:is(.home, :has(.hm-tela))) .cookies__opts label {
  display: flex;
  gap: 8px;
  align-items: center;
  cursor: pointer;
  padding: 8px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 2px;
}
:where(body:is(.home, :has(.hm-tela))) .cookies__opts input[type="checkbox"] {
  accent-color: #2b4ba3;
}
:where(body:is(.home, :has(.hm-tela))) .cookies__btns {
  display: flex;
  gap: 10px;
}
:where(body:is(.home, :has(.hm-tela))) .cookies button {
  flex: 1;
  padding: 12px 16px;
  border-radius: 2px;
  font-family: "Raleway", sans-serif;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: all 0.3s;
  cursor: pointer;
  border: none;
}
:where(body:is(.home, :has(.hm-tela))) .cookies button.primary {
  background: #2b4ba3;
  color: #fff;
}
:where(body:is(.home, :has(.hm-tela))) .cookies button.primary:hover {
  background: #1e3578;
}
:where(body:is(.home, :has(.hm-tela))) .cookies button.ghost {
  border: 1px solid #e5e7eb;
  color: #6b7280;
  background: transparent;
}
:where(body:is(.home, :has(.hm-tela))) .cookies button.ghost:hover {
  border-color: #141924;
  color: #141924;
}
:where(body:is(.home, :has(.hm-tela))) .tech__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid #e5e7eb;
}
:where(body:is(.home, :has(.hm-tela))) .tech__col {
  padding: 50px;
  text-align: left;
}
:where(body:is(.home, :has(.hm-tela))) .tech__col + .tech__col {
  border-left: 1px solid #e5e7eb;
}
:where(body:is(.home, :has(.hm-tela))) .tech__col h3 {
  font-family: "Raleway", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #141924;
  margin-bottom: 8px;
}
:where(body:is(.home, :has(.hm-tela))) .tech__col .sub {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 40px;
}
:where(body:is(.home, :has(.hm-tela))) .tech-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
:where(body:is(.home, :has(.hm-tela))) .tech-list li {
  padding: 22px 0;
  border-bottom: 1px solid #e5e7eb;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 20px;
  align-items: center;
  cursor: pointer;
  position: relative;
  transition: padding 0.3s;
}
:where(body:is(.home, :has(.hm-tela))) .tech-list li:hover {
  padding-left: 14px;
}
:where(body:is(.home, :has(.hm-tela))) .tech-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #2b4ba3;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.35s cubic-bezier(0.7, 0, 0.2, 1);
}
:where(body:is(.home, :has(.hm-tela))) .tech-list li:hover::before {
  transform: scaleY(1);
}
:where(body:is(.home, :has(.hm-tela))) .tech-list .idx {
  font-size: 0.75rem;
  color: #6b7280;
  letter-spacing: 0.1em;
  font-weight: 500;
}
:where(body:is(.home, :has(.hm-tela))) .tech-list .name {
  font-family: "Raleway", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: #141924;
}
:where(body:is(.home, :has(.hm-tela))) .tech-list .name em {
  font-style: italic;
  color: #6b7280;
  font-size: 0.9rem;
  margin-left: 8px;
}
:where(body:is(.home, :has(.hm-tela))) .tech-list .arrow {
  font-size: 0.9rem;
  color: #6b7280;
  transition: transform 0.3s, color 0.3s;
}
:where(body:is(.home, :has(.hm-tela))) .tech-list li:hover .arrow {
  transform: translateX(6px);
  color: #2b4ba3;
}
@media (max-width: 820px)  {
:where(body:is(.home, :has(.hm-tela))) .news__header { flex-direction: column; align-items: flex-start !important; gap: 20px; }
}
@media (min-width: 951px) and (max-width: 1280px)  {
:where(body:is(.home, :has(.hm-tela))) #img-eco { left: -12% !important; }
:where(body:is(.home, :has(.hm-tela))) #face-wax { right: -5% !important; }
:where(body:is(.home, :has(.hm-tela))) #img-textil { left: -7% !important; }
}
@media (max-width: 950px)  {
:where(body:is(.home, :has(.hm-tela))) #inicio.hm-hero { flex-direction: column; justify-content: center; }
:where(body:is(.home, :has(.hm-tela))) .hm-flotantes {
    display: block; position: relative; z-index: 1; pointer-events: none;
    width: 100%; max-width: 560px; margin: .5rem auto 0;
    height: clamp(210px, 60vw, 350px);
  }
:where(body:is(.home, :has(.hm-tela))) #img-eco { width: 84% !important; top: 14% !important; right: -24% !important; left: auto !important; opacity: 1 !important; }
:where(body:is(.home, :has(.hm-tela))) #img-textil { width: 47% !important; top: auto !important; bottom: -8% !important; left: -12% !important; right: auto !important; opacity: 1 !important; }
:where(body:is(.home, :has(.hm-tela))) #face-wax { display: block !important; width: 26% !important; max-width: 130px; top: 2.6rem !important; right: -9% !important; left: auto !important; opacity: 1 !important; z-index: 0; }
}
@media (prefers-reduced-motion: reduce)  {
:where(body:is(.home, :has(.hm-tela))) .ticker__track, :where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.img-vino, :where(body:is(.home, :has(.hm-tela))) .sector-card:hover .hover-img { animation: none !important; }
}

/* ===== portada-responsive.css ===== */
@media (max-width: 1024px)  {
:where(body:is(.home, :has(.hm-tela))) .lines-grid, :where(body:is(.home, :has(.hm-tela))) .sectors-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 1200px)  {
:where(body:is(.home, :has(.hm-tela))) .label-meta--lead { grid-template-columns: 1fr; }
:where(body:is(.home, :has(.hm-tela))) #label-year, :where(body:is(.home, :has(.hm-tela))) #label-phone { display: none; }
}
@media (max-width: 1350px)  {
:where(body:is(.home, :has(.hm-tela))) .page-content:where(:not(.site-main > *)) {
    top: 0 !important; left: 0 !important; right: 0; bottom: 0;
    width: auto !important; height: auto !important; min-width: 0;
    aspect-ratio: auto; transform: none !important;
  }
:where(body:is(.home, :has(.hm-tela))) .main-initial { --b-w: 56%; --b-cx: 20%; --b-bottom: 10%; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__logo-corner { width: var(--b-w); left: var(--b-cx); bottom: var(--b-bottom); }
:where(body:is(.home, :has(.hm-tela))) .main-initial__marca { display: block; }
:where(body:is(.home, :has(.hm-tela))) #main-text-container { padding: 2rem 6% 3rem 50%; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp { width: 84px; right: 1.4rem; top: 1.4rem; bottom: auto; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp .seal-text { font-size: 13px; }
}
@media (max-width: 950px)  {
:where(body:is(.home, :has(.hm-tela))) #main-title { font-size: clamp(1.9rem, 4.4vw, 2.6rem); }
:where(body:is(.home, :has(.hm-tela))) #main-subtitle { font-size: .72rem; }
:where(body:is(.home, :has(.hm-tela))) #main-content p { font-size: .9rem; max-width: 44ch; }
:where(body:is(.home, :has(.hm-tela))) #main-content .tagline { font-size: 1.1rem; }
:where(body:is(.home, :has(.hm-tela))) .label-meta { left: 16px; right: 16px; bottom: 22px; font-size: 8px; }
:where(body:is(.home, :has(.hm-tela))) #scroll-hint { font-size: .66rem; letter-spacing: .24em; }
:where(body:is(.home, :has(.hm-tela))) .page-img img[src*="b-verde"] { width: 52px !important; right: 18px !important; }
body:where(.home, :has(.hm-tela)):has(.nav-collapse.open) #scroll-hint { opacity: 0 !important; }
}
@media (max-width: 768px)  {
:where(body:is(.home, :has(.hm-tela))) .body-container { width: min(84vw, 400px); min-width: 0; aspect-ratio: auto; height: 58vh; height: min(113vw, 58svh, 480px); }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp { width: 78px; top: 16px; bottom: auto; right: auto; left: 50%; transform: translateX(-50%); }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp .seal-text { font-size: 13.5px; letter-spacing: .1em; }
:where(body:is(.home, :has(.hm-tela))) .main-initial #main-text-container {
    position: absolute; left: 0; top: 0; width: var(--tarjeta-w0, 100%); height: var(--tarjeta-h0, 100%);
    padding: 13% 4.5% 14%; justify-content: flex-start;
    transform: translate(calc(var(--tarjeta-w0, 0px) * 0.5 * (var(--tarjeta-kx, 1) - 1)), calc(var(--tarjeta-h0, 0px) * 0.5 * (var(--tarjeta-ky, 1) - 1))) scale(var(--tarjeta-kx, 1)) !important;
    transform-origin: 50% 50%; transition: opacity 1s ease;
  }
:where(body:is(.home, :has(.hm-tela))) .main-initial__marca { display: none; }
:where(body:is(.home, :has(.hm-tela))) #main-text-container .main-initial__logo-corner { position: relative; order: -1; left: auto; bottom: auto; width: calc(var(--tarjeta-w0, 100%) * 0.21); aspect-ratio: 69.675788 / 111.60657; margin: 0 0 5%; transform: none !important; will-change: auto; -webkit-mask: url('https://biolid.eu/wp-content/uploads/2026/10/logo-min-svg.svg') center / contain no-repeat; mask: url('https://biolid.eu/wp-content/uploads/2026/10/logo-min-svg.svg') center / contain no-repeat; }
:where(body:is(.home, :has(.hm-tela))) #main-title { font-size: min(2.85rem, 13.3vw); gap: .28em; margin-bottom: .2rem; }
:where(body:is(.home, :has(.hm-tela))) .main-initial .fx.main-title__sub { color: #2b4ba3; font-size: .52em; letter-spacing: .1em; text-indent: .1em; font-weight: 600; }
:where(body:is(.home, :has(.hm-tela))) #main-subtitle, :where(body:is(.home, :has(.hm-tela))) #main-content { display: none; }
:where(body:is(.home, :has(.hm-tela))) .hm-tarjeta-movil { display: contents; }
:where(body:is(.home, :has(.hm-tela))) .hm-tarjeta-movil .tagline-m { order: 1; display: block; width: 100%; text-align: center; margin: .15rem 0 0; padding-bottom: .7rem; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 400; font-size: min(.98rem, 4.3vw); letter-spacing: 0; white-space: nowrap; max-width: 100%; color: #15140f; text-shadow: 0 1px 0 rgba(255,255,255,.85); }
:where(body:is(.home, :has(.hm-tela))) .hm-tarjeta-movil .claim-m { order: 2; margin-top: min(14%, 52px); margin-bottom: .3rem; font-family: "Raleway", sans-serif; font-weight: 500; text-transform: uppercase; font-size: min(.92rem, 3.55vw); letter-spacing: 0; white-space: nowrap; color: #15140f; text-shadow: 0 1px 0 rgba(255,255,255,.85); text-align: center; }
:where(body:is(.home, :has(.hm-tela))) .hm-tarjeta-movil .linea-m { order: 3; font-family: "Raleway", sans-serif; font-weight: 500; text-transform: uppercase; font-size: min(.76rem, 2.9vw); letter-spacing: 0; line-height: 1.65; color: #15140f; text-shadow: 0 1px 0 rgba(255,255,255,.85); text-align: center; text-wrap: balance; }
:where(body:is(.home, :has(.hm-tela))) .news-cta { white-space: normal; max-width: 100%; text-align: center; }
:where(body:is(.home, :has(.hm-tela))) .body-container section.main-initial { --tarjeta-marco-inset: 10px; }
:where(body:is(.home, :has(.hm-tela))) .main-footer__inner { padding: 84px 1.15rem 3.25rem !important; justify-content: flex-start !important; overflow-y: auto; -webkit-overflow-scrolling: touch; }
:where(body:is(.home, :has(.hm-tela))) .main-footer__logo { display: none; }
:where(body:is(.home, :has(.hm-tela))) .main-footer h3 { font-size: 1.9rem !important; }
:where(body:is(.home, :has(.hm-tela))) .main-footer h3 + p { font-size: .9rem !important; margin-bottom: 1.25rem !important; }
:where(body:is(.home, :has(.hm-tela))) .contact-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
:where(body:is(.home, :has(.hm-tela))) .contact-grid form textarea { min-height: 84px; }
:where(body:is(.home, :has(.hm-tela))) .main-footer .label-meta span:nth-child(2) { display: none; }
:where(body:is(.home, :has(.hm-tela))) .main-footer__inner .label-meta { position: static; width: 100%; align-self: stretch; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; margin: 40px 0 0; padding: 0 2px; font-size: 8px; }
:where(body:is(.home, :has(.hm-tela))) .main-footer__inner { padding-bottom: 14px !important; }
:where(body:is(.home, :has(.hm-tela))) .lines, :where(body:is(.home, :has(.hm-tela))) .tech, :where(body:is(.home, :has(.hm-tela))) .sectors, :where(body:is(.home, :has(.hm-tela))) .eco, :where(body:is(.home, :has(.hm-tela))) .contact { padding: 72px 20px !important; min-height: 0 !important; }
:where(body:is(.home, :has(.hm-tela))) .sec-head { grid-template-columns: 1fr !important; gap: 18px !important; margin-bottom: 36px !important; }
:where(body:is(.home, :has(.hm-tela))) .sec-head p { font-size: 1rem !important; }
:where(body:is(.home, :has(.hm-tela))) .hero > .hm-hero-inner { padding: 5rem 1.25rem 0 !important; }
:where(body:is(.home, :has(.hm-tela))) .hm-flotantes { margin-bottom: 2rem; }
:where(body:is(.home, :has(.hm-tela))) .hero-stats { flex-wrap: wrap; justify-content: center; gap: 12px 22px !important; }
:where(body:is(.home, :has(.hm-tela))) .hero-stats > div { white-space: nowrap; }
:where(body:is(.home, :has(.hm-tela))) .lines-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
:where(body:is(.home, :has(.hm-tela))) .line-card, :where(body:is(.home, :has(.hm-tela))) .line-card-featured { padding: 26px 22px !important; }
:where(body:is(.home, :has(.hm-tela))) .tech__grid { grid-template-columns: 1fr; }
:where(body:is(.home, :has(.hm-tela))) .tech__col { padding: 30px 22px; }
:where(body:is(.home, :has(.hm-tela))) .tech__col + .tech__col { border-left: 0; border-top: 1px solid #e5e7eb; }
:where(body:is(.home, :has(.hm-tela))) .tech__col .sub { margin-bottom: 22px; }
:where(body:is(.home, :has(.hm-tela))) .tech-list li { padding: 15px 0; grid-template-columns: 30px 1fr; gap: 12px; }
:where(body:is(.home, :has(.hm-tela))) .tech-list .name { font-size: 1.1rem; }
:where(body:is(.home, :has(.hm-tela))) .tech-list .name em { display: block; margin-left: 0; font-size: .82rem; }
:where(body:is(.home, :has(.hm-tela))) .sectors-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
:where(body:is(.home, :has(.hm-tela))) .sector-card { padding: 26px 22px 28px; }
:where(body:is(.home, :has(.hm-tela))) .sectors .prod-marquee { margin-top: 40px; padding-bottom: 40px; }
:where(body:is(.home, :has(.hm-tela))) .sectors .prod-marquee .prod-track { gap: 48px; padding-right: 48px; }
:where(body:is(.home, :has(.hm-tela))) .sectors .prod-item img { height: 120px; }
:where(body:is(.home, :has(.hm-tela))) .sectors .prod-item.prod-sm img { height: 85px; }
:where(body:is(.home, :has(.hm-tela))) .sectors .prod-item.prod-xs img { height: 68px; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel { flex-direction: column !important; align-items: flex-start !important; gap: 24px !important; padding: 32px 24px !important; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel h3 { font-size: 1.55rem !important; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel p { font-size: 1rem !important; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel > div:last-child { align-self: flex-end; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel > div:last-child > div { width: 104px !important; height: 104px !important; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel > div:last-child img { width: 64px !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stats { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)) !important; gap: 14px !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stats > :nth-child(2) { grid-column: 1 / -1; order: -1; }
:where(body:is(.home, :has(.hm-tela))) .eco-stats > :nth-child(2) img { max-width: 190px !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stats > div { gap: 14px !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stat { padding: 20px 12px !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stat .num { font-size: 2.1rem !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stat .num small { font-size: 1.1rem !important; }
:where(body:is(.home, :has(.hm-tela))) .eco .ticker { margin-top: 48px !important; margin-left: -20px !important; margin-right: -20px !important; }
:where(body:is(.home, :has(.hm-tela))) .news { padding: 56px 20px 32px !important; }
:where(body:is(.home, :has(.hm-tela))) .news-card { flex: 0 0 82vw; padding: 22px; }
:where(body:is(.home, :has(.hm-tela))) .news-card__media { width: calc(100% + 44px); margin: -22px -22px 4px; }
:where(body:is(.home, :has(.hm-tela))) .cookies { left: 10px; right: 10px; bottom: 10px; padding: 16px; gap: 12px; max-height: calc(100vh - 20px); overflow-y: auto; }
:where(body:is(.home, :has(.hm-tela))) .cookies__head h2 { font-size: 17px; }
:where(body:is(.home, :has(.hm-tela))) .cookies p { font-size: 12.5px; line-height: 1.45; }
:where(body:is(.home, :has(.hm-tela))) .cookies__opts { display: flex; flex-wrap: wrap; gap: 6px; }
:where(body:is(.home, :has(.hm-tela))) .cookies__opts label { padding: 6px 9px; flex: 1 1 auto; justify-content: center; }
:where(body:is(.home, :has(.hm-tela))) .cookies button { padding: 11px 10px; font-size: 10.5px; letter-spacing: .06em; }
}
@media (max-width: 480px)  {
:where(body:is(.home, :has(.hm-tela))) .body-container { width: 86vw; height: 57vh; height: min(116vw, 57svh, 450px); }
:where(body:is(.home, :has(.hm-tela))) .page-img img[src*="b-verde"] { width: 40px !important; right: 14px !important; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp { width: 70px; top: 14px; }
:where(body:is(.home, :has(.hm-tela))) #main-text-container { padding: 90px 1rem 2.5rem; }
:where(body:is(.home, :has(.hm-tela))) #main-title { font-size: min(1.95rem, 9.6vw); }
:where(body:is(.home, :has(.hm-tela))) #main-content p { font-size: min(.82rem, 4vw); }
}
@media (max-width: 950px) and (orientation: landscape) and (max-height: 520px)  {
:where(body:is(.home, :has(.hm-tela))) .body-container { width: min(76vw, 600px); min-width: 0; aspect-ratio: auto; height: 64vh; height: min(64svh, 300px); }
:where(body:is(.home, :has(.hm-tela))) #main-text-container { padding: 1rem 1.5rem 1.5rem; }
:where(body:is(.home, :has(.hm-tela))) #main-title { font-size: 1.5rem; gap: .4em; margin-bottom: .4rem; }
:where(body:is(.home, :has(.hm-tela))) .main-title__sub { font-size: .3em; letter-spacing: .24em; text-indent: .24em; }
:where(body:is(.home, :has(.hm-tela))) #main-subtitle { font-size: .62rem; letter-spacing: .1em; white-space: nowrap; border-top: 0; box-shadow: none; padding-top: 0; margin: 0 0 .5rem; }
:where(body:is(.home, :has(.hm-tela))) #main-content p { font-size: .78rem; line-height: 1.45; max-width: 44ch; }
:where(body:is(.home, :has(.hm-tela))) #main-content .tagline { font-size: .9rem; margin-top: .35em; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__stamp { display: none; }
:where(body:is(.home, :has(.hm-tela))) .main-initial__logo-corner { width: 100px; left: calc(100% - 30px); bottom: 8px; }
:where(body:is(.home, :has(.hm-tela))) .label-meta { left: 14px; right: 14px; bottom: 6.5%; font-size: 9.5px; }
:where(body:is(.home, :has(.hm-tela))) .label-meta--lead { grid-template-columns: 1fr; }
:where(body:is(.home, :has(.hm-tela))) #label-year, :where(body:is(.home, :has(.hm-tela))) #label-phone { display: none; }
:where(body:is(.home, :has(.hm-tela))) #scroll-hint { bottom: 8px; font-size: .6rem; }
:where(body:is(.home, :has(.hm-tela))) .page-img img[src*="b-verde"] { width: 38px !important; right: 14px !important; }
:where(body:is(.home, :has(.hm-tela))) .main-footer__inner { padding: 72px 1.25rem 2.5rem !important; }
:where(body:is(.home, :has(.hm-tela))) .contact-grid { grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
:where(body:is(.home, :has(.hm-tela))) .main-footer h3 { font-size: 1.6rem !important; }
}

/* ===== home.css ===== */
:where(body:is(.home, :has(.hm-tela))) .hm-fino.hm-fino { font-weight: 300; }
:where(body:is(.home, :has(.hm-tela))) .hm-lista-rot.hm-lista-rot { margin-top: 24px; font-size: 0.8rem; color: #6b7280; margin-bottom: 12px; }
:where(body:is(.home, :has(.hm-tela))) .hm-card-h.hm-card-h { font-family: "Raleway", sans-serif; font-size: 1.5rem; font-weight: 700; color: #141924; margin-bottom: 12px; }
:where(body:is(.home, :has(.hm-tela))) .hm-card-p.hm-card-p { font-size: 0.95rem; color: #4a5568; line-height: 1.6; }
:where(body:is(.home, :has(.hm-tela))) .hm-acento.hm-acento { font-style: italic; color: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .hm-azul.hm-azul { color: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .hm-rot-mini.hm-rot-mini { font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: #6b7280; }
:where(body:is(.home, :has(.hm-tela))) .hm-linea-h.hm-linea-h { font-family: "Raleway", sans-serif; font-size: 1.3rem; font-weight: 700; color: #141924; line-height: 1.35; margin-top: 8px; }
:where(body:is(.home, :has(.hm-tela))) .hm-linea-p.hm-linea-p { font-family: "Raleway", sans-serif; font-size: 1rem; line-height: 1.75; color: #4a5568; margin-top: 12px; }
:where(body:is(.home, :has(.hm-tela))) .hm-wrap.hm-wrap { max-width: 1200px; margin: 0 auto; }
:where(body:is(.home, :has(.hm-tela))) .hm-rot.hm-rot { font-family: "Raleway", sans-serif; font-size: 0.95rem; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; color: #2b4ba3; margin-bottom: 12px; }
:where(body:is(.home, :has(.hm-tela))) .hm-eco-stat.hm-eco-stat { text-align: center; padding: 24px; background: #f8f9fa; border: 1px solid #e5e7eb; border-radius: 16px; }
:where(body:is(.home, :has(.hm-tela))) .hm-num.hm-num { font-size: 2.5rem; font-weight: 200; color: #4a7c2f; line-height: 1; margin-bottom: 8px; }
:where(body:is(.home, :has(.hm-tela))) .hm-num-suf.hm-num-suf { font-size: 1.5rem; }
:where(body:is(.home, :has(.hm-tela))) .hm-lbl.hm-lbl { font-size: 0.75rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-enlace.hm-enlace { color: #2b4ba3; text-decoration: none; }
:where(body:is(.home, :has(.hm-tela))) .hm-ico.hm-ico { font-size: 0.8rem; margin-right: 6px; }
:where(body:is(.home, :has(.hm-tela))) .hm-col-16.hm-col-16 { display: flex; flex-direction: column; gap: 16px; }
:where(body:is(.home, :has(.hm-tela))) .hm-input.hm-input { font-family: "Raleway", sans-serif; font-size: 0.85rem; padding: 12px 14px; border: 1px solid #e5e7eb; border-radius: 6px; outline: none; transition: border-color 0.2s; }
:where(body:is(.home, :has(.hm-tela))) .hm-stat.hm-stat { display: flex; align-items: baseline; gap: 4px; }
:where(body:is(.home, :has(.hm-tela))) .hm-stat-num.hm-stat-num { color: #141924; font-size: 1.5rem; font-weight: 800; font-family: "Raleway", sans-serif; }
:where(body:is(.home, :has(.hm-tela))) .hm-h2.hm-h2 { font-family: "Raleway", sans-serif; font-size: clamp(2.2rem, 4.5vw, 3.2rem); font-weight: 700; color: #141924; line-height: 1.15; letter-spacing: -0.01em; }
:where(body:is(.home, :has(.hm-tela))) .hm-line-card.hm-line-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 36px 32px; display: flex; flex-direction: column; gap: 20px; transition: all 0.4s; }
:where(body:is(.home, :has(.hm-tela))) .hm-seccion.hm-seccion { background: #fff; min-height: 100vh; position: relative; padding: 100px 24px; }
:where(body:is(.home, :has(.hm-tela))) .hm-h2--sep.hm-h2--sep { font-family: "Raleway", sans-serif; font-size: clamp(2.2rem, 4.5vw, 3.2rem); font-weight: 700; color: #141924; line-height: 1.15; letter-spacing: -0.01em; margin-bottom: 24px; }
:where(body:is(.home, :has(.hm-tela))) .hm-lang.hm-lang { text-decoration: none; padding: 4px 12px; font-size: 0.85rem; font-weight: 600; color: rgba(43,75,163,0.85); border-radius: 20px; transition: all 0.2s; }
:where(body:is(.home, :has(.hm-tela))) .hm-mt-8.hm-mt-8 { margin-top: 8px; }
:where(body:is(.home, :has(.hm-tela))) .hm-seccion--gris.hm-seccion--gris { background: #f8f9fa; min-height: 100vh; position: relative; padding: 100px 24px; }
:where(body:is(.home, :has(.hm-tela))) .hm-sec-head.hm-sec-head { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; margin-bottom: 56px; }
:where(body:is(.home, :has(.hm-tela))) .hm-lead.hm-lead { font-family: "Raleway", sans-serif; font-size: 1.1rem; line-height: 1.8; color: #6b7280; }
:where(body:is(.home, :has(.hm-tela))) .hm-line-card--gris.hm-line-card--gris { background: #f8f9fa; border: 1px solid #e5e7eb; border-radius: 16px; padding: 36px 32px; display: flex; flex-direction: column; gap: 20px; transition: all 0.4s; }
:where(body:is(.home, :has(.hm-tela))) .hm-centrado.hm-centrado { text-align: center; margin-bottom: 60px; }
:where(body:is(.home, :has(.hm-tela))) .hm-lead--centrado.hm-lead--centrado { font-family: "Raleway", sans-serif; font-size: 1.1rem; line-height: 1.8; color: #6b7280; max-width: 700px; margin: 0 auto; }
:where(body:is(.home, :has(.hm-tela))) .hm-badge-1.hm-badge-1 { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(0deg, #2b4ba3 0%, #3a60c0 100%); color: #fff; padding: 8px 16px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-grid-3.hm-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
:where(body:is(.home, :has(.hm-tela))) .hm-cordon.hm-cordon { position: fixed; top: -46px; right: -130px; transform: rotate(-6deg) scaleX(-1); width: 178px; height: auto; z-index: 99999; pointer-events: none; opacity: 0.9; }
:where(body:is(.home, :has(.hm-tela))) .hm-top-hotspot.hm-top-hotspot { position: fixed; top: 6px; right: 8px; width: 24px; height: 24px; background: transparent; border-radius: 50%; z-index: 100000; cursor: pointer; transition: opacity 0.3s; }
:where(body:is(.home, :has(.hm-tela))) .hm-block.hm-block { display:block }
:where(body:is(.home, :has(.hm-tela))) .hm-enlace-fuerte.hm-enlace-fuerte { color: #2b4ba3; font-weight: 600; }
:where(body:is(.home, :has(.hm-tela))) .hm-lang-wrap.hm-lang-wrap { display: flex; gap: 3px; background: rgba(43,75,163,0.08); border-radius: 20px; padding: 4px; }
:where(body:is(.home, :has(.hm-tela))) .hm-lang--on.hm-lang--on { text-decoration: none; padding: 4px 12px; font-size: 0.85rem; font-weight: 600; color: #2b4ba3; border-radius: 20px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
:where(body:is(.home, :has(.hm-tela))) .hm-panel.hm-panel { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 3rem; transition: transform 0.1s ease, opacity 1s ease; }
:where(body:is(.home, :has(.hm-tela))) .hm-sello.hm-sello { position: absolute; bottom: 3rem; right: 2rem; padding: 1rem; border: 2px solid #2b4ba3; background: rgba(255,255,255,0.95); }
:where(body:is(.home, :has(.hm-tela))) .hm-sello-img.hm-sello-img { width: 80px; height: 80px; object-fit: contain; }
:where(body:is(.home, :has(.hm-tela))) .hm-video.hm-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1s ease; pointer-events: none; z-index: -1; }
:where(body:is(.home, :has(.hm-tela))) .hm-oculto.hm-oculto { display: none; }
:where(body:is(.home, :has(.hm-tela))) .hm-panel--pie.hm-panel--pie { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 2rem 3rem; }
:where(body:is(.home, :has(.hm-tela))) .hm-sello--pie.hm-sello--pie { padding: 1rem; border: 2px solid #2b4ba3; background: rgba(255,255,255,0.95); margin-bottom: 1.5rem; }
:where(body:is(.home, :has(.hm-tela))) .hm-sello-img--pie.hm-sello-img--pie { width: 90px; height: 90px; object-fit: contain; }
:where(body:is(.home, :has(.hm-tela))) .hm-pie-h.hm-pie-h { font-family: "Raleway", sans-serif; font-size: 2.5rem; font-weight: 300; color: #2b4ba3; line-height: 1.1; margin-bottom: 0.5rem; }
:where(body:is(.home, :has(.hm-tela))) .hm-negrita.hm-negrita { font-family: "Arial Black", Arial, sans-serif; font-weight: 900; }
:where(body:is(.home, :has(.hm-tela))) .hm-pie-p.hm-pie-p { font-family: "Raleway", sans-serif; font-style: italic; font-weight: 300; font-size: 1rem; color: #2b4ba3; margin-bottom: 2rem; }
:where(body:is(.home, :has(.hm-tela))) .hm-contacto-grid.hm-contacto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; width: 100%; max-width: 580px; }
:where(body:is(.home, :has(.hm-tela))) .hm-nota.hm-nota { font-size: 0.85rem; color: #6b7280; line-height: 1.6; }
:where(body:is(.home, :has(.hm-tela))) .hm-datos.hm-datos { display: flex; flex-direction: column; gap: 4px; font-family: "Raleway", sans-serif; font-size: 0.8rem; color: #4a5568; line-height: 1.5; }
:where(body:is(.home, :has(.hm-tela))) .hm-form.hm-form { display: flex; flex-direction: column; gap: 10px; }
:where(body:is(.home, :has(.hm-tela))) .hm-textarea.hm-textarea { font-family: "Raleway", sans-serif; font-size: 0.85rem; padding: 12px 14px; border: 1px solid #e5e7eb; border-radius: 6px; outline: none; resize: none; transition: border-color 0.2s; }
:where(body:is(.home, :has(.hm-tela))) .hm-honeypot.hm-honeypot { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
:where(body:is(.home, :has(.hm-tela))) .hm-check.hm-check { display: flex; align-items: flex-start; gap: 8px; font-family: "Raleway", sans-serif; font-size: 0.75rem; color: #6b7280; line-height: 1.4; }
:where(body:is(.home, :has(.hm-tela))) .hm-check-input.hm-check-input { width: 14px; height: 14px; margin-top: 2px; }
:where(body:is(.home, :has(.hm-tela))) .hm-azul-a.hm-azul-a { color:#2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .hm-boton.hm-boton { font-family: "Raleway", sans-serif; font-size: 0.9rem; font-weight: 600; background: #2b4ba3; color: #fff; padding: 14px; border: none; border-radius: 6px; cursor: pointer; transition: background 0.2s; }
:where(body:is(.home, :has(.hm-tela))) .hm-estado.hm-estado { font-family: "Raleway", sans-serif; font-size: 0.82rem; margin: 0; min-height: 1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-legal.hm-legal { position: absolute; left: 0; right: 0; bottom: 46px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 18px; margin: 0; font-family: "Raleway", sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #cfd3dc; }
:where(body:is(.home, :has(.hm-tela))) .hm-legal.hm-legal a { color: #8b93a3; text-decoration: none; transition: color 0.2s; }
:where(body:is(.home, :has(.hm-tela))) .hm-legal.hm-legal a:hover, :where(body:is(.home, :has(.hm-tela))) .hm-legal.hm-legal a:focus-visible { color: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .hm-legal__canal.hm-legal__canal { color: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .hm-legal__canal.hm-legal__canal:hover, :where(body:is(.home, :has(.hm-tela))) .hm-legal__canal.hm-legal__canal:focus-visible { color: #14224f; }
:where(body:is(.home, :has(.hm-tela))) .hm-legal__fuera { margin-left: 4px; letter-spacing: 0; opacity: 0.7; }
@media (max-width: 768px)  {
:where(body:is(.home, :has(.hm-tela))) .hm-legal.hm-legal { position: static; margin: 26px 0 0; }
}
:where(body:is(.home, :has(.hm-tela))) .hm-scroll-hint.hm-scroll-hint { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 50; display: flex; flex-direction: column; align-items: center; gap: 8px; color: #2b4ba3; font-family: "Raleway", sans-serif; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; pointer-events: none; transition: opacity 0.4s; }
:where(body:is(.home, :has(.hm-tela))) .hm-scroll-flecha.hm-scroll-flecha { display: block; font-size: 0.95rem; animation: scrollBob 1.6s ease-in-out infinite; }
:where(body:is(.home, :has(.hm-tela))) .hm-hero.hm-hero { background: #fff; min-height: 100vh; position: relative; overflow: hidden; color: #141924; }
:where(body:is(.home, :has(.hm-tela))) .hm-hero-inner.hm-hero-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 4rem 2rem; text-align: center; position: relative; z-index: 1; max-width: 780px; margin: 0 auto; }
:where(body:is(.home, :has(.hm-tela))) .hm-rot--hero.hm-rot--hero { font-family: "Raleway", sans-serif; font-size: 0.95rem; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; color: #2b4ba3; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
:where(body:is(.home, :has(.hm-tela))) .hm-hero-h.hm-hero-h { width: 100%; margin-bottom: 0; font-size: clamp(2.2rem, 5vw, 3.6rem); font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; color: #141924; }
:where(body:is(.home, :has(.hm-tela))) .hm-hero-p.hm-hero-p { font-family: "Raleway", sans-serif; font-size: clamp(1rem, 1.6vw, 1.15rem); color: #4a5568; max-width: 680px; line-height: 1.8; margin-top: 28px; }
:where(body:is(.home, :has(.hm-tela))) .hm-hero-sub.hm-hero-sub { font-size: 0.85em; letter-spacing: 0.06em; color: #4a5568; font-weight: 600; }
:where(body:is(.home, :has(.hm-tela))) .hm-hero-stats.hm-hero-stats { display: flex; gap: 36px; margin-top: 32px; font-size: 0.85rem; color: #6b7280; letter-spacing: 0.02em; }
:where(body:is(.home, :has(.hm-tela))) .hm-botonera.hm-botonera { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; margin-top: 32px; }
:where(body:is(.home, :has(.hm-tela))) .hm-btn.hm-btn { display: inline-block; background: #2b4ba3; color: #fff; padding: 16px 40px; font-family: "Raleway", sans-serif; font-size: 0.95rem; font-weight: 600; border-radius: 3px; text-decoration: none; transition: all 0.3s; }
:where(body:is(.home, :has(.hm-tela))) .hm-btn--fantasma.hm-btn--fantasma { display: inline-block; background: transparent; border: 2px solid #e5e7eb; color: #4a5568; padding: 16px 40px; font-family: "Raleway", sans-serif; font-size: 0.95rem; font-weight: 600; border-radius: 3px; text-decoration: none; transition: all 0.3s; }
:where(body:is(.home, :has(.hm-tela))) .hm-line-card--destacada.hm-line-card--destacada { background: #f8f9fa; border: 2px solid #e5e7eb; border-radius: 16px; padding: 36px 32px; display: flex; flex-direction: column; gap: 20px; transition: all 0.4s; }
:where(body:is(.home, :has(.hm-tela))) .hm-badge-2.hm-badge-2 { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(135deg, #2b4ba3 0%, #1e3578 100%); color: #fff; padding: 8px 16px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-badge-3.hm-badge-3 { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(45deg, #2b4ba3 0%, #3a60c0 100%); color: #fff; padding: 8px 16px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-badge-4.hm-badge-4 { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(225deg, #2b4ba3 0%, #1e3578 100%); color: #fff; padding: 8px 16px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-badge-5.hm-badge-5 { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(90deg, #2b4ba3 0%, #4d8eff 100%); color: #fff; padding: 8px 16px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-badge-6.hm-badge-6 { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(180deg, #2b4ba3 0%, #1a2d5c 100%); color: #fff; padding: 8px 16px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-badge-7.hm-badge-7 { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(315deg, #2b4ba3 0%, #4d8eff 100%); color: #fff; padding: 8px 16px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-badge-8.hm-badge-8 { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(270deg, #2b4ba3 0%, #1e3578 100%); color: #fff; padding: 8px 16px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
:where(body:is(.home, :has(.hm-tela))) .hm-rot--alt.hm-rot--alt { font-family: "Raleway", sans-serif; font-size: 0.95rem; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; color: #4a7c59; margin-bottom: 12px; }
:where(body:is(.home, :has(.hm-tela))) .hm-acento-verde.hm-acento-verde { font-style: italic; color: #4a7c2f; }
:where(body:is(.home, :has(.hm-tela))) .hm-trama.hm-trama { position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,0.1) 1px, transparent 1px); background-size: 20px 20px; pointer-events: none; }
:where(body:is(.home, :has(.hm-tela))) .hm-solar-rot.hm-solar-rot { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 16px; opacity: 0.9; }
:where(body:is(.home, :has(.hm-tela))) .hm-solar-h.hm-solar-h { font-family: "Raleway", sans-serif; font-size: 2rem; font-weight: 700; margin-bottom: 16px; line-height: 1.2; }
:where(body:is(.home, :has(.hm-tela))) .hm-solar-p.hm-solar-p { font-size: 1.1rem; line-height: 1.7; opacity: 0.95; }
:where(body:is(.home, :has(.hm-tela))) .hm-solar-medalla.hm-solar-medalla { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; }
:where(body:is(.home, :has(.hm-tela))) .hm-solar-disco.hm-solar-disco { width: 160px; height: 160px; background: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 32px rgba(0,0,0,0.15), inset 0 2px 4px rgba(255,255,255,0.9), inset 0 -2px 4px rgba(0,0,0,0.1); }
:where(body:is(.home, :has(.hm-tela))) .hm-solar-logo.hm-solar-logo { width: 100px; height: auto; }
:where(body:is(.home, :has(.hm-tela))) .hm-eco-stats.hm-eco-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; align-items: center; }
:where(body:is(.home, :has(.hm-tela))) .hm-centro.hm-centro { display: flex; align-items: center; justify-content: center; }
:where(body:is(.home, :has(.hm-tela))) .hm-globo.hm-globo { width: 100%; max-width: 280px; height: auto; opacity: 0.9; }
:where(body:is(.home, :has(.hm-tela))) .hm-ticker.hm-ticker { margin-top: 80px; margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); background: linear-gradient(135deg, #4a7c59 0%, #3d6b4f 100%); }
:where(body:is(.home, :has(.hm-tela))) .hm-ticker-track.hm-ticker-track { font-family: "Raleway", sans-serif; font-size: 0.75rem; font-weight: 400; letter-spacing: 0.18em; color: rgba(255,255,255,0.9); }
:where(body:is(.home, :has(.hm-tela))) .hm-news.hm-news { background: #fff; padding: 60px 24px 40px; }
:where(body:is(.home, :has(.hm-tela))) .hm-news-head.hm-news-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 40px; }
:where(body:is(.home, :has(.hm-tela))) .hm-marca-agua.hm-marca-agua { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: clamp(350px, 50vw, 800px); height: auto; opacity: 0.08; pointer-events: none; z-index: 0; }
:where(body:is(.home, :has(.hm-tela))) .hm-contacto-wrap.hm-contacto-wrap { max-width: 800px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
:where(body:is(.home, :has(.hm-tela))) .hm-lead--sep.hm-lead--sep { font-family: "Raleway", sans-serif; font-size: 1.1rem; line-height: 1.8; color: #6b7280; margin-bottom: 48px; }
:where(body:is(.home, :has(.hm-tela))) .hm-col-20.hm-col-20 { display: flex; flex-direction: column; gap: 20px; align-items: center; }
:where(body:is(.home, :has(.hm-tela))) .hm-p-500.hm-p-500 { font-family: "Raleway", sans-serif; font-size: 1rem; line-height: 1.8; color: #4a5568; max-width: 500px; }
:where(body:is(.home, :has(.hm-tela))) .hm-enlaces-inline.hm-enlaces-inline { display: flex; gap: 12px 28px; flex-wrap: wrap; justify-content: center; font-family: "Raleway", sans-serif; font-size: 1rem; font-weight: 600; }
:where(body:is(.home, :has(.hm-tela))) .hm-mt-32.hm-mt-32 { margin-top: 32px; }
:where(body:is(.home, :has(.hm-tela))) .hm-img-120.hm-img-120 { width: 120px; height: 120px; object-fit: contain; }
:where(body:is(.home, :has(.hm-tela))) .hm-mt-24-mini.hm-mt-24-mini { margin-top: 24px; font-size: 0.85rem; color: #6b7280; }
:where(body:is(.home, :has(.hm-tela))) .hm-espaciador.hm-espaciador { height: 100vh; }
:where(body:is(.home, :has(.hm-tela))) .hm-mt--4.hm-mt--4 { margin-top:-4px; }
:where(body:is(.home, :has(.hm-tela))) .hm-enlace-azul.hm-enlace-azul { color:#2b4ba3; font-weight:600; text-decoration:none; }
:where(body:is(.home, :has(.hm-tela))) .hm-firma.hm-firma { position: absolute; bottom: 30px; left: 30px; width: 72px; height: auto; opacity: 0.92; pointer-events: none; }
:where(body:is(.home, :has(.hm-tela))) .hm-flota-1.hm-flota-1 { position: absolute; top: 15%; right: 11%; width: clamp(180px, 30vw, 365px); height: auto; pointer-events: none; z-index: 0; transform: rotate(-18deg); }
:where(body:is(.home, :has(.hm-tela))) .hm-flota-2.hm-flota-2 { position: absolute; top: 55%; left: 11%; width: clamp(150px, 25vw, 394px); height: auto; pointer-events: none; z-index: 0; transform: rotate(13deg); opacity: 1; }
:where(body:is(.home, :has(.hm-tela))) .hm-solar-txt.hm-solar-txt { position: relative; z-index: 1; flex: 1; }
:where(body:is(.home, :has(.hm-tela))) .hm-firma--der.hm-firma--der { position: absolute; bottom: 0; right: 30px; width: 72px; height: auto; opacity: 0.92; pointer-events: none; }
@media (max-width: 768px)  {
:where(body:is(.home, :has(.hm-tela))) .line-card, :where(body:is(.home, :has(.hm-tela))) .line-card-featured { min-width: 0; overflow-wrap: anywhere; }
}
:where(body:is(.home, :has(.hm-tela))) .hm-flota-1b.hm-flota-1b { position: absolute; top: 28%; right: 7%; width: clamp(180px, 30vw, 365px); height: auto; pointer-events: none; z-index: 0; transform: rotate(-18deg); }
:where(body:is(.home, :has(.hm-tela))) .hm-flota-2b.hm-flota-2b { position: absolute; top: 60%; left: -3%; width: clamp(225px, 37vw, 590px); height: auto; pointer-events: none; z-index: 0; transform: rotate(13deg); opacity: 1; }
:where(body:is(.home, :has(.hm-tela))) .hm-flota-3.hm-flota-3 { position: absolute; top: 12%; left: -1%; width: clamp(306px, 51vw, 816px); height: auto; pointer-events: none; z-index: 0; transform: rotate(-13deg); opacity: 1; }
:where(body:is(.home, :has(.hm-tela))) .hm-lcm-asesoramiento.hm-lcm-asesoramiento { background-image: url('https://biolid.eu/wp-content/uploads/2026/10/asesoramiento.webp'); width: 184px; height: 138px; }
:where(body:is(.home, :has(.hm-tela))) .hm-lcm-autoadhesivas.hm-lcm-autoadhesivas { background-image: url('https://biolid.eu/wp-content/uploads/2026/10/autoadhesivas.webp'); }
:where(body:is(.home, :has(.hm-tela))) .hm-lcm-encoladas.hm-lcm-encoladas { background-image: url('https://biolid.eu/wp-content/uploads/2026/10/encoladas.webp'); width: 184px; height: 138px; }
:where(body:is(.home, :has(.hm-tela))) .hm-lcm-bloques.hm-lcm-bloques { background-image: url('https://biolid.eu/wp-content/uploads/2026/10/industria-bobinas.webp'); }
:where(body:is(.home, :has(.hm-tela))) .hm-lcm-sleeve.hm-lcm-sleeve { background-image: url('https://biolid.eu/wp-content/uploads/2026/10/sleeve.webp'); width: 184px; height: 138px; }
:where(body:is(.home, :has(.hm-tela))) .hm-lcm-industria.hm-lcm-industria { background-image: url('https://biolid.eu/wp-content/uploads/2026/10/industria-bloques.webp'); }
:where(body:is(.home, :has(.hm-tela))) .hm-sectors-grid.hm-sectors-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; gap: 24px; }
:where(body:is(.home, :has(.hm-tela))) .hm-solar--foto.hm-solar--foto { background: linear-gradient(90deg, rgba(12,28,14,0.62) 0%, rgba(12,28,14,0.30) 50%, rgba(12,28,14,0.08) 100%), linear-gradient(135deg, rgba(90,143,58,0.26) 0%, rgba(61,107,79,0.32) 100%), url('https://biolid.eu/wp-content/uploads/2026/10/placa-green.webp') center center / cover no-repeat; color: #fff; border-radius: 20px; padding: 48px; position: relative; overflow: hidden; display: flex; align-items: center; gap: 32px; margin-bottom: 48px; }
:where(body:is(.home, :has(.hm-tela))) .hm-solar-txt--sombra.hm-solar-txt--sombra { position: relative; z-index: 1; flex: 1; text-shadow: 0 1px 3px rgba(0,0,0,0.55); }
:where(body:is(.home, :has(.hm-tela))) #main-text-container.hm-panel { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 3rem; transition: transform 0.1s ease, opacity 1s ease; }
:where(body:is(.home, :has(.hm-tela))) #main-video.hm-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1s ease; pointer-events: none; z-index: 0; }
:where(body:is(.home, :has(.hm-tela))) #contact-form.hm-form { display: flex; flex-direction: column; gap: 10px; }
:where(body:is(.home, :has(.hm-tela))) #contact-status.hm-estado { font-family: "Raleway", sans-serif; font-size: 0.82rem; margin: 0; min-height: 1em; }
:where(body:is(.home, :has(.hm-tela))) #scroll-hint.hm-scroll-hint { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 50; display: flex; flex-direction: column; align-items: center; gap: 8px; color: #2b4ba3; font-family: "Raleway", sans-serif; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; pointer-events: none; transition: opacity 0.4s; }
:where(body:is(.home, :has(.hm-tela))) #inicio.hm-hero { background: #fff; min-height: 100vh; position: relative; overflow: hidden; color: #141924; }
:where(body:is(.home, :has(.hm-tela))) #face-wax.hm-flota-1b { position: absolute; top: 28%; right: 7%; width: clamp(180px, 30vw, 365px); height: auto; pointer-events: none; z-index: 0; transform: rotate(-18deg); }
:where(body:is(.home, :has(.hm-tela))) #img-textil.hm-flota-2b { position: absolute; top: 60%; left: -3%; width: clamp(225px, 37vw, 590px); height: auto; pointer-events: none; z-index: 0; transform: rotate(13deg); opacity: 1; }
:where(body:is(.home, :has(.hm-tela))) #img-eco.hm-flota-3 { position: absolute; top: 12%; left: -1%; width: clamp(306px, 51vw, 816px); height: auto; pointer-events: none; z-index: 0; transform: rotate(-13deg); opacity: 1; }
:where(body:is(.home, :has(.hm-tela))) #lineas.hm-seccion--gris { background: #f8f9fa; min-height: 100vh; position: relative; padding: 100px 24px; }
:where(body:is(.home, :has(.hm-tela))) #tecnologias.hm-seccion { background: #fff; min-height: 100vh; position: relative; padding: 100px 24px; }
:where(body:is(.home, :has(.hm-tela))) #tecnologias.hm-seccion { overflow: hidden; }
:where(body:is(.home, :has(.hm-tela))) #tecnologias .tech__marco { position: relative; }
:where(body:is(.home, :has(.hm-tela))) #tecnologias .hm-pincel { position: absolute; top: 50%; left: 50%; width: 112vw; transform: translate(-50%, -50%); aspect-ratio: 2400 / 1453; background: url('https://biolid.eu/wp-content/uploads/2026/10/pincel.webp') center / 140% 100% no-repeat;    pointer-events: none; z-index: 0; }
:where(body:is(.home, :has(.hm-tela))) #tecnologias .tech__grid { position: relative; z-index: 1; background: #fff; }
@media (max-width: 950px)  {
:where(body:is(.home, :has(.hm-tela))) #tecnologias .hm-pincel { background-image: url('https://biolid.eu/wp-content/uploads/2026/10/pincel-960.webp'); width: 150vw; }
}
:where(body:is(.home, :has(.hm-tela))) #sectores.hm-seccion--gris { background: #f8f9fa; min-height: 100vh; position: relative; padding: 100px 24px; }
:where(body:is(.home, :has(.hm-tela))) #sostenibilidad.hm-seccion { background: #fff; min-height: 100vh; position: relative; padding: 100px 24px; }
:where(body:is(.home, :has(.hm-tela))) #noticias.hm-news { background: #fff; padding: 60px 24px 40px; }
:where(body:is(.home, :has(.hm-tela))) #contacto.hm-seccion { background: #fff; min-height: 100vh; position: relative; padding: 100px 24px; }
:where(body:is(.home, :has(.hm-tela))) #face-wax.hm-flota-1 { position: absolute; top: 15%; right: 11%; width: clamp(180px, 30vw, 365px); height: auto; pointer-events: none; z-index: 0; transform: rotate(-18deg); }
:where(body:is(.home, :has(.hm-tela))) #img-textil.hm-flota-2 { position: absolute; top: 55%; left: 11%; width: clamp(150px, 25vw, 394px); height: auto; pointer-events: none; z-index: 0; transform: rotate(13deg); opacity: 1; }
@media (min-width: 951px)  {
:where(body:is(.home, :has(.hm-tela))) #inicio #img-eco { width: clamp(260px, calc((100vw - 780px) / 2 + 90px), 816px); left: -1%; }
:where(body:is(.home, :has(.hm-tela))) #inicio #face-wax { width: clamp(150px, calc((100vw - 780px) / 2), 460px); right: 3%; }
:where(body:is(.home, :has(.hm-tela))) #inicio #img-textil { width: clamp(200px, calc((100vw - 780px) / 2 + 90px), 590px); left: -3%; }
}
:where(body:is(.home, :has(.hm-tela))) .main-initial__pantalla {
  --video-inset: calc(var(--tarjeta-marco-inset) + 4px);
  --video-w: calc(var(--tarjeta-w, 0px) - 2 * var(--video-inset));
  --video-h: calc(var(--tarjeta-h, 0px) - 2 * var(--video-inset));
  position: absolute; inset: var(--video-inset); z-index: 0;
  overflow: hidden; border-radius: 1px; pointer-events: none;
}
:where(body:is(.home, :has(.hm-tela))) #main-video.hm-video--entero { object-fit: contain; background: #fff; }
:where(body:is(.home, :has(.hm-tela))) .hm-video-franja { --franja-min: 160px; position: absolute; z-index: 1; opacity: 0; transition: opacity 1s ease; pointer-events: none; background: url('https://biolid.eu/wp-content/uploads/2026/10/patron-b-svg.svg') center / auto max(100%, var(--franja-min)) space; }
:where(body:is(.home, :has(.hm-tela))) .hm-video-franja--arriba, :where(body:is(.home, :has(.hm-tela))) .hm-video-franja--abajo { left: 0; right: 0; height: max(0px, calc((var(--video-h, 0px) - var(--video-w, 0px) * 0.5625) / 2)); }
:where(body:is(.home, :has(.hm-tela))) .hm-video-franja--arriba { top: 0; background-position: center bottom; }
:where(body:is(.home, :has(.hm-tela))) .hm-video-franja--abajo { bottom: 0; background-position: center top; }
:where(body:is(.home, :has(.hm-tela))) .hm-video-franja--izq, :where(body:is(.home, :has(.hm-tela))) .hm-video-franja--der { top: 0; bottom: 0; width: max(0px, calc((var(--video-w, 0px) - var(--video-h, 0px) * 1.7778) / 2)); background-size: max(100%, var(--franja-min)) auto; }
:where(body:is(.home, :has(.hm-tela))) .hm-video-franja--izq { left: 0; background-position: right center; }
:where(body:is(.home, :has(.hm-tela))) .hm-video-franja--der { right: 0; background-position: left center; }
:where(body:is(.home, :has(.hm-tela))) .main-initial.is-revealed .hm-video-franja { opacity: 1; }
:where(body:is(.home, :has(.hm-tela))) .hm-fondo3d { position: absolute; inset: 0; overflow: hidden; background: #f4f4f2; }
:where(body:is(.home, :has(.hm-tela))) .hm-fondo3d__foto { position: absolute; inset: -3.5%; opacity: 0; will-change: transform, opacity; }
:where(body:is(.home, :has(.hm-tela))) .hm-fondo3d__nitida { position: absolute; inset: 0; background: url('https://biolid.eu/wp-content/uploads/2026/10/muestras-1440.webp') center / cover no-repeat; }
:where(body:is(.home, :has(.hm-tela))) .hm-fondo3d__vineta { position: absolute; inset: 0; background: radial-gradient(90% 80% at 50% 45%, rgba(255,255,255,0) 40%, rgba(255,255,255,0.28) 100%), linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 30%, rgba(20,30,70,0) 70%, rgba(20,30,70,0.22) 100%); box-shadow: inset 0 0 18vmax rgba(15,25,60,0.28); }
:where(body:is(.home, :has(.hm-tela))) .hm-fondo3d__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; }
:where(body:is(.home, :has(.hm-tela))) .hm-fondo3d.is-cargando::after { content: ""; position: absolute; left: 50%; bottom: 28px; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; border: 2px solid rgba(43,75,163,.25); border-top-color: #2b4ba3; animation: fondo3d-gira 1s linear infinite; }
@keyframes fondo3d-gira { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce)  {
:where(body:is(.home, :has(.hm-tela))) .hm-fondo3d.is-cargando::after { animation: none; }
}
@media (prefers-reduced-motion: reduce)  {
:where(body:is(.home, :has(.hm-tela))) .hm-scroll-flecha.hm-scroll-flecha { animation: none !important; }
}

/* ===== mobile.css ===== */
@supports (overflow-x: clip)  {
html:where(:has(> body:is(.home, :has(.hm-tela)))), body:where(.home, :has(.hm-tela)) { overflow-x: clip; }
}
@media (max-width: 768px)  {
:where(body:is(.home, :has(.hm-tela))) h1, :where(body:is(.home, :has(.hm-tela))) h2, :where(body:is(.home, :has(.hm-tela))) h3, :where(body:is(.home, :has(.hm-tela))) .sr-word, :where(body:is(.home, :has(.hm-tela))) .sr-inner { hyphens: auto; overflow-wrap: anywhere; }
:where(body:is(.home, :has(.hm-tela))) .sr-word, :where(body:is(.home, :has(.hm-tela))) .sr-inner { max-width: 100%; }
}
@media (max-width: 950px)  {
:where(body:is(.home, :has(.hm-tela))) .navbar {
    height: auto;
    min-height: 64px;
    padding: 10px 16px;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
  }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-logo { order: 0; margin-right: auto; height: 44px; align-items: center; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav__lang { order: 1; align-self: center; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-toggle {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 -10px 0 4px;
    padding: 0;
    gap: 5px;
  }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-toggle span { transition: transform .3s, opacity .2s; transform-origin: center; }
:where(body:is(.home, :has(.hm-tela))) .navbar:has(.nav-collapse.open) .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
:where(body:is(.home, :has(.hm-tela))) .navbar:has(.nav-collapse.open) .nav-toggle span:nth-child(2) { opacity: 0; transform: scaleX(0); }
:where(body:is(.home, :has(.hm-tela))) .navbar:has(.nav-collapse.open) .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse {
    order: 3;
    display: none;
    flex-direction: column;
    width: 100%;
    gap: 0;
    margin-top: 10px;
    padding: 2px 0 6px;
    border-top: 1px solid rgba(20, 25, 36, .08);
    max-height: calc(100vh - 90px);
    max-height: calc(100dvh - 90px);
    overflow-x: hidden;   
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse.open { display: flex; }
:where(body:is(.home, :has(.hm-tela))) .navbar:has(.nav-collapse.open) { background: #fcfaf7 !important; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-links {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 0;
    border-bottom: 1px solid rgba(20, 25, 36, .06);
  }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-links:last-child { border-bottom: 0; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-links > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 46px;
    padding: 12px 2px;
    font-size: 1rem;
  }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-links a::after { display: none; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd__menu, :where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd__grid { max-width: 100%; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-logo-svg path { fill: #2b4ba3; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd__top { display: flex !important; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd__caret {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: -6px 0 -6px auto;
    font-size: .8em;
    opacity: .75;
    transform: none;
  }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd.open .nav-dd__caret { transform: rotate(180deg); }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd__menu {
    position: static;
    display: none;
    width: 100%;
    margin: 0;
    padding: 0 0 10px 12px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd.open .nav-dd__menu { display: block; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd:hover:not(.open) .nav-dd__menu { display: none; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd__menu::before { display: none; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd__grid, :where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd--narrow .nav-dd__grid { grid-template-columns: 1fr; min-width: 0; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd__menu a { padding: 10px 8px; font-size: .92rem; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-collapse .nav-dd__all { margin-top: 4px; border-top: 1px solid #eef0f4; padding-top: 12px !important; }
}
@media (max-width: 480px)  {
:where(body:is(.home, :has(.hm-tela))) .navbar { padding: 8px 12px; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav-logo img, :where(body:is(.home, :has(.hm-tela))) .navbar .nav-logo-svg { width: 52px !important; height: auto !important; }
:where(body:is(.home, :has(.hm-tela))) .navbar .nav__lang a { padding: 4px 9px !important; font-size: .78rem !important; }
}
@media (max-width: 768px)  {
:where(body:is(.home, :has(.hm-tela))) .about-section, :where(body:is(.home, :has(.hm-tela))) .sectores-section, :where(body:is(.home, :has(.hm-tela))) .tech-section, :where(body:is(.home, :has(.hm-tela))) .sostenibilidad-section, :where(body:is(.home, :has(.hm-tela))) .news-section { padding: 100px 20px 48px; }
:where(body:is(.home, :has(.hm-tela))) .lp-main, :where(body:is(.home, :has(.hm-tela))) .legal, :where(body:is(.home, :has(.hm-tela))) .article-section { padding-top: 110px; padding-left: 20px; padding-right: 20px; }
:where(body:is(.home, :has(.hm-tela))) .blog-main, :where(body:is(.home, :has(.hm-tela))) .blog-index { padding-top: 104px; padding-left: 20px; padding-right: 20px; }
:where(body:is(.home, :has(.hm-tela))) .e404 { padding-top: 130px; }
:where(body:is(.home, :has(.hm-tela))) .legal table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
:where(body:is(.home, :has(.hm-tela))) .legal th, :where(body:is(.home, :has(.hm-tela))) .legal td { min-width: 120px; }
:where(body:is(.home, :has(.hm-tela))) .carta-grid > div:first-child { padding: 28px 22px !important; }
:where(body:is(.home, :has(.hm-tela))) .carta-grid img[alt="Guillermo Buces"] { width: 150px !important; height: 150px !important; }
:where(body:is(.home, :has(.hm-tela))) .certs-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
:where(body:is(.home, :has(.hm-tela))) .lineas-grid { grid-template-columns: 1fr !important; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel { flex-direction: column !important; align-items: flex-start !important; gap: 24px !important; padding: 32px 24px !important; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel__h { font-size: 1.55rem !important; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel p { font-size: 1rem !important; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel > div:last-child { align-self: flex-end; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel > div:last-child > div { width: 104px !important; height: 104px !important; }
:where(body:is(.home, :has(.hm-tela))) .solar-panel > div:last-child img { width: 64px !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stats { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)) !important; gap: 14px !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stats > :nth-child(2) { grid-column: 1 / -1; order: -1; justify-self: center; }
:where(body:is(.home, :has(.hm-tela))) .eco-stats > :nth-child(2) img { max-width: 190px !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stats > div { gap: 14px !important; }
:where(body:is(.home, :has(.hm-tela))) .eco-stat { padding: 20px 12px; }
:where(body:is(.home, :has(.hm-tela))) .eco-stat .num { font-size: min(2.1rem, 9.5vw); }
:where(body:is(.home, :has(.hm-tela))) .eco-stat .num small { font-size: 1.1rem !important; }
:where(body:is(.home, :has(.hm-tela))) .sector-slider, :where(body:is(.home, :has(.hm-tela))) .tech-slider { height: min(72vh, 600px); min-height: 460px; border-radius: 16px; }
:where(body:is(.home, :has(.hm-tela))) .slide-content { justify-content: flex-start; padding: 34px 22px 0; }
:where(body:is(.home, :has(.hm-tela))) .slide-tag { font-size: .68rem; margin-bottom: 10px; }
:where(body:is(.home, :has(.hm-tela))) .slide-title { font-size: clamp(2rem, 8.4vw, 3rem); margin-bottom: 12px; }
:where(body:is(.home, :has(.hm-tela))) .slide-desc { font-size: .95rem; line-height: 1.55; max-width: 34ch; margin-bottom: 10px; }
:where(body:is(.home, :has(.hm-tela))) .slide-detail { font-size: .85rem; line-height: 1.5; }
:where(body:is(.home, :has(.hm-tela))) .slide-product { top: auto; bottom: 15%; height: 40%; max-width: 72%; transform: translate(-50%, 0); }
@media (max-height: 700px)  {
:where(body:is(.home, :has(.hm-tela))) .slide-product { bottom: 6%; height: 38%; }
}
:where(body:is(.home, :has(.hm-tela))) .slide-product--foto { height: auto; max-height: 36%; }
@keyframes slideFloatMobile {
    0%, 100% { transform: translate(-50%, 0); }
    50% { transform: translate(-50%, -10px); }
  }
:where(body:is(.home, :has(.hm-tela))) .slide.active .slide-product { animation-name: slideFloatMobile; }
:where(body:is(.home, :has(.hm-tela))) .slide-num { font-size: clamp(6rem, 30vw, 9rem); right: 2%; }
:where(body:is(.home, :has(.hm-tela))) .tech-slider { height: min(58vh, 500px); min-height: 400px; }
:where(body:is(.home, :has(.hm-tela))) .tech-slider .slide-content { justify-content: center; padding: 24px 22px 40px; }
:where(body:is(.home, :has(.hm-tela))) .slider-arrows { top: auto; bottom: 10px; transform: none; padding: 0 12px; }
:where(body:is(.home, :has(.hm-tela))) .slider-arrow { width: 40px; height: 40px; }
:where(body:is(.home, :has(.hm-tela))) .slider-nav { bottom: 22px; }
:where(body:is(.home, :has(.hm-tela))) .news__head { margin-bottom: 40px; }
:where(body:is(.home, :has(.hm-tela))) .news-item :is(h2, h4) { font-size: 1.15rem; }
:where(body:is(.home, :has(.hm-tela))) .site-footer { padding: 52px 20px 28px; }
:where(body:is(.home, :has(.hm-tela))) .footer-grid { gap: 30px; }
}
@media (max-width: 480px)  {
:where(body:is(.home, :has(.hm-tela))) .soporte-grid { grid-template-columns: 1fr !important; }
:where(body:is(.home, :has(.hm-tela))) .cert-grid { gap: 12px; padding: 0 20px; }
:where(body:is(.home, :has(.hm-tela))) .cert-meta { padding: 12px 12px; }
:where(body:is(.home, :has(.hm-tela))) .footer-grid { grid-template-columns: 1fr; }
:where(body:is(.home, :has(.hm-tela))) .slide-title { font-size: clamp(1.9rem, 9vw, 2.6rem); }
}
@media (hover: none)  {
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.hover-img {
    position: static;
    display: block;
    width: auto;
    height: 132px;
    max-width: 60%;
    object-fit: contain;
    object-position: bottom center;
    margin: 16px auto 0;
    opacity: 1;
    transform: rotate(-6deg);
    animation: none;                    
    transition: opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1);
  }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.hover-img.img-vino { height: 168px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.hover-img.img-miel { height: 112px; }
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.hover-img.img-miel, :where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.hover-img.s3, :where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.hover-img.lower-1 { margin-top: 40px; }
:where(body:is(.home, :has(.hm-tela))) .con-aparicion .sector-card .hover-img.hover-img {
    opacity: 0;
    transform: translateY(14px) rotate(-6deg);
  }
:where(body:is(.home, :has(.hm-tela))) .con-aparicion .sector-card.is-vista .hover-img.hover-img {
    opacity: 1;
    transform: translateY(0) rotate(-6deg);
  }
:where(body:is(.home, :has(.hm-tela))) .line-card-media.line-card-media {
    position: static;
    display: block;
    width: 100%;
    height: 132px;
    margin: 0 0 18px;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(20,25,36,0.14);
    opacity: 1;
    transform: none;
    transform-origin: center;
    transition: opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1);
  }
:where(body:is(.home, :has(.hm-tela))) .con-aparicion .line-card-media.line-card-media { opacity: 0; transform: translateY(16px); }
:where(body:is(.home, :has(.hm-tela))) .con-aparicion .line-card.is-vista .line-card-media.line-card-media, :where(body:is(.home, :has(.hm-tela))) .con-aparicion .line-card-featured.is-vista .line-card-media.line-card-media {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (hover: none) and (prefers-reduced-motion: reduce)  {
:where(body:is(.home, :has(.hm-tela))) .sector-card .hover-img.hover-img, :where(body:is(.home, :has(.hm-tela))) .line-card-media.line-card-media { transition: none; }
}

/* ===== portada-tarjetas.css ===== */
:where(body:is(.home, :has(.hm-tela))) .product-card:hover {
  background: #f8f9fa;
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  border-color: #2b4ba3;
}
:where(body:is(.home, :has(.hm-tela))) .product-card:hover h3 {
  color: #2b4ba3;
}
:where(body:is(.home, :has(.hm-tela))) .line-card-featured:hover {
  background: linear-gradient(135deg, #2b4ba3 0%, #1e3578 100%);
  color: #fff;
  border-color: transparent;
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(43, 75, 163, 0.25);
}
:where(body:is(.home, :has(.hm-tela))) .line-card-featured:hover h3, :where(body:is(.home, :has(.hm-tela))) .line-card-featured:hover p, :where(body:is(.home, :has(.hm-tela))) .line-card-featured:hover > div > div, :where(body:is(.home, :has(.hm-tela))) .line-card-featured:hover > div > div b {
  color: #fff;
}
:where(body:is(.home, :has(.hm-tela))) .line-card:hover {
  background: linear-gradient(135deg, #2b4ba3 0%, #1e3578 100%);
  color: #fff;
  border-color: transparent;
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(43, 75, 163, 0.25);
}
:where(body:is(.home, :has(.hm-tela))) .line-card:hover h3, :where(body:is(.home, :has(.hm-tela))) .line-card:hover p, :where(body:is(.home, :has(.hm-tela))) .line-card:hover > div > div, :where(body:is(.home, :has(.hm-tela))) .line-card:hover > div > div b {
  color: #fff;
}
:where(body:is(.home, :has(.hm-tela))) .line-card, :where(body:is(.home, :has(.hm-tela))) .line-card-featured { position: relative; z-index: 1; }
:where(body:is(.home, :has(.hm-tela))) .line-card:hover, :where(body:is(.home, :has(.hm-tela))) .line-card-featured:hover { z-index: 20; }
:where(body:is(.home, :has(.hm-tela))) .line-card-media {
  position: absolute;
  top: 14px;
  right: 18px;
  width: 224px;
  height: 122px;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  background-color: #fff;
  border: 5px solid #fff;
  box-shadow: 0 22px 45px rgba(20, 25, 36, 0.30);
  transform-origin: bottom right;
  transform: translateY(6px) scale(0.82) rotate(-4deg);
  opacity: 0;
  transition: opacity 0.35s ease, transform 0.5s cubic-bezier(.18,.7,.2,1);
  pointer-events: none;
  z-index: 30;
}
:where(body:is(.home, :has(.hm-tela))) .line-card:hover .line-card-media, :where(body:is(.home, :has(.hm-tela))) .line-card-featured:hover .line-card-media {
  opacity: 1;
  transform: translateY(-78%) scale(1) rotate(-4deg);
}
:where(body:is(.home, :has(.hm-tela))) .line-card-body { position: relative; z-index: 2; }
@media (max-width: 720px) and (hover: hover)  {
:where(body:is(.home, :has(.hm-tela))) .line-card-media { display: none; }
}
@media (prefers-reduced-motion: reduce)  {
:where(body:is(.home, :has(.hm-tela))) .line-card-media { transition: opacity 0.3s ease; transform: rotate(-4deg); }
:where(body:is(.home, :has(.hm-tela))) .line-card:hover .line-card-media, :where(body:is(.home, :has(.hm-tela))) .line-card-featured:hover .line-card-media { transform: translateY(-78%) rotate(-4deg); }
}
:where(body:is(.home, :has(.hm-tela))) .prod-marquee { margin-top: 60px; overflow: hidden; padding-bottom: 64px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
:where(body:is(.home, :has(.hm-tela))) .prod-marquee .prod-track { display: flex; align-items: flex-end; gap: 96px; padding-right: 96px; width: max-content; animation: prodScroll 50s linear infinite; }
:where(body:is(.home, :has(.hm-tela))) .prod-marquee:hover .prod-track { animation-play-state: paused; }
:where(body:is(.home, :has(.hm-tela))) .prod-item { flex: 0 0 auto; }
:where(body:is(.home, :has(.hm-tela))) .prod-item img { height: 175px; width: auto; object-fit: contain; display: block; filter: drop-shadow(0 12px 24px rgba(20,25,36,0.15)); }
:where(body:is(.home, :has(.hm-tela))) .prod-item.prod-sm img { height: 120px; }
:where(body:is(.home, :has(.hm-tela))) .prod-item.prod-xs img { height: 95px; }
@keyframes prodScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce)  {
:where(body:is(.home, :has(.hm-tela))) .prod-marquee .prod-track { animation: none; }
}

/* ################ FIDELIDAD día 2 (maquetador, 20-10) ################ */
/* (1) Generado por build/fidelidad/kit_fidelidad.py: reglas del original que Elementor anula en sus envoltorios */
body:where(:not(.home):not(:has(.hm-tela))):is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-toggle span:is(.e-con.e-con.e-con) { width: 22px; }
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar:is(.e-con.e-con.e-con) { flex-wrap: wrap; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse:is(.e-con.e-con.e-con) { width: 100%; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-collapse .nav-links:is(.e-con.e-con.e-con) { width: 100%; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-logo img:is(.e-con.e-con.e-con), :where(body:is(:not(.home):not(:has(.hm-tela)))) .nav-logo-svg:is(.e-con.e-con.e-con) { width: 60px !important; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)))) .scroll-progress:is(.e-con.e-con.e-con) { width: 100%; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .section-tag:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-year:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { min-width: 78px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .timeline-year:is(.e-con.e-con.e-con) { min-width: 78px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-thumb img:is(.e-con.e-con.e-con) { width: 100%; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-code__sep:is(.e-con.e-con.e-con) { flex: none; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-logo:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { min-width: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .cert-logo:is(.e-con.e-con.e-con) { flex: 0 1 5.4em; min-width: 0; width: 5.4em; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-grid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 1200px; margin-bottom: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-grid:is(.e-con.e-con.e-con) { max-width: 1200px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-col h5:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget), :where(body:is(:not(.home):not(:has(.hm-tela)))) .footer-col h2:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) #splash svg:is(.e-con.e-con.e-con) { width: 92px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 1200px; margin-bottom: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap:is(.e-con.e-con.e-con) { max-width: 1200px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap--head:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 40px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap--mid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 1100px; margin-bottom: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .wrap--mid:is(.e-con.e-con.e-con) { max-width: 1100px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .h-blq:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 8px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .h-blq--sep:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 28px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .entradilla:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 28px; max-width: 70ch; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .entradilla:is(.e-con.e-con.e-con) { max-width: 70ch; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .rotulo:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 10px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .img-cover:is(.e-con.e-con.e-con) { width: 100%; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-slider:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget), :where(body:is(:not(.home):not(:has(.hm-tela)))) .tech-slider:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 1200px; margin-bottom: 60px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-slider:is(.e-con.e-con.e-con), :where(body:is(:not(.home):not(:has(.hm-tela)))) .tech-slider:is(.e-con.e-con.e-con) { width: 100%; max-width: 1200px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-dot:is(.e-con.e-con.e-con) { width: 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrow:is(.e-con.e-con.e-con) { width: 50px; }
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrow:is(.e-con.e-con.e-con) { width: 40px; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .emp-intro:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 60ch; margin-bottom: 60px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .emp-intro:is(.e-con.e-con.e-con) { max-width: 60ch; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .emp-wax:is(.e-con.e-con.e-con) { width: clamp(140px, 16vw, 220px); }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .emp-h1:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .planta-grid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 60px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta-grid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 48px; }
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta-grid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 48px; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta__foto:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 32px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta__foto:is(.e-con.e-con.e-con) { width: 200px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .carta__p:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 20px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc:is(.e-con.e-con.e-con) { flex-wrap: wrap; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__miniatura:is(.e-con.e-con.e-con) { flex-shrink: 0; width: 96px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__ph:is(.e-con.e-con.e-con) { flex-shrink: 0; width: 96px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__cuerpo:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { min-width: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .doc__cuerpo:is(.e-con.e-con.e-con) { flex: 1 1 9rem; min-width: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .sep-48:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.about-section))) .sep-24:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-tag:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-title:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-desc:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 520px; margin-bottom: 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-desc:is(.e-con.e-con.e-con) { max-width: 520px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-detail:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 440px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .slide-detail:is(.e-con.e-con.e-con) { max-width: 440px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.tech-section))) .galeria-item img:is(.e-con.e-con.e-con) { width: 100%; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-product:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 80%; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-product:is(.e-con.e-con.e-con) { max-width: 80%; width: auto; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-tag:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-title:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-desc:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 600px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .slide-desc:is(.e-con.e-con.e-con) { max-width: 600px; }
@media (min-width: 769px) {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .sector-slider .slide-product:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 40%; }
}
@media (min-width: 769px) {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .sector-slider .slide-product:is(.e-con.e-con.e-con) { width: 40%; max-width: 40%; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-chip:is(.e-con.e-con.e-con) { width: 96px; }
@media (max-width: 480px) {
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-chip:is(.e-con.e-con.e-con) { width: 82px; }
}
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx__head:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 760px; margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx__head:is(.e-con.e-con.e-con) { max-width: 760px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx__h:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sectores-section))) .ctx-card__foto:is(.e-con.e-con.e-con) { width: 100%; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .scroll-progress:is(.e-con.e-con.e-con) { width: 0%; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .section-tag:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stat .num:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 8px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) #splash svg:is(.e-con.e-con.e-con) { width: 110px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-grid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 1200px; margin-bottom: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cert-grid:is(.e-con.e-con.e-con) { max-width: 1200px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .soporte-grid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 8px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__h:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__p:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 700px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__p:is(.e-con.e-con.e-con) { max-width: 700px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__doc:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 320px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__doc:is(.e-con.e-con.e-con) { flex-shrink: 0; max-width: 320px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-hero__doc-min:is(.e-con.e-con.e-con) { flex-shrink: 0; width: 64px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__txt:is(.e-con.e-con.e-con) { flex: 1; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__rot:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__h:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 16px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__disco:is(.e-con.e-con.e-con) { width: 160px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .solar-panel__disco img:is(.e-con.e-con.e-con) { width: 100px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stats:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stats__globo img:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 280px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .eco-stats__globo img:is(.e-con.e-con.e-con) { width: 100%; max-width: 280px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .papel:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 48px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .papel__rot:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .papel__h:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 12px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 1200px; margin-bottom: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod:is(.e-con.e-con.e-con) { max-width: 1200px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod__h:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 18px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod__p:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 760px; margin-bottom: 14px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod__p:is(.e-con.e-con.e-con) { max-width: 760px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .prod-card__t:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 6px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .certs-eco__h:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 24px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cierre:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 1000px; margin-bottom: 0; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cierre:is(.e-con.e-con.e-con) { max-width: 1000px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cierre__h:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 20px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .cierre__rot:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 10px; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .flex-1:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { min-width: 0; max-width: 100%; }
:where(body:is(:not(.home):not(:has(.hm-tela)):has(.sostenibilidad-section))) .flex-1:is(.e-con.e-con.e-con) { flex: 1; min-width: 0; max-width: 100%; }
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sr-word:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget), :where(body:is(:not(.home):not(:has(.hm-tela)))) .sr-inner:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 100%; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sr-word:is(.e-con.e-con.e-con), :where(body:is(:not(.home):not(:has(.hm-tela)))) .sr-inner:is(.e-con.e-con.e-con) { max-width: 100%; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar:is(.e-con.e-con.e-con) { flex-wrap: wrap; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-toggle:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 0; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-toggle:is(.e-con.e-con.e-con) { width: 44px; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse:is(.e-con.e-con.e-con) { width: 100%; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-links:is(.e-con.e-con.e-con) { width: 100%; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__menu:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget), :where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__grid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 100%; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__menu:is(.e-con.e-con.e-con), :where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__grid:is(.e-con.e-con.e-con) { max-width: 100%; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__caret:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: -6px; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__caret:is(.e-con.e-con.e-con) { width: 40px; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__menu:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 0; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__menu:is(.e-con.e-con.e-con) { width: 100%; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__grid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget), :where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd--narrow .nav-dd__grid:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { min-width: 0; }
}
@media (max-width: 950px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd__grid:is(.e-con.e-con.e-con), :where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-collapse .nav-dd--narrow .nav-dd__grid:is(.e-con.e-con.e-con) { min-width: 0; }
}
@media (max-width: 480px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-logo img:is(.e-con.e-con.e-con), :where(body:is(:not(.home):not(:has(.hm-tela)))) .navbar .nav-logo-svg:is(.e-con.e-con.e-con) { width: 52px !important; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .legal th:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget), :where(body:is(:not(.home):not(:has(.hm-tela)))) .legal td:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { min-width: 120px; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .legal th:is(.e-con.e-con.e-con), :where(body:is(:not(.home):not(:has(.hm-tela)))) .legal td:is(.e-con.e-con.e-con) { min-width: 120px; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .carta-grid img[alt="Guillermo Buces"]:is(.e-con.e-con.e-con) { width: 150px !important; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .solar-panel > div:last-child > div:is(.e-con.e-con.e-con) { width: 104px !important; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .solar-panel > div:last-child img:is(.e-con.e-con.e-con) { width: 64px !important; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .eco-stats > :nth-child(2) img:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 190px !important; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .eco-stats > :nth-child(2) img:is(.e-con.e-con.e-con) { max-width: 190px !important; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-tag:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 10px; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-title:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 12px; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-desc:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 34ch; margin-bottom: 10px; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-desc:is(.e-con.e-con.e-con) { max-width: 34ch; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-product:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 72%; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slide-product:is(.e-con.e-con.e-con) { max-width: 72%; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .slider-arrow:is(.e-con.e-con.e-con) { width: 40px; }
}
@media (max-width: 768px) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .news__head:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 40px; }
}
@media (hover: none) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-card .hover-img.hover-img:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 60%; margin-bottom: 0; }
}
@media (hover: none) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .sector-card .hover-img.hover-img:is(.e-con.e-con.e-con) { width: auto; max-width: 60%; }
}
@media (hover: none) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .line-card-media.line-card-media:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 18px; }
}
@media (hover: none) {
:where(body:is(:not(.home):not(:has(.hm-tela)))) .line-card-media.line-card-media:is(.e-con.e-con.e-con) { width: 100%; }
}
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news__head:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 900px; margin-bottom: 60px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news__head:is(.e-con.e-con.e-con) { max-width: 900px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news__list:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 1120px; margin-bottom: 0; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news__list:is(.e-con.e-con.e-con) { max-width: 1120px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news-item:hover:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 0; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news-preview:is(.e-con.e-con.e-con) { width: 290px; }
@media (hover: none), (max-width: 768px) {
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news-item__thumb:is(.e-con.e-con.e-con) { width: 96px; }
}
@media (hover: none), (max-width: 768px) {
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news-item__thumb img:is(.e-con.e-con.e-con) { width: 100%; }
}
@media (max-width: 768px) {
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news-item:hover:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 0; }
}
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .filtros:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 900px; margin-bottom: 24px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .filtros:is(.e-con.e-con.e-con) { max-width: 900px; flex-wrap: wrap; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news-pager:is(.e-con.e-con.e-con) { flex-wrap: wrap; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news-pager__btn:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { min-width: 38px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news-pager__btn:is(.e-con.e-con.e-con) { min-width: 38px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .infopack-card__visual img:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 100%; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .infopack-card__visual img:is(.e-con.e-con.e-con) { max-width: 100%; width: auto; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .infopack:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 1200px; margin-bottom: 0; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .infopack:is(.e-con.e-con.e-con) { max-width: 1200px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .infopack__d:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 28px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .infopack-track .infopack-card:is(.e-con.e-con.e-con) { flex: 0 0 var(--ip-w); }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .infopack-slider__btn:is(.e-con.e-con.e-con) { width: 44px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .infopack-dots:is(.e-con.e-con.e-con) { flex-wrap: wrap; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .infopack-dot:is(.e-con.e-con.e-con) { width: 8px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .guias__h:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { margin-bottom: 14px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .guias__d:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 62ch; margin-bottom: 24px; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .guias__d:is(.e-con.e-con.e-con) { max-width: 62ch; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .logo3d canvas:is(.e-con.e-con.e-con) { width: 100%; }

/* (2) A mano: build/fidelidad/fidelidad.css */
/* DEF-021 · sin scroll suave, como el original (decisión del jefe 20-10) */
html { scroll-behavior: auto !important; }

/* DEF-007 · portada: el original centra con `section{text-align:center}`; los contenedores de Elementor
   (`.e-con-full{text-align:var(--text-align)}`, 0,1,0) lo anulaban en las secciones que son contenedor */
:where(body:is(.home, :has(.hm-tela))) section.e-con-full,
:where(body:is(.home, :has(.hm-tela))) section.e-con > .e-con-inner { text-align: center; }
/* DEF-020 · y el centrado vertical del mismo `section{display:flex;justify-content:center;align-items:center}`: en el original
   la sección es fila y centra en vertical con align-items; el contenedor de Elementor es columna, así que se centra con
   justify-content (anulado por `.e-con{justify-content:var(--justify-content)}`). Hero 81 px y contacto 187 px a 1440, como el original */
:where(body:is(.home, :has(.hm-tela))) section.e-con-full { justify-content: center; }
/* Portada a 390: `.hm-wrap` es un div de bloque en el original. Como contenedor flex columna de Elementor, el widget de
   `.eco-stats` (rejilla 2 columnas con el globo en `order:-1`) se medía con 3 filas en vez de 2: Sostenibilidad +209 px */
:where(body:is(.home, :has(.hm-tela))) .hm-wrap.e-con-full { display: block; }

/* DEF-014 · hero de portada en móvil: `.hero > .hm-hero-inner` no casa (hay un envoltorio entre medias) */
@media (max-width: 768px) {
  :where(body:is(.home, :has(.hm-tela))) .hero .hm-hero-inner { padding: 5rem 1.25rem 0 !important; }
}

/* DEF-010 · Tecnologías: pie de la galería de acabados (`.galeria-item span` del original) en el envoltorio del Heading */
:where(body:has(.tech-section)) .galeria-item > .elementor-widget-heading { padding: 11px 12px; font-family: "Raleway", sans-serif; font-size: 0.82rem; font-weight: 600; color: #141924; text-align: center; line-height: 1.3; }

/* DEF-012 · Empresa: línea de tiempo, el texto al lado del año (en el original es un div sin ancho fijo) */
:where(body:has(.about-section)) .timeline-item.e-con.e-con { flex-wrap: nowrap; }
:where(body:has(.about-section)) .timeline-item > .timeline-content.e-con.e-con { flex: 0 1 auto; width: auto; min-width: 0; }

/* DEF-013 · Empresa: políticas, miniatura a la izquierda y texto a la derecha; rótulo «DOC PENDIENTE» visible */
:where(body:has(.about-section)) .doc > .doc__cuerpo.e-con.e-con { flex: 1 1 9rem; width: auto; min-width: 0; }
:where(body:has(.about-section)) .doc__ph > .elementor-widget-heading { font-family: monospace; font-size: 0.6rem; color: #2b4ba3; text-align: center; line-height: 1.6; }

/* DEF-015 · Sostenibilidad: `.solar-panel p` del original (el párrafo es el propio widget, sin <p>) */
@media (max-width: 768px) {
  :where(body:has(.sostenibilidad-section)) .solar-panel .solar-panel__p { font-size: 1rem !important; }
}

/* DEF-017 · enlaces del texto subrayados como en el original (Elementor: `.elementor a{text-decoration:none}`).
   Solo enlaces sin clase y fuera del blog (allí el original usa borde inferior) */
:where(body:is(:not(.home):not(:has(.hm-tela)))) .elementor-widget-text-editor:not(.blog-body) a:not([class]) { text-decoration: underline; }

/* Accesibilidad heredada del original (decisión C del jefe: se corrige de la forma menos visible y se avisa al cliente) */
/* - flechas ▾ del menú de escritorio: zona táctil de 24 × 24 px con la flecha en el mismo sitio */
@media (min-width: 951px) {
  body .navbar .nav-links .nav-dd__caret { min-width: 24px; min-height: 24px; display: inline-flex; align-items: center; justify-content: center; margin-left: -5.5px; }
}
/* - puntos del carrusel de noticias de la portada: 24 × 24 px de zona, mismo punto visible */
/*   (sin solaparse: axe cuenta como tapada la zona que pisa el punto vecino; la separación visible pasa de 8 a 12 px) */
:where(body:is(.home, :has(.hm-tela))) .news-dots.news-dots { gap: 0; }
:where(body:is(.home, :has(.hm-tela))) .news-dots .news-dot { box-sizing: content-box !important; padding: 6px !important; margin: -6px 0; background-clip: content-box !important; }
:where(body:is(.home, :has(.hm-tela))) .news-dots .news-dot.active { border-radius: 12px !important; }
/* - contraste AA de la entradilla de «Guías» en Noticias (#6b7280 sobre #f6f5f1 = 4,43:1) */
:where(body) .elementor .guias__d.guias__d { color: #5f6673; }

/* DEF-015 · Sostenibilidad: panel solar con la medalla a su ancho (el original no fija ancho; Elementor pone 100 %)
   para que la columna de texto (`.solar-panel__txt{flex:1}`) ocupe el resto */
:where(body:has(.sostenibilidad-section)) .solar-panel > .solar-panel__medalla.e-con.e-con { width: auto; }

/* DEF-019 · «Conoce cada técnica»: flecha al extremo derecho (`.enlace-caja{display:flex;justify-content:space-between}` del original) */
:where(body:is(:not(.home):not(:has(.hm-tela)))) .enlace-caja.elementor-widget-heading .elementor-heading-title { display: block; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .enlace-caja.elementor-widget-heading .elementor-heading-title a { display: flex; justify-content: space-between; align-items: center; gap: 12px; }

/* DEF-022 · Noticias: «← Volver a inicio» con el estilo de `.news__head a` del original (es un widget Botón) */
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news__head .elementor-widget-button a.elementor-button.elementor-button { font-family: "Raleway", sans-serif; font-size: 0.75rem; font-weight: inherit; letter-spacing: 0.12em; text-transform: uppercase; color: #6b7280; text-decoration: none; border-bottom: 1px solid #9ca3af; border-radius: 0; padding: 0 0 4px; transition: color 0.3s, border-color 0.3s; }
:where(body:is(.elementor-page-778, .elementor-page-782, .elementor-page-787)) .news__head .elementor-widget-button a.elementor-button.elementor-button:hover { color: #2b4ba3; border-color: #2b4ba3; }

/* DEF-018 · landings: título de tarjeta en negrita (h3 del original) y entradilla con su ancho máximo */
:where(body:is(:not(.home):not(:has(.hm-tela)))) .lp-card .elementor-widget-heading h3.elementor-heading-title { font-weight: 600; }
:where(body:is(:not(.home):not(:has(.hm-tela)))) .lp-lead:is(.elementor-widget.elementor-widget.elementor-widget.elementor-widget) { max-width: 760px; }

/* DEF-011 (S4) · legales y blog sin desplegables en el menú, como el original (Base con navMenu={false}) */
:is(body.page-id-360, body.page-id-369, body.page-id-372, body.page-id-375, body.page-id-378, body.page-id-382, body.page-id-388, body.page-id-391, body.page-id-394, body.page-id-792, body.page-id-814, body.page-id-829, body.page-id-797, body.page-id-817, body.page-id-832, body.page-id-800, body.page-id-820, body.page-id-835, body.page-id-803, body.page-id-823, body.page-id-838, body.page-id-806, body.page-id-826, body.page-id-843) .navbar .nav-dd__caret, :is(body.page-id-360, body.page-id-369, body.page-id-372, body.page-id-375, body.page-id-378, body.page-id-382, body.page-id-388, body.page-id-391, body.page-id-394, body.page-id-792, body.page-id-814, body.page-id-829, body.page-id-797, body.page-id-817, body.page-id-832, body.page-id-800, body.page-id-820, body.page-id-835, body.page-id-803, body.page-id-823, body.page-id-838, body.page-id-806, body.page-id-826, body.page-id-843) .navbar .nav-dd__menu { display: none !important; }

/* DEF-025 (y blog, guía y noticia) · relleno móvil de mobile.css (≤768) que el CSS de página anulaba */
@media (max-width: 768px) {
  :where(body:is(:not(.home):not(:has(.hm-tela)))) :is(.legal, .article-section).e-con.e-con.e-con { padding-top: 110px; padding-left: 20px; padding-right: 20px; }
  :where(body:is(:not(.home):not(:has(.hm-tela)))) :is(.blog-main, .blog-index).e-con.e-con.e-con { padding-top: 104px; padding-left: 20px; padding-right: 20px; }
}

/* DEF-035 · portada: el espaciador final (100vh vacío, solo da recorrido de scroll a intro-scroll.js) queda por encima
   del panel de contacto fijo, igual que su contenedor de Elementor (.bl-cola), y se come los clics del pie (privacidad, aviso legal, cookies, canal ético). */
:where(body:is(.home, :has(.hm-tela))) :is(.bl-cola, .bl-cola .bl-html, .footer-spacer.hm-espaciador) { pointer-events: none; }
:where(body:is(.home, :has(.hm-tela))) .bl-cola .cookies { pointer-events: auto; }/* End custom CSS */