/* Proposal 02 composition: loosely arranged photo tiles and individual product cards. */
.avm-program-showcase-grid { padding: 23px 8px 26px; }
.avm-program-tile { will-change: transform; transition: transform .25s ease, box-shadow .25s ease; }
.avm-program-tile--human { transform: translateY(13px) rotate(-2.6deg); }
.avm-program-tile--vet { transform: translateY(-11px) rotate(2deg); }
.avm-program-tile--pet:nth-of-type(3) { transform: translateY(15px) rotate(-2deg); }
.avm-program-tile--human:hover, .avm-program-tile--vet:hover,
.avm-program-tile--pet:nth-of-type(3):hover { z-index: 4; transform: translateY(-10px) rotate(0); }

.avm-products-section { padding: 68px 0 110px; }
.avm-products-section::before { display: none; }
.avm-products-section .avm-section-heading { margin-bottom: 20px; }
.avm-products-section .avm-section-heading h2 { font-size: clamp(33px,3vw,45px); }
.avm-featured-gallery {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: center;
  gap: clamp(15px,2.2vw,34px); min-height: 430px; padding: 28px 14px 30px;
  overflow: visible;
}
.avm-featured-product {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: space-between;
  min-width: 0; height: 380px; padding: 24px 18px 18px;
  overflow: hidden; isolation: isolate; border: 1px solid rgba(255,255,255,.82);
  border-radius: 56px 24px 46px 22px / 46px 27px 42px 25px;
  background: #d8eff8; box-shadow: 0 18px 40px rgba(13,74,101,.15);
  transform: translateY(13px) rotate(-2.4deg);
  transition: transform .26s ease, box-shadow .26s ease;
}
.avm-featured-product:nth-child(2) { background: #fff0e5; transform: translateY(-10px) rotate(2.2deg); }
.avm-featured-product:nth-child(3) { background: #d8eaf3; transform: translateY(16px) rotate(-1.8deg); }
.avm-featured-product:nth-child(4) { background: #ffe3cc; transform: translateY(-7px) rotate(2.4deg); }
.avm-featured-product::before {
  content: ""; position: absolute; inset: -80px -80px auto auto; z-index: -1;
  width: 245px; height: 245px; border: 1px solid rgba(255,255,255,.65);
  border-radius: 50%; box-shadow: 0 0 0 26px rgba(255,255,255,.13),0 0 0 66px rgba(255,255,255,.08);
}
.avm-featured-product::after {
  content: ""; position: absolute; left: 19px; bottom: 76px;
  width: 42px; height: 2px; border-radius: 2px; background: rgba(9,76,112,.36);
}
.avm-featured-product:nth-child(2)::after, .avm-featured-product:nth-child(4)::after { background: rgba(184,91,39,.4); }
.avm-featured-product:hover, .avm-featured-product:nth-child(n):hover {
  z-index: 3; transform: translateY(-13px) rotate(0);
  box-shadow: 0 26px 52px rgba(13,74,101,.2);
}
.avm-featured-product img {
  display: block; flex: 1 1 auto; width: auto; height: auto; min-height: 0;
  max-width: 95%; max-height: 270px; margin: auto; object-fit: contain;
  filter: drop-shadow(0 16px 11px rgba(18,53,71,.2));
}
.avm-featured-product-meta {
  width: 100%; min-height: 53px; display: flex; align-items: center; justify-content: space-between; gap: 8px;
  color: #083e61; font-size: clamp(16px,1.36vw,20px); line-height: 1.15;
}
.avm-featured-product-meta strong { font-weight: 850; }
.avm-featured-product-meta > span {
  width: 37px; height: 37px; flex: 0 0 37px; display: grid; place-items: center;
  border-radius: 50%; color: #084b71; background: #fff; font-size: 23px; line-height: 1;
  box-shadow: 0 3px 11px rgba(7,66,91,.09);
}
.avm-featured-product:focus-visible { outline: 3px solid #ef8233; outline-offset: 4px; }
.avm-featured-caption { display: none; }

@media (max-width: 1180px) {
  .avm-featured-gallery { gap: 13px; padding-inline: 8px; }
  .avm-featured-product { height: 340px; padding: 18px 12px 14px; }
  .avm-featured-product img { max-height: 238px; }
  .avm-featured-product-meta { font-size: 15px; }
}
@media (max-width: 940px) {
  .avm-program-showcase-grid { padding: 20px 8px 30px; }
  .avm-program-tile--human { transform: translateY(10px) rotate(-1.4deg); }
  .avm-program-tile--vet { transform: translateY(-8px) rotate(1.3deg); }
  .avm-program-tile--pet:nth-of-type(3) { transform: translateY(12px) rotate(-1.1deg); }
  .avm-featured-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; padding: 22px 28px 34px; }
  .avm-featured-product { height: 345px; }
  .avm-featured-product img { max-height: 243px; }
  .avm-featured-product-meta { font-size: 18px; }
}
@media (max-width: 640px) {
  .avm-program-showcase-grid { padding: 8px 9px 18px; gap: 25px; }
  .avm-program-tile--human { transform: rotate(-1.3deg); }
  .avm-program-tile--vet { transform: rotate(1.2deg); }
  .avm-program-tile--pet:nth-of-type(3) { transform: rotate(-1.1deg); }
  .avm-products-section { padding: 60px 0 66px; }
  .avm-products-section .avm-section-heading { display: flex; align-items: end; gap: 12px; }
  .avm-products-section .avm-section-heading h2 { font-size: clamp(25px,7vw,32px); }
  .avm-featured-gallery {
    display: flex; align-items: stretch; gap: 17px; min-height: 0;
    margin: 0 -12px; padding: 22px 24px 40px;
    overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .avm-featured-product, .avm-featured-product:nth-child(n) {
    flex: 0 0 min(72vw,285px); height: 350px; padding: 20px 16px 16px;
    scroll-snap-align: center; transform: rotate(-1deg);
  }
  .avm-featured-product:nth-child(even) { transform: rotate(1deg); }
  .avm-featured-product img { max-height: 249px; }
  .avm-featured-product-meta { font-size: 18px; }
}
