/* Real photography framed by the curved blue language of the approved concept. */
.avm-hero { min-height: 615px; margin-bottom: 0; overflow: visible; background: radial-gradient(circle at 50% 20%,#d4ecf5,#edf8fa 65%,#d6eefa); }
.avm-hero::before { content: ""; position: absolute; inset: -4% -2% auto; height: 260px; z-index: 2; pointer-events: none; background: linear-gradient(145deg,rgba(51,157,205,.2),transparent 55%); clip-path: ellipse(62% 60% at 46% 5%); }
.avm-hero::after { height: 155px; z-index: 3; background: linear-gradient(to top,rgba(5,70,105,.42),transparent); clip-path: ellipse(78% 68% at 50% 100%); }
.avm-hero-scene { top: 0; bottom: 0; width: 49%; opacity: 1; overflow: hidden; background-size: cover; }
.avm-hero-scene--human { left: 0; background-image: linear-gradient(90deg,rgba(10,75,107,.08) 35%,rgba(13,103,141,.1) 70%,rgba(9,75,113,.72) 100%),url("../images/scene/hero-human.webp"); background-position: 56% 44%; border-radius: 0 38% 18% 0 / 0 55% 44% 0; }
.avm-hero-scene--animals { right: 0; background-image: linear-gradient(270deg,rgba(7,76,101,.05) 35%,rgba(13,103,141,.1) 70%,rgba(9,75,113,.72) 100%),url("../images/scene/hero-animals.webp"); background-position: 49% 44%; border-radius: 38% 0 0 18% / 55% 0 0 44%; }
.avm-hero-ribbon--navy { left: 33%; top: -12%; width: 34%; height: 125%; z-index: 2; border-radius: 45% 55% 52% 48% / 18% 23% 77% 82%; background: linear-gradient(145deg,rgba(10,87,125,.94),#063e61 60%,#052f50); transform: rotate(-5deg); box-shadow: 0 20px 55px rgba(2,53,80,.2); }
.avm-hero-copy { width: min(510px,40%); padding-top: 112px; z-index: 5; }
.avm-hero-copy h1 { font-size: clamp(52px,5vw,73px); }
.avm-hero-actions { max-width: 470px; }
.avm-hero-products { bottom: -58px; z-index: 8; }

/* The three programs and product display share the same light, flowing canvas. */
.avm-program-showcase { position: relative; isolation: isolate; overflow: hidden; padding: 118px 0 42px; background: radial-gradient(ellipse at 24% 5%,#e6f6fc 0%,transparent 54%),linear-gradient(125deg,#f8fbfa 0%,#e6f4f9 52%,#f8f4ed 100%); }
.avm-showcase-glow { position: absolute; width: 520px; height: 520px; border-radius: 50%; pointer-events: none; z-index: -1; }
.avm-showcase-glow--left { left: -260px; top: 50px; background: rgba(106,188,221,.18); }
.avm-showcase-glow--right { right: -260px; top: 250px; background: rgba(249,178,112,.15); }
.avm-program-showcase-grid { position: relative; z-index: 1; grid-template-columns: 1.24fr repeat(3,1fr); gap: clamp(12px,1.4vw,24px); align-items: center; }
.avm-program-intro { min-height: 460px; padding: 34px 16px 30px 0; }
.avm-program-intro h2 { font-family: inherit; font-size: clamp(40px,3.45vw,54px); font-weight: 850; line-height: 1.04; letter-spacing: -.05em; }
.avm-program-intro h2 span { color: #3b9cca; }
.avm-program-intro > p:not(.avm-kicker) { max-width: 270px; margin: 22px 0; color: #31556a; font-size: 16px; line-height: 1.45; }
.avm-program-values { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 35px; color: #185877; font-size: 12px; font-weight: 700; }
.avm-program-values span::before { content: "✓"; margin-right: 7px; color: var(--avm-orange); }
.avm-program-tile { min-height: 460px; padding: 25px 25px 28px; border: 1px solid rgba(255,255,255,.75); border-radius: 76px 28px 65px 26px / 37px 30px 38px 32px; background-size: cover; background-position: center; box-shadow: 0 20px 50px rgba(5,77,111,.12); }
.avm-program-tile:nth-of-type(3) { transform: rotate(1.5deg); }
.avm-program-tile:nth-of-type(3):hover { transform: rotate(1.5deg) translateY(-8px); }
.avm-program-tile--human { background-image: linear-gradient(to bottom,rgba(23,116,156,.04) 18%,rgba(11,82,117,.18) 44%,#126084 100%),url("../images/scene/program-human.webp"); background-position: center 40%; }
.avm-program-tile--vet { background-image: linear-gradient(to bottom,rgba(32,92,78,.03) 16%,rgba(27,101,84,.25) 48%,#075064 100%),url("../images/scene/program-vet.webp"); background-position: center 43%; }
.avm-program-tile--pet { background-image: linear-gradient(to bottom,rgba(238,144,71,.03) 16%,rgba(192,100,44,.2) 48%,#bd642d 100%),url("../images/scene/program-pet.webp"); background-position: 53% center; }
.avm-program-tile::after { display: none; }
.avm-program-symbol { background: rgba(8,91,126,.72); font-size: 24px; }
.avm-program-tile--pet .avm-program-symbol { background: rgba(230,122,46,.9); }
.avm-program-tile h3 { max-width: 220px; margin-bottom: 8px; font-size: clamp(23px,2.25vw,34px); line-height: 1.02; }
.avm-program-tile p { max-width: 230px; margin: 0 0 14px; color: rgba(255,255,255,.94); font-size: 13px; line-height: 1.35; }
.avm-program-more { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 50%; color: var(--avm-orange); background: #fff; font-size: 22px!important; line-height: 1; }
.avm-benefit-bar { position: relative; z-index: 2; grid-template-columns: repeat(3,1fr); margin-top: 36px; border: 1px solid rgba(255,255,255,.8); border-radius: 50% 50% 32px 32px / 14px 14px 32px 32px; background: rgba(255,255,255,.82); box-shadow: 0 12px 34px rgba(8,61,92,.06); }
.avm-benefit-bar > div { justify-content: center; min-height: 78px; padding: 12px 22px; }
.avm-benefit-bar > div > span,
.avm-benefit-bar > div:nth-child(even) > span { color: #086087; background: transparent; font-size: 32px; }

.avm-products-section { position: relative; isolation: isolate; overflow: hidden; padding: 32px 0 82px; background: linear-gradient(150deg,#f4fafd 0%,#fbf7ef 66%,#f8f2e8 100%); }
.avm-products-section::before { content: ""; position: absolute; left: 10%; right: 10%; bottom: 46px; height: 70px; z-index: -1; border-radius: 50%; background: #fff; box-shadow: 0 -8px 35px rgba(44,110,132,.07),0 15px 28px rgba(72,121,136,.08); }
.avm-products-ambient { position: absolute; width: 410px; height: 410px; border-radius: 50%; opacity: .35; pointer-events: none; z-index: -1; filter: blur(10px); }
.avm-products-ambient--left { left: -250px; bottom: -170px; background: #a4dbcf; }
.avm-products-ambient--right { right: -280px; top: 20px; background: #f5d0a5; }
.avm-products-section .avm-section-heading { position: relative; z-index: 2; align-items: center; margin-bottom: 12px; }
.avm-products-section .avm-section-heading h2 { font-family: inherit; font-size: clamp(32px,3vw,46px); font-weight: 850; letter-spacing: -.05em; }
.avm-featured-gallery { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(5px,1.5vw,24px); align-items: end; min-height: 335px; }
.avm-featured-product { display: flex; align-items: end; justify-content: center; height: 335px; padding: 0 4px 10px; transition: transform .25s ease; }
.avm-featured-product:hover { transform: translateY(-10px); }
.avm-featured-product img { display: block; max-width: 100%; max-height: 335px; width: auto; height: auto; object-fit: contain; filter: drop-shadow(0 16px 11px rgba(16,51,69,.13)); }
.avm-featured-caption { position: relative; z-index: 2; margin: 2px 0 0; color: #317da2; font-family: Georgia,serif; font-size: 20px; font-style: italic; text-align: center; }

@media (max-width: 1180px) {
  .avm-program-showcase-grid { grid-template-columns: 1.05fr repeat(3,1fr); }
  .avm-program-tile { min-height: 430px; padding: 21px; }
  .avm-program-intro { min-height: 430px; }
}
@media (max-width: 940px) {
  .avm-hero-scene { width: 52%; }
  .avm-hero-ribbon--navy { left: 27%; width: 46%; }
  .avm-hero-copy { width: 55%; }
  .avm-program-showcase-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .avm-program-intro { grid-column: 1 / -1; min-height: auto; padding: 0 0 12px; }
  .avm-program-tile { min-height: 410px; }
  .avm-benefit-bar { margin-top: 28px; }
  .avm-featured-gallery { min-height: 260px; }
  .avm-featured-product { height: 260px; }
  .avm-featured-product img { max-height: 260px; }
}
@media (max-width: 640px) {
  .avm-front-page { display: flex; flex-direction: column; }
  .avm-front-page > .avm-hero { order: 0; }
  .avm-front-page > .avm-products-section { order: 1; }
  .avm-front-page > .avm-program-showcase { order: 2; }
  .avm-front-page > .avm-story { order: 3; }
  .avm-front-page > .avm-page-content { order: 4; }
  .avm-hero { min-height: 655px; margin-bottom: 0; }
  .avm-hero-scene { top: 122px; bottom: 0; width: 65%; height: 415px; }
  .avm-hero-scene--human { left: 0; background-position: 49% center; border-radius: 0 45% 20% 0 / 0 55% 45% 0; }
  .avm-hero-scene--animals { right: 0; background-position: 45% center; border-radius: 45% 0 0 20% / 55% 0 0 45%; }
  .avm-hero-ribbon--navy { left: -12%; top: -55px; width: 124%; height: 380px; border-radius: 40% 55% 50% 45% / 25% 20% 78% 76%; transform: rotate(-8deg); }
  .avm-hero-copy { width: 90%; padding-top: 70px; }
  .avm-hero-copy h1 { font-size: clamp(42px,12vw,66px); }
  .avm-hero-copy > p:last-of-type { margin-top: 9px; }
  .avm-hero-actions { position: absolute; left: 0; right: 0; top: 416px; display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
  .avm-hero-actions .avm-button { min-height: 42px; padding: 0 5px; font-size: 9px; text-align: center; }
  .avm-hero-products { bottom: -32px; }
  .avm-products-section { padding: 66px 0 48px; }
  .avm-products-section .avm-section-heading { display: flex; gap: 10px; margin-bottom: 8px; }
  .avm-products-section .avm-section-heading h2 { font-size: 24px; }
  .avm-products-section .avm-section-heading > a { width: 95px; margin: 0; font-size: 11px; text-align: right; }
  .avm-featured-gallery { display: flex; align-items: end; gap: 8px; min-height: 230px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .avm-featured-gallery::-webkit-scrollbar { display: none; }
  .avm-featured-product { flex: 0 0 43%; height: 225px; scroll-snap-align: center; }
  .avm-featured-product img { max-height: 218px; }
  .avm-featured-caption { font-size: 15px; }
  .avm-products-section::before { left: 4%; right: 4%; bottom: 25px; height: 42px; }
  .avm-program-showcase { padding: 54px 0 44px; }
  .avm-program-showcase-grid { grid-template-columns: 1fr; }
  .avm-program-intro { grid-column: auto; }
  .avm-program-intro h2 { font-size: 39px; }
  .avm-program-values { margin-top: 20px; }
  .avm-program-tile { min-height: 330px; border-radius: 65px 25px 52px 22px / 36px 28px 35px 28px; }
  .avm-program-tile:nth-of-type(3) { transform: none; }
  .avm-benefit-bar { display: grid; grid-template-columns: 1fr; border-radius: 22px; }
  .avm-benefit-bar > div { justify-content: flex-start; min-height: 70px; border-right: 0; border-bottom: 1px solid rgba(8,61,92,.09); }
}
