.homepage-promotion-section{position:relative;isolation:isolate;overflow:hidden;padding:54px 0 48px;background:linear-gradient(180deg,#fff 0%,#f7fbf7 52%,#fff 100%)}
.homepage-promotion-section:before{content:"";position:absolute;left:8%;right:8%;top:48%;height:1px;background:linear-gradient(90deg,transparent,rgba(31,111,46,.18),transparent);z-index:-1}.homepage-promotion-glow{position:absolute;border-radius:50%;filter:blur(8px);pointer-events:none;z-index:-1;opacity:.55}.homepage-promotion-glow-a{width:330px;height:330px;left:-120px;top:-110px;background:radial-gradient(circle,rgba(55,151,70,.14),transparent 68%);animation:promoFloatA 10s ease-in-out infinite}.homepage-promotion-glow-b{width:380px;height:380px;right:-150px;bottom:-170px;background:radial-gradient(circle,rgba(232,91,42,.09),transparent 68%);animation:promoFloatB 12s ease-in-out infinite}.homepage-promotion-kicker{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 18px;color:#226b30;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;text-align:center}.homepage-promotion-kicker span{display:block;width:46px;height:1px;background:linear-gradient(90deg,transparent,#4f9b59)}.homepage-promotion-kicker span:last-child{background:linear-gradient(90deg,#4f9b59,transparent)}.homepage-promotion-card{position:relative;width:min(1420px,100%);margin:0 auto;border-radius:28px;overflow:hidden;background:#eef4ee;border:1px solid rgba(22,74,31,.13);box-shadow:0 24px 64px rgba(19,70,28,.13),0 3px 12px rgba(19,70,28,.06);transform:translateZ(0);transition:transform .55s cubic-bezier(.2,.75,.25,1),box-shadow .55s ease}.homepage-promotion-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);pointer-events:none}.homepage-promotion-card img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;transform:none;animation:none}.homepage-promotion-shine{position:absolute;z-index:2;top:-80%;left:-28%;width:18%;height:260%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),rgba(255,255,255,.34),rgba(255,255,255,.12),transparent);animation:promoShine 8s ease-in-out infinite;pointer-events:none}.homepage-promotion-card:hover{transform:translateY(-5px) scale(1.002);box-shadow:0 31px 75px rgba(19,70,28,.17),0 5px 16px rgba(19,70,28,.08)}.homepage-promotion-caption{max-width:820px;margin:15px auto 0;text-align:center;color:rgba(23,57,30,.62);font-size:13px;line-height:1.6}.homepage-promotion-section .reveal{transition-duration:.9s!important;transition-timing-function:cubic-bezier(.2,.75,.25,1)!important}
@keyframes promoCinematic{0%{transform:scale(1.012) translate3d(-.25%,0,0)}100%{transform:scale(1.04) translate3d(.35%,-.25%,0)}}@keyframes promoShine{0%,58%{left:-28%;opacity:0}64%{opacity:.65}82%{left:115%;opacity:.18}100%{left:115%;opacity:0}}@keyframes promoFloatA{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(20px,18px,0)}}@keyframes promoFloatB{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-18px,-16px,0)}}
@media(max-width:900px){.homepage-promotion-section{padding:42px 0 40px}.homepage-promotion-card{border-radius:22px}.homepage-promotion-card img{width:100%;height:auto;max-width:100%}.homepage-promotion-kicker{font-size:11px;letter-spacing:.13em}.homepage-promotion-kicker span{width:30px}}
@media(max-width:640px){.homepage-promotion-section{padding:32px 0 34px}.homepage-promotion-section .section-shell{width:min(94%,1200px)}.homepage-promotion-card{border-radius:18px;box-shadow:0 16px 38px rgba(19,70,28,.12)}.homepage-promotion-card img{width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;animation:none;transform:none}.homepage-promotion-kicker{gap:9px;margin-bottom:13px;font-size:10px}.homepage-promotion-kicker span{width:18px}.homepage-promotion-caption{font-size:12px;margin-top:11px;padding:0 7px}.homepage-promotion-shine{display:none}}
@keyframes promoCinematicMobile{0%{transform:scale(1.01)}100%{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.homepage-promotion-card img,.homepage-promotion-shine,.homepage-promotion-glow{animation:none!important}.homepage-promotion-card,.homepage-promotion-section .reveal{transition:none!important}}

/* 2026-09-28 premium promotion motion enhancement */
.homepage-promotion-section{--promo-scroll-y:0px;perspective:1400px}
.homepage-promotion-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.homepage-promotion-ambient i{position:absolute;display:block;border-radius:999px;filter:blur(42px);opacity:.16;will-change:transform,opacity}
.homepage-promotion-ambient i:nth-child(1){width:250px;height:250px;left:12%;top:18%;background:rgba(41,132,58,.34);animation:promoOrbOne 14s ease-in-out infinite}
.homepage-promotion-ambient i:nth-child(2){width:210px;height:210px;right:14%;top:26%;background:rgba(205,161,54,.24);animation:promoOrbTwo 17s ease-in-out infinite}
.homepage-promotion-ambient i:nth-child(3){width:170px;height:170px;left:48%;bottom:-50px;background:rgba(232,91,42,.14);animation:promoOrbThree 19s ease-in-out infinite}
.homepage-promotion-kicker{opacity:.25;transform:translateY(12px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.75,.25,1)}
.homepage-promotion-kicker span{transform:scaleX(.25);transition:transform .85s .18s cubic-bezier(.2,.75,.25,1);transform-origin:center}
.homepage-promotion-card{--promo-tilt-x:0deg;--promo-tilt-y:0deg;--promo-pointer-x:50%;--promo-pointer-y:50%;opacity:.3;transform:translate3d(0,28px,0) rotateX(var(--promo-tilt-x)) rotateY(var(--promo-tilt-y)) scale(.985);transform-style:preserve-3d;transition:opacity .9s .08s ease,transform .9s .08s cubic-bezier(.16,.8,.24,1),box-shadow .55s ease}
.homepage-promotion-card img{transform-origin:center center;animation-duration:18s;transition:filter .8s ease;filter:saturate(.98) contrast(.99)}
.homepage-promotion-card:before{content:"";position:absolute;inset:-1px;z-index:3;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--promo-pointer-x) var(--promo-pointer-y),rgba(255,255,255,.22),transparent 27%);opacity:0;transition:opacity .4s ease;mix-blend-mode:soft-light}
.homepage-promotion-border-glow{position:absolute;inset:0;z-index:4;border-radius:inherit;pointer-events:none;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 0 24px rgba(255,255,255,.08);animation:promoBorderBreath 5.5s ease-in-out infinite}
.homepage-promotion-sheen{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 18%,rgba(255,255,255,.045) 39%,transparent 57%);background-size:220% 100%;animation:promoSoftSheen 10s ease-in-out infinite}
.homepage-promotion-caption{opacity:.2;transform:translateY(10px);transition:opacity .7s .42s ease,transform .8s .42s cubic-bezier(.2,.75,.25,1)}
.homepage-promotion-section.promotion-in-view .homepage-promotion-kicker{opacity:1;transform:translateY(0)}
.homepage-promotion-section.promotion-in-view .homepage-promotion-kicker span{transform:scaleX(1)}
.homepage-promotion-section.promotion-in-view .homepage-promotion-card{opacity:1;transform:translate3d(0,var(--promo-scroll-y),0) rotateX(var(--promo-tilt-x)) rotateY(var(--promo-tilt-y)) scale(1)}
.homepage-promotion-section.promotion-in-view .homepage-promotion-caption{opacity:1;transform:translateY(0)}
.homepage-promotion-section.promotion-image-ready .homepage-promotion-card img{filter:saturate(1.015) contrast(1.005)}
@media(hover:hover) and (pointer:fine){.homepage-promotion-card:hover{transform:translate3d(0,calc(var(--promo-scroll-y) - 7px),18px) rotateX(var(--promo-tilt-x)) rotateY(var(--promo-tilt-y)) scale(1.004)}.homepage-promotion-card:hover:before{opacity:1}.homepage-promotion-card:hover img{filter:saturate(1.035) contrast(1.012)}}
@keyframes promoOrbOne{0%,100%{transform:translate3d(-8px,-6px,0) scale(.96);opacity:.11}50%{transform:translate3d(30px,18px,0) scale(1.08);opacity:.19}}
@keyframes promoOrbTwo{0%,100%{transform:translate3d(12px,8px,0) scale(1.02);opacity:.11}50%{transform:translate3d(-30px,-16px,0) scale(.92);opacity:.18}}
@keyframes promoOrbThree{0%,100%{transform:translate3d(-18px,8px,0);opacity:.08}50%{transform:translate3d(24px,-22px,0);opacity:.15}}
@keyframes promoBorderBreath{0%,100%{box-shadow:inset 0 0 18px rgba(255,255,255,.06),0 0 0 rgba(43,126,57,0)}50%{box-shadow:inset 0 0 30px rgba(255,255,255,.12),0 0 28px rgba(43,126,57,.08)}}
@keyframes promoSoftSheen{0%,54%{background-position:180% 0;opacity:.15}72%{opacity:.62}100%{background-position:-80% 0;opacity:.12}}
@media(max-width:900px){.homepage-promotion-ambient i{filter:blur(52px);opacity:.1}.homepage-promotion-card{transform:translate3d(0,18px,0) scale(.99)}.homepage-promotion-section.promotion-in-view .homepage-promotion-card{transform:translate3d(0,0,0) scale(1)}}
@media(max-width:640px){.homepage-promotion-ambient i:nth-child(2),.homepage-promotion-ambient i:nth-child(3){display:none}.homepage-promotion-border-glow{animation-duration:7s}.homepage-promotion-sheen{animation-duration:13s}.homepage-promotion-card:before{display:none}}
@media(prefers-reduced-motion:reduce){.homepage-promotion-ambient i,.homepage-promotion-border-glow,.homepage-promotion-sheen{animation:none!important}.homepage-promotion-kicker,.homepage-promotion-kicker span,.homepage-promotion-card,.homepage-promotion-caption{transition:none!important;opacity:1!important;transform:none!important}.homepage-promotion-section{--promo-scroll-y:0px!important}}

/* 2026-10-01 natural promotion sizing: always follow uploaded artwork ratio */
.homepage-promotion-card{
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
}
.homepage-promotion-card img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
@media(max-width:900px){
  .homepage-promotion-card,.homepage-promotion-card img{
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
}
@media(max-width:640px){
  .homepage-promotion-card,.homepage-promotion-card img{
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
}
