* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Quicksand', sans-serif;
  color: #23373B;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  line-height: 1.65;
}
section[id] { scroll-margin-top: 64px; }
a { color: inherit; }

[data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
}
[data-reveal].rv-in { opacity: 1; transform: none; }

[data-anchor] { border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
[data-anchor].active { color: #278989; border-bottom-color: #48C0C0; }

.faq-answer { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.faq-item.open .faq-answer { max-height: 420px; }
.faq-plus { transition: transform .3s ease; }
.faq-item.open .faq-plus { transform: rotate(45deg); }

.nav-burger { display: none; }

.hover-teal:hover { background: #278989 !important; }
.hover-outline:hover { background: #48C0C0 !important; color: #fff !important; }
.hover-card:hover { border-color: #48C0C0 !important; box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important; }
.hover-pro:hover { background: #278989 !important; border-color: #278989 !important; }

@media (max-width: 860px) {
  .nav-center { display: none !important; }
  .nav-login { display: none !important; }
  .nav-burger { display: flex !important; }
}
