/* The Scene — website-only responsive helpers (design tokens come from ../styles.css) */
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg-page); }

@keyframes tsRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .ts-rise { opacity: 0; transform: translateY(18px); animation: tsRise var(--dur-curtain) var(--ease-curtain) forwards; }
}
/* Reduced-motion / no-animation fallback: content must be visible */
@media (prefers-reduced-motion: reduce) {
  .ts-rise { opacity: 1 !important; transform: none !important; animation: none !important; }
}

/* Grids collapse on tablet/phone */
@media (max-width: 900px) {
  .ts-split { grid-template-columns: 1fr !important; gap: var(--space-10) !important; }
  .ts-footer-grid { grid-template-columns: 1fr 1fr !important; gap: var(--space-10) !important; }
  .ts-grid-3 { grid-template-columns: 1fr !important; }
  .ts-grid-2 { grid-template-columns: 1fr !important; }
}

/* Mobile nav: hide desktop links, show burger */
@media (max-width: 1040px) {
  .ts-nav { display: none !important; }
  .ts-burger { display: flex !important; }
}

/* Pillars / card grids */
.ts-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.ts-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); }
