/* ================= RESET ================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Arial, sans-serif;

  background:
    linear-gradient(rgba(10,10,10,0.88), rgba(10,10,10,0.94)),
    url('https://i.imgur.com/e3R7ugX.jpeg') center/cover fixed;

  color:white;

  min-height:100vh;

  overflow-x:hidden;
}

/* ================= GLOBAL ================= */

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
  color:white;
}

button{
  font-family:inherit;
}

/* ================= NAV ================= */

nav{
  position:sticky;
  top:0;
  z-index:1000;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:22px 8%;

  background:
    linear-gradient(to bottom, rgba(0,0,0,0.75), transparent);

  backdrop-filter:none;
  border:none;
}

/* LOGO */

.logo{
  display:flex;
  align-items:center;
  z-index:2;
}

.logo img{
  width:135px;
  height:auto;
}

/* NAV LINKS */

.links{
  display:flex;
  align-items:center;
  gap:28px;
}

.links a{
  position:relative;

  font-size:13px;
  font-weight:600;

  letter-spacing:2px;
  text-transform:uppercase;

  transition:0.25s ease;
}

.links a::after{
  content:"";

  position:absolute;
  left:0;
  bottom:-6px;

  width:0%;
  height:1px;

  background:white;

  transition:0.25s ease;
}

.links a:hover::after{
  width:100%;
}

.links a:hover{
  color:#d1d1d1;
}

/* ================= HERO ================= */

.hero{
  min-height:92vh;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:40px 20px;

  text-align:center;
}

.hero-content{
  max-width:850px;
}

.hero h1{
  font-size:92px;
  font-weight:900;

  letter-spacing:6px;
  line-height:0.95;

  margin-bottom:24px;
}

.hero p{
  font-size:20px;
  color:#c7c7c7;

  line-height:1.7;

  max-width:700px;
  margin:0 auto 36px;
}

/* BUTTON */

.btn{
  padding:16px 42px;

  background:white;
  color:black;

  border:none;
  border-radius:12px;

  font-size:15px;
  font-weight:700;

  cursor:pointer;

  transition:0.3s ease;
}

.btn:hover{
  transform:translateY(-2px);
  background:#d8d8d8;
}

/* ================= ARCHIVE ================= */

.archive-header{
  text-align:center;
  margin-top:90px;
  padding:0 20px;
}

.archive-header h1{
  font-size:58px;
  letter-spacing:5px;
  margin-bottom:14px;
}

.archive-header p{
  color:#999;
  font-size:18px;
}

/* ================= BRAND GRID ================= */

.brand-grid{
  width:90%;
  max-width:1500px;

  margin:70px auto 110px;

  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

  gap:28px;
}

.brand-card{
  position:relative;

  height:460px;

  overflow:hidden;

  border-radius:18px;

  background:#111;

  transition:0.35s ease;
}

.brand-card:hover{
  transform:translateY(-6px);
}

.brand-card img{
  width:100%;
  height:100%;

  object-fit:cover;

  transition:0.45s ease;
}

.brand-card:hover img{
  transform:scale(1.06);
}

.brand-overlay{
  position:absolute;
  inset:0;

  background:
    linear-gradient(to top, rgba(0,0,0,0.9), transparent);

  display:flex;
  align-items:flex-end;

  padding:28px;
}

.brand-overlay h2{
  font-size:30px;
  letter-spacing:3px;
}

/* ================= PRODUCTS ================= */

.products{
  width:90%;
  max-width:1500px;

  margin:90px auto;

  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

  gap:30px;
}

.product{
  background:rgba(16,16,16,0.95);

  border:1px solid rgba(255,255,255,0.08);

  border-radius:18px;

  overflow:hidden;

  transition:0.35s ease;
}

.product:hover{
  transform:translateY(-6px);
  border-color:rgba(255,255,255,0.15);
}

.product img{
  width:100%;
  height:360px;

  object-fit:cover;
}

