* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  background: #d9bf8f url("../images/bg.png") center top / cover no-repeat;
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
}

.page {
  width: 100%;
  min-height: 100vh;
  padding: 60px 20px 100px 20px;
}

.container {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  text-align: center;
}

.logo {
  width: 200px;
  margin: 0 auto 80px auto;
}

.links {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.card {
  position: relative;
  display: block;
  isolation: isolate;
  transition: transform 0.25s ease;
}

.card-image {
  width: 100%;
  border-radius: 50px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
  transition: box-shadow 0.25s ease;
}

.float-icon {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  transition: transform 0.25s ease;
}

/* Desktop */
.icon-cobre-1 {
  width: 80px;
  top: -20px;
  right: -40px;
}

.icon-cobre-2 {
  width: 80px;
  top: -20px;
  left: -40px;
}

.icon-cobre-3 {
  width: 120px;
  top: -30px;
  right: -60px;
}

/* Hover */
.card:hover {
  transform: translateY(-6px) scale(1.02);
}

.card:hover .card-image {
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.25);
}

.card:hover .icon-cobre-1,
.card:hover .icon-cobre-2,
.card:hover .icon-cobre-3 {
  transform: scale(1.06) rotate(3deg);
}

/* brilho */
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 40px;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.12), transparent);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.card:hover::after {
  opacity: 1;
}

/* Responsivo */
@media (max-width: 520px) {
  .page {
    padding: 70px 28px;
  }

  .container {
    max-width: 300px;
  }

  .logo {
    width: 200px;
    margin-bottom: 50px;
  }

  .links {
    gap: 26px;
  }

  .card-image {
    border-radius: 24px;
  }

  .card::after {
    border-radius: 24px;
  }

  .icon-cobre-1,
  .icon-cobre-2 {
    width: 60px;
    top: -12px;
  }

  .icon-cobre-1 {
    right: -30px;
  }

  .icon-cobre-2 {
    left: -34px;
  }

  .icon-cobre-3 {
    width: 88px;
    top: -18px;
    right: -30px;
  }
}

@media (max-width: 390px) {
  .page {
    padding: 60px 26px;
  }

  .container {
    max-width: 280px;
  }

  .logo {
    width: 150px;
    margin-bottom: 38px;
  }

  .links {
    gap: 22px;
  }

  .card-image {
    border-radius: 20px;
  }

  .card::after {
    border-radius: 20px;
  }

  .icon-cobre-1,
  .icon-cobre-2 {
    width: 50px;
    top: -10px;
  }

  .icon-cobre-1 {
    right: -25px;
  }

  .icon-cobre-2 {
    left: -29px;
  }

  .icon-cobre-3 {
    width: 74px;
    top: -14px;
    right: -25px;
  }
}

@media (max-width: 340px) {
  .page {
    padding: 56px 22px;
  }

  .container {
    max-width: 250px;
  }

  .card-image {
    border-radius: 18px;
  }

  .card::after {
    border-radius: 18px;
  }

  .icon-cobre-1,
  .icon-cobre-2 {
    width: 44px;
    top: -8px;
  }

  .icon-cobre-1 {
    right: -20px;
  }

  .icon-cobre-2 {
    left: -24px;
  }

  .icon-cobre-3 {
    width: 66px;
    top: -12px;
    right: -20px;
  }
}