/* Panorama Smart Lab: estilos comunes */
[hidden]{display:none !important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#F8FAFC}
img{max-width:100%}
button:disabled{opacity:.7;cursor:wait}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #74D12A;outline-offset:2px}
@keyframes psl-cookie-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.psl-cookie{animation:psl-cookie-in .4s ease both}
.psl-blogcard{transition:transform .25s ease,box-shadow .25s ease}
.psl-blogcard:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(11,25,48,.14)}
[id]{scroll-margin-top:110px}
/* Cinta de noticias (todas las páginas) */
@keyframes psl-pulse{0%,100%{box-shadow:0 0 0 0 rgba(116,209,42,.55)}70%{box-shadow:0 0 0 12px rgba(116,209,42,0)}}
@keyframes psl-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.psl-dot{animation:psl-pulse 2s infinite}
.psl-track{animation:psl-marquee 90s linear infinite}
.psl-ticker:hover .psl-track{animation-play-state:paused}
.psl-news{cursor:default}
@media (prefers-reduced-motion: reduce){.psl-track,.psl-dot{animation:none}html{scroll-behavior:auto}.psl-cookie,.psl-blogcard{animation:none;transition:none}}

/* Celular y tableta: las páginas usan estilos en línea, por eso se ajusta con !important */
@media (max-width: 760px){
  header{position:static !important}
  header nav{gap:10px 16px !important;font-size:15px !important}
  header img{height:48px !important}
  h1{font-size:36px !important;line-height:1.12 !important}
  h2{font-size:28px !important;line-height:1.15 !important}
  h3{font-size:22px !important}
  section > div[style*="max-width"]{padding-top:56px !important;padding-bottom:56px !important}
  section > div[style*="grid-template-columns"]{grid-template-columns:1fr !important}
  [style*="minmax(320px"]{grid-template-columns:1fr !important}
  [style*="minmax(300px"]{grid-template-columns:1fr !important}
  [style*="height: 460px"],[style*="height: 420px"]{height:280px !important}
  .psl-float{position:static !important;margin-top:12px}
  .psl-ticker{font-size:14px}
  .psl-ticker > div:last-child{display:none !important}
  .lg > div{padding:22px !important}
}
@media (max-width: 380px){
  h1{font-size:31px !important}
}
