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

html {
  color-scheme: light;
  background: var(--bg);
}

body {
  margin: 0;
  color: var(--text);
  font: var(--type-body);
}

p,
h1,
h2 {
  margin: 0;
}

a {
  color: inherit;
  text-underline-offset: var(--space-1);
}

a:focus-visible,
[tabindex="-1"]:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

.skip-link {
  position: fixed;
  z-index: 2;
  top: var(--space-4);
  left: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--primary);
  color: var(--on-primary);
  transform: translateY(-200%);
}

.skip-link:focus {
  transform: none;
}

.landing {
  display: flex;
  flex-direction: column;
  min-height: max(760px, 100svh);
  overflow: clip;
  color: var(--text);
  background: linear-gradient(to bottom, var(--indigo-light), var(--indigo-deep));
}

.frame {
  width: min(1440px, 100%);
  margin-inline: auto;
  padding-inline: var(--space-9);
}

.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-6);
  padding-block: var(--space-7);
}

.wordmark {
  font: var(--type-wordmark);
  letter-spacing: var(--type-wordmark-tracking);
}

.site-address,
.eyebrow,
.site-footer {
  font: var(--type-label);
  letter-spacing: var(--type-label-tracking);
}

.site-address,
.eyebrow,
.site-footer {
  color: var(--text-secondary);
}

.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: var(--space-7);
  flex: 1;
  padding-block: var(--space-6) var(--space-8);
}

.hero-copy {
  padding-bottom: var(--space-6);
}

h1 {
  margin-top: var(--space-6);
  font: var(--type-display);
  letter-spacing: var(--type-display-tracking);
}

.introduction {
  margin-top: var(--space-5);
  color: var(--text-secondary);
  font: var(--type-body-lg);
}

.launch-note {
  max-width: 360px;
  margin-top: var(--space-8);
  padding-top: var(--space-5);
  border-top: 1px solid var(--line);
}

.launch-note h2 {
  font: var(--type-h3);
}

.launch-note p {
  margin-top: var(--space-2);
  color: var(--text-secondary);
  font: var(--type-small);
}

.architecture {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1.08;
  isolation: isolate;
}

.architecture-frame {
  position: absolute;
  border: 1px solid var(--line);
  border-bottom: 0;
  background: linear-gradient(to bottom, var(--brand), var(--surface));
}

.architecture-frame--outer {
  inset: 0 0 12%;
}

.architecture-frame--middle {
  inset: 8% 8% 12%;
}

.architecture-frame--inner {
  inset: 16% 16% 12%;
}

.opening {
  position: absolute;
  inset: 24% 24% 12%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-bottom: 0;
  background: var(--bg);
}

.sun {
  position: absolute;
  top: 28%;
  left: 50%;
  width: var(--space-8);
  aspect-ratio: 1;
  border-radius: var(--radius-pill);
  background: radial-gradient(circle at 30% 25%, var(--amber) 0%, var(--accent) 42%, var(--orange-edge) 100%);
  transform: translateX(-50%);
}

.horizon {
  position: absolute;
  inset: 60% 0 0;
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.foundation {
  position: absolute;
  height: 6%;
  border: 1px solid var(--line);
  background: var(--surface);
}

.foundation--back {
  inset: 88% -4% auto;
}

.foundation--front {
  inset: 94% -8% auto;
  background: var(--bg);
}

.site-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-5);
  padding-block: var(--space-6);
  position: relative;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0 var(--space-9) auto;
  height: 1px;
  background: var(--line);
}

.home-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--space-7);
  min-height: var(--space-7);
  margin-top: var(--space-6);
  padding: var(--space-3) var(--space-5);
  border: 1px solid var(--control-border);
  border-radius: var(--radius-md);
  background: var(--primary);
  color: var(--on-primary);
  font: var(--type-small);
}

@media (min-width: 1700px) {
  .hero {
    gap: var(--space-9);
  }
}

@media (max-width: 1100px) {
  .frame {
    padding-inline: var(--space-8);
  }

  .site-footer::before {
    inset-inline: var(--space-8);
  }

  .hero {
    gap: var(--space-6);
  }
}

@media (max-width: 800px) {
  .frame {
    padding-inline: var(--space-6);
  }

  .site-header {
    padding-block: var(--space-6);
  }

  .site-address {
    display: none;
  }

  .hero {
    grid-template-columns: 1fr;
    gap: var(--space-8);
    padding-block: var(--space-7) var(--space-8);
  }

  .hero-copy {
    padding-bottom: 0;
  }

  .launch-note {
    margin-top: var(--space-7);
  }

  .architecture {
    width: min(100%, 440px);
    margin-inline: auto;
    aspect-ratio: 1 / 1;
  }

  .site-footer::before {
    inset-inline: var(--space-6);
  }

  .footer-name {
    display: none;
  }
}

@media (max-width: 400px) {
  .frame {
    padding-inline: var(--space-5);
  }

  h1 {
    font: var(--type-h1);
  }

  .site-footer::before {
    inset-inline: var(--space-5);
  }
}

@media (forced-colors: active) {
  .architecture {
    display: none;
  }

  .hero {
    grid-template-columns: 1fr;
  }

  .launch-note,
  .site-footer {
    border-top: 1px solid CanvasText;
  }
}
