:root{--primary-purple:#62366e;--secondary-purple:#7656c7;--light-purple:#8d6ac7;--accent-brown:#c8955c;--dark-gray:#4a4a4a;--medium-gray:#877877;--light-gray:#f0f0f0;--white:#fff;--text-dark:#2d2d2d;--text-medium:#494949}.upcoming-events-wrap{background-color:var(--light-gray);margin:0 auto;max-width:1200px;padding:2rem 1.5rem}.upcoming-events-wrap .top-heading{margin-bottom:3rem;position:relative;text-align:center}.upcoming-events-wrap .top-heading:before{background:linear-gradient(90deg,var(--primary-purple),var(--accent-brown));border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:-15px;transform:translateX(-50%);width:100px}.upcoming-events-wrap .top-heading h1{color:var(--primary-purple);font-family:Montserrat,sans-serif;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:900;line-height:1.2;margin-top:1rem;text-shadow:0 2px 4px rgba(98,54,110,.1)}.upcoming-events-wrap .row{display:flex;flex-direction:column;gap:1rem;max-width:100%}.upcoming-events-wrap .item{background:var(--white);border:1px solid rgba(98,54,110,.1);border-radius:8px;box-shadow:0 2px 12px rgba(98,54,110,.1);overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.upcoming-events-wrap .item:before{background:linear-gradient(90deg,var(--primary-purple),var(--accent-brown));content:"";height:3px;left:0;position:absolute;right:0;top:0}.upcoming-events-wrap .item:hover{box-shadow:0 8px 20px rgba(98,54,110,.2);transform:translateY(-4px)}.upcoming-events-wrap .item-inner{align-items:stretch;display:flex;flex-direction:row;height:100%}.upcoming-events-wrap .event-image-box{background-color:var(--light-gray);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-shrink:0;height:140px;min-width:140px;overflow:hidden;position:relative;width:140px}.upcoming-events-wrap .event-image-box img{display:block;height:100%;min-height:100%;min-width:100%;object-fit:cover;object-position:center;transition:transform .3s ease;width:100%}.upcoming-events-wrap .item:hover .event-image-box img{transform:scale(1.05)}.upcoming-events-wrap .event-info-wrapper{height:140px;justify-content:space-between;padding:.75rem}.upcoming-events-wrap .event-content,.upcoming-events-wrap .event-info-wrapper{display:flex;flex-direction:column;flex-grow:1;gap:.25rem}.upcoming-events-wrap .event-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.upcoming-events-wrap .event-info-wrapper .event-date-time{align-items:center;background:var(--primary-purple);border-radius:12px;color:var(--white);display:inline-flex;flex-shrink:0;font-size:.65rem;font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase;white-space:nowrap;width:fit-content}.upcoming-events-wrap .event-info-wrapper h2.event-title{color:var(--text-dark);flex-grow:1;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:700;line-height:1.2;margin:0}.upcoming-events-wrap .event-info-wrapper .event-desc{color:var(--text-medium);display:-webkit-box;font-size:.8rem;line-height:1.4;margin-bottom:.5rem;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex-grow:1;overflow:hidden}.upcoming-events-wrap .event-info-wrapper .event-desc p{font-family:Inter,sans-serif;font-weight:400;margin:0}.upcoming-events-wrap .event-button{align-items:flex-end;display:flex}.upcoming-events-wrap .event-button a.hs-button{background:var(--primary-purple);border:2px solid var(--primary-purple);border-radius:4px;color:var(--white);font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.5px;min-width:80px;overflow:hidden;padding:.4rem .8rem;position:relative;text-align:center;text-decoration:none;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.upcoming-events-wrap .event-button a.hs-button:before{background:var(--accent-brown);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.upcoming-events-wrap .event-button a.hs-button:hover:before{left:0}.upcoming-events-wrap .event-button a.hs-button:hover{border-color:var(--accent-brown);box-shadow:0 6px 20px rgba(98,54,110,.3);transform:translateY(-2px)}.upcoming-events-wrap .item{animation:fadeInUp .6s ease forwards;opacity:0}.upcoming-events-wrap .item:first-child{animation-delay:.1s}.upcoming-events-wrap .item:nth-child(2){animation-delay:.2s}.upcoming-events-wrap .item:nth-child(3){animation-delay:.3s}.upcoming-events-wrap .item:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.upcoming-events-wrap .item:after{background:linear-gradient(135deg,rgba(98,54,110,.02),rgba(200,149,92,.02));bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.upcoming-events-wrap .item:hover:after{opacity:1}@media(max-width:991px){.upcoming-events-wrap{padding:1.5rem 1rem}}@media(max-width:767px){.upcoming-events-wrap{padding:1rem .75rem}.upcoming-events-wrap .top-heading{margin-bottom:1.5rem}.upcoming-events-wrap .event-image-box{background-color:var(--light-gray);height:100px;min-width:100px;width:100px}.upcoming-events-wrap .event-info-wrapper{gap:.2rem;height:100px;padding:.5rem}.upcoming-events-wrap .event-content{gap:.2rem}.upcoming-events-wrap .event-info-wrapper h2.event-title{font-size:.85rem}.upcoming-events-wrap .event-info-wrapper .event-desc{font-size:.7rem;height:1.9rem;line-height:1.2;-webkit-line-clamp:2}.upcoming-events-wrap .event-info-wrapper .event-date-time{font-size:.6rem;padding:.2rem .4rem}.upcoming-events-wrap .event-button{margin-top:.2rem}.upcoming-events-wrap .event-button a.hs-button{font-size:.65rem;min-width:60px;padding:.3rem .6rem}}@media(max-width:479px){.upcoming-events-wrap .top-heading h1{font-size:2rem;line-height:1.1}.upcoming-events-wrap .event-image-box{background-color:var(--light-gray);height:80px;min-width:80px;width:80px}.upcoming-events-wrap .event-info-wrapper{gap:.15rem;height:80px;padding:.4rem}.upcoming-events-wrap .event-content{gap:.15rem}.upcoming-events-wrap .event-info-wrapper h2.event-title{font-size:.75rem}.upcoming-events-wrap .event-info-wrapper .event-desc{font-size:.65rem;height:1.6rem;line-height:1.2;-webkit-line-clamp:2}.upcoming-events-wrap .event-info-wrapper .event-date-time{font-size:.55rem;padding:.15rem .3rem}.upcoming-events-wrap .event-button{margin-top:.15rem}.upcoming-events-wrap .event-button a.hs-button{font-size:.6rem;min-width:50px;padding:.25rem .5rem}}