.home-bundles {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 7vw, 6.5rem) 0;
  background: #f8f5f0;
  color: #25183a;
}

.home-bundles::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 3% 10%, rgba(181, 145, 225, .16), transparent 26%),
    radial-gradient(circle at 95% 95%, rgba(216, 189, 142, .18), transparent 24%);
}

.home-bundles .container { position: relative; }

.home-bundles__header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  margin-bottom: 2rem;
}

.home-bundles__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #694197;
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.home-bundles__eyebrow i { font-size: 1rem; }
.home-bundles__header h2 {
  max-width: 750px;
  margin: .55rem 0 .65rem;
  font-family: Quicksand, sans-serif;
  font-size: clamp(2.25rem, 4vw, 4.1rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.045em;
}

.home-bundles__header p {
  max-width: 620px;
  margin: 0;
  color: #756b7b;
  font-size: 1rem;
  line-height: 1.7;
}

.home-bundles__all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  flex: none;
  min-height: 48px;
  padding: .7rem 1rem;
  border: 1px solid #d9cde2;
  border-radius: 999px;
  color: #4b2b69;
  background: rgba(255, 255, 255, .6);
  font-size: .85rem;
  font-weight: 800;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.home-bundles__all:hover { background: #fff; color: #4b2b69; transform: translateY(-2px); }
.home-bundles__layout { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(270px, .8fr); gap: 1rem; }
.home-bundles__layout--single { grid-template-columns: 1fr; }

.home-bundles__feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  min-height: 520px;
  overflow: hidden;
  border-radius: 28px;
  background: #271637;
  box-shadow: 0 28px 55px rgba(40, 24, 55, .13);
}

.home-bundles__feature-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(1.7rem, 3vw, 3rem);
  color: #fff;
  background: radial-gradient(circle at 0 0, rgba(139, 80, 175, .3), transparent 55%), #271637;
}

