:root {
  --aibi-natale-red: #b5121b;
  --aibi-natale-red-dark: #7a0c12;
  --aibi-natale-warm: #fff7f2;
  --aibi-natale-ink: #2b2b2b;
  --aibi-natale-muted: #4f4a47;
  --aibi-natale-gold: #d6a84f;
  --aibi-natale-shadow: 0 18px 48px rgba(181, 18, 27, .16);
  --aibi-natale-radius: 8px;
  --aibi-natale-max: 1180px;
  --aibi-natale-font: Montserrat, Arial, Helvetica, sans-serif;
}

.aibi-natale-hero {
  position: relative;
  overflow: hidden;
  min-height: 660px;
  display: grid;
  align-items: start;
  padding: clamp(150px, 11vw, 190px) 22px 112px;
  background:
    linear-gradient(90deg, rgba(255,247,242,.94) 0 38%, rgba(255,247,242,.62) 52%, rgba(255,247,242,.18) 100%),
    url("images/bg-hero-natale-26.png") center / cover no-repeat;
  color: var(--aibi-natale-ink);
  font-family: var(--aibi-natale-font);
}

.aibi-natale-hero::after {
  content: "";
  position: absolute;
  left: -6%;
  right: -6%;
  bottom: -86px;
  height: 178px;
  background: linear-gradient(180deg, rgba(80, 28, 20, 0), rgba(80, 28, 20, .18) 55%, rgba(80, 28, 20, .28));
  filter: blur(18px);
  pointer-events: none;
}

.aibi-natale-hero::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 86px;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(181,18,27,.08));
  pointer-events: none;
}

.aibi-natale-wrap {
  width: 100%;
  max-width: var(--aibi-natale-max);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.aibi-natale-hero-copy {
  max-width: 570px;
  position: relative;
  z-index: 2;
}

.aibi-natale-eyebrow {
  margin: 0 0 12px;
  color: var(--aibi-natale-red);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.aibi-natale-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--aibi-natale-red);
  font-family: var(--aibi-natale-font);
  font-size: clamp(32px, 4.2vw, 58px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: 0;
}

.aibi-natale-hero-copy > p:not(.aibi-natale-eyebrow) {
  max-width: 560px;
  margin: 22px 0 0;
  color: var(--aibi-natale-muted);
  font-size: clamp(17px, 1.8vw, 21px);
  line-height: 1.55;
}

.aibi-natale-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.aibi-natale-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px;
  border-radius: var(--aibi-natale-radius);
  border: 2px solid transparent;
  background: var(--aibi-natale-red);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  line-height: 1.1;
  box-shadow: var(--aibi-natale-shadow);
}

.aibi-natale-btn:hover,
.aibi-natale-btn:focus {
  background: var(--aibi-natale-red-dark);
  color: #fff;
}

.aibi-natale-btn-secondary {
  background: #fff;
  color: var(--aibi-natale-red);
  border-color: rgba(181,18,27,.24);
  box-shadow: none;
}

.aibi-natale-btn-secondary:hover,
.aibi-natale-btn-secondary:focus {
  background: var(--aibi-natale-warm);
  color: var(--aibi-natale-red);
  border-color: var(--aibi-natale-red);
}

.aibi-natale-shape {
  position: absolute;
  border-radius: 999px;
  background: var(--aibi-natale-red);
  opacity: .38;
  pointer-events: none;
  z-index: 0;
  animation: aibi-natale-float 6s ease-in-out infinite;
}

.aibi-natale-shape-one {
  width: 28px;
  height: 28px;
  left: 52%;
  bottom: 148px;
}

.aibi-natale-shape-two {
  width: 14px;
  height: 14px;
  right: 20%;
  bottom: 188px;
  border-radius: 4px;
  transform: rotate(45deg);
  animation-delay: 1.2s;
}

.aibi-natale-content {
  position: relative;
  z-index: 1;
}

.aibi-natale-content-wrap {
  clear: both;
  position: relative;
  z-index: 2;
}

.aibi-natale-content-wrap .main-content {
  padding-top: 0;
}

@keyframes aibi-natale-float {
  0%, 100% { transform: translateY(0) rotate(45deg); }
  50% { transform: translateY(-14px) rotate(45deg); }
}

@media (max-width: 760px) {
  .aibi-natale-hero {
    min-height: 0;
    padding: 120px 20px 116px;
  }

  .aibi-natale-hero::after {
    height: 110px;
    bottom: -60px;
  }

  .aibi-natale-hero::before {
    height: 46px;
    bottom: 10px;
  }

  .aibi-natale-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}
