:root {
  --cream: #fef4e8;
  --ink: #050505;
  --muted: rgba(5, 5, 5, 0.62);
  --hairline: rgba(5, 5, 5, 0.34);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
}

body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,0.28), transparent 34rem),
    var(--cream);
  color: var(--ink);
  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Helvetica,
    Arial,
    sans-serif;
  text-align: center;
}

.page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(32px, 6vw, 72px) 20px;
}

.card {
  width: min(100%, 900px);
}

.logo {
  display: block;
  width: min(74vw, 575px);
  height: auto;
  margin: 0 auto clamp(54px, 8vw, 78px);
}

.info-block {
  margin: 0 auto clamp(42px, 6vw, 58px);
}

.icon {
  width: 38px;
  height: 38px;
  margin-bottom: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

h1 {
  margin: 0 0 22px;
  font-size: 0.95rem;
  font-weight: 750;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

p {
  margin: 0;
  font-size: clamp(1.08rem, 1.35vw, 1.28rem);
  line-height: 1.62;
  letter-spacing: 0.035em;
}

.info-block p + p {
  margin-top: 18px;
}

.rule {
  width: 42px;
  height: 1px;
  margin: 20px auto;
  background: var(--hairline);
}

.plain-link {
  color: inherit;
  text-decoration: none;
}

.plain-link:hover {
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 5vw, 56px);
  margin-top: clamp(50px, 7vw, 70px);
}

.social a {
  color: inherit;
  text-decoration: none;
  display: grid;
  justify-items: center;
  gap: 12px;
  min-width: 130px;
  transition: opacity 160ms ease, transform 160ms ease;
}

.social a:hover {
  opacity: 0.7;
  transform: translateY(-1px);
}

.social svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.social a:nth-of-type(2) svg {
  fill: currentColor;
  stroke: none;
}

.social span {
  font-size: clamp(1rem, 1.25vw, 1.14rem);
  letter-spacing: 0.04em;
}

.social-divider {
  width: 1px;
  height: 76px;
  background: var(--hairline);
}

@media (max-width: 640px) {
  .page {
    align-items: start;
    padding-top: 56px;
  }

  .logo {
    width: min(88vw, 460px);
    margin-bottom: 48px;
  }

  .icon {
    width: 34px;
    height: 34px;
  }

  .social {
    gap: 22px;
  }

  .social a {
    min-width: 112px;
  }

  .social svg {
    width: 36px;
    height: 36px;
  }

  .social-divider {
    height: 64px;
  }
}

@media (max-width: 430px) {
  p {
    font-size: 1rem;
  }

  .social {
    gap: 16px;
  }

  .social a {
    min-width: 96px;
  }

  .social span {
    font-size: 0.92rem;
  }
}
