/* Type and elevation follow the Incetro homepage: Gilroy, gray canvas, glass shadow. */
@font-face {
  font-family: "Gilroy";
  src: url("../dashboard/fonts/Gilroy-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy";
  src: url("../dashboard/fonts/Gilroy-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy";
  src: url("../dashboard/fonts/Gilroy-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-family: "Gilroy", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --color-logo: #d6182a;
  --color-text: #030712;
  --color-text-muted: #6b7280;
  --color-bg-page: #f3f4f6;
  --font-display: clamp(2.5rem, 4.2vw, 4rem);
  --font-subhead: clamp(1.125rem, 1.6vw, 1.5rem);
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --space-gap: 1.5rem;
  --page-gutter: 10vw;
  color-scheme: light;
}

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

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  background: var(--color-bg-page);
  color: var(--color-text);
  font-family: var(--font-family);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  background: var(--color-logo);
  color: #fff;
}

.gate {
  min-height: 100dvh;
  display: flex;
  align-items: flex-start;
  padding:
    calc(3rem + env(safe-area-inset-top, 0px))
    calc(1.5rem + env(safe-area-inset-right, 0px))
    calc(3rem + env(safe-area-inset-bottom, 0px))
    calc(1.5rem + env(safe-area-inset-left, 0px));
}

.gate__sheet {
  width: min(100%, 72rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-gap);
}

.gate__emblem {
  display: block;
  width: 5rem;
  height: 5rem;
  background-color: var(--color-logo);
  -webkit-mask-image: url("flame.png");
  mask-image: url("flame.png");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.gate__emblem:focus-visible {
  outline: 2px solid var(--color-logo);
  outline-offset: 4px;
  border-radius: 1.25rem;
}

.gate__title {
  margin: 0;
  max-width: 18ch;
  font: var(--font-weight-semibold) var(--font-display) / 1.02 var(--font-family);
  letter-spacing: -0.03em;
  font-synthesis: none;
}

.gate__accent {
  color: var(--color-logo);
}

.gate__lead {
  margin: 0;
  max-width: 40rem;
  font: var(--font-weight-regular) var(--font-subhead) / 1.45 var(--font-family);
  color: var(--color-text-muted);
}

.gate__try {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: fit-content;
  padding: 1rem 1.75rem;
  border: 1px solid transparent;
  border-radius: 9999px;
  background: var(--color-logo);
  color: #fff;
  font: var(--font-weight-medium) 0.875rem / 1.25 "Gilroy", sans-serif;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, opacity 0.2s ease;
}

.gate__try-icon {
  display: block;
  flex: 0 0 auto;
  width: 1.125rem;
  height: 1.125rem;
}

.gate__try:hover {
  background: #ad1222;
}

.gate__try:focus-visible {
  outline: 2px solid var(--color-logo);
  outline-offset: 2px;
}

@media (max-width: 767px) {
  .gate {
    align-items: center;
    justify-content: center;
    padding-bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px));
    text-align: center;
  }

  .gate__sheet {
    align-items: center;
  }

  .gate__title,
  .gate__lead {
    text-align: center;
  }

  .gate__try {
    position: fixed;
    z-index: 2;
    left: 1.5rem;
    right: 1.5rem;
    bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
    min-height: 3.25rem;
  }
}

@media (hover: none) and (pointer: coarse) {
  .gate__try:hover {
    background: var(--color-logo);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gate__try {
    transition: none;
  }
}

@media (min-width: 768px) {
  .gate {
    padding:
      calc(6rem + env(safe-area-inset-top, 0px))
      calc(var(--page-gutter) + env(safe-area-inset-right, 0px))
      calc(4rem + env(safe-area-inset-bottom, 0px))
      calc(var(--page-gutter) + env(safe-area-inset-left, 0px));
  }

  .gate__emblem {
    width: 6rem;
    height: 6rem;
  }
}
