@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* Reset & Base Styles */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-white);
  color: var(--color-dark);
  line-height: 1.6;
  font-weight: 400;
  overflow-x: hidden;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-dark);
}

a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition-smooth);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Selection */
::selection {
  background-color: var(--color-primary);
  color: var(--color-white);
}

/* Scrollbar Customization */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-white);
}

::-webkit-scrollbar-thumb {
  background: #D1D1D6;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-muted);
}

/* Animation Base Classes */
.reveal {
  opacity: 0;
  will-change: transform, opacity;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.fade-up {
  transform: translateY(40px);
}

.reveal.fade-left {
  transform: translateX(-40px);
}

.reveal.fade-right {
  transform: translateX(40px);
}

.reveal.zoom {
  transform: scale(0.96);
}

/* Activated Animation State */
.reveal.reveal-active {
  opacity: 1;
  transform: translate(0) scale(1);
}

/* Animation Delays */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }

/* Telefone institucional visível e clicável */
.company-phone{display:grid;gap:2px;padding:7px 15px 7px 39px;position:relative;border:1px solid rgba(127,127,127,.28);border-radius:999px;color:inherit;line-height:1.1;white-space:nowrap;transition:border-color .2s ease,background .2s ease}
.company-phone::before{content:'';position:absolute;left:15px;top:50%;width:10px;height:10px;border-radius:50%;background:#25d366;box-shadow:0 0 0 4px rgba(37,211,102,.12);transform:translateY(-50%)}
.company-phone span{color:#777;font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.company-phone strong{font-size:.82rem;font-weight:780;letter-spacing:-.01em}
.company-phone:hover{border-color:rgba(37,211,102,.55);background:rgba(37,211,102,.06)}.company-phone:hover strong,.footer-phone:hover{color:var(--color-primary)}
.footer-contact{display:grid;gap:6px}.footer-contact p{margin:0}.footer-phone{width:max-content;white-space:nowrap;color:inherit;font-size:.82rem;font-weight:750}.footer-phone::before{content:'';display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#25d366;vertical-align:1px}
@media(max-width:900px){.company-phone{display:none}}
