/* Smooth scrolling & global scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Sections: smooth transitions */
section {
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

/* Scroll-triggered animations — no layout shift */
.scroll-fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.7s ease-out,
    transform 0.7s ease-out;
  will-change: opacity, transform;
}

.scroll-fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Eliminate gaps between sections */
section + section {
  margin-top: -1px;
}

@font-face {
  font-family: "Open Sauce Sans";
  src: url("../fonts/open-sauce.sans-semibold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sauce Sans Bold";
  src: url("../fonts/open-sauce.sans-bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TT Hoves";
  src: url("../fonts/TTHoves-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TT Hoves Bold";
  src: url("../fonts/TTHoves-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.font-open-sauce-semibold {
  font-family:
    "Open Sauce Sans",
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif;
  font-weight: 600;
}

.font-open-sauce-bold {
  font-family:
    "Open Sauce Sans Bold",
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif;
  font-weight: 700;
}

.font-tt-hoves {
  font-family:
    "TT Hoves",
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif;
  font-weight: 400;
}

.font-tt-hoves-bold {
  font-family:
    "TT Hoves Bold",
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif;
  font-weight: 700;
}
