/* ═══════════════════════════════════════════════
   Mazca 3 - Global CSS
   Variables, reset, tipografía base
═══════════════════════════════════════════════ */

:root {
  /* Colores */
  --m3-blue:       #0C2421;
  --m3-blue-on-dark:#C7E96C;
  --m3-blue-deep:  #0A201D;
  --m3-navy:       #0C2421;
  --m3-ink:        #15201d;
  --m3-gray:       #46544f;
  --m3-gray-lt:    #9FB3AD;
  --m3-bg:         #F4F6F8;
  --m3-off:        #FFFFFF;
  --m3-pale:       #E8EDF2;
  --m3-white:      #FFFFFF;

  /* Aliases semánticos: paper = fondo claro, snow = texto blanco sobre oscuros */
  --m3-paper:      #F4F6F8;
  --m3-paper-2:    #FFFFFF;
  --m3-paper-3:    #E8EDF2;
  --m3-snow:       #FFFFFF;

  /* Concepto v2 — paleta nombrada */
  --m3-petroleo:   #0C2421;
  --m3-petroleo-2: #102C29;
  --m3-petroleo-monograma: #071915;
  --m3-lima:       #C7E96C;
  --m3-oliva:      #7E9B3B;
  --m3-tinta:      #15201D;
  --m3-tinta-soft: #56635E;
  --m3-body-size:  15px;
  --m3-body-color: #66756F;
  --m3-mist:       #9FB3AD;
  --line:          #E2E7EC;

  /* Tipografía */
  --font-serif:  'Schibsted Grotesk', serif;
  --font-sans:   'Hanken Grotesk', sans-serif;
  --font-syne:   'Schibsted Grotesk', sans-serif;
  /* Alias usados por el concepto v2 (home + subpáginas) */
  --font-display:'Schibsted Grotesk', sans-serif;
  --font-body:   'Hanken Grotesk', sans-serif;

  /* Espaciado */
  /* Padding lateral unificado para toda la web */
  --m3-pad-x: clamp(20px, 4vw, 48px);
  --m3-pad-x-mobile:  24px;
  --m3-pad-x-tablet:  32px;
  --m3-pad-x-desktop: 48px;

  /* Containers - escalado inteligente para pantallas grandes */
  /* En 1280px→1280px, 1600px→1440px, 1920px→1600px, 2560px→1760px, ≥3200px→1920px */
  /* v0.9.138 · sigue a --m3-content (definido al final del archivo)
     conservando el guardarraíl de 92vw para móvil y tablet */
  --m3-container:     min(var(--m3-content, 1280px), 92vw);
  --m3-container-wide: min(1920px, 94vw);
  --m3-container-narrow: min(1280px, 90vw);
}

/* ══════════════════════════════════════════════════════════════
   EYEBROW GLOBAL · v0.9.86
   Un único patrón para todo el sitio: texto verde, sin cápsulas,
   puntos, rayas ni fondos decorativos.
   ══════════════════════════════════════════════════════════════ */
