:root{
  --red:#7b1113;
  --dark:#050505;
  --white:#f5f1ea;
  --gray:#9d9d9d;
}

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

html{
  scroll-behavior:smooth;
}

body{
  background:var(--dark);
  color:var(--white);
  font-family:'Inter', sans-serif;
  overflow-x:hidden;
}

/* GRAIN */

.grain{
  position:fixed;
  inset:0;

  pointer-events:none;

  opacity:.06;

  z-index:9999;

  background-image:
  url("https://grainy-gradients.vercel.app/noise.svg");
}

/* NAVBAR */

.navbar{
  position:fixed;

  top:0;
  width:100%;

  z-index:1000;

  display:flex;
  justify-content:space-between;
  align-items:center;

  padding:25px 7%;

  backdrop-filter:blur(12px);

  background:
  linear-gradient(
    to bottom,
    rgba(0,0,0,.45),
    transparent
  );
}

.logo{
  color:white;
  text-decoration:none;

  font-family:'Anton', sans-serif;

  font-size:2rem;
  letter-spacing:2px;
}

nav{
  display:flex;
  gap:30px;
}

nav a{
  color:white;
  text-decoration:none;

  font-size:.95rem;

  transition:.3s;
}

nav a:hover{
  color:var(--red);
}

/* HERO */

.submit-hero{
  position:relative;

  min-height:100vh;

  display:flex;
  align-items:center;
  justify-content:center;

  overflow:hidden;

  text-align:center;

  filter:grayscale(.15);

  background:
  linear-gradient(
    rgba(0,0,0,.45),
    rgba(0,0,0,.92)
  ),

  url("https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?q=80&w=1974&auto=format&fit=crop");

  background-size:cover;
  background-position:center;
}

.submit-overlay{
  position:absolute;
  inset:0;

  background:
  radial-gradient(
    circle at center,
    rgba(120,20,20,.08),
    rgba(20,20,20,.92)
  );

  mix-blend-mode:screen;
}

.submit-content{
  position:relative;
  z-index:5;

  width:90%;
  max-width:1000px;
}

.mini-title{
  font-size:.9rem;

  letter-spacing:4px;

  margin-bottom:25px;

  opacity:.9;
}

.submit-hero h1{
  font-family:'Anton', sans-serif;

  font-size:clamp(5rem,15vw,12rem);

  line-height:.9;

  letter-spacing:5px;
}

.submit-description{
  max-width:700px;

  margin:30px auto;

  line-height:1.8;

  color:#d6d6d6;

  font-size:1.05rem;
}

/* WAVES */

.waves{
  position:absolute;

  width:240px;
  height:240px;

  opacity:.18;
}

.waves::before{
  content:"";

  position:absolute;
  inset:0;

  background:
  repeating-radial-gradient(
    circle at left,
    transparent 0 12px,
    white 13px 14px
  );

  transform:rotate(90deg);
}

.waves-left{
  left:-70px;
  top:120px;
}

.waves-right{
  right:-70px;
  bottom:120px;
}

/* FLOATING X */

.floating-x{
  position:absolute;

  top:120px;
  right:120px;

  width:80px;
  height:80px;

  opacity:.08;
}

.floating-x::before,
.floating-x::after{
  content:"";

  position:absolute;
  inset:0;

  background:white;
}

.floating-x::before{
  transform:rotate(45deg);
}

.floating-x::after{
  transform:rotate(-45deg);
}

/* GENERAL SECTIONS */

section{
  padding:120px 7%;
}

.section-tag{
  color:var(--red);

  font-weight:700;

  letter-spacing:3px;

  margin-bottom:20px;
}

.submit-options h2,
.requirements h2,
.cta h2{
  font-size:clamp(2rem,5vw,5rem);

  line-height:1.1;

  margin-bottom:50px;
}

/* OPTIONS */

.options-grid{
  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(320px,1fr));

  gap:30px;
}

.submit-card{
  padding:45px;

  border:1px solid rgba(255,255,255,.07);

  background:
  linear-gradient(
    145deg,
    rgba(255,255,255,.025),
    rgba(255,255,255,.01)
  );

  backdrop-filter:blur(12px);

  transition:.4s;
}

.submit-card:hover{
  transform:translateY(-10px);

  border-color:
  rgba(123,17,19,.45);
}

.card-number{
  color:var(--red);

  font-size:1.5rem;
  font-weight:800;
}

.submit-card h3{
  margin-top:20px;

  font-size:2rem;
}