.home-bundles__feature-kicker {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .48rem .8rem;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 999px;
  color: #e5d9f2;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.home-bundles__feature-kicker i { color: #dcf3a5; }
.home-bundles__feature h3 {
  max-width: 430px;
  margin: clamp(2.2rem, 4vw, 4rem) 0 .85rem;
  font-family: Quicksand, sans-serif;
  font-size: clamp(2rem, 3.2vw, 3.15rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.home-bundles__feature h3 a,
.home-bundles__small-card h3 a { color: inherit; text-decoration: none; }
.home-bundles__feature h3 a:hover { color: #e0f8a6; }
.home-bundles__feature-copy > p { max-width: 390px; margin: 0; color: #d1c4db; line-height: 1.65; }
.home-bundles__included { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.35rem 0 1.5rem; }
.home-bundles__included span {
  padding: .42rem .65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  color: #f0eaf5;
  font-size: .71rem;
  font-weight: 750;
}
.home-bundles__included i { color: #d9f39f; }

.home-bundles__feature-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  width: 100%;
  margin-top: auto;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(255, 255, 255, .19);
}

.home-bundles__price small,
.home-bundles__price strong,
.home-bundles__price del { display: block; }
.home-bundles__price small { color: #c3b2d0; font-size: .7rem; font-weight: 750; }
.home-bundles__price strong { margin: .15rem 0; font-size: clamp(1.6rem, 2.6vw, 2.3rem); line-height: 1.1; white-space: nowrap; }
.home-bundles__price strong span { font-size: .82rem; }
.home-bundles__price del { color: #b5a4c2; font-size: .78rem; }
.home-bundles__feature-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 47px;
  padding: .7rem 1rem;
  border-radius: 999px;
  background: #e2f5ae;
  color: #263618;
  font-size: .78rem;
  font-weight: 900;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.home-bundles__feature-link:hover { background: #f0ffc9; color: #263618; transform: translateY(-2px); }

.home-bundles__feature-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  overflow: hidden;
  background: radial-gradient(circle at 50% 42%, #fff 0, #f2e9fa 52%, #d7c4e8 100%);
  text-decoration: none;
}
.home-bundles__visual-orbit {
  position: absolute;
  width: min(80%, 390px);
  aspect-ratio: 1;
  border: 1px solid rgba(102, 60, 131, .18);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(255, 255, 255, .15), 0 0 0 84px rgba(255, 255, 255, .12);
}
.home-bundles__feature-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-bundles__product-stack { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; padding: 2.5rem 1rem; }
.home-bundles__product-tile {
  display: grid;
  place-items: center;
  width: 37%;
  aspect-ratio: .8;
  margin-inline: -6%;
  padding: .5rem;
  border: 1px solid rgba(104, 66, 136, .12);
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 25px 45px rgba(51, 31, 74, .18);
  transform: rotate(-10deg) translateY(14px);
  transition: transform .25s ease;
}
.home-bundles__product-tile:nth-child(2) { z-index: 1; transform: rotate(2deg) translateY(-20px); }
.home-bundles__product-tile:nth-child(3) { transform: rotate(11deg) translateY(15px); }
.home-bundles__feature-visual:hover .home-bundles__product-tile:first-child { transform: rotate(-13deg) translate(-7px, 8px); }
.home-bundles__feature-visual:hover .home-bundles__product-tile:nth-child(3) { transform: rotate(14deg) translate(7px, 8px); }
.home-bundles__product-tile img { width: 100%; height: 100%; object-fit: contain; }
.home-bundles__saving {
  position: absolute;
  z-index: 2;
  top: 1.25rem;
  inset-inline-end: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 83px;
  height: 83px;
  border-radius: 50%;
  background: #ddf4a5;
  color: #263618;
  box-shadow: 0 12px 30px rgba(38, 54, 24, .17);
  transform: rotate(9deg);
}
.home-bundles__saving strong { font-size: 1.42rem; line-height: 1; }
.home-bundles__saving small { margin-top: .15rem; font-size: .7rem; font-weight: 800; }
.home-bundles__visual-caption {
  position: absolute;
  z-index: 2;
  bottom: 1.3rem;
  inset-inline-start: 1.3rem;
  padding: .52rem .75rem;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 999px;
  background: rgba(255, 255, 255, .83);
  color: #563b70;
  font-size: .7rem;
  font-weight: 850;
  backdrop-filter: blur(12px);
}

.home-bundles__more { display: grid; grid-auto-rows: minmax(0, 1fr); gap: 1rem; }
.home-bundles__small-card {
  display: grid;
  grid-template-columns: 43% minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
  border: 1px solid #ece3eb;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(39, 22, 55, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-bundles__small-card:hover { transform: translateY(-4px); box-shadow: 0 20px 38px rgba(39, 22, 55, .12); }
.home-bundles__small-visual { display: grid; place-items: center; min-width: 0; overflow: hidden; background: linear-gradient(145deg, #eee5f7, #f8f1ec); }
.home-bundles__small-visual > img { width: 100%; height: 100%; object-fit: cover; }
.home-bundles__small-stack { display: flex; align-items: center; justify-content: center; width: 100%; padding: .65rem; }
.home-bundles__small-stack img {
  width: 58%;
  aspect-ratio: .8;
  margin-inline: -10%;
  padding: .35rem;
  border-radius: 13px;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 12px 25px rgba(60, 35, 86, .13);
  transform: rotate(-8deg);
}
.home-bundles__small-stack img:nth-child(2) { transform: rotate(9deg) translateY(-8px); }
.home-bundles__small-content { display: flex; flex-direction: column; min-width: 0; padding: 1.2rem; }
.home-bundles__small-meta { color: #855f9f; font-size: .69rem; font-weight: 850; }
.home-bundles__small-card h3 { margin: .6rem 0 1rem; font-size: clamp(1rem, 1.3vw, 1.3rem); font-weight: 850; line-height: 1.3; }
.home-bundles__small-card h3 a:hover { color: #7544aa; }
.home-bundles__small-bottom { display: flex; align-items: end; justify-content: space-between; gap: .4rem; margin-top: auto; }
.home-bundles__small-bottom strong,
.home-bundles__small-bottom del { display: block; }
.home-bundles__small-bottom strong { font-size: 1.05rem; white-space: nowrap; }
.home-bundles__small-bottom del { color: #92869b; font-size: .72rem; }
.home-bundles__small-bottom > a { display: grid; place-items: center; flex: none; width: 35px; height: 35px; border-radius: 50%; background: #f1ebf5; color: #5d3781; }
.home-bundles__small-bottom > a:hover { background: #5d3781; color: #fff; }
.home-bundles__footer { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1.5rem; color: #786b7f; font-size: .78rem; }
.home-bundles__footer i { color: #76549a; }
.home-bundles a:focus-visible { outline: 3px solid #9e67d1; outline-offset: 3px; }

@media (max-width: 1199px) {
  .home-bundles__layout { grid-template-columns: 1fr; }
  .home-bundles__feature { min-height: 470px; }
  .home-bundles__more { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  .home-bundles__more > :only-child { grid-column: 1 / -1; }
  .home-bundles__small-card { min-height: 205px; }
}

@media (max-width: 767px) {
  .home-bundles { padding: 3.5rem 0; }
  .home-bundles__header { display: block; }
  .home-bundles__header h2 { font-size: clamp(2.2rem, 9vw, 3rem); }
  .home-bundles__all { margin-top: 1.2rem; }
  .home-bundles__feature { grid-template-columns: 1fr; }
  .home-bundles__feature-copy { order: 2; min-height: 350px; }
  .home-bundles__feature-visual { order: 1; min-height: 300px; }
  .home-bundles__feature h3 { margin-top: 1.5rem; }
  .home-bundles__more { grid-template-columns: 1fr; }
  .home-bundles__small-card { min-height: 200px; }
}

@media (max-width: 420px) {
  .home-bundles__feature-visual { min-height: 255px; }
  .home-bundles__feature-copy { padding: 1.5rem; }
  .home-bundles__feature-bottom { align-items: start; }
  .home-bundles__small-card { grid-template-columns: 39% minmax(0, 1fr); }
  .home-bundles__small-content { padding: .9rem; }
  .home-bundles__small-bottom strong { font-size: .93rem; }
  .home-bundles__small-bottom > a { width: 30px; height: 30px; }
  .home-bundles__saving { width: 68px; height: 68px; }
  .home-bundles__saving strong { font-size: 1.18rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-bundles *, .home-bundles *::before, .home-bundles *::after { transition-duration: .01ms !important; }
}
