/* Service carousel — all section-specific styles in this file. */
/* Entire section carries a dotted map, not only the hero. */
.sm-service-showcase{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,#143b62 0,#071b35 52%,#05152a 100%)!important;padding:clamp(86px,8vw,120px) 0 clamp(72px,6vw,103px);color:#fff}
.sm-service-showcase:before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(10,35,66,.25),rgba(3,17,35,.05),rgba(10,35,66,.25));pointer-events:none}
.sm-service-background-map{position:absolute;z-index:0;inset:0;pointer-events:none;background-image:url('../assets/dotted-world-routes.svg');background-size:min(1250px,122vw) auto;background-position:center 43%;background-repeat:no-repeat;opacity:.14;filter:saturate(0.7)}
.sm-service-background-map:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071b35 5%,transparent 38%,rgba(7,27,53,.12) 70%,#071b35 100%)}
.sm-services-inner{position:relative;z-index:1;max-width:1440px}
.sm-service-head{margin-bottom:18px}.sm-service-head .label{color:#ffab70!important}.sm-service-head .label:before{background:#f47b20!important}.sm-service-head h2{color:#f9fcff!important;font-size:clamp(32px,4vw,54px)}.sm-service-head h2 span{color:#f58b3a!important}.sm-service-head p{color:#afc2d8!important;max-width:690px}
.sm-carousel{position:relative;outline-offset:8px}
.sm-carousel-stage{height:488px;position:relative;overflow:visible;perspective:1400px;margin:0 auto;max-width:1280px}
.sm-service-showcase .sm-carousel-card{position:absolute;left:50%;top:30px;width:365px;height:408px;min-height:0;max-width:calc(100vw - 54px);padding:0;margin:0;display:flex;flex-direction:column;gap:0;overflow:hidden;border-radius:20px;background:#0c2747!important;border:1px solid rgba(218,233,250,.26);box-shadow:0 18px 55px rgba(0,7,18,.4);opacity:var(--sm-card-opacity,0);transform:translateX(calc(-50% + var(--sm-card-shift,0px))) rotate(var(--sm-card-tilt,0deg)) scale(var(--sm-card-scale,1));transition:transform .52s cubic-bezier(.2,.8,.2,1),opacity .42s,border-color .35s,box-shadow .35s;transform-origin:center center;will-change:transform,opacity;cursor:pointer}
.sm-service-showcase .sm-carousel-card:before{content:none!important}
.sm-service-showcase .sm-carousel-card.is-active{border:1px solid #f58b37;box-shadow:0 28px 68px rgba(0,9,22,.62),0 0 0 1px rgba(244,123,32,.24),0 0 45px rgba(244,123,32,.12);cursor:default}
.sm-service-showcase .sm-carousel-card:focus-visible{outline:3px solid #ffa66b;outline-offset:5px}
.sm-card-picture{width:100%;height:196px;min-height:196px;position:relative;overflow:hidden;background:linear-gradient(135deg,#2f6081,#0b2744)}
.sm-card-picture img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.93) contrast(1.05)}
.sm-card-picture-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(5,21,42,.65),transparent 65%)}
.sm-card-count{position:absolute;right:16px;top:15px;z-index:2;padding:7px 11px;border-radius:50px;border:1px solid rgba(255,255,255,.35);background:rgba(8,28,50,.62);font-size:10px;font-weight:800;color:#f4f8fc;letter-spacing:.12em}
.sm-service-showcase .sm-service-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:22px 24px 21px;position:relative;z-index:2}
.sm-service-showcase .sm-service-icon{display:grid;place-items:center;position:absolute;top:-26px;left:24px;margin:0;width:53px;height:53px;z-index:3;border:1px solid rgba(255,255,255,.29);background:#f47b20!important;border-radius:13px;box-shadow:0 7px 19px rgba(0,0,0,.3)}
.sm-service-showcase .sm-service-icon svg{width:27px;height:27px;stroke:#fff!important;fill:none!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sm-service-showcase .sm-service-coming{background:rgba(244,123,32,.13);border:1px solid rgba(244,123,32,.24);color:#ffb27e!important;padding:6px 10px;margin:0 0 11px 72px;font-size:9px;letter-spacing:.13em;min-height:24px;line-height:1.15;border-radius:5px}
.sm-service-showcase .sm-carousel-card h3{font-size:21px;line-height:1.25;letter-spacing:-.045em;color:#fff!important;margin:2px 0 8px;font-weight:800}
.sm-service-showcase .sm-carousel-card p{font-size:12px;color:#c5d2e1!important;line-height:1.65;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sm-card-action{margin-top:auto;display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid rgba(223,237,255,.13);padding-top:12px;font-size:11px;font-weight:800;letter-spacing:.01em;color:#ffa366!important;text-decoration:none}
.sm-card-action svg{width:18px;height:18px;stroke:#ffa366;transition:transform .2s}.sm-card-action:hover svg{transform:translateX(4px)}
.sm-carousel-controls{display:flex;align-items:center;justify-content:center;gap:33px;margin-top:4px}.sm-carousel-nav{height:50px;width:50px;border-radius:50%;border:1px solid rgba(233,243,255,.34);background:rgba(9,35,63,.72);display:grid;place-items:center;color:#fff;cursor:pointer;transition:background .23s,border-color .23s,transform .23s}.sm-carousel-nav:hover{transform:translateY(-2px);background:#f47b20;border-color:#f47b20}.sm-carousel-nav svg{height:21px;width:21px}
.sm-carousel-dots{display:flex;gap:8px;align-items:center;justify-content:center}.sm-carousel-dot{height:7px;width:7px;border-radius:50px;border:0;cursor:pointer;background:#5d7894;padding:0;transition:width .25s,background .25s}.sm-carousel-dot.active{width:37px;background:#f47b20}.sm-carousel-dot:focus-visible{outline:2px solid #fff;outline-offset:3px}
.sm-carousel-hint{text-align:center;color:#839eb8;font-size:11px;margin:17px 0 0}

@media(max-width:1160px){.sm-service-showcase .sm-carousel-card{width:340px}}
@media(max-width:780px){.sm-carousel-stage{height:465px}.sm-service-showcase .sm-carousel-card{height:405px;width:320px}.sm-service-head p{font-size:13px}}
@media(max-width:700px){.sm-service-showcase{padding-top:74px;padding-bottom:67px}.sm-carousel-stage{height:442px}.sm-service-showcase .sm-carousel-card{width:min(350px,calc(100vw - 46px));top:13px;height:410px}.sm-carousel-controls{margin-top:13px;gap:20px}.sm-service-background-map{background-size:900px auto}}
@media(max-width:460px){.sm-service-showcase .sm-carousel-card{height:390px}.sm-carousel-stage{height:418px}.sm-card-picture{height:171px;min-height:171px}.sm-service-showcase .sm-service-card-body{padding:20px 22px}.sm-service-showcase .sm-carousel-card h3{font-size:19px}.sm-service-showcase .sm-carousel-card p{font-size:11px}.sm-card-count{font-size:9px}}
@media(prefers-reduced-motion:reduce){.sm-service-showcase .sm-carousel-card{transition:none!important}}
/* Graceful no-JavaScript carousel: readable and touch-scrollable instead of blank cards. */
.sm-carousel:not(.sm-carousel-ready) .sm-carousel-stage{height:auto!important;display:flex;gap:16px;overflow-x:auto;padding:16px 8px 24px;scroll-snap-type:x mandatory}
.sm-carousel:not(.sm-carousel-ready) .sm-carousel-card{position:relative!important;left:auto!important;top:auto!important;opacity:1!important;transform:none!important;width:340px!important;min-width:340px!important;flex:none;pointer-events:auto!important;scroll-snap-align:center}
.sm-carousel:not(.sm-carousel-ready) .sm-carousel-controls{display:none}
@media(max-width:460px){.sm-carousel:not(.sm-carousel-ready) .sm-carousel-card{min-width:calc(100vw - 56px)!important;width:calc(100vw - 56px)!important}}