.submit-card p{
  margin-top:20px;

  line-height:1.8;

  color:#c8c8c8;
}

/* BUTTONS */

.submit-btn{
  display:inline-block;

  margin-top:35px;

  padding:18px 28px;

  text-decoration:none;

  font-weight:800;

  letter-spacing:1px;

  transition:.3s;

  background:var(--white);
  color:black;
}

.submit-btn:hover{
  background:var(--red);
  color:white;
}

.secondary{
  background:transparent;

  border:1px solid rgba(255,255,255,.15);

  color:white;
}

/* REQUIREMENTS */

.requirements{
  background:#0a0a0a;
}

.requirements-list{
  display:flex;
  flex-direction:column;
  gap:30px;
}

.requirement-block{
  padding:45px;

  border:1px solid rgba(255,255,255,.07);

  background:
  linear-gradient(
    145deg,
    rgba(255,255,255,.02),
    rgba(255,255,255,.005)
  );

  transition:.4s;
}

.requirement-block:hover{
  transform:translateY(-4px);

  border-color:
  rgba(123,17,19,.35);
}

.requirement-number{
  color:var(--red);

  font-size:1.2rem;
  font-weight:800;

  letter-spacing:2px;
}

.requirement-block h3{
  margin-top:18px;

  font-size:2rem;

  font-family:'Anton', sans-serif;

  letter-spacing:1px;
}

.requirement-block ul{
  margin-top:25px;

  display:flex;
  flex-direction:column;
  gap:16px;

  list-style:none;
}

.requirement-block li{
  position:relative;

  padding-left:22px;

  color:#d0d0d0;

  line-height:1.7;
}

.requirement-block li::before{
  content:"—";

  position:absolute;

  left:0;

  color:var(--red);
}

.conditions{
  border-color:
  rgba(123,17,19,.25);

  background:
  linear-gradient(
    145deg,
    rgba(123,17,19,.06),
    rgba(255,255,255,.01)
  );
}

/* BASES */

.bases-box{
  padding:50px;

  border:1px solid rgba(255,255,255,.08);

  display:flex;
  justify-content:space-between;
  align-items:center;

  gap:30px;

  background:
  linear-gradient(
    145deg,
    rgba(255,255,255,.02),
    rgba(255,255,255,.01)
  );
}

.bases-mini{
  color:var(--red);

  letter-spacing:3px;

  margin-bottom:15px;
}

.bases-box h3{
  font-size:2rem;
}

.download-btn{
  padding:18px 28px;

  text-decoration:none;

  font-weight:800;

  background:var(--white);
  color:black;

  transition:.3s;
}

.download-btn:hover{
  background:var(--red);
  color:white;
}

/* CTA */

.cta{
  text-align:center;

  background:
  linear-gradient(
    180deg,
    #080808,
    #170909
  );
}

/* FOOTER */

footer{
  padding:80px 7%;

  border-top:
  1px solid rgba(255,255,255,.08);

  text-align:center;
}

.footer-logo{
  font-family:'Anton', sans-serif;

  font-size:4rem;

  letter-spacing:4px;
}

footer p{
  margin-top:10px;

  color:#ccc;
}

footer small{
  display:block;

  margin-top:20px;

  color:#666;
}

/* FOOTER SOCIALS */

.footer-socials{
  margin-top:35px;

  display:flex;
  justify-content:center;
  align-items:center;

  gap:30px;

  flex-wrap:wrap;
}

.footer-social{
  display:flex;
  align-items:center;
  gap:12px;

  color:#d6d6d6;

  text-decoration:none;

  transition:.3s;
}

.footer-social:hover{
  color:white;

  transform:translateY(-2px);
}

.footer-social i{
  font-size:1.2rem;
}

/* PARTNER */

.partner{
  margin-top:50px;
}

.partner-text{
  margin-bottom:20px;

  letter-spacing:3px;

  color:#777;
}

.partner-logo{
  width:280px;

  max-width:90%;

  opacity:.9;
}

/* RESPONSIVE */

@media(max-width:768px){

  .navbar{
    flex-direction:column;

    gap:20px;
  }

  nav{
    gap:15px;

    flex-wrap:wrap;

    justify-content:center;
  }

  .submit-hero h1{
    letter-spacing:2px;
  }

  .bases-box{
    flex-direction:column;

    align-items:flex-start;
  }

  .submit-card{
    padding:35px;
  }

  .requirement-block{
    padding:35px;
  }

  .footer-socials{
    flex-direction:column;
    gap:20px;
  }

}