:root {
    --bg-primary:#000000;
    --bg-secondary:#0D0D0D;
    --bg-tertiary:#1A1A1A;

    --text-primary: #F2F2F2;
    --text-secondary: #B3B3B3;

    --action-primary: #FF6625;
    --action-secondary: #FF7720;
    --bg-tint: #0E0D0C;

    --success-primary: #23CE6B;
    --success-secondary: #168344;

    --border: #4D4D4D;
    --border-table: rgb(38, 38, 38);

    --weight-regular: 300;
    --weight-medium: 500;
    --weight-bold: 700;
    --weight-black: 900;

    --section-spacing: 10vh;
    --section-padding-vertical: 1rem;
    --section-padding-horizontal: 1rem;
}

body {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: var(--weight-regular);
    font-style: normal;
    font-size: 1rem;
    line-height: 1.2;
    color: var(--text-primary);

    background-color: var(--bg-secondary);

    margin: 0;
    padding: 0;

    overflow-x: hidden;
}

/* Responsive layout */

/* DESKTOP: */
@media (min-width: 1024px) {
    
}

/* TABLET: */
@media (max-width: 1023px) and (min-width: 768px) {

}

/* MOBILE: */
@media (max-width: 767px) {
    .cards {
        flex-direction: column !important;
        align-items: center !important;
    }

    .section-description {
        max-width: 75% !important;
    }
}

html {
    scroll-behavior: smooth;
}

section {
  scroll-margin-top: calc(7.5vh + 4rem);
}

a {
  text-decoration: none;
}

.gradient-text {
    background-image: linear-gradient(to bottom right, var(--action-primary), var(--action-secondary));
    color: transparent;
    background-clip: text;
}

.button-filled {
    padding: 0.5rem 1rem;

    background-image: linear-gradient(to bottom right, var(--action-primary), var(--action-secondary));
    color: transparent;

    color: var(--bg-secondary);
    font-weight: var(--weight-bold);

    box-shadow: 0px 2px 2px rgba(255, 255, 255, 0.07), 0px 4px 4px rgba(255, 255, 255, 0.15);
    
    border: none;
    border-radius: 8px;

    cursor: pointer;
}

.button-filled:hover {
    box-shadow: 0 0 40px 5px rgba(249, 118, 24, 0.15);
    background-image: linear-gradient(to bottom right, var(--action-secondary), var(--action-secondary));
}

.button-holo {
    padding: 0.5rem 1rem;

    background-color: transparent;

    font-weight: var(--weight-bold);
    
    border: 2px solid;
    border-color:  var(--action-primary);
    border-radius: 8px;
    

    cursor: pointer;
}

.button-holo:hover {
    box-shadow: 0 0 40px 5px rgba(249, 118, 24, 0.15);
}

.card {
    background-image: linear-gradient(to bottom, var(--bg-tertiary), rgba(19, 19, 19, 0));
    color: transparent;

    border: 0.5px solid;
    border-color: var(--border);
    border-radius: 6px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;

    padding: 1rem;
}

.card-title {
    color: var(--text-primary);
    font-weight: var(--weight-bold);

    text-align: center;

    margin: 0;
}

.card-text {
    color: var(--text-secondary);
    text-align: center;

    margin-top: 0.4rem;
}

.cards {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 1.5rem;
    flex-direction: row;

    padding: 1rem 0;
}

.glow {
    box-shadow: 0 0 40px 5px rgba(249, 118, 24, 0.2);
}

.section-title {
    font-size: 3rem;
    font-weight: var(--weight-bold);
    text-align: center;
    line-height: 1.1;

    margin: 0rem 1rem;
}

.section-subtitle {
    font-size: 2rem;
    font-weight: var(--weight-bold);
    text-align: center;
    line-height: 1.1;

    margin: 0rem 1rem;
}

.section-description {
    font-size: 1.25rem;
    color: var(--text-secondary);
    text-align: center;

    max-width: 50%;
}

.section-header {
    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;
}

.text-emphasize {
    font-weight: var(--weight-bold);
}

.text-input {
    height: 2.5rem;

    border: 1px solid;
    border-color: var(--bg-tertiary);
    border-radius: 4px;

    background-color: #000000;
    color: var(--text-primary);

    width: 35ch;
    padding-left: 1rem;
}

.spinner {
  border: 2px solid rgba(255, 255, 255, 0.3); /* background */
  border-top: 2px solid white; /* spinner color */
  border-radius: 50%;
  width: 16px;
  height: 16px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}