/* Interações nativas. Sem dependências externas. */
html { scroll-behavior: smooth; }
body { overflow-x: clip; }
[hidden] { display: none !important; }
img { max-width: 100%; }
[data-desktop-nav] { flex-shrink: 0; }
[data-reveal] { opacity: 1; }
[data-product-tilt] { will-change: transform; }
[data-contours] { pointer-events: none; width: 100%; height: 100%; }
[data-scanner] { top: 40%; }
[data-journey-rail] > :first-child { transform: scaleY(0); transform-origin: top; }
.contract-link { display: inline-flex; margin-top: 1.2rem; border-bottom: 1px solid currentColor; padding-bottom: .45rem; font-size: .875rem; color: var(--accent); }
.mobile-navigation { position: absolute; z-index: 50; top: 100%; left: 0; right: 0; padding: 1.5rem; border: 1px solid var(--border-muted); background: var(--background); box-shadow: 0 16px 50px #102f4526; }
.mobile-navigation-link { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--border-muted); font-size: 1rem; }
.mobile-navigation-contact { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem; margin-top: 1.4rem; background: var(--whatsapp); font-size: .875rem; }
.mobile-navigation svg { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.experience-dialog { width: min(72rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; overscroll-behavior: contain; margin: auto; padding: 0; border: 1px solid var(--border-muted); background: var(--background); color: var(--foreground); }
.experience-dialog::backdrop { background: #090a0be6; backdrop-filter: blur(8px); }
.dialog-header { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; background: var(--background); border-bottom: 1px solid var(--border-muted); }
#detail-eyebrow { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--copy-muted); }
.dialog-header button { display: flex; align-items: center; gap: .8rem; min-height: 2.75rem; padding: .25rem .5rem; font-size: .875rem; }
.dialog-header button span { font-size: 1.75rem; }
.dialog-content { padding: clamp(1.5rem,4vw,3rem); }
.dialog-content h2 { max-width: 18ch; margin-bottom: 1.5rem; font-family: Oswald, sans-serif; font-weight: 500; font-size: clamp(2rem,4vw,3.5rem); line-height: 1.15; text-transform: uppercase; }
.dialog-content p { max-width: 70ch; font-size: 1rem; line-height: 1.75; margin-bottom: 1rem; }
.dialog-content ul { list-style: disc; padding-left: 1.25rem; margin: 1.5rem 0; line-height: 1.8; }
.dialog-content img { display: block; max-height: 32rem; width: 100%; object-fit: contain; margin-top: 1.5rem; }
.dialog-content video { display: block; width: 100%; max-height: 65dvh; background: #090a0b; margin-top: 1.5rem; }
.dialog-watch { display: inline-flex; align-items: center; gap: 1rem; padding: 1rem 1.4rem; margin-top: 1rem; background: var(--surface-commercial); color: white; }
[data-chapter] { border-color: var(--border-muted) !important; }
[data-chapter].chapter-active { border-color: var(--accent-ink) !important; background: #02d2e314; }
@media (min-width:1280px) { .mobile-navigation { display: none !important; } }
@media (max-width:639px) { .dialog-header { padding: .8rem 1rem; } .dialog-content { padding: 1.25rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
@media print { header,button,video,canvas,.experience-dialog { display:none !important; } body,section,footer { background:#fff !important; color:#111 !important; } }
