html { scroll-behavior: smooth; scroll-padding-top: 0; } /* Custom scrollbar com cor roxa da paleta */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: var(--color-surface); } ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--color-brand-purple), var(--color-accent)); border-radius: var(--radius-full); border: 2px solid var(--color-surface); box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); } ::-webkit-scrollbar-thumb:hover { background: var(--color-accent); } body { font-family: var(--font-brand); margin: 0; background-color: var(--color-surface); color: var(--color-text-primary); opacity: 0; animation: pageLoad 0.6s var(--easing-enter) 0.1s forwards; line-height: var(--line-height-body); overflow-x: hidden; width: 100%; max-width: 100vw; } *, *::before, *::after { max-width: 100%; } .hero, .services, .footer { max-width: 100vw; overflow-x: hidden; } .services__container { max-width: 100%; width: 100%; } @keyframes pageLoad { to { opacity: 1; } } * { box-sizing: border-box; } :focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; } :focus:not(:focus-visible) { outline: none; } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } img { max-width: 100%; height: auto; display: block; } a { color: var(--color-text-secondary); text-decoration: none; transition: color var(--duration-normal) var(--easing-standard), text-shadow var(--duration-normal) var(--easing-standard); } a:hover { color: var(--color-text-primary); text-shadow: 0 0 14px rgba(79, 70, 229, 0.45); } .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-3); }