@import url("https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

[x-cloak] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Fira Sans", sans-serif;
}

.nav-link {
  padding: 0.7rem 0;
  border-radius: 20px;
  position: relative;

  &::after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 3px;
    background: #2b2b2b;
    width: 100%;
    transform: scaleX(0);
    transition: transform 0.3s ease;
    transform-origin: center !important;

    left: 0;
  }

  &:hover {
    color: #333;

    &::after {
      transform: scaleX(1);
    }
  }
}

main section {
  padding: 4rem 0.7rem;
}

@media (min-width: 768px) {
  main section {
    padding: 8rem 1rem;
  }
}

/* --- Motion: hero background --- */
@media (prefers-reduced-motion: no-preference) {
  .hero-kenburns {
    animation: iccvbic-hero-kenburns 32s ease-in-out infinite alternate;
    transform: scale(1.06);
    transform-origin: center top;
    will-change: transform;
  }
}

@keyframes iccvbic-hero-kenburns {
  from {
    transform: scale(1.04);
  }
  to {
    transform: scale(1.14);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-kenburns {
    animation: none !important;
    transform: none !important;
  }
}

/* --- Motion: scroll reveal (main sections) --- */
@media (prefers-reduced-motion: no-preference) {
  main > section.reveal-section.reveal-pending {
    opacity: 0;
    transform: translate3d(0, 1.75rem, 0);
    will-change: opacity, transform;
  }

  main > section.reveal-section.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition:
      opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.78s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  main > section.reveal-section {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  main > section.reveal-section .section-reveal-inner > * {
    animation: none !important;
  }
}

@keyframes iccvbic-reveal-chunk-in {
  from {
    opacity: 0;
    transform: translate3d(0, 1.1rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Staggered content inside each main section (runs when section gets .is-revealed) */
@media (prefers-reduced-motion: no-preference) {
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > * {
    animation: iccvbic-reveal-chunk-in 0.68s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(1) {
    animation-delay: 0.04s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(2) {
    animation-delay: 0.1s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(3) {
    animation-delay: 0.16s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(4) {
    animation-delay: 0.22s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(5) {
    animation-delay: 0.28s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(6) {
    animation-delay: 0.34s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(7) {
    animation-delay: 0.4s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(8) {
    animation-delay: 0.46s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(9) {
    animation-delay: 0.52s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(10) {
    animation-delay: 0.58s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(11) {
    animation-delay: 0.64s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(12) {
    animation-delay: 0.7s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(13) {
    animation-delay: 0.76s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(14) {
    animation-delay: 0.82s;
  }
  main > section.reveal-section.is-revealed.reveal-chunk-animate .section-reveal-inner > *:nth-child(15) {
    animation-delay: 0.88s;
  }
}

/* --- Motion: desktop nav dropdown --- */
@media (prefers-reduced-motion: no-preference) {
  .nav-dropdown-panel {
    transform-origin: top right;
    animation: iccvbic-dropdown-in 0.22s ease both;
  }
}

@keyframes iccvbic-dropdown-in {
  from {
    opacity: 0;
    transform: translateY(-0.25rem) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nav-dropdown-panel {
    animation: none !important;
  }
}
