/* Home catalog cards: dimensional shape system */
.home-page .b2__shapes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.3vw, 32px);
  align-items: stretch;
}

.home-page .b2__item {
  --b2-grad: linear-gradient(135deg, #ee1a5f, #ff7a1a);
  --b2-tint: rgba(231, 27, 95, 0.72);
  --b2-title: #8e0837;
  --b2-text: rgba(92, 8, 43, 0.84);
  --b2-link: #c61450;
  --b2-shadow: rgba(157, 11, 69, 0.28);
  position: relative;
  display: block !important;
  min-height: 310px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  perspective: 1000px;
  perspective-origin: 50% 50%;
  filter: drop-shadow(0 22px 40px rgba(60, 20, 35, 0.16));
}

.home-page .b2__item--violet {
  --b2-grad: linear-gradient(145deg, #7c3aed 0%, #b33192 50%, #ed1d64 100%);
  --b2-tint: rgba(109, 40, 158, 0.72);
  --b2-title: #430a62;
  --b2-text: rgba(56, 7, 83, 0.84);
  --b2-link: #7023a7;
  --b2-shadow: rgba(79, 20, 112, 0.28);
}

.home-page .b2__item--orange {
  --b2-grad: linear-gradient(135deg, #ffbd25 0%, #ff7a1a 48%, #e33b26 100%);
  --b2-tint: rgba(212, 77, 13, 0.7);
  --b2-title: #76270e;
  --b2-text: rgba(103, 32, 8, 0.84);
  --b2-link: #c64a10;
  --b2-shadow: rgba(172, 62, 10, 0.25);
}

.home-page .b2__item--rose {
  --b2-grad: linear-gradient(150deg, #ec195d 0%, #df286d 48%, #8d1d61 100%);
  --b2-tint: rgba(181, 20, 79, 0.74);
  --b2-title: #780e3c;
  --b2-text: rgba(95, 5, 45, 0.86);
  --b2-link: #be1551;
  --b2-shadow: rgba(135, 10, 61, 0.3);
}

.home-page .b2__item--prism {
  --b2-grad: conic-gradient(from 205deg at 64% 34%, #ee1a5f, #f77820, #f4b421, #8d31bc, #ee1a5f);
  --b2-tint: rgba(97, 40, 117, 0.68);
  --b2-title: #3a164f;
  --b2-text: rgba(42, 19, 60, 0.84);
  --b2-link: #6c258e;
  --b2-shadow: rgba(91, 27, 112, 0.25);
}

.home-page .b2__item--dark {
  --b2-grad: linear-gradient(155deg, #32153d 0%, #692055 54%, #e21b5d 100%);
  --b2-tint: rgba(43, 13, 46, 0.72);
  --b2-title: #fff4f8;
  --b2-text: rgba(255, 238, 246, 0.86);
  --b2-link: #ffd2e1;
  --b2-shadow: rgba(41, 8, 41, 0.4);
}

.home-page .b2__item--wide {
  grid-column: span 2;
  min-height: 278px;
}

.home-page .b2__card {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 44px;
  background: var(--b2-grad);
  color: inherit;
  text-decoration: none;
  transform-style: preserve-3d;
  box-shadow:
    0 25px 28px -14px var(--b2-shadow),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  transition: transform 0.16s cubic-bezier(0.2, 0.9, 0.2, 1), box-shadow 0.2s ease;
}

.home-page .b2__card::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: '';
  background: linear-gradient(135deg, var(--b2-tint), rgba(18, 13, 22, 0.58));
}

.home-page .b2__photo {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.58) saturate(0.88) contrast(1.06);
  transform: scale(1.03);
}

.home-page .b2__item:hover .b2__card {
  transform: rotate3d(1, 1, 0, 16deg) translateY(-8px);
  box-shadow:
    18px 28px 30px -20px var(--b2-shadow),
    0 0 36px -14px rgba(231, 27, 95, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.home-page .b2__item.is-live .b2__card {
  transform: rotateX(var(--b2-rx)) rotateY(var(--b2-ry)) translateY(-7px);
}

.home-page .b2__card:focus-visible {
  outline: 3px solid rgba(231, 27, 95, 0.72);
  outline-offset: 5px;
}

.home-page .b2__item--cut .b2__card {
  border-radius: 34px;
  clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px);
}

.home-page .b2__body {
  position: relative;
  z-index: 4;
  display: grid;
  gap: 12px;
  max-width: 66%;
  padding: 104px 26px 0;
  transform: translate3d(0, 0, 26px);
}

.home-page .b2__name {
  margin: 0;
  color: #fff;
  font-size: clamp(20px, 1.75vw, 27px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.08;
}

.home-page .b2__text {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

.home-page .b2__bottom {
  position: absolute;
  z-index: 5;
  right: 22px;
  bottom: 20px;
  left: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  transform: translate3d(0, 0, 28px);
}

.home-page .b2__count {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--b2-title);
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 8px 12px -9px var(--b2-shadow);
}

.home-page .b2__more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.home-page .b2__more svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
}

.home-page .b2__item--wide .b2__body {
  max-width: 52%;
  padding-top: 88px;
  padding-left: 30px;
}

@media (max-width: 1050px) {
  .home-page .b2__shapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .b2__item--wide { grid-column: span 2; }
}

@media (max-width: 640px) {
  .home-page .b2__shapes { grid-template-columns: 1fr; }
  .home-page .b2__item,
  .home-page .b2__item--wide { grid-column: auto; min-height: 292px; }
  .home-page .b2__item--wide .b2__body { max-width: 62%; padding-top: 96px; }
  .home-page .b2__text { -webkit-line-clamp: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .b2__card { transition: none; }
  .home-page .b2__item:hover .b2__card { transform: none; }
}
