/* Base compartilhada pelos projetos conceito */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; -webkit-font-smoothing: antialiased; overflow-x: clip; line-height: 1.55; }
h1, h2, h3, h4, p, figure { margin: 0; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; }
canvas { display: block; }
.wrap { width: min(1180px, 100% - 44px); margin-inline: auto; }

/* Entrada ao rolar: [data-r] */
.js [data-r] {
  opacity: 0; transform: translateY(30px);
  transition: opacity .9s cubic-bezier(.2, .7, .2, 1) var(--d, 0s), transform .9s cubic-bezier(.2, .7, .2, 1) var(--d, 0s);
}
.js [data-r].in { opacity: 1; transform: none; }

/* Inclinação 3D: [data-tilt] */
[data-tilt] { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .25s ease-out; will-change: transform; }

/* Selo "projeto conceito" */
.av-badge {
  position: fixed; left: 14px; bottom: 14px; z-index: 999;
  display: inline-flex; align-items: center; gap: 8px;
  font: 600 11px/1 system-ui, sans-serif; letter-spacing: .04em;
  color: #fff; background: rgba(12, 12, 14, .78); border: 1px solid rgba(255, 255, 255, .18);
  padding: 8px 12px 8px 8px; border-radius: 999px; pointer-events: none;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.av-badge b { background: #c8ff3d; color: #10140a; border-radius: 999px; padding: 4px 7px; font-weight: 800; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js [data-r] { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after { animation-duration: .001s !important; animation-iteration-count: 1 !important; }
}
