.services-section{background:#fbfafa;overflow:hidden;padding-top:20px;position:relative}.services-intro{background:linear-gradient(180deg,#fff,#f8f8f8);background-size:400% 400%;padding:0 20px 60px;position:relative;text-align:center;transition:background-position .8s ease;z-index:1}.services-intro.animate-bg{background-position:50% 100%}.services-content{margin:0 auto;max-width:1250px;opacity:0;position:relative;text-align:center;transform:translateY(40px);transition:all 1s ease;z-index:2}.services-content.visible{opacity:1;transform:translateY(0)}.services-heading{color:#34425b;font-size:4.2rem;font-weight:200;line-height:.6}.services-subheading{color:#34425b;font-size:3.5rem;font-weight:800;margin-bottom:24px}.services-description{color:#34425b;font-size:1.5rem;font-weight:200;line-height:1.5;margin:0 auto 70px;max-width:1100px}.banner-grid{background:#fbfafa;padding:0 20px 100px}.banner-grid-inner{display:grid;gap:20px;grid-auto-rows:400px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1300px;opacity:0;transform:translateY(40px);transition:all 1s ease}.banner-grid-inner.visible{opacity:1;transform:translateY(0)}.banner-card{background-position:50%;background-size:cover;border-radius:8px;cursor:pointer;filter:grayscale(0) brightness(1.15);overflow:hidden;position:relative;transition:transform .4s ease,box-shadow .4s ease,filter .6s ease}.banner-card:hover{box-shadow:0 12px 28px rgba(0,0,0,.15);filter:grayscale(0) brightness(1.25);transform:translateY(-6px)}.banner-overlay{align-items:center;color:#fff;display:flex;flex-direction:column;inset:0;justify-content:center;padding:20px;position:absolute;text-align:center;transition:all .4s ease;z-index:2}.banner-overlay h3{color:#fff;font-size:1.6rem;font-weight:600;margin-bottom:10px;text-shadow:0 3px 10px rgba(0,0,0,.6);transition:transform .4s ease,opacity .4s ease}.banner-hover{opacity:0;transform:translateY(10px);transition:all .4s ease}.banner-hover p{font-size:1rem;line-height:1.5;margin:10px auto 16px;max-width:85%;text-shadow:0 2px 8px rgba(0,0,0,.4)}.banner-card:hover .banner-overlay h3{transform:translateY(-10px)}.banner-card:hover .banner-hover{opacity:1;transform:translateY(0)}@media (min-width:1280px) and (max-width:1440px){.banner-grid-inner{gap:18px;grid-auto-rows:350px;grid-template-columns:repeat(3,1fr)}.services-heading{font-size:3.8rem}.services-subheading{font-size:3rem}.services-description{font-size:1.4rem;margin-bottom:60px}}@media (min-width:912px) and (max-width:1279px){.banner-grid-inner{gap:16px;grid-auto-rows:320px;grid-template-columns:repeat(2,1fr)}.services-heading{font-size:3.2rem}.services-subheading{font-size:2.6rem}.services-description{font-size:1.3rem;margin-bottom:50px}}@media (max-width:1024px){.banner-grid-inner{gap:14px;grid-auto-rows:300px;grid-template-columns:repeat(2,1fr)}.services-heading{font-size:2.8rem}.services-subheading{font-size:2.4rem}.services-description{font-size:1.2rem;margin-bottom:45px}}@media (max-width:768px){.banner-grid-inner{gap:12px;grid-auto-rows:280px;grid-template-columns:1fr}.services-heading{font-size:2.4rem}.services-subheading{font-size:2rem}.services-description{font-size:1.1rem;margin-bottom:40px;padding:0 10px}}@media (max-width:480px){.banner-grid-inner{gap:10px;grid-auto-rows:240px;grid-template-columns:1fr}.services-heading{font-size:2rem}.services-subheading{font-size:1.6rem}.services-description{font-size:1rem;margin-bottom:35px;padding:0 8px}.banner-overlay h3{font-size:1.3rem}.banner-hover p{font-size:.95rem}}