/* e-voque — shared base styles
   Design ported verbatim from the Claude Design prototype.
   Layout/visual details live in inline styles on the markup; this file holds
   the cross-cutting base rules, keyframes, and image-placeholder styling. */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a { color: inherit; }

/* Per-page selection accent */
body.page-home ::selection { background: #5FA3A0; color: #17120D; }
body.page-ie   ::selection { background: #E23B27; color: #14100B; }

/* Keyframes (union of both pages) */
@keyframes blink     { 0%, 48% { opacity: 1; } 49%, 100% { opacity: 0; } }
@keyframes kenburns  { from { transform: scale(1.04); } to { transform: scale(1.18); } }
@keyframes kbslow    { from { transform: scale(1.05); } to { transform: scale(1.14); } }
@keyframes kbwide    { from { transform: scale(1.04); } to { transform: scale(1.12); } }
@keyframes fadeUp    { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes scrollcue { 0% { transform: translateY(0); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(16px); opacity: 0; } }

/* Cover images fill their (aspect-ratio-constrained) wrappers */
.fill-img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Placeholder for images not yet supplied (mirrors the old <image-slot> look) */
.img-placeholder {
  display: flex; align-items: center; justify-content: center; text-align: center;
  width: 100%; height: 100%; padding: 16px;
  font-family: 'Work Sans', sans-serif; font-size: 13px; letter-spacing: .08em;
  color: rgba(237, 228, 211, .55);
  background: rgba(237, 228, 211, .045);
  box-shadow: inset 0 0 0 1px rgba(237, 228, 211, .2);
}
