/* Páginas de noticias y galerías de eventos (migradas desde el sitio anterior) */
.itc-art { background: #F9F9F9; padding: 190px 20px 96px; min-height: 70vh; }
.itc-art-wrap { max-width: 840px; margin: 0 auto; }
.itc-art-back { display: inline-block; font: 600 14px/1 Jost, sans-serif; color: #51677D; text-decoration: none; margin-bottom: 22px; }
.itc-art-back:hover { color: #FF6D00; }
.itc-art-eyebrow { display: inline-block; font: 600 12px/1 Jost, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #0F0E37; background: rgba(115, 221, 201, .35); border: 1px solid #73DDC9; padding: 8px 16px; border-radius: 50px; margin: 0 0 18px 12px; }
.itc-art h1 { font: 600 clamp(28px, 4.2vw, 46px)/1.15 Jost, sans-serif; color: #0F0E37; margin: 0 0 14px; letter-spacing: -.01em; }
.itc-art-meta { font: 500 14px/1.4 Montserrat, sans-serif; color: #51677D; opacity: .85; margin: 0 0 26px; }
.itc-art-hero { display: block; width: 100%; height: auto; border-radius: 20px; margin: 8px 0 34px; box-shadow: 0 18px 50px rgba(15, 14, 55, .12); }
.itc-art-body { font: 400 17px/1.8 Montserrat, sans-serif; color: #51677D; }
.itc-art-body p { margin: 0 0 1.15em; }
.itc-art-lead { font-size: 18px; margin-bottom: 28px !important; }
.itc-art-body h2, .itc-art-body h3 { font-family: Jost, sans-serif; font-weight: 600; color: #0F0E37; line-height: 1.25; margin: 1.8em 0 .6em; }
.itc-art-body h2 { font-size: 28px; }
.itc-art-body h3 { font-size: 22px; }
.itc-art-body strong { color: #0F0E37; font-weight: 600; }
.itc-art-body a { color: #FF6D00; text-decoration: underline; text-underline-offset: 3px; }
.itc-art-body a:hover { color: #0F0E37; }
.itc-art-body ul, .itc-art-body ol { margin: 0 0 1.3em; padding-left: 1.3em; }
.itc-art-body li { margin: .35em 0; }
.itc-art-body blockquote { margin: 1.6em 0; padding: 6px 0 6px 22px; border-left: 4px solid #73DDC9; color: #0F0E37; font-style: italic; }
.itc-art-body figure { margin: 1.8em 0; }
.itc-art-body figure img { display: block; max-width: 100%; height: auto; border-radius: 16px; }
.itc-art-body figure.itc-art-avatar img { width: 96px; height: 96px; object-fit: cover; border-radius: 50%; border: 2px solid #73DDC9; }
.itc-art-video { position: relative; aspect-ratio: 16 / 9; margin: 1.8em 0; border-radius: 16px; overflow: hidden; background: #0F0E37; }
.itc-art-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.itc-art-body a.itc-art-btn { display: inline-block; background: #FF6D00; color: #fff; text-decoration: none; font: 600 15px/1 Jost, sans-serif; padding: 14px 28px; border-radius: 50px; }
.itc-art-body a.itc-art-btn:hover { background: #0F0E37; color: #fff; }

/* Galería */
.itc-gal { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin-top: 8px; }
.itc-gal a { display: block; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: #e8ecf1; box-shadow: 0 4px 16px rgba(15, 14, 55, .08); transition: transform .2s, box-shadow .2s; }
.itc-gal a:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(15, 14, 55, .18); }
.itc-gal img { width: 100%; height: 100%; object-fit: cover; display: block; }
.itc-lb { position: fixed; inset: 0; z-index: 9999; background: rgba(7, 6, 37, .94); display: flex; align-items: center; justify-content: center; }
.itc-lb[hidden] { display: none; }
.itc-lb img { max-width: 92vw; max-height: 88vh; border-radius: 10px; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); }
.itc-lb button { position: absolute; background: rgba(255, 255, 255, .12); color: #fff; border: 0; cursor: pointer; font-size: 30px; line-height: 1; width: 48px; height: 48px; border-radius: 50%; }
.itc-lb button:hover { background: #FF6D00; }
.itc-lb-x { top: 18px; right: 18px; }
.itc-lb-p { left: 18px; top: 50%; transform: translateY(-50%); }
.itc-lb-n { right: 18px; top: 50%; transform: translateY(-50%); }
.itc-lb-c { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); color: #fff; font: 500 14px Montserrat, sans-serif; opacity: .8; }
@media (max-width: 640px) {
  .itc-art { padding: 150px 16px 64px; }
  .itc-art-body { font-size: 16px; }
  .itc-gal { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .itc-lb-p { left: 6px; } .itc-lb-n { right: 6px; }
}
