*, *::before, *::after { box-sizing: border-box; }

.ent-page {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #1d1d1f;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.ent-page a { text-decoration: none; }

.ent-mega-panel {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  pointer-events: none;
  transition: max-height 0.28s cubic-bezier(.22,1,.36,1), opacity 0.22s ease;
  box-shadow: 0 0 0 rgba(0,0,0,0);
}
.ent-mega-panel[data-open="true"] {
  max-height: 480px;
  opacity: 1;
  pointer-events: auto;
  box-shadow: 0 30px 50px -30px rgba(0,0,0,.22);
}

.ent-fcard {
  height: 100%;
  background: linear-gradient(#fff,#fff) padding-box, linear-gradient(135deg,#ededf2,#ededf2) border-box;
  border: 1.5px solid transparent;
  border-radius: 18px;
  padding: 30px 28px;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, background .3s ease;
  cursor: default;
}
.ent-fcard:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 18px 40px -12px rgba(79,70,229,.22);
  background: linear-gradient(#fff,#fff) padding-box, linear-gradient(135deg,#4f46e5,#7c3aed,#06b6d4) border-box;
}

.ent-fcard-wrap {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .6s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1);
}
.ent-fcard-wrap.revealed {
  opacity: 1;
  transform: translateY(0);
}

.ent-integ:hover { background: #eeeef0; }

.ent-nav-item { opacity: 0.85; transition: opacity .2s; }
.ent-nav-item:hover, .ent-nav-item.active { opacity: 1; }