:where(
  [class$="-eyebrow"],
  [class*="-eyebrow "],
  [class*="__eyebrow"],
  .m3-eyebrow
){
  display:block!important;
  width:fit-content!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  gap:0!important;
  font-family:'Schibsted Grotesk',sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:var(--m3-oliva,#7E9B3B)!important;
  animation:none!important;
}
:where(
  [class$="-eyebrow"],
  [class*="-eyebrow "],
  [class*="__eyebrow"],
  .m3-eyebrow
)::before,
:where(
  [class$="-eyebrow"],
  [class*="-eyebrow "],
  [class*="__eyebrow"],
  .m3-eyebrow
)::after{
  display:none!important;
  content:none!important;
}
:where(
  [class*="ey-dot"],
  [class*="eyebrow-dot"],
  .m3-eyebrow__dot
){
  display:none!important;
}
:where(
  [class$="-eyebrow"],
  [class*="-eyebrow "],
  [class*="__eyebrow"],
  .m3-eyebrow
) > span:not([class*="dot"]){
  color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  text-transform:inherit!important;
}

/* ══════════════════════════════════════════════════════════════
   CTA GLOBAL · v0.9.166
   Botón editorial compacto y una única flecha diagonal.
   Solo afecta enlaces de acción y envíos de formulario.
   ══════════════════════════════════════════════════════════════ */
body a.m3-btn,
body a[class*="-cta"],
body button.wpforms-submit.wpforms-submit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:flex-start!important;
  gap:8px!important;
  width:fit-content!important;
  min-width:0!important;
  min-height:42px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--m3-petroleo,#0C2421)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:'Schibsted Grotesk',sans-serif!important;
  font-size:11.5px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:
    transform .25s cubic-bezier(.22,1,.36,1),
    box-shadow .25s cubic-bezier(.22,1,.36,1),
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease!important;
}
body a.m3-btn::after,
body a[class*="-cta"]::after,
body button.wpforms-submit.wpforms-submit::after{
  content:''!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  color:currentColor!important;
  font-family:'Hanken Grotesk',Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:0!important;
  -webkit-text-stroke:.2px currentColor!important;
  transform:translateY(-.5px)!important;
  transition:transform .25s cubic-bezier(.22,1,.36,1)!important;
}
body a.m3-btn:hover,
body a[class*="-cta"]:hover,
body button.wpforms-submit.wpforms-submit:hover{
  background:var(--m3-petroleo,#0C2421)!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px -12px rgba(12,36,33,.42)!important;
}
body a.m3-btn.m3-btn--lima{
  background:var(--m3-lima,#C7E96C)!important;
  color:var(--m3-petroleo,#0C2421)!important;
}
body a.m3-btn.m3-btn--lima:hover{
  background:#d4f07f!important;
  color:var(--m3-petroleo,#0C2421)!important;
  box-shadow:0 14px 30px -12px rgba(199,233,108,.38)!important;
}
body a.m3-btn:hover::after,
body a[class*="-cta"]:hover::after,
body button.wpforms-submit.wpforms-submit:hover::after{
  transform:translate(2px,-2px)!important;
}
body a.m3-btn:active,
body a[class*="-cta"]:active,
body button.wpforms-submit.wpforms-submit:active{
  transform:translateY(0)!important;
  box-shadow:0 6px 16px -10px rgba(12,36,33,.38)!important;
}
body a.m3-btn:focus-visible,
body a[class*="-cta"]:focus-visible,
body button.wpforms-submit.wpforms-submit:focus-visible{
  outline:3px solid rgba(199,233,108,.55)!important;
  outline-offset:3px!important;
}
body a.m3-btn > svg,
body a[class*="-cta"] > svg,
body a.m3-btn .m3-btn__ic,
body a[class*="-cta"] .m3-btn__ic{
  display:none!important;
}
@media(max-width:600px){
  body a.m3-btn,
  body a[class*="-cta"],
  body button.wpforms-submit.wpforms-submit{
    max-width:100%!important;
    min-height:44px!important;
    white-space:normal!important;
    text-align:center!important;
  }
}

/* HERO CTA OVERRIDES · fuerza el lima en home, soluciones digitales y automoción */
body .m3-hero__btns a.m3-btn.m3-btn--primary,
body a.dhero-cta,
body a.at-cta.at-cta--primary{
  background:var(--m3-lima,#C7E96C)!important;
  color:var(--m3-petroleo,#0C2421)!important;
  border-color:var(--m3-lima,#C7E96C)!important;
  box-shadow:none!important;
}
body .m3-hero__btns a.m3-btn.m3-btn--primary:hover,
body a.dhero-cta:hover,
body a.at-cta.at-cta--primary:hover{
  background:#D4F383!important;
  color:var(--m3-petroleo,#0C2421)!important;
  border-color:#D4F383!important;
  box-shadow:none!important;
}
body .m3-hero__btns a.m3-btn.m3-btn--primary::after,
body a.dhero-cta::after,
body a.at-cta.at-cta--primary::after{
  color:var(--m3-petroleo,#0C2421)!important;
}

/* ══════════════════════════════════════════════════════════════
   MÉTRICAS · SUBPÁGINAS DE CONSULTORÍA
   Jerarquía tipográfica común para Calidad, Medio Ambiente,
   Energía, Seguridad, Buen Gobierno e I+D+i.
   ══════════════════════════════════════════════════════════════ */
.cal-stat-num,
.ma-stat-num,
.enei-stat-num,
.segi-stat-num,
.govi-stat-num,
.idii-stat-num{
  display:block!important;
  margin-bottom:7px!important;
  font-family:'Schibsted Grotesk',sans-serif!important;
  font-size:clamp(32px,3.15vw,48px)!important;
  font-weight:700!important;
  line-height:.96!important;
  letter-spacing:-.04em!important;
}
.cal-stat-num em,
.ma-stat-num em,
.enei-stat-num em,
.segi-stat-num em,
.govi-stat-num em,
.idii-stat-num em{
  color:var(--m3-oliva,#7E9B3B)!important;
  font-style:normal!important;
  font-weight:700!important;
}
.cal-stat-label,
.ma-stat-label,
.enei-stat-label,
.segi-stat-label,
.govi-stat-label,
.idii-stat-label{
  font-family:'Schibsted Grotesk',sans-serif!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.cal-stat-desc,
.ma-stat-desc,
.enei-stat-desc,
.segi-stat-desc,
.govi-stat-desc,
.idii-stat-desc{
  margin-top:5px!important;
  font-family:'Hanken Grotesk',sans-serif!important;
  font-size:var(--m3-body-size,15px)!important;
  line-height:1.7!important;
  color:var(--m3-body-color,#66756F)!important;
}
.cal-stat.cal-navy .cal-stat-desc,
.ma-stat.ma-s-navy .ma-stat-desc,
.enei-stat.enei-dark .enei-stat-desc,
.segi-stat.segi-dark .segi-stat-desc,
.govi-stat.govi-dark .govi-stat-desc,
.idii-stat.idii-dark .idii-stat-desc{
  color:rgba(255,255,255,.68)!important;
}

/* Descripciones de normas: mismo cuerpo en todas las especialidades. */
.cn-desc,.cn-card-desc,
.man-desc,.man-card-desc,
.enen-desc,.enen-card-desc,
.segn-desc,.segn-card-desc,
.govn-desc,.govn-card-desc,
.idin-desc,.idin-card-desc{
  font-family:'Hanken Grotesk',sans-serif!important;
  font-size:var(--m3-body-size,15px)!important;
  line-height:1.7!important;
  color:var(--m3-body-color,#66756F)!important;
}
.cn-card.cn-feat .cn-card-desc,
.man-card.man-feat .man-card-desc,
.enen-card.enen-feat .enen-card-desc,
.segn-card.segn-feat .segn-card-desc,
.govn-card.govn-feat .govn-card-desc,
.idin-card.idin-feat .idin-card-desc{
  color:rgba(255,255,255,.68)!important;
}

/* Iconos de ventajas / CTA: componente visual único. */
[class*="-perk-icon"]{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  flex:0 0 36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--m3-petroleo,#0C2421)!important;
  border-radius:9px!important;
  background:var(--m3-petroleo,#0C2421)!important;
  box-shadow:0 8px 20px -12px rgba(12,36,33,.55)!important;
  transition:transform .25s,box-shadow .25s!important;
}
[class*="-perk-icon"] svg{
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:var(--m3-lima,#C7E96C)!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
[class*="-perk"]:hover [class*="-perk-icon"]{
  background:var(--m3-petroleo,#0C2421)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 12px 24px -12px rgba(12,36,33,.65)!important;
}
[class*="-perk"]:hover [class*="-perk-icon"] svg{
  stroke:var(--m3-lima,#C7E96C)!important;
}

/* Laterales de cards destacadas en las páginas de normativas. */
.cn-feat-right,.man-feat-right,.enen-feat-right,
.segn-feat-right,.govn-feat-right,.idin-feat-right{
  align-items:flex-start!important;
  justify-content:center!important;
  gap:18px!important;
  padding-left:clamp(24px,3vw,40px)!important;
  border-left:1px solid rgba(255,255,255,.14)!important;
}
.cn-card.cn-feat .cn-badge,
.man-card.man-feat .man-badge,
.enen-card.enen-feat .enen-badge,
.segn-card.segn-feat .segn-badge,
.govn-card.govn-feat .govn-badge,
.idin-card.idin-feat .idin-badge{
  display:block!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  color:var(--m3-lima,#C7E96C)!important;
  font-family:'Schibsted Grotesk',sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.cn-card.cn-feat .cn-badge::before,
.man-card.man-feat .man-badge::before,
.enen-card.enen-feat .enen-badge::before,
.segn-card.segn-feat .segn-badge::before,
.govn-card.govn-feat .govn-badge::before,
.idin-card.idin-feat .idin-badge::before{
  display:none!important;
  content:none!important;
}
.cn-pills,.man-pills,.enen-pills,
.segn-pills,.govn-pills,.idin-pills{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
}
.cn-pills::before,.man-pills::before,.enen-pills::before,
.segn-pills::before,.govn-pills::before,.idin-pills::before{
  display:none!important;
  content:none!important;
}
.cn-pill,.man-pill,.enen-pill,
.segn-pill,.govn-pill,.idin-pill{
  padding:7px 12px!important;
  border:1px solid rgba(199,233,108,.2)!important;
  border-radius:999px!important;
  background:rgba(199,233,108,.07)!important;
  color:rgba(255,255,255,.72)!important;
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.07em!important;
}
@media(max-width:768px){
  .cn-feat-right,.man-feat-right,.enen-feat-right,
  .segn-feat-right,.govn-feat-right,.idin-feat-right{
    margin-top:8px!important;
    padding:22px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
  }
}

/* Escalado base del root - aumenta tipografía relativa en pantallas grandes
   (afecta solo a propiedades en rem, no a px) */
html {
  font-size: 16px;
}
@media (min-width: 1600px) { html { font-size: 17px; } }
@media (min-width: 2200px) { html { font-size: 18px; } }
@media (min-width: 2800px) { html { font-size: 19px; } }

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  font-family: var(--font-sans);
  font-size:var(--m3-body-size,15px);
  line-height:1.7;
  color:var(--m3-body-color,#66756F);
  background: var(--m3-white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height:auto; }
svg { max-width:100%; }

@media (max-width:600px) {
  h1,h2,h3,h4,p,li,a,span { overflow-wrap:break-word; }
  input,select,textarea,button { max-width:100%; }
  table { display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch; }
}

/* Botones globales */
.m3-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-syne);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.3s;
  cursor: pointer;
  border: none;
}
.m3-btn--primary {
  color: #fff;
  background: var(--m3-blue);
  padding: 16px 32px;
  box-shadow: 0 4px 18px rgba(12,36,33,0.3);
}
.m3-btn--primary:hover {
  background: var(--m3-blue-deep);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(12,36,33,0.4);
}
.m3-btn--secondary {
  color: var(--m3-blue);
  background: transparent;
  border: 1.5px solid rgba(12,36,33,0.4);
  padding: 15px 32px;
}
.m3-btn--secondary:hover {
  background: var(--m3-blue);
  color: #fff;
  border-color: var(--m3-blue);
}

/* Strip ticker */
.m3-strip {
  background: var(--m3-off);
  border-top: 1px solid var(--m3-pale);
  border-bottom: 1px solid var(--m3-pale);
  padding: 18px 0;
  overflow: hidden;
}
.m3-strip__track {
  display: flex;
  width: max-content;
  animation: m3-marquee 24s linear infinite;
}
.m3-strip__item {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 0 32px;
  font-family: var(--font-syne);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--m3-blue);
  white-space: nowrap;
}
.m3-strip__sep {
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--m3-pale);
  flex-shrink: 0;
}

/* Strip ticker - invertido en mobile + tablet (<1200px)
   Fondo navy + letras blancas → continuidad visual con el topbar y el panel azul del hero */
@media (max-width: 1199px) {
  .m3-strip {
    background: var(--m3-navy);
    border-top: none;
    border-bottom: none;
  }
  .m3-strip__item { color: #fff; }
  .m3-strip__sep  { background: rgba(255, 255, 255, 0.28); }
}

/* Animaciones globales */
@keyframes m3-marquee   { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes m3-floatA    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes m3-floatB    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
@keyframes m3-pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.6)} }
@keyframes m3-up        { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
@keyframes m3-cnt       { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
@keyframes m3-hint-line { 0%,100%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} }

/* Editor frontend - toast */
.m3-toast {
  position: fixed;
  bottom: 24px; right: 24px;
  background: var(--m3-navy);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  padding: 12px 20px;
  border-radius: 100px;
  z-index: 99999;
  display: flex;
  align-items: center;
  gap: 8px;
  transform: translateY(80px);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.22,1,0.36,1);
  pointer-events: none;
}
.m3-toast.show   { transform: translateY(0); opacity: 1; }
.m3-toast--ok    { background: #064e3b; }
.m3-toast--error { background: #7f1d1d; }

/* Editor - elementos editables */
.is-editing .m3-editable {
  outline: none;
  border-radius: 3px;
  cursor: text;
  transition: background 0.2s, outline 0.2s;
}
.is-editing .m3-editable:hover {
  background: rgba(12,36,33,0.07);
  outline: 1px dashed rgba(12,36,33,0.35);
  outline-offset: 2px;
}
.is-editing .m3-editable:focus {
  background: rgba(12,36,33,0.1);
  outline: 2px solid var(--m3-blue);
  outline-offset: 2px;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE PERFORMANCE OVERRIDE (v1.3.45)
   Mata TODO lo que jankea el scroll en GPU mobile de una sola vez:
     · 17 backdrop-filter → none (17× menos trabajo por frame)
     · Animaciones decorativas infinitas → pausadas
     · Mantiene las animaciones de entrada/tap (cortas) y el marquee del
       ticker (es funcionalidad, no adorno).
     · Respeta prefers-reduced-motion como bonus accesibilidad.
═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* ── Backdrop-filter nuclear off ── */
  *, *::before, *::after {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* ── Animaciones decorativas infinitas off ──
     Listado específico para no romper transiciones cortas útiles. */
  .m3-hmc,
  .m3-float-card,
  .m3-hero__hint-line,
  .m3-hero__eyebrow-plus,
  .nrm-m-eyebrow-dot,
  .m3-eyebrow-dot,
  #m3-chat-btn-inner::after,
  #m3-chat-btn::before,
  .m3-chat-online-dot,
  .m3-typing-dot {
    animation: none !important;
  }

  /* Render continuo: evita que las secciones aparezcan de golpe al acercarse. */
  .nrm-section,
  .m3-si,
  .m3-cta-final {
    content-visibility: visible;
    contain-intrinsic-size: none;
  }
}

/* Carga visual continua. Se muestran inmediatamente los bloques editoriales;
   conservamos las microinteracciones hover, pero no los reveals escalonados. */
.ings-card,
.iigs-card,.iigs-card-7,.iigs-photo-wrap,
.dsvs-card,.dpq-card,
.cal-stat,.ma-stat,.enei-stat,.segi-stat,.govi-stat,.idii-stat,
.cn-card,.man-card,.enen-card,.segn-card,.govn-card,.idin-card,
.calp-step,.map-step,.enep-step,.segp-step,.govp-step,.idip-step,
.ingm-step,.ips-metric,.iis-item,.ats-stat,
.atct-tool,.atct-bottom-card,.atl-group,
.cal-cta-left,.mac-left,.enec-left,.segc-left,.govc-left,.idic-left,
.ingcta-left,.iicta-left,.dcta-left,.fpcta-left,.aac-left {
  opacity:1!important;
}

.ings-card:not(:hover),
.iigs-card:not(:hover),.iigs-card-7:not(:hover),.iigs-photo-wrap,
.dsvs-card:not(:hover),.dpq-card:not(:hover),
.cal-stat:not(:hover),.ma-stat:not(:hover),.enei-stat:not(:hover),.segi-stat:not(:hover),.govi-stat:not(:hover),.idii-stat:not(:hover),
.cn-card:not(:hover),.man-card:not(:hover),.enen-card:not(:hover),.segn-card:not(:hover),.govn-card:not(:hover),.idin-card:not(:hover),
.calp-step,.map-step,.enep-step,.segp-step,.govp-step,.idip-step,
.ingm-step,.ips-metric,.iis-item,.ats-stat,
.atct-tool:not(:hover),.atct-bottom-card:not(:hover),.atl-group:not(:hover),
.cal-cta-left,.mac-left,.enec-left,.segc-left,.govc-left,.idic-left,
.ingcta-left,.iicta-left,.dcta-left,.fpcta-left,.aac-left {
  transform:none!important;
}

/* Respeto a usuario que prefiere movimiento reducido - best practice accesibilidad */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Eyebrows y tabs sin punto — v0.9.127 */
[class*="eyebrow-dot"],[class*="-ey-dot"],[class*="-tab-dot"]{display:none!important;}

/* ══════════════════════════════════════════════════════════════
   CONTENEDOR FULL WIDTH · v0.9.139
   Hasta 1299px: comportamiento de siempre (1280px + gutters).
   Desde 1300px: el contenido pasa a ancho completo y lo que
   respira son los márgenes laterales, que crecen con la pantalla
   (4,6vw, de 48px a 150px). Tope duro en 2700px para que en
   ultrawide 32:9 no se estire hasta lo absurdo.
   ▸ Para regular el aire lateral toca SOLO --m3-pad-x aquí abajo.
   ══════════════════════════════════════════════════════════════ */
:root{ --m3-content:1280px; }

@media (min-width:1300px){
  :root{
    --m3-content:   100%;
    --m3-container: 100%;
    --m3-pad-x:     clamp(48px, 4.6vw, 150px);
  }
}
@media (min-width:2700px){
  :root{
    --m3-content:   2700px;
    --m3-container: 2700px;
  }
}

/* ══════════════════════════════════════════════════════════════
   MOTION SYSTEM · v0.9.172
   Apariciones editoriales y profundidad muy contenida. El sistema
   solo se activa cuando JavaScript añade las clases, de modo que el
   contenido nunca queda oculto si el script no carga.
   ══════════════════════════════════════════════════════════════ */
@media(prefers-reduced-motion:no-preference){
  .m3-motion-block{
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:
      opacity .68s cubic-bezier(.22,1,.36,1),
      transform .78s cubic-bezier(.22,1,.36,1);
    transition-delay:var(--m3-motion-delay,0ms);
    will-change:opacity,transform;
  }
  .m3-motion-block.m3-motion-in{
    opacity:1;
    transform:none;
    will-change:auto;
  }

  .m3-motion-item{
    opacity:0;
    transform:translate3d(0,14px,0);
    transition:
      opacity .58s cubic-bezier(.22,1,.36,1),
      transform .68s cubic-bezier(.22,1,.36,1);
    transition-delay:var(--m3-motion-delay,0ms);
    will-change:opacity,transform;
  }
  .m3-motion-item.m3-motion-in{
    opacity:1;
    transform:none;
    will-change:auto;
  }

  /* La escala crea margen de seguridad para que el desplazamiento del
     fondo nunca enseñe los bordes de la imagen. */
  .m3-depth-layer{
    transform:translate3d(0,var(--m3-depth-y,0px),0) scale(1.035);
    transform-origin:center;
    will-change:transform;
  }

  /* Evita la transición inversa visible durante el único frame en el que
     JavaScript prepara los estados iniciales. */
  html:not(.m3-motion-ready) .m3-motion-block,
  html:not(.m3-motion-ready) .m3-motion-item{
    transition:none;
  }
}

@media(max-width:700px) and (prefers-reduced-motion:no-preference){
  .m3-motion-block{
    transform:translate3d(0,12px,0);
    transition-duration:.58s,.66s;
  }
  .m3-motion-item{
    transform:translate3d(0,10px,0);
    transition-duration:.5s,.58s;
  }
}

@media(prefers-reduced-motion:reduce){
  .m3-motion-block,
  .m3-motion-item,
  .m3-depth-layer{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* Altura compartida de los heroes fotográficos principales. */
:root{
  --m3-hero-header-offset:34px;
  --m3-hero-device-height:min(860px,calc(100svh - var(--m3-hero-header-offset)));
}
@supports (height:100dvh){
  :root{
    --m3-hero-device-height:min(860px,calc(100dvh - var(--m3-hero-header-offset)));
  }
}
