/* Proposal 02: one type system, three photographic program cards and a product plinth. */
.avm-front-page { background: #f4fafc; }
.avm-front-page h1, .avm-front-page h2, .avm-front-page h3,
.avm-front-page .avm-featured-caption { font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.avm-front-page h1, .avm-front-page h2, .avm-front-page h3 { letter-spacing: -.035em; }
.avm-hero-copy h1 { font-weight: 850; }

.avm-program-showcase {
  padding: 88px 0 38px;
  background: radial-gradient(ellipse at 0% 6%,rgba(146,212,237,.34),transparent 33%),
    radial-gradient(ellipse at 93% 95%,rgba(244,181,123,.17),transparent 33%),
    linear-gradient(115deg,#f7fbfc 0%,#ebf7fb 60%,#f7faf8 100%);
}
.avm-program-showcase::before, .avm-products-section::after {
  content: ""; position: absolute; pointer-events: none;
  width: min(280px,28vw); height: 230px; opacity: .28;
  background: radial-gradient(ellipse at 50% 12%,#8bc9e4 0 17%,transparent 18%),
    radial-gradient(ellipse at 25% 40%,#8bc9e4 0 12%,transparent 13%),
    radial-gradient(ellipse at 75% 45%,#8bc9e4 0 12%,transparent 13%);
  filter: blur(18px);
}
.avm-program-showcase::before { left: -175px; top: 10%; }
.avm-program-showcase-grid { grid-template-columns: 1.16fr repeat(3,minmax(0,1fr)); gap: clamp(13px,1.7vw,24px); align-items: stretch; }
.avm-program-intro { min-height: 500px; padding: 26px 12px 24px 0; }
.avm-program-intro h2 { font-size: clamp(38px,3.3vw,52px); line-height: 1.08; }
.avm-program-intro > p:not(.avm-kicker) { max-width: 295px; font-size: 16px; }
.avm-program-values { gap: 7px 13px; font-size: 12px; }
.avm-program-tile {
  min-height: 500px; padding: 20px 23px 25px; border: 1px solid rgba(255,255,255,.75);
  border-radius: 78px 34px 70px 30px / 45px 42px 45px 40px;
  background-repeat: no-repeat; background-size: cover;
  box-shadow: 0 16px 38px rgba(8,65,97,.14),inset 0 0 0 1px rgba(255,255,255,.17);
}
.avm-program-tile:nth-of-type(3), .avm-program-tile:nth-of-type(3):hover { transform: none; }
.avm-program-tile:hover { transform: translateY(-7px); }
.avm-program-tile--human {
  background-color: #68aed3;
  background-image: linear-gradient(180deg,rgba(39,124,171,.05) 16%,rgba(22,91,133,.18) 48%,#10577e 86%),url('../images/scene/program-human.webp');
  background-position: center 40%;
}
.avm-program-tile--vet {
  background-color: #16719c;
  background-image: linear-gradient(180deg,rgba(14,85,124,.04) 15%,rgba(10,89,129,.16) 47%,#084f78 86%),url('../images/scene/hero-animals.webp');
  background-position: 45% 50%;
}
.avm-program-tile--pet {
  background-color: #ed873d;
  background-image: linear-gradient(180deg,rgba(244,151,75,.03) 12%,rgba(218,111,43,.17) 46%,#bf5d20 86%),url('../images/scene/program-pet.webp');
  background-position: 50% 45%;
}
.avm-program-symbol { flex: 0 0 52px; background: rgba(15,89,131,.88); }
.avm-program-tile--vet .avm-program-symbol { background: rgba(7,74,114,.88); }
.avm-program-tile--pet .avm-program-symbol { background: rgba(240,120,37,.9); }
.avm-program-tile small { color: #e7f5fb; font-size: 11px; }
.avm-program-tile h3 { max-width: 100%; margin: 0 0 10px; font-size: clamp(22px,1.85vw,28px); font-weight: 850; line-height: 1.08; text-transform: none; text-shadow: 0 2px 12px rgba(0,38,61,.55); }
.avm-program-tile p { max-width: 235px; font-size: 14px; line-height: 1.4; text-shadow: 0 2px 8px rgba(0,38,61,.5); }
.avm-program-more { width: 42px; height: 42px; }
.avm-benefit-bar { margin-top: 26px; border-radius: 34px; }

.avm-products-section {
  padding: 52px 0 100px;
  background: radial-gradient(circle at 1% 76%,rgba(105,176,123,.16),transparent 20%),
    radial-gradient(circle at 95% 18%,rgba(244,177,110,.17),transparent 23%),
    linear-gradient(105deg,#f3fafc 0%,#faf9f4 62%,#fff5e8 100%);
}
.avm-products-section::before {
  left: 7%; right: 7%; bottom: 43px; height: 93px; z-index: 0;
  border: 1px solid rgba(214,225,220,.78); border-radius: 50%;
  background: linear-gradient(180deg,#fff 0%,#f6f8f6 65%,#e9efec 100%);
  box-shadow: 0 19px 32px rgba(28,74,78,.13),inset 0 10px 18px rgba(255,255,255,.95);
}
.avm-products-section::after { right: -105px; top: 15%; filter: blur(30px); }
.avm-products-section .avm-section-heading { margin-bottom: 25px; }
.avm-products-section .avm-section-heading h2 { font-size: clamp(33px,3vw,45px); font-weight: 850; }
.avm-products-section .avm-text-link { font-size: 15px; }
.avm-featured-gallery {
  z-index: 1; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(8px,1.5vw,23px);
  align-items: end; min-height: 390px; padding: 0 7% 18px;
}
.avm-featured-product { min-width: 0; height: 390px; padding: 0; }
.avm-featured-product img { width: auto; max-width: 100%; max-height: 375px; object-fit: contain; filter: drop-shadow(0 18px 12px rgba(25,51,68,.22)); }
.avm-featured-caption { position: relative; z-index: 2; width: max-content; max-width: 80%; margin: 2px auto 0; color: #237ba3; font-size: 18px; font-weight: 750; font-style: normal; letter-spacing: 0; text-align: center; }
.avm-featured-caption::before, .avm-featured-caption::after { content: ""; display: inline-block; width: 35px; height: 1px; margin: 0 12px 6px; background: #78b4cf; }

@media (max-width: 1180px) {
  .avm-program-showcase-grid { grid-template-columns: 1.04fr repeat(3,minmax(0,1fr)); gap: 12px; }
  .avm-program-intro { padding-right: 3px; }
  .avm-program-tile { min-height: 440px; padding: 17px 16px 20px; }
  .avm-program-tile h3 { font-size: clamp(21px,2.1vw,26px); }
  .avm-featured-gallery { min-height: 330px; }
  .avm-featured-product { height: 330px; }
  .avm-featured-product img { max-height: 320px; }
}
@media (max-width: 940px) {
  .avm-program-showcase { padding-top: 75px; }
  .avm-program-showcase-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
  .avm-program-intro { grid-column: 1/-1; min-height: auto; padding: 0 0 15px; }
  .avm-program-intro h2 { max-width: 700px; }
  .avm-program-intro > p:not(.avm-kicker) { max-width: 620px; }
  .avm-program-tile { min-height: 390px; }
  .avm-products-section { padding-bottom: 75px; }
  .avm-products-section::before { bottom: 35px; }
  .avm-featured-gallery { min-height: 275px; padding-inline: 3%; }
  .avm-featured-product { height: 275px; }
  .avm-featured-product img { max-height: 263px; }
}
@media (max-width: 640px) {
  .avm-front-page > .avm-program-showcase { order: 1; }
  .avm-front-page > .avm-products-section { order: 2; }
  .avm-program-showcase { padding: 58px 0 30px; }
  .avm-program-showcase-grid { grid-template-columns: 1fr; gap: 16px; }
  .avm-program-intro { grid-column: auto; }
  .avm-program-intro h2 { font-size: 38px; }
  .avm-program-tile { min-height: 365px; border-radius: 64px 28px 56px 24px / 38px 34px 38px 33px; }
  .avm-program-tile h3 { font-size: 26px; }
  .avm-program-tile--human { background-position: center 35%; }
  .avm-program-tile--vet { background-position: center 52%; }
  .avm-benefit-bar { margin-top: 22px; }
  .avm-products-section { padding: 55px 0 68px; }
  .avm-products-section .avm-section-heading { align-items: end; }
  .avm-products-section .avm-section-heading h2 { font-size: 27px; }
  .avm-products-section .avm-section-heading > a { width: auto; max-width: 120px; font-size: 11px; }
  .avm-featured-gallery { min-height: 246px; gap: 8px; padding: 0 4% 10px; }
  .avm-featured-product { flex: 0 0 47%; height: 245px; }
  .avm-featured-product img { max-height: 235px; }
  .avm-products-section::before { left: 3%; right: 3%; bottom: 27px; height: 56px; }
  .avm-featured-caption { max-width: 100%; font-size: 13px; }
  .avm-featured-caption::before, .avm-featured-caption::after { width: 14px; margin-inline: 5px; }
}
