h1, h2, h3, h4, h5, h6, p, a, label, span {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  margin: 0; }

h1 {
  font-weight: 700;
  font-size: clamp(2.5rem, 5vw, 3.5rem); }

h2 {
  font-weight: 600;
  font-size: clamp(2rem, 4vw, 2.75rem); }

h3 {
  font-weight: 500;
  font-size: clamp(1.5rem, 3vw, 2rem); }

h4 {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem); }

h5 {
  font-size: clamp(1rem, 2vw, 1.25rem); }

p {
  font-weight: 400;
  font-size: clamp(0.875rem, 1.5vw, 1rem);
  line-height: 1.5; }

.h1-size {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 700;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  line-height: 1.2; }

.h2-size {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 600;
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1.3; }

.h3-size {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.4; }

a {
  text-decoration: none;
  color: inherit; }

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

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  background: linear-gradient(90deg, #031320, #12293F);
  color: white;
  min-height: 100vh;
  overscroll-behavior: none; }

.main {
  display: grid;
  gap: 1rem;
  min-height: 100vh;
  padding: 0 1rem; }
  @media screen and (min-width: 1024px) {
    .main {
      grid-template-columns: [left-gutter] 1fr [content] minmax(0, 1024px) [right-gutter] 1fr;
      grid-template-rows: [content] 1fr [footer] 2rem; } }
  @media screen and (min-width: 768px) and (max-width: 1023px) {
    .main {
      grid-template-columns: [left-gutter] 1fr [content] minmax(0, 1024px) [right-gutter] 1fr;
      grid-template-rows: [content] 1fr [footer] 2rem; } }
  @media screen and (max-width: 767px) {
    .main {
      grid-template-columns: [content] 1fr;
      grid-template-rows: [content] 1fr [footer] 8rem; } }

.content {
  grid-column: content;
  grid-row: content;
  margin-top: clamp(1rem, 2vw, 2rem);
  max-width: 100%;
  overflow-wrap: break-word; }

@supports (-webkit-touch-callout: none) {
  .main {
    min-height: -webkit-fill-available; } }

@media (min-resolution: 2dppx) {
  html {
    font-size: 15px; } }
