/* print.css — papel, sin motion ni navegación.
   Excepción documentada a la regla "solo tokens": en papel impreso se fuerzan #000/#fff/#333/#555/#999
   (tinta negra sobre blanco, sin fondos) porque los tokens de pantalla (ink-950, paper, cian) no aplican
   a la impresión y gastarían tóner. No se introducen colores de marca nuevos. */
@page { margin: 1.6cm; }
html, body { background: #fff !important; color: #000 !important; }
.loader, .site-header, .skip-link, .nav-toggle, .filtros, .btn, .hero__iso-glow, .hero__luz, .servicio__capas, .etapa__capa, .plate { display: none !important; }
.section, .site-footer { background: transparent !important; color: #000 !important; padding-block: 1.2cm !important; break-inside: avoid; }
.section--hero { min-height: auto !important; }
[data-reveal], [data-stagger-item], [data-stack-item], .hero__iso, .line__inner { opacity: 1 !important; transform: none !important; }
.marquee { flex-wrap: wrap; mask-image: none !important; -webkit-mask-image: none !important; }
.marquee__track { animation: none !important; flex-wrap: wrap; min-width: 0; }
.marquee__track--clone { display: none !important; }
.logo--text, .cifra__etiqueta, .hito__texto, .proyecto__tipo, .servicio__desc, .directivo__bio, .etapa__desc, .lead, .eyebrow, .dato dt, .site-footer__legal { color: #333 !important; }
.cifra__valor, .hito__anio { color: #000 !important; }
.servicio, .proyecto, .directivo, .protagonistas__item { background: transparent !important; border: 1px solid #999 !important; break-inside: avoid; }
.servicio__titulo, .proyecto__cliente, .directivo__nombre, .caso__titulo, .etapa__titulo { color: #000 !important; }
a { color: #000 !important; text-decoration: underline; }
a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: #555; }
a[href^="#"]::after, a[href^="tel:"]::after, a[href^="mailto:"]::after { content: none; }
