:root {
  color-scheme: dark;
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  background: #050505;
  color: #f5f5f3;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  min-height: 100%;
  background: #050505;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.075), transparent 32rem),
    linear-gradient(145deg, #0d0d0e 0%, #030303 66%, #0a0a0b 100%);
}

body::before {
  position: fixed;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, 0.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.075) 1px, transparent 1px);
  background-position: center;
  background-size:
    1.5rem 1.5rem,
    1.5rem 1.5rem,
    7.5rem 7.5rem,
    7.5rem 7.5rem;
  mask-image: radial-gradient(ellipse at center, black 0%, rgba(0, 0, 0, 0.8) 62%, transparent 100%);
  content: "";
  pointer-events: none;
}

body::after {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.46) 76%, rgba(0, 0, 0, 0.8) 100%);
  content: "";
  pointer-events: none;
}

.landing {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: clamp(2.5rem, 7vw, 6.5rem) clamp(1.25rem, 5vw, 4rem);
}

.brand {
  display: flex;
  width: min(100%, 72rem);
  align-items: center;
  flex-direction: column;
  text-align: center;
}

.logo {
  display: block;
  width: min(100%, 60rem);
  height: auto;
  object-fit: contain;
}

.rule {
  width: min(10rem, 32vw);
  height: 1px;
  margin: clamp(1.5rem, 4vw, 2.5rem) 0 clamp(1.5rem, 3vw, 2.25rem);
  background: linear-gradient(90deg, transparent, #8e8e8a 18%, #8e8e8a 82%, transparent);
}

.summary {
  max-width: 48rem;
  margin: 0;
  color: #c6c6c2;
  font-size: clamp(1rem, 1.1vw + 0.72rem, 1.25rem);
  font-weight: 350;
  letter-spacing: 0.012em;
  line-height: 1.75;
}

.origin {
  margin: clamp(1.75rem, 4vw, 2.75rem) 0 0;
  color: #f3f3f0;
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.19em;
  line-height: 1.6;
  text-transform: uppercase;
}

.origin .separator {
  margin: 0 0.7em;
  color: #6f6f6b;
}

.made-in {
  white-space: nowrap;
}

.flag {
  display: inline-block;
  width: auto;
  height: 1em;
  margin-left: 0.55em;
  object-fit: contain;
  transform: translateY(0.12em);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 42rem) {
  .landing {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .logo {
    width: min(100%, 34rem);
  }

  .summary {
    max-width: 31rem;
    line-height: 1.65;
  }

  .origin {
    max-width: 20rem;
    font-size: 0.72rem;
    letter-spacing: 0.15em;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }
}