/* PRODUCT INFO */

.info{
  padding:22px;
}

.info h3{
  font-size:22px;
  margin-bottom:10px;
}

.info p{
  color:#a0a0a0;
  line-height:1.6;
}

/* PRODUCT BUTTON */

.product button{
  width:100%;

  margin-top:18px;

  padding:15px;

  border:none;
  border-radius:12px;

  background:white;
  color:black;

  font-size:15px;
  font-weight:700;

  cursor:pointer;

  transition:0.25s ease;
}

.product button:hover{
  background:#dadada;
}

/* ================= PRODUCT GALLERY ================= */

.product-gallery{
  display:grid;

  grid-template-columns:
    repeat(auto-fit, minmax(180px, 1fr));

  gap:12px;

  padding:12px;

  width:100%;
}

.product-gallery::-webkit-scrollbar{
  display:none;
}

.product-gallery img{
  width:100%;
  height:320px;

  object-fit:contain;

  border-radius:14px;

  flex-shrink:0;

  scroll-snap-align:start;

  background:#111;
}

/* ================= CONTACT ================= */

.contact-container{
  max-width:850px;

  margin:0 auto;

  padding:80px 20px;

  text-align:center;
}

.contact-container h1{
  font-size:58px;
  letter-spacing:5px;

  margin-bottom:20px;
}

.contact-subtext{
  color:#aaa;

  font-size:18px;
  line-height:1.7;

  margin-bottom:60px;
}

/* SOCIALS */

.social-links{
  display:flex;
  justify-content:center;
  align-items:center;

  flex-wrap:wrap;

  gap:55px;
}

.social-item{
  display:flex;
  flex-direction:column;
  align-items:center;

  transition:0.3s ease;
}

.social-item:hover{
  transform:translateY(-5px);
}

.social-item img{
  width:70px;
  height:70px;

  margin-bottom:14px;

  filter:invert(1);

  object-fit:contain;

  transition:0.25s ease;
}

.social-item:hover img{
  transform:scale(1.08);
}

.social-item span{
  font-size:15px;
  letter-spacing:1px;
}

/* ================= FOOTER ================= */

footer{
  margin-top:120px;

  padding:55px 20px;

  border-top:1px solid rgba(255,255,255,0.08);

  text-align:center;

  color:#777;
}

/* ================= MOBILE ================= */

@media(max-width:992px){

  .hero h1{
    font-size:68px;
  }

  .archive-header h1,
  .contact-container h1{
    font-size:46px;
  }

}

/* ================= TABLET ================= */

@media(max-width:768px){

  nav{
    padding:18px 5%;
  }

  .links{
    gap:18px;
  }

  .links a{
    font-size:11px;
  }

  .hero{
    min-height:85vh;
  }

  .hero h1{
    font-size:52px;
    letter-spacing:3px;
  }

  .hero p{
    font-size:16px;
  }

  .btn{
    width:100%;
    max-width:320px;
  }

  .products{
    grid-template-columns:repeat(2,1fr);
    gap:18px;
  }

  .product img{
    height:250px;
  }

  .brand-card{
    height:360px;
  }

  .archive-header h1,
  .contact-container h1{
    font-size:38px;
  }

}

/* ================= PHONES ================= */

@media(max-width:480px){

  nav{
    flex-direction:column;
    gap:18px;
  }

  .logo img{
    width:115px;
  }

  .links{
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
  }

  .hero h1{
    font-size:42px;
  }

  .hero p{
    font-size:15px;
  }

  .products{
    grid-template-columns:1fr;
  }

  .product img{
    height:340px;
  }

  .brand-grid{
    grid-template-columns:1fr;
  }

  .brand-card{
    height:420px;
  }

  .archive-header h1,
  .contact-container h1{
    font-size:32px;
  }

  .social-links{
    gap:30px;
  }

  .social-item img{
    width:58px;
    height:58px;
  }

}