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

/* =========================
   Root Variables
========================= */
:root {
  --loomBlue: #0ea5e9;
  --loomDeep: #0369a1;
  --loomSoft: #eff8ff;
}

/* =========================
   Global Reset & Base
========================= */
* {
  box-sizing: border-box;
}

body {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial;
  margin: 0;
  color: #0f172a;
  background: white;
}

a {
  color: inherit;
  text-decoration: none;
}

/* =========================
   Utility Styles
========================= */
.bg-loom {
  background: linear-gradient(90deg, var(--loomDeep), var(--loomBlue));
}

.rounded-3xl {
  border-radius: 1rem;
}

.shadow-2xl {
  box-shadow: 0 25px 50px rgba(8, 15, 36, 0.08);
}

img {
  display: block;
  border-radius: 0.5rem;
}

/* =========================
   Animations
========================= */
.fade-up {
  opacity: 0;
  transform: translateY(12px);
  animation: fadeUp 0.8s ease forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: none;
  }
}

/* =========================
   Navigation – Active Page
========================= */
.nav-active {
  color: var(--loomDeep);
  font-weight: 600;
  border-bottom: 2px solid var(--loomDeep);
  padding-bottom: 2px;
}

/* Mobile menu active highlight */
details a.nav-active {
  background-color: var(--loomSoft);
  border-radius: 0.375rem;
}

/* =========================
   Responsive Fixes
========================= */
@media (max-width: 767px) {

  .md\:grid-cols-2 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .pt-28 {
    padding-top: 6rem;
  }
}
