/* Full-bleed, draggable services carousel inspired by the supplied reference. */
.services-content { width: 100%; max-width: none; margin: 0; }
.services-content .heading-light { width: min(calc(100% - 40px), 1400px); margin: auto; }
.services-carousel { width: 100%; margin-top: 190px; }
.service-viewport { position: relative; overflow: hidden; padding: 18px 20px 30px; touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.service-viewport:active { cursor: grabbing; }
.services-carousel .service-grid { display: flex; align-items: stretch; gap: 14px; width: max-content; margin: 0; transition: transform .6s cubic-bezier(.22, .61, .36, 1); }
.services-carousel .service-card { display: flex; flex: 0 0 clamp(280px, 16.6vw, 325px); width: auto; min-width: 0; min-height: 360px; padding: 28px 21px; border: 0; border-radius: 18px; background: rgba(99, 48, 70, .94); box-shadow: 0 12px 26px rgba(31, 12, 22, .16); transition: transform .25s ease, background .25s ease; user-select: none; -webkit-user-select: none; }
.services-carousel .service-card:hover { transform: translateY(-13px); border-radius: 18px; background: #e7b099; }
.services-carousel .service-card:before, .services-carousel .service-card .service-number { display: none; }
.services-carousel .service-card .service-icon { display: grid; place-items: center; width: 52px; height: 52px; border: 2px solid rgba(255, 255, 255, .84); border-radius: 50%; color: #fff; font-size: 28px; line-height: 1; }
.services-carousel .service-card h3 { margin: 31px 0 0; color: #fff; font-size: 26px; line-height: 1.22; }
.services-carousel .service-card p { display: none; }
.services-carousel .service-card a { width: 52px; height: 52px; margin-top: auto; border-radius: 50%; background: #fff; color: #69344a; font-size: 24px; }
.services-carousel .service-card:hover a { background: #69344a; color: #fff; }
.service-carousel-button { display: none; }
.service-carousel-hint { display: flex; align-items: center; justify-content: center; gap: 10px; width: max-content; max-width: calc(100% - 40px); margin: 1px auto 0; color: #f9e9e2; font-size: 11px; font-weight: 700; letter-spacing: .09em; line-height: 1.35; text-align: center; text-transform: uppercase; }
.service-carousel-hint-icon { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255, 255, 255, .65); border-radius: 50%; color: #fff; font-size: 20px; line-height: 1; animation: service-swipe-nudge 2.8s ease-in-out infinite; }
@keyframes service-swipe-nudge { 0%, 76%, 100% { transform: translateX(0); } 83% { transform: translateX(-5px); } 91% { transform: translateX(5px); } }
@media (prefers-reduced-motion: reduce) { .service-carousel-hint-icon { animation: none; } }
@media (max-width: 980px) { .services-carousel { margin-top: 80px; } .services-carousel .service-card { flex-basis: min(43vw, 310px); } }
@media (max-width: 640px) { .services-content .heading-light { width: min(calc(100% - 28px), 1400px); } .service-viewport { padding-right:14px; padding-left:14px; } .services-carousel .service-card { flex-basis: calc(100vw - 70px); min-height: 300px; } .service-carousel-hint { max-width: calc(100% - 28px); font-size: 10px; } }
