.promotions-section{padding:4rem 0;background:linear-gradient(135deg,rgba(0,163,62,.03),rgba(76,217,100,.03))}.promotions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:2rem;perspective:1000px}.promo-card{background:linear-gradient(135deg,var(--accent-yellow) 0,#ffed4e 50%,var(--accent-yellow) 100%);background-size:200% 200%;border-radius:20px;padding:2.5rem 2rem;position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(255,212,59,.35);transition:all .4s cubic-bezier(.175,.885,.32,1.275);transform-style:preserve-3d;animation:gradientShift 8s ease infinite,cardEntrance .6s ease-out backwards}.promo-card:first-child{animation-delay:0s,.1s}.promo-card:nth-child(2){animation-delay:0s,.25s}.promo-card:nth-child(3){animation-delay:0s,.4s}.promo-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease;z-index:2;pointer-events:none}.promo-card:after{content:"";position:absolute;top:-30%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 70%);border-radius:50%;transition:transform .5s ease;z-index:0}.promo-card:hover{transform:translateY(-12px) rotateX(5deg) scale(1.02);box-shadow:0 20px 50px rgba(255,212,59,.45),inset 0 0 0 1px rgba(255,255,255,.3)}.promo-card:hover:before{left:100%}.promo-card:hover:after{transform:scale(1.3) rotate(15deg)}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(40px) rotateX(-10deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}.promo-badge{position:absolute;top:1.5rem;right:1.5rem;background:linear-gradient(135deg,var(--primary-green) 0,var(--deep-green) 100%);color:white;padding:.7rem 1.3rem;border-radius:25px;font-weight:var(--font-weight-bold);font-size:1rem;box-shadow:0 4px 15px rgba(0,140,53,.4),0 0 0 3px rgba(255,255,255,.3);z-index:3;animation:badgePulse 2s ease-in-out infinite;transform-origin:center}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 4px 15px rgba(0,140,53,.4),0 0 0 3px rgba(255,255,255,.3)}50%{transform:scale(1.08);box-shadow:0 6px 20px rgba(0,140,53,.5),0 0 0 5px rgba(255,255,255,.2),0 0 20px rgba(0,163,62,.3)}}.promo-card:hover .promo-badge{animation:badgeBounce .5s ease}@keyframes badgeBounce{0%,to{transform:scale(1)}25%{transform:scale(1.15) rotate(-5deg)}50%{transform:scale(1.1) rotate(3deg)}75%{transform:scale(1.12) rotate(-2deg)}}.promo-title{font-family:var(--font-heading);font-size:1.6rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:1rem;padding-right:100px;position:relative;z-index:1;transition:transform .3s ease}.promo-card:hover .promo-title{transform:translateX(5px)}.promo-description{font-family:var(--font-primary);font-size:1.1rem;color:var(--text-secondary);line-height:1.6;position:relative;z-index:1;transition:transform .3s ease .05s}.promo-card:hover .promo-description{transform:translateX(5px)}.promo-deadline{display:inline-block;margin-top:12px;padding:4px 12px;background:rgba(255,107,53,.15);color:#ff6b35;border-radius:20px;font-size:.85rem;font-weight:600}.promo-note{text-align:center;color:var(--text-secondary);font-size:.95rem;font-style:italic;margin-top:2rem;line-height:1.6}@media (max-width:768px){.promotions-section{padding:3rem 0}.promotions-grid{grid-template-columns:1fr;gap:1.5rem;perspective:none}.promo-card{animation:cardEntrance .5s ease-out backwards}.promo-card:hover{transform:translateY(-8px) scale(1.01)}.promo-title{font-size:1.4rem;padding-right:80px}.promo-description{font-size:1rem}}@media (max-width:480px){.promo-badge{font-size:.8rem;padding:.5rem 1rem}.promo-title{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){.promo-card{animation:none;transition:transform .2s ease,box-shadow .2s ease}.promo-card:hover{transform:translateY(-4px)}.promo-card:before{display:none}.promo-badge,.promo-card:hover .promo-badge{animation:none}.promo-card:hover .promo-description,.promo-card:hover .promo-title{transform:none}}