@font-face {
  font-family: "Geometrica Sans";
  src: url("Font/GeometricaSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  width: 100%;
  height: 100%;
  background: #000;
  color: #fff;
  font-family: "Geometrica Sans", sans-serif;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
}

.page {
  position: relative;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: #000;
}

/*
  Artboard: Figma frame 1920×1080 / 402×874.
  Center with left/top 50% + negative half-size margins.
  Scale with transform only (no translate) — avoids the bottom-right shift bug.
  artboard-scale.js keeps the scale in sync on resize.
*/
.artboard {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1920px;
  height: 1080px;
  margin-left: -960px;
  margin-top: -540px;
  transform: scale(min(100vw / 1920, 100vh / 1080));
  transform-origin: center center;
  pointer-events: none;
  z-index: 2;
}

.artboard a,
.artboard img,
.artboard button {
  pointer-events: auto;
}

/* Full-bleed layer inside artboard — same positioning context as resheniya .rz */
.artboard__layer {
  position: absolute;
  inset: 0;
  width: 1920px;
  height: 1080px;
}

.artboard__layer--mobile {
  width: 402px;
  height: 874px;
}

.artboard--mobile {
  display: none;
  width: 402px;
  height: 874px;
  margin-left: -201px;
  margin-top: -437px;
  transform: scale(min(100vw / 402, 100vh / 874));
}

.bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Desktop: video darkened 30% */
.bg-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}

.hero {
  position: absolute;
  left: 549px;
  top: 196px;
  width: 824px;
  height: 688px;
  z-index: 2;
  display: block;
  pointer-events: none;
}

.logo {
  display: block;
  width: 824px;
  height: 688px;
  user-select: none;
  pointer-events: auto;
  animation: fade-up 1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.nav {
  position: absolute;
  inset: 0;
  width: 1920px;
  height: 1080px;
  z-index: 3;
  pointer-events: none;
  overflow: visible;
}

/* Static mini-logo (desktop) — exact Figma coordinates 1805, 507 */
.nav__mark {
  position: absolute;
  left: 1805px;
  top: 507px;
  display: block;
  width: 69px;
  height: 58px;
  pointer-events: none;
  user-select: none;
  z-index: 2;
}

.nav--desktop .nav__mark {
  width: 69px;
  height: 58px;
}

.nav__ring {
  position: absolute;
  left: 1840px;
  top: 536px;
  width: 0;
  height: 0;
  z-index: 1;
}

.nav__link {
  --i: 0;

  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  color: #fff;
  text-decoration: none;
  font-weight: 400;
  line-height: normal;
  white-space: nowrap;
  pointer-events: auto;
}

.nav__label {
  display: block;
  translate: -50% -50%;
  transform: scale(var(--accent-scale, 1));
  transform-origin: center center;
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.2s ease;
  font-size: 24px;
}

.nav__link:hover .nav__label {
  opacity: 0.75;
}

.nav__link:focus-visible {
  outline: none;
}

.nav__link:focus-visible .nav__label,
.nav__link.is-accent .nav__label {
  --accent-scale: 1.5;
  opacity: 1;
  color: #b97332;
}

.nav--mobile {
  display: none;
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .bg-veil {
    background: rgba(0, 0, 0, 0.55);
  }

  .artboard--desktop {
    display: none;
  }

  .artboard--mobile {
    display: block;
  }

  .nav--desktop {
    display: none;
  }

  .nav--mobile {
    display: block;
    width: 402px;
    height: 874px;
  }

  .hero {
    left: 52px;
    top: 312px;
    width: 298px;
    height: 249px;
  }

  .logo {
    width: 298px;
    height: 249px;
  }

  .nav--mobile .nav__mark {
    left: 174px;
    top: 803px;
    width: 53px;
    height: 44px;
  }

  .nav--mobile .nav__ring {
    left: 200px;
    top: 825px;
  }

  .nav__label {
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .logo {
    animation: none;
  }

  .nav__label {
    transition: none;
  }
}
