:root {
  --ink: #3a2320;
  --line: rgba(58, 35, 32, 0.2);
  --panel: rgba(255, 246, 235, 0.82);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: var(--ink);
  padding: clamp(12px, 3vw, 28px);
  background:
    radial-gradient(circle at 14% 8%, rgba(255, 214, 168, 0.5) 0%, transparent 38%),
    radial-gradient(circle at 86% 80%, rgba(255, 183, 166, 0.42) 0%, transparent 36%),
    linear-gradient(180deg, #fff1df 0%, #ffe6cb 54%, #ffd7c0 100%);
  overflow-x: hidden;
}

.steam {
  position: fixed;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.steam span {
  position: absolute;
  bottom: -120px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0.06) 62%, transparent 70%);
  filter: blur(6px);
  animation: steamUp linear infinite;
}

.steam span:nth-child(1) { left: 12%; animation-duration: 14s; animation-delay: -4s; }
.steam span:nth-child(2) { left: 34%; animation-duration: 12s; animation-delay: -8s; width: 90px; height: 90px; }
.steam span:nth-child(3) { left: 58%; animation-duration: 16s; animation-delay: -6s; width: 150px; height: 150px; }
.steam span:nth-child(4) { left: 80%; animation-duration: 13s; animation-delay: -10s; width: 100px; height: 100px; }

@keyframes steamUp {
  0% { transform: translate3d(0, 0, 0) scale(0.7); opacity: 0; }
  20% { opacity: 0.45; }
  100% { transform: translate3d(24px, -118vh, 0) scale(1.3); opacity: 0; }
}

.layout {
  min-height: calc(100vh - 2 * clamp(12px, 3vw, 28px));
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
}

.card {
  width: min(1180px, 100%);
  border-radius: 24px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 18px 46px rgba(58, 35, 32, 0.16);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: clamp(20px, 3.8vw, 34px);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.novo-badge {
  position: absolute;
  top: clamp(12px, 2vw, 20px);
  right: clamp(12px, 2vw, 20px);
  width: clamp(74px, 10vw, 130px);
  opacity: 0.74;
  filter: drop-shadow(0 6px 10px rgba(58, 35, 32, 0.14));
  pointer-events: none;
}

.label {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.78rem;
  font-weight: 700;
}

h1 {
  margin: 10px 0 12px;
  font-size: clamp(2rem, 6.5vw, 4rem);
  line-height: 0.96;
  text-transform: uppercase;
}

.lead {
  margin: 0 0 18px;
  font-size: clamp(1rem, 2vw, 1.18rem);
}

.hero-photo {
  width: min(1040px, 100%);
  max-height: min(72vh, 760px);
  object-fit: cover;
  object-position: center;
  display: block;
  margin: 0 auto 16px;
  border-radius: 16px;
  border: 1px solid var(--line);
  box-shadow: 0 10px 28px rgba(58, 35, 32, 0.2);
}

@media (max-width: 720px) {
  .card {
    width: min(1000px, 100%);
  }

  .hero-photo {
    width: 100%;
    max-height: 58vh;
  }

  .novo-badge {
    width: clamp(58px, 16vw, 96px);
  }
}

.button-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

.btn {
  text-decoration: none;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.72);
  transition: transform 150ms ease, background-color 150ms ease;
}

.btn:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.95);
}
