.programs-section{background:#ebe9e7;padding:4rem 0}.programs-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:4rem;max-width:1400px;margin:0 auto;padding:0 2rem}.program-card{position:relative;overflow:hidden}.program-card img{width:100%;height:auto;display:block}@media(hover: hover){.program-card:hover .program-gradient::before{opacity:1;transition:opacity .6s ease}.program-card:hover .program-title{top:15%;bottom:auto;left:50%;transform:translateX(-50%) translateY(0);text-align:center;width:100%;max-width:none;line-height:1;opacity:0;transition:opacity .2s ease,transform .2s ease,top .6s ease .3s,bottom .6s ease .3s,left .6s ease .3s,text-align .6s ease .3s,width .6s ease .3s,max-width .6s ease .3s,line-height .6s ease .3s;animation:titleSlideIn .9s ease .3s forwards}.program-card:hover .program-title br{display:none}.program-card:hover .title-underline{width:120px;transition:width .6s ease .6s}.program-card:hover .program-description{opacity:1;transition:opacity .6s ease .8s}.program-card:hover .program-btn{opacity:1;transition:opacity .6s ease 1s}}.program-card.active .program-gradient::before{opacity:1;transition:opacity .6s ease}.program-card.active .program-title{top:15%;bottom:auto;left:50%;transform:translateX(-50%) translateY(0);text-align:center;width:100%;max-width:none;line-height:1;opacity:0;transition:opacity .2s ease,transform .2s ease,top .6s ease .3s,bottom .6s ease .3s,left .6s ease .3s,text-align .6s ease .3s,width .6s ease .3s,max-width .6s ease .3s,line-height .6s ease .3s;animation:titleSlideIn .9s ease .3s forwards}.program-card.active .program-title br{display:none}.program-card.active .title-underline{width:120px;transition:width .6s ease .6s}.program-card.active .program-description{opacity:1;transition:opacity .6s ease .8s}.program-card.active .program-btn{opacity:1;transition:opacity .6s ease 1s}.program-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top, rgb(5, 5, 5) 0%, rgba(5, 5, 5, 0.7) 40%, transparent 100%);z-index:1}.program-gradient::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 70%);opacity:0;transition:opacity .4s ease}.program-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2rem;z-index:2}.program-title{font-family:"Anton",sans-serif;font-size:48px;font-weight:400;color:#fff;text-transform:uppercase;line-height:.9;margin:0;position:absolute;bottom:8%;left:2rem;text-align:left;max-width:200px;transform:translateY(0);transition:opacity .4s ease,transform .4s ease,top .6s ease,bottom .6s ease,left .6s ease,text-align .6s ease,width .6s ease,max-width .6s ease,line-height .6s ease;opacity:1;animation:titleComeUp .5s ease forwards}@keyframes titleComeUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@keyframes titleSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(20px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}.title-underline{position:absolute;bottom:-15px;left:50%;transform:translateX(-50%);width:0;height:2px;background:#af9777;transition:width .4s ease}.program-description{font-family:"DM Sans",sans-serif;font-size:18px;color:#fff;line-height:1.6;position:absolute;top:55%;left:50%;transform:translate(-50%, -50%);text-align:center;width:80%;opacity:0;transition:opacity .4s ease}.program-btn{display:inline-block;background:#af9777;color:#fff;font-family:"Antonio",sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;text-decoration:none;padding:.75rem 2rem;position:absolute;bottom:20%;left:50%;transform:translateX(-50%);opacity:0;transition:opacity .4s ease}@media(max-width: 1024px){.programs-grid{grid-template-columns:repeat(2, 1fr);gap:2rem}}.programs-dots{display:none}@media(max-width: 768px){.programs-section{padding:3rem 0}.programs-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:0;padding:0;scrollbar-width:none}.programs-grid::-webkit-scrollbar{display:none}.program-card{flex:0 0 90%;margin:0 5%;scroll-snap-align:center}.program-title{font-size:36px}.programs-dots{display:flex;justify-content:center;gap:.5rem;padding:1.5rem 0 0}.programs-dot{width:10px;height:10px;border-radius:50%;background:rgba(0,0,0,.3);cursor:pointer;transition:background .3s ease}.programs-dot.active{background:#000}}
