/* Consistently cropped banners fill the viewport without distortion. */
.home-hero-carousel{background:#053553;color:white;isolation:isolate;position:relative;width:100%;overflow:hidden}
.home-hero-carousel .carousel-item{height:auto;aspect-ratio:2098/749;position:relative;background:#053553}
.home-slide-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.home-hero-carousel .carousel-control-prev,.home-hero-carousel .carousel-control-next{width:36px;height:48px;top:calc(50% - 24px);bottom:auto;border:1px solid #ffffff60;border-radius:5px;background:#00304980;opacity:.8}
.home-hero-carousel .carousel-control-prev{left:8px}.home-hero-carousel .carousel-control-next{right:8px}
.home-hero-carousel .carousel-control-prev:hover,.home-hero-carousel .carousel-control-next:hover{background:#003049;opacity:1}
.home-carousel-controls{position:absolute;bottom:46px;left:50%;transform:translateX(-50%);z-index:3;background:transparent;border-radius:20px;padding:0 10px}
.home-carousel-controls .carousel-indicators{position:static;margin:0;gap:14px}.home-carousel-controls .carousel-indicators button{width:22px;height:2px;border-top:2px solid #ffffff;border-bottom:2px solid #ffffff}
.home-carousel-controls .carousel-indicators .active{opacity:1;background:#ff8001;border-bottom:2px solid #ff8001!important;border-top:2px solid #ff8001!important;border-left:2px solid transparent}
.home-hero-carousel button:focus-visible{outline:3px solid #ff8a18;outline-offset:3px}
@media(max-width:767px){.home-hero-carousel .carousel-control-prev,.home-hero-carousel .carousel-control-next{width:28px;height:40px;top:calc(50% - 20px)}.home-hero-carousel .carousel-control-prev{left:4px}.home-hero-carousel .carousel-control-next{right:4px}.home-hero-carousel .carousel-control-prev-icon,.home-hero-carousel .carousel-control-next-icon{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.home-hero-carousel .carousel-item{transition:none}}
@media(max-width:575px){.reach-grid{grid-template-columns:minmax(0,1fr)}.reach-grid>*{min-width:0}.reach-grid .section-heading{flex-wrap:wrap}.industry-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.industry-card{min-width:0}}

/* Full client stories and four consistently sized partnership marks. */
.closing-grid{height:auto;min-height:0;align-items:start;padding-bottom:30px}
.closing-grid .testimonial{min-width:0}
.closing-grid .testimonial figure{height:auto;min-height:276px;padding:24px 22px}
.closing-grid .testimonial-panel[hidden]{display:none}
.closing-grid .testimonial-panel h3{font-size:18px;font-weight:700;line-height:1.3;margin:0 0 14px;color:var(--navy)}
.closing-grid .testimonial blockquote{font-size:14px;line-height:1.6;margin:0 0 16px}
.closing-grid .testimonial figcaption{font-size:13px;line-height:1.4}
.closing-grid .testimonial-prev,.closing-grid .testimonial-next{top:140px;width:32px;height:32px;font-size:27px}
.closing-grid .testimonial-dots button{width:9px;height:9px;position:relative}
.closing-grid .testimonial-dots button:after{content:'';position:absolute;inset:-7px}
.closing-grid .partner-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px;width:100%;margin-top:24px;align-items:center}
.closing-grid .partner-logos img{display:block;width:100%;height:90px;object-fit:contain;mix-blend-mode:multiply;padding:0.5rem 1em;border:1px solid #ddd;}
.closing-grid .connected-note{position:static;display:block;width:100px;height:auto;margin:16px 0 0 auto}
@media(max-width:767px){.closing-grid .testimonial figure{min-height:0;padding:24px}.closing-grid .partnerships{padding:30px 12px}.closing-grid .partner-logos{max-width:420px;margin-inline:auto}.closing-grid .partner-logos img{height:85px}.closing-grid .connected-note{margin-right:12px}.closing-grid h2{white-space:normal}.closing-grid .testimonial-prev{left:-16px}.closing-grid .testimonial-next{right:-16px}}

/* Keep the connection note beside the partnership heading. */
.closing-grid .partnerships-heading{display:flex;align-items:center;gap:12px}
.closing-grid .partnerships-heading h2{flex:1;min-width:0;white-space:normal}
.closing-grid .partnerships-heading .connected-note{flex:0 0 85px;width:100%;height:auto;margin:0;position:relative;top:-5px;}

/* Native scroll snapping gives touch momentum and follows mouse drags. */
.home-hero-carousel .carousel-inner{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y pinch-zoom;user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain}
.home-hero-carousel .carousel-inner::-webkit-scrollbar{display:none}
.home-hero-carousel .carousel-inner:after{display:none}
.home-hero-carousel .carousel-item{display:block;flex:0 0 100%;width:100%;float:none;margin:0;scroll-snap-align:start;scroll-snap-stop:always;transition:none;transform:none}
.home-hero-carousel .carousel-inner.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.home-hero-carousel .home-slide-image{-webkit-user-drag:none}
@media(prefers-reduced-motion:reduce){.home-hero-carousel .carousel-inner{scroll-behavior:auto}}

@media(max-width:767px){.home-carousel-controls{bottom:15px}}

.home-hero-carousel .carousel-inner.is-repositioning{scroll-behavior:auto;scroll-snap-type:none}
